1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the PPC 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 , 113|128,38, TARGET_VAL(ISD::STORE),
58 OPC_RecordMemRef,
59 OPC_RecordNode,
60 OPC_Scope, 85|128,25,
61 OPC_MoveChild1,
62 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63 OPC_RecordChild0,
64 OPC_Scope, 12|128,6,
65 OPC_CheckChild1Integer, 0,
66 OPC_SwitchType , 51|128,2, MVT::i32,
67 OPC_Scope, 17,
68 OPC_MoveParent,
69 OPC_RecordChild2,
70 OPC_CheckPredicate1,
71 OPC_CheckPredicate6,
72 OPC_CheckPatternPredicate, 41,
73 OPC_CheckComplexPat0, /*#*/2,
74 OPC_EmitMergeInputChains1_0,
75 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
76 3, 1, 3, 4,
77 30,
78 OPC_CheckChild0Type, MVT::v16i8,
79 OPC_MoveParent,
80 OPC_RecordChild2,
81 OPC_CheckPredicate1,
82 OPC_CheckPredicate7,
83 OPC_CheckPredicate, 14,
84 OPC_CheckPatternPredicate, 41,
85 OPC_CheckComplexPat0, /*#*/2,
86 OPC_EmitMergeInputChains1_0,
87 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
88 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
89 MVT::v4i32, 2, 1, 5,
90 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
91 3, 6, 3, 4,
92 30,
93 OPC_CheckChild0Type, MVT::v8i16,
94 OPC_MoveParent,
95 OPC_RecordChild2,
96 OPC_CheckPredicate1,
97 OPC_CheckPredicate7,
98 OPC_CheckPredicate, 16,
99 OPC_CheckPatternPredicate, 41,
100 OPC_CheckComplexPat0, /*#*/2,
101 OPC_EmitMergeInputChains1_0,
102 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
104 MVT::v4i32, 2, 1, 5,
105 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
106 3, 6, 3, 4,
107 72,
108 OPC_MoveParent,
109 OPC_RecordChild2,
110 OPC_CheckPredicate1,
111 OPC_CheckPredicate6,
112 OPC_Scope, 32,
113 OPC_CheckPatternPredicate, 32,
114 OPC_CheckComplexPat0, /*#*/2,
115 OPC_EmitMergeInputChains1_0,
116 OPC_EmitInteger32, 6,
117 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
118 MVT::v4i32, 3, 1, 1, 5,
119 OPC_EmitStringInteger32, PPC::sub_64,
120 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
121 MVT::f64, 2, 6, 7,
122 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
123 3, 8, 3, 4,
124 32,
125 OPC_CheckPatternPredicate, 21,
126 OPC_CheckComplexPat0, /*#*/2,
127 OPC_EmitMergeInputChains1_0,
128 OPC_EmitInteger32, 4,
129 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
130 MVT::v4i32, 3, 1, 1, 5,
131 OPC_EmitStringInteger32, PPC::sub_64,
132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
133 MVT::f64, 2, 6, 7,
134 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
135 3, 8, 3, 4,
136 0,
137 75,
138 OPC_CheckChild0Type, MVT::v16i8,
139 OPC_MoveParent,
140 OPC_RecordChild2,
141 OPC_CheckPredicate1,
142 OPC_CheckPredicate7,
143 OPC_CheckPredicate, 14,
144 OPC_Scope, 32,
145 OPC_CheckPatternPredicate, 14,
146 OPC_CheckComplexPat0, /*#*/2,
147 OPC_EmitMergeInputChains1_0,
148 OPC_EmitInteger32, 18,
149 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
150 MVT::v16i8, 3, 1, 1, 5,
151 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
152 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
153 MVT::v4i32, 2, 6, 7,
154 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
155 3, 8, 3, 4,
156 31,
157 OPC_CheckPatternPredicate6,
158 OPC_CheckComplexPat0, /*#*/2,
159 OPC_EmitMergeInputChains1_0,
160 OPC_EmitInteger32, 16,
161 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
162 MVT::v16i8, 3, 1, 1, 5,
163 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
165 MVT::v4i32, 2, 6, 7,
166 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
167 3, 8, 3, 4,
168 0,
169 75,
170 OPC_CheckChild0Type, MVT::v8i16,
171 OPC_MoveParent,
172 OPC_RecordChild2,
173 OPC_CheckPredicate1,
174 OPC_CheckPredicate7,
175 OPC_CheckPredicate, 16,
176 OPC_Scope, 32,
177 OPC_CheckPatternPredicate, 14,
178 OPC_CheckComplexPat0, /*#*/2,
179 OPC_EmitMergeInputChains1_0,
180 OPC_EmitInteger32, 20,
181 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
182 MVT::v16i8, 3, 1, 1, 5,
183 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
185 MVT::v4i32, 2, 6, 7,
186 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
187 3, 8, 3, 4,
188 31,
189 OPC_CheckPatternPredicate6,
190 OPC_CheckComplexPat0, /*#*/2,
191 OPC_EmitMergeInputChains1_0,
192 OPC_EmitInteger32, 16,
193 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
194 MVT::v16i8, 3, 1, 1, 5,
195 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
197 MVT::v4i32, 2, 6, 7,
198 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
199 3, 8, 3, 4,
200 0,
201 0,
202 86, MVT::f32,
203 OPC_MoveParent,
204 OPC_RecordChild2,
205 OPC_CheckPredicate1,
206 OPC_CheckPredicate6,
207 OPC_Scope, 13,
208 OPC_CheckPatternPredicate, 41,
209 OPC_CheckComplexPat0, /*#*/2,
210 OPC_EmitMergeInputChains1_0,
211 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRWX), 0|OPFL_Chain|OPFL_MemRefs,
212 3, 1, 3, 4,
213 32,
214 OPC_CheckPatternPredicate, 32,
215 OPC_CheckComplexPat0, /*#*/2,
216 OPC_EmitMergeInputChains1_0,
217 OPC_EmitInteger32, 6,
218 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
219 MVT::v4i32, 3, 1, 1, 5,
220 OPC_EmitStringInteger32, PPC::sub_64,
221 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
222 MVT::f64, 2, 6, 7,
223 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
224 3, 8, 3, 4,
225 32,
226 OPC_CheckPatternPredicate, 21,
227 OPC_CheckComplexPat0, /*#*/2,
228 OPC_EmitMergeInputChains1_0,
229 OPC_EmitInteger32, 4,
230 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
231 MVT::v4i32, 3, 1, 1, 5,
232 OPC_EmitStringInteger32, PPC::sub_64,
233 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
234 MVT::f64, 2, 6, 7,
235 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
236 3, 8, 3, 4,
237 0,
238 58|128,1, MVT::i64,
239 OPC_MoveParent,
240 OPC_RecordChild2,
241 OPC_CheckPredicate1,
242 OPC_CheckPredicate6,
243 OPC_Scope, 13,
244 OPC_CheckPatternPredicate, 41,
245 OPC_CheckComplexPat0, /*#*/2,
246 OPC_EmitMergeInputChains1_0,
247 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
248 3, 1, 3, 4,
249 22,
250 OPC_CheckPatternPredicate, 9,
251 OPC_CheckComplexPat4, /*#*/2,
252 OPC_EmitMergeInputChains1_0,
253 OPC_EmitStringInteger32, PPC::sub_64,
254 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
255 MVT::f64, 2, 1, 5,
256 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
257 3, 6, 3, 4,
258 22,
259 OPC_CheckPatternPredicate, 53,
260 OPC_CheckComplexPat0, /*#*/2,
261 OPC_EmitMergeInputChains1_0,
262 OPC_EmitStringInteger32, PPC::sub_64,
263 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
264 MVT::f64, 2, 1, 5,
265 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
266 3, 6, 3, 4,
267 22,
268 OPC_CheckPatternPredicate, 9,
269 OPC_CheckComplexPat1, /*#*/2,
270 OPC_EmitMergeInputChains1_0,
271 OPC_EmitStringInteger32, PPC::sub_64,
272 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
273 MVT::f64, 2, 1, 5,
274 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
275 3, 6, 3, 4,
276 31,
277 OPC_CheckPatternPredicate6,
278 OPC_CheckComplexPat4, /*#*/2,
279 OPC_EmitMergeInputChains1_0,
280 OPC_EmitInteger32, 4,
281 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
282 MVT::v4i32, 3, 1, 1, 5,
283 OPC_EmitStringInteger32, PPC::sub_64,
284 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
285 MVT::f64, 2, 6, 7,
286 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
287 3, 8, 3, 4,
288 32,
289 OPC_CheckPatternPredicate, 54,
290 OPC_CheckComplexPat0, /*#*/2,
291 OPC_EmitMergeInputChains1_0,
292 OPC_EmitInteger32, 4,
293 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
294 MVT::v4i32, 3, 1, 1, 5,
295 OPC_EmitStringInteger32, PPC::sub_64,
296 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
297 MVT::f64, 2, 6, 7,
298 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
299 3, 8, 3, 4,
300 31,
301 OPC_CheckPatternPredicate6,
302 OPC_CheckComplexPat1, /*#*/2,
303 OPC_EmitMergeInputChains1_0,
304 OPC_EmitInteger32, 4,
305 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
306 MVT::v4i32, 3, 1, 1, 5,
307 OPC_EmitStringInteger32, PPC::sub_64,
308 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
309 MVT::f64, 2, 6, 7,
310 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
311 3, 8, 3, 4,
312 0,
313 58|128,1, MVT::f64,
314 OPC_MoveParent,
315 OPC_RecordChild2,
316 OPC_CheckPredicate1,
317 OPC_CheckPredicate6,
318 OPC_Scope, 13,
319 OPC_CheckPatternPredicate, 41,
320 OPC_CheckComplexPat0, /*#*/2,
321 OPC_EmitMergeInputChains1_0,
322 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVRDX), 0|OPFL_Chain|OPFL_MemRefs,
323 3, 1, 3, 4,
324 22,
325 OPC_CheckPatternPredicate, 9,
326 OPC_CheckComplexPat4, /*#*/2,
327 OPC_EmitMergeInputChains1_0,
328 OPC_EmitStringInteger32, PPC::sub_64,
329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
330 MVT::f64, 2, 1, 5,
331 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
332 3, 6, 3, 4,
333 22,
334 OPC_CheckPatternPredicate, 53,
335 OPC_CheckComplexPat0, /*#*/2,
336 OPC_EmitMergeInputChains1_0,
337 OPC_EmitStringInteger32, PPC::sub_64,
338 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
339 MVT::f64, 2, 1, 5,
340 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
341 3, 6, 3, 4,
342 22,
343 OPC_CheckPatternPredicate, 9,
344 OPC_CheckComplexPat1, /*#*/2,
345 OPC_EmitMergeInputChains1_0,
346 OPC_EmitStringInteger32, PPC::sub_64,
347 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
348 MVT::f64, 2, 1, 5,
349 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
350 3, 6, 3, 4,
351 31,
352 OPC_CheckPatternPredicate6,
353 OPC_CheckComplexPat4, /*#*/2,
354 OPC_EmitMergeInputChains1_0,
355 OPC_EmitInteger32, 4,
356 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
357 MVT::v4i32, 3, 1, 1, 5,
358 OPC_EmitStringInteger32, PPC::sub_64,
359 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
360 MVT::f64, 2, 6, 7,
361 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
362 3, 8, 3, 4,
363 32,
364 OPC_CheckPatternPredicate, 54,
365 OPC_CheckComplexPat0, /*#*/2,
366 OPC_EmitMergeInputChains1_0,
367 OPC_EmitInteger32, 4,
368 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
369 MVT::v4i32, 3, 1, 1, 5,
370 OPC_EmitStringInteger32, PPC::sub_64,
371 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
372 MVT::f64, 2, 6, 7,
373 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
374 3, 8, 3, 4,
375 31,
376 OPC_CheckPatternPredicate6,
377 OPC_CheckComplexPat1, /*#*/2,
378 OPC_EmitMergeInputChains1_0,
379 OPC_EmitInteger32, 4,
380 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
381 MVT::v4i32, 3, 1, 1, 5,
382 OPC_EmitStringInteger32, PPC::sub_64,
383 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
384 MVT::f64, 2, 6, 7,
385 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
386 3, 8, 3, 4,
387 0,
388 0,
389 21|128,5,
390 OPC_CheckChild1Integer, 2,
391 OPC_SwitchType , 89|128,1, MVT::i32,
392 OPC_Scope, 62,
393 OPC_MoveParent,
394 OPC_RecordChild2,
395 OPC_CheckPredicate1,
396 OPC_CheckPredicate6,
397 OPC_Scope, 22,
398 OPC_CheckPatternPredicate, 32,
399 OPC_CheckComplexPat0, /*#*/2,
400 OPC_EmitMergeInputChains1_0,
401 OPC_EmitStringInteger32, PPC::sub_64,
402 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
403 MVT::f64, 2, 1, 5,
404 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
405 3, 6, 3, 4,
406 32,
407 OPC_CheckPatternPredicate, 21,
408 OPC_CheckComplexPat0, /*#*/2,
409 OPC_EmitMergeInputChains1_0,
410 OPC_EmitInteger32, 2,
411 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
412 MVT::v4i32, 3, 1, 1, 5,
413 OPC_EmitStringInteger32, PPC::sub_64,
414 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
415 MVT::f64, 2, 6, 7,
416 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
417 3, 8, 3, 4,
418 0,
419 75,
420 OPC_CheckChild0Type, MVT::v16i8,
421 OPC_MoveParent,
422 OPC_RecordChild2,
423 OPC_CheckPredicate1,
424 OPC_CheckPredicate7,
425 OPC_CheckPredicate, 14,
426 OPC_Scope, 32,
427 OPC_CheckPatternPredicate, 14,
428 OPC_CheckComplexPat0, /*#*/2,
429 OPC_EmitMergeInputChains1_0,
430 OPC_EmitInteger32, 20,
431 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
432 MVT::v16i8, 3, 1, 1, 5,
433 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
434 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
435 MVT::v4i32, 2, 6, 7,
436 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
437 3, 8, 3, 4,
438 31,
439 OPC_CheckPatternPredicate6,
440 OPC_CheckComplexPat0, /*#*/2,
441 OPC_EmitMergeInputChains1_0,
442 OPC_EmitInteger32, 14,
443 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
444 MVT::v16i8, 3, 1, 1, 5,
445 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
446 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
447 MVT::v4i32, 2, 6, 7,
448 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
449 3, 8, 3, 4,
450 0,
451 75,
452 OPC_CheckChild0Type, MVT::v8i16,
453 OPC_MoveParent,
454 OPC_RecordChild2,
455 OPC_CheckPredicate1,
456 OPC_CheckPredicate7,
457 OPC_CheckPredicate, 16,
458 OPC_Scope, 32,
459 OPC_CheckPatternPredicate, 14,
460 OPC_CheckComplexPat0, /*#*/2,
461 OPC_EmitMergeInputChains1_0,
462 OPC_EmitInteger32, 24,
463 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
464 MVT::v16i8, 3, 1, 1, 5,
465 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
466 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
467 MVT::v4i32, 2, 6, 7,
468 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
469 3, 8, 3, 4,
470 31,
471 OPC_CheckPatternPredicate6,
472 OPC_CheckComplexPat0, /*#*/2,
473 OPC_EmitMergeInputChains1_0,
474 OPC_EmitInteger32, 12,
475 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
476 MVT::v16i8, 3, 1, 1, 5,
477 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
478 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
479 MVT::v4i32, 2, 6, 7,
480 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
481 3, 8, 3, 4,
482 0,
483 0,
484 62, MVT::f32,
485 OPC_MoveParent,
486 OPC_RecordChild2,
487 OPC_CheckPredicate1,
488 OPC_CheckPredicate6,
489 OPC_Scope, 22,
490 OPC_CheckPatternPredicate, 32,
491 OPC_CheckComplexPat0, /*#*/2,
492 OPC_EmitMergeInputChains1_0,
493 OPC_EmitStringInteger32, PPC::sub_64,
494 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
495 MVT::f64, 2, 1, 5,
496 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
497 3, 6, 3, 4,
498 32,
499 OPC_CheckPatternPredicate, 21,
500 OPC_CheckComplexPat0, /*#*/2,
501 OPC_EmitMergeInputChains1_0,
502 OPC_EmitInteger32, 2,
503 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
504 MVT::v4i32, 3, 1, 1, 5,
505 OPC_EmitStringInteger32, PPC::sub_64,
506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
507 MVT::f64, 2, 6, 7,
508 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
509 3, 8, 3, 4,
510 0,
511 67|128,1, MVT::i64,
512 OPC_MoveParent,
513 OPC_RecordChild2,
514 OPC_CheckPredicate1,
515 OPC_CheckPredicate6,
516 OPC_Scope, 21,
517 OPC_CheckPatternPredicate6,
518 OPC_CheckComplexPat4, /*#*/2,
519 OPC_EmitMergeInputChains1_0,
520 OPC_EmitStringInteger32, PPC::sub_64,
521 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
522 MVT::f64, 2, 1, 5,
523 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
524 3, 6, 3, 4,
525 22,
526 OPC_CheckPatternPredicate, 54,
527 OPC_CheckComplexPat0, /*#*/2,
528 OPC_EmitMergeInputChains1_0,
529 OPC_EmitStringInteger32, PPC::sub_64,
530 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
531 MVT::f64, 2, 1, 5,
532 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
533 3, 6, 3, 4,
534 21,
535 OPC_CheckPatternPredicate6,
536 OPC_CheckComplexPat1, /*#*/2,
537 OPC_EmitMergeInputChains1_0,
538 OPC_EmitStringInteger32, PPC::sub_64,
539 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
540 MVT::f64, 2, 1, 5,
541 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
542 3, 6, 3, 4,
543 22,
544 OPC_CheckPatternPredicate, 41,
545 OPC_CheckComplexPat0, /*#*/2,
546 OPC_EmitMergeInputChains1_0,
547 OPC_EmitStringInteger32, PPC::sub_64,
548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
549 MVT::f64, 2, 1, 5,
550 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
551 3, 6, 3, 4,
552 32,
553 OPC_CheckPatternPredicate, 9,
554 OPC_CheckComplexPat4, /*#*/2,
555 OPC_EmitMergeInputChains1_0,
556 OPC_EmitInteger32, 4,
557 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
558 MVT::v4i32, 3, 1, 1, 5,
559 OPC_EmitStringInteger32, PPC::sub_64,
560 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
561 MVT::f64, 2, 6, 7,
562 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
563 3, 8, 3, 4,
564 32,
565 OPC_CheckPatternPredicate, 53,
566 OPC_CheckComplexPat0, /*#*/2,
567 OPC_EmitMergeInputChains1_0,
568 OPC_EmitInteger32, 4,
569 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
570 MVT::v4i32, 3, 1, 1, 5,
571 OPC_EmitStringInteger32, PPC::sub_64,
572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
573 MVT::f64, 2, 6, 7,
574 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
575 3, 8, 3, 4,
576 32,
577 OPC_CheckPatternPredicate, 9,
578 OPC_CheckComplexPat1, /*#*/2,
579 OPC_EmitMergeInputChains1_0,
580 OPC_EmitInteger32, 4,
581 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
582 MVT::v4i32, 3, 1, 1, 5,
583 OPC_EmitStringInteger32, PPC::sub_64,
584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
585 MVT::f64, 2, 6, 7,
586 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
587 3, 8, 3, 4,
588 0,
589 44|128,1, MVT::f64,
590 OPC_MoveParent,
591 OPC_RecordChild2,
592 OPC_CheckPredicate1,
593 OPC_CheckPredicate6,
594 OPC_Scope, 21,
595 OPC_CheckPatternPredicate6,
596 OPC_CheckComplexPat4, /*#*/2,
597 OPC_EmitMergeInputChains1_0,
598 OPC_EmitStringInteger32, PPC::sub_64,
599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
600 MVT::f64, 2, 1, 5,
601 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
602 3, 6, 3, 4,
603 22,
604 OPC_CheckPatternPredicate, 54,
605 OPC_CheckComplexPat0, /*#*/2,
606 OPC_EmitMergeInputChains1_0,
607 OPC_EmitStringInteger32, PPC::sub_64,
608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
609 MVT::f64, 2, 1, 5,
610 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
611 3, 6, 3, 4,
612 21,
613 OPC_CheckPatternPredicate6,
614 OPC_CheckComplexPat1, /*#*/2,
615 OPC_EmitMergeInputChains1_0,
616 OPC_EmitStringInteger32, PPC::sub_64,
617 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
618 MVT::f64, 2, 1, 5,
619 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
620 3, 6, 3, 4,
621 32,
622 OPC_CheckPatternPredicate, 9,
623 OPC_CheckComplexPat4, /*#*/2,
624 OPC_EmitMergeInputChains1_0,
625 OPC_EmitInteger32, 4,
626 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
627 MVT::v4i32, 3, 1, 1, 5,
628 OPC_EmitStringInteger32, PPC::sub_64,
629 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
630 MVT::f64, 2, 6, 7,
631 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
632 3, 8, 3, 4,
633 32,
634 OPC_CheckPatternPredicate, 53,
635 OPC_CheckComplexPat0, /*#*/2,
636 OPC_EmitMergeInputChains1_0,
637 OPC_EmitInteger32, 4,
638 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
639 MVT::v4i32, 3, 1, 1, 5,
640 OPC_EmitStringInteger32, PPC::sub_64,
641 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
642 MVT::f64, 2, 6, 7,
643 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
644 3, 8, 3, 4,
645 32,
646 OPC_CheckPatternPredicate, 9,
647 OPC_CheckComplexPat1, /*#*/2,
648 OPC_EmitMergeInputChains1_0,
649 OPC_EmitInteger32, 4,
650 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
651 MVT::v4i32, 3, 1, 1, 5,
652 OPC_EmitStringInteger32, PPC::sub_64,
653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
654 MVT::f64, 2, 6, 7,
655 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
656 3, 8, 3, 4,
657 0,
658 0,
659 32|128,2,
660 OPC_CheckChild1Integer, 4,
661 OPC_SwitchType , 89|128,1, MVT::i32,
662 OPC_Scope, 62,
663 OPC_MoveParent,
664 OPC_RecordChild2,
665 OPC_CheckPredicate1,
666 OPC_CheckPredicate6,
667 OPC_Scope, 22,
668 OPC_CheckPatternPredicate, 21,
669 OPC_CheckComplexPat0, /*#*/2,
670 OPC_EmitMergeInputChains1_0,
671 OPC_EmitStringInteger32, PPC::sub_64,
672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
673 MVT::f64, 2, 1, 5,
674 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
675 3, 6, 3, 4,
676 32,
677 OPC_CheckPatternPredicate, 32,
678 OPC_CheckComplexPat0, /*#*/2,
679 OPC_EmitMergeInputChains1_0,
680 OPC_EmitInteger32, 2,
681 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
682 MVT::v4i32, 3, 1, 1, 5,
683 OPC_EmitStringInteger32, PPC::sub_64,
684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
685 MVT::f64, 2, 6, 7,
686 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
687 3, 8, 3, 4,
688 0,
689 75,
690 OPC_CheckChild0Type, MVT::v16i8,
691 OPC_MoveParent,
692 OPC_RecordChild2,
693 OPC_CheckPredicate1,
694 OPC_CheckPredicate7,
695 OPC_CheckPredicate, 14,
696 OPC_Scope, 32,
697 OPC_CheckPatternPredicate, 14,
698 OPC_CheckComplexPat0, /*#*/2,
699 OPC_EmitMergeInputChains1_0,
700 OPC_EmitInteger32, 22,
701 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
702 MVT::v16i8, 3, 1, 1, 5,
703 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
704 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
705 MVT::v4i32, 2, 6, 7,
706 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
707 3, 8, 3, 4,
708 31,
709 OPC_CheckPatternPredicate6,
710 OPC_CheckComplexPat0, /*#*/2,
711 OPC_EmitMergeInputChains1_0,
712 OPC_EmitInteger32, 12,
713 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
714 MVT::v16i8, 3, 1, 1, 5,
715 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
716 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
717 MVT::v4i32, 2, 6, 7,
718 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
719 3, 8, 3, 4,
720 0,
721 75,
722 OPC_CheckChild0Type, MVT::v8i16,
723 OPC_MoveParent,
724 OPC_RecordChild2,
725 OPC_CheckPredicate1,
726 OPC_CheckPredicate7,
727 OPC_CheckPredicate, 16,
728 OPC_Scope, 32,
729 OPC_CheckPatternPredicate, 14,
730 OPC_CheckComplexPat0, /*#*/2,
731 OPC_EmitMergeInputChains1_0,
732 OPC_EmitInteger32, 28,
733 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
734 MVT::v16i8, 3, 1, 1, 5,
735 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
736 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
737 MVT::v4i32, 2, 6, 7,
738 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
739 3, 8, 3, 4,
740 31,
741 OPC_CheckPatternPredicate6,
742 OPC_CheckComplexPat0, /*#*/2,
743 OPC_EmitMergeInputChains1_0,
744 OPC_EmitInteger32, 8,
745 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
746 MVT::v16i8, 3, 1, 1, 5,
747 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
748 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
749 MVT::v4i32, 2, 6, 7,
750 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
751 3, 8, 3, 4,
752 0,
753 0,
754 62, MVT::f32,
755 OPC_MoveParent,
756 OPC_RecordChild2,
757 OPC_CheckPredicate1,
758 OPC_CheckPredicate6,
759 OPC_Scope, 22,
760 OPC_CheckPatternPredicate, 21,
761 OPC_CheckComplexPat0, /*#*/2,
762 OPC_EmitMergeInputChains1_0,
763 OPC_EmitStringInteger32, PPC::sub_64,
764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
765 MVT::f64, 2, 1, 5,
766 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
767 3, 6, 3, 4,
768 32,
769 OPC_CheckPatternPredicate, 32,
770 OPC_CheckComplexPat0, /*#*/2,
771 OPC_EmitMergeInputChains1_0,
772 OPC_EmitInteger32, 2,
773 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
774 MVT::v4i32, 3, 1, 1, 5,
775 OPC_EmitStringInteger32, PPC::sub_64,
776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
777 MVT::f64, 2, 6, 7,
778 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
779 3, 8, 3, 4,
780 0,
781 0,
782 19|128,1,
783 OPC_CheckChild1Integer, 14,
784 OPC_CheckTypeI32,
785 OPC_Scope, 65,
786 OPC_CheckChild0Type, MVT::v16i8,
787 OPC_MoveParent,
788 OPC_RecordChild2,
789 OPC_CheckPredicate1,
790 OPC_CheckPredicate7,
791 OPC_CheckPredicate, 14,
792 OPC_Scope, 22,
793 OPC_CheckPatternPredicate, 14,
794 OPC_CheckComplexPat0, /*#*/2,
795 OPC_EmitMergeInputChains1_0,
796 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
798 MVT::v4i32, 2, 1, 5,
799 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
800 3, 6, 3, 4,
801 31,
802 OPC_CheckPatternPredicate6,
803 OPC_CheckComplexPat0, /*#*/2,
804 OPC_EmitMergeInputChains1_0,
805 OPC_EmitInteger32, 2,
806 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
807 MVT::v16i8, 3, 1, 1, 5,
808 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
809 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
810 MVT::v4i32, 2, 6, 7,
811 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
812 3, 8, 3, 4,
813 0,
814 75,
815 OPC_CheckChild0Type, MVT::v8i16,
816 OPC_MoveParent,
817 OPC_RecordChild2,
818 OPC_CheckPredicate1,
819 OPC_CheckPredicate7,
820 OPC_CheckPredicate, 16,
821 OPC_Scope, 32,
822 OPC_CheckPatternPredicate, 14,
823 OPC_CheckComplexPat0, /*#*/2,
824 OPC_EmitMergeInputChains1_0,
825 OPC_EmitInteger32, 16,
826 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
827 MVT::v16i8, 3, 1, 1, 5,
828 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
830 MVT::v4i32, 2, 6, 7,
831 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
832 3, 8, 3, 4,
833 31,
834 OPC_CheckPatternPredicate6,
835 OPC_CheckComplexPat0, /*#*/2,
836 OPC_EmitMergeInputChains1_0,
837 OPC_EmitInteger32, 20,
838 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
839 MVT::v16i8, 3, 1, 1, 5,
840 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
842 MVT::v4i32, 2, 6, 7,
843 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
844 3, 8, 3, 4,
845 0,
846 0,
847 47|128,2,
848 OPC_CheckChild1Integer, 6,
849 OPC_SwitchType , 94|128,1, MVT::i32,
850 OPC_Scope, 30,
851 OPC_CheckChild0Type, MVT::v8i16,
852 OPC_MoveParent,
853 OPC_RecordChild2,
854 OPC_CheckPredicate1,
855 OPC_CheckPredicate7,
856 OPC_CheckPredicate, 16,
857 OPC_CheckPatternPredicate, 14,
858 OPC_CheckComplexPat0, /*#*/2,
859 OPC_EmitMergeInputChains1_0,
860 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
861 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
862 MVT::v4i32, 2, 1, 5,
863 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
864 3, 6, 3, 4,
865 72,
866 OPC_MoveParent,
867 OPC_RecordChild2,
868 OPC_CheckPredicate1,
869 OPC_CheckPredicate6,
870 OPC_Scope, 32,
871 OPC_CheckPatternPredicate, 32,
872 OPC_CheckComplexPat0, /*#*/2,
873 OPC_EmitMergeInputChains1_0,
874 OPC_EmitInteger32, 4,
875 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
876 MVT::v4i32, 3, 1, 1, 5,
877 OPC_EmitStringInteger32, PPC::sub_64,
878 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
879 MVT::f64, 2, 6, 7,
880 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
881 3, 8, 3, 4,
882 32,
883 OPC_CheckPatternPredicate, 21,
884 OPC_CheckComplexPat0, /*#*/2,
885 OPC_EmitMergeInputChains1_0,
886 OPC_EmitInteger32, 6,
887 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
888 MVT::v4i32, 3, 1, 1, 5,
889 OPC_EmitStringInteger32, PPC::sub_64,
890 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
891 MVT::f64, 2, 6, 7,
892 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
893 3, 8, 3, 4,
894 0,
895 75,
896 OPC_CheckChild0Type, MVT::v16i8,
897 OPC_MoveParent,
898 OPC_RecordChild2,
899 OPC_CheckPredicate1,
900 OPC_CheckPredicate7,
901 OPC_CheckPredicate, 14,
902 OPC_Scope, 32,
903 OPC_CheckPatternPredicate, 14,
904 OPC_CheckComplexPat0, /*#*/2,
905 OPC_EmitMergeInputChains1_0,
906 OPC_EmitInteger32, 24,
907 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
908 MVT::v16i8, 3, 1, 1, 5,
909 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
911 MVT::v4i32, 2, 6, 7,
912 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
913 3, 8, 3, 4,
914 31,
915 OPC_CheckPatternPredicate6,
916 OPC_CheckComplexPat0, /*#*/2,
917 OPC_EmitMergeInputChains1_0,
918 OPC_EmitInteger32, 10,
919 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
920 MVT::v16i8, 3, 1, 1, 5,
921 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
922 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
923 MVT::v4i32, 2, 6, 7,
924 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
925 3, 8, 3, 4,
926 0,
927 39,
928 OPC_CheckChild0Type, MVT::v8i16,
929 OPC_MoveParent,
930 OPC_RecordChild2,
931 OPC_CheckPredicate1,
932 OPC_CheckPredicate7,
933 OPC_CheckPredicate, 16,
934 OPC_CheckPatternPredicate6,
935 OPC_CheckComplexPat0, /*#*/2,
936 OPC_EmitMergeInputChains1_0,
937 OPC_EmitInteger32, 4,
938 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
939 MVT::v16i8, 3, 1, 1, 5,
940 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
941 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
942 MVT::v4i32, 2, 6, 7,
943 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
944 3, 8, 3, 4,
945 0,
946 72, MVT::f32,
947 OPC_MoveParent,
948 OPC_RecordChild2,
949 OPC_CheckPredicate1,
950 OPC_CheckPredicate6,
951 OPC_Scope, 32,
952 OPC_CheckPatternPredicate, 32,
953 OPC_CheckComplexPat0, /*#*/2,
954 OPC_EmitMergeInputChains1_0,
955 OPC_EmitInteger32, 4,
956 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
957 MVT::v4i32, 3, 1, 1, 5,
958 OPC_EmitStringInteger32, PPC::sub_64,
959 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
960 MVT::f64, 2, 6, 7,
961 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
962 3, 8, 3, 4,
963 32,
964 OPC_CheckPatternPredicate, 21,
965 OPC_CheckComplexPat0, /*#*/2,
966 OPC_EmitMergeInputChains1_0,
967 OPC_EmitInteger32, 6,
968 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
969 MVT::v4i32, 3, 1, 1, 5,
970 OPC_EmitStringInteger32, PPC::sub_64,
971 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
972 MVT::f64, 2, 6, 7,
973 OPC_MorphNodeTo0, TARGET_VAL(PPC::STIWX), 0|OPFL_Chain|OPFL_MemRefs,
974 3, 8, 3, 4,
975 0,
976 0,
977 68,
978 OPC_CheckChild1Integer, 16,
979 OPC_CheckChild0Type, MVT::v16i8,
980 OPC_CheckTypeI32,
981 OPC_MoveParent,
982 OPC_RecordChild2,
983 OPC_CheckPredicate1,
984 OPC_CheckPredicate7,
985 OPC_CheckPredicate, 14,
986 OPC_Scope, 21,
987 OPC_CheckPatternPredicate6,
988 OPC_CheckComplexPat0, /*#*/2,
989 OPC_EmitMergeInputChains1_0,
990 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
992 MVT::v4i32, 2, 1, 5,
993 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
994 3, 6, 3, 4,
995 32,
996 OPC_CheckPatternPredicate, 14,
997 OPC_CheckComplexPat0, /*#*/2,
998 OPC_EmitMergeInputChains1_0,
999 OPC_EmitInteger32, 2,
1000 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1001 MVT::v16i8, 3, 1, 1, 5,
1002 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1003 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1004 MVT::v4i32, 2, 6, 7,
1005 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1006 3, 8, 3, 4,
1007 0,
1008 19|128,1,
1009 OPC_CheckChild1Integer, 8,
1010 OPC_CheckTypeI32,
1011 OPC_Scope, 65,
1012 OPC_CheckChild0Type, MVT::v8i16,
1013 OPC_MoveParent,
1014 OPC_RecordChild2,
1015 OPC_CheckPredicate1,
1016 OPC_CheckPredicate7,
1017 OPC_CheckPredicate, 16,
1018 OPC_Scope, 21,
1019 OPC_CheckPatternPredicate6,
1020 OPC_CheckComplexPat0, /*#*/2,
1021 OPC_EmitMergeInputChains1_0,
1022 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1023 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1024 MVT::v4i32, 2, 1, 5,
1025 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1026 3, 6, 3, 4,
1027 32,
1028 OPC_CheckPatternPredicate, 14,
1029 OPC_CheckComplexPat0, /*#*/2,
1030 OPC_EmitMergeInputChains1_0,
1031 OPC_EmitInteger32, 4,
1032 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1033 MVT::v16i8, 3, 1, 1, 5,
1034 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1035 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1036 MVT::v4i32, 2, 6, 7,
1037 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1038 3, 8, 3, 4,
1039 0,
1040 75,
1041 OPC_CheckChild0Type, MVT::v16i8,
1042 OPC_MoveParent,
1043 OPC_RecordChild2,
1044 OPC_CheckPredicate1,
1045 OPC_CheckPredicate7,
1046 OPC_CheckPredicate, 14,
1047 OPC_Scope, 32,
1048 OPC_CheckPatternPredicate, 14,
1049 OPC_CheckComplexPat0, /*#*/2,
1050 OPC_EmitMergeInputChains1_0,
1051 OPC_EmitInteger32, 26,
1052 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1053 MVT::v16i8, 3, 1, 1, 5,
1054 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1055 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1056 MVT::v4i32, 2, 6, 7,
1057 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1058 3, 8, 3, 4,
1059 31,
1060 OPC_CheckPatternPredicate6,
1061 OPC_CheckComplexPat0, /*#*/2,
1062 OPC_EmitMergeInputChains1_0,
1063 OPC_EmitInteger32, 8,
1064 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1065 MVT::v16i8, 3, 1, 1, 5,
1066 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1068 MVT::v4i32, 2, 6, 7,
1069 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1070 3, 8, 3, 4,
1071 0,
1072 0,
1073 29|128,1,
1074 OPC_CheckChild1Integer, 10,
1075 OPC_CheckTypeI32,
1076 OPC_Scope, 75,
1077 OPC_CheckChild0Type, MVT::v16i8,
1078 OPC_MoveParent,
1079 OPC_RecordChild2,
1080 OPC_CheckPredicate1,
1081 OPC_CheckPredicate7,
1082 OPC_CheckPredicate, 14,
1083 OPC_Scope, 32,
1084 OPC_CheckPatternPredicate, 14,
1085 OPC_CheckComplexPat0, /*#*/2,
1086 OPC_EmitMergeInputChains1_0,
1087 OPC_EmitInteger32, 28,
1088 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1089 MVT::v16i8, 3, 1, 1, 5,
1090 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1091 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1092 MVT::v4i32, 2, 6, 7,
1093 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1094 3, 8, 3, 4,
1095 31,
1096 OPC_CheckPatternPredicate6,
1097 OPC_CheckComplexPat0, /*#*/2,
1098 OPC_EmitMergeInputChains1_0,
1099 OPC_EmitInteger32, 6,
1100 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1101 MVT::v16i8, 3, 1, 1, 5,
1102 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1104 MVT::v4i32, 2, 6, 7,
1105 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1106 3, 8, 3, 4,
1107 0,
1108 75,
1109 OPC_CheckChild0Type, MVT::v8i16,
1110 OPC_MoveParent,
1111 OPC_RecordChild2,
1112 OPC_CheckPredicate1,
1113 OPC_CheckPredicate7,
1114 OPC_CheckPredicate, 16,
1115 OPC_Scope, 32,
1116 OPC_CheckPatternPredicate, 14,
1117 OPC_CheckComplexPat0, /*#*/2,
1118 OPC_EmitMergeInputChains1_0,
1119 OPC_EmitInteger32, 8,
1120 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1121 MVT::v16i8, 3, 1, 1, 5,
1122 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1124 MVT::v4i32, 2, 6, 7,
1125 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1126 3, 8, 3, 4,
1127 31,
1128 OPC_CheckPatternPredicate6,
1129 OPC_CheckComplexPat0, /*#*/2,
1130 OPC_EmitMergeInputChains1_0,
1131 OPC_EmitInteger32, 28,
1132 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1133 MVT::v16i8, 3, 1, 1, 5,
1134 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1136 MVT::v4i32, 2, 6, 7,
1137 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1138 3, 8, 3, 4,
1139 0,
1140 0,
1141 29|128,1,
1142 OPC_CheckChild1Integer, 12,
1143 OPC_CheckTypeI32,
1144 OPC_Scope, 75,
1145 OPC_CheckChild0Type, MVT::v16i8,
1146 OPC_MoveParent,
1147 OPC_RecordChild2,
1148 OPC_CheckPredicate1,
1149 OPC_CheckPredicate7,
1150 OPC_CheckPredicate, 14,
1151 OPC_Scope, 32,
1152 OPC_CheckPatternPredicate, 14,
1153 OPC_CheckComplexPat0, /*#*/2,
1154 OPC_EmitMergeInputChains1_0,
1155 OPC_EmitInteger32, 30,
1156 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1157 MVT::v16i8, 3, 1, 1, 5,
1158 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1160 MVT::v4i32, 2, 6, 7,
1161 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1162 3, 8, 3, 4,
1163 31,
1164 OPC_CheckPatternPredicate6,
1165 OPC_CheckComplexPat0, /*#*/2,
1166 OPC_EmitMergeInputChains1_0,
1167 OPC_EmitInteger32, 4,
1168 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1169 MVT::v16i8, 3, 1, 1, 5,
1170 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1172 MVT::v4i32, 2, 6, 7,
1173 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1174 3, 8, 3, 4,
1175 0,
1176 75,
1177 OPC_CheckChild0Type, MVT::v8i16,
1178 OPC_MoveParent,
1179 OPC_RecordChild2,
1180 OPC_CheckPredicate1,
1181 OPC_CheckPredicate7,
1182 OPC_CheckPredicate, 16,
1183 OPC_Scope, 32,
1184 OPC_CheckPatternPredicate, 14,
1185 OPC_CheckComplexPat0, /*#*/2,
1186 OPC_EmitMergeInputChains1_0,
1187 OPC_EmitInteger32, 12,
1188 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1189 MVT::v16i8, 3, 1, 1, 5,
1190 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1191 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1192 MVT::v4i32, 2, 6, 7,
1193 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1194 3, 8, 3, 4,
1195 31,
1196 OPC_CheckPatternPredicate6,
1197 OPC_CheckComplexPat0, /*#*/2,
1198 OPC_EmitMergeInputChains1_0,
1199 OPC_EmitInteger32, 24,
1200 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1201 MVT::v16i8, 3, 1, 1, 5,
1202 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1203 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1204 MVT::v4i32, 2, 6, 7,
1205 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHXv), 0|OPFL_Chain|OPFL_MemRefs,
1206 3, 8, 3, 4,
1207 0,
1208 0,
1209 78,
1210 OPC_CheckChild1Integer, 18,
1211 OPC_CheckChild0Type, MVT::v16i8,
1212 OPC_CheckTypeI32,
1213 OPC_MoveParent,
1214 OPC_RecordChild2,
1215 OPC_CheckPredicate1,
1216 OPC_CheckPredicate7,
1217 OPC_CheckPredicate, 14,
1218 OPC_Scope, 32,
1219 OPC_CheckPatternPredicate, 14,
1220 OPC_CheckComplexPat0, /*#*/2,
1221 OPC_EmitMergeInputChains1_0,
1222 OPC_EmitInteger32, 4,
1223 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1224 MVT::v16i8, 3, 1, 1, 5,
1225 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1226 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1227 MVT::v4i32, 2, 6, 7,
1228 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1229 3, 8, 3, 4,
1230 31,
1231 OPC_CheckPatternPredicate6,
1232 OPC_CheckComplexPat0, /*#*/2,
1233 OPC_EmitMergeInputChains1_0,
1234 OPC_EmitInteger32, 30,
1235 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1236 MVT::v16i8, 3, 1, 1, 5,
1237 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1239 MVT::v4i32, 2, 6, 7,
1240 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1241 3, 8, 3, 4,
1242 0,
1243 78,
1244 OPC_CheckChild1Integer, 20,
1245 OPC_CheckChild0Type, MVT::v16i8,
1246 OPC_CheckTypeI32,
1247 OPC_MoveParent,
1248 OPC_RecordChild2,
1249 OPC_CheckPredicate1,
1250 OPC_CheckPredicate7,
1251 OPC_CheckPredicate, 14,
1252 OPC_Scope, 32,
1253 OPC_CheckPatternPredicate, 14,
1254 OPC_CheckComplexPat0, /*#*/2,
1255 OPC_EmitMergeInputChains1_0,
1256 OPC_EmitInteger32, 6,
1257 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1258 MVT::v16i8, 3, 1, 1, 5,
1259 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1260 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1261 MVT::v4i32, 2, 6, 7,
1262 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1263 3, 8, 3, 4,
1264 31,
1265 OPC_CheckPatternPredicate6,
1266 OPC_CheckComplexPat0, /*#*/2,
1267 OPC_EmitMergeInputChains1_0,
1268 OPC_EmitInteger32, 28,
1269 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1270 MVT::v16i8, 3, 1, 1, 5,
1271 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1272 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1273 MVT::v4i32, 2, 6, 7,
1274 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1275 3, 8, 3, 4,
1276 0,
1277 78,
1278 OPC_CheckChild1Integer, 22,
1279 OPC_CheckChild0Type, MVT::v16i8,
1280 OPC_CheckTypeI32,
1281 OPC_MoveParent,
1282 OPC_RecordChild2,
1283 OPC_CheckPredicate1,
1284 OPC_CheckPredicate7,
1285 OPC_CheckPredicate, 14,
1286 OPC_Scope, 32,
1287 OPC_CheckPatternPredicate, 14,
1288 OPC_CheckComplexPat0, /*#*/2,
1289 OPC_EmitMergeInputChains1_0,
1290 OPC_EmitInteger32, 8,
1291 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1292 MVT::v16i8, 3, 1, 1, 5,
1293 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1294 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1295 MVT::v4i32, 2, 6, 7,
1296 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1297 3, 8, 3, 4,
1298 31,
1299 OPC_CheckPatternPredicate6,
1300 OPC_CheckComplexPat0, /*#*/2,
1301 OPC_EmitMergeInputChains1_0,
1302 OPC_EmitInteger32, 26,
1303 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1304 MVT::v16i8, 3, 1, 1, 5,
1305 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1307 MVT::v4i32, 2, 6, 7,
1308 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1309 3, 8, 3, 4,
1310 0,
1311 78,
1312 OPC_CheckChild1Integer, 24,
1313 OPC_CheckChild0Type, MVT::v16i8,
1314 OPC_CheckTypeI32,
1315 OPC_MoveParent,
1316 OPC_RecordChild2,
1317 OPC_CheckPredicate1,
1318 OPC_CheckPredicate7,
1319 OPC_CheckPredicate, 14,
1320 OPC_Scope, 32,
1321 OPC_CheckPatternPredicate, 14,
1322 OPC_CheckComplexPat0, /*#*/2,
1323 OPC_EmitMergeInputChains1_0,
1324 OPC_EmitInteger32, 10,
1325 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1326 MVT::v16i8, 3, 1, 1, 5,
1327 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1328 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1329 MVT::v4i32, 2, 6, 7,
1330 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1331 3, 8, 3, 4,
1332 31,
1333 OPC_CheckPatternPredicate6,
1334 OPC_CheckComplexPat0, /*#*/2,
1335 OPC_EmitMergeInputChains1_0,
1336 OPC_EmitInteger32, 24,
1337 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1338 MVT::v16i8, 3, 1, 1, 5,
1339 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1340 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1341 MVT::v4i32, 2, 6, 7,
1342 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1343 3, 8, 3, 4,
1344 0,
1345 78,
1346 OPC_CheckChild1Integer, 26,
1347 OPC_CheckChild0Type, MVT::v16i8,
1348 OPC_CheckTypeI32,
1349 OPC_MoveParent,
1350 OPC_RecordChild2,
1351 OPC_CheckPredicate1,
1352 OPC_CheckPredicate7,
1353 OPC_CheckPredicate, 14,
1354 OPC_Scope, 32,
1355 OPC_CheckPatternPredicate, 14,
1356 OPC_CheckComplexPat0, /*#*/2,
1357 OPC_EmitMergeInputChains1_0,
1358 OPC_EmitInteger32, 12,
1359 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1360 MVT::v16i8, 3, 1, 1, 5,
1361 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1362 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1363 MVT::v4i32, 2, 6, 7,
1364 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1365 3, 8, 3, 4,
1366 31,
1367 OPC_CheckPatternPredicate6,
1368 OPC_CheckComplexPat0, /*#*/2,
1369 OPC_EmitMergeInputChains1_0,
1370 OPC_EmitInteger32, 22,
1371 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1372 MVT::v16i8, 3, 1, 1, 5,
1373 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1374 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1375 MVT::v4i32, 2, 6, 7,
1376 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1377 3, 8, 3, 4,
1378 0,
1379 78,
1380 OPC_CheckChild1Integer, 28,
1381 OPC_CheckChild0Type, MVT::v16i8,
1382 OPC_CheckTypeI32,
1383 OPC_MoveParent,
1384 OPC_RecordChild2,
1385 OPC_CheckPredicate1,
1386 OPC_CheckPredicate7,
1387 OPC_CheckPredicate, 14,
1388 OPC_Scope, 32,
1389 OPC_CheckPatternPredicate, 14,
1390 OPC_CheckComplexPat0, /*#*/2,
1391 OPC_EmitMergeInputChains1_0,
1392 OPC_EmitInteger32, 14,
1393 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1394 MVT::v16i8, 3, 1, 1, 5,
1395 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1396 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1397 MVT::v4i32, 2, 6, 7,
1398 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1399 3, 8, 3, 4,
1400 31,
1401 OPC_CheckPatternPredicate6,
1402 OPC_CheckComplexPat0, /*#*/2,
1403 OPC_EmitMergeInputChains1_0,
1404 OPC_EmitInteger32, 20,
1405 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1406 MVT::v16i8, 3, 1, 1, 5,
1407 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1408 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1409 MVT::v4i32, 2, 6, 7,
1410 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1411 3, 8, 3, 4,
1412 0,
1413 78,
1414 OPC_CheckChild1Integer, 30,
1415 OPC_CheckChild0Type, MVT::v16i8,
1416 OPC_CheckTypeI32,
1417 OPC_MoveParent,
1418 OPC_RecordChild2,
1419 OPC_CheckPredicate1,
1420 OPC_CheckPredicate7,
1421 OPC_CheckPredicate, 14,
1422 OPC_Scope, 32,
1423 OPC_CheckPatternPredicate, 14,
1424 OPC_CheckComplexPat0, /*#*/2,
1425 OPC_EmitMergeInputChains1_0,
1426 OPC_EmitInteger32, 16,
1427 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1428 MVT::v16i8, 3, 1, 1, 5,
1429 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1430 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1431 MVT::v4i32, 2, 6, 7,
1432 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1433 3, 8, 3, 4,
1434 31,
1435 OPC_CheckPatternPredicate6,
1436 OPC_CheckComplexPat0, /*#*/2,
1437 OPC_EmitMergeInputChains1_0,
1438 OPC_EmitInteger32, 18,
1439 OPC_EmitNode1None, TARGET_VAL(PPC::VSLDOI),
1440 MVT::v16i8, 3, 1, 1, 5,
1441 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1442 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1443 MVT::v4i32, 2, 6, 7,
1444 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIBXv), 0|OPFL_Chain|OPFL_MemRefs,
1445 3, 8, 3, 4,
1446 0,
1447 0,
1448 74|128,3,
1449 OPC_RecordChild1,
1450 OPC_Scope, 75,
1451 OPC_CheckChild1Type, MVT::v2f64,
1452 OPC_RecordChild2,
1453 OPC_CheckPredicate1,
1454 OPC_CheckPredicate6,
1455 OPC_Scope, 12,
1456 OPC_CheckPatternPredicate7,
1457 OPC_CheckComplexPat1, /*#*/2,
1458 OPC_EmitMergeInputChains1_0,
1459 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1460 3, 1, 3, 4,
1461 13,
1462 OPC_CheckPatternPredicate, 42,
1463 OPC_CheckComplexPat0, /*#*/2,
1464 OPC_EmitMergeInputChains1_0,
1465 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
1466 3, 1, 3, 4,
1467 27,
1468 OPC_CheckPatternPredicate7,
1469 OPC_Scope, 11,
1470 OPC_CheckComplexPat7, /*#*/2,
1471 OPC_EmitMergeInputChains1_0,
1472 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
1473 3, 1, 3, 4,
1474 11,
1475 OPC_CheckComplexPat1, /*#*/2,
1476 OPC_EmitMergeInputChains1_0,
1477 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1478 3, 1, 3, 4,
1479 0,
1480 12,
1481 OPC_CheckPatternPredicate1,
1482 OPC_CheckComplexPat3, /*#*/2,
1483 OPC_EmitMergeInputChains1_0,
1484 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
1485 3, 1, 3, 4,
1486 0,
1487 68,
1488 OPC_CheckChild1Type, MVT::f32,
1489 OPC_RecordChild2,
1490 OPC_CheckPredicate1,
1491 OPC_Scope, 30,
1492 OPC_CheckPredicate6,
1493 OPC_Scope, 12,
1494 OPC_CheckPatternPredicate7,
1495 OPC_CheckComplexPat4, /*#*/2,
1496 OPC_EmitMergeInputChains1_0,
1497 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf32), 0|OPFL_Chain|OPFL_MemRefs,
1498 3, 1, 3, 4,
1499 13,
1500 OPC_CheckPatternPredicate, 11,
1501 OPC_CheckComplexPat1, /*#*/2,
1502 OPC_EmitMergeInputChains1_0,
1503 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf32), 0|OPFL_Chain|OPFL_MemRefs,
1504 3, 1, 3, 4,
1505 0,
1506 30,
1507 OPC_CheckPredicate7,
1508 OPC_CheckPredicate, 25,
1509 OPC_CheckPatternPredicate7,
1510 OPC_CheckComplexPat0, /*#*/2,
1511 OPC_EmitMergeInputChains1_0,
1512 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
1513 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1514 MVT::f64, 2, 1, 5,
1515 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPHP),
1516 MVT::f64, 1, 6,
1517 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
1518 3, 7, 3, 4,
1519 0,
1520 58,
1521 OPC_CheckChild1Type, MVT::f64,
1522 OPC_RecordChild2,
1523 OPC_CheckPredicate1,
1524 OPC_Scope, 29,
1525 OPC_CheckPredicate6,
1526 OPC_Scope, 12,
1527 OPC_CheckPatternPredicate7,
1528 OPC_CheckComplexPat4, /*#*/2,
1529 OPC_EmitMergeInputChains1_0,
1530 OPC_MorphNodeTo0, TARGET_VAL(PPC::DFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
1531 3, 1, 3, 4,
1532 12,
1533 OPC_CheckPatternPredicate2,
1534 OPC_CheckComplexPat1, /*#*/2,
1535 OPC_EmitMergeInputChains1_0,
1536 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
1537 3, 1, 3, 4,
1538 0,
1539 21,
1540 OPC_CheckPredicate7,
1541 OPC_CheckPredicate, 25,
1542 OPC_CheckPatternPredicate7,
1543 OPC_CheckComplexPat0, /*#*/2,
1544 OPC_EmitMergeInputChains1_0,
1545 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPHP),
1546 MVT::f64, 1, 1,
1547 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXSIHX), 0|OPFL_Chain|OPFL_MemRefs,
1548 3, 5, 3, 4,
1549 0,
1550 62,
1551 OPC_CheckChild1Type, MVT::v2i64,
1552 OPC_RecordChild2,
1553 OPC_CheckPredicate1,
1554 OPC_CheckPredicate6,
1555 OPC_Scope, 13,
1556 OPC_CheckPatternPredicate, 42,
1557 OPC_CheckComplexPat0, /*#*/2,
1558 OPC_EmitMergeInputChains1_0,
1559 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
1560 3, 1, 3, 4,
1561 27,
1562 OPC_CheckPatternPredicate7,
1563 OPC_Scope, 11,
1564 OPC_CheckComplexPat7, /*#*/2,
1565 OPC_EmitMergeInputChains1_0,
1566 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
1567 3, 1, 3, 4,
1568 11,
1569 OPC_CheckComplexPat1, /*#*/2,
1570 OPC_EmitMergeInputChains1_0,
1571 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1572 3, 1, 3, 4,
1573 0,
1574 12,
1575 OPC_CheckPatternPredicate1,
1576 OPC_CheckComplexPat3, /*#*/2,
1577 OPC_EmitMergeInputChains1_0,
1578 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
1579 3, 1, 3, 4,
1580 0,
1581 62,
1582 OPC_CheckChild1Type, MVT::v4i32,
1583 OPC_RecordChild2,
1584 OPC_CheckPredicate1,
1585 OPC_CheckPredicate6,
1586 OPC_Scope, 13,
1587 OPC_CheckPatternPredicate, 42,
1588 OPC_CheckComplexPat0, /*#*/2,
1589 OPC_EmitMergeInputChains1_0,
1590 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
1591 3, 1, 3, 4,
1592 27,
1593 OPC_CheckPatternPredicate7,
1594 OPC_Scope, 11,
1595 OPC_CheckComplexPat7, /*#*/2,
1596 OPC_EmitMergeInputChains1_0,
1597 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
1598 3, 1, 3, 4,
1599 11,
1600 OPC_CheckComplexPat1, /*#*/2,
1601 OPC_EmitMergeInputChains1_0,
1602 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1603 3, 1, 3, 4,
1604 0,
1605 12,
1606 OPC_CheckPatternPredicate1,
1607 OPC_CheckComplexPat3, /*#*/2,
1608 OPC_EmitMergeInputChains1_0,
1609 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
1610 3, 1, 3, 4,
1611 0,
1612 48,
1613 OPC_CheckChild1Type, MVT::v4f32,
1614 OPC_RecordChild2,
1615 OPC_CheckPredicate1,
1616 OPC_CheckPredicate6,
1617 OPC_Scope, 27,
1618 OPC_CheckPatternPredicate7,
1619 OPC_Scope, 11,
1620 OPC_CheckComplexPat7, /*#*/2,
1621 OPC_EmitMergeInputChains1_0,
1622 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
1623 3, 1, 3, 4,
1624 11,
1625 OPC_CheckComplexPat1, /*#*/2,
1626 OPC_EmitMergeInputChains1_0,
1627 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1628 3, 1, 3, 4,
1629 0,
1630 12,
1631 OPC_CheckPatternPredicate1,
1632 OPC_CheckComplexPat3, /*#*/2,
1633 OPC_EmitMergeInputChains1_0,
1634 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
1635 3, 1, 3, 4,
1636 0,
1637 75,
1638 OPC_CheckChild1Type, MVT::f128,
1639 OPC_RecordChild2,
1640 OPC_CheckPredicate1,
1641 OPC_CheckPredicate6,
1642 OPC_Scope, 45,
1643 OPC_CheckPatternPredicate7,
1644 OPC_Scope, 20,
1645 OPC_CheckComplexPat7, /*#*/2,
1646 OPC_EmitMergeInputChains1_0,
1647 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1648 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1649 MVT::v4i32, 2, 1, 5,
1650 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXV), 0|OPFL_Chain|OPFL_MemRefs,
1651 3, 6, 3, 4,
1652 20,
1653 OPC_CheckComplexPat1, /*#*/2,
1654 OPC_EmitMergeInputChains1_0,
1655 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1656 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1657 MVT::v4i32, 2, 1, 5,
1658 OPC_MorphNodeTo0, TARGET_VAL(PPC::STXVX), 0|OPFL_Chain|OPFL_MemRefs,
1659 3, 6, 3, 4,
1660 0,
1661 21,
1662 OPC_CheckPatternPredicate1,
1663 OPC_CheckComplexPat3, /*#*/2,
1664 OPC_EmitMergeInputChains1_0,
1665 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
1666 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1667 MVT::v4i32, 2, 1, 5,
1668 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXV), 0|OPFL_Chain|OPFL_MemRefs,
1669 3, 6, 3, 4,
1670 0,
1671 0,
1672 34,
1673 OPC_MoveChild1,
1674 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
1675 OPC_RecordChild0,
1676 OPC_CheckChild1Integer, 0,
1677 OPC_CheckTypeI64,
1678 OPC_MoveParent,
1679 OPC_RecordChild2,
1680 OPC_CheckPredicate1,
1681 OPC_CheckPredicate6,
1682 OPC_CheckPatternPredicate, 69,
1683 OPC_CheckComplexPat0, /*#*/2,
1684 OPC_EmitMergeInputChains1_0,
1685 OPC_EmitStringInteger32, PPC::sub_64,
1686 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
1687 MVT::f64, 2, 1, 5,
1688 OPC_MorphNodeTo0, TARGET_VAL(PPC::XFSTOREf64), 0|OPFL_Chain|OPFL_MemRefs,
1689 3, 6, 3, 4,
1690 37|128,9,
1691 OPC_RecordChild1,
1692 OPC_Scope, 66|128,2,
1693 OPC_CheckChild1TypeI32,
1694 OPC_Scope, 66,
1695 OPC_MoveChild2,
1696 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
1697 OPC_RecordChild0,
1698 OPC_MoveParent,
1699 OPC_CheckPredicate1,
1700 OPC_Scope, 39,
1701 OPC_CheckPredicate7,
1702 OPC_Scope, 17,
1703 OPC_CheckPredicate, 14,
1704 OPC_CheckPatternPredicate, 19,
1705 OPC_CheckComplexPat2, /*#*/2,
1706 OPC_EmitMergeInputChains1_0,
1707 OPC_EmitInteger32, 0,
1708 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTBpc), 0|OPFL_Chain|OPFL_MemRefs,
1709 3, 1, 3, 5,
1710 17,
1711 OPC_CheckPredicate, 16,
1712 OPC_CheckPatternPredicate, 19,
1713 OPC_CheckComplexPat2, /*#*/2,
1714 OPC_EmitMergeInputChains1_0,
1715 OPC_EmitInteger32, 0,
1716 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTHpc), 0|OPFL_Chain|OPFL_MemRefs,
1717 3, 1, 3, 5,
1718 0,
1719 16,
1720 OPC_CheckPredicate6,
1721 OPC_CheckPatternPredicate, 19,
1722 OPC_CheckComplexPat2, /*#*/2,
1723 OPC_EmitMergeInputChains1_0,
1724 OPC_EmitInteger32, 0,
1725 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTWpc), 0|OPFL_Chain|OPFL_MemRefs,
1726 3, 1, 3, 5,
1727 0,
1728 122|128,1,
1729 OPC_RecordChild2,
1730 OPC_Scope, 16|128,1,
1731 OPC_CheckPredicate1,
1732 OPC_Scope, 31,
1733 OPC_CheckPredicate7,
1734 OPC_Scope, 13,
1735 OPC_CheckPredicate, 14,
1736 OPC_CheckComplexPat5, /*#*/2,
1737 OPC_EmitMergeInputChains1_0,
1738 OPC_MorphNodeTo0, TARGET_VAL(PPC::STB), 0|OPFL_Chain|OPFL_MemRefs,
1739 3, 1, 3, 4,
1740 13,
1741 OPC_CheckPredicate, 16,
1742 OPC_CheckComplexPat5, /*#*/2,
1743 OPC_EmitMergeInputChains1_0,
1744 OPC_MorphNodeTo0, TARGET_VAL(PPC::STH), 0|OPFL_Chain|OPFL_MemRefs,
1745 3, 1, 3, 4,
1746 0,
1747 12,
1748 OPC_CheckPredicate6,
1749 OPC_CheckComplexPat5, /*#*/2,
1750 OPC_EmitMergeInputChains1_0,
1751 OPC_MorphNodeTo0, TARGET_VAL(PPC::STW), 0|OPFL_Chain|OPFL_MemRefs,
1752 3, 1, 3, 4,
1753 31,
1754 OPC_CheckPredicate7,
1755 OPC_Scope, 13,
1756 OPC_CheckPredicate, 14,
1757 OPC_CheckComplexPat1, /*#*/2,
1758 OPC_EmitMergeInputChains1_0,
1759 OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX), 0|OPFL_Chain|OPFL_MemRefs,
1760 3, 1, 3, 4,
1761 13,
1762 OPC_CheckPredicate, 16,
1763 OPC_CheckComplexPat1, /*#*/2,
1764 OPC_EmitMergeInputChains1_0,
1765 OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX), 0|OPFL_Chain|OPFL_MemRefs,
1766 3, 1, 3, 4,
1767 0,
1768 12,
1769 OPC_CheckPredicate6,
1770 OPC_CheckComplexPat1, /*#*/2,
1771 OPC_EmitMergeInputChains1_0,
1772 OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX), 0|OPFL_Chain|OPFL_MemRefs,
1773 3, 1, 3, 4,
1774 35,
1775 OPC_CheckPredicate7,
1776 OPC_Scope, 15,
1777 OPC_CheckPredicate, 14,
1778 OPC_CheckPatternPredicate, 22,
1779 OPC_CheckComplexPat3, /*#*/2,
1780 OPC_EmitMergeInputChains1_0,
1781 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB), 0|OPFL_Chain|OPFL_MemRefs,
1782 3, 1, 3, 4,
1783 15,
1784 OPC_CheckPredicate, 16,
1785 OPC_CheckPatternPredicate, 22,
1786 OPC_CheckComplexPat3, /*#*/2,
1787 OPC_EmitMergeInputChains1_0,
1788 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH), 0|OPFL_Chain|OPFL_MemRefs,
1789 3, 1, 3, 4,
1790 0,
1791 14,
1792 OPC_CheckPredicate6,
1793 OPC_CheckPatternPredicate, 22,
1794 OPC_CheckComplexPat3, /*#*/2,
1795 OPC_EmitMergeInputChains1_0,
1796 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW), 0|OPFL_Chain|OPFL_MemRefs,
1797 3, 1, 3, 4,
1798 0,
1799 100,
1800 OPC_RecordChild3,
1801 OPC_Scope, 35,
1802 OPC_CheckPredicate7,
1803 OPC_CheckPredicate, 21,
1804 OPC_Scope, 14,
1805 OPC_CheckPredicate4,
1806 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1807 OPC_EmitMergeInputChains1_0,
1808 OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU), 0|OPFL_Chain|OPFL_MemRefs,
1809 MVT::iPTR, 3, 1, 4, 2,
1810 14,
1811 OPC_CheckPredicate2,
1812 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1813 OPC_EmitMergeInputChains1_0,
1814 OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU), 0|OPFL_Chain|OPFL_MemRefs,
1815 MVT::iPTR, 3, 1, 4, 2,
1816 0,
1817 16,
1818 OPC_CheckPredicate6,
1819 OPC_CheckPredicate, 21,
1820 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1821 OPC_EmitMergeInputChains1_0,
1822 OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU), 0|OPFL_Chain|OPFL_MemRefs,
1823 MVT::iPTR, 3, 1, 4, 2,
1824 29,
1825 OPC_CheckPredicate7,
1826 OPC_CheckPredicate, 21,
1827 OPC_Scope, 11,
1828 OPC_CheckPredicate4,
1829 OPC_EmitMergeInputChains1_0,
1830 OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX), 0|OPFL_Chain|OPFL_MemRefs,
1831 MVT::iPTR, 3, 1, 2, 3,
1832 11,
1833 OPC_CheckPredicate2,
1834 OPC_EmitMergeInputChains1_0,
1835 OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX), 0|OPFL_Chain|OPFL_MemRefs,
1836 MVT::iPTR, 3, 1, 2, 3,
1837 0,
1838 13,
1839 OPC_CheckPredicate6,
1840 OPC_CheckPredicate, 21,
1841 OPC_EmitMergeInputChains1_0,
1842 OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX), 0|OPFL_Chain|OPFL_MemRefs,
1843 MVT::iPTR, 3, 1, 2, 3,
1844 0,
1845 0,
1846 0,
1847 30|128,3,
1848 OPC_CheckChild1TypeI64,
1849 OPC_Scope, 84,
1850 OPC_MoveChild2,
1851 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
1852 OPC_RecordChild0,
1853 OPC_MoveParent,
1854 OPC_CheckPredicate1,
1855 OPC_Scope, 57,
1856 OPC_CheckPredicate7,
1857 OPC_Scope, 17,
1858 OPC_CheckPredicate, 14,
1859 OPC_CheckPatternPredicate, 19,
1860 OPC_CheckComplexPat2, /*#*/2,
1861 OPC_EmitMergeInputChains1_0,
1862 OPC_EmitInteger32, 0,
1863 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8pc), 0|OPFL_Chain|OPFL_MemRefs,
1864 3, 1, 3, 5,
1865 17,
1866 OPC_CheckPredicate, 16,
1867 OPC_CheckPatternPredicate, 19,
1868 OPC_CheckComplexPat2, /*#*/2,
1869 OPC_EmitMergeInputChains1_0,
1870 OPC_EmitInteger32, 0,
1871 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8pc), 0|OPFL_Chain|OPFL_MemRefs,
1872 3, 1, 3, 5,
1873 17,
1874 OPC_CheckPredicate, 26,
1875 OPC_CheckPatternPredicate, 19,
1876 OPC_CheckComplexPat2, /*#*/2,
1877 OPC_EmitMergeInputChains1_0,
1878 OPC_EmitInteger32, 0,
1879 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8pc), 0|OPFL_Chain|OPFL_MemRefs,
1880 3, 1, 3, 5,
1881 0,
1882 16,
1883 OPC_CheckPredicate6,
1884 OPC_CheckPatternPredicate, 19,
1885 OPC_CheckComplexPat2, /*#*/2,
1886 OPC_EmitMergeInputChains1_0,
1887 OPC_EmitInteger32, 0,
1888 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTDpc), 0|OPFL_Chain|OPFL_MemRefs,
1889 3, 1, 3, 5,
1890 0,
1891 68|128,2,
1892 OPC_RecordChild2,
1893 OPC_Scope, 58|128,1,
1894 OPC_CheckPredicate1,
1895 OPC_Scope, 87,
1896 OPC_CheckPredicate7,
1897 OPC_Scope, 13,
1898 OPC_CheckPredicate, 14,
1899 OPC_CheckComplexPat5, /*#*/2,
1900 OPC_EmitMergeInputChains1_0,
1901 OPC_MorphNodeTo0, TARGET_VAL(PPC::STB8), 0|OPFL_Chain|OPFL_MemRefs,
1902 3, 1, 3, 4,
1903 13,
1904 OPC_CheckPredicate, 16,
1905 OPC_CheckComplexPat5, /*#*/2,
1906 OPC_EmitMergeInputChains1_0,
1907 OPC_MorphNodeTo0, TARGET_VAL(PPC::STH8), 0|OPFL_Chain|OPFL_MemRefs,
1908 3, 1, 3, 4,
1909 13,
1910 OPC_CheckPredicate, 26,
1911 OPC_CheckComplexPat5, /*#*/2,
1912 OPC_EmitMergeInputChains1_0,
1913 OPC_MorphNodeTo0, TARGET_VAL(PPC::STW8), 0|OPFL_Chain|OPFL_MemRefs,
1914 3, 1, 3, 4,
1915 13,
1916 OPC_CheckPredicate, 14,
1917 OPC_CheckComplexPat1, /*#*/2,
1918 OPC_EmitMergeInputChains1_0,
1919 OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX8), 0|OPFL_Chain|OPFL_MemRefs,
1920 3, 1, 3, 4,
1921 13,
1922 OPC_CheckPredicate, 16,
1923 OPC_CheckComplexPat1, /*#*/2,
1924 OPC_EmitMergeInputChains1_0,
1925 OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX8), 0|OPFL_Chain|OPFL_MemRefs,
1926 3, 1, 3, 4,
1927 13,
1928 OPC_CheckPredicate, 26,
1929 OPC_CheckComplexPat1, /*#*/2,
1930 OPC_EmitMergeInputChains1_0,
1931 OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX8), 0|OPFL_Chain|OPFL_MemRefs,
1932 3, 1, 3, 4,
1933 0,
1934 27,
1935 OPC_CheckPredicate6,
1936 OPC_Scope, 11,
1937 OPC_CheckComplexPat4, /*#*/2,
1938 OPC_EmitMergeInputChains1_0,
1939 OPC_MorphNodeTo0, TARGET_VAL(PPC::STD), 0|OPFL_Chain|OPFL_MemRefs,
1940 3, 1, 3, 4,
1941 11,
1942 OPC_CheckComplexPat1, /*#*/2,
1943 OPC_EmitMergeInputChains1_0,
1944 OPC_MorphNodeTo0, TARGET_VAL(PPC::STDX), 0|OPFL_Chain|OPFL_MemRefs,
1945 3, 1, 3, 4,
1946 0,
1947 51,
1948 OPC_CheckPredicate7,
1949 OPC_Scope, 15,
1950 OPC_CheckPredicate, 14,
1951 OPC_CheckPatternPredicate, 22,
1952 OPC_CheckComplexPat3, /*#*/2,
1953 OPC_EmitMergeInputChains1_0,
1954 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8), 0|OPFL_Chain|OPFL_MemRefs,
1955 3, 1, 3, 4,
1956 15,
1957 OPC_CheckPredicate, 16,
1958 OPC_CheckPatternPredicate, 22,
1959 OPC_CheckComplexPat3, /*#*/2,
1960 OPC_EmitMergeInputChains1_0,
1961 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8), 0|OPFL_Chain|OPFL_MemRefs,
1962 3, 1, 3, 4,
1963 15,
1964 OPC_CheckPredicate, 26,
1965 OPC_CheckPatternPredicate, 22,
1966 OPC_CheckComplexPat3, /*#*/2,
1967 OPC_EmitMergeInputChains1_0,
1968 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8), 0|OPFL_Chain|OPFL_MemRefs,
1969 3, 1, 3, 4,
1970 0,
1971 14,
1972 OPC_CheckPredicate6,
1973 OPC_CheckPatternPredicate, 22,
1974 OPC_CheckComplexPat3, /*#*/2,
1975 OPC_EmitMergeInputChains1_0,
1976 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTD), 0|OPFL_Chain|OPFL_MemRefs,
1977 3, 1, 3, 4,
1978 0,
1979 3|128,1,
1980 OPC_RecordChild3,
1981 OPC_Scope, 51,
1982 OPC_CheckPredicate7,
1983 OPC_CheckPredicate, 21,
1984 OPC_Scope, 14,
1985 OPC_CheckPredicate4,
1986 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1987 OPC_EmitMergeInputChains1_0,
1988 OPC_MorphNodeTo1, TARGET_VAL(PPC::STBU8), 0|OPFL_Chain|OPFL_MemRefs,
1989 MVT::iPTR, 3, 1, 4, 2,
1990 14,
1991 OPC_CheckPredicate2,
1992 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1993 OPC_EmitMergeInputChains1_0,
1994 OPC_MorphNodeTo1, TARGET_VAL(PPC::STHU8), 0|OPFL_Chain|OPFL_MemRefs,
1995 MVT::iPTR, 3, 1, 4, 2,
1996 15,
1997 OPC_CheckPredicate, 8,
1998 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
1999 OPC_EmitMergeInputChains1_0,
2000 OPC_MorphNodeTo1, TARGET_VAL(PPC::STWU8), 0|OPFL_Chain|OPFL_MemRefs,
2001 MVT::iPTR, 3, 1, 4, 2,
2002 0,
2003 18,
2004 OPC_CheckPredicate6,
2005 OPC_CheckPredicate, 21,
2006 OPC_CheckPredicate, 37,
2007 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
2008 OPC_EmitMergeInputChains1_0,
2009 OPC_MorphNodeTo1, TARGET_VAL(PPC::STDU), 0|OPFL_Chain|OPFL_MemRefs,
2010 MVT::iPTR, 3, 1, 4, 2,
2011 42,
2012 OPC_CheckPredicate7,
2013 OPC_CheckPredicate, 21,
2014 OPC_Scope, 11,
2015 OPC_CheckPredicate4,
2016 OPC_EmitMergeInputChains1_0,
2017 OPC_MorphNodeTo1, TARGET_VAL(PPC::STBUX8), 0|OPFL_Chain|OPFL_MemRefs,
2018 MVT::iPTR, 3, 1, 2, 3,
2019 11,
2020 OPC_CheckPredicate2,
2021 OPC_EmitMergeInputChains1_0,
2022 OPC_MorphNodeTo1, TARGET_VAL(PPC::STHUX8), 0|OPFL_Chain|OPFL_MemRefs,
2023 MVT::iPTR, 3, 1, 2, 3,
2024 12,
2025 OPC_CheckPredicate, 8,
2026 OPC_EmitMergeInputChains1_0,
2027 OPC_MorphNodeTo1, TARGET_VAL(PPC::STWUX8), 0|OPFL_Chain|OPFL_MemRefs,
2028 MVT::iPTR, 3, 1, 2, 3,
2029 0,
2030 13,
2031 OPC_CheckPredicate6,
2032 OPC_CheckPredicate, 21,
2033 OPC_EmitMergeInputChains1_0,
2034 OPC_MorphNodeTo1, TARGET_VAL(PPC::STDUX), 0|OPFL_Chain|OPFL_MemRefs,
2035 MVT::iPTR, 3, 1, 2, 3,
2036 0,
2037 0,
2038 0,
2039 14|128,1,
2040 OPC_CheckChild1Type, MVT::f32,
2041 OPC_Scope, 23,
2042 OPC_MoveChild2,
2043 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2044 OPC_RecordChild0,
2045 OPC_MoveParent,
2046 OPC_CheckPredicate1,
2047 OPC_CheckPredicate6,
2048 OPC_CheckPatternPredicate, 47,
2049 OPC_CheckComplexPat2, /*#*/2,
2050 OPC_EmitMergeInputChains1_0,
2051 OPC_EmitInteger32, 0,
2052 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFSpc), 0|OPFL_Chain|OPFL_MemRefs,
2053 3, 1, 3, 5,
2054 113,
2055 OPC_RecordChild2,
2056 OPC_Scope, 76,
2057 OPC_CheckPredicate1,
2058 OPC_CheckPredicate6,
2059 OPC_Scope, 27,
2060 OPC_CheckPatternPredicate0,
2061 OPC_Scope, 11,
2062 OPC_CheckComplexPat5, /*#*/2,
2063 OPC_EmitMergeInputChains1_0,
2064 OPC_MorphNodeTo0, TARGET_VAL(PPC::STFS), 0|OPFL_Chain|OPFL_MemRefs,
2065 3, 1, 3, 4,
2066 11,
2067 OPC_CheckComplexPat1, /*#*/2,
2068 OPC_EmitMergeInputChains1_0,
2069 OPC_MorphNodeTo0, TARGET_VAL(PPC::STFSX), 0|OPFL_Chain|OPFL_MemRefs,
2070 3, 1, 3, 4,
2071 0,
2072 29,
2073 OPC_CheckPatternPredicate5,
2074 OPC_Scope, 12,
2075 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2076 OPC_EmitMergeInputChains1_0,
2077 OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTW), 0|OPFL_Chain|OPFL_MemRefs,
2078 3, 1, 3, 4,
2079 12,
2080 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
2081 OPC_EmitMergeInputChains1_0,
2082 OPC_MorphNodeTo0, TARGET_VAL(PPC::SPESTWX), 0|OPFL_Chain|OPFL_MemRefs,
2083 3, 1, 3, 4,
2084 0,
2085 13,
2086 OPC_CheckPatternPredicate, 48,
2087 OPC_CheckComplexPat3, /*#*/2,
2088 OPC_EmitMergeInputChains1_0,
2089 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFS), 0|OPFL_Chain|OPFL_MemRefs,
2090 3, 1, 3, 4,
2091 0,
2092 32,
2093 OPC_RecordChild3,
2094 OPC_CheckPredicate6,
2095 OPC_CheckPredicate, 21,
2096 OPC_Scope, 13,
2097 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
2098 OPC_EmitMergeInputChains1_0,
2099 OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSU), 0|OPFL_Chain|OPFL_MemRefs,
2100 MVT::iPTR, 3, 1, 4, 2,
2101 11,
2102 OPC_CheckPatternPredicate0,
2103 OPC_EmitMergeInputChains1_0,
2104 OPC_MorphNodeTo1, TARGET_VAL(PPC::STFSUX), 0|OPFL_Chain|OPFL_MemRefs,
2105 MVT::iPTR, 3, 1, 2, 3,
2106 0,
2107 0,
2108 0,
2109 14|128,1,
2110 OPC_CheckChild1Type, MVT::f64,
2111 OPC_Scope, 23,
2112 OPC_MoveChild2,
2113 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2114 OPC_RecordChild0,
2115 OPC_MoveParent,
2116 OPC_CheckPredicate1,
2117 OPC_CheckPredicate6,
2118 OPC_CheckPatternPredicate, 47,
2119 OPC_CheckComplexPat2, /*#*/2,
2120 OPC_EmitMergeInputChains1_0,
2121 OPC_EmitInteger32, 0,
2122 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFDpc), 0|OPFL_Chain|OPFL_MemRefs,
2123 3, 1, 3, 5,
2124 113,
2125 OPC_RecordChild2,
2126 OPC_Scope, 76,
2127 OPC_CheckPredicate1,
2128 OPC_CheckPredicate6,
2129 OPC_Scope, 27,
2130 OPC_CheckPatternPredicate0,
2131 OPC_Scope, 11,
2132 OPC_CheckComplexPat5, /*#*/2,
2133 OPC_EmitMergeInputChains1_0,
2134 OPC_MorphNodeTo0, TARGET_VAL(PPC::STFD), 0|OPFL_Chain|OPFL_MemRefs,
2135 3, 1, 3, 4,
2136 11,
2137 OPC_CheckComplexPat1, /*#*/2,
2138 OPC_EmitMergeInputChains1_0,
2139 OPC_MorphNodeTo0, TARGET_VAL(PPC::STFDX), 0|OPFL_Chain|OPFL_MemRefs,
2140 3, 1, 3, 4,
2141 0,
2142 29,
2143 OPC_CheckPatternPredicate5,
2144 OPC_Scope, 12,
2145 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
2146 OPC_EmitMergeInputChains1_0,
2147 OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDD), 0|OPFL_Chain|OPFL_MemRefs,
2148 3, 1, 3, 4,
2149 12,
2150 OPC_CheckComplexPat, /*CP*/11, /*#*/2,
2151 OPC_EmitMergeInputChains1_0,
2152 OPC_MorphNodeTo0, TARGET_VAL(PPC::EVSTDDX), 0|OPFL_Chain|OPFL_MemRefs,
2153 3, 1, 3, 4,
2154 0,
2155 13,
2156 OPC_CheckPatternPredicate, 48,
2157 OPC_CheckComplexPat3, /*#*/2,
2158 OPC_EmitMergeInputChains1_0,
2159 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTFD), 0|OPFL_Chain|OPFL_MemRefs,
2160 3, 1, 3, 4,
2161 0,
2162 32,
2163 OPC_RecordChild3,
2164 OPC_CheckPredicate6,
2165 OPC_CheckPredicate, 21,
2166 OPC_Scope, 13,
2167 OPC_CheckComplexPat, /*CP*/9, /*#*/3,
2168 OPC_EmitMergeInputChains1_0,
2169 OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDU), 0|OPFL_Chain|OPFL_MemRefs,
2170 MVT::iPTR, 3, 1, 4, 2,
2171 11,
2172 OPC_CheckPatternPredicate0,
2173 OPC_EmitMergeInputChains1_0,
2174 OPC_MorphNodeTo1, TARGET_VAL(PPC::STFDUX), 0|OPFL_Chain|OPFL_MemRefs,
2175 MVT::iPTR, 3, 1, 2, 3,
2176 0,
2177 0,
2178 0,
2179 44,
2180 OPC_CheckChild1Type, MVT::v4i32,
2181 OPC_Scope, 23,
2182 OPC_MoveChild2,
2183 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2184 OPC_RecordChild0,
2185 OPC_MoveParent,
2186 OPC_CheckPredicate1,
2187 OPC_CheckPredicate6,
2188 OPC_CheckPatternPredicate, 34,
2189 OPC_CheckComplexPat2, /*#*/2,
2190 OPC_EmitMergeInputChains1_0,
2191 OPC_EmitInteger32, 0,
2192 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
2193 3, 1, 3, 5,
2194 15,
2195 OPC_RecordChild2,
2196 OPC_CheckPredicate1,
2197 OPC_CheckPredicate6,
2198 OPC_CheckPatternPredicate3,
2199 OPC_CheckComplexPat0, /*#*/2,
2200 OPC_EmitMergeInputChains1_0,
2201 OPC_MorphNodeTo0, TARGET_VAL(PPC::STVX), 0|OPFL_Chain|OPFL_MemRefs,
2202 3, 1, 3, 4,
2203 0,
2204 25,
2205 OPC_CheckChild1Type, MVT::v2i64,
2206 OPC_MoveChild2,
2207 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2208 OPC_RecordChild0,
2209 OPC_MoveParent,
2210 OPC_CheckPredicate1,
2211 OPC_CheckPredicate6,
2212 OPC_CheckPatternPredicate, 34,
2213 OPC_CheckComplexPat2, /*#*/2,
2214 OPC_EmitMergeInputChains1_0,
2215 OPC_EmitInteger32, 0,
2216 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
2217 3, 1, 3, 5,
2218 25,
2219 OPC_CheckChild1Type, MVT::v4f32,
2220 OPC_MoveChild2,
2221 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2222 OPC_RecordChild0,
2223 OPC_MoveParent,
2224 OPC_CheckPredicate1,
2225 OPC_CheckPredicate6,
2226 OPC_CheckPatternPredicate, 34,
2227 OPC_CheckComplexPat2, /*#*/2,
2228 OPC_EmitMergeInputChains1_0,
2229 OPC_EmitInteger32, 0,
2230 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
2231 3, 1, 3, 5,
2232 25,
2233 OPC_CheckChild1Type, MVT::v2f64,
2234 OPC_MoveChild2,
2235 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2236 OPC_RecordChild0,
2237 OPC_MoveParent,
2238 OPC_CheckPredicate1,
2239 OPC_CheckPredicate6,
2240 OPC_CheckPatternPredicate, 34,
2241 OPC_CheckComplexPat2, /*#*/2,
2242 OPC_EmitMergeInputChains1_0,
2243 OPC_EmitInteger32, 0,
2244 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
2245 3, 1, 3, 5,
2246 34,
2247 OPC_CheckChild1Type, MVT::f128,
2248 OPC_MoveChild2,
2249 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
2250 OPC_RecordChild0,
2251 OPC_MoveParent,
2252 OPC_CheckPredicate1,
2253 OPC_CheckPredicate6,
2254 OPC_CheckPatternPredicate, 34,
2255 OPC_CheckComplexPat2, /*#*/2,
2256 OPC_EmitMergeInputChains1_0,
2257 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
2258 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
2259 MVT::v4i32, 2, 1, 5,
2260 OPC_EmitInteger32, 0,
2261 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTXVpc), 0|OPFL_Chain|OPFL_MemRefs,
2262 3, 6, 3, 7,
2263 0,
2264 0,
2265 33, TARGET_VAL(PPCISD::STXSIX),
2266 OPC_RecordNode,
2267 OPC_RecordChild1,
2268 OPC_RecordChild2,
2269 OPC_Scope, 13,
2270 OPC_CheckChild3Integer, 2,
2271 OPC_CheckPatternPredicate7,
2272 OPC_CheckComplexPat0, /*#*/2,
2273 OPC_EmitMergeInputChains1_0,
2274 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIBX),
2275 3, 1, 3, 4,
2276 13,
2277 OPC_CheckChild3Integer, 4,
2278 OPC_CheckPatternPredicate7,
2279 OPC_CheckComplexPat0, /*#*/2,
2280 OPC_EmitMergeInputChains1_0,
2281 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIHX),
2282 3, 1, 3, 4,
2283 0,
2284 64|128,10, TARGET_VAL(ISD::INTRINSIC_VOID),
2285 OPC_RecordNode,
2286 OPC_Scope, 17,
2287 OPC_CheckChild1Integer, 36|128,29|128,1,
2288 OPC_RecordChild2,
2289 OPC_RecordChild3,
2290 OPC_CheckPatternPredicate2,
2291 OPC_CheckComplexPat0, /*#*/2,
2292 OPC_EmitMergeInputChains1_0,
2293 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
2294 3, 1, 3, 4,
2295 17,
2296 OPC_CheckChild1Integer, 46|128,29|128,1,
2297 OPC_RecordChild2,
2298 OPC_RecordChild3,
2299 OPC_CheckPatternPredicate2,
2300 OPC_CheckComplexPat0, /*#*/2,
2301 OPC_EmitMergeInputChains1_0,
2302 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
2303 3, 1, 3, 4,
2304 47,
2305 OPC_CheckChild1Integer, 34|128,29|128,1,
2306 OPC_RecordChild2,
2307 OPC_RecordChild3,
2308 OPC_Scope, 12,
2309 OPC_CheckPatternPredicate, 55,
2310 OPC_CheckComplexPat0, /*#*/2,
2311 OPC_EmitMergeInputChains1_0,
2312 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
2313 3, 1, 3, 4,
2314 25,
2315 OPC_CheckPatternPredicate7,
2316 OPC_Scope, 10,
2317 OPC_CheckComplexPat7, /*#*/2,
2318 OPC_EmitMergeInputChains1_0,
2319 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXV),
2320 3, 1, 3, 4,
2321 10,
2322 OPC_CheckComplexPat1, /*#*/2,
2323 OPC_EmitMergeInputChains1_0,
2324 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVX),
2325 3, 1, 3, 4,
2326 0,
2327 0,
2328 47,
2329 OPC_CheckChild1Integer, 44|128,29|128,1,
2330 OPC_RecordChild2,
2331 OPC_RecordChild3,
2332 OPC_Scope, 12,
2333 OPC_CheckPatternPredicate, 42,
2334 OPC_CheckComplexPat0, /*#*/2,
2335 OPC_EmitMergeInputChains1_0,
2336 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
2337 3, 1, 3, 4,
2338 25,
2339 OPC_CheckPatternPredicate7,
2340 OPC_Scope, 10,
2341 OPC_CheckComplexPat7, /*#*/2,
2342 OPC_EmitMergeInputChains1_0,
2343 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXV),
2344 3, 1, 3, 4,
2345 10,
2346 OPC_CheckComplexPat1, /*#*/2,
2347 OPC_EmitMergeInputChains1_0,
2348 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVX),
2349 3, 1, 3, 4,
2350 0,
2351 0,
2352 32,
2353 OPC_CheckChild1Integer, 84|128,28|128,1,
2354 OPC_RecordChild2,
2355 OPC_RecordChild3,
2356 OPC_Scope, 12,
2357 OPC_CheckPatternPredicate, 11,
2358 OPC_CheckComplexPat0, /*#*/1,
2359 OPC_EmitMergeInputChains1_0,
2360 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIWX),
2361 3, 2, 3, 4,
2362 10,
2363 OPC_CheckComplexPat0, /*#*/1,
2364 OPC_EmitMergeInputChains1_0,
2365 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STFIWX),
2366 3, 2, 3, 4,
2367 0,
2368 19,
2369 OPC_CheckChild1Integer, 38|128,29|128,1,
2370 OPC_RecordChild2,
2371 OPC_RecordChild3,
2372 OPC_RecordChild4,
2373 OPC_CheckPatternPredicate7,
2374 OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2375 OPC_EmitMergeInputChains1_0,
2376 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVL),
2377 3, 1, 4, 3,
2378 19,
2379 OPC_CheckChild1Integer, 40|128,29|128,1,
2380 OPC_RecordChild2,
2381 OPC_RecordChild3,
2382 OPC_RecordChild4,
2383 OPC_CheckPatternPredicate7,
2384 OPC_CheckComplexPat, /*CP*/10, /*#*/2,
2385 OPC_EmitMergeInputChains1_0,
2386 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVLL),
2387 3, 1, 4, 3,
2388 14,
2389 OPC_CheckChild1Integer, 2|128,26|128,1,
2390 OPC_RecordChild2,
2391 OPC_CheckComplexPat6, /*#*/1,
2392 OPC_EmitMergeInputChains1_0,
2393 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBA),
2394 2, 2, 3,
2395 14,
2396 OPC_CheckChild1Integer, 12|128,26|128,1,
2397 OPC_RecordChild2,
2398 OPC_CheckComplexPat6, /*#*/1,
2399 OPC_EmitMergeInputChains1_0,
2400 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBI),
2401 2, 2, 3,
2402 14,
2403 OPC_CheckChild1Integer, 14|128,26|128,1,
2404 OPC_RecordChild2,
2405 OPC_CheckComplexPat6, /*#*/1,
2406 OPC_EmitMergeInputChains1_0,
2407 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBST),
2408 2, 2, 3,
2409 14,
2410 OPC_CheckChild1Integer, 30|128,26|128,1,
2411 OPC_RecordChild2,
2412 OPC_CheckComplexPat6, /*#*/1,
2413 OPC_EmitMergeInputChains1_0,
2414 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBZ),
2415 2, 2, 3,
2416 14,
2417 OPC_CheckChild1Integer, 32|128,26|128,1,
2418 OPC_RecordChild2,
2419 OPC_CheckComplexPat6, /*#*/1,
2420 OPC_EmitMergeInputChains1_0,
2421 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBZL),
2422 2, 2, 3,
2423 17,
2424 OPC_CheckChild1Integer, 18|128,26|128,1,
2425 OPC_RecordChild2,
2426 OPC_CheckComplexPat6, /*#*/1,
2427 OPC_EmitMergeInputChains1_0,
2428 OPC_EmitInteger32, 0,
2429 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
2430 3, 4, 2, 3,
2431 17,
2432 OPC_CheckChild1Integer, 22|128,26|128,1,
2433 OPC_RecordChild2,
2434 OPC_CheckComplexPat6, /*#*/1,
2435 OPC_EmitMergeInputChains1_0,
2436 OPC_EmitInteger32, 0,
2437 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
2438 3, 4, 2, 3,
2439 17,
2440 OPC_CheckChild1Integer, 4|128,26|128,1,
2441 OPC_RecordChild2,
2442 OPC_CheckComplexPat6, /*#*/1,
2443 OPC_EmitMergeInputChains1_0,
2444 OPC_EmitInteger32, 0,
2445 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
2446 3, 4, 2, 3,
2447 17,
2448 OPC_CheckChild1Integer, 106|128,26|128,1,
2449 OPC_RecordChild2,
2450 OPC_CheckComplexPat6, /*#*/1,
2451 OPC_EmitMergeInputChains1_0,
2452 OPC_EmitInteger32, 0,
2453 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::ICBT),
2454 3, 4, 2, 3,
2455 16,
2456 OPC_CheckChild1Integer, 20|128,26|128,1,
2457 OPC_RecordChild2,
2458 OPC_RecordChild3,
2459 OPC_CheckComplexPat6, /*#*/1,
2460 OPC_EmitMergeInputChains1_0,
2461 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
2462 3, 2, 3, 4,
2463 16,
2464 OPC_CheckChild1Integer, 24|128,26|128,1,
2465 OPC_RecordChild2,
2466 OPC_RecordChild3,
2467 OPC_CheckComplexPat6, /*#*/1,
2468 OPC_EmitMergeInputChains1_0,
2469 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
2470 3, 2, 3, 4,
2471 17,
2472 OPC_CheckChild1Integer, 34|128,21|128,1,
2473 OPC_RecordChild2,
2474 OPC_RecordChild3,
2475 OPC_CheckPatternPredicate3,
2476 OPC_CheckComplexPat0, /*#*/2,
2477 OPC_EmitMergeInputChains1_0,
2478 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEBX),
2479 3, 1, 3, 4,
2480 17,
2481 OPC_CheckChild1Integer, 36|128,21|128,1,
2482 OPC_RecordChild2,
2483 OPC_RecordChild3,
2484 OPC_CheckPatternPredicate3,
2485 OPC_CheckComplexPat0, /*#*/2,
2486 OPC_EmitMergeInputChains1_0,
2487 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEHX),
2488 3, 1, 3, 4,
2489 17,
2490 OPC_CheckChild1Integer, 38|128,21|128,1,
2491 OPC_RecordChild2,
2492 OPC_RecordChild3,
2493 OPC_CheckPatternPredicate3,
2494 OPC_CheckComplexPat0, /*#*/2,
2495 OPC_EmitMergeInputChains1_0,
2496 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVEWX),
2497 3, 1, 3, 4,
2498 17,
2499 OPC_CheckChild1Integer, 40|128,21|128,1,
2500 OPC_RecordChild2,
2501 OPC_RecordChild3,
2502 OPC_CheckPatternPredicate3,
2503 OPC_CheckComplexPat0, /*#*/2,
2504 OPC_EmitMergeInputChains1_0,
2505 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVX),
2506 3, 1, 3, 4,
2507 17,
2508 OPC_CheckChild1Integer, 42|128,21|128,1,
2509 OPC_RecordChild2,
2510 OPC_RecordChild3,
2511 OPC_CheckPatternPredicate3,
2512 OPC_CheckComplexPat0, /*#*/2,
2513 OPC_EmitMergeInputChains1_0,
2514 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STVXL),
2515 3, 1, 3, 4,
2516 18,
2517 OPC_CheckChild1Integer, 92|128,28|128,1,
2518 OPC_RecordChild2,
2519 OPC_RecordChild3,
2520 OPC_CheckPatternPredicate, 35,
2521 OPC_CheckComplexPat0, /*#*/2,
2522 OPC_EmitMergeInputChains1_0,
2523 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STDBRX),
2524 3, 1, 3, 4,
2525 48,
2526 OPC_CheckChild1Integer, 42|128,29|128,1,
2527 OPC_RecordChild2,
2528 OPC_RecordChild3,
2529 OPC_Scope, 26,
2530 OPC_CheckPatternPredicate, 49,
2531 OPC_Scope, 10,
2532 OPC_CheckComplexPat7, /*#*/2,
2533 OPC_EmitMergeInputChains1_0,
2534 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVP),
2535 3, 1, 3, 4,
2536 10,
2537 OPC_CheckComplexPat1, /*#*/2,
2538 OPC_EmitMergeInputChains1_0,
2539 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVPX),
2540 3, 1, 3, 4,
2541 0,
2542 12,
2543 OPC_CheckPatternPredicate, 64,
2544 OPC_CheckComplexPat3, /*#*/2,
2545 OPC_EmitMergeInputChains1_0,
2546 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXVP),
2547 3, 1, 3, 4,
2548 0,
2549 17,
2550 OPC_CheckChild1Integer, 6|128,26|128,1,
2551 OPC_RecordChild2,
2552 OPC_CheckComplexPat6, /*#*/1,
2553 OPC_EmitMergeInputChains1_0,
2554 OPC_EmitInteger32, 2,
2555 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
2556 3, 4, 2, 3,
2557 17,
2558 OPC_CheckChild1Integer, 8|128,26|128,1,
2559 OPC_RecordChild2,
2560 OPC_CheckComplexPat6, /*#*/1,
2561 OPC_EmitMergeInputChains1_0,
2562 OPC_EmitInteger32, 6,
2563 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
2564 3, 4, 2, 3,
2565 18,
2566 OPC_CheckChild1Integer, 10|128,26|128,1,
2567 OPC_RecordChild2,
2568 OPC_CheckPatternPredicate4,
2569 OPC_CheckComplexPat6, /*#*/1,
2570 OPC_EmitMergeInputChains1_0,
2571 OPC_EmitInteger32, 8,
2572 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
2573 3, 4, 2, 3,
2574 18,
2575 OPC_CheckChild1Integer, 16|128,26|128,1,
2576 OPC_RecordChild2,
2577 OPC_CheckPatternPredicate4,
2578 OPC_CheckComplexPat6, /*#*/1,
2579 OPC_EmitMergeInputChains1_0,
2580 OPC_EmitInteger32, 12,
2581 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBF),
2582 3, 4, 2, 3,
2583 16,
2584 OPC_CheckChild1Integer, 88|128,28|128,1,
2585 OPC_RecordChild2,
2586 OPC_RecordChild3,
2587 OPC_CheckComplexPat0, /*#*/2,
2588 OPC_EmitMergeInputChains1_0,
2589 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STHBRX),
2590 3, 1, 3, 4,
2591 16,
2592 OPC_CheckChild1Integer, 90|128,28|128,1,
2593 OPC_RecordChild2,
2594 OPC_RecordChild3,
2595 OPC_CheckComplexPat0, /*#*/2,
2596 OPC_EmitMergeInputChains1_0,
2597 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STWBRX),
2598 3, 1, 3, 4,
2599 17,
2600 OPC_CheckChild1Integer, 26|128,26|128,1,
2601 OPC_RecordChild2,
2602 OPC_CheckComplexPat0, /*#*/1,
2603 OPC_EmitMergeInputChains1_0,
2604 OPC_EmitInteger32, 32,
2605 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBTST),
2606 3, 4, 2, 3,
2607 17,
2608 OPC_CheckChild1Integer, 28|128,26|128,1,
2609 OPC_RecordChild2,
2610 OPC_CheckComplexPat0, /*#*/1,
2611 OPC_EmitMergeInputChains1_0,
2612 OPC_EmitInteger32, 32,
2613 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DCBT),
2614 3, 4, 2, 3,
2615 45,
2616 OPC_CheckChild1Integer, 70|128,25|128,1,
2617 OPC_RecordChild2,
2618 OPC_RecordChild3,
2619 OPC_RecordChild4,
2620 OPC_Scope, 17,
2621 OPC_CheckComplexPat4, /*#*/3,
2622 OPC_EmitMergeInputChains1_0,
2623 OPC_EmitNode1Chain, TARGET_VAL(PPC::BUILD_QUADWORD),
2624 MVT::i128, 2, 1, 2,
2625 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STQ),
2626 3, 6, 4, 5,
2627 17,
2628 OPC_CheckComplexPat0, /*#*/3,
2629 OPC_EmitMergeInputChains1_0,
2630 OPC_EmitNode1Chain, TARGET_VAL(PPC::BUILD_QUADWORD),
2631 MVT::i128, 2, 1, 2,
2632 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STQX_PSEUDO),
2633 3, 6, 4, 5,
2634 0,
2635 23,
2636 OPC_CheckChild1Integer, 28|128,28|128,1,
2637 OPC_RecordChild2,
2638 OPC_MoveChild2,
2639 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2640 OPC_MoveSibling3,
2641 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2642 OPC_RecordNode,
2643 OPC_MoveParent,
2644 OPC_CheckPatternPredicate0,
2645 OPC_EmitMergeInputChains1_0,
2646 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSFIb),
2647 2, 1, 2,
2648 17,
2649 OPC_CheckChild1Integer, 22|128,28|128,1,
2650 OPC_RecordChild2,
2651 OPC_MoveChild2,
2652 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2653 OPC_MoveParent,
2654 OPC_CheckPatternPredicate0,
2655 OPC_EmitMergeInputChains1_0,
2656 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSB0),
2657 1, 1,
2658 17,
2659 OPC_CheckChild1Integer, 24|128,28|128,1,
2660 OPC_RecordChild2,
2661 OPC_MoveChild2,
2662 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2663 OPC_MoveParent,
2664 OPC_CheckPatternPredicate0,
2665 OPC_EmitMergeInputChains1_0,
2666 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSB1),
2667 1, 1,
2668 19,
2669 OPC_CheckChild1Integer, 26|128,28|128,1,
2670 OPC_RecordChild2,
2671 OPC_MoveChild2,
2672 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2673 OPC_MoveParent,
2674 OPC_RecordChild3,
2675 OPC_CheckPatternPredicate0,
2676 OPC_EmitMergeInputChains1_0,
2677 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTFSFb),
2678 2, 1, 2,
2679 18,
2680 OPC_CheckChild1Integer, 122|128,20|128,1,
2681 OPC_RecordChild2,
2682 OPC_MoveChild2,
2683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2684 OPC_MoveParent,
2685 OPC_CheckPatternPredicate3,
2686 OPC_EmitMergeInputChains1_0,
2687 OPC_EmitConvertToTarget1,
2688 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSS),
2689 1, 2,
2690 45,
2691 OPC_CheckChild1Integer, 126|128,20|128,1,
2692 OPC_RecordChild2,
2693 OPC_Scope, 18,
2694 OPC_CheckChild2TypeI32,
2695 OPC_RecordChild3,
2696 OPC_RecordChild4,
2697 OPC_MoveChild4,
2698 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2699 OPC_MoveParent,
2700 OPC_CheckPatternPredicate3,
2701 OPC_EmitMergeInputChains1_0,
2702 OPC_EmitConvertToTarget3,
2703 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DST),
2704 3, 4, 1, 2,
2705 18,
2706 OPC_CheckChild2TypeI64,
2707 OPC_RecordChild3,
2708 OPC_RecordChild4,
2709 OPC_MoveChild4,
2710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2711 OPC_MoveParent,
2712 OPC_CheckPatternPredicate3,
2713 OPC_EmitMergeInputChains1_0,
2714 OPC_EmitConvertToTarget3,
2715 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DST64),
2716 3, 4, 1, 2,
2717 0,
2718 45,
2719 OPC_CheckChild1Integer, 4|128,21|128,1,
2720 OPC_RecordChild2,
2721 OPC_Scope, 18,
2722 OPC_CheckChild2TypeI32,
2723 OPC_RecordChild3,
2724 OPC_RecordChild4,
2725 OPC_MoveChild4,
2726 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2727 OPC_MoveParent,
2728 OPC_CheckPatternPredicate3,
2729 OPC_EmitMergeInputChains1_0,
2730 OPC_EmitConvertToTarget3,
2731 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTT),
2732 3, 4, 1, 2,
2733 18,
2734 OPC_CheckChild2TypeI64,
2735 OPC_RecordChild3,
2736 OPC_RecordChild4,
2737 OPC_MoveChild4,
2738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2739 OPC_MoveParent,
2740 OPC_CheckPatternPredicate3,
2741 OPC_EmitMergeInputChains1_0,
2742 OPC_EmitConvertToTarget3,
2743 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTT64),
2744 3, 4, 1, 2,
2745 0,
2746 45,
2747 OPC_CheckChild1Integer, 0|128,21|128,1,
2748 OPC_RecordChild2,
2749 OPC_Scope, 18,
2750 OPC_CheckChild2TypeI32,
2751 OPC_RecordChild3,
2752 OPC_RecordChild4,
2753 OPC_MoveChild4,
2754 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2755 OPC_MoveParent,
2756 OPC_CheckPatternPredicate3,
2757 OPC_EmitMergeInputChains1_0,
2758 OPC_EmitConvertToTarget3,
2759 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTST),
2760 3, 4, 1, 2,
2761 18,
2762 OPC_CheckChild2TypeI64,
2763 OPC_RecordChild3,
2764 OPC_RecordChild4,
2765 OPC_MoveChild4,
2766 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2767 OPC_MoveParent,
2768 OPC_CheckPatternPredicate3,
2769 OPC_EmitMergeInputChains1_0,
2770 OPC_EmitConvertToTarget3,
2771 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTST64),
2772 3, 4, 1, 2,
2773 0,
2774 45,
2775 OPC_CheckChild1Integer, 2|128,21|128,1,
2776 OPC_RecordChild2,
2777 OPC_Scope, 18,
2778 OPC_CheckChild2TypeI32,
2779 OPC_RecordChild3,
2780 OPC_RecordChild4,
2781 OPC_MoveChild4,
2782 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2783 OPC_MoveParent,
2784 OPC_CheckPatternPredicate3,
2785 OPC_EmitMergeInputChains1_0,
2786 OPC_EmitConvertToTarget3,
2787 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTSTT),
2788 3, 4, 1, 2,
2789 18,
2790 OPC_CheckChild2TypeI64,
2791 OPC_RecordChild3,
2792 OPC_RecordChild4,
2793 OPC_MoveChild4,
2794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2795 OPC_MoveParent,
2796 OPC_CheckPatternPredicate3,
2797 OPC_EmitMergeInputChains1_0,
2798 OPC_EmitConvertToTarget3,
2799 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSTSTT64),
2800 3, 4, 1, 2,
2801 0,
2802 31,
2803 OPC_CheckChild1Integer, 32|128,28|128,1,
2804 OPC_RecordChild2,
2805 OPC_MoveChild2,
2806 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
2807 OPC_MoveParent,
2808 OPC_RecordChild3,
2809 OPC_Scope, 8,
2810 OPC_CheckChild3TypeI64,
2811 OPC_EmitMergeInputChains1_0,
2812 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
2813 2, 1, 2,
2814 8,
2815 OPC_CheckChild3TypeI32,
2816 OPC_EmitMergeInputChains1_0,
2817 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR),
2818 2, 1, 2,
2819 0,
2820 9,
2821 OPC_CheckChild1Integer, 44|128,26|128,1,
2822 OPC_EmitMergeInputChains1_0,
2823 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PseudoEIEIO),
2824 0,
2825 25,
2826 OPC_CheckChild1Integer, 98|128,28|128,1,
2827 OPC_Scope, 10,
2828 OPC_CheckPatternPredicate, 44,
2829 OPC_EmitMergeInputChains1_0,
2830 OPC_EmitInteger32, 0,
2831 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
2832 1, 1,
2833 7,
2834 OPC_CheckPatternPredicate, 51,
2835 OPC_EmitMergeInputChains1_0,
2836 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
2837 0,
2838 0,
2839 25,
2840 OPC_CheckChild1Integer, 114|128,26|128,1,
2841 OPC_Scope, 10,
2842 OPC_CheckPatternPredicate, 44,
2843 OPC_EmitMergeInputChains1_0,
2844 OPC_EmitInteger32, 0,
2845 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
2846 1, 1,
2847 7,
2848 OPC_CheckPatternPredicate, 51,
2849 OPC_EmitMergeInputChains1_0,
2850 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
2851 0,
2852 0,
2853 25,
2854 OPC_CheckChild1Integer, 124|128,26|128,1,
2855 OPC_Scope, 10,
2856 OPC_CheckPatternPredicate, 44,
2857 OPC_EmitMergeInputChains1_0,
2858 OPC_EmitInteger32, 2,
2859 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
2860 1, 1,
2861 7,
2862 OPC_CheckPatternPredicate, 51,
2863 OPC_EmitMergeInputChains1_0,
2864 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
2865 0,
2866 0,
2867 25,
2868 OPC_CheckChild1Integer, 112|128,26|128,1,
2869 OPC_Scope, 10,
2870 OPC_CheckPatternPredicate, 44,
2871 OPC_EmitMergeInputChains1_0,
2872 OPC_EmitInteger32, 2,
2873 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
2874 1, 1,
2875 7,
2876 OPC_CheckPatternPredicate, 51,
2877 OPC_EmitMergeInputChains1_0,
2878 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
2879 0,
2880 0,
2881 9,
2882 OPC_CheckChild1Integer, 110|128,26|128,1,
2883 OPC_EmitMergeInputChains1_0,
2884 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PseudoEIEIO),
2885 0,
2886 24,
2887 OPC_CheckChild1Integer, 114|128,4,
2888 OPC_RecordChild2,
2889 OPC_Scope, 8,
2890 OPC_CheckChild2TypeI32,
2891 OPC_EmitMergeInputChains1_0,
2892 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MTCTRloop),
2893 MVT::i32, 1, 1,
2894 8,
2895 OPC_CheckChild2TypeI64,
2896 OPC_EmitMergeInputChains1_0,
2897 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MTCTR8loop),
2898 MVT::i64, 1, 1,
2899 0,
2900 9,
2901 OPC_CheckChild1Integer, 66|128,26|128,1,
2902 OPC_EmitMergeInputChains1_0,
2903 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::FENCE),
2904 0,
2905 12,
2906 OPC_CheckChild1Integer, 22|128,21|128,1,
2907 OPC_RecordChild2,
2908 OPC_CheckPatternPredicate3,
2909 OPC_EmitMergeInputChains1_0,
2910 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTVSCR),
2911 1, 1,
2912 22,
2913 OPC_CheckChild1Integer, 124|128,20|128,1,
2914 OPC_Scope, 7,
2915 OPC_CheckPatternPredicate, 70,
2916 OPC_EmitMergeInputChains1_0,
2917 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::NOP),
2918 0,
2919 7,
2920 OPC_CheckPatternPredicate, 71,
2921 OPC_EmitMergeInputChains1_0,
2922 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::DSSALL),
2923 0,
2924 0,
2925 17,
2926 OPC_CheckChild1Integer, 64|128,28|128,1,
2927 OPC_RecordChild2,
2928 OPC_CheckPatternPredicate, 29,
2929 OPC_EmitMergeInputChains1_0,
2930 OPC_EmitInteger32, 4|128,2,
2931 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
2932 2, 2, 1,
2933 17,
2934 OPC_CheckChild1Integer, 66|128,28|128,1,
2935 OPC_RecordChild2,
2936 OPC_CheckPatternPredicate, 29,
2937 OPC_EmitMergeInputChains1_0,
2938 OPC_EmitInteger32, 6|128,2,
2939 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
2940 2, 2, 1,
2941 17,
2942 OPC_CheckChild1Integer, 68|128,28|128,1,
2943 OPC_RecordChild2,
2944 OPC_CheckPatternPredicate, 29,
2945 OPC_EmitMergeInputChains1_0,
2946 OPC_EmitInteger32, 0|128,2,
2947 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
2948 2, 2, 1,
2949 17,
2950 OPC_CheckChild1Integer, 70|128,28|128,1,
2951 OPC_RecordChild2,
2952 OPC_CheckPatternPredicate, 29,
2953 OPC_EmitMergeInputChains1_0,
2954 OPC_EmitInteger32, 2|128,2,
2955 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTSPR8),
2956 2, 2, 1,
2957 9,
2958 OPC_CheckChild1Integer, 116|128,26|128,1,
2959 OPC_EmitMergeInputChains1_0,
2960 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::ISYNC),
2961 0,
2962 14,
2963 OPC_CheckChild1Integer, 30|128,28|128,1,
2964 OPC_RecordChild2,
2965 OPC_EmitMergeInputChains1_0,
2966 OPC_EmitInteger32, 0,
2967 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MTMSR),
2968 2, 1, 2,
2969 0,
2970 103|128,2, TARGET_VAL(PPCISD::ST_VSR_SCAL_INT),
2971 OPC_RecordNode,
2972 OPC_RecordChild1,
2973 OPC_Scope, 11|128,1,
2974 OPC_CheckChild1Type, MVT::f64,
2975 OPC_Scope, 111,
2976 OPC_RecordChild2,
2977 OPC_Scope, 25,
2978 OPC_CheckChild3Integer, 8,
2979 OPC_CheckPatternPredicate, 11,
2980 OPC_CheckComplexPat0, /*#*/2,
2981 OPC_EmitMergeInputChains1_0,
2982 OPC_Scope, 7,
2983 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STIWX),
2984 3, 1, 3, 4,
2985 7,
2986 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIWX),
2987 3, 1, 3, 4,
2988 0,
2989 53,
2990 OPC_CheckChild3Integer, 16,
2991 OPC_Scope, 11,
2992 OPC_CheckPatternPredicate7,
2993 OPC_CheckComplexPat4, /*#*/2,
2994 OPC_EmitMergeInputChains1_0,
2995 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSD),
2996 3, 1, 3, 4,
2997 11,
2998 OPC_CheckPatternPredicate1,
2999 OPC_CheckComplexPat3, /*#*/2,
3000 OPC_EmitMergeInputChains1_0,
3001 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXSD),
3002 3, 1, 3, 4,
3003 11,
3004 OPC_CheckPatternPredicate2,
3005 OPC_CheckComplexPat1, /*#*/2,
3006 OPC_EmitMergeInputChains1_0,
3007 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSDX),
3008 3, 1, 3, 4,
3009 12,
3010 OPC_CheckPatternPredicate, 37,
3011 OPC_CheckComplexPat0, /*#*/2,
3012 OPC_EmitMergeInputChains1_0,
3013 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSDX),
3014 3, 1, 3, 4,
3015 0,
3016 13,
3017 OPC_CheckChild3Integer, 4,
3018 OPC_CheckPatternPredicate7,
3019 OPC_CheckComplexPat0, /*#*/2,
3020 OPC_EmitMergeInputChains1_0,
3021 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIHX),
3022 3, 1, 3, 4,
3023 13,
3024 OPC_CheckChild3Integer, 2,
3025 OPC_CheckPatternPredicate7,
3026 OPC_CheckComplexPat0, /*#*/2,
3027 OPC_EmitMergeInputChains1_0,
3028 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIBX),
3029 3, 1, 3, 4,
3030 0,
3031 22,
3032 OPC_MoveChild2,
3033 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
3034 OPC_RecordChild0,
3035 OPC_MoveParent,
3036 OPC_CheckChild3Integer, 16,
3037 OPC_CheckPatternPredicate, 34,
3038 OPC_CheckComplexPat2, /*#*/2,
3039 OPC_EmitMergeInputChains1_0,
3040 OPC_EmitInteger32, 0,
3041 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXSDpc),
3042 3, 1, 3, 5,
3043 0,
3044 84|128,1,
3045 OPC_CheckChild1Type, MVT::f128,
3046 OPC_Scope, 46|128,1,
3047 OPC_RecordChild2,
3048 OPC_Scope, 34,
3049 OPC_CheckChild3Integer, 8,
3050 OPC_CheckPatternPredicate, 11,
3051 OPC_CheckComplexPat0, /*#*/2,
3052 OPC_EmitMergeInputChains1_0,
3053 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
3054 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3055 MVT::f64, 2, 1, 5,
3056 OPC_Scope, 7,
3057 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STIWX),
3058 3, 6, 3, 4,
3059 7,
3060 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIWX),
3061 3, 6, 3, 4,
3062 0,
3063 89,
3064 OPC_CheckChild3Integer, 16,
3065 OPC_Scope, 20,
3066 OPC_CheckPatternPredicate7,
3067 OPC_CheckComplexPat4, /*#*/2,
3068 OPC_EmitMergeInputChains1_0,
3069 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
3070 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3071 MVT::f64, 2, 1, 5,
3072 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSD),
3073 3, 6, 3, 4,
3074 20,
3075 OPC_CheckPatternPredicate1,
3076 OPC_CheckComplexPat3, /*#*/2,
3077 OPC_EmitMergeInputChains1_0,
3078 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
3079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3080 MVT::f64, 2, 1, 5,
3081 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXSD),
3082 3, 6, 3, 4,
3083 20,
3084 OPC_CheckPatternPredicate2,
3085 OPC_CheckComplexPat1, /*#*/2,
3086 OPC_EmitMergeInputChains1_0,
3087 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
3088 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3089 MVT::f64, 2, 1, 5,
3090 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSDX),
3091 3, 6, 3, 4,
3092 21,
3093 OPC_CheckPatternPredicate, 37,
3094 OPC_CheckComplexPat0, /*#*/2,
3095 OPC_EmitMergeInputChains1_0,
3096 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
3097 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3098 MVT::f64, 2, 1, 5,
3099 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSDX),
3100 3, 6, 3, 4,
3101 0,
3102 22,
3103 OPC_CheckChild3Integer, 4,
3104 OPC_CheckPatternPredicate7,
3105 OPC_CheckComplexPat0, /*#*/2,
3106 OPC_EmitMergeInputChains1_0,
3107 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
3108 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3109 MVT::f64, 2, 1, 5,
3110 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIHX),
3111 3, 6, 3, 4,
3112 22,
3113 OPC_CheckChild3Integer, 2,
3114 OPC_CheckPatternPredicate7,
3115 OPC_CheckComplexPat0, /*#*/2,
3116 OPC_EmitMergeInputChains1_0,
3117 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
3118 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3119 MVT::f64, 2, 1, 5,
3120 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXSIBX),
3121 3, 6, 3, 4,
3122 0,
3123 31,
3124 OPC_MoveChild2,
3125 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
3126 OPC_RecordChild0,
3127 OPC_MoveParent,
3128 OPC_CheckChild3Integer, 16,
3129 OPC_CheckPatternPredicate, 34,
3130 OPC_CheckComplexPat2, /*#*/2,
3131 OPC_EmitMergeInputChains1_0,
3132 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
3133 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3134 MVT::f64, 2, 1, 5,
3135 OPC_EmitInteger32, 0,
3136 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::PSTXSDpc),
3137 3, 6, 3, 7,
3138 0,
3139 0,
3140 30, TARGET_VAL(PPCISD::STFIWX),
3141 OPC_RecordNode,
3142 OPC_RecordChild1,
3143 OPC_RecordChild2,
3144 OPC_Scope, 12,
3145 OPC_CheckPatternPredicate, 11,
3146 OPC_CheckComplexPat0, /*#*/2,
3147 OPC_EmitMergeInputChains1_0,
3148 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STIWX),
3149 3, 1, 3, 4,
3150 11,
3151 OPC_CheckPatternPredicate0,
3152 OPC_CheckComplexPat0, /*#*/2,
3153 OPC_EmitMergeInputChains1_0,
3154 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STFIWX),
3155 3, 1, 3, 4,
3156 0,
3157 116, TARGET_VAL(PPCISD::STORE_VEC_BE),
3158 OPC_RecordNode,
3159 OPC_RecordChild1,
3160 OPC_Scope, 15,
3161 OPC_CheckChild1Type, MVT::v2f64,
3162 OPC_RecordChild2,
3163 OPC_CheckPatternPredicate, 13,
3164 OPC_CheckComplexPat0, /*#*/2,
3165 OPC_EmitMergeInputChains1_0,
3166 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
3167 3, 1, 3, 4,
3168 15,
3169 OPC_CheckChild1Type, MVT::v4f32,
3170 OPC_RecordChild2,
3171 OPC_CheckPatternPredicate, 13,
3172 OPC_CheckComplexPat0, /*#*/2,
3173 OPC_EmitMergeInputChains1_0,
3174 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
3175 3, 1, 3, 4,
3176 15,
3177 OPC_CheckChild1Type, MVT::v2i64,
3178 OPC_RecordChild2,
3179 OPC_CheckPatternPredicate, 13,
3180 OPC_CheckComplexPat0, /*#*/2,
3181 OPC_EmitMergeInputChains1_0,
3182 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
3183 3, 1, 3, 4,
3184 15,
3185 OPC_CheckChild1Type, MVT::v4i32,
3186 OPC_RecordChild2,
3187 OPC_CheckPatternPredicate, 13,
3188 OPC_CheckComplexPat0, /*#*/2,
3189 OPC_EmitMergeInputChains1_0,
3190 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVW4X),
3191 3, 1, 3, 4,
3192 23,
3193 OPC_CheckChild1Type, MVT::v8i16,
3194 OPC_RecordChild2,
3195 OPC_CheckPatternPredicate6,
3196 OPC_CheckComplexPat0, /*#*/2,
3197 OPC_EmitMergeInputChains1_0,
3198 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
3199 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3200 MVT::v4i32, 2, 1, 5,
3201 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVH8X),
3202 3, 6, 3, 4,
3203 23,
3204 OPC_CheckChild1Type, MVT::v16i8,
3205 OPC_RecordChild2,
3206 OPC_CheckPatternPredicate6,
3207 OPC_CheckComplexPat0, /*#*/2,
3208 OPC_EmitMergeInputChains1_0,
3209 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
3210 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
3211 MVT::v4i32, 2, 1, 5,
3212 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVB16X),
3213 3, 6, 3, 4,
3214 0,
3215 15, TARGET_VAL(PPCISD::STXVD2X),
3216 OPC_RecordNode,
3217 OPC_RecordChild1,
3218 OPC_RecordChild2,
3219 OPC_CheckPatternPredicate, 65,
3220 OPC_CheckComplexPat0, /*#*/2,
3221 OPC_EmitMergeInputChains1_0,
3222 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STXVD2X),
3223 3, 1, 3, 4,
3224 93|128,127, TARGET_VAL(ISD::ANY_EXTEND),
3225 OPC_Scope, 117|128,126,
3226 OPC_MoveChild0,
3227 OPC_SwitchOpcode , 56|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3228 OPC_RecordChild0,
3229 OPC_CheckTypeI32,
3230 OPC_Scope, 21|128,3,
3231 OPC_CheckChild0Type, MVT::v8i16,
3232 OPC_Scope, 42,
3233 OPC_CheckChild1Integer, 0,
3234 OPC_MoveParent,
3235 OPC_CheckTypeI64,
3236 OPC_Scope, 17,
3237 OPC_CheckPatternPredicate, 15,
3238 OPC_EmitInteger64, 0,
3239 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3240 MVT::i64, 1, 1,
3241 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3242 MVT::i64, 2, 2, 0,
3243 17,
3244 OPC_CheckPatternPredicate, 16,
3245 OPC_EmitInteger64, 0,
3246 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3247 MVT::i64, 1, 1,
3248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3249 MVT::i64, 2, 2, 0,
3250 0,
3251 42,
3252 OPC_CheckChild1Integer, 2,
3253 OPC_MoveParent,
3254 OPC_CheckTypeI64,
3255 OPC_Scope, 17,
3256 OPC_CheckPatternPredicate, 15,
3257 OPC_EmitInteger64, 4,
3258 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3259 MVT::i64, 1, 1,
3260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3261 MVT::i64, 2, 2, 0,
3262 17,
3263 OPC_CheckPatternPredicate, 16,
3264 OPC_EmitInteger64, 4,
3265 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3266 MVT::i64, 1, 1,
3267 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3268 MVT::i64, 2, 2, 0,
3269 0,
3270 42,
3271 OPC_CheckChild1Integer, 4,
3272 OPC_MoveParent,
3273 OPC_CheckTypeI64,
3274 OPC_Scope, 17,
3275 OPC_CheckPatternPredicate, 15,
3276 OPC_EmitInteger64, 8,
3277 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3278 MVT::i64, 1, 1,
3279 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3280 MVT::i64, 2, 2, 0,
3281 17,
3282 OPC_CheckPatternPredicate, 16,
3283 OPC_EmitInteger64, 8,
3284 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3285 MVT::i64, 1, 1,
3286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3287 MVT::i64, 2, 2, 0,
3288 0,
3289 42,
3290 OPC_CheckChild1Integer, 6,
3291 OPC_MoveParent,
3292 OPC_CheckTypeI64,
3293 OPC_Scope, 17,
3294 OPC_CheckPatternPredicate, 15,
3295 OPC_EmitInteger64, 12,
3296 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3297 MVT::i64, 1, 1,
3298 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3299 MVT::i64, 2, 2, 0,
3300 17,
3301 OPC_CheckPatternPredicate, 16,
3302 OPC_EmitInteger64, 12,
3303 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3304 MVT::i64, 1, 1,
3305 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3306 MVT::i64, 2, 2, 0,
3307 0,
3308 42,
3309 OPC_CheckChild1Integer, 8,
3310 OPC_MoveParent,
3311 OPC_CheckTypeI64,
3312 OPC_Scope, 17,
3313 OPC_CheckPatternPredicate, 15,
3314 OPC_EmitInteger64, 16,
3315 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3316 MVT::i64, 1, 1,
3317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3318 MVT::i64, 2, 2, 0,
3319 17,
3320 OPC_CheckPatternPredicate, 16,
3321 OPC_EmitInteger64, 16,
3322 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3323 MVT::i64, 1, 1,
3324 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3325 MVT::i64, 2, 2, 0,
3326 0,
3327 42,
3328 OPC_CheckChild1Integer, 10,
3329 OPC_MoveParent,
3330 OPC_CheckTypeI64,
3331 OPC_Scope, 17,
3332 OPC_CheckPatternPredicate, 15,
3333 OPC_EmitInteger64, 20,
3334 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3335 MVT::i64, 1, 1,
3336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3337 MVT::i64, 2, 2, 0,
3338 17,
3339 OPC_CheckPatternPredicate, 16,
3340 OPC_EmitInteger64, 20,
3341 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3342 MVT::i64, 1, 1,
3343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3344 MVT::i64, 2, 2, 0,
3345 0,
3346 42,
3347 OPC_CheckChild1Integer, 12,
3348 OPC_MoveParent,
3349 OPC_CheckTypeI64,
3350 OPC_Scope, 17,
3351 OPC_CheckPatternPredicate, 15,
3352 OPC_EmitInteger64, 24,
3353 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3354 MVT::i64, 1, 1,
3355 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3356 MVT::i64, 2, 2, 0,
3357 17,
3358 OPC_CheckPatternPredicate, 16,
3359 OPC_EmitInteger64, 24,
3360 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3361 MVT::i64, 1, 1,
3362 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3363 MVT::i64, 2, 2, 0,
3364 0,
3365 42,
3366 OPC_CheckChild1Integer, 14,
3367 OPC_MoveParent,
3368 OPC_CheckTypeI64,
3369 OPC_Scope, 17,
3370 OPC_CheckPatternPredicate, 15,
3371 OPC_EmitInteger64, 28,
3372 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3373 MVT::i64, 1, 1,
3374 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3375 MVT::i64, 2, 2, 0,
3376 17,
3377 OPC_CheckPatternPredicate, 16,
3378 OPC_EmitInteger64, 28,
3379 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
3380 MVT::i64, 1, 1,
3381 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3382 MVT::i64, 2, 2, 0,
3383 0,
3384 56,
3385 OPC_RecordChild1,
3386 OPC_CheckChild1TypeI64,
3387 OPC_MoveParent,
3388 OPC_CheckTypeI64,
3389 OPC_Scope, 24,
3390 OPC_CheckPatternPredicate, 15,
3391 OPC_EmitInteger32, 2,
3392 OPC_EmitInteger32, 56,
3393 OPC_EmitInteger32, 60,
3394 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
3395 MVT::i64, 4, 1, 2, 3, 4,
3396 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHLX),
3397 MVT::i64, 2, 5, 0,
3398 24,
3399 OPC_CheckPatternPredicate, 16,
3400 OPC_EmitInteger32, 2,
3401 OPC_EmitInteger32, 56,
3402 OPC_EmitInteger32, 60,
3403 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
3404 MVT::i64, 4, 1, 2, 3, 4,
3405 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUHRX),
3406 MVT::i64, 2, 5, 0,
3407 0,
3408 0,
3409 28,
3410 OPC_CheckChild0Type, MVT::v16i8,
3411 OPC_RecordChild1,
3412 OPC_CheckChild1TypeI64,
3413 OPC_MoveParent,
3414 OPC_CheckTypeI64,
3415 OPC_Scope, 9,
3416 OPC_CheckPatternPredicate, 15,
3417 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUBLX),
3418 MVT::i64, 2, 1, 0,
3419 9,
3420 OPC_CheckPatternPredicate, 16,
3421 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUBRX),
3422 MVT::i64, 2, 1, 0,
3423 0,
3424 0,
3425 2|128,82, TARGET_VAL(ISD::SETCC),
3426 OPC_Scope, 0|128,6,
3427 OPC_MoveChild0,
3428 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3429 OPC_Scope, 76,
3430 OPC_RecordChild0,
3431 OPC_MoveChild1,
3432 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3433 OPC_CheckChild0Integer, 2,
3434 OPC_RecordChild1,
3435 OPC_CheckChild1TypeI32,
3436 OPC_MoveParent,
3437 OPC_SwitchType , 30, MVT::i32,
3438 OPC_MoveParent,
3439 OPC_CheckChild1Integer, 0,
3440 OPC_CheckChild2CondCode, ISD::SETNE,
3441 OPC_MoveParent,
3442 OPC_CheckTypeI32,
3443 OPC_EmitInteger32, 64,
3444 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3445 MVT::i32, MVT::i32, 2, 1, 2,
3446 OPC_EmitInteger32, 62,
3447 OPC_EmitInteger32, 62,
3448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
3449 MVT::i32, 4, 0, 3, 5, 6,
3450 30, MVT::i64,
3451 OPC_MoveParent,
3452 OPC_CheckChild1Integer, 0,
3453 OPC_CheckChild2CondCode, ISD::SETNE,
3454 OPC_CheckType, MVT::i1,
3455 OPC_MoveParent,
3456 OPC_CheckTypeI64,
3457 OPC_EmitInteger32, 0|128,1,
3458 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3459 MVT::i32, MVT::i32, 2, 1, 2,
3460 OPC_EmitInteger32, 126,
3461 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
3462 MVT::i64, 3, 0, 3, 5,
3463 0,
3464 76,
3465 OPC_MoveChild0,
3466 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3467 OPC_CheckChild0Integer, 2,
3468 OPC_RecordChild1,
3469 OPC_CheckChild1TypeI32,
3470 OPC_MoveParent,
3471 OPC_RecordChild1,
3472 OPC_SwitchType , 30, MVT::i32,
3473 OPC_MoveParent,
3474 OPC_CheckChild1Integer, 0,
3475 OPC_CheckChild2CondCode, ISD::SETNE,
3476 OPC_MoveParent,
3477 OPC_CheckTypeI32,
3478 OPC_EmitInteger32, 64,
3479 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3480 MVT::i32, MVT::i32, 2, 0, 2,
3481 OPC_EmitInteger32, 62,
3482 OPC_EmitInteger32, 62,
3483 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
3484 MVT::i32, 4, 1, 3, 5, 6,
3485 30, MVT::i64,
3486 OPC_MoveParent,
3487 OPC_CheckChild1Integer, 0,
3488 OPC_CheckChild2CondCode, ISD::SETNE,
3489 OPC_CheckType, MVT::i1,
3490 OPC_MoveParent,
3491 OPC_CheckTypeI64,
3492 OPC_EmitInteger32, 0|128,1,
3493 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3494 MVT::i32, MVT::i32, 2, 0, 2,
3495 OPC_EmitInteger32, 126,
3496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
3497 MVT::i64, 3, 1, 3, 5,
3498 0,
3499 0|128,1,
3500 OPC_RecordChild0,
3501 OPC_MoveChild1,
3502 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3503 OPC_CheckChild0Integer, 2,
3504 OPC_RecordChild1,
3505 OPC_CheckChild1TypeI32,
3506 OPC_MoveParent,
3507 OPC_SwitchType , 75, MVT::i64,
3508 OPC_MoveParent,
3509 OPC_CheckChild1Integer, 0,
3510 OPC_Scope, 34,
3511 OPC_CheckChild2CondCode, ISD::SETNE,
3512 OPC_MoveParent,
3513 OPC_CheckTypeI32,
3514 OPC_EmitInteger32, 0|128,1,
3515 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3516 MVT::i32, MVT::i32, 2, 1, 2,
3517 OPC_EmitInteger32, 126,
3518 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
3519 MVT::i64, 3, 0, 3, 5,
3520 OPC_EmitStringInteger32, PPC::sub_32,
3521 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3522 MVT::i32, 2, 6, 7,
3523 34,
3524 OPC_CheckChild2CondCode, ISD::SETEQ,
3525 OPC_CheckType, MVT::i1,
3526 OPC_MoveParent,
3527 OPC_CheckTypeI64,
3528 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
3529 MVT::i64, 2, 0, 0,
3530 OPC_EmitInteger32, 0|128,1,
3531 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3532 MVT::i32, MVT::i32, 2, 1, 3,
3533 OPC_EmitInteger32, 126,
3534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
3535 MVT::i64, 3, 2, 4, 6,
3536 0,
3537 37, MVT::i32,
3538 OPC_MoveParent,
3539 OPC_CheckChild1Integer, 0,
3540 OPC_CheckChild2CondCode, ISD::SETEQ,
3541 OPC_MoveParent,
3542 OPC_CheckTypeI32,
3543 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3544 MVT::i32, 2, 0, 0,
3545 OPC_EmitInteger32, 64,
3546 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3547 MVT::i32, MVT::i32, 2, 1, 3,
3548 OPC_EmitInteger32, 62,
3549 OPC_EmitInteger32, 62,
3550 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
3551 MVT::i32, 4, 2, 4, 6, 7,
3552 0,
3553 0|128,1,
3554 OPC_MoveChild0,
3555 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3556 OPC_CheckChild0Integer, 2,
3557 OPC_RecordChild1,
3558 OPC_CheckChild1TypeI32,
3559 OPC_MoveParent,
3560 OPC_RecordChild1,
3561 OPC_SwitchType , 75, MVT::i64,
3562 OPC_MoveParent,
3563 OPC_CheckChild1Integer, 0,
3564 OPC_Scope, 34,
3565 OPC_CheckChild2CondCode, ISD::SETNE,
3566 OPC_MoveParent,
3567 OPC_CheckTypeI32,
3568 OPC_EmitInteger32, 0|128,1,
3569 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3570 MVT::i32, MVT::i32, 2, 0, 2,
3571 OPC_EmitInteger32, 126,
3572 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
3573 MVT::i64, 3, 1, 3, 5,
3574 OPC_EmitStringInteger32, PPC::sub_32,
3575 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3576 MVT::i32, 2, 6, 7,
3577 34,
3578 OPC_CheckChild2CondCode, ISD::SETEQ,
3579 OPC_CheckType, MVT::i1,
3580 OPC_MoveParent,
3581 OPC_CheckTypeI64,
3582 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
3583 MVT::i64, 2, 1, 1,
3584 OPC_EmitInteger32, 0|128,1,
3585 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3586 MVT::i32, MVT::i32, 2, 0, 3,
3587 OPC_EmitInteger32, 126,
3588 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
3589 MVT::i64, 3, 2, 4, 6,
3590 0,
3591 37, MVT::i32,
3592 OPC_MoveParent,
3593 OPC_CheckChild1Integer, 0,
3594 OPC_CheckChild2CondCode, ISD::SETEQ,
3595 OPC_MoveParent,
3596 OPC_CheckTypeI32,
3597 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3598 MVT::i32, 2, 1, 1,
3599 OPC_EmitInteger32, 64,
3600 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3601 MVT::i32, MVT::i32, 2, 0, 3,
3602 OPC_EmitInteger32, 62,
3603 OPC_EmitInteger32, 62,
3604 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
3605 MVT::i32, 4, 2, 4, 6, 7,
3606 0,
3607 107,
3608 OPC_RecordChild0,
3609 OPC_MoveChild1,
3610 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3611 OPC_CheckChild0Integer, 2,
3612 OPC_RecordChild1,
3613 OPC_CheckChild1TypeI32,
3614 OPC_MoveParent,
3615 OPC_SwitchType , 47, MVT::i32,
3616 OPC_MoveParent,
3617 OPC_CheckChild1Integer, 0,
3618 OPC_CheckChild2CondCode, ISD::SETNE,
3619 OPC_CheckType, MVT::i1,
3620 OPC_MoveParent,
3621 OPC_CheckTypeI64,
3622 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3623 MVT::i64, 0,
3624 OPC_EmitInteger32, 64,
3625 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3626 MVT::i32, MVT::i32, 2, 1, 3,
3627 OPC_EmitInteger32, 62,
3628 OPC_EmitInteger32, 62,
3629 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
3630 MVT::i32, 4, 0, 4, 6, 7,
3631 OPC_EmitStringInteger32, PPC::sub_32,
3632 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3633 MVT::i64, 3, 2, 8, 9,
3634 44, MVT::i64,
3635 OPC_MoveParent,
3636 OPC_CheckChild1Integer, 0,
3637 OPC_CheckChild2CondCode, ISD::SETEQ,
3638 OPC_MoveParent,
3639 OPC_CheckTypeI32,
3640 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
3641 MVT::i64, 2, 0, 0,
3642 OPC_EmitInteger32, 0|128,1,
3643 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3644 MVT::i32, MVT::i32, 2, 1, 3,
3645 OPC_EmitInteger32, 126,
3646 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
3647 MVT::i64, 3, 2, 4, 6,
3648 OPC_EmitStringInteger32, PPC::sub_32,
3649 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3650 MVT::i32, 2, 7, 8,
3651 0,
3652 107,
3653 OPC_MoveChild0,
3654 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3655 OPC_CheckChild0Integer, 2,
3656 OPC_RecordChild1,
3657 OPC_CheckChild1TypeI32,
3658 OPC_MoveParent,
3659 OPC_RecordChild1,
3660 OPC_SwitchType , 47, MVT::i32,
3661 OPC_MoveParent,
3662 OPC_CheckChild1Integer, 0,
3663 OPC_CheckChild2CondCode, ISD::SETNE,
3664 OPC_CheckType, MVT::i1,
3665 OPC_MoveParent,
3666 OPC_CheckTypeI64,
3667 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3668 MVT::i64, 0,
3669 OPC_EmitInteger32, 64,
3670 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3671 MVT::i32, MVT::i32, 2, 0, 3,
3672 OPC_EmitInteger32, 62,
3673 OPC_EmitInteger32, 62,
3674 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
3675 MVT::i32, 4, 1, 4, 6, 7,
3676 OPC_EmitStringInteger32, PPC::sub_32,
3677 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3678 MVT::i64, 3, 2, 8, 9,
3679 44, MVT::i64,
3680 OPC_MoveParent,
3681 OPC_CheckChild1Integer, 0,
3682 OPC_CheckChild2CondCode, ISD::SETEQ,
3683 OPC_MoveParent,
3684 OPC_CheckTypeI32,
3685 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
3686 MVT::i64, 2, 1, 1,
3687 OPC_EmitInteger32, 0|128,1,
3688 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3689 MVT::i32, MVT::i32, 2, 0, 3,
3690 OPC_EmitInteger32, 126,
3691 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
3692 MVT::i64, 3, 2, 4, 6,
3693 OPC_EmitStringInteger32, PPC::sub_32,
3694 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3695 MVT::i32, 2, 7, 8,
3696 0,
3697 65,
3698 OPC_RecordChild0,
3699 OPC_MoveChild1,
3700 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3701 OPC_CheckChild0Integer, 2,
3702 OPC_RecordChild1,
3703 OPC_CheckChild1TypeI32,
3704 OPC_MoveParent,
3705 OPC_CheckTypeI32,
3706 OPC_MoveParent,
3707 OPC_CheckChild1Integer, 0,
3708 OPC_CheckChild2CondCode, ISD::SETEQ,
3709 OPC_CheckType, MVT::i1,
3710 OPC_MoveParent,
3711 OPC_CheckTypeI64,
3712 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3713 MVT::i64, 0,
3714 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3715 MVT::i32, 2, 0, 0,
3716 OPC_EmitInteger32, 64,
3717 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3718 MVT::i32, MVT::i32, 2, 1, 4,
3719 OPC_EmitInteger32, 62,
3720 OPC_EmitInteger32, 62,
3721 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
3722 MVT::i32, 4, 3, 5, 7, 8,
3723 OPC_EmitStringInteger32, PPC::sub_32,
3724 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3725 MVT::i64, 3, 2, 9, 10,
3726 65,
3727 OPC_MoveChild0,
3728 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3729 OPC_CheckChild0Integer, 2,
3730 OPC_RecordChild1,
3731 OPC_CheckChild1TypeI32,
3732 OPC_MoveParent,
3733 OPC_RecordChild1,
3734 OPC_CheckTypeI32,
3735 OPC_MoveParent,
3736 OPC_CheckChild1Integer, 0,
3737 OPC_CheckChild2CondCode, ISD::SETEQ,
3738 OPC_CheckType, MVT::i1,
3739 OPC_MoveParent,
3740 OPC_CheckTypeI64,
3741 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3742 MVT::i64, 0,
3743 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3744 MVT::i32, 2, 1, 1,
3745 OPC_EmitInteger32, 64,
3746 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
3747 MVT::i32, MVT::i32, 2, 0, 4,
3748 OPC_EmitInteger32, 62,
3749 OPC_EmitInteger32, 62,
3750 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
3751 MVT::i32, 4, 3, 5, 7, 8,
3752 OPC_EmitStringInteger32, PPC::sub_32,
3753 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3754 MVT::i64, 3, 2, 9, 10,
3755 0,
3756 124|128,75,
3757 OPC_RecordChild0,
3758 OPC_Scope, 80|128,21,
3759 OPC_CheckChild0TypeI32,
3760 OPC_Scope, 84|128,3,
3761 OPC_CheckChild1Integer, 0,
3762 OPC_Scope, 57,
3763 OPC_CheckChild2CondCode, ISD::SETLT,
3764 OPC_Scope, 17,
3765 OPC_MoveParent,
3766 OPC_CheckTypeI32,
3767 OPC_EmitInteger32, 2,
3768 OPC_EmitInteger32, 62,
3769 OPC_EmitInteger32, 62,
3770 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3771 MVT::i32, 4, 0, 1, 2, 3,
3772 34,
3773 OPC_CheckType, MVT::i1,
3774 OPC_MoveParent,
3775 OPC_CheckTypeI64,
3776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3777 MVT::i64, 0,
3778 OPC_EmitInteger32, 2,
3779 OPC_EmitInteger32, 62,
3780 OPC_EmitInteger32, 62,
3781 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3782 MVT::i32, 4, 0, 2, 3, 4,
3783 OPC_EmitStringInteger32, PPC::sub_32,
3784 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3785 MVT::i64, 3, 1, 5, 6,
3786 0,
3787 69,
3788 OPC_CheckChild2CondCode, ISD::SETEQ,
3789 OPC_Scope, 23,
3790 OPC_MoveParent,
3791 OPC_CheckTypeI32,
3792 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3793 MVT::i32, 1, 0,
3794 OPC_EmitInteger32, 54,
3795 OPC_EmitInteger32, 62,
3796 OPC_EmitInteger32, 62,
3797 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3798 MVT::i32, 4, 1, 2, 3, 4,
3799 40,
3800 OPC_CheckType, MVT::i1,
3801 OPC_MoveParent,
3802 OPC_CheckTypeI64,
3803 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3804 MVT::i64, 0,
3805 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3806 MVT::i32, 1, 0,
3807 OPC_EmitInteger32, 54,
3808 OPC_EmitInteger32, 62,
3809 OPC_EmitInteger32, 62,
3810 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3811 MVT::i32, 4, 2, 3, 4, 5,
3812 OPC_EmitStringInteger32, PPC::sub_32,
3813 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3814 MVT::i64, 3, 1, 6, 7,
3815 0,
3816 71,
3817 OPC_CheckChild2CondCode, ISD::SETGE,
3818 OPC_Scope, 24,
3819 OPC_MoveParent,
3820 OPC_CheckTypeI32,
3821 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3822 MVT::i32, 2, 0, 0,
3823 OPC_EmitInteger32, 2,
3824 OPC_EmitInteger32, 62,
3825 OPC_EmitInteger32, 62,
3826 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3827 MVT::i32, 4, 1, 2, 3, 4,
3828 41,
3829 OPC_CheckType, MVT::i1,
3830 OPC_MoveParent,
3831 OPC_CheckTypeI64,
3832 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3833 MVT::i64, 0,
3834 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3835 MVT::i32, 2, 0, 0,
3836 OPC_EmitInteger32, 2,
3837 OPC_EmitInteger32, 62,
3838 OPC_EmitInteger32, 62,
3839 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3840 MVT::i32, 4, 2, 3, 4, 5,
3841 OPC_EmitStringInteger32, PPC::sub_32,
3842 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3843 MVT::i64, 3, 1, 6, 7,
3844 0,
3845 83,
3846 OPC_CheckChild2CondCode, ISD::SETGT,
3847 OPC_Scope, 30,
3848 OPC_MoveParent,
3849 OPC_CheckTypeI32,
3850 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
3851 MVT::i32, 1, 0,
3852 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
3853 MVT::i32, 2, 1, 0,
3854 OPC_EmitInteger32, 2,
3855 OPC_EmitInteger32, 62,
3856 OPC_EmitInteger32, 62,
3857 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3858 MVT::i32, 4, 2, 3, 4, 5,
3859 47,
3860 OPC_CheckType, MVT::i1,
3861 OPC_MoveParent,
3862 OPC_CheckTypeI64,
3863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3864 MVT::i64, 0,
3865 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
3866 MVT::i32, 1, 0,
3867 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
3868 MVT::i32, 2, 2, 0,
3869 OPC_EmitInteger32, 2,
3870 OPC_EmitInteger32, 62,
3871 OPC_EmitInteger32, 62,
3872 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3873 MVT::i32, 4, 3, 4, 5, 6,
3874 OPC_EmitStringInteger32, PPC::sub_32,
3875 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3876 MVT::i64, 3, 1, 7, 8,
3877 0,
3878 83,
3879 OPC_CheckChild2CondCode, ISD::SETLE,
3880 OPC_Scope, 30,
3881 OPC_MoveParent,
3882 OPC_CheckTypeI32,
3883 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
3884 MVT::i32, 1, 0,
3885 OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
3886 MVT::i32, 2, 0, 1,
3887 OPC_EmitInteger32, 2,
3888 OPC_EmitInteger32, 62,
3889 OPC_EmitInteger32, 62,
3890 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3891 MVT::i32, 4, 2, 3, 4, 5,
3892 47,
3893 OPC_CheckType, MVT::i1,
3894 OPC_MoveParent,
3895 OPC_CheckTypeI64,
3896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3897 MVT::i64, 0,
3898 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
3899 MVT::i32, 1, 0,
3900 OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
3901 MVT::i32, 2, 0, 2,
3902 OPC_EmitInteger32, 2,
3903 OPC_EmitInteger32, 62,
3904 OPC_EmitInteger32, 62,
3905 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3906 MVT::i32, 4, 3, 4, 5, 6,
3907 OPC_EmitStringInteger32, PPC::sub_32,
3908 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3909 MVT::i64, 3, 1, 7, 8,
3910 0,
3911 95,
3912 OPC_CheckChild2CondCode, ISD::SETNE,
3913 OPC_Scope, 36,
3914 OPC_MoveParent,
3915 OPC_CheckTypeI32,
3916 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3917 MVT::i32, 1, 0,
3918 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3919 MVT::i32, 1, 0,
3920 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3921 MVT::i32, 2, 1, 2,
3922 OPC_EmitInteger32, 54,
3923 OPC_EmitInteger32, 62,
3924 OPC_EmitInteger32, 62,
3925 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3926 MVT::i32, 4, 3, 4, 5, 6,
3927 53,
3928 OPC_CheckType, MVT::i1,
3929 OPC_MoveParent,
3930 OPC_CheckTypeI64,
3931 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3932 MVT::i64, 0,
3933 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3934 MVT::i32, 1, 0,
3935 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
3936 MVT::i32, 1, 0,
3937 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3938 MVT::i32, 2, 2, 3,
3939 OPC_EmitInteger32, 54,
3940 OPC_EmitInteger32, 62,
3941 OPC_EmitInteger32, 62,
3942 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3943 MVT::i32, 4, 4, 5, 6, 7,
3944 OPC_EmitStringInteger32, PPC::sub_32,
3945 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3946 MVT::i64, 3, 1, 8, 9,
3947 0,
3948 0,
3949 58|128,2,
3950 OPC_CheckChild1Integer, 3,
3951 OPC_Scope, 57,
3952 OPC_CheckChild2CondCode, ISD::SETLE,
3953 OPC_Scope, 17,
3954 OPC_MoveParent,
3955 OPC_CheckTypeI32,
3956 OPC_EmitInteger32, 2,
3957 OPC_EmitInteger32, 62,
3958 OPC_EmitInteger32, 62,
3959 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3960 MVT::i32, 4, 0, 1, 2, 3,
3961 34,
3962 OPC_CheckType, MVT::i1,
3963 OPC_MoveParent,
3964 OPC_CheckTypeI64,
3965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3966 MVT::i64, 0,
3967 OPC_EmitInteger32, 2,
3968 OPC_EmitInteger32, 62,
3969 OPC_EmitInteger32, 62,
3970 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
3971 MVT::i32, 4, 0, 2, 3, 4,
3972 OPC_EmitStringInteger32, PPC::sub_32,
3973 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
3974 MVT::i64, 3, 1, 5, 6,
3975 0,
3976 71,
3977 OPC_CheckChild2CondCode, ISD::SETGT,
3978 OPC_Scope, 24,
3979 OPC_MoveParent,
3980 OPC_CheckTypeI32,
3981 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3982 MVT::i32, 2, 0, 0,
3983 OPC_EmitInteger32, 2,
3984 OPC_EmitInteger32, 62,
3985 OPC_EmitInteger32, 62,
3986 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
3987 MVT::i32, 4, 1, 2, 3, 4,
3988 41,
3989 OPC_CheckType, MVT::i1,
3990 OPC_MoveParent,
3991 OPC_CheckTypeI64,
3992 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
3993 MVT::i64, 0,
3994 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
3995 MVT::i32, 2, 0, 0,
3996 OPC_EmitInteger32, 2,
3997 OPC_EmitInteger32, 62,
3998 OPC_EmitInteger32, 62,
3999 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
4000 MVT::i32, 4, 2, 3, 4, 5,
4001 OPC_EmitStringInteger32, PPC::sub_32,
4002 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
4003 MVT::i64, 3, 1, 6, 7,
4004 0,
4005 89,
4006 OPC_CheckChild2CondCode, ISD::SETLT,
4007 OPC_Scope, 33,
4008 OPC_MoveParent,
4009 OPC_CheckTypeI32,
4010 OPC_EmitInteger32, 2,
4011 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
4012 MVT::i32, 2, 0, 1,
4013 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
4014 MVT::i32, 2, 0, 2,
4015 OPC_EmitInteger32, 2,
4016 OPC_EmitInteger32, 62,
4017 OPC_EmitInteger32, 62,
4018 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
4019 MVT::i32, 4, 3, 4, 5, 6,
4020 50,
4021 OPC_CheckType, MVT::i1,
4022 OPC_MoveParent,
4023 OPC_CheckTypeI64,
4024 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
4025 MVT::i64, 0,
4026 OPC_EmitInteger32, 2,
4027 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
4028 MVT::i32, 2, 0, 2,
4029 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
4030 MVT::i32, 2, 0, 3,
4031 OPC_EmitInteger32, 2,
4032 OPC_EmitInteger32, 62,
4033 OPC_EmitInteger32, 62,
4034 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
4035 MVT::i32, 4, 4, 5, 6, 7,
4036 OPC_EmitStringInteger32, PPC::sub_32,
4037 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
4038 MVT::i64, 3, 1, 8, 9,
4039 0,
4040 89,
4041 OPC_CheckChild2CondCode, ISD::SETGE,
4042 OPC_Scope, 33,
4043 OPC_MoveParent,
4044 OPC_CheckTypeI32,
4045 OPC_EmitInteger32, 2,
4046 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
4047 MVT::i32, 2, 0, 1,
4048 OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
4049 MVT::i32, 2, 0, 2,
4050 OPC_EmitInteger32, 2,
4051 OPC_EmitInteger32, 62,
4052 OPC_EmitInteger32, 62,
4053 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
4054 MVT::i32, 4, 3, 4, 5, 6,
4055 50,
4056 OPC_CheckType, MVT::i1,
4057 OPC_MoveParent,
4058 OPC_CheckTypeI64,
4059 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
4060 MVT::i64, 0,
4061 OPC_EmitInteger32, 2,
4062 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
4063 MVT::i32, 2, 0, 2,
4064 OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
4065 MVT::i32, 2, 0, 3,
4066 OPC_EmitInteger32, 2,
4067 OPC_EmitInteger32, 62,
4068 OPC_EmitInteger32, 62,
4069 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
4070 MVT::i32, 4, 4, 5, 6, 7,
4071 OPC_EmitStringInteger32, PPC::sub_32,
4072 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
4073 MVT::i64, 3, 1, 8, 9,
4074 0,
4075 0,
4076 57|128,15,
4077 OPC_RecordChild1,
4078 OPC_Scope, 60|128,9,
4079 OPC_MoveChild1,
4080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4081 OPC_Scope, 62,
4082 OPC_CheckPredicate0,
4083 OPC_MoveParent,
4084 OPC_CheckChild2CondCode, ISD::SETUGE,
4085 OPC_Scope, 26,
4086 OPC_MoveParent,
4087 OPC_CheckTypeI32,
4088 OPC_CheckPatternPredicate4,
4089 OPC_EmitConvertToTarget1,
4090 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4091 MVT::i32, 2, 0, 2,
4092 OPC_EmitStringInteger32, PPC::sub_lt,
4093 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4094 MVT::i1, 2, 3, 4,
4095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4096 MVT::i32, 1, 5,
4097 28,
4098 OPC_CheckType, MVT::i1,
4099 OPC_MoveParent,
4100 OPC_CheckTypeI64,
4101 OPC_CheckPatternPredicate4,
4102 OPC_EmitConvertToTarget1,
4103 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4104 MVT::i32, 2, 0, 2,
4105 OPC_EmitStringInteger32, PPC::sub_lt,
4106 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4107 MVT::i1, 2, 3, 4,
4108 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4109 MVT::i64, 1, 5,
4110 0,
4111 63,
4112 OPC_CheckPredicate, 10,
4113 OPC_MoveParent,
4114 OPC_CheckChild2CondCode, ISD::SETGE,
4115 OPC_Scope, 26,
4116 OPC_MoveParent,
4117 OPC_CheckTypeI32,
4118 OPC_CheckPatternPredicate4,
4119 OPC_EmitConvertToTarget1,
4120 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4121 MVT::i32, 2, 0, 2,
4122 OPC_EmitStringInteger32, PPC::sub_lt,
4123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4124 MVT::i1, 2, 3, 4,
4125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4126 MVT::i32, 1, 5,
4127 28,
4128 OPC_CheckType, MVT::i1,
4129 OPC_MoveParent,
4130 OPC_CheckTypeI64,
4131 OPC_CheckPatternPredicate4,
4132 OPC_EmitConvertToTarget1,
4133 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4134 MVT::i32, 2, 0, 2,
4135 OPC_EmitStringInteger32, PPC::sub_lt,
4136 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4137 MVT::i1, 2, 3, 4,
4138 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4139 MVT::i64, 1, 5,
4140 0,
4141 62,
4142 OPC_CheckPredicate0,
4143 OPC_MoveParent,
4144 OPC_CheckChild2CondCode, ISD::SETULE,
4145 OPC_Scope, 26,
4146 OPC_MoveParent,
4147 OPC_CheckTypeI32,
4148 OPC_CheckPatternPredicate4,
4149 OPC_EmitConvertToTarget1,
4150 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4151 MVT::i32, 2, 0, 2,
4152 OPC_EmitStringInteger32, PPC::sub_gt,
4153 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4154 MVT::i1, 2, 3, 4,
4155 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4156 MVT::i32, 1, 5,
4157 28,
4158 OPC_CheckType, MVT::i1,
4159 OPC_MoveParent,
4160 OPC_CheckTypeI64,
4161 OPC_CheckPatternPredicate4,
4162 OPC_EmitConvertToTarget1,
4163 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4164 MVT::i32, 2, 0, 2,
4165 OPC_EmitStringInteger32, PPC::sub_gt,
4166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4167 MVT::i1, 2, 3, 4,
4168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4169 MVT::i64, 1, 5,
4170 0,
4171 127,
4172 OPC_CheckPredicate, 10,
4173 OPC_MoveParent,
4174 OPC_Scope, 60,
4175 OPC_CheckChild2CondCode, ISD::SETLE,
4176 OPC_Scope, 26,
4177 OPC_MoveParent,
4178 OPC_CheckTypeI32,
4179 OPC_CheckPatternPredicate4,
4180 OPC_EmitConvertToTarget1,
4181 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4182 MVT::i32, 2, 0, 2,
4183 OPC_EmitStringInteger32, PPC::sub_gt,
4184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4185 MVT::i1, 2, 3, 4,
4186 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4187 MVT::i32, 1, 5,
4188 28,
4189 OPC_CheckType, MVT::i1,
4190 OPC_MoveParent,
4191 OPC_CheckTypeI64,
4192 OPC_CheckPatternPredicate4,
4193 OPC_EmitConvertToTarget1,
4194 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4195 MVT::i32, 2, 0, 2,
4196 OPC_EmitStringInteger32, PPC::sub_gt,
4197 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4198 MVT::i1, 2, 3, 4,
4199 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4200 MVT::i64, 1, 5,
4201 0,
4202 60,
4203 OPC_CheckChild2CondCode, ISD::SETNE,
4204 OPC_Scope, 26,
4205 OPC_MoveParent,
4206 OPC_CheckTypeI32,
4207 OPC_CheckPatternPredicate4,
4208 OPC_EmitConvertToTarget1,
4209 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4210 MVT::i32, 2, 0, 2,
4211 OPC_EmitStringInteger32, PPC::sub_eq,
4212 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4213 MVT::i1, 2, 3, 4,
4214 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4215 MVT::i32, 1, 5,
4216 28,
4217 OPC_CheckType, MVT::i1,
4218 OPC_MoveParent,
4219 OPC_CheckTypeI64,
4220 OPC_CheckPatternPredicate4,
4221 OPC_EmitConvertToTarget1,
4222 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4223 MVT::i32, 2, 0, 2,
4224 OPC_EmitStringInteger32, PPC::sub_eq,
4225 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4226 MVT::i1, 2, 3, 4,
4227 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4228 MVT::i64, 1, 5,
4229 0,
4230 0,
4231 36|128,1,
4232 OPC_CheckPredicate0,
4233 OPC_MoveParent,
4234 OPC_Scope, 60,
4235 OPC_CheckChild2CondCode, ISD::SETNE,
4236 OPC_Scope, 26,
4237 OPC_MoveParent,
4238 OPC_CheckTypeI32,
4239 OPC_CheckPatternPredicate4,
4240 OPC_EmitConvertToTarget1,
4241 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4242 MVT::i32, 2, 0, 2,
4243 OPC_EmitStringInteger32, PPC::sub_eq,
4244 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4245 MVT::i1, 2, 3, 4,
4246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4247 MVT::i32, 1, 5,
4248 28,
4249 OPC_CheckType, MVT::i1,
4250 OPC_MoveParent,
4251 OPC_CheckTypeI64,
4252 OPC_CheckPatternPredicate4,
4253 OPC_EmitConvertToTarget1,
4254 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4255 MVT::i32, 2, 0, 2,
4256 OPC_EmitStringInteger32, PPC::sub_eq,
4257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4258 MVT::i1, 2, 3, 4,
4259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4260 MVT::i64, 1, 5,
4261 0,
4262 98,
4263 OPC_CheckChild2CondCode, ISD::SETUGE,
4264 OPC_Scope, 45,
4265 OPC_MoveParent,
4266 OPC_CheckTypeI32,
4267 OPC_CheckPatternPredicate, 8,
4268 OPC_EmitConvertToTarget1,
4269 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4270 MVT::i32, 2, 0, 2,
4271 OPC_EmitStringInteger32, PPC::sub_lt,
4272 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4273 MVT::i1, 2, 3, 4,
4274 OPC_EmitInteger32, 0,
4275 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4276 MVT::i32, 1, 6,
4277 OPC_EmitInteger32, 2,
4278 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4279 MVT::i32, 1, 8,
4280 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4281 MVT::i32, 3, 5, 7, 9,
4282 47,
4283 OPC_CheckType, MVT::i1,
4284 OPC_MoveParent,
4285 OPC_CheckTypeI64,
4286 OPC_CheckPatternPredicate, 8,
4287 OPC_EmitConvertToTarget1,
4288 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4289 MVT::i32, 2, 0, 2,
4290 OPC_EmitStringInteger32, PPC::sub_lt,
4291 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4292 MVT::i1, 2, 3, 4,
4293 OPC_EmitInteger64, 0,
4294 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4295 MVT::i64, 1, 6,
4296 OPC_EmitInteger64, 2,
4297 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4298 MVT::i64, 1, 8,
4299 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4300 MVT::i64, 3, 5, 7, 9,
4301 0,
4302 0,
4303 101,
4304 OPC_CheckPredicate, 10,
4305 OPC_MoveParent,
4306 OPC_CheckChild2CondCode, ISD::SETGE,
4307 OPC_Scope, 45,
4308 OPC_MoveParent,
4309 OPC_CheckTypeI32,
4310 OPC_CheckPatternPredicate, 8,
4311 OPC_EmitConvertToTarget1,
4312 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4313 MVT::i32, 2, 0, 2,
4314 OPC_EmitStringInteger32, PPC::sub_lt,
4315 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4316 MVT::i1, 2, 3, 4,
4317 OPC_EmitInteger32, 0,
4318 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4319 MVT::i32, 1, 6,
4320 OPC_EmitInteger32, 2,
4321 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4322 MVT::i32, 1, 8,
4323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4324 MVT::i32, 3, 5, 7, 9,
4325 47,
4326 OPC_CheckType, MVT::i1,
4327 OPC_MoveParent,
4328 OPC_CheckTypeI64,
4329 OPC_CheckPatternPredicate, 8,
4330 OPC_EmitConvertToTarget1,
4331 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4332 MVT::i32, 2, 0, 2,
4333 OPC_EmitStringInteger32, PPC::sub_lt,
4334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4335 MVT::i1, 2, 3, 4,
4336 OPC_EmitInteger64, 0,
4337 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4338 MVT::i64, 1, 6,
4339 OPC_EmitInteger64, 2,
4340 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4341 MVT::i64, 1, 8,
4342 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4343 MVT::i64, 3, 5, 7, 9,
4344 0,
4345 100,
4346 OPC_CheckPredicate0,
4347 OPC_MoveParent,
4348 OPC_CheckChild2CondCode, ISD::SETULE,
4349 OPC_Scope, 45,
4350 OPC_MoveParent,
4351 OPC_CheckTypeI32,
4352 OPC_CheckPatternPredicate, 8,
4353 OPC_EmitConvertToTarget1,
4354 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4355 MVT::i32, 2, 0, 2,
4356 OPC_EmitStringInteger32, PPC::sub_gt,
4357 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4358 MVT::i1, 2, 3, 4,
4359 OPC_EmitInteger32, 0,
4360 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4361 MVT::i32, 1, 6,
4362 OPC_EmitInteger32, 2,
4363 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4364 MVT::i32, 1, 8,
4365 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4366 MVT::i32, 3, 5, 7, 9,
4367 47,
4368 OPC_CheckType, MVT::i1,
4369 OPC_MoveParent,
4370 OPC_CheckTypeI64,
4371 OPC_CheckPatternPredicate, 8,
4372 OPC_EmitConvertToTarget1,
4373 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4374 MVT::i32, 2, 0, 2,
4375 OPC_EmitStringInteger32, PPC::sub_gt,
4376 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4377 MVT::i1, 2, 3, 4,
4378 OPC_EmitInteger64, 0,
4379 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4380 MVT::i64, 1, 6,
4381 OPC_EmitInteger64, 2,
4382 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4383 MVT::i64, 1, 8,
4384 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4385 MVT::i64, 3, 5, 7, 9,
4386 0,
4387 75|128,1,
4388 OPC_CheckPredicate, 10,
4389 OPC_MoveParent,
4390 OPC_Scope, 98,
4391 OPC_CheckChild2CondCode, ISD::SETLE,
4392 OPC_Scope, 45,
4393 OPC_MoveParent,
4394 OPC_CheckTypeI32,
4395 OPC_CheckPatternPredicate, 8,
4396 OPC_EmitConvertToTarget1,
4397 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4398 MVT::i32, 2, 0, 2,
4399 OPC_EmitStringInteger32, PPC::sub_gt,
4400 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4401 MVT::i1, 2, 3, 4,
4402 OPC_EmitInteger32, 0,
4403 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4404 MVT::i32, 1, 6,
4405 OPC_EmitInteger32, 2,
4406 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4407 MVT::i32, 1, 8,
4408 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4409 MVT::i32, 3, 5, 7, 9,
4410 47,
4411 OPC_CheckType, MVT::i1,
4412 OPC_MoveParent,
4413 OPC_CheckTypeI64,
4414 OPC_CheckPatternPredicate, 8,
4415 OPC_EmitConvertToTarget1,
4416 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4417 MVT::i32, 2, 0, 2,
4418 OPC_EmitStringInteger32, PPC::sub_gt,
4419 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4420 MVT::i1, 2, 3, 4,
4421 OPC_EmitInteger64, 0,
4422 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4423 MVT::i64, 1, 6,
4424 OPC_EmitInteger64, 2,
4425 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4426 MVT::i64, 1, 8,
4427 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4428 MVT::i64, 3, 5, 7, 9,
4429 0,
4430 98,
4431 OPC_CheckChild2CondCode, ISD::SETNE,
4432 OPC_Scope, 45,
4433 OPC_MoveParent,
4434 OPC_CheckTypeI32,
4435 OPC_CheckPatternPredicate, 8,
4436 OPC_EmitConvertToTarget1,
4437 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4438 MVT::i32, 2, 0, 2,
4439 OPC_EmitStringInteger32, PPC::sub_eq,
4440 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4441 MVT::i1, 2, 3, 4,
4442 OPC_EmitInteger32, 0,
4443 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4444 MVT::i32, 1, 6,
4445 OPC_EmitInteger32, 2,
4446 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4447 MVT::i32, 1, 8,
4448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4449 MVT::i32, 3, 5, 7, 9,
4450 47,
4451 OPC_CheckType, MVT::i1,
4452 OPC_MoveParent,
4453 OPC_CheckTypeI64,
4454 OPC_CheckPatternPredicate, 8,
4455 OPC_EmitConvertToTarget1,
4456 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
4457 MVT::i32, 2, 0, 2,
4458 OPC_EmitStringInteger32, PPC::sub_eq,
4459 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4460 MVT::i1, 2, 3, 4,
4461 OPC_EmitInteger64, 0,
4462 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4463 MVT::i64, 1, 6,
4464 OPC_EmitInteger64, 2,
4465 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4466 MVT::i64, 1, 8,
4467 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4468 MVT::i64, 3, 5, 7, 9,
4469 0,
4470 0,
4471 100,
4472 OPC_CheckPredicate0,
4473 OPC_MoveParent,
4474 OPC_CheckChild2CondCode, ISD::SETNE,
4475 OPC_Scope, 45,
4476 OPC_MoveParent,
4477 OPC_CheckTypeI32,
4478 OPC_CheckPatternPredicate, 8,
4479 OPC_EmitConvertToTarget1,
4480 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4481 MVT::i32, 2, 0, 2,
4482 OPC_EmitStringInteger32, PPC::sub_eq,
4483 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4484 MVT::i1, 2, 3, 4,
4485 OPC_EmitInteger32, 0,
4486 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4487 MVT::i32, 1, 6,
4488 OPC_EmitInteger32, 2,
4489 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4490 MVT::i32, 1, 8,
4491 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4492 MVT::i32, 3, 5, 7, 9,
4493 47,
4494 OPC_CheckType, MVT::i1,
4495 OPC_MoveParent,
4496 OPC_CheckTypeI64,
4497 OPC_CheckPatternPredicate, 8,
4498 OPC_EmitConvertToTarget1,
4499 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4500 MVT::i32, 2, 0, 2,
4501 OPC_EmitStringInteger32, PPC::sub_eq,
4502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4503 MVT::i1, 2, 3, 4,
4504 OPC_EmitInteger64, 0,
4505 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4506 MVT::i64, 1, 6,
4507 OPC_EmitInteger64, 2,
4508 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4509 MVT::i64, 1, 8,
4510 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4511 MVT::i64, 3, 5, 7, 9,
4512 0,
4513 83|128,1,
4514 OPC_MoveParent,
4515 OPC_CheckChild2CondCode, ISD::SETNE,
4516 OPC_Scope, 40,
4517 OPC_MoveParent,
4518 OPC_CheckTypeI32,
4519 OPC_CheckPatternPredicate4,
4520 OPC_EmitConvertToTarget1,
4521 OPC_EmitNodeXForm, 0, 2,
4522 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
4523 MVT::i32, 2, 0, 3,
4524 OPC_EmitConvertToTarget1,
4525 OPC_EmitNodeXForm, 1, 5,
4526 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4527 MVT::i32, 2, 4, 6,
4528 OPC_EmitStringInteger32, PPC::sub_eq,
4529 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4530 MVT::i1, 2, 7, 8,
4531 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4532 MVT::i32, 1, 9,
4533 42,
4534 OPC_CheckType, MVT::i1,
4535 OPC_MoveParent,
4536 OPC_CheckTypeI64,
4537 OPC_CheckPatternPredicate4,
4538 OPC_EmitConvertToTarget1,
4539 OPC_EmitNodeXForm, 0, 2,
4540 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
4541 MVT::i32, 2, 0, 3,
4542 OPC_EmitConvertToTarget1,
4543 OPC_EmitNodeXForm, 1, 5,
4544 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4545 MVT::i32, 2, 4, 6,
4546 OPC_EmitStringInteger32, PPC::sub_eq,
4547 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4548 MVT::i1, 2, 7, 8,
4549 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4550 MVT::i64, 1, 9,
4551 59,
4552 OPC_MoveParent,
4553 OPC_CheckTypeI32,
4554 OPC_CheckPatternPredicate, 8,
4555 OPC_EmitConvertToTarget1,
4556 OPC_EmitNodeXForm, 0, 2,
4557 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
4558 MVT::i32, 2, 0, 3,
4559 OPC_EmitConvertToTarget1,
4560 OPC_EmitNodeXForm, 1, 5,
4561 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4562 MVT::i32, 2, 4, 6,
4563 OPC_EmitStringInteger32, PPC::sub_eq,
4564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4565 MVT::i1, 2, 7, 8,
4566 OPC_EmitInteger32, 0,
4567 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4568 MVT::i32, 1, 10,
4569 OPC_EmitInteger32, 2,
4570 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4571 MVT::i32, 1, 12,
4572 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4573 MVT::i32, 3, 9, 11, 13,
4574 61,
4575 OPC_CheckType, MVT::i1,
4576 OPC_MoveParent,
4577 OPC_CheckTypeI64,
4578 OPC_CheckPatternPredicate, 8,
4579 OPC_EmitConvertToTarget1,
4580 OPC_EmitNodeXForm, 0, 2,
4581 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
4582 MVT::i32, 2, 0, 3,
4583 OPC_EmitConvertToTarget1,
4584 OPC_EmitNodeXForm, 1, 5,
4585 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
4586 MVT::i32, 2, 4, 6,
4587 OPC_EmitStringInteger32, PPC::sub_eq,
4588 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4589 MVT::i1, 2, 7, 8,
4590 OPC_EmitInteger64, 0,
4591 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4592 MVT::i64, 1, 10,
4593 OPC_EmitInteger64, 2,
4594 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4595 MVT::i64, 1, 12,
4596 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4597 MVT::i64, 3, 9, 11, 13,
4598 0,
4599 0,
4600 22|128,1,
4601 OPC_CheckChild2CondCode, ISD::SETUGE,
4602 OPC_Scope, 25,
4603 OPC_MoveParent,
4604 OPC_CheckTypeI32,
4605 OPC_CheckPatternPredicate4,
4606 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4607 MVT::i32, 2, 0, 1,
4608 OPC_EmitStringInteger32, PPC::sub_lt,
4609 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4610 MVT::i1, 2, 2, 3,
4611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4612 MVT::i32, 1, 4,
4613 27,
4614 OPC_CheckType, MVT::i1,
4615 OPC_MoveParent,
4616 OPC_CheckTypeI64,
4617 OPC_CheckPatternPredicate4,
4618 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4619 MVT::i32, 2, 0, 1,
4620 OPC_EmitStringInteger32, PPC::sub_lt,
4621 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4622 MVT::i1, 2, 2, 3,
4623 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4624 MVT::i64, 1, 4,
4625 44,
4626 OPC_MoveParent,
4627 OPC_CheckTypeI32,
4628 OPC_CheckPatternPredicate, 8,
4629 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4630 MVT::i32, 2, 0, 1,
4631 OPC_EmitStringInteger32, PPC::sub_lt,
4632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4633 MVT::i1, 2, 2, 3,
4634 OPC_EmitInteger32, 0,
4635 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4636 MVT::i32, 1, 5,
4637 OPC_EmitInteger32, 2,
4638 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4639 MVT::i32, 1, 7,
4640 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4641 MVT::i32, 3, 4, 6, 8,
4642 46,
4643 OPC_CheckType, MVT::i1,
4644 OPC_MoveParent,
4645 OPC_CheckTypeI64,
4646 OPC_CheckPatternPredicate, 8,
4647 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4648 MVT::i32, 2, 0, 1,
4649 OPC_EmitStringInteger32, PPC::sub_lt,
4650 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4651 MVT::i1, 2, 2, 3,
4652 OPC_EmitInteger64, 0,
4653 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4654 MVT::i64, 1, 5,
4655 OPC_EmitInteger64, 2,
4656 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4657 MVT::i64, 1, 7,
4658 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4659 MVT::i64, 3, 4, 6, 8,
4660 0,
4661 22|128,1,
4662 OPC_CheckChild2CondCode, ISD::SETGE,
4663 OPC_Scope, 25,
4664 OPC_MoveParent,
4665 OPC_CheckTypeI32,
4666 OPC_CheckPatternPredicate4,
4667 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4668 MVT::i32, 2, 0, 1,
4669 OPC_EmitStringInteger32, PPC::sub_lt,
4670 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4671 MVT::i1, 2, 2, 3,
4672 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4673 MVT::i32, 1, 4,
4674 27,
4675 OPC_CheckType, MVT::i1,
4676 OPC_MoveParent,
4677 OPC_CheckTypeI64,
4678 OPC_CheckPatternPredicate4,
4679 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4680 MVT::i32, 2, 0, 1,
4681 OPC_EmitStringInteger32, PPC::sub_lt,
4682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4683 MVT::i1, 2, 2, 3,
4684 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4685 MVT::i64, 1, 4,
4686 44,
4687 OPC_MoveParent,
4688 OPC_CheckTypeI32,
4689 OPC_CheckPatternPredicate, 8,
4690 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4691 MVT::i32, 2, 0, 1,
4692 OPC_EmitStringInteger32, PPC::sub_lt,
4693 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4694 MVT::i1, 2, 2, 3,
4695 OPC_EmitInteger32, 0,
4696 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4697 MVT::i32, 1, 5,
4698 OPC_EmitInteger32, 2,
4699 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4700 MVT::i32, 1, 7,
4701 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4702 MVT::i32, 3, 4, 6, 8,
4703 46,
4704 OPC_CheckType, MVT::i1,
4705 OPC_MoveParent,
4706 OPC_CheckTypeI64,
4707 OPC_CheckPatternPredicate, 8,
4708 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4709 MVT::i32, 2, 0, 1,
4710 OPC_EmitStringInteger32, PPC::sub_lt,
4711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4712 MVT::i1, 2, 2, 3,
4713 OPC_EmitInteger64, 0,
4714 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4715 MVT::i64, 1, 5,
4716 OPC_EmitInteger64, 2,
4717 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4718 MVT::i64, 1, 7,
4719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4720 MVT::i64, 3, 4, 6, 8,
4721 0,
4722 22|128,1,
4723 OPC_CheckChild2CondCode, ISD::SETULE,
4724 OPC_Scope, 25,
4725 OPC_MoveParent,
4726 OPC_CheckTypeI32,
4727 OPC_CheckPatternPredicate4,
4728 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4729 MVT::i32, 2, 0, 1,
4730 OPC_EmitStringInteger32, PPC::sub_gt,
4731 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4732 MVT::i1, 2, 2, 3,
4733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4734 MVT::i32, 1, 4,
4735 27,
4736 OPC_CheckType, MVT::i1,
4737 OPC_MoveParent,
4738 OPC_CheckTypeI64,
4739 OPC_CheckPatternPredicate4,
4740 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4741 MVT::i32, 2, 0, 1,
4742 OPC_EmitStringInteger32, PPC::sub_gt,
4743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4744 MVT::i1, 2, 2, 3,
4745 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4746 MVT::i64, 1, 4,
4747 44,
4748 OPC_MoveParent,
4749 OPC_CheckTypeI32,
4750 OPC_CheckPatternPredicate, 8,
4751 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4752 MVT::i32, 2, 0, 1,
4753 OPC_EmitStringInteger32, PPC::sub_gt,
4754 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4755 MVT::i1, 2, 2, 3,
4756 OPC_EmitInteger32, 0,
4757 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4758 MVT::i32, 1, 5,
4759 OPC_EmitInteger32, 2,
4760 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4761 MVT::i32, 1, 7,
4762 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4763 MVT::i32, 3, 4, 6, 8,
4764 46,
4765 OPC_CheckType, MVT::i1,
4766 OPC_MoveParent,
4767 OPC_CheckTypeI64,
4768 OPC_CheckPatternPredicate, 8,
4769 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
4770 MVT::i32, 2, 0, 1,
4771 OPC_EmitStringInteger32, PPC::sub_gt,
4772 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4773 MVT::i1, 2, 2, 3,
4774 OPC_EmitInteger64, 0,
4775 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4776 MVT::i64, 1, 5,
4777 OPC_EmitInteger64, 2,
4778 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4779 MVT::i64, 1, 7,
4780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4781 MVT::i64, 3, 4, 6, 8,
4782 0,
4783 22|128,1,
4784 OPC_CheckChild2CondCode, ISD::SETLE,
4785 OPC_Scope, 25,
4786 OPC_MoveParent,
4787 OPC_CheckTypeI32,
4788 OPC_CheckPatternPredicate4,
4789 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4790 MVT::i32, 2, 0, 1,
4791 OPC_EmitStringInteger32, PPC::sub_gt,
4792 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4793 MVT::i1, 2, 2, 3,
4794 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4795 MVT::i32, 1, 4,
4796 27,
4797 OPC_CheckType, MVT::i1,
4798 OPC_MoveParent,
4799 OPC_CheckTypeI64,
4800 OPC_CheckPatternPredicate4,
4801 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4802 MVT::i32, 2, 0, 1,
4803 OPC_EmitStringInteger32, PPC::sub_gt,
4804 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4805 MVT::i1, 2, 2, 3,
4806 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4807 MVT::i64, 1, 4,
4808 44,
4809 OPC_MoveParent,
4810 OPC_CheckTypeI32,
4811 OPC_CheckPatternPredicate, 8,
4812 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4813 MVT::i32, 2, 0, 1,
4814 OPC_EmitStringInteger32, PPC::sub_gt,
4815 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4816 MVT::i1, 2, 2, 3,
4817 OPC_EmitInteger32, 0,
4818 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4819 MVT::i32, 1, 5,
4820 OPC_EmitInteger32, 2,
4821 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4822 MVT::i32, 1, 7,
4823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4824 MVT::i32, 3, 4, 6, 8,
4825 46,
4826 OPC_CheckType, MVT::i1,
4827 OPC_MoveParent,
4828 OPC_CheckTypeI64,
4829 OPC_CheckPatternPredicate, 8,
4830 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4831 MVT::i32, 2, 0, 1,
4832 OPC_EmitStringInteger32, PPC::sub_gt,
4833 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4834 MVT::i1, 2, 2, 3,
4835 OPC_EmitInteger64, 0,
4836 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4837 MVT::i64, 1, 5,
4838 OPC_EmitInteger64, 2,
4839 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4840 MVT::i64, 1, 7,
4841 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4842 MVT::i64, 3, 4, 6, 8,
4843 0,
4844 22|128,1,
4845 OPC_CheckChild2CondCode, ISD::SETNE,
4846 OPC_Scope, 25,
4847 OPC_MoveParent,
4848 OPC_CheckTypeI32,
4849 OPC_CheckPatternPredicate4,
4850 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4851 MVT::i32, 2, 0, 1,
4852 OPC_EmitStringInteger32, PPC::sub_eq,
4853 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4854 MVT::i1, 2, 2, 3,
4855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
4856 MVT::i32, 1, 4,
4857 27,
4858 OPC_CheckType, MVT::i1,
4859 OPC_MoveParent,
4860 OPC_CheckTypeI64,
4861 OPC_CheckPatternPredicate4,
4862 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4863 MVT::i32, 2, 0, 1,
4864 OPC_EmitStringInteger32, PPC::sub_eq,
4865 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4866 MVT::i1, 2, 2, 3,
4867 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
4868 MVT::i64, 1, 4,
4869 44,
4870 OPC_MoveParent,
4871 OPC_CheckTypeI32,
4872 OPC_CheckPatternPredicate, 8,
4873 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4874 MVT::i32, 2, 0, 1,
4875 OPC_EmitStringInteger32, PPC::sub_eq,
4876 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4877 MVT::i1, 2, 2, 3,
4878 OPC_EmitInteger32, 0,
4879 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4880 MVT::i32, 1, 5,
4881 OPC_EmitInteger32, 2,
4882 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
4883 MVT::i32, 1, 7,
4884 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
4885 MVT::i32, 3, 4, 6, 8,
4886 46,
4887 OPC_CheckType, MVT::i1,
4888 OPC_MoveParent,
4889 OPC_CheckTypeI64,
4890 OPC_CheckPatternPredicate, 8,
4891 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
4892 MVT::i32, 2, 0, 1,
4893 OPC_EmitStringInteger32, PPC::sub_eq,
4894 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4895 MVT::i1, 2, 2, 3,
4896 OPC_EmitInteger64, 0,
4897 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4898 MVT::i64, 1, 5,
4899 OPC_EmitInteger64, 2,
4900 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
4901 MVT::i64, 1, 7,
4902 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
4903 MVT::i64, 3, 4, 6, 8,
4904 0,
4905 0,
4906 0,
4907 96|128,20,
4908 OPC_CheckChild0TypeI64,
4909 OPC_Scope, 12|128,3,
4910 OPC_CheckChild1Integer, 0,
4911 OPC_Scope, 45,
4912 OPC_CheckChild2CondCode, ISD::SETLT,
4913 OPC_Scope, 16,
4914 OPC_CheckType, MVT::i1,
4915 OPC_MoveParent,
4916 OPC_CheckTypeI64,
4917 OPC_EmitInteger32, 2,
4918 OPC_EmitInteger32, 126,
4919 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
4920 MVT::i64, 3, 0, 1, 2,
4921 23,
4922 OPC_MoveParent,
4923 OPC_CheckTypeI32,
4924 OPC_EmitInteger32, 2,
4925 OPC_EmitInteger32, 126,
4926 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
4927 MVT::i64, 3, 0, 1, 2,
4928 OPC_EmitStringInteger32, PPC::sub_32,
4929 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4930 MVT::i32, 2, 3, 4,
4931 0,
4932 57,
4933 OPC_CheckChild2CondCode, ISD::SETEQ,
4934 OPC_Scope, 22,
4935 OPC_CheckType, MVT::i1,
4936 OPC_MoveParent,
4937 OPC_CheckTypeI64,
4938 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
4939 MVT::i64, 1, 0,
4940 OPC_EmitInteger32, 116,
4941 OPC_EmitInteger32, 126,
4942 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
4943 MVT::i64, 3, 1, 2, 3,
4944 29,
4945 OPC_MoveParent,
4946 OPC_CheckTypeI32,
4947 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
4948 MVT::i64, 1, 0,
4949 OPC_EmitInteger32, 116,
4950 OPC_EmitInteger32, 126,
4951 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
4952 MVT::i64, 3, 1, 2, 3,
4953 OPC_EmitStringInteger32, PPC::sub_32,
4954 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4955 MVT::i32, 2, 4, 5,
4956 0,
4957 59,
4958 OPC_CheckChild2CondCode, ISD::SETGE,
4959 OPC_Scope, 23,
4960 OPC_CheckType, MVT::i1,
4961 OPC_MoveParent,
4962 OPC_CheckTypeI64,
4963 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
4964 MVT::i64, 2, 0, 0,
4965 OPC_EmitInteger32, 2,
4966 OPC_EmitInteger32, 126,
4967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
4968 MVT::i64, 3, 1, 2, 3,
4969 30,
4970 OPC_MoveParent,
4971 OPC_CheckTypeI32,
4972 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
4973 MVT::i64, 2, 0, 0,
4974 OPC_EmitInteger32, 2,
4975 OPC_EmitInteger32, 126,
4976 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
4977 MVT::i64, 3, 1, 2, 3,
4978 OPC_EmitStringInteger32, PPC::sub_32,
4979 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4980 MVT::i32, 2, 4, 5,
4981 0,
4982 71,
4983 OPC_CheckChild2CondCode, ISD::SETGT,
4984 OPC_Scope, 29,
4985 OPC_CheckType, MVT::i1,
4986 OPC_MoveParent,
4987 OPC_CheckTypeI64,
4988 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
4989 MVT::i64, 1, 0,
4990 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
4991 MVT::i64, 2, 1, 0,
4992 OPC_EmitInteger32, 2,
4993 OPC_EmitInteger32, 126,
4994 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
4995 MVT::i64, 3, 2, 3, 4,
4996 36,
4997 OPC_MoveParent,
4998 OPC_CheckTypeI32,
4999 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
5000 MVT::i64, 1, 0,
5001 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
5002 MVT::i64, 2, 1, 0,
5003 OPC_EmitInteger32, 2,
5004 OPC_EmitInteger32, 126,
5005 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5006 MVT::i64, 3, 2, 3, 4,
5007 OPC_EmitStringInteger32, PPC::sub_32,
5008 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5009 MVT::i32, 2, 5, 6,
5010 0,
5011 71,
5012 OPC_CheckChild2CondCode, ISD::SETLE,
5013 OPC_Scope, 29,
5014 OPC_CheckType, MVT::i1,
5015 OPC_MoveParent,
5016 OPC_CheckTypeI64,
5017 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
5018 MVT::i64, 1, 0,
5019 OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
5020 MVT::i64, 2, 0, 1,
5021 OPC_EmitInteger32, 2,
5022 OPC_EmitInteger32, 126,
5023 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5024 MVT::i64, 3, 2, 3, 4,
5025 36,
5026 OPC_MoveParent,
5027 OPC_CheckTypeI32,
5028 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
5029 MVT::i64, 1, 0,
5030 OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
5031 MVT::i64, 2, 0, 1,
5032 OPC_EmitInteger32, 2,
5033 OPC_EmitInteger32, 126,
5034 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5035 MVT::i64, 3, 2, 3, 4,
5036 OPC_EmitStringInteger32, PPC::sub_32,
5037 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5038 MVT::i32, 2, 5, 6,
5039 0,
5040 83,
5041 OPC_CheckChild2CondCode, ISD::SETNE,
5042 OPC_Scope, 35,
5043 OPC_CheckType, MVT::i1,
5044 OPC_MoveParent,
5045 OPC_CheckTypeI64,
5046 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
5047 MVT::i64, 1, 0,
5048 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
5049 MVT::i64, 1, 0,
5050 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
5051 MVT::i64, 2, 1, 2,
5052 OPC_EmitInteger32, 116,
5053 OPC_EmitInteger32, 126,
5054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5055 MVT::i64, 3, 3, 4, 5,
5056 42,
5057 OPC_MoveParent,
5058 OPC_CheckTypeI32,
5059 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
5060 MVT::i64, 1, 0,
5061 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
5062 MVT::i64, 1, 0,
5063 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
5064 MVT::i64, 2, 1, 2,
5065 OPC_EmitInteger32, 116,
5066 OPC_EmitInteger32, 126,
5067 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5068 MVT::i64, 3, 3, 4, 5,
5069 OPC_EmitStringInteger32, PPC::sub_32,
5070 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5071 MVT::i32, 2, 6, 7,
5072 0,
5073 0,
5074 10|128,2,
5075 OPC_CheckChild1Integer, 3,
5076 OPC_Scope, 45,
5077 OPC_CheckChild2CondCode, ISD::SETLE,
5078 OPC_Scope, 16,
5079 OPC_CheckType, MVT::i1,
5080 OPC_MoveParent,
5081 OPC_CheckTypeI64,
5082 OPC_EmitInteger32, 2,
5083 OPC_EmitInteger32, 126,
5084 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5085 MVT::i64, 3, 0, 1, 2,
5086 23,
5087 OPC_MoveParent,
5088 OPC_CheckTypeI32,
5089 OPC_EmitInteger32, 2,
5090 OPC_EmitInteger32, 126,
5091 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5092 MVT::i64, 3, 0, 1, 2,
5093 OPC_EmitStringInteger32, PPC::sub_32,
5094 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5095 MVT::i32, 2, 3, 4,
5096 0,
5097 59,
5098 OPC_CheckChild2CondCode, ISD::SETGT,
5099 OPC_Scope, 23,
5100 OPC_CheckType, MVT::i1,
5101 OPC_MoveParent,
5102 OPC_CheckTypeI64,
5103 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
5104 MVT::i64, 2, 0, 0,
5105 OPC_EmitInteger32, 2,
5106 OPC_EmitInteger32, 126,
5107 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5108 MVT::i64, 3, 1, 2, 3,
5109 30,
5110 OPC_MoveParent,
5111 OPC_CheckTypeI32,
5112 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
5113 MVT::i64, 2, 0, 0,
5114 OPC_EmitInteger32, 2,
5115 OPC_EmitInteger32, 126,
5116 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5117 MVT::i64, 3, 1, 2, 3,
5118 OPC_EmitStringInteger32, PPC::sub_32,
5119 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5120 MVT::i32, 2, 4, 5,
5121 0,
5122 77,
5123 OPC_CheckChild2CondCode, ISD::SETLT,
5124 OPC_Scope, 32,
5125 OPC_CheckType, MVT::i1,
5126 OPC_MoveParent,
5127 OPC_CheckTypeI64,
5128 OPC_EmitInteger64, 2,
5129 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
5130 MVT::i64, 2, 0, 1,
5131 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
5132 MVT::i64, 2, 0, 2,
5133 OPC_EmitInteger32, 2,
5134 OPC_EmitInteger32, 126,
5135 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5136 MVT::i64, 3, 3, 4, 5,
5137 39,
5138 OPC_MoveParent,
5139 OPC_CheckTypeI32,
5140 OPC_EmitInteger64, 2,
5141 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
5142 MVT::i64, 2, 0, 1,
5143 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
5144 MVT::i64, 2, 0, 2,
5145 OPC_EmitInteger32, 2,
5146 OPC_EmitInteger32, 126,
5147 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5148 MVT::i64, 3, 3, 4, 5,
5149 OPC_EmitStringInteger32, PPC::sub_32,
5150 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5151 MVT::i32, 2, 6, 7,
5152 0,
5153 77,
5154 OPC_CheckChild2CondCode, ISD::SETGE,
5155 OPC_Scope, 32,
5156 OPC_CheckType, MVT::i1,
5157 OPC_MoveParent,
5158 OPC_CheckTypeI64,
5159 OPC_EmitInteger64, 2,
5160 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
5161 MVT::i64, 2, 0, 1,
5162 OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
5163 MVT::i64, 2, 0, 2,
5164 OPC_EmitInteger32, 2,
5165 OPC_EmitInteger32, 126,
5166 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
5167 MVT::i64, 3, 3, 4, 5,
5168 39,
5169 OPC_MoveParent,
5170 OPC_CheckTypeI32,
5171 OPC_EmitInteger64, 2,
5172 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
5173 MVT::i64, 2, 0, 1,
5174 OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
5175 MVT::i64, 2, 0, 2,
5176 OPC_EmitInteger32, 2,
5177 OPC_EmitInteger32, 126,
5178 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
5179 MVT::i64, 3, 3, 4, 5,
5180 OPC_EmitStringInteger32, PPC::sub_32,
5181 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5182 MVT::i32, 2, 6, 7,
5183 0,
5184 0,
5185 65|128,15,
5186 OPC_RecordChild1,
5187 OPC_Scope, 68|128,9,
5188 OPC_MoveChild1,
5189 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5190 OPC_Scope, 62,
5191 OPC_CheckPredicate0,
5192 OPC_MoveParent,
5193 OPC_CheckChild2CondCode, ISD::SETUGE,
5194 OPC_Scope, 26,
5195 OPC_MoveParent,
5196 OPC_CheckTypeI32,
5197 OPC_CheckPatternPredicate4,
5198 OPC_EmitConvertToTarget1,
5199 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5200 MVT::i32, 2, 0, 2,
5201 OPC_EmitStringInteger32, PPC::sub_lt,
5202 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5203 MVT::i1, 2, 3, 4,
5204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5205 MVT::i32, 1, 5,
5206 28,
5207 OPC_CheckType, MVT::i1,
5208 OPC_MoveParent,
5209 OPC_CheckTypeI64,
5210 OPC_CheckPatternPredicate4,
5211 OPC_EmitConvertToTarget1,
5212 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5213 MVT::i32, 2, 0, 2,
5214 OPC_EmitStringInteger32, PPC::sub_lt,
5215 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5216 MVT::i1, 2, 3, 4,
5217 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5218 MVT::i64, 1, 5,
5219 0,
5220 63,
5221 OPC_CheckPredicate, 12,
5222 OPC_MoveParent,
5223 OPC_CheckChild2CondCode, ISD::SETGE,
5224 OPC_Scope, 26,
5225 OPC_MoveParent,
5226 OPC_CheckTypeI32,
5227 OPC_CheckPatternPredicate4,
5228 OPC_EmitConvertToTarget1,
5229 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5230 MVT::i32, 2, 0, 2,
5231 OPC_EmitStringInteger32, PPC::sub_lt,
5232 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5233 MVT::i1, 2, 3, 4,
5234 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5235 MVT::i32, 1, 5,
5236 28,
5237 OPC_CheckType, MVT::i1,
5238 OPC_MoveParent,
5239 OPC_CheckTypeI64,
5240 OPC_CheckPatternPredicate4,
5241 OPC_EmitConvertToTarget1,
5242 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5243 MVT::i32, 2, 0, 2,
5244 OPC_EmitStringInteger32, PPC::sub_lt,
5245 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5246 MVT::i1, 2, 3, 4,
5247 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5248 MVT::i64, 1, 5,
5249 0,
5250 62,
5251 OPC_CheckPredicate0,
5252 OPC_MoveParent,
5253 OPC_CheckChild2CondCode, ISD::SETULE,
5254 OPC_Scope, 26,
5255 OPC_MoveParent,
5256 OPC_CheckTypeI32,
5257 OPC_CheckPatternPredicate4,
5258 OPC_EmitConvertToTarget1,
5259 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5260 MVT::i32, 2, 0, 2,
5261 OPC_EmitStringInteger32, PPC::sub_gt,
5262 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5263 MVT::i1, 2, 3, 4,
5264 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5265 MVT::i32, 1, 5,
5266 28,
5267 OPC_CheckType, MVT::i1,
5268 OPC_MoveParent,
5269 OPC_CheckTypeI64,
5270 OPC_CheckPatternPredicate4,
5271 OPC_EmitConvertToTarget1,
5272 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5273 MVT::i32, 2, 0, 2,
5274 OPC_EmitStringInteger32, PPC::sub_gt,
5275 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5276 MVT::i1, 2, 3, 4,
5277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5278 MVT::i64, 1, 5,
5279 0,
5280 127,
5281 OPC_CheckPredicate, 12,
5282 OPC_MoveParent,
5283 OPC_Scope, 60,
5284 OPC_CheckChild2CondCode, ISD::SETLE,
5285 OPC_Scope, 26,
5286 OPC_MoveParent,
5287 OPC_CheckTypeI32,
5288 OPC_CheckPatternPredicate4,
5289 OPC_EmitConvertToTarget1,
5290 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5291 MVT::i32, 2, 0, 2,
5292 OPC_EmitStringInteger32, PPC::sub_gt,
5293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5294 MVT::i1, 2, 3, 4,
5295 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5296 MVT::i32, 1, 5,
5297 28,
5298 OPC_CheckType, MVT::i1,
5299 OPC_MoveParent,
5300 OPC_CheckTypeI64,
5301 OPC_CheckPatternPredicate4,
5302 OPC_EmitConvertToTarget1,
5303 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5304 MVT::i32, 2, 0, 2,
5305 OPC_EmitStringInteger32, PPC::sub_gt,
5306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5307 MVT::i1, 2, 3, 4,
5308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5309 MVT::i64, 1, 5,
5310 0,
5311 60,
5312 OPC_CheckChild2CondCode, ISD::SETNE,
5313 OPC_Scope, 26,
5314 OPC_MoveParent,
5315 OPC_CheckTypeI32,
5316 OPC_CheckPatternPredicate4,
5317 OPC_EmitConvertToTarget1,
5318 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5319 MVT::i32, 2, 0, 2,
5320 OPC_EmitStringInteger32, PPC::sub_eq,
5321 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5322 MVT::i1, 2, 3, 4,
5323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5324 MVT::i32, 1, 5,
5325 28,
5326 OPC_CheckType, MVT::i1,
5327 OPC_MoveParent,
5328 OPC_CheckTypeI64,
5329 OPC_CheckPatternPredicate4,
5330 OPC_EmitConvertToTarget1,
5331 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5332 MVT::i32, 2, 0, 2,
5333 OPC_EmitStringInteger32, PPC::sub_eq,
5334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5335 MVT::i1, 2, 3, 4,
5336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5337 MVT::i64, 1, 5,
5338 0,
5339 0,
5340 62,
5341 OPC_CheckPredicate0,
5342 OPC_MoveParent,
5343 OPC_CheckChild2CondCode, ISD::SETNE,
5344 OPC_Scope, 26,
5345 OPC_MoveParent,
5346 OPC_CheckTypeI32,
5347 OPC_CheckPatternPredicate4,
5348 OPC_EmitConvertToTarget1,
5349 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5350 MVT::i32, 2, 0, 2,
5351 OPC_EmitStringInteger32, PPC::sub_eq,
5352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5353 MVT::i1, 2, 3, 4,
5354 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5355 MVT::i32, 1, 5,
5356 28,
5357 OPC_CheckType, MVT::i1,
5358 OPC_MoveParent,
5359 OPC_CheckTypeI64,
5360 OPC_CheckPatternPredicate4,
5361 OPC_EmitConvertToTarget1,
5362 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5363 MVT::i32, 2, 0, 2,
5364 OPC_EmitStringInteger32, PPC::sub_eq,
5365 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5366 MVT::i1, 2, 3, 4,
5367 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5368 MVT::i64, 1, 5,
5369 0,
5370 91,
5371 OPC_CheckPredicate, 22,
5372 OPC_MoveParent,
5373 OPC_CheckChild2CondCode, ISD::SETNE,
5374 OPC_Scope, 40,
5375 OPC_MoveParent,
5376 OPC_CheckTypeI32,
5377 OPC_CheckPatternPredicate4,
5378 OPC_EmitConvertToTarget1,
5379 OPC_EmitNodeXForm, 0, 2,
5380 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
5381 MVT::i64, 2, 0, 3,
5382 OPC_EmitConvertToTarget1,
5383 OPC_EmitNodeXForm, 1, 5,
5384 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5385 MVT::i32, 2, 4, 6,
5386 OPC_EmitStringInteger32, PPC::sub_eq,
5387 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5388 MVT::i1, 2, 7, 8,
5389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5390 MVT::i32, 1, 9,
5391 42,
5392 OPC_CheckType, MVT::i1,
5393 OPC_MoveParent,
5394 OPC_CheckTypeI64,
5395 OPC_CheckPatternPredicate4,
5396 OPC_EmitConvertToTarget1,
5397 OPC_EmitNodeXForm, 0, 2,
5398 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
5399 MVT::i64, 2, 0, 3,
5400 OPC_EmitConvertToTarget1,
5401 OPC_EmitNodeXForm, 1, 5,
5402 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5403 MVT::i32, 2, 4, 6,
5404 OPC_EmitStringInteger32, PPC::sub_eq,
5405 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5406 MVT::i1, 2, 7, 8,
5407 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5408 MVT::i64, 1, 9,
5409 0,
5410 100,
5411 OPC_CheckPredicate0,
5412 OPC_MoveParent,
5413 OPC_CheckChild2CondCode, ISD::SETUGE,
5414 OPC_Scope, 45,
5415 OPC_MoveParent,
5416 OPC_CheckTypeI32,
5417 OPC_CheckPatternPredicate, 8,
5418 OPC_EmitConvertToTarget1,
5419 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5420 MVT::i32, 2, 0, 2,
5421 OPC_EmitStringInteger32, PPC::sub_lt,
5422 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5423 MVT::i1, 2, 3, 4,
5424 OPC_EmitInteger32, 0,
5425 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5426 MVT::i32, 1, 6,
5427 OPC_EmitInteger32, 2,
5428 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5429 MVT::i32, 1, 8,
5430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5431 MVT::i32, 3, 5, 7, 9,
5432 47,
5433 OPC_CheckType, MVT::i1,
5434 OPC_MoveParent,
5435 OPC_CheckTypeI64,
5436 OPC_CheckPatternPredicate, 8,
5437 OPC_EmitConvertToTarget1,
5438 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5439 MVT::i32, 2, 0, 2,
5440 OPC_EmitStringInteger32, PPC::sub_lt,
5441 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5442 MVT::i1, 2, 3, 4,
5443 OPC_EmitInteger64, 0,
5444 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5445 MVT::i64, 1, 6,
5446 OPC_EmitInteger64, 2,
5447 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5448 MVT::i64, 1, 8,
5449 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5450 MVT::i64, 3, 5, 7, 9,
5451 0,
5452 101,
5453 OPC_CheckPredicate, 12,
5454 OPC_MoveParent,
5455 OPC_CheckChild2CondCode, ISD::SETGE,
5456 OPC_Scope, 45,
5457 OPC_MoveParent,
5458 OPC_CheckTypeI32,
5459 OPC_CheckPatternPredicate, 8,
5460 OPC_EmitConvertToTarget1,
5461 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5462 MVT::i32, 2, 0, 2,
5463 OPC_EmitStringInteger32, PPC::sub_lt,
5464 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5465 MVT::i1, 2, 3, 4,
5466 OPC_EmitInteger32, 0,
5467 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5468 MVT::i32, 1, 6,
5469 OPC_EmitInteger32, 2,
5470 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5471 MVT::i32, 1, 8,
5472 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5473 MVT::i32, 3, 5, 7, 9,
5474 47,
5475 OPC_CheckType, MVT::i1,
5476 OPC_MoveParent,
5477 OPC_CheckTypeI64,
5478 OPC_CheckPatternPredicate, 8,
5479 OPC_EmitConvertToTarget1,
5480 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5481 MVT::i32, 2, 0, 2,
5482 OPC_EmitStringInteger32, PPC::sub_lt,
5483 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5484 MVT::i1, 2, 3, 4,
5485 OPC_EmitInteger64, 0,
5486 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5487 MVT::i64, 1, 6,
5488 OPC_EmitInteger64, 2,
5489 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5490 MVT::i64, 1, 8,
5491 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5492 MVT::i64, 3, 5, 7, 9,
5493 0,
5494 100,
5495 OPC_CheckPredicate0,
5496 OPC_MoveParent,
5497 OPC_CheckChild2CondCode, ISD::SETULE,
5498 OPC_Scope, 45,
5499 OPC_MoveParent,
5500 OPC_CheckTypeI32,
5501 OPC_CheckPatternPredicate, 8,
5502 OPC_EmitConvertToTarget1,
5503 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5504 MVT::i32, 2, 0, 2,
5505 OPC_EmitStringInteger32, PPC::sub_gt,
5506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5507 MVT::i1, 2, 3, 4,
5508 OPC_EmitInteger32, 0,
5509 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5510 MVT::i32, 1, 6,
5511 OPC_EmitInteger32, 2,
5512 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5513 MVT::i32, 1, 8,
5514 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5515 MVT::i32, 3, 5, 7, 9,
5516 47,
5517 OPC_CheckType, MVT::i1,
5518 OPC_MoveParent,
5519 OPC_CheckTypeI64,
5520 OPC_CheckPatternPredicate, 8,
5521 OPC_EmitConvertToTarget1,
5522 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5523 MVT::i32, 2, 0, 2,
5524 OPC_EmitStringInteger32, PPC::sub_gt,
5525 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5526 MVT::i1, 2, 3, 4,
5527 OPC_EmitInteger64, 0,
5528 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5529 MVT::i64, 1, 6,
5530 OPC_EmitInteger64, 2,
5531 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5532 MVT::i64, 1, 8,
5533 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5534 MVT::i64, 3, 5, 7, 9,
5535 0,
5536 75|128,1,
5537 OPC_CheckPredicate, 12,
5538 OPC_MoveParent,
5539 OPC_Scope, 98,
5540 OPC_CheckChild2CondCode, ISD::SETLE,
5541 OPC_Scope, 45,
5542 OPC_MoveParent,
5543 OPC_CheckTypeI32,
5544 OPC_CheckPatternPredicate, 8,
5545 OPC_EmitConvertToTarget1,
5546 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5547 MVT::i32, 2, 0, 2,
5548 OPC_EmitStringInteger32, PPC::sub_gt,
5549 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5550 MVT::i1, 2, 3, 4,
5551 OPC_EmitInteger32, 0,
5552 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5553 MVT::i32, 1, 6,
5554 OPC_EmitInteger32, 2,
5555 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5556 MVT::i32, 1, 8,
5557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5558 MVT::i32, 3, 5, 7, 9,
5559 47,
5560 OPC_CheckType, MVT::i1,
5561 OPC_MoveParent,
5562 OPC_CheckTypeI64,
5563 OPC_CheckPatternPredicate, 8,
5564 OPC_EmitConvertToTarget1,
5565 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5566 MVT::i32, 2, 0, 2,
5567 OPC_EmitStringInteger32, PPC::sub_gt,
5568 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5569 MVT::i1, 2, 3, 4,
5570 OPC_EmitInteger64, 0,
5571 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5572 MVT::i64, 1, 6,
5573 OPC_EmitInteger64, 2,
5574 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5575 MVT::i64, 1, 8,
5576 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5577 MVT::i64, 3, 5, 7, 9,
5578 0,
5579 98,
5580 OPC_CheckChild2CondCode, ISD::SETNE,
5581 OPC_Scope, 45,
5582 OPC_MoveParent,
5583 OPC_CheckTypeI32,
5584 OPC_CheckPatternPredicate, 8,
5585 OPC_EmitConvertToTarget1,
5586 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5587 MVT::i32, 2, 0, 2,
5588 OPC_EmitStringInteger32, PPC::sub_eq,
5589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5590 MVT::i1, 2, 3, 4,
5591 OPC_EmitInteger32, 0,
5592 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5593 MVT::i32, 1, 6,
5594 OPC_EmitInteger32, 2,
5595 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5596 MVT::i32, 1, 8,
5597 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5598 MVT::i32, 3, 5, 7, 9,
5599 47,
5600 OPC_CheckType, MVT::i1,
5601 OPC_MoveParent,
5602 OPC_CheckTypeI64,
5603 OPC_CheckPatternPredicate, 8,
5604 OPC_EmitConvertToTarget1,
5605 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
5606 MVT::i32, 2, 0, 2,
5607 OPC_EmitStringInteger32, PPC::sub_eq,
5608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5609 MVT::i1, 2, 3, 4,
5610 OPC_EmitInteger64, 0,
5611 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5612 MVT::i64, 1, 6,
5613 OPC_EmitInteger64, 2,
5614 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5615 MVT::i64, 1, 8,
5616 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5617 MVT::i64, 3, 5, 7, 9,
5618 0,
5619 0,
5620 100,
5621 OPC_CheckPredicate0,
5622 OPC_MoveParent,
5623 OPC_CheckChild2CondCode, ISD::SETNE,
5624 OPC_Scope, 45,
5625 OPC_MoveParent,
5626 OPC_CheckTypeI32,
5627 OPC_CheckPatternPredicate, 8,
5628 OPC_EmitConvertToTarget1,
5629 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5630 MVT::i32, 2, 0, 2,
5631 OPC_EmitStringInteger32, PPC::sub_eq,
5632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5633 MVT::i1, 2, 3, 4,
5634 OPC_EmitInteger32, 0,
5635 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5636 MVT::i32, 1, 6,
5637 OPC_EmitInteger32, 2,
5638 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5639 MVT::i32, 1, 8,
5640 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5641 MVT::i32, 3, 5, 7, 9,
5642 47,
5643 OPC_CheckType, MVT::i1,
5644 OPC_MoveParent,
5645 OPC_CheckTypeI64,
5646 OPC_CheckPatternPredicate, 8,
5647 OPC_EmitConvertToTarget1,
5648 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5649 MVT::i32, 2, 0, 2,
5650 OPC_EmitStringInteger32, PPC::sub_eq,
5651 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5652 MVT::i1, 2, 3, 4,
5653 OPC_EmitInteger64, 0,
5654 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5655 MVT::i64, 1, 6,
5656 OPC_EmitInteger64, 2,
5657 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5658 MVT::i64, 1, 8,
5659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5660 MVT::i64, 3, 5, 7, 9,
5661 0,
5662 1|128,1,
5663 OPC_CheckPredicate, 22,
5664 OPC_MoveParent,
5665 OPC_CheckChild2CondCode, ISD::SETNE,
5666 OPC_Scope, 59,
5667 OPC_MoveParent,
5668 OPC_CheckTypeI32,
5669 OPC_CheckPatternPredicate, 8,
5670 OPC_EmitConvertToTarget1,
5671 OPC_EmitNodeXForm, 0, 2,
5672 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
5673 MVT::i64, 2, 0, 3,
5674 OPC_EmitConvertToTarget1,
5675 OPC_EmitNodeXForm, 1, 5,
5676 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5677 MVT::i32, 2, 4, 6,
5678 OPC_EmitStringInteger32, PPC::sub_eq,
5679 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5680 MVT::i1, 2, 7, 8,
5681 OPC_EmitInteger32, 0,
5682 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5683 MVT::i32, 1, 10,
5684 OPC_EmitInteger32, 2,
5685 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5686 MVT::i32, 1, 12,
5687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5688 MVT::i32, 3, 9, 11, 13,
5689 61,
5690 OPC_CheckType, MVT::i1,
5691 OPC_MoveParent,
5692 OPC_CheckTypeI64,
5693 OPC_CheckPatternPredicate, 8,
5694 OPC_EmitConvertToTarget1,
5695 OPC_EmitNodeXForm, 0, 2,
5696 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
5697 MVT::i64, 2, 0, 3,
5698 OPC_EmitConvertToTarget1,
5699 OPC_EmitNodeXForm, 1, 5,
5700 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
5701 MVT::i32, 2, 4, 6,
5702 OPC_EmitStringInteger32, PPC::sub_eq,
5703 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5704 MVT::i1, 2, 7, 8,
5705 OPC_EmitInteger64, 0,
5706 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5707 MVT::i64, 1, 10,
5708 OPC_EmitInteger64, 2,
5709 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5710 MVT::i64, 1, 12,
5711 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5712 MVT::i64, 3, 9, 11, 13,
5713 0,
5714 0,
5715 22|128,1,
5716 OPC_CheckChild2CondCode, ISD::SETUGE,
5717 OPC_Scope, 25,
5718 OPC_MoveParent,
5719 OPC_CheckTypeI32,
5720 OPC_CheckPatternPredicate4,
5721 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5722 MVT::i32, 2, 0, 1,
5723 OPC_EmitStringInteger32, PPC::sub_lt,
5724 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5725 MVT::i1, 2, 2, 3,
5726 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5727 MVT::i32, 1, 4,
5728 27,
5729 OPC_CheckType, MVT::i1,
5730 OPC_MoveParent,
5731 OPC_CheckTypeI64,
5732 OPC_CheckPatternPredicate4,
5733 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5734 MVT::i32, 2, 0, 1,
5735 OPC_EmitStringInteger32, PPC::sub_lt,
5736 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5737 MVT::i1, 2, 2, 3,
5738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5739 MVT::i64, 1, 4,
5740 44,
5741 OPC_MoveParent,
5742 OPC_CheckTypeI32,
5743 OPC_CheckPatternPredicate, 8,
5744 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5745 MVT::i32, 2, 0, 1,
5746 OPC_EmitStringInteger32, PPC::sub_lt,
5747 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5748 MVT::i1, 2, 2, 3,
5749 OPC_EmitInteger32, 0,
5750 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5751 MVT::i32, 1, 5,
5752 OPC_EmitInteger32, 2,
5753 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5754 MVT::i32, 1, 7,
5755 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5756 MVT::i32, 3, 4, 6, 8,
5757 46,
5758 OPC_CheckType, MVT::i1,
5759 OPC_MoveParent,
5760 OPC_CheckTypeI64,
5761 OPC_CheckPatternPredicate, 8,
5762 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5763 MVT::i32, 2, 0, 1,
5764 OPC_EmitStringInteger32, PPC::sub_lt,
5765 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5766 MVT::i1, 2, 2, 3,
5767 OPC_EmitInteger64, 0,
5768 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5769 MVT::i64, 1, 5,
5770 OPC_EmitInteger64, 2,
5771 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5772 MVT::i64, 1, 7,
5773 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5774 MVT::i64, 3, 4, 6, 8,
5775 0,
5776 22|128,1,
5777 OPC_CheckChild2CondCode, ISD::SETGE,
5778 OPC_Scope, 25,
5779 OPC_MoveParent,
5780 OPC_CheckTypeI32,
5781 OPC_CheckPatternPredicate4,
5782 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5783 MVT::i32, 2, 0, 1,
5784 OPC_EmitStringInteger32, PPC::sub_lt,
5785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5786 MVT::i1, 2, 2, 3,
5787 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5788 MVT::i32, 1, 4,
5789 27,
5790 OPC_CheckType, MVT::i1,
5791 OPC_MoveParent,
5792 OPC_CheckTypeI64,
5793 OPC_CheckPatternPredicate4,
5794 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5795 MVT::i32, 2, 0, 1,
5796 OPC_EmitStringInteger32, PPC::sub_lt,
5797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5798 MVT::i1, 2, 2, 3,
5799 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5800 MVT::i64, 1, 4,
5801 44,
5802 OPC_MoveParent,
5803 OPC_CheckTypeI32,
5804 OPC_CheckPatternPredicate, 8,
5805 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5806 MVT::i32, 2, 0, 1,
5807 OPC_EmitStringInteger32, PPC::sub_lt,
5808 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5809 MVT::i1, 2, 2, 3,
5810 OPC_EmitInteger32, 0,
5811 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5812 MVT::i32, 1, 5,
5813 OPC_EmitInteger32, 2,
5814 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5815 MVT::i32, 1, 7,
5816 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5817 MVT::i32, 3, 4, 6, 8,
5818 46,
5819 OPC_CheckType, MVT::i1,
5820 OPC_MoveParent,
5821 OPC_CheckTypeI64,
5822 OPC_CheckPatternPredicate, 8,
5823 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5824 MVT::i32, 2, 0, 1,
5825 OPC_EmitStringInteger32, PPC::sub_lt,
5826 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5827 MVT::i1, 2, 2, 3,
5828 OPC_EmitInteger64, 0,
5829 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5830 MVT::i64, 1, 5,
5831 OPC_EmitInteger64, 2,
5832 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5833 MVT::i64, 1, 7,
5834 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5835 MVT::i64, 3, 4, 6, 8,
5836 0,
5837 22|128,1,
5838 OPC_CheckChild2CondCode, ISD::SETULE,
5839 OPC_Scope, 25,
5840 OPC_MoveParent,
5841 OPC_CheckTypeI32,
5842 OPC_CheckPatternPredicate4,
5843 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5844 MVT::i32, 2, 0, 1,
5845 OPC_EmitStringInteger32, PPC::sub_gt,
5846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5847 MVT::i1, 2, 2, 3,
5848 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5849 MVT::i32, 1, 4,
5850 27,
5851 OPC_CheckType, MVT::i1,
5852 OPC_MoveParent,
5853 OPC_CheckTypeI64,
5854 OPC_CheckPatternPredicate4,
5855 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5856 MVT::i32, 2, 0, 1,
5857 OPC_EmitStringInteger32, PPC::sub_gt,
5858 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5859 MVT::i1, 2, 2, 3,
5860 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5861 MVT::i64, 1, 4,
5862 44,
5863 OPC_MoveParent,
5864 OPC_CheckTypeI32,
5865 OPC_CheckPatternPredicate, 8,
5866 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5867 MVT::i32, 2, 0, 1,
5868 OPC_EmitStringInteger32, PPC::sub_gt,
5869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5870 MVT::i1, 2, 2, 3,
5871 OPC_EmitInteger32, 0,
5872 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5873 MVT::i32, 1, 5,
5874 OPC_EmitInteger32, 2,
5875 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5876 MVT::i32, 1, 7,
5877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5878 MVT::i32, 3, 4, 6, 8,
5879 46,
5880 OPC_CheckType, MVT::i1,
5881 OPC_MoveParent,
5882 OPC_CheckTypeI64,
5883 OPC_CheckPatternPredicate, 8,
5884 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
5885 MVT::i32, 2, 0, 1,
5886 OPC_EmitStringInteger32, PPC::sub_gt,
5887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5888 MVT::i1, 2, 2, 3,
5889 OPC_EmitInteger64, 0,
5890 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5891 MVT::i64, 1, 5,
5892 OPC_EmitInteger64, 2,
5893 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5894 MVT::i64, 1, 7,
5895 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5896 MVT::i64, 3, 4, 6, 8,
5897 0,
5898 22|128,1,
5899 OPC_CheckChild2CondCode, ISD::SETLE,
5900 OPC_Scope, 25,
5901 OPC_MoveParent,
5902 OPC_CheckTypeI32,
5903 OPC_CheckPatternPredicate4,
5904 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5905 MVT::i32, 2, 0, 1,
5906 OPC_EmitStringInteger32, PPC::sub_gt,
5907 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5908 MVT::i1, 2, 2, 3,
5909 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5910 MVT::i32, 1, 4,
5911 27,
5912 OPC_CheckType, MVT::i1,
5913 OPC_MoveParent,
5914 OPC_CheckTypeI64,
5915 OPC_CheckPatternPredicate4,
5916 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5917 MVT::i32, 2, 0, 1,
5918 OPC_EmitStringInteger32, PPC::sub_gt,
5919 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5920 MVT::i1, 2, 2, 3,
5921 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5922 MVT::i64, 1, 4,
5923 44,
5924 OPC_MoveParent,
5925 OPC_CheckTypeI32,
5926 OPC_CheckPatternPredicate, 8,
5927 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5928 MVT::i32, 2, 0, 1,
5929 OPC_EmitStringInteger32, PPC::sub_gt,
5930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5931 MVT::i1, 2, 2, 3,
5932 OPC_EmitInteger32, 0,
5933 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5934 MVT::i32, 1, 5,
5935 OPC_EmitInteger32, 2,
5936 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5937 MVT::i32, 1, 7,
5938 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
5939 MVT::i32, 3, 4, 6, 8,
5940 46,
5941 OPC_CheckType, MVT::i1,
5942 OPC_MoveParent,
5943 OPC_CheckTypeI64,
5944 OPC_CheckPatternPredicate, 8,
5945 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5946 MVT::i32, 2, 0, 1,
5947 OPC_EmitStringInteger32, PPC::sub_gt,
5948 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5949 MVT::i1, 2, 2, 3,
5950 OPC_EmitInteger64, 0,
5951 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5952 MVT::i64, 1, 5,
5953 OPC_EmitInteger64, 2,
5954 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
5955 MVT::i64, 1, 7,
5956 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
5957 MVT::i64, 3, 4, 6, 8,
5958 0,
5959 22|128,1,
5960 OPC_CheckChild2CondCode, ISD::SETNE,
5961 OPC_Scope, 25,
5962 OPC_MoveParent,
5963 OPC_CheckTypeI32,
5964 OPC_CheckPatternPredicate4,
5965 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5966 MVT::i32, 2, 0, 1,
5967 OPC_EmitStringInteger32, PPC::sub_eq,
5968 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5969 MVT::i1, 2, 2, 3,
5970 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
5971 MVT::i32, 1, 4,
5972 27,
5973 OPC_CheckType, MVT::i1,
5974 OPC_MoveParent,
5975 OPC_CheckTypeI64,
5976 OPC_CheckPatternPredicate4,
5977 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5978 MVT::i32, 2, 0, 1,
5979 OPC_EmitStringInteger32, PPC::sub_eq,
5980 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5981 MVT::i1, 2, 2, 3,
5982 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
5983 MVT::i64, 1, 4,
5984 44,
5985 OPC_MoveParent,
5986 OPC_CheckTypeI32,
5987 OPC_CheckPatternPredicate, 8,
5988 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
5989 MVT::i32, 2, 0, 1,
5990 OPC_EmitStringInteger32, PPC::sub_eq,
5991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
5992 MVT::i1, 2, 2, 3,
5993 OPC_EmitInteger32, 0,
5994 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5995 MVT::i32, 1, 5,
5996 OPC_EmitInteger32, 2,
5997 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
5998 MVT::i32, 1, 7,
5999 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6000 MVT::i32, 3, 4, 6, 8,
6001 46,
6002 OPC_CheckType, MVT::i1,
6003 OPC_MoveParent,
6004 OPC_CheckTypeI64,
6005 OPC_CheckPatternPredicate, 8,
6006 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
6007 MVT::i32, 2, 0, 1,
6008 OPC_EmitStringInteger32, PPC::sub_eq,
6009 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6010 MVT::i1, 2, 2, 3,
6011 OPC_EmitInteger64, 0,
6012 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6013 MVT::i64, 1, 5,
6014 OPC_EmitInteger64, 2,
6015 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6016 MVT::i64, 1, 7,
6017 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6018 MVT::i64, 3, 4, 6, 8,
6019 0,
6020 0,
6021 0,
6022 73|128,12,
6023 OPC_CheckChild0Type, MVT::f32,
6024 OPC_RecordChild1,
6025 OPC_Scope, 112|128,1,
6026 OPC_CheckChild2CondCode, ISD::SETUGE,
6027 OPC_Scope, 26,
6028 OPC_MoveParent,
6029 OPC_CheckTypeI32,
6030 OPC_CheckPatternPredicate, 10,
6031 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6032 MVT::i32, 2, 0, 1,
6033 OPC_EmitStringInteger32, PPC::sub_lt,
6034 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6035 MVT::i1, 2, 2, 3,
6036 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6037 MVT::i32, 1, 4,
6038 28,
6039 OPC_CheckType, MVT::i1,
6040 OPC_MoveParent,
6041 OPC_CheckTypeI64,
6042 OPC_CheckPatternPredicate, 10,
6043 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6044 MVT::i32, 2, 0, 1,
6045 OPC_EmitStringInteger32, PPC::sub_lt,
6046 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6047 MVT::i1, 2, 2, 3,
6048 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6049 MVT::i64, 1, 4,
6050 43,
6051 OPC_MoveParent,
6052 OPC_CheckTypeI32,
6053 OPC_CheckPatternPredicate0,
6054 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6055 MVT::i32, 2, 0, 1,
6056 OPC_EmitStringInteger32, PPC::sub_lt,
6057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6058 MVT::i1, 2, 2, 3,
6059 OPC_EmitInteger32, 0,
6060 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6061 MVT::i32, 1, 5,
6062 OPC_EmitInteger32, 2,
6063 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6064 MVT::i32, 1, 7,
6065 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6066 MVT::i32, 3, 4, 6, 8,
6067 45,
6068 OPC_CheckType, MVT::i1,
6069 OPC_MoveParent,
6070 OPC_CheckTypeI64,
6071 OPC_CheckPatternPredicate0,
6072 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6073 MVT::i32, 2, 0, 1,
6074 OPC_EmitStringInteger32, PPC::sub_lt,
6075 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6076 MVT::i1, 2, 2, 3,
6077 OPC_EmitInteger64, 0,
6078 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6079 MVT::i64, 1, 5,
6080 OPC_EmitInteger64, 2,
6081 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6082 MVT::i64, 1, 7,
6083 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6084 MVT::i64, 3, 4, 6, 8,
6085 43,
6086 OPC_MoveParent,
6087 OPC_CheckTypeI32,
6088 OPC_CheckPatternPredicate5,
6089 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
6090 MVT::i32, 2, 0, 1,
6091 OPC_EmitStringInteger32, PPC::sub_gt,
6092 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6093 MVT::i1, 2, 2, 3,
6094 OPC_EmitInteger32, 0,
6095 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6096 MVT::i32, 1, 5,
6097 OPC_EmitInteger32, 2,
6098 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6099 MVT::i32, 1, 7,
6100 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6101 MVT::i32, 3, 4, 6, 8,
6102 45,
6103 OPC_CheckType, MVT::i1,
6104 OPC_MoveParent,
6105 OPC_CheckTypeI64,
6106 OPC_CheckPatternPredicate5,
6107 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
6108 MVT::i32, 2, 0, 1,
6109 OPC_EmitStringInteger32, PPC::sub_gt,
6110 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6111 MVT::i1, 2, 2, 3,
6112 OPC_EmitInteger64, 0,
6113 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6114 MVT::i64, 1, 5,
6115 OPC_EmitInteger64, 2,
6116 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6117 MVT::i64, 1, 7,
6118 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6119 MVT::i64, 3, 4, 6, 8,
6120 0,
6121 112|128,1,
6122 OPC_CheckChild2CondCode, ISD::SETGE,
6123 OPC_Scope, 26,
6124 OPC_MoveParent,
6125 OPC_CheckTypeI32,
6126 OPC_CheckPatternPredicate, 10,
6127 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6128 MVT::i32, 2, 0, 1,
6129 OPC_EmitStringInteger32, PPC::sub_lt,
6130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6131 MVT::i1, 2, 2, 3,
6132 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6133 MVT::i32, 1, 4,
6134 28,
6135 OPC_CheckType, MVT::i1,
6136 OPC_MoveParent,
6137 OPC_CheckTypeI64,
6138 OPC_CheckPatternPredicate, 10,
6139 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6140 MVT::i32, 2, 0, 1,
6141 OPC_EmitStringInteger32, PPC::sub_lt,
6142 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6143 MVT::i1, 2, 2, 3,
6144 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6145 MVT::i64, 1, 4,
6146 43,
6147 OPC_MoveParent,
6148 OPC_CheckTypeI32,
6149 OPC_CheckPatternPredicate0,
6150 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6151 MVT::i32, 2, 0, 1,
6152 OPC_EmitStringInteger32, PPC::sub_lt,
6153 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6154 MVT::i1, 2, 2, 3,
6155 OPC_EmitInteger32, 0,
6156 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6157 MVT::i32, 1, 5,
6158 OPC_EmitInteger32, 2,
6159 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6160 MVT::i32, 1, 7,
6161 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6162 MVT::i32, 3, 4, 6, 8,
6163 45,
6164 OPC_CheckType, MVT::i1,
6165 OPC_MoveParent,
6166 OPC_CheckTypeI64,
6167 OPC_CheckPatternPredicate0,
6168 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6169 MVT::i32, 2, 0, 1,
6170 OPC_EmitStringInteger32, PPC::sub_lt,
6171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6172 MVT::i1, 2, 2, 3,
6173 OPC_EmitInteger64, 0,
6174 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6175 MVT::i64, 1, 5,
6176 OPC_EmitInteger64, 2,
6177 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6178 MVT::i64, 1, 7,
6179 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6180 MVT::i64, 3, 4, 6, 8,
6181 43,
6182 OPC_MoveParent,
6183 OPC_CheckTypeI32,
6184 OPC_CheckPatternPredicate5,
6185 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
6186 MVT::i32, 2, 0, 1,
6187 OPC_EmitStringInteger32, PPC::sub_gt,
6188 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6189 MVT::i1, 2, 2, 3,
6190 OPC_EmitInteger32, 0,
6191 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6192 MVT::i32, 1, 5,
6193 OPC_EmitInteger32, 2,
6194 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6195 MVT::i32, 1, 7,
6196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6197 MVT::i32, 3, 4, 6, 8,
6198 45,
6199 OPC_CheckType, MVT::i1,
6200 OPC_MoveParent,
6201 OPC_CheckTypeI64,
6202 OPC_CheckPatternPredicate5,
6203 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
6204 MVT::i32, 2, 0, 1,
6205 OPC_EmitStringInteger32, PPC::sub_gt,
6206 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6207 MVT::i1, 2, 2, 3,
6208 OPC_EmitInteger64, 0,
6209 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6210 MVT::i64, 1, 5,
6211 OPC_EmitInteger64, 2,
6212 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6213 MVT::i64, 1, 7,
6214 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6215 MVT::i64, 3, 4, 6, 8,
6216 0,
6217 112|128,1,
6218 OPC_CheckChild2CondCode, ISD::SETULE,
6219 OPC_Scope, 26,
6220 OPC_MoveParent,
6221 OPC_CheckTypeI32,
6222 OPC_CheckPatternPredicate, 10,
6223 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6224 MVT::i32, 2, 0, 1,
6225 OPC_EmitStringInteger32, PPC::sub_gt,
6226 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6227 MVT::i1, 2, 2, 3,
6228 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6229 MVT::i32, 1, 4,
6230 28,
6231 OPC_CheckType, MVT::i1,
6232 OPC_MoveParent,
6233 OPC_CheckTypeI64,
6234 OPC_CheckPatternPredicate, 10,
6235 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6236 MVT::i32, 2, 0, 1,
6237 OPC_EmitStringInteger32, PPC::sub_gt,
6238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6239 MVT::i1, 2, 2, 3,
6240 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6241 MVT::i64, 1, 4,
6242 43,
6243 OPC_MoveParent,
6244 OPC_CheckTypeI32,
6245 OPC_CheckPatternPredicate0,
6246 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6247 MVT::i32, 2, 0, 1,
6248 OPC_EmitStringInteger32, PPC::sub_gt,
6249 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6250 MVT::i1, 2, 2, 3,
6251 OPC_EmitInteger32, 0,
6252 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6253 MVT::i32, 1, 5,
6254 OPC_EmitInteger32, 2,
6255 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6256 MVT::i32, 1, 7,
6257 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6258 MVT::i32, 3, 4, 6, 8,
6259 45,
6260 OPC_CheckType, MVT::i1,
6261 OPC_MoveParent,
6262 OPC_CheckTypeI64,
6263 OPC_CheckPatternPredicate0,
6264 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6265 MVT::i32, 2, 0, 1,
6266 OPC_EmitStringInteger32, PPC::sub_gt,
6267 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6268 MVT::i1, 2, 2, 3,
6269 OPC_EmitInteger64, 0,
6270 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6271 MVT::i64, 1, 5,
6272 OPC_EmitInteger64, 2,
6273 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6274 MVT::i64, 1, 7,
6275 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6276 MVT::i64, 3, 4, 6, 8,
6277 43,
6278 OPC_MoveParent,
6279 OPC_CheckTypeI32,
6280 OPC_CheckPatternPredicate5,
6281 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
6282 MVT::i32, 2, 0, 1,
6283 OPC_EmitStringInteger32, PPC::sub_gt,
6284 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6285 MVT::i1, 2, 2, 3,
6286 OPC_EmitInteger32, 0,
6287 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6288 MVT::i32, 1, 5,
6289 OPC_EmitInteger32, 2,
6290 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6291 MVT::i32, 1, 7,
6292 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6293 MVT::i32, 3, 4, 6, 8,
6294 45,
6295 OPC_CheckType, MVT::i1,
6296 OPC_MoveParent,
6297 OPC_CheckTypeI64,
6298 OPC_CheckPatternPredicate5,
6299 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
6300 MVT::i32, 2, 0, 1,
6301 OPC_EmitStringInteger32, PPC::sub_gt,
6302 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6303 MVT::i1, 2, 2, 3,
6304 OPC_EmitInteger64, 0,
6305 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6306 MVT::i64, 1, 5,
6307 OPC_EmitInteger64, 2,
6308 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6309 MVT::i64, 1, 7,
6310 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6311 MVT::i64, 3, 4, 6, 8,
6312 0,
6313 112|128,1,
6314 OPC_CheckChild2CondCode, ISD::SETLE,
6315 OPC_Scope, 26,
6316 OPC_MoveParent,
6317 OPC_CheckTypeI32,
6318 OPC_CheckPatternPredicate, 10,
6319 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6320 MVT::i32, 2, 0, 1,
6321 OPC_EmitStringInteger32, PPC::sub_gt,
6322 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6323 MVT::i1, 2, 2, 3,
6324 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6325 MVT::i32, 1, 4,
6326 28,
6327 OPC_CheckType, MVT::i1,
6328 OPC_MoveParent,
6329 OPC_CheckTypeI64,
6330 OPC_CheckPatternPredicate, 10,
6331 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6332 MVT::i32, 2, 0, 1,
6333 OPC_EmitStringInteger32, PPC::sub_gt,
6334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6335 MVT::i1, 2, 2, 3,
6336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6337 MVT::i64, 1, 4,
6338 43,
6339 OPC_MoveParent,
6340 OPC_CheckTypeI32,
6341 OPC_CheckPatternPredicate0,
6342 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6343 MVT::i32, 2, 0, 1,
6344 OPC_EmitStringInteger32, PPC::sub_gt,
6345 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6346 MVT::i1, 2, 2, 3,
6347 OPC_EmitInteger32, 0,
6348 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6349 MVT::i32, 1, 5,
6350 OPC_EmitInteger32, 2,
6351 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6352 MVT::i32, 1, 7,
6353 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6354 MVT::i32, 3, 4, 6, 8,
6355 45,
6356 OPC_CheckType, MVT::i1,
6357 OPC_MoveParent,
6358 OPC_CheckTypeI64,
6359 OPC_CheckPatternPredicate0,
6360 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6361 MVT::i32, 2, 0, 1,
6362 OPC_EmitStringInteger32, PPC::sub_gt,
6363 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6364 MVT::i1, 2, 2, 3,
6365 OPC_EmitInteger64, 0,
6366 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6367 MVT::i64, 1, 5,
6368 OPC_EmitInteger64, 2,
6369 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6370 MVT::i64, 1, 7,
6371 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6372 MVT::i64, 3, 4, 6, 8,
6373 43,
6374 OPC_MoveParent,
6375 OPC_CheckTypeI32,
6376 OPC_CheckPatternPredicate5,
6377 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
6378 MVT::i32, 2, 0, 1,
6379 OPC_EmitStringInteger32, PPC::sub_gt,
6380 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6381 MVT::i1, 2, 2, 3,
6382 OPC_EmitInteger32, 0,
6383 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6384 MVT::i32, 1, 5,
6385 OPC_EmitInteger32, 2,
6386 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6387 MVT::i32, 1, 7,
6388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6389 MVT::i32, 3, 4, 6, 8,
6390 45,
6391 OPC_CheckType, MVT::i1,
6392 OPC_MoveParent,
6393 OPC_CheckTypeI64,
6394 OPC_CheckPatternPredicate5,
6395 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
6396 MVT::i32, 2, 0, 1,
6397 OPC_EmitStringInteger32, PPC::sub_gt,
6398 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6399 MVT::i1, 2, 2, 3,
6400 OPC_EmitInteger64, 0,
6401 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6402 MVT::i64, 1, 5,
6403 OPC_EmitInteger64, 2,
6404 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6405 MVT::i64, 1, 7,
6406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6407 MVT::i64, 3, 4, 6, 8,
6408 0,
6409 112|128,1,
6410 OPC_CheckChild2CondCode, ISD::SETUNE,
6411 OPC_Scope, 26,
6412 OPC_MoveParent,
6413 OPC_CheckTypeI32,
6414 OPC_CheckPatternPredicate, 10,
6415 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6416 MVT::i32, 2, 0, 1,
6417 OPC_EmitStringInteger32, PPC::sub_eq,
6418 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6419 MVT::i1, 2, 2, 3,
6420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6421 MVT::i32, 1, 4,
6422 28,
6423 OPC_CheckType, MVT::i1,
6424 OPC_MoveParent,
6425 OPC_CheckTypeI64,
6426 OPC_CheckPatternPredicate, 10,
6427 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6428 MVT::i32, 2, 0, 1,
6429 OPC_EmitStringInteger32, PPC::sub_eq,
6430 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6431 MVT::i1, 2, 2, 3,
6432 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6433 MVT::i64, 1, 4,
6434 43,
6435 OPC_MoveParent,
6436 OPC_CheckTypeI32,
6437 OPC_CheckPatternPredicate0,
6438 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6439 MVT::i32, 2, 0, 1,
6440 OPC_EmitStringInteger32, PPC::sub_eq,
6441 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6442 MVT::i1, 2, 2, 3,
6443 OPC_EmitInteger32, 0,
6444 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6445 MVT::i32, 1, 5,
6446 OPC_EmitInteger32, 2,
6447 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6448 MVT::i32, 1, 7,
6449 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6450 MVT::i32, 3, 4, 6, 8,
6451 45,
6452 OPC_CheckType, MVT::i1,
6453 OPC_MoveParent,
6454 OPC_CheckTypeI64,
6455 OPC_CheckPatternPredicate0,
6456 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6457 MVT::i32, 2, 0, 1,
6458 OPC_EmitStringInteger32, PPC::sub_eq,
6459 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6460 MVT::i1, 2, 2, 3,
6461 OPC_EmitInteger64, 0,
6462 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6463 MVT::i64, 1, 5,
6464 OPC_EmitInteger64, 2,
6465 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6466 MVT::i64, 1, 7,
6467 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6468 MVT::i64, 3, 4, 6, 8,
6469 43,
6470 OPC_MoveParent,
6471 OPC_CheckTypeI32,
6472 OPC_CheckPatternPredicate5,
6473 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
6474 MVT::i32, 2, 0, 1,
6475 OPC_EmitStringInteger32, PPC::sub_gt,
6476 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6477 MVT::i1, 2, 2, 3,
6478 OPC_EmitInteger32, 0,
6479 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6480 MVT::i32, 1, 5,
6481 OPC_EmitInteger32, 2,
6482 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6483 MVT::i32, 1, 7,
6484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6485 MVT::i32, 3, 4, 6, 8,
6486 45,
6487 OPC_CheckType, MVT::i1,
6488 OPC_MoveParent,
6489 OPC_CheckTypeI64,
6490 OPC_CheckPatternPredicate5,
6491 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
6492 MVT::i32, 2, 0, 1,
6493 OPC_EmitStringInteger32, PPC::sub_gt,
6494 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6495 MVT::i1, 2, 2, 3,
6496 OPC_EmitInteger64, 0,
6497 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6498 MVT::i64, 1, 5,
6499 OPC_EmitInteger64, 2,
6500 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6501 MVT::i64, 1, 7,
6502 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6503 MVT::i64, 3, 4, 6, 8,
6504 0,
6505 112|128,1,
6506 OPC_CheckChild2CondCode, ISD::SETNE,
6507 OPC_Scope, 26,
6508 OPC_MoveParent,
6509 OPC_CheckTypeI32,
6510 OPC_CheckPatternPredicate, 10,
6511 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6512 MVT::i32, 2, 0, 1,
6513 OPC_EmitStringInteger32, PPC::sub_eq,
6514 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6515 MVT::i1, 2, 2, 3,
6516 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6517 MVT::i32, 1, 4,
6518 28,
6519 OPC_CheckType, MVT::i1,
6520 OPC_MoveParent,
6521 OPC_CheckTypeI64,
6522 OPC_CheckPatternPredicate, 10,
6523 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6524 MVT::i32, 2, 0, 1,
6525 OPC_EmitStringInteger32, PPC::sub_eq,
6526 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6527 MVT::i1, 2, 2, 3,
6528 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6529 MVT::i64, 1, 4,
6530 43,
6531 OPC_MoveParent,
6532 OPC_CheckTypeI32,
6533 OPC_CheckPatternPredicate0,
6534 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6535 MVT::i32, 2, 0, 1,
6536 OPC_EmitStringInteger32, PPC::sub_eq,
6537 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6538 MVT::i1, 2, 2, 3,
6539 OPC_EmitInteger32, 0,
6540 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6541 MVT::i32, 1, 5,
6542 OPC_EmitInteger32, 2,
6543 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6544 MVT::i32, 1, 7,
6545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6546 MVT::i32, 3, 4, 6, 8,
6547 45,
6548 OPC_CheckType, MVT::i1,
6549 OPC_MoveParent,
6550 OPC_CheckTypeI64,
6551 OPC_CheckPatternPredicate0,
6552 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6553 MVT::i32, 2, 0, 1,
6554 OPC_EmitStringInteger32, PPC::sub_eq,
6555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6556 MVT::i1, 2, 2, 3,
6557 OPC_EmitInteger64, 0,
6558 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6559 MVT::i64, 1, 5,
6560 OPC_EmitInteger64, 2,
6561 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6562 MVT::i64, 1, 7,
6563 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6564 MVT::i64, 3, 4, 6, 8,
6565 43,
6566 OPC_MoveParent,
6567 OPC_CheckTypeI32,
6568 OPC_CheckPatternPredicate5,
6569 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
6570 MVT::i32, 2, 0, 1,
6571 OPC_EmitStringInteger32, PPC::sub_gt,
6572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6573 MVT::i1, 2, 2, 3,
6574 OPC_EmitInteger32, 0,
6575 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6576 MVT::i32, 1, 5,
6577 OPC_EmitInteger32, 2,
6578 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6579 MVT::i32, 1, 7,
6580 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6581 MVT::i32, 3, 4, 6, 8,
6582 45,
6583 OPC_CheckType, MVT::i1,
6584 OPC_MoveParent,
6585 OPC_CheckTypeI64,
6586 OPC_CheckPatternPredicate5,
6587 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
6588 MVT::i32, 2, 0, 1,
6589 OPC_EmitStringInteger32, PPC::sub_gt,
6590 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6591 MVT::i1, 2, 2, 3,
6592 OPC_EmitInteger64, 0,
6593 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6594 MVT::i64, 1, 5,
6595 OPC_EmitInteger64, 2,
6596 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6597 MVT::i64, 1, 7,
6598 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6599 MVT::i64, 3, 4, 6, 8,
6600 0,
6601 22|128,1,
6602 OPC_CheckChild2CondCode, ISD::SETO,
6603 OPC_Scope, 26,
6604 OPC_MoveParent,
6605 OPC_CheckTypeI32,
6606 OPC_CheckPatternPredicate, 10,
6607 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6608 MVT::i32, 2, 0, 1,
6609 OPC_EmitStringInteger32, PPC::sub_un,
6610 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6611 MVT::i1, 2, 2, 3,
6612 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6613 MVT::i32, 1, 4,
6614 28,
6615 OPC_CheckType, MVT::i1,
6616 OPC_MoveParent,
6617 OPC_CheckTypeI64,
6618 OPC_CheckPatternPredicate, 10,
6619 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6620 MVT::i32, 2, 0, 1,
6621 OPC_EmitStringInteger32, PPC::sub_un,
6622 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6623 MVT::i1, 2, 2, 3,
6624 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6625 MVT::i64, 1, 4,
6626 43,
6627 OPC_MoveParent,
6628 OPC_CheckTypeI32,
6629 OPC_CheckPatternPredicate0,
6630 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6631 MVT::i32, 2, 0, 1,
6632 OPC_EmitStringInteger32, PPC::sub_un,
6633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6634 MVT::i1, 2, 2, 3,
6635 OPC_EmitInteger32, 0,
6636 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6637 MVT::i32, 1, 5,
6638 OPC_EmitInteger32, 2,
6639 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6640 MVT::i32, 1, 7,
6641 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6642 MVT::i32, 3, 4, 6, 8,
6643 45,
6644 OPC_CheckType, MVT::i1,
6645 OPC_MoveParent,
6646 OPC_CheckTypeI64,
6647 OPC_CheckPatternPredicate0,
6648 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
6649 MVT::i32, 2, 0, 1,
6650 OPC_EmitStringInteger32, PPC::sub_un,
6651 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6652 MVT::i1, 2, 2, 3,
6653 OPC_EmitInteger64, 0,
6654 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6655 MVT::i64, 1, 5,
6656 OPC_EmitInteger64, 2,
6657 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6658 MVT::i64, 1, 7,
6659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6660 MVT::i64, 3, 4, 6, 8,
6661 0,
6662 0,
6663 73|128,12,
6664 OPC_CheckChild0Type, MVT::f64,
6665 OPC_RecordChild1,
6666 OPC_Scope, 112|128,1,
6667 OPC_CheckChild2CondCode, ISD::SETUGE,
6668 OPC_Scope, 26,
6669 OPC_MoveParent,
6670 OPC_CheckTypeI32,
6671 OPC_CheckPatternPredicate, 10,
6672 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6673 MVT::i32, 2, 0, 1,
6674 OPC_EmitStringInteger32, PPC::sub_lt,
6675 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6676 MVT::i1, 2, 2, 3,
6677 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6678 MVT::i32, 1, 4,
6679 28,
6680 OPC_CheckType, MVT::i1,
6681 OPC_MoveParent,
6682 OPC_CheckTypeI64,
6683 OPC_CheckPatternPredicate, 10,
6684 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6685 MVT::i32, 2, 0, 1,
6686 OPC_EmitStringInteger32, PPC::sub_lt,
6687 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6688 MVT::i1, 2, 2, 3,
6689 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6690 MVT::i64, 1, 4,
6691 43,
6692 OPC_MoveParent,
6693 OPC_CheckTypeI32,
6694 OPC_CheckPatternPredicate0,
6695 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6696 MVT::i32, 2, 0, 1,
6697 OPC_EmitStringInteger32, PPC::sub_lt,
6698 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6699 MVT::i1, 2, 2, 3,
6700 OPC_EmitInteger32, 0,
6701 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6702 MVT::i32, 1, 5,
6703 OPC_EmitInteger32, 2,
6704 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6705 MVT::i32, 1, 7,
6706 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6707 MVT::i32, 3, 4, 6, 8,
6708 45,
6709 OPC_CheckType, MVT::i1,
6710 OPC_MoveParent,
6711 OPC_CheckTypeI64,
6712 OPC_CheckPatternPredicate0,
6713 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6714 MVT::i32, 2, 0, 1,
6715 OPC_EmitStringInteger32, PPC::sub_lt,
6716 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6717 MVT::i1, 2, 2, 3,
6718 OPC_EmitInteger64, 0,
6719 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6720 MVT::i64, 1, 5,
6721 OPC_EmitInteger64, 2,
6722 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6723 MVT::i64, 1, 7,
6724 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6725 MVT::i64, 3, 4, 6, 8,
6726 43,
6727 OPC_MoveParent,
6728 OPC_CheckTypeI32,
6729 OPC_CheckPatternPredicate5,
6730 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
6731 MVT::i32, 2, 0, 1,
6732 OPC_EmitStringInteger32, PPC::sub_gt,
6733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6734 MVT::i1, 2, 2, 3,
6735 OPC_EmitInteger32, 0,
6736 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6737 MVT::i32, 1, 5,
6738 OPC_EmitInteger32, 2,
6739 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6740 MVT::i32, 1, 7,
6741 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6742 MVT::i32, 3, 4, 6, 8,
6743 45,
6744 OPC_CheckType, MVT::i1,
6745 OPC_MoveParent,
6746 OPC_CheckTypeI64,
6747 OPC_CheckPatternPredicate5,
6748 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
6749 MVT::i32, 2, 0, 1,
6750 OPC_EmitStringInteger32, PPC::sub_gt,
6751 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6752 MVT::i1, 2, 2, 3,
6753 OPC_EmitInteger64, 0,
6754 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6755 MVT::i64, 1, 5,
6756 OPC_EmitInteger64, 2,
6757 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6758 MVT::i64, 1, 7,
6759 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6760 MVT::i64, 3, 4, 6, 8,
6761 0,
6762 112|128,1,
6763 OPC_CheckChild2CondCode, ISD::SETGE,
6764 OPC_Scope, 26,
6765 OPC_MoveParent,
6766 OPC_CheckTypeI32,
6767 OPC_CheckPatternPredicate, 10,
6768 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6769 MVT::i32, 2, 0, 1,
6770 OPC_EmitStringInteger32, PPC::sub_lt,
6771 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6772 MVT::i1, 2, 2, 3,
6773 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6774 MVT::i32, 1, 4,
6775 28,
6776 OPC_CheckType, MVT::i1,
6777 OPC_MoveParent,
6778 OPC_CheckTypeI64,
6779 OPC_CheckPatternPredicate, 10,
6780 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6781 MVT::i32, 2, 0, 1,
6782 OPC_EmitStringInteger32, PPC::sub_lt,
6783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6784 MVT::i1, 2, 2, 3,
6785 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6786 MVT::i64, 1, 4,
6787 43,
6788 OPC_MoveParent,
6789 OPC_CheckTypeI32,
6790 OPC_CheckPatternPredicate0,
6791 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6792 MVT::i32, 2, 0, 1,
6793 OPC_EmitStringInteger32, PPC::sub_lt,
6794 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6795 MVT::i1, 2, 2, 3,
6796 OPC_EmitInteger32, 0,
6797 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6798 MVT::i32, 1, 5,
6799 OPC_EmitInteger32, 2,
6800 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6801 MVT::i32, 1, 7,
6802 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6803 MVT::i32, 3, 4, 6, 8,
6804 45,
6805 OPC_CheckType, MVT::i1,
6806 OPC_MoveParent,
6807 OPC_CheckTypeI64,
6808 OPC_CheckPatternPredicate0,
6809 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6810 MVT::i32, 2, 0, 1,
6811 OPC_EmitStringInteger32, PPC::sub_lt,
6812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6813 MVT::i1, 2, 2, 3,
6814 OPC_EmitInteger64, 0,
6815 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6816 MVT::i64, 1, 5,
6817 OPC_EmitInteger64, 2,
6818 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6819 MVT::i64, 1, 7,
6820 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6821 MVT::i64, 3, 4, 6, 8,
6822 43,
6823 OPC_MoveParent,
6824 OPC_CheckTypeI32,
6825 OPC_CheckPatternPredicate5,
6826 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
6827 MVT::i32, 2, 0, 1,
6828 OPC_EmitStringInteger32, PPC::sub_gt,
6829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6830 MVT::i1, 2, 2, 3,
6831 OPC_EmitInteger32, 0,
6832 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6833 MVT::i32, 1, 5,
6834 OPC_EmitInteger32, 2,
6835 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6836 MVT::i32, 1, 7,
6837 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6838 MVT::i32, 3, 4, 6, 8,
6839 45,
6840 OPC_CheckType, MVT::i1,
6841 OPC_MoveParent,
6842 OPC_CheckTypeI64,
6843 OPC_CheckPatternPredicate5,
6844 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
6845 MVT::i32, 2, 0, 1,
6846 OPC_EmitStringInteger32, PPC::sub_gt,
6847 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6848 MVT::i1, 2, 2, 3,
6849 OPC_EmitInteger64, 0,
6850 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6851 MVT::i64, 1, 5,
6852 OPC_EmitInteger64, 2,
6853 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6854 MVT::i64, 1, 7,
6855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6856 MVT::i64, 3, 4, 6, 8,
6857 0,
6858 112|128,1,
6859 OPC_CheckChild2CondCode, ISD::SETULE,
6860 OPC_Scope, 26,
6861 OPC_MoveParent,
6862 OPC_CheckTypeI32,
6863 OPC_CheckPatternPredicate, 10,
6864 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6865 MVT::i32, 2, 0, 1,
6866 OPC_EmitStringInteger32, PPC::sub_gt,
6867 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6868 MVT::i1, 2, 2, 3,
6869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6870 MVT::i32, 1, 4,
6871 28,
6872 OPC_CheckType, MVT::i1,
6873 OPC_MoveParent,
6874 OPC_CheckTypeI64,
6875 OPC_CheckPatternPredicate, 10,
6876 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6877 MVT::i32, 2, 0, 1,
6878 OPC_EmitStringInteger32, PPC::sub_gt,
6879 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6880 MVT::i1, 2, 2, 3,
6881 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6882 MVT::i64, 1, 4,
6883 43,
6884 OPC_MoveParent,
6885 OPC_CheckTypeI32,
6886 OPC_CheckPatternPredicate0,
6887 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6888 MVT::i32, 2, 0, 1,
6889 OPC_EmitStringInteger32, PPC::sub_gt,
6890 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6891 MVT::i1, 2, 2, 3,
6892 OPC_EmitInteger32, 0,
6893 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6894 MVT::i32, 1, 5,
6895 OPC_EmitInteger32, 2,
6896 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6897 MVT::i32, 1, 7,
6898 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6899 MVT::i32, 3, 4, 6, 8,
6900 45,
6901 OPC_CheckType, MVT::i1,
6902 OPC_MoveParent,
6903 OPC_CheckTypeI64,
6904 OPC_CheckPatternPredicate0,
6905 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6906 MVT::i32, 2, 0, 1,
6907 OPC_EmitStringInteger32, PPC::sub_gt,
6908 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6909 MVT::i1, 2, 2, 3,
6910 OPC_EmitInteger64, 0,
6911 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6912 MVT::i64, 1, 5,
6913 OPC_EmitInteger64, 2,
6914 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6915 MVT::i64, 1, 7,
6916 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6917 MVT::i64, 3, 4, 6, 8,
6918 43,
6919 OPC_MoveParent,
6920 OPC_CheckTypeI32,
6921 OPC_CheckPatternPredicate5,
6922 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
6923 MVT::i32, 2, 0, 1,
6924 OPC_EmitStringInteger32, PPC::sub_gt,
6925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6926 MVT::i1, 2, 2, 3,
6927 OPC_EmitInteger32, 0,
6928 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6929 MVT::i32, 1, 5,
6930 OPC_EmitInteger32, 2,
6931 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6932 MVT::i32, 1, 7,
6933 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6934 MVT::i32, 3, 4, 6, 8,
6935 45,
6936 OPC_CheckType, MVT::i1,
6937 OPC_MoveParent,
6938 OPC_CheckTypeI64,
6939 OPC_CheckPatternPredicate5,
6940 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
6941 MVT::i32, 2, 0, 1,
6942 OPC_EmitStringInteger32, PPC::sub_gt,
6943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6944 MVT::i1, 2, 2, 3,
6945 OPC_EmitInteger64, 0,
6946 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6947 MVT::i64, 1, 5,
6948 OPC_EmitInteger64, 2,
6949 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
6950 MVT::i64, 1, 7,
6951 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
6952 MVT::i64, 3, 4, 6, 8,
6953 0,
6954 112|128,1,
6955 OPC_CheckChild2CondCode, ISD::SETLE,
6956 OPC_Scope, 26,
6957 OPC_MoveParent,
6958 OPC_CheckTypeI32,
6959 OPC_CheckPatternPredicate, 10,
6960 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6961 MVT::i32, 2, 0, 1,
6962 OPC_EmitStringInteger32, PPC::sub_gt,
6963 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6964 MVT::i1, 2, 2, 3,
6965 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
6966 MVT::i32, 1, 4,
6967 28,
6968 OPC_CheckType, MVT::i1,
6969 OPC_MoveParent,
6970 OPC_CheckTypeI64,
6971 OPC_CheckPatternPredicate, 10,
6972 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6973 MVT::i32, 2, 0, 1,
6974 OPC_EmitStringInteger32, PPC::sub_gt,
6975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6976 MVT::i1, 2, 2, 3,
6977 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
6978 MVT::i64, 1, 4,
6979 43,
6980 OPC_MoveParent,
6981 OPC_CheckTypeI32,
6982 OPC_CheckPatternPredicate0,
6983 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
6984 MVT::i32, 2, 0, 1,
6985 OPC_EmitStringInteger32, PPC::sub_gt,
6986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
6987 MVT::i1, 2, 2, 3,
6988 OPC_EmitInteger32, 0,
6989 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6990 MVT::i32, 1, 5,
6991 OPC_EmitInteger32, 2,
6992 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
6993 MVT::i32, 1, 7,
6994 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
6995 MVT::i32, 3, 4, 6, 8,
6996 45,
6997 OPC_CheckType, MVT::i1,
6998 OPC_MoveParent,
6999 OPC_CheckTypeI64,
7000 OPC_CheckPatternPredicate0,
7001 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7002 MVT::i32, 2, 0, 1,
7003 OPC_EmitStringInteger32, PPC::sub_gt,
7004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7005 MVT::i1, 2, 2, 3,
7006 OPC_EmitInteger64, 0,
7007 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7008 MVT::i64, 1, 5,
7009 OPC_EmitInteger64, 2,
7010 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7011 MVT::i64, 1, 7,
7012 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7013 MVT::i64, 3, 4, 6, 8,
7014 43,
7015 OPC_MoveParent,
7016 OPC_CheckTypeI32,
7017 OPC_CheckPatternPredicate5,
7018 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
7019 MVT::i32, 2, 0, 1,
7020 OPC_EmitStringInteger32, PPC::sub_gt,
7021 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7022 MVT::i1, 2, 2, 3,
7023 OPC_EmitInteger32, 0,
7024 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7025 MVT::i32, 1, 5,
7026 OPC_EmitInteger32, 2,
7027 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7028 MVT::i32, 1, 7,
7029 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7030 MVT::i32, 3, 4, 6, 8,
7031 45,
7032 OPC_CheckType, MVT::i1,
7033 OPC_MoveParent,
7034 OPC_CheckTypeI64,
7035 OPC_CheckPatternPredicate5,
7036 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
7037 MVT::i32, 2, 0, 1,
7038 OPC_EmitStringInteger32, PPC::sub_gt,
7039 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7040 MVT::i1, 2, 2, 3,
7041 OPC_EmitInteger64, 0,
7042 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7043 MVT::i64, 1, 5,
7044 OPC_EmitInteger64, 2,
7045 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7046 MVT::i64, 1, 7,
7047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7048 MVT::i64, 3, 4, 6, 8,
7049 0,
7050 112|128,1,
7051 OPC_CheckChild2CondCode, ISD::SETUNE,
7052 OPC_Scope, 26,
7053 OPC_MoveParent,
7054 OPC_CheckTypeI32,
7055 OPC_CheckPatternPredicate, 10,
7056 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7057 MVT::i32, 2, 0, 1,
7058 OPC_EmitStringInteger32, PPC::sub_eq,
7059 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7060 MVT::i1, 2, 2, 3,
7061 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7062 MVT::i32, 1, 4,
7063 28,
7064 OPC_CheckType, MVT::i1,
7065 OPC_MoveParent,
7066 OPC_CheckTypeI64,
7067 OPC_CheckPatternPredicate, 10,
7068 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7069 MVT::i32, 2, 0, 1,
7070 OPC_EmitStringInteger32, PPC::sub_eq,
7071 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7072 MVT::i1, 2, 2, 3,
7073 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7074 MVT::i64, 1, 4,
7075 43,
7076 OPC_MoveParent,
7077 OPC_CheckTypeI32,
7078 OPC_CheckPatternPredicate0,
7079 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7080 MVT::i32, 2, 0, 1,
7081 OPC_EmitStringInteger32, PPC::sub_eq,
7082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7083 MVT::i1, 2, 2, 3,
7084 OPC_EmitInteger32, 0,
7085 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7086 MVT::i32, 1, 5,
7087 OPC_EmitInteger32, 2,
7088 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7089 MVT::i32, 1, 7,
7090 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7091 MVT::i32, 3, 4, 6, 8,
7092 45,
7093 OPC_CheckType, MVT::i1,
7094 OPC_MoveParent,
7095 OPC_CheckTypeI64,
7096 OPC_CheckPatternPredicate0,
7097 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7098 MVT::i32, 2, 0, 1,
7099 OPC_EmitStringInteger32, PPC::sub_eq,
7100 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7101 MVT::i1, 2, 2, 3,
7102 OPC_EmitInteger64, 0,
7103 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7104 MVT::i64, 1, 5,
7105 OPC_EmitInteger64, 2,
7106 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7107 MVT::i64, 1, 7,
7108 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7109 MVT::i64, 3, 4, 6, 8,
7110 43,
7111 OPC_MoveParent,
7112 OPC_CheckTypeI32,
7113 OPC_CheckPatternPredicate5,
7114 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
7115 MVT::i32, 2, 0, 1,
7116 OPC_EmitStringInteger32, PPC::sub_gt,
7117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7118 MVT::i1, 2, 2, 3,
7119 OPC_EmitInteger32, 0,
7120 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7121 MVT::i32, 1, 5,
7122 OPC_EmitInteger32, 2,
7123 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7124 MVT::i32, 1, 7,
7125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7126 MVT::i32, 3, 4, 6, 8,
7127 45,
7128 OPC_CheckType, MVT::i1,
7129 OPC_MoveParent,
7130 OPC_CheckTypeI64,
7131 OPC_CheckPatternPredicate5,
7132 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
7133 MVT::i32, 2, 0, 1,
7134 OPC_EmitStringInteger32, PPC::sub_gt,
7135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7136 MVT::i1, 2, 2, 3,
7137 OPC_EmitInteger64, 0,
7138 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7139 MVT::i64, 1, 5,
7140 OPC_EmitInteger64, 2,
7141 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7142 MVT::i64, 1, 7,
7143 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7144 MVT::i64, 3, 4, 6, 8,
7145 0,
7146 112|128,1,
7147 OPC_CheckChild2CondCode, ISD::SETNE,
7148 OPC_Scope, 26,
7149 OPC_MoveParent,
7150 OPC_CheckTypeI32,
7151 OPC_CheckPatternPredicate, 10,
7152 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7153 MVT::i32, 2, 0, 1,
7154 OPC_EmitStringInteger32, PPC::sub_eq,
7155 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7156 MVT::i1, 2, 2, 3,
7157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7158 MVT::i32, 1, 4,
7159 28,
7160 OPC_CheckType, MVT::i1,
7161 OPC_MoveParent,
7162 OPC_CheckTypeI64,
7163 OPC_CheckPatternPredicate, 10,
7164 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7165 MVT::i32, 2, 0, 1,
7166 OPC_EmitStringInteger32, PPC::sub_eq,
7167 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7168 MVT::i1, 2, 2, 3,
7169 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7170 MVT::i64, 1, 4,
7171 43,
7172 OPC_MoveParent,
7173 OPC_CheckTypeI32,
7174 OPC_CheckPatternPredicate0,
7175 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7176 MVT::i32, 2, 0, 1,
7177 OPC_EmitStringInteger32, PPC::sub_eq,
7178 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7179 MVT::i1, 2, 2, 3,
7180 OPC_EmitInteger32, 0,
7181 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7182 MVT::i32, 1, 5,
7183 OPC_EmitInteger32, 2,
7184 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7185 MVT::i32, 1, 7,
7186 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7187 MVT::i32, 3, 4, 6, 8,
7188 45,
7189 OPC_CheckType, MVT::i1,
7190 OPC_MoveParent,
7191 OPC_CheckTypeI64,
7192 OPC_CheckPatternPredicate0,
7193 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7194 MVT::i32, 2, 0, 1,
7195 OPC_EmitStringInteger32, PPC::sub_eq,
7196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7197 MVT::i1, 2, 2, 3,
7198 OPC_EmitInteger64, 0,
7199 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7200 MVT::i64, 1, 5,
7201 OPC_EmitInteger64, 2,
7202 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7203 MVT::i64, 1, 7,
7204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7205 MVT::i64, 3, 4, 6, 8,
7206 43,
7207 OPC_MoveParent,
7208 OPC_CheckTypeI32,
7209 OPC_CheckPatternPredicate5,
7210 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
7211 MVT::i32, 2, 0, 1,
7212 OPC_EmitStringInteger32, PPC::sub_gt,
7213 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7214 MVT::i1, 2, 2, 3,
7215 OPC_EmitInteger32, 0,
7216 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7217 MVT::i32, 1, 5,
7218 OPC_EmitInteger32, 2,
7219 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7220 MVT::i32, 1, 7,
7221 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7222 MVT::i32, 3, 4, 6, 8,
7223 45,
7224 OPC_CheckType, MVT::i1,
7225 OPC_MoveParent,
7226 OPC_CheckTypeI64,
7227 OPC_CheckPatternPredicate5,
7228 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
7229 MVT::i32, 2, 0, 1,
7230 OPC_EmitStringInteger32, PPC::sub_gt,
7231 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7232 MVT::i1, 2, 2, 3,
7233 OPC_EmitInteger64, 0,
7234 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7235 MVT::i64, 1, 5,
7236 OPC_EmitInteger64, 2,
7237 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7238 MVT::i64, 1, 7,
7239 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7240 MVT::i64, 3, 4, 6, 8,
7241 0,
7242 22|128,1,
7243 OPC_CheckChild2CondCode, ISD::SETO,
7244 OPC_Scope, 26,
7245 OPC_MoveParent,
7246 OPC_CheckTypeI32,
7247 OPC_CheckPatternPredicate, 10,
7248 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7249 MVT::i32, 2, 0, 1,
7250 OPC_EmitStringInteger32, PPC::sub_un,
7251 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7252 MVT::i1, 2, 2, 3,
7253 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7254 MVT::i32, 1, 4,
7255 28,
7256 OPC_CheckType, MVT::i1,
7257 OPC_MoveParent,
7258 OPC_CheckTypeI64,
7259 OPC_CheckPatternPredicate, 10,
7260 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7261 MVT::i32, 2, 0, 1,
7262 OPC_EmitStringInteger32, PPC::sub_un,
7263 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7264 MVT::i1, 2, 2, 3,
7265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7266 MVT::i64, 1, 4,
7267 43,
7268 OPC_MoveParent,
7269 OPC_CheckTypeI32,
7270 OPC_CheckPatternPredicate0,
7271 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7272 MVT::i32, 2, 0, 1,
7273 OPC_EmitStringInteger32, PPC::sub_un,
7274 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7275 MVT::i1, 2, 2, 3,
7276 OPC_EmitInteger32, 0,
7277 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7278 MVT::i32, 1, 5,
7279 OPC_EmitInteger32, 2,
7280 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7281 MVT::i32, 1, 7,
7282 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7283 MVT::i32, 3, 4, 6, 8,
7284 45,
7285 OPC_CheckType, MVT::i1,
7286 OPC_MoveParent,
7287 OPC_CheckTypeI64,
7288 OPC_CheckPatternPredicate0,
7289 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
7290 MVT::i32, 2, 0, 1,
7291 OPC_EmitStringInteger32, PPC::sub_un,
7292 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7293 MVT::i1, 2, 2, 3,
7294 OPC_EmitInteger64, 0,
7295 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7296 MVT::i64, 1, 5,
7297 OPC_EmitInteger64, 2,
7298 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7299 MVT::i64, 1, 7,
7300 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7301 MVT::i64, 3, 4, 6, 8,
7302 0,
7303 0,
7304 45|128,8,
7305 OPC_CheckChild0Type, MVT::f128,
7306 OPC_RecordChild1,
7307 OPC_Scope, 22|128,1,
7308 OPC_CheckChild2CondCode, ISD::SETUGE,
7309 OPC_Scope, 26,
7310 OPC_MoveParent,
7311 OPC_CheckTypeI32,
7312 OPC_CheckPatternPredicate, 10,
7313 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7314 MVT::i32, 2, 0, 1,
7315 OPC_EmitStringInteger32, PPC::sub_lt,
7316 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7317 MVT::i1, 2, 2, 3,
7318 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7319 MVT::i32, 1, 4,
7320 28,
7321 OPC_CheckType, MVT::i1,
7322 OPC_MoveParent,
7323 OPC_CheckTypeI64,
7324 OPC_CheckPatternPredicate, 10,
7325 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7326 MVT::i32, 2, 0, 1,
7327 OPC_EmitStringInteger32, PPC::sub_lt,
7328 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7329 MVT::i1, 2, 2, 3,
7330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7331 MVT::i64, 1, 4,
7332 43,
7333 OPC_MoveParent,
7334 OPC_CheckTypeI32,
7335 OPC_CheckPatternPredicate0,
7336 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7337 MVT::i32, 2, 0, 1,
7338 OPC_EmitStringInteger32, PPC::sub_lt,
7339 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7340 MVT::i1, 2, 2, 3,
7341 OPC_EmitInteger32, 0,
7342 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7343 MVT::i32, 1, 5,
7344 OPC_EmitInteger32, 2,
7345 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7346 MVT::i32, 1, 7,
7347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7348 MVT::i32, 3, 4, 6, 8,
7349 45,
7350 OPC_CheckType, MVT::i1,
7351 OPC_MoveParent,
7352 OPC_CheckTypeI64,
7353 OPC_CheckPatternPredicate0,
7354 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7355 MVT::i32, 2, 0, 1,
7356 OPC_EmitStringInteger32, PPC::sub_lt,
7357 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7358 MVT::i1, 2, 2, 3,
7359 OPC_EmitInteger64, 0,
7360 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7361 MVT::i64, 1, 5,
7362 OPC_EmitInteger64, 2,
7363 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7364 MVT::i64, 1, 7,
7365 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7366 MVT::i64, 3, 4, 6, 8,
7367 0,
7368 22|128,1,
7369 OPC_CheckChild2CondCode, ISD::SETGE,
7370 OPC_Scope, 26,
7371 OPC_MoveParent,
7372 OPC_CheckTypeI32,
7373 OPC_CheckPatternPredicate, 10,
7374 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7375 MVT::i32, 2, 0, 1,
7376 OPC_EmitStringInteger32, PPC::sub_lt,
7377 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7378 MVT::i1, 2, 2, 3,
7379 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7380 MVT::i32, 1, 4,
7381 28,
7382 OPC_CheckType, MVT::i1,
7383 OPC_MoveParent,
7384 OPC_CheckTypeI64,
7385 OPC_CheckPatternPredicate, 10,
7386 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7387 MVT::i32, 2, 0, 1,
7388 OPC_EmitStringInteger32, PPC::sub_lt,
7389 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7390 MVT::i1, 2, 2, 3,
7391 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7392 MVT::i64, 1, 4,
7393 43,
7394 OPC_MoveParent,
7395 OPC_CheckTypeI32,
7396 OPC_CheckPatternPredicate0,
7397 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7398 MVT::i32, 2, 0, 1,
7399 OPC_EmitStringInteger32, PPC::sub_lt,
7400 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7401 MVT::i1, 2, 2, 3,
7402 OPC_EmitInteger32, 0,
7403 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7404 MVT::i32, 1, 5,
7405 OPC_EmitInteger32, 2,
7406 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7407 MVT::i32, 1, 7,
7408 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7409 MVT::i32, 3, 4, 6, 8,
7410 45,
7411 OPC_CheckType, MVT::i1,
7412 OPC_MoveParent,
7413 OPC_CheckTypeI64,
7414 OPC_CheckPatternPredicate0,
7415 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7416 MVT::i32, 2, 0, 1,
7417 OPC_EmitStringInteger32, PPC::sub_lt,
7418 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7419 MVT::i1, 2, 2, 3,
7420 OPC_EmitInteger64, 0,
7421 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7422 MVT::i64, 1, 5,
7423 OPC_EmitInteger64, 2,
7424 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7425 MVT::i64, 1, 7,
7426 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7427 MVT::i64, 3, 4, 6, 8,
7428 0,
7429 22|128,1,
7430 OPC_CheckChild2CondCode, ISD::SETULE,
7431 OPC_Scope, 26,
7432 OPC_MoveParent,
7433 OPC_CheckTypeI32,
7434 OPC_CheckPatternPredicate, 10,
7435 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7436 MVT::i32, 2, 0, 1,
7437 OPC_EmitStringInteger32, PPC::sub_gt,
7438 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7439 MVT::i1, 2, 2, 3,
7440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7441 MVT::i32, 1, 4,
7442 28,
7443 OPC_CheckType, MVT::i1,
7444 OPC_MoveParent,
7445 OPC_CheckTypeI64,
7446 OPC_CheckPatternPredicate, 10,
7447 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7448 MVT::i32, 2, 0, 1,
7449 OPC_EmitStringInteger32, PPC::sub_gt,
7450 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7451 MVT::i1, 2, 2, 3,
7452 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7453 MVT::i64, 1, 4,
7454 43,
7455 OPC_MoveParent,
7456 OPC_CheckTypeI32,
7457 OPC_CheckPatternPredicate0,
7458 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7459 MVT::i32, 2, 0, 1,
7460 OPC_EmitStringInteger32, PPC::sub_gt,
7461 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7462 MVT::i1, 2, 2, 3,
7463 OPC_EmitInteger32, 0,
7464 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7465 MVT::i32, 1, 5,
7466 OPC_EmitInteger32, 2,
7467 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7468 MVT::i32, 1, 7,
7469 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7470 MVT::i32, 3, 4, 6, 8,
7471 45,
7472 OPC_CheckType, MVT::i1,
7473 OPC_MoveParent,
7474 OPC_CheckTypeI64,
7475 OPC_CheckPatternPredicate0,
7476 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7477 MVT::i32, 2, 0, 1,
7478 OPC_EmitStringInteger32, PPC::sub_gt,
7479 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7480 MVT::i1, 2, 2, 3,
7481 OPC_EmitInteger64, 0,
7482 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7483 MVT::i64, 1, 5,
7484 OPC_EmitInteger64, 2,
7485 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7486 MVT::i64, 1, 7,
7487 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7488 MVT::i64, 3, 4, 6, 8,
7489 0,
7490 22|128,1,
7491 OPC_CheckChild2CondCode, ISD::SETLE,
7492 OPC_Scope, 26,
7493 OPC_MoveParent,
7494 OPC_CheckTypeI32,
7495 OPC_CheckPatternPredicate, 10,
7496 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7497 MVT::i32, 2, 0, 1,
7498 OPC_EmitStringInteger32, PPC::sub_gt,
7499 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7500 MVT::i1, 2, 2, 3,
7501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7502 MVT::i32, 1, 4,
7503 28,
7504 OPC_CheckType, MVT::i1,
7505 OPC_MoveParent,
7506 OPC_CheckTypeI64,
7507 OPC_CheckPatternPredicate, 10,
7508 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7509 MVT::i32, 2, 0, 1,
7510 OPC_EmitStringInteger32, PPC::sub_gt,
7511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7512 MVT::i1, 2, 2, 3,
7513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7514 MVT::i64, 1, 4,
7515 43,
7516 OPC_MoveParent,
7517 OPC_CheckTypeI32,
7518 OPC_CheckPatternPredicate0,
7519 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7520 MVT::i32, 2, 0, 1,
7521 OPC_EmitStringInteger32, PPC::sub_gt,
7522 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7523 MVT::i1, 2, 2, 3,
7524 OPC_EmitInteger32, 0,
7525 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7526 MVT::i32, 1, 5,
7527 OPC_EmitInteger32, 2,
7528 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7529 MVT::i32, 1, 7,
7530 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7531 MVT::i32, 3, 4, 6, 8,
7532 45,
7533 OPC_CheckType, MVT::i1,
7534 OPC_MoveParent,
7535 OPC_CheckTypeI64,
7536 OPC_CheckPatternPredicate0,
7537 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7538 MVT::i32, 2, 0, 1,
7539 OPC_EmitStringInteger32, PPC::sub_gt,
7540 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7541 MVT::i1, 2, 2, 3,
7542 OPC_EmitInteger64, 0,
7543 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7544 MVT::i64, 1, 5,
7545 OPC_EmitInteger64, 2,
7546 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7547 MVT::i64, 1, 7,
7548 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7549 MVT::i64, 3, 4, 6, 8,
7550 0,
7551 22|128,1,
7552 OPC_CheckChild2CondCode, ISD::SETUNE,
7553 OPC_Scope, 26,
7554 OPC_MoveParent,
7555 OPC_CheckTypeI32,
7556 OPC_CheckPatternPredicate, 10,
7557 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7558 MVT::i32, 2, 0, 1,
7559 OPC_EmitStringInteger32, PPC::sub_eq,
7560 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7561 MVT::i1, 2, 2, 3,
7562 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7563 MVT::i32, 1, 4,
7564 28,
7565 OPC_CheckType, MVT::i1,
7566 OPC_MoveParent,
7567 OPC_CheckTypeI64,
7568 OPC_CheckPatternPredicate, 10,
7569 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7570 MVT::i32, 2, 0, 1,
7571 OPC_EmitStringInteger32, PPC::sub_eq,
7572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7573 MVT::i1, 2, 2, 3,
7574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7575 MVT::i64, 1, 4,
7576 43,
7577 OPC_MoveParent,
7578 OPC_CheckTypeI32,
7579 OPC_CheckPatternPredicate0,
7580 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7581 MVT::i32, 2, 0, 1,
7582 OPC_EmitStringInteger32, PPC::sub_eq,
7583 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7584 MVT::i1, 2, 2, 3,
7585 OPC_EmitInteger32, 0,
7586 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7587 MVT::i32, 1, 5,
7588 OPC_EmitInteger32, 2,
7589 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7590 MVT::i32, 1, 7,
7591 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7592 MVT::i32, 3, 4, 6, 8,
7593 45,
7594 OPC_CheckType, MVT::i1,
7595 OPC_MoveParent,
7596 OPC_CheckTypeI64,
7597 OPC_CheckPatternPredicate0,
7598 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7599 MVT::i32, 2, 0, 1,
7600 OPC_EmitStringInteger32, PPC::sub_eq,
7601 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7602 MVT::i1, 2, 2, 3,
7603 OPC_EmitInteger64, 0,
7604 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7605 MVT::i64, 1, 5,
7606 OPC_EmitInteger64, 2,
7607 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7608 MVT::i64, 1, 7,
7609 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7610 MVT::i64, 3, 4, 6, 8,
7611 0,
7612 22|128,1,
7613 OPC_CheckChild2CondCode, ISD::SETNE,
7614 OPC_Scope, 26,
7615 OPC_MoveParent,
7616 OPC_CheckTypeI32,
7617 OPC_CheckPatternPredicate, 10,
7618 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7619 MVT::i32, 2, 0, 1,
7620 OPC_EmitStringInteger32, PPC::sub_eq,
7621 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7622 MVT::i1, 2, 2, 3,
7623 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7624 MVT::i32, 1, 4,
7625 28,
7626 OPC_CheckType, MVT::i1,
7627 OPC_MoveParent,
7628 OPC_CheckTypeI64,
7629 OPC_CheckPatternPredicate, 10,
7630 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7631 MVT::i32, 2, 0, 1,
7632 OPC_EmitStringInteger32, PPC::sub_eq,
7633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7634 MVT::i1, 2, 2, 3,
7635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7636 MVT::i64, 1, 4,
7637 43,
7638 OPC_MoveParent,
7639 OPC_CheckTypeI32,
7640 OPC_CheckPatternPredicate0,
7641 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7642 MVT::i32, 2, 0, 1,
7643 OPC_EmitStringInteger32, PPC::sub_eq,
7644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7645 MVT::i1, 2, 2, 3,
7646 OPC_EmitInteger32, 0,
7647 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7648 MVT::i32, 1, 5,
7649 OPC_EmitInteger32, 2,
7650 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7651 MVT::i32, 1, 7,
7652 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7653 MVT::i32, 3, 4, 6, 8,
7654 45,
7655 OPC_CheckType, MVT::i1,
7656 OPC_MoveParent,
7657 OPC_CheckTypeI64,
7658 OPC_CheckPatternPredicate0,
7659 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7660 MVT::i32, 2, 0, 1,
7661 OPC_EmitStringInteger32, PPC::sub_eq,
7662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7663 MVT::i1, 2, 2, 3,
7664 OPC_EmitInteger64, 0,
7665 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7666 MVT::i64, 1, 5,
7667 OPC_EmitInteger64, 2,
7668 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7669 MVT::i64, 1, 7,
7670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7671 MVT::i64, 3, 4, 6, 8,
7672 0,
7673 22|128,1,
7674 OPC_CheckChild2CondCode, ISD::SETO,
7675 OPC_Scope, 26,
7676 OPC_MoveParent,
7677 OPC_CheckTypeI32,
7678 OPC_CheckPatternPredicate, 10,
7679 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7680 MVT::i32, 2, 0, 1,
7681 OPC_EmitStringInteger32, PPC::sub_un,
7682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7683 MVT::i1, 2, 2, 3,
7684 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
7685 MVT::i32, 1, 4,
7686 28,
7687 OPC_CheckType, MVT::i1,
7688 OPC_MoveParent,
7689 OPC_CheckTypeI64,
7690 OPC_CheckPatternPredicate, 10,
7691 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7692 MVT::i32, 2, 0, 1,
7693 OPC_EmitStringInteger32, PPC::sub_un,
7694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7695 MVT::i1, 2, 2, 3,
7696 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
7697 MVT::i64, 1, 4,
7698 43,
7699 OPC_MoveParent,
7700 OPC_CheckTypeI32,
7701 OPC_CheckPatternPredicate0,
7702 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7703 MVT::i32, 2, 0, 1,
7704 OPC_EmitStringInteger32, PPC::sub_un,
7705 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7706 MVT::i1, 2, 2, 3,
7707 OPC_EmitInteger32, 0,
7708 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7709 MVT::i32, 1, 5,
7710 OPC_EmitInteger32, 2,
7711 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7712 MVT::i32, 1, 7,
7713 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7714 MVT::i32, 3, 4, 6, 8,
7715 45,
7716 OPC_CheckType, MVT::i1,
7717 OPC_MoveParent,
7718 OPC_CheckTypeI64,
7719 OPC_CheckPatternPredicate0,
7720 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
7721 MVT::i32, 2, 0, 1,
7722 OPC_EmitStringInteger32, PPC::sub_un,
7723 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7724 MVT::i1, 2, 2, 3,
7725 OPC_EmitInteger64, 0,
7726 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7727 MVT::i64, 1, 5,
7728 OPC_EmitInteger64, 2,
7729 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7730 MVT::i64, 1, 7,
7731 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7732 MVT::i64, 3, 4, 6, 8,
7733 0,
7734 0,
7735 0,
7736 0,
7737 38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
7738 OPC_RecordNode,
7739 OPC_RecordChild1,
7740 OPC_Scope, 52|128,5,
7741 OPC_CheckChild1Type, MVT::f32,
7742 OPC_RecordChild2,
7743 OPC_MoveChild3,
7744 OPC_Scope, 97,
7745 OPC_CheckCondCode, ISD::SETUGE,
7746 OPC_MoveParent,
7747 OPC_Scope, 44,
7748 OPC_MoveParent,
7749 OPC_CheckTypeI32,
7750 OPC_CheckPatternPredicate0,
7751 OPC_EmitMergeInputChains1_0,
7752 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7753 MVT::i32, 2, 1, 2,
7754 OPC_EmitStringInteger32, PPC::sub_lt,
7755 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7756 MVT::i1, 2, 3, 4,
7757 OPC_EmitInteger32, 0,
7758 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7759 MVT::i32, 1, 6,
7760 OPC_EmitInteger32, 2,
7761 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7762 MVT::i32, 1, 8,
7763 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7764 MVT::i32, 3, 5, 7, 9,
7765 46,
7766 OPC_CheckType, MVT::i1,
7767 OPC_MoveParent,
7768 OPC_CheckTypeI64,
7769 OPC_CheckPatternPredicate0,
7770 OPC_EmitMergeInputChains1_0,
7771 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7772 MVT::i32, 2, 1, 2,
7773 OPC_EmitStringInteger32, PPC::sub_lt,
7774 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7775 MVT::i1, 2, 3, 4,
7776 OPC_EmitInteger64, 0,
7777 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7778 MVT::i64, 1, 6,
7779 OPC_EmitInteger64, 2,
7780 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7781 MVT::i64, 1, 8,
7782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7783 MVT::i64, 3, 5, 7, 9,
7784 0,
7785 97,
7786 OPC_CheckCondCode, ISD::SETGE,
7787 OPC_MoveParent,
7788 OPC_Scope, 44,
7789 OPC_MoveParent,
7790 OPC_CheckTypeI32,
7791 OPC_CheckPatternPredicate0,
7792 OPC_EmitMergeInputChains1_0,
7793 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7794 MVT::i32, 2, 1, 2,
7795 OPC_EmitStringInteger32, PPC::sub_lt,
7796 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7797 MVT::i1, 2, 3, 4,
7798 OPC_EmitInteger32, 0,
7799 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7800 MVT::i32, 1, 6,
7801 OPC_EmitInteger32, 2,
7802 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7803 MVT::i32, 1, 8,
7804 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7805 MVT::i32, 3, 5, 7, 9,
7806 46,
7807 OPC_CheckType, MVT::i1,
7808 OPC_MoveParent,
7809 OPC_CheckTypeI64,
7810 OPC_CheckPatternPredicate0,
7811 OPC_EmitMergeInputChains1_0,
7812 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7813 MVT::i32, 2, 1, 2,
7814 OPC_EmitStringInteger32, PPC::sub_lt,
7815 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7816 MVT::i1, 2, 3, 4,
7817 OPC_EmitInteger64, 0,
7818 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7819 MVT::i64, 1, 6,
7820 OPC_EmitInteger64, 2,
7821 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7822 MVT::i64, 1, 8,
7823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7824 MVT::i64, 3, 5, 7, 9,
7825 0,
7826 97,
7827 OPC_CheckCondCode, ISD::SETULE,
7828 OPC_MoveParent,
7829 OPC_Scope, 44,
7830 OPC_MoveParent,
7831 OPC_CheckTypeI32,
7832 OPC_CheckPatternPredicate0,
7833 OPC_EmitMergeInputChains1_0,
7834 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7835 MVT::i32, 2, 1, 2,
7836 OPC_EmitStringInteger32, PPC::sub_gt,
7837 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7838 MVT::i1, 2, 3, 4,
7839 OPC_EmitInteger32, 0,
7840 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7841 MVT::i32, 1, 6,
7842 OPC_EmitInteger32, 2,
7843 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7844 MVT::i32, 1, 8,
7845 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7846 MVT::i32, 3, 5, 7, 9,
7847 46,
7848 OPC_CheckType, MVT::i1,
7849 OPC_MoveParent,
7850 OPC_CheckTypeI64,
7851 OPC_CheckPatternPredicate0,
7852 OPC_EmitMergeInputChains1_0,
7853 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7854 MVT::i32, 2, 1, 2,
7855 OPC_EmitStringInteger32, PPC::sub_gt,
7856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7857 MVT::i1, 2, 3, 4,
7858 OPC_EmitInteger64, 0,
7859 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7860 MVT::i64, 1, 6,
7861 OPC_EmitInteger64, 2,
7862 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7863 MVT::i64, 1, 8,
7864 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7865 MVT::i64, 3, 5, 7, 9,
7866 0,
7867 97,
7868 OPC_CheckCondCode, ISD::SETLE,
7869 OPC_MoveParent,
7870 OPC_Scope, 44,
7871 OPC_MoveParent,
7872 OPC_CheckTypeI32,
7873 OPC_CheckPatternPredicate0,
7874 OPC_EmitMergeInputChains1_0,
7875 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7876 MVT::i32, 2, 1, 2,
7877 OPC_EmitStringInteger32, PPC::sub_gt,
7878 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7879 MVT::i1, 2, 3, 4,
7880 OPC_EmitInteger32, 0,
7881 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7882 MVT::i32, 1, 6,
7883 OPC_EmitInteger32, 2,
7884 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7885 MVT::i32, 1, 8,
7886 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7887 MVT::i32, 3, 5, 7, 9,
7888 46,
7889 OPC_CheckType, MVT::i1,
7890 OPC_MoveParent,
7891 OPC_CheckTypeI64,
7892 OPC_CheckPatternPredicate0,
7893 OPC_EmitMergeInputChains1_0,
7894 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7895 MVT::i32, 2, 1, 2,
7896 OPC_EmitStringInteger32, PPC::sub_gt,
7897 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7898 MVT::i1, 2, 3, 4,
7899 OPC_EmitInteger64, 0,
7900 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7901 MVT::i64, 1, 6,
7902 OPC_EmitInteger64, 2,
7903 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7904 MVT::i64, 1, 8,
7905 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7906 MVT::i64, 3, 5, 7, 9,
7907 0,
7908 97,
7909 OPC_CheckCondCode, ISD::SETUNE,
7910 OPC_MoveParent,
7911 OPC_Scope, 44,
7912 OPC_MoveParent,
7913 OPC_CheckTypeI32,
7914 OPC_CheckPatternPredicate0,
7915 OPC_EmitMergeInputChains1_0,
7916 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7917 MVT::i32, 2, 1, 2,
7918 OPC_EmitStringInteger32, PPC::sub_eq,
7919 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7920 MVT::i1, 2, 3, 4,
7921 OPC_EmitInteger32, 0,
7922 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7923 MVT::i32, 1, 6,
7924 OPC_EmitInteger32, 2,
7925 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7926 MVT::i32, 1, 8,
7927 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7928 MVT::i32, 3, 5, 7, 9,
7929 46,
7930 OPC_CheckType, MVT::i1,
7931 OPC_MoveParent,
7932 OPC_CheckTypeI64,
7933 OPC_CheckPatternPredicate0,
7934 OPC_EmitMergeInputChains1_0,
7935 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7936 MVT::i32, 2, 1, 2,
7937 OPC_EmitStringInteger32, PPC::sub_eq,
7938 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7939 MVT::i1, 2, 3, 4,
7940 OPC_EmitInteger64, 0,
7941 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7942 MVT::i64, 1, 6,
7943 OPC_EmitInteger64, 2,
7944 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7945 MVT::i64, 1, 8,
7946 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7947 MVT::i64, 3, 5, 7, 9,
7948 0,
7949 97,
7950 OPC_CheckCondCode, ISD::SETNE,
7951 OPC_MoveParent,
7952 OPC_Scope, 44,
7953 OPC_MoveParent,
7954 OPC_CheckTypeI32,
7955 OPC_CheckPatternPredicate0,
7956 OPC_EmitMergeInputChains1_0,
7957 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7958 MVT::i32, 2, 1, 2,
7959 OPC_EmitStringInteger32, PPC::sub_eq,
7960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7961 MVT::i1, 2, 3, 4,
7962 OPC_EmitInteger32, 0,
7963 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7964 MVT::i32, 1, 6,
7965 OPC_EmitInteger32, 2,
7966 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
7967 MVT::i32, 1, 8,
7968 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
7969 MVT::i32, 3, 5, 7, 9,
7970 46,
7971 OPC_CheckType, MVT::i1,
7972 OPC_MoveParent,
7973 OPC_CheckTypeI64,
7974 OPC_CheckPatternPredicate0,
7975 OPC_EmitMergeInputChains1_0,
7976 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7977 MVT::i32, 2, 1, 2,
7978 OPC_EmitStringInteger32, PPC::sub_eq,
7979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
7980 MVT::i1, 2, 3, 4,
7981 OPC_EmitInteger64, 0,
7982 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7983 MVT::i64, 1, 6,
7984 OPC_EmitInteger64, 2,
7985 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
7986 MVT::i64, 1, 8,
7987 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
7988 MVT::i64, 3, 5, 7, 9,
7989 0,
7990 97,
7991 OPC_CheckCondCode, ISD::SETO,
7992 OPC_MoveParent,
7993 OPC_Scope, 44,
7994 OPC_MoveParent,
7995 OPC_CheckTypeI32,
7996 OPC_CheckPatternPredicate0,
7997 OPC_EmitMergeInputChains1_0,
7998 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
7999 MVT::i32, 2, 1, 2,
8000 OPC_EmitStringInteger32, PPC::sub_un,
8001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8002 MVT::i1, 2, 3, 4,
8003 OPC_EmitInteger32, 0,
8004 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8005 MVT::i32, 1, 6,
8006 OPC_EmitInteger32, 2,
8007 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8008 MVT::i32, 1, 8,
8009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8010 MVT::i32, 3, 5, 7, 9,
8011 46,
8012 OPC_CheckType, MVT::i1,
8013 OPC_MoveParent,
8014 OPC_CheckTypeI64,
8015 OPC_CheckPatternPredicate0,
8016 OPC_EmitMergeInputChains1_0,
8017 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
8018 MVT::i32, 2, 1, 2,
8019 OPC_EmitStringInteger32, PPC::sub_un,
8020 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8021 MVT::i1, 2, 3, 4,
8022 OPC_EmitInteger64, 0,
8023 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8024 MVT::i64, 1, 6,
8025 OPC_EmitInteger64, 2,
8026 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8027 MVT::i64, 1, 8,
8028 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8029 MVT::i64, 3, 5, 7, 9,
8030 0,
8031 0,
8032 52|128,5,
8033 OPC_CheckChild1Type, MVT::f64,
8034 OPC_RecordChild2,
8035 OPC_MoveChild3,
8036 OPC_Scope, 97,
8037 OPC_CheckCondCode, ISD::SETUGE,
8038 OPC_MoveParent,
8039 OPC_Scope, 44,
8040 OPC_MoveParent,
8041 OPC_CheckTypeI32,
8042 OPC_CheckPatternPredicate0,
8043 OPC_EmitMergeInputChains1_0,
8044 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8045 MVT::i32, 2, 1, 2,
8046 OPC_EmitStringInteger32, PPC::sub_lt,
8047 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8048 MVT::i1, 2, 3, 4,
8049 OPC_EmitInteger32, 0,
8050 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8051 MVT::i32, 1, 6,
8052 OPC_EmitInteger32, 2,
8053 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8054 MVT::i32, 1, 8,
8055 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8056 MVT::i32, 3, 5, 7, 9,
8057 46,
8058 OPC_CheckType, MVT::i1,
8059 OPC_MoveParent,
8060 OPC_CheckTypeI64,
8061 OPC_CheckPatternPredicate0,
8062 OPC_EmitMergeInputChains1_0,
8063 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8064 MVT::i32, 2, 1, 2,
8065 OPC_EmitStringInteger32, PPC::sub_lt,
8066 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8067 MVT::i1, 2, 3, 4,
8068 OPC_EmitInteger64, 0,
8069 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8070 MVT::i64, 1, 6,
8071 OPC_EmitInteger64, 2,
8072 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8073 MVT::i64, 1, 8,
8074 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8075 MVT::i64, 3, 5, 7, 9,
8076 0,
8077 97,
8078 OPC_CheckCondCode, ISD::SETGE,
8079 OPC_MoveParent,
8080 OPC_Scope, 44,
8081 OPC_MoveParent,
8082 OPC_CheckTypeI32,
8083 OPC_CheckPatternPredicate0,
8084 OPC_EmitMergeInputChains1_0,
8085 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8086 MVT::i32, 2, 1, 2,
8087 OPC_EmitStringInteger32, PPC::sub_lt,
8088 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8089 MVT::i1, 2, 3, 4,
8090 OPC_EmitInteger32, 0,
8091 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8092 MVT::i32, 1, 6,
8093 OPC_EmitInteger32, 2,
8094 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8095 MVT::i32, 1, 8,
8096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8097 MVT::i32, 3, 5, 7, 9,
8098 46,
8099 OPC_CheckType, MVT::i1,
8100 OPC_MoveParent,
8101 OPC_CheckTypeI64,
8102 OPC_CheckPatternPredicate0,
8103 OPC_EmitMergeInputChains1_0,
8104 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8105 MVT::i32, 2, 1, 2,
8106 OPC_EmitStringInteger32, PPC::sub_lt,
8107 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8108 MVT::i1, 2, 3, 4,
8109 OPC_EmitInteger64, 0,
8110 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8111 MVT::i64, 1, 6,
8112 OPC_EmitInteger64, 2,
8113 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8114 MVT::i64, 1, 8,
8115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8116 MVT::i64, 3, 5, 7, 9,
8117 0,
8118 97,
8119 OPC_CheckCondCode, ISD::SETULE,
8120 OPC_MoveParent,
8121 OPC_Scope, 44,
8122 OPC_MoveParent,
8123 OPC_CheckTypeI32,
8124 OPC_CheckPatternPredicate0,
8125 OPC_EmitMergeInputChains1_0,
8126 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8127 MVT::i32, 2, 1, 2,
8128 OPC_EmitStringInteger32, PPC::sub_gt,
8129 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8130 MVT::i1, 2, 3, 4,
8131 OPC_EmitInteger32, 0,
8132 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8133 MVT::i32, 1, 6,
8134 OPC_EmitInteger32, 2,
8135 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8136 MVT::i32, 1, 8,
8137 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8138 MVT::i32, 3, 5, 7, 9,
8139 46,
8140 OPC_CheckType, MVT::i1,
8141 OPC_MoveParent,
8142 OPC_CheckTypeI64,
8143 OPC_CheckPatternPredicate0,
8144 OPC_EmitMergeInputChains1_0,
8145 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8146 MVT::i32, 2, 1, 2,
8147 OPC_EmitStringInteger32, PPC::sub_gt,
8148 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8149 MVT::i1, 2, 3, 4,
8150 OPC_EmitInteger64, 0,
8151 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8152 MVT::i64, 1, 6,
8153 OPC_EmitInteger64, 2,
8154 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8155 MVT::i64, 1, 8,
8156 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8157 MVT::i64, 3, 5, 7, 9,
8158 0,
8159 97,
8160 OPC_CheckCondCode, ISD::SETLE,
8161 OPC_MoveParent,
8162 OPC_Scope, 44,
8163 OPC_MoveParent,
8164 OPC_CheckTypeI32,
8165 OPC_CheckPatternPredicate0,
8166 OPC_EmitMergeInputChains1_0,
8167 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8168 MVT::i32, 2, 1, 2,
8169 OPC_EmitStringInteger32, PPC::sub_gt,
8170 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8171 MVT::i1, 2, 3, 4,
8172 OPC_EmitInteger32, 0,
8173 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8174 MVT::i32, 1, 6,
8175 OPC_EmitInteger32, 2,
8176 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8177 MVT::i32, 1, 8,
8178 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8179 MVT::i32, 3, 5, 7, 9,
8180 46,
8181 OPC_CheckType, MVT::i1,
8182 OPC_MoveParent,
8183 OPC_CheckTypeI64,
8184 OPC_CheckPatternPredicate0,
8185 OPC_EmitMergeInputChains1_0,
8186 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8187 MVT::i32, 2, 1, 2,
8188 OPC_EmitStringInteger32, PPC::sub_gt,
8189 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8190 MVT::i1, 2, 3, 4,
8191 OPC_EmitInteger64, 0,
8192 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8193 MVT::i64, 1, 6,
8194 OPC_EmitInteger64, 2,
8195 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8196 MVT::i64, 1, 8,
8197 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8198 MVT::i64, 3, 5, 7, 9,
8199 0,
8200 97,
8201 OPC_CheckCondCode, ISD::SETUNE,
8202 OPC_MoveParent,
8203 OPC_Scope, 44,
8204 OPC_MoveParent,
8205 OPC_CheckTypeI32,
8206 OPC_CheckPatternPredicate0,
8207 OPC_EmitMergeInputChains1_0,
8208 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8209 MVT::i32, 2, 1, 2,
8210 OPC_EmitStringInteger32, PPC::sub_eq,
8211 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8212 MVT::i1, 2, 3, 4,
8213 OPC_EmitInteger32, 0,
8214 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8215 MVT::i32, 1, 6,
8216 OPC_EmitInteger32, 2,
8217 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8218 MVT::i32, 1, 8,
8219 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8220 MVT::i32, 3, 5, 7, 9,
8221 46,
8222 OPC_CheckType, MVT::i1,
8223 OPC_MoveParent,
8224 OPC_CheckTypeI64,
8225 OPC_CheckPatternPredicate0,
8226 OPC_EmitMergeInputChains1_0,
8227 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8228 MVT::i32, 2, 1, 2,
8229 OPC_EmitStringInteger32, PPC::sub_eq,
8230 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8231 MVT::i1, 2, 3, 4,
8232 OPC_EmitInteger64, 0,
8233 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8234 MVT::i64, 1, 6,
8235 OPC_EmitInteger64, 2,
8236 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8237 MVT::i64, 1, 8,
8238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8239 MVT::i64, 3, 5, 7, 9,
8240 0,
8241 97,
8242 OPC_CheckCondCode, ISD::SETNE,
8243 OPC_MoveParent,
8244 OPC_Scope, 44,
8245 OPC_MoveParent,
8246 OPC_CheckTypeI32,
8247 OPC_CheckPatternPredicate0,
8248 OPC_EmitMergeInputChains1_0,
8249 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8250 MVT::i32, 2, 1, 2,
8251 OPC_EmitStringInteger32, PPC::sub_eq,
8252 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8253 MVT::i1, 2, 3, 4,
8254 OPC_EmitInteger32, 0,
8255 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8256 MVT::i32, 1, 6,
8257 OPC_EmitInteger32, 2,
8258 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8259 MVT::i32, 1, 8,
8260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8261 MVT::i32, 3, 5, 7, 9,
8262 46,
8263 OPC_CheckType, MVT::i1,
8264 OPC_MoveParent,
8265 OPC_CheckTypeI64,
8266 OPC_CheckPatternPredicate0,
8267 OPC_EmitMergeInputChains1_0,
8268 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8269 MVT::i32, 2, 1, 2,
8270 OPC_EmitStringInteger32, PPC::sub_eq,
8271 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8272 MVT::i1, 2, 3, 4,
8273 OPC_EmitInteger64, 0,
8274 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8275 MVT::i64, 1, 6,
8276 OPC_EmitInteger64, 2,
8277 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8278 MVT::i64, 1, 8,
8279 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8280 MVT::i64, 3, 5, 7, 9,
8281 0,
8282 97,
8283 OPC_CheckCondCode, ISD::SETO,
8284 OPC_MoveParent,
8285 OPC_Scope, 44,
8286 OPC_MoveParent,
8287 OPC_CheckTypeI32,
8288 OPC_CheckPatternPredicate0,
8289 OPC_EmitMergeInputChains1_0,
8290 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8291 MVT::i32, 2, 1, 2,
8292 OPC_EmitStringInteger32, PPC::sub_un,
8293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8294 MVT::i1, 2, 3, 4,
8295 OPC_EmitInteger32, 0,
8296 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8297 MVT::i32, 1, 6,
8298 OPC_EmitInteger32, 2,
8299 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8300 MVT::i32, 1, 8,
8301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8302 MVT::i32, 3, 5, 7, 9,
8303 46,
8304 OPC_CheckType, MVT::i1,
8305 OPC_MoveParent,
8306 OPC_CheckTypeI64,
8307 OPC_CheckPatternPredicate0,
8308 OPC_EmitMergeInputChains1_0,
8309 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
8310 MVT::i32, 2, 1, 2,
8311 OPC_EmitStringInteger32, PPC::sub_un,
8312 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8313 MVT::i1, 2, 3, 4,
8314 OPC_EmitInteger64, 0,
8315 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8316 MVT::i64, 1, 6,
8317 OPC_EmitInteger64, 2,
8318 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8319 MVT::i64, 1, 8,
8320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8321 MVT::i64, 3, 5, 7, 9,
8322 0,
8323 0,
8324 52|128,5,
8325 OPC_CheckChild1Type, MVT::f128,
8326 OPC_RecordChild2,
8327 OPC_MoveChild3,
8328 OPC_Scope, 97,
8329 OPC_CheckCondCode, ISD::SETUGE,
8330 OPC_MoveParent,
8331 OPC_Scope, 44,
8332 OPC_MoveParent,
8333 OPC_CheckTypeI32,
8334 OPC_CheckPatternPredicate0,
8335 OPC_EmitMergeInputChains1_0,
8336 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8337 MVT::i32, 2, 1, 2,
8338 OPC_EmitStringInteger32, PPC::sub_lt,
8339 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8340 MVT::i1, 2, 3, 4,
8341 OPC_EmitInteger32, 0,
8342 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8343 MVT::i32, 1, 6,
8344 OPC_EmitInteger32, 2,
8345 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8346 MVT::i32, 1, 8,
8347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8348 MVT::i32, 3, 5, 7, 9,
8349 46,
8350 OPC_CheckType, MVT::i1,
8351 OPC_MoveParent,
8352 OPC_CheckTypeI64,
8353 OPC_CheckPatternPredicate0,
8354 OPC_EmitMergeInputChains1_0,
8355 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8356 MVT::i32, 2, 1, 2,
8357 OPC_EmitStringInteger32, PPC::sub_lt,
8358 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8359 MVT::i1, 2, 3, 4,
8360 OPC_EmitInteger64, 0,
8361 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8362 MVT::i64, 1, 6,
8363 OPC_EmitInteger64, 2,
8364 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8365 MVT::i64, 1, 8,
8366 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8367 MVT::i64, 3, 5, 7, 9,
8368 0,
8369 97,
8370 OPC_CheckCondCode, ISD::SETGE,
8371 OPC_MoveParent,
8372 OPC_Scope, 44,
8373 OPC_MoveParent,
8374 OPC_CheckTypeI32,
8375 OPC_CheckPatternPredicate0,
8376 OPC_EmitMergeInputChains1_0,
8377 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8378 MVT::i32, 2, 1, 2,
8379 OPC_EmitStringInteger32, PPC::sub_lt,
8380 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8381 MVT::i1, 2, 3, 4,
8382 OPC_EmitInteger32, 0,
8383 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8384 MVT::i32, 1, 6,
8385 OPC_EmitInteger32, 2,
8386 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8387 MVT::i32, 1, 8,
8388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8389 MVT::i32, 3, 5, 7, 9,
8390 46,
8391 OPC_CheckType, MVT::i1,
8392 OPC_MoveParent,
8393 OPC_CheckTypeI64,
8394 OPC_CheckPatternPredicate0,
8395 OPC_EmitMergeInputChains1_0,
8396 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8397 MVT::i32, 2, 1, 2,
8398 OPC_EmitStringInteger32, PPC::sub_lt,
8399 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8400 MVT::i1, 2, 3, 4,
8401 OPC_EmitInteger64, 0,
8402 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8403 MVT::i64, 1, 6,
8404 OPC_EmitInteger64, 2,
8405 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8406 MVT::i64, 1, 8,
8407 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8408 MVT::i64, 3, 5, 7, 9,
8409 0,
8410 97,
8411 OPC_CheckCondCode, ISD::SETULE,
8412 OPC_MoveParent,
8413 OPC_Scope, 44,
8414 OPC_MoveParent,
8415 OPC_CheckTypeI32,
8416 OPC_CheckPatternPredicate0,
8417 OPC_EmitMergeInputChains1_0,
8418 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8419 MVT::i32, 2, 1, 2,
8420 OPC_EmitStringInteger32, PPC::sub_gt,
8421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8422 MVT::i1, 2, 3, 4,
8423 OPC_EmitInteger32, 0,
8424 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8425 MVT::i32, 1, 6,
8426 OPC_EmitInteger32, 2,
8427 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8428 MVT::i32, 1, 8,
8429 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8430 MVT::i32, 3, 5, 7, 9,
8431 46,
8432 OPC_CheckType, MVT::i1,
8433 OPC_MoveParent,
8434 OPC_CheckTypeI64,
8435 OPC_CheckPatternPredicate0,
8436 OPC_EmitMergeInputChains1_0,
8437 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8438 MVT::i32, 2, 1, 2,
8439 OPC_EmitStringInteger32, PPC::sub_gt,
8440 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8441 MVT::i1, 2, 3, 4,
8442 OPC_EmitInteger64, 0,
8443 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8444 MVT::i64, 1, 6,
8445 OPC_EmitInteger64, 2,
8446 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8447 MVT::i64, 1, 8,
8448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8449 MVT::i64, 3, 5, 7, 9,
8450 0,
8451 97,
8452 OPC_CheckCondCode, ISD::SETLE,
8453 OPC_MoveParent,
8454 OPC_Scope, 44,
8455 OPC_MoveParent,
8456 OPC_CheckTypeI32,
8457 OPC_CheckPatternPredicate0,
8458 OPC_EmitMergeInputChains1_0,
8459 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8460 MVT::i32, 2, 1, 2,
8461 OPC_EmitStringInteger32, PPC::sub_gt,
8462 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8463 MVT::i1, 2, 3, 4,
8464 OPC_EmitInteger32, 0,
8465 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8466 MVT::i32, 1, 6,
8467 OPC_EmitInteger32, 2,
8468 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8469 MVT::i32, 1, 8,
8470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8471 MVT::i32, 3, 5, 7, 9,
8472 46,
8473 OPC_CheckType, MVT::i1,
8474 OPC_MoveParent,
8475 OPC_CheckTypeI64,
8476 OPC_CheckPatternPredicate0,
8477 OPC_EmitMergeInputChains1_0,
8478 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8479 MVT::i32, 2, 1, 2,
8480 OPC_EmitStringInteger32, PPC::sub_gt,
8481 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8482 MVT::i1, 2, 3, 4,
8483 OPC_EmitInteger64, 0,
8484 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8485 MVT::i64, 1, 6,
8486 OPC_EmitInteger64, 2,
8487 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8488 MVT::i64, 1, 8,
8489 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8490 MVT::i64, 3, 5, 7, 9,
8491 0,
8492 97,
8493 OPC_CheckCondCode, ISD::SETUNE,
8494 OPC_MoveParent,
8495 OPC_Scope, 44,
8496 OPC_MoveParent,
8497 OPC_CheckTypeI32,
8498 OPC_CheckPatternPredicate0,
8499 OPC_EmitMergeInputChains1_0,
8500 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8501 MVT::i32, 2, 1, 2,
8502 OPC_EmitStringInteger32, PPC::sub_eq,
8503 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8504 MVT::i1, 2, 3, 4,
8505 OPC_EmitInteger32, 0,
8506 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8507 MVT::i32, 1, 6,
8508 OPC_EmitInteger32, 2,
8509 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8510 MVT::i32, 1, 8,
8511 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8512 MVT::i32, 3, 5, 7, 9,
8513 46,
8514 OPC_CheckType, MVT::i1,
8515 OPC_MoveParent,
8516 OPC_CheckTypeI64,
8517 OPC_CheckPatternPredicate0,
8518 OPC_EmitMergeInputChains1_0,
8519 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8520 MVT::i32, 2, 1, 2,
8521 OPC_EmitStringInteger32, PPC::sub_eq,
8522 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8523 MVT::i1, 2, 3, 4,
8524 OPC_EmitInteger64, 0,
8525 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8526 MVT::i64, 1, 6,
8527 OPC_EmitInteger64, 2,
8528 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8529 MVT::i64, 1, 8,
8530 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8531 MVT::i64, 3, 5, 7, 9,
8532 0,
8533 97,
8534 OPC_CheckCondCode, ISD::SETNE,
8535 OPC_MoveParent,
8536 OPC_Scope, 44,
8537 OPC_MoveParent,
8538 OPC_CheckTypeI32,
8539 OPC_CheckPatternPredicate0,
8540 OPC_EmitMergeInputChains1_0,
8541 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8542 MVT::i32, 2, 1, 2,
8543 OPC_EmitStringInteger32, PPC::sub_eq,
8544 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8545 MVT::i1, 2, 3, 4,
8546 OPC_EmitInteger32, 0,
8547 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8548 MVT::i32, 1, 6,
8549 OPC_EmitInteger32, 2,
8550 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8551 MVT::i32, 1, 8,
8552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8553 MVT::i32, 3, 5, 7, 9,
8554 46,
8555 OPC_CheckType, MVT::i1,
8556 OPC_MoveParent,
8557 OPC_CheckTypeI64,
8558 OPC_CheckPatternPredicate0,
8559 OPC_EmitMergeInputChains1_0,
8560 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8561 MVT::i32, 2, 1, 2,
8562 OPC_EmitStringInteger32, PPC::sub_eq,
8563 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8564 MVT::i1, 2, 3, 4,
8565 OPC_EmitInteger64, 0,
8566 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8567 MVT::i64, 1, 6,
8568 OPC_EmitInteger64, 2,
8569 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8570 MVT::i64, 1, 8,
8571 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8572 MVT::i64, 3, 5, 7, 9,
8573 0,
8574 97,
8575 OPC_CheckCondCode, ISD::SETO,
8576 OPC_MoveParent,
8577 OPC_Scope, 44,
8578 OPC_MoveParent,
8579 OPC_CheckTypeI32,
8580 OPC_CheckPatternPredicate0,
8581 OPC_EmitMergeInputChains1_0,
8582 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8583 MVT::i32, 2, 1, 2,
8584 OPC_EmitStringInteger32, PPC::sub_un,
8585 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8586 MVT::i1, 2, 3, 4,
8587 OPC_EmitInteger32, 0,
8588 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8589 MVT::i32, 1, 6,
8590 OPC_EmitInteger32, 2,
8591 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8592 MVT::i32, 1, 8,
8593 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8594 MVT::i32, 3, 5, 7, 9,
8595 46,
8596 OPC_CheckType, MVT::i1,
8597 OPC_MoveParent,
8598 OPC_CheckTypeI64,
8599 OPC_CheckPatternPredicate0,
8600 OPC_EmitMergeInputChains1_0,
8601 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
8602 MVT::i32, 2, 1, 2,
8603 OPC_EmitStringInteger32, PPC::sub_un,
8604 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8605 MVT::i1, 2, 3, 4,
8606 OPC_EmitInteger64, 0,
8607 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8608 MVT::i64, 1, 6,
8609 OPC_EmitInteger64, 2,
8610 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8611 MVT::i64, 1, 8,
8612 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8613 MVT::i64, 3, 5, 7, 9,
8614 0,
8615 0,
8616 0,
8617 2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
8618 OPC_RecordNode,
8619 OPC_RecordChild1,
8620 OPC_Scope, 98|128,9,
8621 OPC_CheckChild1Type, MVT::f32,
8622 OPC_RecordChild2,
8623 OPC_MoveChild3,
8624 OPC_Scope, 61|128,1,
8625 OPC_CheckCondCode, ISD::SETUGE,
8626 OPC_MoveParent,
8627 OPC_Scope, 44,
8628 OPC_MoveParent,
8629 OPC_CheckTypeI32,
8630 OPC_CheckPatternPredicate0,
8631 OPC_EmitMergeInputChains1_0,
8632 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8633 MVT::i32, 2, 1, 2,
8634 OPC_EmitStringInteger32, PPC::sub_lt,
8635 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8636 MVT::i1, 2, 3, 4,
8637 OPC_EmitInteger32, 0,
8638 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8639 MVT::i32, 1, 6,
8640 OPC_EmitInteger32, 2,
8641 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8642 MVT::i32, 1, 8,
8643 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8644 MVT::i32, 3, 5, 7, 9,
8645 46,
8646 OPC_CheckType, MVT::i1,
8647 OPC_MoveParent,
8648 OPC_CheckTypeI64,
8649 OPC_CheckPatternPredicate0,
8650 OPC_EmitMergeInputChains1_0,
8651 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8652 MVT::i32, 2, 1, 2,
8653 OPC_EmitStringInteger32, PPC::sub_lt,
8654 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8655 MVT::i1, 2, 3, 4,
8656 OPC_EmitInteger64, 0,
8657 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8658 MVT::i64, 1, 6,
8659 OPC_EmitInteger64, 2,
8660 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8661 MVT::i64, 1, 8,
8662 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8663 MVT::i64, 3, 5, 7, 9,
8664 44,
8665 OPC_MoveParent,
8666 OPC_CheckTypeI32,
8667 OPC_CheckPatternPredicate5,
8668 OPC_EmitMergeInputChains1_0,
8669 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
8670 MVT::i32, 2, 1, 2,
8671 OPC_EmitStringInteger32, PPC::sub_gt,
8672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8673 MVT::i1, 2, 3, 4,
8674 OPC_EmitInteger32, 0,
8675 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8676 MVT::i32, 1, 6,
8677 OPC_EmitInteger32, 2,
8678 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8679 MVT::i32, 1, 8,
8680 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8681 MVT::i32, 3, 5, 7, 9,
8682 46,
8683 OPC_CheckType, MVT::i1,
8684 OPC_MoveParent,
8685 OPC_CheckTypeI64,
8686 OPC_CheckPatternPredicate5,
8687 OPC_EmitMergeInputChains1_0,
8688 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
8689 MVT::i32, 2, 1, 2,
8690 OPC_EmitStringInteger32, PPC::sub_gt,
8691 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8692 MVT::i1, 2, 3, 4,
8693 OPC_EmitInteger64, 0,
8694 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8695 MVT::i64, 1, 6,
8696 OPC_EmitInteger64, 2,
8697 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8698 MVT::i64, 1, 8,
8699 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8700 MVT::i64, 3, 5, 7, 9,
8701 0,
8702 61|128,1,
8703 OPC_CheckCondCode, ISD::SETGE,
8704 OPC_MoveParent,
8705 OPC_Scope, 44,
8706 OPC_MoveParent,
8707 OPC_CheckTypeI32,
8708 OPC_CheckPatternPredicate0,
8709 OPC_EmitMergeInputChains1_0,
8710 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8711 MVT::i32, 2, 1, 2,
8712 OPC_EmitStringInteger32, PPC::sub_lt,
8713 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8714 MVT::i1, 2, 3, 4,
8715 OPC_EmitInteger32, 0,
8716 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8717 MVT::i32, 1, 6,
8718 OPC_EmitInteger32, 2,
8719 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8720 MVT::i32, 1, 8,
8721 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8722 MVT::i32, 3, 5, 7, 9,
8723 46,
8724 OPC_CheckType, MVT::i1,
8725 OPC_MoveParent,
8726 OPC_CheckTypeI64,
8727 OPC_CheckPatternPredicate0,
8728 OPC_EmitMergeInputChains1_0,
8729 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8730 MVT::i32, 2, 1, 2,
8731 OPC_EmitStringInteger32, PPC::sub_lt,
8732 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8733 MVT::i1, 2, 3, 4,
8734 OPC_EmitInteger64, 0,
8735 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8736 MVT::i64, 1, 6,
8737 OPC_EmitInteger64, 2,
8738 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8739 MVT::i64, 1, 8,
8740 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8741 MVT::i64, 3, 5, 7, 9,
8742 44,
8743 OPC_MoveParent,
8744 OPC_CheckTypeI32,
8745 OPC_CheckPatternPredicate5,
8746 OPC_EmitMergeInputChains1_0,
8747 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
8748 MVT::i32, 2, 1, 2,
8749 OPC_EmitStringInteger32, PPC::sub_gt,
8750 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8751 MVT::i1, 2, 3, 4,
8752 OPC_EmitInteger32, 0,
8753 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8754 MVT::i32, 1, 6,
8755 OPC_EmitInteger32, 2,
8756 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8757 MVT::i32, 1, 8,
8758 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8759 MVT::i32, 3, 5, 7, 9,
8760 46,
8761 OPC_CheckType, MVT::i1,
8762 OPC_MoveParent,
8763 OPC_CheckTypeI64,
8764 OPC_CheckPatternPredicate5,
8765 OPC_EmitMergeInputChains1_0,
8766 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
8767 MVT::i32, 2, 1, 2,
8768 OPC_EmitStringInteger32, PPC::sub_gt,
8769 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8770 MVT::i1, 2, 3, 4,
8771 OPC_EmitInteger64, 0,
8772 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8773 MVT::i64, 1, 6,
8774 OPC_EmitInteger64, 2,
8775 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8776 MVT::i64, 1, 8,
8777 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8778 MVT::i64, 3, 5, 7, 9,
8779 0,
8780 61|128,1,
8781 OPC_CheckCondCode, ISD::SETULE,
8782 OPC_MoveParent,
8783 OPC_Scope, 44,
8784 OPC_MoveParent,
8785 OPC_CheckTypeI32,
8786 OPC_CheckPatternPredicate0,
8787 OPC_EmitMergeInputChains1_0,
8788 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8789 MVT::i32, 2, 1, 2,
8790 OPC_EmitStringInteger32, PPC::sub_gt,
8791 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8792 MVT::i1, 2, 3, 4,
8793 OPC_EmitInteger32, 0,
8794 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8795 MVT::i32, 1, 6,
8796 OPC_EmitInteger32, 2,
8797 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8798 MVT::i32, 1, 8,
8799 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8800 MVT::i32, 3, 5, 7, 9,
8801 46,
8802 OPC_CheckType, MVT::i1,
8803 OPC_MoveParent,
8804 OPC_CheckTypeI64,
8805 OPC_CheckPatternPredicate0,
8806 OPC_EmitMergeInputChains1_0,
8807 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8808 MVT::i32, 2, 1, 2,
8809 OPC_EmitStringInteger32, PPC::sub_gt,
8810 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8811 MVT::i1, 2, 3, 4,
8812 OPC_EmitInteger64, 0,
8813 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8814 MVT::i64, 1, 6,
8815 OPC_EmitInteger64, 2,
8816 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8817 MVT::i64, 1, 8,
8818 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8819 MVT::i64, 3, 5, 7, 9,
8820 44,
8821 OPC_MoveParent,
8822 OPC_CheckTypeI32,
8823 OPC_CheckPatternPredicate5,
8824 OPC_EmitMergeInputChains1_0,
8825 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
8826 MVT::i32, 2, 1, 2,
8827 OPC_EmitStringInteger32, PPC::sub_gt,
8828 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8829 MVT::i1, 2, 3, 4,
8830 OPC_EmitInteger32, 0,
8831 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8832 MVT::i32, 1, 6,
8833 OPC_EmitInteger32, 2,
8834 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8835 MVT::i32, 1, 8,
8836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8837 MVT::i32, 3, 5, 7, 9,
8838 46,
8839 OPC_CheckType, MVT::i1,
8840 OPC_MoveParent,
8841 OPC_CheckTypeI64,
8842 OPC_CheckPatternPredicate5,
8843 OPC_EmitMergeInputChains1_0,
8844 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
8845 MVT::i32, 2, 1, 2,
8846 OPC_EmitStringInteger32, PPC::sub_gt,
8847 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8848 MVT::i1, 2, 3, 4,
8849 OPC_EmitInteger64, 0,
8850 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8851 MVT::i64, 1, 6,
8852 OPC_EmitInteger64, 2,
8853 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8854 MVT::i64, 1, 8,
8855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8856 MVT::i64, 3, 5, 7, 9,
8857 0,
8858 61|128,1,
8859 OPC_CheckCondCode, ISD::SETLE,
8860 OPC_MoveParent,
8861 OPC_Scope, 44,
8862 OPC_MoveParent,
8863 OPC_CheckTypeI32,
8864 OPC_CheckPatternPredicate0,
8865 OPC_EmitMergeInputChains1_0,
8866 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8867 MVT::i32, 2, 1, 2,
8868 OPC_EmitStringInteger32, PPC::sub_gt,
8869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8870 MVT::i1, 2, 3, 4,
8871 OPC_EmitInteger32, 0,
8872 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8873 MVT::i32, 1, 6,
8874 OPC_EmitInteger32, 2,
8875 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8876 MVT::i32, 1, 8,
8877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8878 MVT::i32, 3, 5, 7, 9,
8879 46,
8880 OPC_CheckType, MVT::i1,
8881 OPC_MoveParent,
8882 OPC_CheckTypeI64,
8883 OPC_CheckPatternPredicate0,
8884 OPC_EmitMergeInputChains1_0,
8885 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8886 MVT::i32, 2, 1, 2,
8887 OPC_EmitStringInteger32, PPC::sub_gt,
8888 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8889 MVT::i1, 2, 3, 4,
8890 OPC_EmitInteger64, 0,
8891 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8892 MVT::i64, 1, 6,
8893 OPC_EmitInteger64, 2,
8894 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8895 MVT::i64, 1, 8,
8896 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8897 MVT::i64, 3, 5, 7, 9,
8898 44,
8899 OPC_MoveParent,
8900 OPC_CheckTypeI32,
8901 OPC_CheckPatternPredicate5,
8902 OPC_EmitMergeInputChains1_0,
8903 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
8904 MVT::i32, 2, 1, 2,
8905 OPC_EmitStringInteger32, PPC::sub_gt,
8906 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8907 MVT::i1, 2, 3, 4,
8908 OPC_EmitInteger32, 0,
8909 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8910 MVT::i32, 1, 6,
8911 OPC_EmitInteger32, 2,
8912 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8913 MVT::i32, 1, 8,
8914 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8915 MVT::i32, 3, 5, 7, 9,
8916 46,
8917 OPC_CheckType, MVT::i1,
8918 OPC_MoveParent,
8919 OPC_CheckTypeI64,
8920 OPC_CheckPatternPredicate5,
8921 OPC_EmitMergeInputChains1_0,
8922 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
8923 MVT::i32, 2, 1, 2,
8924 OPC_EmitStringInteger32, PPC::sub_gt,
8925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8926 MVT::i1, 2, 3, 4,
8927 OPC_EmitInteger64, 0,
8928 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8929 MVT::i64, 1, 6,
8930 OPC_EmitInteger64, 2,
8931 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8932 MVT::i64, 1, 8,
8933 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8934 MVT::i64, 3, 5, 7, 9,
8935 0,
8936 61|128,1,
8937 OPC_CheckCondCode, ISD::SETUNE,
8938 OPC_MoveParent,
8939 OPC_Scope, 44,
8940 OPC_MoveParent,
8941 OPC_CheckTypeI32,
8942 OPC_CheckPatternPredicate0,
8943 OPC_EmitMergeInputChains1_0,
8944 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8945 MVT::i32, 2, 1, 2,
8946 OPC_EmitStringInteger32, PPC::sub_eq,
8947 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8948 MVT::i1, 2, 3, 4,
8949 OPC_EmitInteger32, 0,
8950 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8951 MVT::i32, 1, 6,
8952 OPC_EmitInteger32, 2,
8953 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8954 MVT::i32, 1, 8,
8955 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8956 MVT::i32, 3, 5, 7, 9,
8957 46,
8958 OPC_CheckType, MVT::i1,
8959 OPC_MoveParent,
8960 OPC_CheckTypeI64,
8961 OPC_CheckPatternPredicate0,
8962 OPC_EmitMergeInputChains1_0,
8963 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
8964 MVT::i32, 2, 1, 2,
8965 OPC_EmitStringInteger32, PPC::sub_eq,
8966 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8967 MVT::i1, 2, 3, 4,
8968 OPC_EmitInteger64, 0,
8969 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8970 MVT::i64, 1, 6,
8971 OPC_EmitInteger64, 2,
8972 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
8973 MVT::i64, 1, 8,
8974 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
8975 MVT::i64, 3, 5, 7, 9,
8976 44,
8977 OPC_MoveParent,
8978 OPC_CheckTypeI32,
8979 OPC_CheckPatternPredicate5,
8980 OPC_EmitMergeInputChains1_0,
8981 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
8982 MVT::i32, 2, 1, 2,
8983 OPC_EmitStringInteger32, PPC::sub_gt,
8984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8985 MVT::i1, 2, 3, 4,
8986 OPC_EmitInteger32, 0,
8987 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8988 MVT::i32, 1, 6,
8989 OPC_EmitInteger32, 2,
8990 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
8991 MVT::i32, 1, 8,
8992 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
8993 MVT::i32, 3, 5, 7, 9,
8994 46,
8995 OPC_CheckType, MVT::i1,
8996 OPC_MoveParent,
8997 OPC_CheckTypeI64,
8998 OPC_CheckPatternPredicate5,
8999 OPC_EmitMergeInputChains1_0,
9000 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
9001 MVT::i32, 2, 1, 2,
9002 OPC_EmitStringInteger32, PPC::sub_gt,
9003 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9004 MVT::i1, 2, 3, 4,
9005 OPC_EmitInteger64, 0,
9006 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9007 MVT::i64, 1, 6,
9008 OPC_EmitInteger64, 2,
9009 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9010 MVT::i64, 1, 8,
9011 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9012 MVT::i64, 3, 5, 7, 9,
9013 0,
9014 61|128,1,
9015 OPC_CheckCondCode, ISD::SETNE,
9016 OPC_MoveParent,
9017 OPC_Scope, 44,
9018 OPC_MoveParent,
9019 OPC_CheckTypeI32,
9020 OPC_CheckPatternPredicate0,
9021 OPC_EmitMergeInputChains1_0,
9022 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
9023 MVT::i32, 2, 1, 2,
9024 OPC_EmitStringInteger32, PPC::sub_eq,
9025 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9026 MVT::i1, 2, 3, 4,
9027 OPC_EmitInteger32, 0,
9028 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9029 MVT::i32, 1, 6,
9030 OPC_EmitInteger32, 2,
9031 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9032 MVT::i32, 1, 8,
9033 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9034 MVT::i32, 3, 5, 7, 9,
9035 46,
9036 OPC_CheckType, MVT::i1,
9037 OPC_MoveParent,
9038 OPC_CheckTypeI64,
9039 OPC_CheckPatternPredicate0,
9040 OPC_EmitMergeInputChains1_0,
9041 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
9042 MVT::i32, 2, 1, 2,
9043 OPC_EmitStringInteger32, PPC::sub_eq,
9044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9045 MVT::i1, 2, 3, 4,
9046 OPC_EmitInteger64, 0,
9047 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9048 MVT::i64, 1, 6,
9049 OPC_EmitInteger64, 2,
9050 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9051 MVT::i64, 1, 8,
9052 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9053 MVT::i64, 3, 5, 7, 9,
9054 44,
9055 OPC_MoveParent,
9056 OPC_CheckTypeI32,
9057 OPC_CheckPatternPredicate5,
9058 OPC_EmitMergeInputChains1_0,
9059 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
9060 MVT::i32, 2, 1, 2,
9061 OPC_EmitStringInteger32, PPC::sub_gt,
9062 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9063 MVT::i1, 2, 3, 4,
9064 OPC_EmitInteger32, 0,
9065 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9066 MVT::i32, 1, 6,
9067 OPC_EmitInteger32, 2,
9068 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9069 MVT::i32, 1, 8,
9070 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9071 MVT::i32, 3, 5, 7, 9,
9072 46,
9073 OPC_CheckType, MVT::i1,
9074 OPC_MoveParent,
9075 OPC_CheckTypeI64,
9076 OPC_CheckPatternPredicate5,
9077 OPC_EmitMergeInputChains1_0,
9078 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
9079 MVT::i32, 2, 1, 2,
9080 OPC_EmitStringInteger32, PPC::sub_gt,
9081 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9082 MVT::i1, 2, 3, 4,
9083 OPC_EmitInteger64, 0,
9084 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9085 MVT::i64, 1, 6,
9086 OPC_EmitInteger64, 2,
9087 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9088 MVT::i64, 1, 8,
9089 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9090 MVT::i64, 3, 5, 7, 9,
9091 0,
9092 97,
9093 OPC_CheckCondCode, ISD::SETO,
9094 OPC_MoveParent,
9095 OPC_Scope, 44,
9096 OPC_MoveParent,
9097 OPC_CheckTypeI32,
9098 OPC_CheckPatternPredicate0,
9099 OPC_EmitMergeInputChains1_0,
9100 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
9101 MVT::i32, 2, 1, 2,
9102 OPC_EmitStringInteger32, PPC::sub_un,
9103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9104 MVT::i1, 2, 3, 4,
9105 OPC_EmitInteger32, 0,
9106 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9107 MVT::i32, 1, 6,
9108 OPC_EmitInteger32, 2,
9109 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9110 MVT::i32, 1, 8,
9111 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9112 MVT::i32, 3, 5, 7, 9,
9113 46,
9114 OPC_CheckType, MVT::i1,
9115 OPC_MoveParent,
9116 OPC_CheckTypeI64,
9117 OPC_CheckPatternPredicate0,
9118 OPC_EmitMergeInputChains1_0,
9119 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
9120 MVT::i32, 2, 1, 2,
9121 OPC_EmitStringInteger32, PPC::sub_un,
9122 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9123 MVT::i1, 2, 3, 4,
9124 OPC_EmitInteger64, 0,
9125 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9126 MVT::i64, 1, 6,
9127 OPC_EmitInteger64, 2,
9128 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9129 MVT::i64, 1, 8,
9130 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9131 MVT::i64, 3, 5, 7, 9,
9132 0,
9133 0,
9134 98|128,9,
9135 OPC_CheckChild1Type, MVT::f64,
9136 OPC_RecordChild2,
9137 OPC_MoveChild3,
9138 OPC_Scope, 61|128,1,
9139 OPC_CheckCondCode, ISD::SETUGE,
9140 OPC_MoveParent,
9141 OPC_Scope, 44,
9142 OPC_MoveParent,
9143 OPC_CheckTypeI32,
9144 OPC_CheckPatternPredicate0,
9145 OPC_EmitMergeInputChains1_0,
9146 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9147 MVT::i32, 2, 1, 2,
9148 OPC_EmitStringInteger32, PPC::sub_lt,
9149 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9150 MVT::i1, 2, 3, 4,
9151 OPC_EmitInteger32, 0,
9152 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9153 MVT::i32, 1, 6,
9154 OPC_EmitInteger32, 2,
9155 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9156 MVT::i32, 1, 8,
9157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9158 MVT::i32, 3, 5, 7, 9,
9159 46,
9160 OPC_CheckType, MVT::i1,
9161 OPC_MoveParent,
9162 OPC_CheckTypeI64,
9163 OPC_CheckPatternPredicate0,
9164 OPC_EmitMergeInputChains1_0,
9165 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9166 MVT::i32, 2, 1, 2,
9167 OPC_EmitStringInteger32, PPC::sub_lt,
9168 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9169 MVT::i1, 2, 3, 4,
9170 OPC_EmitInteger64, 0,
9171 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9172 MVT::i64, 1, 6,
9173 OPC_EmitInteger64, 2,
9174 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9175 MVT::i64, 1, 8,
9176 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9177 MVT::i64, 3, 5, 7, 9,
9178 44,
9179 OPC_MoveParent,
9180 OPC_CheckTypeI32,
9181 OPC_CheckPatternPredicate5,
9182 OPC_EmitMergeInputChains1_0,
9183 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
9184 MVT::i32, 2, 1, 2,
9185 OPC_EmitStringInteger32, PPC::sub_gt,
9186 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9187 MVT::i1, 2, 3, 4,
9188 OPC_EmitInteger32, 0,
9189 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9190 MVT::i32, 1, 6,
9191 OPC_EmitInteger32, 2,
9192 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9193 MVT::i32, 1, 8,
9194 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9195 MVT::i32, 3, 5, 7, 9,
9196 46,
9197 OPC_CheckType, MVT::i1,
9198 OPC_MoveParent,
9199 OPC_CheckTypeI64,
9200 OPC_CheckPatternPredicate5,
9201 OPC_EmitMergeInputChains1_0,
9202 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
9203 MVT::i32, 2, 1, 2,
9204 OPC_EmitStringInteger32, PPC::sub_gt,
9205 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9206 MVT::i1, 2, 3, 4,
9207 OPC_EmitInteger64, 0,
9208 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9209 MVT::i64, 1, 6,
9210 OPC_EmitInteger64, 2,
9211 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9212 MVT::i64, 1, 8,
9213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9214 MVT::i64, 3, 5, 7, 9,
9215 0,
9216 61|128,1,
9217 OPC_CheckCondCode, ISD::SETGE,
9218 OPC_MoveParent,
9219 OPC_Scope, 44,
9220 OPC_MoveParent,
9221 OPC_CheckTypeI32,
9222 OPC_CheckPatternPredicate0,
9223 OPC_EmitMergeInputChains1_0,
9224 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9225 MVT::i32, 2, 1, 2,
9226 OPC_EmitStringInteger32, PPC::sub_lt,
9227 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9228 MVT::i1, 2, 3, 4,
9229 OPC_EmitInteger32, 0,
9230 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9231 MVT::i32, 1, 6,
9232 OPC_EmitInteger32, 2,
9233 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9234 MVT::i32, 1, 8,
9235 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9236 MVT::i32, 3, 5, 7, 9,
9237 46,
9238 OPC_CheckType, MVT::i1,
9239 OPC_MoveParent,
9240 OPC_CheckTypeI64,
9241 OPC_CheckPatternPredicate0,
9242 OPC_EmitMergeInputChains1_0,
9243 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9244 MVT::i32, 2, 1, 2,
9245 OPC_EmitStringInteger32, PPC::sub_lt,
9246 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9247 MVT::i1, 2, 3, 4,
9248 OPC_EmitInteger64, 0,
9249 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9250 MVT::i64, 1, 6,
9251 OPC_EmitInteger64, 2,
9252 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9253 MVT::i64, 1, 8,
9254 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9255 MVT::i64, 3, 5, 7, 9,
9256 44,
9257 OPC_MoveParent,
9258 OPC_CheckTypeI32,
9259 OPC_CheckPatternPredicate5,
9260 OPC_EmitMergeInputChains1_0,
9261 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
9262 MVT::i32, 2, 1, 2,
9263 OPC_EmitStringInteger32, PPC::sub_gt,
9264 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9265 MVT::i1, 2, 3, 4,
9266 OPC_EmitInteger32, 0,
9267 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9268 MVT::i32, 1, 6,
9269 OPC_EmitInteger32, 2,
9270 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9271 MVT::i32, 1, 8,
9272 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9273 MVT::i32, 3, 5, 7, 9,
9274 46,
9275 OPC_CheckType, MVT::i1,
9276 OPC_MoveParent,
9277 OPC_CheckTypeI64,
9278 OPC_CheckPatternPredicate5,
9279 OPC_EmitMergeInputChains1_0,
9280 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
9281 MVT::i32, 2, 1, 2,
9282 OPC_EmitStringInteger32, PPC::sub_gt,
9283 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9284 MVT::i1, 2, 3, 4,
9285 OPC_EmitInteger64, 0,
9286 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9287 MVT::i64, 1, 6,
9288 OPC_EmitInteger64, 2,
9289 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9290 MVT::i64, 1, 8,
9291 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9292 MVT::i64, 3, 5, 7, 9,
9293 0,
9294 61|128,1,
9295 OPC_CheckCondCode, ISD::SETULE,
9296 OPC_MoveParent,
9297 OPC_Scope, 44,
9298 OPC_MoveParent,
9299 OPC_CheckTypeI32,
9300 OPC_CheckPatternPredicate0,
9301 OPC_EmitMergeInputChains1_0,
9302 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9303 MVT::i32, 2, 1, 2,
9304 OPC_EmitStringInteger32, PPC::sub_gt,
9305 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9306 MVT::i1, 2, 3, 4,
9307 OPC_EmitInteger32, 0,
9308 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9309 MVT::i32, 1, 6,
9310 OPC_EmitInteger32, 2,
9311 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9312 MVT::i32, 1, 8,
9313 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9314 MVT::i32, 3, 5, 7, 9,
9315 46,
9316 OPC_CheckType, MVT::i1,
9317 OPC_MoveParent,
9318 OPC_CheckTypeI64,
9319 OPC_CheckPatternPredicate0,
9320 OPC_EmitMergeInputChains1_0,
9321 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9322 MVT::i32, 2, 1, 2,
9323 OPC_EmitStringInteger32, PPC::sub_gt,
9324 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9325 MVT::i1, 2, 3, 4,
9326 OPC_EmitInteger64, 0,
9327 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9328 MVT::i64, 1, 6,
9329 OPC_EmitInteger64, 2,
9330 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9331 MVT::i64, 1, 8,
9332 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9333 MVT::i64, 3, 5, 7, 9,
9334 44,
9335 OPC_MoveParent,
9336 OPC_CheckTypeI32,
9337 OPC_CheckPatternPredicate5,
9338 OPC_EmitMergeInputChains1_0,
9339 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
9340 MVT::i32, 2, 1, 2,
9341 OPC_EmitStringInteger32, PPC::sub_gt,
9342 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9343 MVT::i1, 2, 3, 4,
9344 OPC_EmitInteger32, 0,
9345 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9346 MVT::i32, 1, 6,
9347 OPC_EmitInteger32, 2,
9348 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9349 MVT::i32, 1, 8,
9350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9351 MVT::i32, 3, 5, 7, 9,
9352 46,
9353 OPC_CheckType, MVT::i1,
9354 OPC_MoveParent,
9355 OPC_CheckTypeI64,
9356 OPC_CheckPatternPredicate5,
9357 OPC_EmitMergeInputChains1_0,
9358 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
9359 MVT::i32, 2, 1, 2,
9360 OPC_EmitStringInteger32, PPC::sub_gt,
9361 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9362 MVT::i1, 2, 3, 4,
9363 OPC_EmitInteger64, 0,
9364 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9365 MVT::i64, 1, 6,
9366 OPC_EmitInteger64, 2,
9367 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9368 MVT::i64, 1, 8,
9369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9370 MVT::i64, 3, 5, 7, 9,
9371 0,
9372 61|128,1,
9373 OPC_CheckCondCode, ISD::SETLE,
9374 OPC_MoveParent,
9375 OPC_Scope, 44,
9376 OPC_MoveParent,
9377 OPC_CheckTypeI32,
9378 OPC_CheckPatternPredicate0,
9379 OPC_EmitMergeInputChains1_0,
9380 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9381 MVT::i32, 2, 1, 2,
9382 OPC_EmitStringInteger32, PPC::sub_gt,
9383 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9384 MVT::i1, 2, 3, 4,
9385 OPC_EmitInteger32, 0,
9386 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9387 MVT::i32, 1, 6,
9388 OPC_EmitInteger32, 2,
9389 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9390 MVT::i32, 1, 8,
9391 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9392 MVT::i32, 3, 5, 7, 9,
9393 46,
9394 OPC_CheckType, MVT::i1,
9395 OPC_MoveParent,
9396 OPC_CheckTypeI64,
9397 OPC_CheckPatternPredicate0,
9398 OPC_EmitMergeInputChains1_0,
9399 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9400 MVT::i32, 2, 1, 2,
9401 OPC_EmitStringInteger32, PPC::sub_gt,
9402 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9403 MVT::i1, 2, 3, 4,
9404 OPC_EmitInteger64, 0,
9405 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9406 MVT::i64, 1, 6,
9407 OPC_EmitInteger64, 2,
9408 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9409 MVT::i64, 1, 8,
9410 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9411 MVT::i64, 3, 5, 7, 9,
9412 44,
9413 OPC_MoveParent,
9414 OPC_CheckTypeI32,
9415 OPC_CheckPatternPredicate5,
9416 OPC_EmitMergeInputChains1_0,
9417 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
9418 MVT::i32, 2, 1, 2,
9419 OPC_EmitStringInteger32, PPC::sub_gt,
9420 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9421 MVT::i1, 2, 3, 4,
9422 OPC_EmitInteger32, 0,
9423 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9424 MVT::i32, 1, 6,
9425 OPC_EmitInteger32, 2,
9426 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9427 MVT::i32, 1, 8,
9428 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9429 MVT::i32, 3, 5, 7, 9,
9430 46,
9431 OPC_CheckType, MVT::i1,
9432 OPC_MoveParent,
9433 OPC_CheckTypeI64,
9434 OPC_CheckPatternPredicate5,
9435 OPC_EmitMergeInputChains1_0,
9436 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
9437 MVT::i32, 2, 1, 2,
9438 OPC_EmitStringInteger32, PPC::sub_gt,
9439 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9440 MVT::i1, 2, 3, 4,
9441 OPC_EmitInteger64, 0,
9442 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9443 MVT::i64, 1, 6,
9444 OPC_EmitInteger64, 2,
9445 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9446 MVT::i64, 1, 8,
9447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9448 MVT::i64, 3, 5, 7, 9,
9449 0,
9450 61|128,1,
9451 OPC_CheckCondCode, ISD::SETUNE,
9452 OPC_MoveParent,
9453 OPC_Scope, 44,
9454 OPC_MoveParent,
9455 OPC_CheckTypeI32,
9456 OPC_CheckPatternPredicate0,
9457 OPC_EmitMergeInputChains1_0,
9458 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9459 MVT::i32, 2, 1, 2,
9460 OPC_EmitStringInteger32, PPC::sub_eq,
9461 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9462 MVT::i1, 2, 3, 4,
9463 OPC_EmitInteger32, 0,
9464 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9465 MVT::i32, 1, 6,
9466 OPC_EmitInteger32, 2,
9467 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9468 MVT::i32, 1, 8,
9469 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9470 MVT::i32, 3, 5, 7, 9,
9471 46,
9472 OPC_CheckType, MVT::i1,
9473 OPC_MoveParent,
9474 OPC_CheckTypeI64,
9475 OPC_CheckPatternPredicate0,
9476 OPC_EmitMergeInputChains1_0,
9477 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9478 MVT::i32, 2, 1, 2,
9479 OPC_EmitStringInteger32, PPC::sub_eq,
9480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9481 MVT::i1, 2, 3, 4,
9482 OPC_EmitInteger64, 0,
9483 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9484 MVT::i64, 1, 6,
9485 OPC_EmitInteger64, 2,
9486 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9487 MVT::i64, 1, 8,
9488 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9489 MVT::i64, 3, 5, 7, 9,
9490 44,
9491 OPC_MoveParent,
9492 OPC_CheckTypeI32,
9493 OPC_CheckPatternPredicate5,
9494 OPC_EmitMergeInputChains1_0,
9495 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
9496 MVT::i32, 2, 1, 2,
9497 OPC_EmitStringInteger32, PPC::sub_gt,
9498 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9499 MVT::i1, 2, 3, 4,
9500 OPC_EmitInteger32, 0,
9501 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9502 MVT::i32, 1, 6,
9503 OPC_EmitInteger32, 2,
9504 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9505 MVT::i32, 1, 8,
9506 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9507 MVT::i32, 3, 5, 7, 9,
9508 46,
9509 OPC_CheckType, MVT::i1,
9510 OPC_MoveParent,
9511 OPC_CheckTypeI64,
9512 OPC_CheckPatternPredicate5,
9513 OPC_EmitMergeInputChains1_0,
9514 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
9515 MVT::i32, 2, 1, 2,
9516 OPC_EmitStringInteger32, PPC::sub_gt,
9517 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9518 MVT::i1, 2, 3, 4,
9519 OPC_EmitInteger64, 0,
9520 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9521 MVT::i64, 1, 6,
9522 OPC_EmitInteger64, 2,
9523 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9524 MVT::i64, 1, 8,
9525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9526 MVT::i64, 3, 5, 7, 9,
9527 0,
9528 61|128,1,
9529 OPC_CheckCondCode, ISD::SETNE,
9530 OPC_MoveParent,
9531 OPC_Scope, 44,
9532 OPC_MoveParent,
9533 OPC_CheckTypeI32,
9534 OPC_CheckPatternPredicate0,
9535 OPC_EmitMergeInputChains1_0,
9536 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9537 MVT::i32, 2, 1, 2,
9538 OPC_EmitStringInteger32, PPC::sub_eq,
9539 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9540 MVT::i1, 2, 3, 4,
9541 OPC_EmitInteger32, 0,
9542 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9543 MVT::i32, 1, 6,
9544 OPC_EmitInteger32, 2,
9545 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9546 MVT::i32, 1, 8,
9547 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9548 MVT::i32, 3, 5, 7, 9,
9549 46,
9550 OPC_CheckType, MVT::i1,
9551 OPC_MoveParent,
9552 OPC_CheckTypeI64,
9553 OPC_CheckPatternPredicate0,
9554 OPC_EmitMergeInputChains1_0,
9555 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9556 MVT::i32, 2, 1, 2,
9557 OPC_EmitStringInteger32, PPC::sub_eq,
9558 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9559 MVT::i1, 2, 3, 4,
9560 OPC_EmitInteger64, 0,
9561 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9562 MVT::i64, 1, 6,
9563 OPC_EmitInteger64, 2,
9564 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9565 MVT::i64, 1, 8,
9566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9567 MVT::i64, 3, 5, 7, 9,
9568 44,
9569 OPC_MoveParent,
9570 OPC_CheckTypeI32,
9571 OPC_CheckPatternPredicate5,
9572 OPC_EmitMergeInputChains1_0,
9573 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
9574 MVT::i32, 2, 1, 2,
9575 OPC_EmitStringInteger32, PPC::sub_gt,
9576 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9577 MVT::i1, 2, 3, 4,
9578 OPC_EmitInteger32, 0,
9579 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9580 MVT::i32, 1, 6,
9581 OPC_EmitInteger32, 2,
9582 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9583 MVT::i32, 1, 8,
9584 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9585 MVT::i32, 3, 5, 7, 9,
9586 46,
9587 OPC_CheckType, MVT::i1,
9588 OPC_MoveParent,
9589 OPC_CheckTypeI64,
9590 OPC_CheckPatternPredicate5,
9591 OPC_EmitMergeInputChains1_0,
9592 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
9593 MVT::i32, 2, 1, 2,
9594 OPC_EmitStringInteger32, PPC::sub_gt,
9595 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9596 MVT::i1, 2, 3, 4,
9597 OPC_EmitInteger64, 0,
9598 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9599 MVT::i64, 1, 6,
9600 OPC_EmitInteger64, 2,
9601 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9602 MVT::i64, 1, 8,
9603 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9604 MVT::i64, 3, 5, 7, 9,
9605 0,
9606 97,
9607 OPC_CheckCondCode, ISD::SETO,
9608 OPC_MoveParent,
9609 OPC_Scope, 44,
9610 OPC_MoveParent,
9611 OPC_CheckTypeI32,
9612 OPC_CheckPatternPredicate0,
9613 OPC_EmitMergeInputChains1_0,
9614 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9615 MVT::i32, 2, 1, 2,
9616 OPC_EmitStringInteger32, PPC::sub_un,
9617 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9618 MVT::i1, 2, 3, 4,
9619 OPC_EmitInteger32, 0,
9620 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9621 MVT::i32, 1, 6,
9622 OPC_EmitInteger32, 2,
9623 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9624 MVT::i32, 1, 8,
9625 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9626 MVT::i32, 3, 5, 7, 9,
9627 46,
9628 OPC_CheckType, MVT::i1,
9629 OPC_MoveParent,
9630 OPC_CheckTypeI64,
9631 OPC_CheckPatternPredicate0,
9632 OPC_EmitMergeInputChains1_0,
9633 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
9634 MVT::i32, 2, 1, 2,
9635 OPC_EmitStringInteger32, PPC::sub_un,
9636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9637 MVT::i1, 2, 3, 4,
9638 OPC_EmitInteger64, 0,
9639 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9640 MVT::i64, 1, 6,
9641 OPC_EmitInteger64, 2,
9642 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9643 MVT::i64, 1, 8,
9644 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9645 MVT::i64, 3, 5, 7, 9,
9646 0,
9647 0,
9648 52|128,5,
9649 OPC_CheckChild1Type, MVT::f128,
9650 OPC_RecordChild2,
9651 OPC_MoveChild3,
9652 OPC_Scope, 97,
9653 OPC_CheckCondCode, ISD::SETUGE,
9654 OPC_MoveParent,
9655 OPC_Scope, 44,
9656 OPC_MoveParent,
9657 OPC_CheckTypeI32,
9658 OPC_CheckPatternPredicate0,
9659 OPC_EmitMergeInputChains1_0,
9660 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9661 MVT::i32, 2, 1, 2,
9662 OPC_EmitStringInteger32, PPC::sub_lt,
9663 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9664 MVT::i1, 2, 3, 4,
9665 OPC_EmitInteger32, 0,
9666 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9667 MVT::i32, 1, 6,
9668 OPC_EmitInteger32, 2,
9669 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9670 MVT::i32, 1, 8,
9671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9672 MVT::i32, 3, 5, 7, 9,
9673 46,
9674 OPC_CheckType, MVT::i1,
9675 OPC_MoveParent,
9676 OPC_CheckTypeI64,
9677 OPC_CheckPatternPredicate0,
9678 OPC_EmitMergeInputChains1_0,
9679 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9680 MVT::i32, 2, 1, 2,
9681 OPC_EmitStringInteger32, PPC::sub_lt,
9682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9683 MVT::i1, 2, 3, 4,
9684 OPC_EmitInteger64, 0,
9685 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9686 MVT::i64, 1, 6,
9687 OPC_EmitInteger64, 2,
9688 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9689 MVT::i64, 1, 8,
9690 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9691 MVT::i64, 3, 5, 7, 9,
9692 0,
9693 97,
9694 OPC_CheckCondCode, ISD::SETGE,
9695 OPC_MoveParent,
9696 OPC_Scope, 44,
9697 OPC_MoveParent,
9698 OPC_CheckTypeI32,
9699 OPC_CheckPatternPredicate0,
9700 OPC_EmitMergeInputChains1_0,
9701 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9702 MVT::i32, 2, 1, 2,
9703 OPC_EmitStringInteger32, PPC::sub_lt,
9704 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9705 MVT::i1, 2, 3, 4,
9706 OPC_EmitInteger32, 0,
9707 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9708 MVT::i32, 1, 6,
9709 OPC_EmitInteger32, 2,
9710 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9711 MVT::i32, 1, 8,
9712 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9713 MVT::i32, 3, 5, 7, 9,
9714 46,
9715 OPC_CheckType, MVT::i1,
9716 OPC_MoveParent,
9717 OPC_CheckTypeI64,
9718 OPC_CheckPatternPredicate0,
9719 OPC_EmitMergeInputChains1_0,
9720 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9721 MVT::i32, 2, 1, 2,
9722 OPC_EmitStringInteger32, PPC::sub_lt,
9723 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9724 MVT::i1, 2, 3, 4,
9725 OPC_EmitInteger64, 0,
9726 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9727 MVT::i64, 1, 6,
9728 OPC_EmitInteger64, 2,
9729 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9730 MVT::i64, 1, 8,
9731 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9732 MVT::i64, 3, 5, 7, 9,
9733 0,
9734 97,
9735 OPC_CheckCondCode, ISD::SETULE,
9736 OPC_MoveParent,
9737 OPC_Scope, 44,
9738 OPC_MoveParent,
9739 OPC_CheckTypeI32,
9740 OPC_CheckPatternPredicate0,
9741 OPC_EmitMergeInputChains1_0,
9742 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9743 MVT::i32, 2, 1, 2,
9744 OPC_EmitStringInteger32, PPC::sub_gt,
9745 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9746 MVT::i1, 2, 3, 4,
9747 OPC_EmitInteger32, 0,
9748 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9749 MVT::i32, 1, 6,
9750 OPC_EmitInteger32, 2,
9751 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9752 MVT::i32, 1, 8,
9753 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9754 MVT::i32, 3, 5, 7, 9,
9755 46,
9756 OPC_CheckType, MVT::i1,
9757 OPC_MoveParent,
9758 OPC_CheckTypeI64,
9759 OPC_CheckPatternPredicate0,
9760 OPC_EmitMergeInputChains1_0,
9761 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9762 MVT::i32, 2, 1, 2,
9763 OPC_EmitStringInteger32, PPC::sub_gt,
9764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9765 MVT::i1, 2, 3, 4,
9766 OPC_EmitInteger64, 0,
9767 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9768 MVT::i64, 1, 6,
9769 OPC_EmitInteger64, 2,
9770 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9771 MVT::i64, 1, 8,
9772 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9773 MVT::i64, 3, 5, 7, 9,
9774 0,
9775 97,
9776 OPC_CheckCondCode, ISD::SETLE,
9777 OPC_MoveParent,
9778 OPC_Scope, 44,
9779 OPC_MoveParent,
9780 OPC_CheckTypeI32,
9781 OPC_CheckPatternPredicate0,
9782 OPC_EmitMergeInputChains1_0,
9783 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9784 MVT::i32, 2, 1, 2,
9785 OPC_EmitStringInteger32, PPC::sub_gt,
9786 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9787 MVT::i1, 2, 3, 4,
9788 OPC_EmitInteger32, 0,
9789 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9790 MVT::i32, 1, 6,
9791 OPC_EmitInteger32, 2,
9792 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9793 MVT::i32, 1, 8,
9794 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9795 MVT::i32, 3, 5, 7, 9,
9796 46,
9797 OPC_CheckType, MVT::i1,
9798 OPC_MoveParent,
9799 OPC_CheckTypeI64,
9800 OPC_CheckPatternPredicate0,
9801 OPC_EmitMergeInputChains1_0,
9802 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9803 MVT::i32, 2, 1, 2,
9804 OPC_EmitStringInteger32, PPC::sub_gt,
9805 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9806 MVT::i1, 2, 3, 4,
9807 OPC_EmitInteger64, 0,
9808 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9809 MVT::i64, 1, 6,
9810 OPC_EmitInteger64, 2,
9811 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9812 MVT::i64, 1, 8,
9813 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9814 MVT::i64, 3, 5, 7, 9,
9815 0,
9816 97,
9817 OPC_CheckCondCode, ISD::SETUNE,
9818 OPC_MoveParent,
9819 OPC_Scope, 44,
9820 OPC_MoveParent,
9821 OPC_CheckTypeI32,
9822 OPC_CheckPatternPredicate0,
9823 OPC_EmitMergeInputChains1_0,
9824 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9825 MVT::i32, 2, 1, 2,
9826 OPC_EmitStringInteger32, PPC::sub_eq,
9827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9828 MVT::i1, 2, 3, 4,
9829 OPC_EmitInteger32, 0,
9830 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9831 MVT::i32, 1, 6,
9832 OPC_EmitInteger32, 2,
9833 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9834 MVT::i32, 1, 8,
9835 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9836 MVT::i32, 3, 5, 7, 9,
9837 46,
9838 OPC_CheckType, MVT::i1,
9839 OPC_MoveParent,
9840 OPC_CheckTypeI64,
9841 OPC_CheckPatternPredicate0,
9842 OPC_EmitMergeInputChains1_0,
9843 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9844 MVT::i32, 2, 1, 2,
9845 OPC_EmitStringInteger32, PPC::sub_eq,
9846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9847 MVT::i1, 2, 3, 4,
9848 OPC_EmitInteger64, 0,
9849 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9850 MVT::i64, 1, 6,
9851 OPC_EmitInteger64, 2,
9852 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9853 MVT::i64, 1, 8,
9854 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9855 MVT::i64, 3, 5, 7, 9,
9856 0,
9857 97,
9858 OPC_CheckCondCode, ISD::SETNE,
9859 OPC_MoveParent,
9860 OPC_Scope, 44,
9861 OPC_MoveParent,
9862 OPC_CheckTypeI32,
9863 OPC_CheckPatternPredicate0,
9864 OPC_EmitMergeInputChains1_0,
9865 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9866 MVT::i32, 2, 1, 2,
9867 OPC_EmitStringInteger32, PPC::sub_eq,
9868 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9869 MVT::i1, 2, 3, 4,
9870 OPC_EmitInteger32, 0,
9871 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9872 MVT::i32, 1, 6,
9873 OPC_EmitInteger32, 2,
9874 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9875 MVT::i32, 1, 8,
9876 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9877 MVT::i32, 3, 5, 7, 9,
9878 46,
9879 OPC_CheckType, MVT::i1,
9880 OPC_MoveParent,
9881 OPC_CheckTypeI64,
9882 OPC_CheckPatternPredicate0,
9883 OPC_EmitMergeInputChains1_0,
9884 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9885 MVT::i32, 2, 1, 2,
9886 OPC_EmitStringInteger32, PPC::sub_eq,
9887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9888 MVT::i1, 2, 3, 4,
9889 OPC_EmitInteger64, 0,
9890 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9891 MVT::i64, 1, 6,
9892 OPC_EmitInteger64, 2,
9893 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9894 MVT::i64, 1, 8,
9895 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9896 MVT::i64, 3, 5, 7, 9,
9897 0,
9898 97,
9899 OPC_CheckCondCode, ISD::SETO,
9900 OPC_MoveParent,
9901 OPC_Scope, 44,
9902 OPC_MoveParent,
9903 OPC_CheckTypeI32,
9904 OPC_CheckPatternPredicate0,
9905 OPC_EmitMergeInputChains1_0,
9906 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9907 MVT::i32, 2, 1, 2,
9908 OPC_EmitStringInteger32, PPC::sub_un,
9909 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9910 MVT::i1, 2, 3, 4,
9911 OPC_EmitInteger32, 0,
9912 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9913 MVT::i32, 1, 6,
9914 OPC_EmitInteger32, 2,
9915 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9916 MVT::i32, 1, 8,
9917 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9918 MVT::i32, 3, 5, 7, 9,
9919 46,
9920 OPC_CheckType, MVT::i1,
9921 OPC_MoveParent,
9922 OPC_CheckTypeI64,
9923 OPC_CheckPatternPredicate0,
9924 OPC_EmitMergeInputChains1_0,
9925 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
9926 MVT::i32, 2, 1, 2,
9927 OPC_EmitStringInteger32, PPC::sub_un,
9928 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9929 MVT::i1, 2, 3, 4,
9930 OPC_EmitInteger64, 0,
9931 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9932 MVT::i64, 1, 6,
9933 OPC_EmitInteger64, 2,
9934 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9935 MVT::i64, 1, 8,
9936 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9937 MVT::i64, 3, 5, 7, 9,
9938 0,
9939 0,
9940 0,
9941 0,
9942 99,
9943 OPC_RecordChild0,
9944 OPC_SwitchType , 35, MVT::i32,
9945 OPC_Scope, 7,
9946 OPC_CheckPatternPredicate4,
9947 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC),
9948 MVT::i32, 1, 0,
9949 24,
9950 OPC_EmitInteger32, 2,
9951 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9952 MVT::i32, 1, 1,
9953 OPC_EmitInteger32, 0,
9954 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
9955 MVT::i32, 1, 3,
9956 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
9957 MVT::i32, 3, 0, 2, 4,
9958 0,
9959 57, MVT::i64,
9960 OPC_Scope, 37,
9961 OPC_CheckChild0Type, MVT::i1,
9962 OPC_Scope, 7,
9963 OPC_CheckPatternPredicate4,
9964 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC8),
9965 MVT::i64, 1, 0,
9966 24,
9967 OPC_EmitInteger64, 2,
9968 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9969 MVT::i64, 1, 1,
9970 OPC_EmitInteger64, 0,
9971 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
9972 MVT::i64, 1, 3,
9973 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
9974 MVT::i64, 3, 0, 2, 4,
9975 0,
9976 16,
9977 OPC_CheckChild0TypeI32,
9978 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
9979 MVT::i64, 0,
9980 OPC_EmitStringInteger32, PPC::sub_32,
9981 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
9982 MVT::i64, 3, 1, 0, 2,
9983 0,
9984 0,
9985 0,
9986 110|128,126, TARGET_VAL(ISD::ZERO_EXTEND),
9987 OPC_Scope, 122|128,125,
9988 OPC_MoveChild0,
9989 OPC_SwitchOpcode , 27|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
9990 OPC_RecordChild0,
9991 OPC_CheckChild0Type, MVT::v4i32,
9992 OPC_CheckTypeI32,
9993 OPC_Scope, 42,
9994 OPC_CheckChild1Integer, 0,
9995 OPC_MoveParent,
9996 OPC_CheckTypeI64,
9997 OPC_Scope, 17,
9998 OPC_CheckPatternPredicate, 15,
9999 OPC_EmitInteger64, 0,
10000 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10001 MVT::i64, 1, 1,
10002 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
10003 MVT::i64, 2, 2, 0,
10004 17,
10005 OPC_CheckPatternPredicate, 16,
10006 OPC_EmitInteger64, 0,
10007 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10008 MVT::i64, 1, 1,
10009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
10010 MVT::i64, 2, 2, 0,
10011 0,
10012 66,
10013 OPC_CheckChild1Integer, 4,
10014 OPC_MoveParent,
10015 OPC_CheckTypeI64,
10016 OPC_Scope, 17,
10017 OPC_CheckPatternPredicate, 15,
10018 OPC_EmitInteger64, 16,
10019 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10020 MVT::i64, 1, 1,
10021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
10022 MVT::i64, 2, 2, 0,
10023 41,
10024 OPC_CheckPatternPredicate, 16,
10025 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10026 MVT::i64, 0,
10027 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
10028 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
10029 MVT::v2i64, 2, 0, 2,
10030 OPC_EmitStringInteger32, PPC::sub_64,
10031 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10032 MVT::f64, 2, 3, 4,
10033 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
10034 MVT::i32, 1, 5,
10035 OPC_EmitStringInteger32, PPC::sub_32,
10036 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10037 MVT::i64, 3, 1, 6, 7,
10038 0,
10039 42,
10040 OPC_CheckChild1Integer, 6,
10041 OPC_MoveParent,
10042 OPC_CheckTypeI64,
10043 OPC_Scope, 17,
10044 OPC_CheckPatternPredicate, 15,
10045 OPC_EmitInteger64, 24,
10046 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10047 MVT::i64, 1, 1,
10048 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
10049 MVT::i64, 2, 2, 0,
10050 17,
10051 OPC_CheckPatternPredicate, 16,
10052 OPC_EmitInteger64, 24,
10053 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10054 MVT::i64, 1, 1,
10055 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
10056 MVT::i64, 2, 2, 0,
10057 0,
10058 66,
10059 OPC_CheckChild1Integer, 2,
10060 OPC_MoveParent,
10061 OPC_CheckTypeI64,
10062 OPC_Scope, 17,
10063 OPC_CheckPatternPredicate, 16,
10064 OPC_EmitInteger64, 8,
10065 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10066 MVT::i64, 1, 1,
10067 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
10068 MVT::i64, 2, 2, 0,
10069 41,
10070 OPC_CheckPatternPredicate, 15,
10071 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10072 MVT::i64, 0,
10073 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
10074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
10075 MVT::v2i64, 2, 0, 2,
10076 OPC_EmitStringInteger32, PPC::sub_64,
10077 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10078 MVT::f64, 2, 3, 4,
10079 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
10080 MVT::i32, 1, 5,
10081 OPC_EmitStringInteger32, PPC::sub_32,
10082 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10083 MVT::i64, 3, 1, 6, 7,
10084 0,
10085 56,
10086 OPC_RecordChild1,
10087 OPC_CheckChild1TypeI64,
10088 OPC_MoveParent,
10089 OPC_CheckTypeI64,
10090 OPC_Scope, 24,
10091 OPC_CheckPatternPredicate, 15,
10092 OPC_EmitInteger32, 4,
10093 OPC_EmitInteger32, 56,
10094 OPC_EmitInteger32, 58,
10095 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
10096 MVT::i64, 4, 1, 2, 3, 4,
10097 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWLX),
10098 MVT::i64, 2, 5, 0,
10099 24,
10100 OPC_CheckPatternPredicate, 16,
10101 OPC_EmitInteger32, 4,
10102 OPC_EmitInteger32, 56,
10103 OPC_EmitInteger32, 58,
10104 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
10105 MVT::i64, 4, 1, 2, 3, 4,
10106 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTUWRX),
10107 MVT::i64, 2, 5, 0,
10108 0,
10109 0,
10110 2|128,82, TARGET_VAL(ISD::SETCC),
10111 OPC_Scope, 0|128,6,
10112 OPC_MoveChild0,
10113 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10114 OPC_Scope, 76,
10115 OPC_RecordChild0,
10116 OPC_MoveChild1,
10117 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10118 OPC_CheckChild0Integer, 2,
10119 OPC_RecordChild1,
10120 OPC_CheckChild1TypeI32,
10121 OPC_MoveParent,
10122 OPC_SwitchType , 30, MVT::i32,
10123 OPC_MoveParent,
10124 OPC_CheckChild1Integer, 0,
10125 OPC_CheckChild2CondCode, ISD::SETNE,
10126 OPC_MoveParent,
10127 OPC_CheckTypeI32,
10128 OPC_EmitInteger32, 64,
10129 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10130 MVT::i32, MVT::i32, 2, 1, 2,
10131 OPC_EmitInteger32, 62,
10132 OPC_EmitInteger32, 62,
10133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
10134 MVT::i32, 4, 0, 3, 5, 6,
10135 30, MVT::i64,
10136 OPC_MoveParent,
10137 OPC_CheckChild1Integer, 0,
10138 OPC_CheckChild2CondCode, ISD::SETNE,
10139 OPC_CheckType, MVT::i1,
10140 OPC_MoveParent,
10141 OPC_CheckTypeI64,
10142 OPC_EmitInteger32, 0|128,1,
10143 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10144 MVT::i32, MVT::i32, 2, 1, 2,
10145 OPC_EmitInteger32, 126,
10146 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
10147 MVT::i64, 3, 0, 3, 5,
10148 0,
10149 76,
10150 OPC_MoveChild0,
10151 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10152 OPC_CheckChild0Integer, 2,
10153 OPC_RecordChild1,
10154 OPC_CheckChild1TypeI32,
10155 OPC_MoveParent,
10156 OPC_RecordChild1,
10157 OPC_SwitchType , 30, MVT::i32,
10158 OPC_MoveParent,
10159 OPC_CheckChild1Integer, 0,
10160 OPC_CheckChild2CondCode, ISD::SETNE,
10161 OPC_MoveParent,
10162 OPC_CheckTypeI32,
10163 OPC_EmitInteger32, 64,
10164 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10165 MVT::i32, MVT::i32, 2, 0, 2,
10166 OPC_EmitInteger32, 62,
10167 OPC_EmitInteger32, 62,
10168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
10169 MVT::i32, 4, 1, 3, 5, 6,
10170 30, MVT::i64,
10171 OPC_MoveParent,
10172 OPC_CheckChild1Integer, 0,
10173 OPC_CheckChild2CondCode, ISD::SETNE,
10174 OPC_CheckType, MVT::i1,
10175 OPC_MoveParent,
10176 OPC_CheckTypeI64,
10177 OPC_EmitInteger32, 0|128,1,
10178 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10179 MVT::i32, MVT::i32, 2, 0, 2,
10180 OPC_EmitInteger32, 126,
10181 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
10182 MVT::i64, 3, 1, 3, 5,
10183 0,
10184 0|128,1,
10185 OPC_RecordChild0,
10186 OPC_MoveChild1,
10187 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10188 OPC_CheckChild0Integer, 2,
10189 OPC_RecordChild1,
10190 OPC_CheckChild1TypeI32,
10191 OPC_MoveParent,
10192 OPC_SwitchType , 75, MVT::i64,
10193 OPC_MoveParent,
10194 OPC_CheckChild1Integer, 0,
10195 OPC_Scope, 34,
10196 OPC_CheckChild2CondCode, ISD::SETNE,
10197 OPC_MoveParent,
10198 OPC_CheckTypeI32,
10199 OPC_EmitInteger32, 0|128,1,
10200 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10201 MVT::i32, MVT::i32, 2, 1, 2,
10202 OPC_EmitInteger32, 126,
10203 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
10204 MVT::i64, 3, 0, 3, 5,
10205 OPC_EmitStringInteger32, PPC::sub_32,
10206 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10207 MVT::i32, 2, 6, 7,
10208 34,
10209 OPC_CheckChild2CondCode, ISD::SETEQ,
10210 OPC_CheckType, MVT::i1,
10211 OPC_MoveParent,
10212 OPC_CheckTypeI64,
10213 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
10214 MVT::i64, 2, 0, 0,
10215 OPC_EmitInteger32, 0|128,1,
10216 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10217 MVT::i32, MVT::i32, 2, 1, 3,
10218 OPC_EmitInteger32, 126,
10219 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
10220 MVT::i64, 3, 2, 4, 6,
10221 0,
10222 37, MVT::i32,
10223 OPC_MoveParent,
10224 OPC_CheckChild1Integer, 0,
10225 OPC_CheckChild2CondCode, ISD::SETEQ,
10226 OPC_MoveParent,
10227 OPC_CheckTypeI32,
10228 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10229 MVT::i32, 2, 0, 0,
10230 OPC_EmitInteger32, 64,
10231 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10232 MVT::i32, MVT::i32, 2, 1, 3,
10233 OPC_EmitInteger32, 62,
10234 OPC_EmitInteger32, 62,
10235 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
10236 MVT::i32, 4, 2, 4, 6, 7,
10237 0,
10238 0|128,1,
10239 OPC_MoveChild0,
10240 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10241 OPC_CheckChild0Integer, 2,
10242 OPC_RecordChild1,
10243 OPC_CheckChild1TypeI32,
10244 OPC_MoveParent,
10245 OPC_RecordChild1,
10246 OPC_SwitchType , 75, MVT::i64,
10247 OPC_MoveParent,
10248 OPC_CheckChild1Integer, 0,
10249 OPC_Scope, 34,
10250 OPC_CheckChild2CondCode, ISD::SETNE,
10251 OPC_MoveParent,
10252 OPC_CheckTypeI32,
10253 OPC_EmitInteger32, 0|128,1,
10254 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10255 MVT::i32, MVT::i32, 2, 0, 2,
10256 OPC_EmitInteger32, 126,
10257 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
10258 MVT::i64, 3, 1, 3, 5,
10259 OPC_EmitStringInteger32, PPC::sub_32,
10260 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10261 MVT::i32, 2, 6, 7,
10262 34,
10263 OPC_CheckChild2CondCode, ISD::SETEQ,
10264 OPC_CheckType, MVT::i1,
10265 OPC_MoveParent,
10266 OPC_CheckTypeI64,
10267 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
10268 MVT::i64, 2, 1, 1,
10269 OPC_EmitInteger32, 0|128,1,
10270 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10271 MVT::i32, MVT::i32, 2, 0, 3,
10272 OPC_EmitInteger32, 126,
10273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
10274 MVT::i64, 3, 2, 4, 6,
10275 0,
10276 37, MVT::i32,
10277 OPC_MoveParent,
10278 OPC_CheckChild1Integer, 0,
10279 OPC_CheckChild2CondCode, ISD::SETEQ,
10280 OPC_MoveParent,
10281 OPC_CheckTypeI32,
10282 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10283 MVT::i32, 2, 1, 1,
10284 OPC_EmitInteger32, 64,
10285 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10286 MVT::i32, MVT::i32, 2, 0, 3,
10287 OPC_EmitInteger32, 62,
10288 OPC_EmitInteger32, 62,
10289 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
10290 MVT::i32, 4, 2, 4, 6, 7,
10291 0,
10292 107,
10293 OPC_RecordChild0,
10294 OPC_MoveChild1,
10295 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10296 OPC_CheckChild0Integer, 2,
10297 OPC_RecordChild1,
10298 OPC_CheckChild1TypeI32,
10299 OPC_MoveParent,
10300 OPC_SwitchType , 47, MVT::i32,
10301 OPC_MoveParent,
10302 OPC_CheckChild1Integer, 0,
10303 OPC_CheckChild2CondCode, ISD::SETNE,
10304 OPC_CheckType, MVT::i1,
10305 OPC_MoveParent,
10306 OPC_CheckTypeI64,
10307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10308 MVT::i64, 0,
10309 OPC_EmitInteger32, 64,
10310 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10311 MVT::i32, MVT::i32, 2, 1, 3,
10312 OPC_EmitInteger32, 62,
10313 OPC_EmitInteger32, 62,
10314 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
10315 MVT::i32, 4, 0, 4, 6, 7,
10316 OPC_EmitStringInteger32, PPC::sub_32,
10317 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10318 MVT::i64, 3, 2, 8, 9,
10319 44, MVT::i64,
10320 OPC_MoveParent,
10321 OPC_CheckChild1Integer, 0,
10322 OPC_CheckChild2CondCode, ISD::SETEQ,
10323 OPC_MoveParent,
10324 OPC_CheckTypeI32,
10325 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
10326 MVT::i64, 2, 0, 0,
10327 OPC_EmitInteger32, 0|128,1,
10328 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10329 MVT::i32, MVT::i32, 2, 1, 3,
10330 OPC_EmitInteger32, 126,
10331 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
10332 MVT::i64, 3, 2, 4, 6,
10333 OPC_EmitStringInteger32, PPC::sub_32,
10334 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10335 MVT::i32, 2, 7, 8,
10336 0,
10337 107,
10338 OPC_MoveChild0,
10339 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10340 OPC_CheckChild0Integer, 2,
10341 OPC_RecordChild1,
10342 OPC_CheckChild1TypeI32,
10343 OPC_MoveParent,
10344 OPC_RecordChild1,
10345 OPC_SwitchType , 47, MVT::i32,
10346 OPC_MoveParent,
10347 OPC_CheckChild1Integer, 0,
10348 OPC_CheckChild2CondCode, ISD::SETNE,
10349 OPC_CheckType, MVT::i1,
10350 OPC_MoveParent,
10351 OPC_CheckTypeI64,
10352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10353 MVT::i64, 0,
10354 OPC_EmitInteger32, 64,
10355 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10356 MVT::i32, MVT::i32, 2, 0, 3,
10357 OPC_EmitInteger32, 62,
10358 OPC_EmitInteger32, 62,
10359 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
10360 MVT::i32, 4, 1, 4, 6, 7,
10361 OPC_EmitStringInteger32, PPC::sub_32,
10362 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10363 MVT::i64, 3, 2, 8, 9,
10364 44, MVT::i64,
10365 OPC_MoveParent,
10366 OPC_CheckChild1Integer, 0,
10367 OPC_CheckChild2CondCode, ISD::SETEQ,
10368 OPC_MoveParent,
10369 OPC_CheckTypeI32,
10370 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
10371 MVT::i64, 2, 1, 1,
10372 OPC_EmitInteger32, 0|128,1,
10373 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10374 MVT::i32, MVT::i32, 2, 0, 3,
10375 OPC_EmitInteger32, 126,
10376 OPC_EmitNode1None, TARGET_VAL(PPC::RLDCL),
10377 MVT::i64, 3, 2, 4, 6,
10378 OPC_EmitStringInteger32, PPC::sub_32,
10379 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10380 MVT::i32, 2, 7, 8,
10381 0,
10382 65,
10383 OPC_RecordChild0,
10384 OPC_MoveChild1,
10385 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10386 OPC_CheckChild0Integer, 2,
10387 OPC_RecordChild1,
10388 OPC_CheckChild1TypeI32,
10389 OPC_MoveParent,
10390 OPC_CheckTypeI32,
10391 OPC_MoveParent,
10392 OPC_CheckChild1Integer, 0,
10393 OPC_CheckChild2CondCode, ISD::SETEQ,
10394 OPC_CheckType, MVT::i1,
10395 OPC_MoveParent,
10396 OPC_CheckTypeI64,
10397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10398 MVT::i64, 0,
10399 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10400 MVT::i32, 2, 0, 0,
10401 OPC_EmitInteger32, 64,
10402 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10403 MVT::i32, MVT::i32, 2, 1, 4,
10404 OPC_EmitInteger32, 62,
10405 OPC_EmitInteger32, 62,
10406 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
10407 MVT::i32, 4, 3, 5, 7, 8,
10408 OPC_EmitStringInteger32, PPC::sub_32,
10409 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10410 MVT::i64, 3, 2, 9, 10,
10411 65,
10412 OPC_MoveChild0,
10413 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10414 OPC_CheckChild0Integer, 2,
10415 OPC_RecordChild1,
10416 OPC_CheckChild1TypeI32,
10417 OPC_MoveParent,
10418 OPC_RecordChild1,
10419 OPC_CheckTypeI32,
10420 OPC_MoveParent,
10421 OPC_CheckChild1Integer, 0,
10422 OPC_CheckChild2CondCode, ISD::SETEQ,
10423 OPC_CheckType, MVT::i1,
10424 OPC_MoveParent,
10425 OPC_CheckTypeI64,
10426 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10427 MVT::i64, 0,
10428 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10429 MVT::i32, 2, 1, 1,
10430 OPC_EmitInteger32, 64,
10431 OPC_EmitNode2None, TARGET_VAL(PPC::SUBFIC),
10432 MVT::i32, MVT::i32, 2, 0, 4,
10433 OPC_EmitInteger32, 62,
10434 OPC_EmitInteger32, 62,
10435 OPC_EmitNode1None, TARGET_VAL(PPC::RLWNM),
10436 MVT::i32, 4, 3, 5, 7, 8,
10437 OPC_EmitStringInteger32, PPC::sub_32,
10438 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10439 MVT::i64, 3, 2, 9, 10,
10440 0,
10441 124|128,75,
10442 OPC_RecordChild0,
10443 OPC_Scope, 80|128,21,
10444 OPC_CheckChild0TypeI32,
10445 OPC_Scope, 84|128,3,
10446 OPC_CheckChild1Integer, 0,
10447 OPC_Scope, 57,
10448 OPC_CheckChild2CondCode, ISD::SETLT,
10449 OPC_Scope, 17,
10450 OPC_MoveParent,
10451 OPC_CheckTypeI32,
10452 OPC_EmitInteger32, 2,
10453 OPC_EmitInteger32, 62,
10454 OPC_EmitInteger32, 62,
10455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10456 MVT::i32, 4, 0, 1, 2, 3,
10457 34,
10458 OPC_CheckType, MVT::i1,
10459 OPC_MoveParent,
10460 OPC_CheckTypeI64,
10461 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10462 MVT::i64, 0,
10463 OPC_EmitInteger32, 2,
10464 OPC_EmitInteger32, 62,
10465 OPC_EmitInteger32, 62,
10466 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10467 MVT::i32, 4, 0, 2, 3, 4,
10468 OPC_EmitStringInteger32, PPC::sub_32,
10469 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10470 MVT::i64, 3, 1, 5, 6,
10471 0,
10472 69,
10473 OPC_CheckChild2CondCode, ISD::SETEQ,
10474 OPC_Scope, 23,
10475 OPC_MoveParent,
10476 OPC_CheckTypeI32,
10477 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10478 MVT::i32, 1, 0,
10479 OPC_EmitInteger32, 54,
10480 OPC_EmitInteger32, 62,
10481 OPC_EmitInteger32, 62,
10482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10483 MVT::i32, 4, 1, 2, 3, 4,
10484 40,
10485 OPC_CheckType, MVT::i1,
10486 OPC_MoveParent,
10487 OPC_CheckTypeI64,
10488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10489 MVT::i64, 0,
10490 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10491 MVT::i32, 1, 0,
10492 OPC_EmitInteger32, 54,
10493 OPC_EmitInteger32, 62,
10494 OPC_EmitInteger32, 62,
10495 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10496 MVT::i32, 4, 2, 3, 4, 5,
10497 OPC_EmitStringInteger32, PPC::sub_32,
10498 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10499 MVT::i64, 3, 1, 6, 7,
10500 0,
10501 71,
10502 OPC_CheckChild2CondCode, ISD::SETGE,
10503 OPC_Scope, 24,
10504 OPC_MoveParent,
10505 OPC_CheckTypeI32,
10506 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10507 MVT::i32, 2, 0, 0,
10508 OPC_EmitInteger32, 2,
10509 OPC_EmitInteger32, 62,
10510 OPC_EmitInteger32, 62,
10511 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10512 MVT::i32, 4, 1, 2, 3, 4,
10513 41,
10514 OPC_CheckType, MVT::i1,
10515 OPC_MoveParent,
10516 OPC_CheckTypeI64,
10517 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10518 MVT::i64, 0,
10519 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10520 MVT::i32, 2, 0, 0,
10521 OPC_EmitInteger32, 2,
10522 OPC_EmitInteger32, 62,
10523 OPC_EmitInteger32, 62,
10524 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10525 MVT::i32, 4, 2, 3, 4, 5,
10526 OPC_EmitStringInteger32, PPC::sub_32,
10527 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10528 MVT::i64, 3, 1, 6, 7,
10529 0,
10530 83,
10531 OPC_CheckChild2CondCode, ISD::SETGT,
10532 OPC_Scope, 30,
10533 OPC_MoveParent,
10534 OPC_CheckTypeI32,
10535 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
10536 MVT::i32, 1, 0,
10537 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
10538 MVT::i32, 2, 1, 0,
10539 OPC_EmitInteger32, 2,
10540 OPC_EmitInteger32, 62,
10541 OPC_EmitInteger32, 62,
10542 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10543 MVT::i32, 4, 2, 3, 4, 5,
10544 47,
10545 OPC_CheckType, MVT::i1,
10546 OPC_MoveParent,
10547 OPC_CheckTypeI64,
10548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10549 MVT::i64, 0,
10550 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
10551 MVT::i32, 1, 0,
10552 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC),
10553 MVT::i32, 2, 2, 0,
10554 OPC_EmitInteger32, 2,
10555 OPC_EmitInteger32, 62,
10556 OPC_EmitInteger32, 62,
10557 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10558 MVT::i32, 4, 3, 4, 5, 6,
10559 OPC_EmitStringInteger32, PPC::sub_32,
10560 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10561 MVT::i64, 3, 1, 7, 8,
10562 0,
10563 83,
10564 OPC_CheckChild2CondCode, ISD::SETLE,
10565 OPC_Scope, 30,
10566 OPC_MoveParent,
10567 OPC_CheckTypeI32,
10568 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
10569 MVT::i32, 1, 0,
10570 OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
10571 MVT::i32, 2, 0, 1,
10572 OPC_EmitInteger32, 2,
10573 OPC_EmitInteger32, 62,
10574 OPC_EmitInteger32, 62,
10575 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10576 MVT::i32, 4, 2, 3, 4, 5,
10577 47,
10578 OPC_CheckType, MVT::i1,
10579 OPC_MoveParent,
10580 OPC_CheckTypeI64,
10581 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10582 MVT::i64, 0,
10583 OPC_EmitNode1None, TARGET_VAL(PPC::NEG),
10584 MVT::i32, 1, 0,
10585 OPC_EmitNode1None, TARGET_VAL(PPC::ORC),
10586 MVT::i32, 2, 0, 2,
10587 OPC_EmitInteger32, 2,
10588 OPC_EmitInteger32, 62,
10589 OPC_EmitInteger32, 62,
10590 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10591 MVT::i32, 4, 3, 4, 5, 6,
10592 OPC_EmitStringInteger32, PPC::sub_32,
10593 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10594 MVT::i64, 3, 1, 7, 8,
10595 0,
10596 95,
10597 OPC_CheckChild2CondCode, ISD::SETNE,
10598 OPC_Scope, 36,
10599 OPC_MoveParent,
10600 OPC_CheckTypeI32,
10601 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10602 MVT::i32, 1, 0,
10603 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10604 MVT::i32, 1, 0,
10605 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10606 MVT::i32, 2, 1, 2,
10607 OPC_EmitInteger32, 54,
10608 OPC_EmitInteger32, 62,
10609 OPC_EmitInteger32, 62,
10610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10611 MVT::i32, 4, 3, 4, 5, 6,
10612 53,
10613 OPC_CheckType, MVT::i1,
10614 OPC_MoveParent,
10615 OPC_CheckTypeI64,
10616 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10617 MVT::i64, 0,
10618 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10619 MVT::i32, 1, 0,
10620 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZW),
10621 MVT::i32, 1, 0,
10622 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10623 MVT::i32, 2, 2, 3,
10624 OPC_EmitInteger32, 54,
10625 OPC_EmitInteger32, 62,
10626 OPC_EmitInteger32, 62,
10627 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10628 MVT::i32, 4, 4, 5, 6, 7,
10629 OPC_EmitStringInteger32, PPC::sub_32,
10630 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10631 MVT::i64, 3, 1, 8, 9,
10632 0,
10633 0,
10634 58|128,2,
10635 OPC_CheckChild1Integer, 3,
10636 OPC_Scope, 57,
10637 OPC_CheckChild2CondCode, ISD::SETLE,
10638 OPC_Scope, 17,
10639 OPC_MoveParent,
10640 OPC_CheckTypeI32,
10641 OPC_EmitInteger32, 2,
10642 OPC_EmitInteger32, 62,
10643 OPC_EmitInteger32, 62,
10644 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10645 MVT::i32, 4, 0, 1, 2, 3,
10646 34,
10647 OPC_CheckType, MVT::i1,
10648 OPC_MoveParent,
10649 OPC_CheckTypeI64,
10650 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10651 MVT::i64, 0,
10652 OPC_EmitInteger32, 2,
10653 OPC_EmitInteger32, 62,
10654 OPC_EmitInteger32, 62,
10655 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10656 MVT::i32, 4, 0, 2, 3, 4,
10657 OPC_EmitStringInteger32, PPC::sub_32,
10658 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10659 MVT::i64, 3, 1, 5, 6,
10660 0,
10661 71,
10662 OPC_CheckChild2CondCode, ISD::SETGT,
10663 OPC_Scope, 24,
10664 OPC_MoveParent,
10665 OPC_CheckTypeI32,
10666 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10667 MVT::i32, 2, 0, 0,
10668 OPC_EmitInteger32, 2,
10669 OPC_EmitInteger32, 62,
10670 OPC_EmitInteger32, 62,
10671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10672 MVT::i32, 4, 1, 2, 3, 4,
10673 41,
10674 OPC_CheckType, MVT::i1,
10675 OPC_MoveParent,
10676 OPC_CheckTypeI64,
10677 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10678 MVT::i64, 0,
10679 OPC_EmitNode1None, TARGET_VAL(PPC::NOR),
10680 MVT::i32, 2, 0, 0,
10681 OPC_EmitInteger32, 2,
10682 OPC_EmitInteger32, 62,
10683 OPC_EmitInteger32, 62,
10684 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10685 MVT::i32, 4, 2, 3, 4, 5,
10686 OPC_EmitStringInteger32, PPC::sub_32,
10687 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10688 MVT::i64, 3, 1, 6, 7,
10689 0,
10690 89,
10691 OPC_CheckChild2CondCode, ISD::SETLT,
10692 OPC_Scope, 33,
10693 OPC_MoveParent,
10694 OPC_CheckTypeI32,
10695 OPC_EmitInteger32, 2,
10696 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
10697 MVT::i32, 2, 0, 1,
10698 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
10699 MVT::i32, 2, 0, 2,
10700 OPC_EmitInteger32, 2,
10701 OPC_EmitInteger32, 62,
10702 OPC_EmitInteger32, 62,
10703 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10704 MVT::i32, 4, 3, 4, 5, 6,
10705 50,
10706 OPC_CheckType, MVT::i1,
10707 OPC_MoveParent,
10708 OPC_CheckTypeI64,
10709 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10710 MVT::i64, 0,
10711 OPC_EmitInteger32, 2,
10712 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
10713 MVT::i32, 2, 0, 2,
10714 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
10715 MVT::i32, 2, 0, 3,
10716 OPC_EmitInteger32, 2,
10717 OPC_EmitInteger32, 62,
10718 OPC_EmitInteger32, 62,
10719 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10720 MVT::i32, 4, 4, 5, 6, 7,
10721 OPC_EmitStringInteger32, PPC::sub_32,
10722 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10723 MVT::i64, 3, 1, 8, 9,
10724 0,
10725 89,
10726 OPC_CheckChild2CondCode, ISD::SETGE,
10727 OPC_Scope, 33,
10728 OPC_MoveParent,
10729 OPC_CheckTypeI32,
10730 OPC_EmitInteger32, 2,
10731 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
10732 MVT::i32, 2, 0, 1,
10733 OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
10734 MVT::i32, 2, 0, 2,
10735 OPC_EmitInteger32, 2,
10736 OPC_EmitInteger32, 62,
10737 OPC_EmitInteger32, 62,
10738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
10739 MVT::i32, 4, 3, 4, 5, 6,
10740 50,
10741 OPC_CheckType, MVT::i1,
10742 OPC_MoveParent,
10743 OPC_CheckTypeI64,
10744 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
10745 MVT::i64, 0,
10746 OPC_EmitInteger32, 2,
10747 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
10748 MVT::i32, 2, 0, 2,
10749 OPC_EmitNode1None, TARGET_VAL(PPC::NAND),
10750 MVT::i32, 2, 0, 3,
10751 OPC_EmitInteger32, 2,
10752 OPC_EmitInteger32, 62,
10753 OPC_EmitInteger32, 62,
10754 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
10755 MVT::i32, 4, 4, 5, 6, 7,
10756 OPC_EmitStringInteger32, PPC::sub_32,
10757 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
10758 MVT::i64, 3, 1, 8, 9,
10759 0,
10760 0,
10761 57|128,15,
10762 OPC_RecordChild1,
10763 OPC_Scope, 60|128,9,
10764 OPC_MoveChild1,
10765 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10766 OPC_Scope, 62,
10767 OPC_CheckPredicate0,
10768 OPC_MoveParent,
10769 OPC_CheckChild2CondCode, ISD::SETUGE,
10770 OPC_Scope, 26,
10771 OPC_MoveParent,
10772 OPC_CheckTypeI32,
10773 OPC_CheckPatternPredicate4,
10774 OPC_EmitConvertToTarget1,
10775 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10776 MVT::i32, 2, 0, 2,
10777 OPC_EmitStringInteger32, PPC::sub_lt,
10778 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10779 MVT::i1, 2, 3, 4,
10780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10781 MVT::i32, 1, 5,
10782 28,
10783 OPC_CheckType, MVT::i1,
10784 OPC_MoveParent,
10785 OPC_CheckTypeI64,
10786 OPC_CheckPatternPredicate4,
10787 OPC_EmitConvertToTarget1,
10788 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10789 MVT::i32, 2, 0, 2,
10790 OPC_EmitStringInteger32, PPC::sub_lt,
10791 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10792 MVT::i1, 2, 3, 4,
10793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10794 MVT::i64, 1, 5,
10795 0,
10796 63,
10797 OPC_CheckPredicate, 10,
10798 OPC_MoveParent,
10799 OPC_CheckChild2CondCode, ISD::SETGE,
10800 OPC_Scope, 26,
10801 OPC_MoveParent,
10802 OPC_CheckTypeI32,
10803 OPC_CheckPatternPredicate4,
10804 OPC_EmitConvertToTarget1,
10805 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10806 MVT::i32, 2, 0, 2,
10807 OPC_EmitStringInteger32, PPC::sub_lt,
10808 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10809 MVT::i1, 2, 3, 4,
10810 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10811 MVT::i32, 1, 5,
10812 28,
10813 OPC_CheckType, MVT::i1,
10814 OPC_MoveParent,
10815 OPC_CheckTypeI64,
10816 OPC_CheckPatternPredicate4,
10817 OPC_EmitConvertToTarget1,
10818 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10819 MVT::i32, 2, 0, 2,
10820 OPC_EmitStringInteger32, PPC::sub_lt,
10821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10822 MVT::i1, 2, 3, 4,
10823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10824 MVT::i64, 1, 5,
10825 0,
10826 62,
10827 OPC_CheckPredicate0,
10828 OPC_MoveParent,
10829 OPC_CheckChild2CondCode, ISD::SETULE,
10830 OPC_Scope, 26,
10831 OPC_MoveParent,
10832 OPC_CheckTypeI32,
10833 OPC_CheckPatternPredicate4,
10834 OPC_EmitConvertToTarget1,
10835 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10836 MVT::i32, 2, 0, 2,
10837 OPC_EmitStringInteger32, PPC::sub_gt,
10838 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10839 MVT::i1, 2, 3, 4,
10840 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10841 MVT::i32, 1, 5,
10842 28,
10843 OPC_CheckType, MVT::i1,
10844 OPC_MoveParent,
10845 OPC_CheckTypeI64,
10846 OPC_CheckPatternPredicate4,
10847 OPC_EmitConvertToTarget1,
10848 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10849 MVT::i32, 2, 0, 2,
10850 OPC_EmitStringInteger32, PPC::sub_gt,
10851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10852 MVT::i1, 2, 3, 4,
10853 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10854 MVT::i64, 1, 5,
10855 0,
10856 127,
10857 OPC_CheckPredicate, 10,
10858 OPC_MoveParent,
10859 OPC_Scope, 60,
10860 OPC_CheckChild2CondCode, ISD::SETLE,
10861 OPC_Scope, 26,
10862 OPC_MoveParent,
10863 OPC_CheckTypeI32,
10864 OPC_CheckPatternPredicate4,
10865 OPC_EmitConvertToTarget1,
10866 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10867 MVT::i32, 2, 0, 2,
10868 OPC_EmitStringInteger32, PPC::sub_gt,
10869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10870 MVT::i1, 2, 3, 4,
10871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10872 MVT::i32, 1, 5,
10873 28,
10874 OPC_CheckType, MVT::i1,
10875 OPC_MoveParent,
10876 OPC_CheckTypeI64,
10877 OPC_CheckPatternPredicate4,
10878 OPC_EmitConvertToTarget1,
10879 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10880 MVT::i32, 2, 0, 2,
10881 OPC_EmitStringInteger32, PPC::sub_gt,
10882 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10883 MVT::i1, 2, 3, 4,
10884 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10885 MVT::i64, 1, 5,
10886 0,
10887 60,
10888 OPC_CheckChild2CondCode, ISD::SETNE,
10889 OPC_Scope, 26,
10890 OPC_MoveParent,
10891 OPC_CheckTypeI32,
10892 OPC_CheckPatternPredicate4,
10893 OPC_EmitConvertToTarget1,
10894 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10895 MVT::i32, 2, 0, 2,
10896 OPC_EmitStringInteger32, PPC::sub_eq,
10897 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10898 MVT::i1, 2, 3, 4,
10899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10900 MVT::i32, 1, 5,
10901 28,
10902 OPC_CheckType, MVT::i1,
10903 OPC_MoveParent,
10904 OPC_CheckTypeI64,
10905 OPC_CheckPatternPredicate4,
10906 OPC_EmitConvertToTarget1,
10907 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10908 MVT::i32, 2, 0, 2,
10909 OPC_EmitStringInteger32, PPC::sub_eq,
10910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10911 MVT::i1, 2, 3, 4,
10912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10913 MVT::i64, 1, 5,
10914 0,
10915 0,
10916 36|128,1,
10917 OPC_CheckPredicate0,
10918 OPC_MoveParent,
10919 OPC_Scope, 60,
10920 OPC_CheckChild2CondCode, ISD::SETNE,
10921 OPC_Scope, 26,
10922 OPC_MoveParent,
10923 OPC_CheckTypeI32,
10924 OPC_CheckPatternPredicate4,
10925 OPC_EmitConvertToTarget1,
10926 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10927 MVT::i32, 2, 0, 2,
10928 OPC_EmitStringInteger32, PPC::sub_eq,
10929 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10930 MVT::i1, 2, 3, 4,
10931 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
10932 MVT::i32, 1, 5,
10933 28,
10934 OPC_CheckType, MVT::i1,
10935 OPC_MoveParent,
10936 OPC_CheckTypeI64,
10937 OPC_CheckPatternPredicate4,
10938 OPC_EmitConvertToTarget1,
10939 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10940 MVT::i32, 2, 0, 2,
10941 OPC_EmitStringInteger32, PPC::sub_eq,
10942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10943 MVT::i1, 2, 3, 4,
10944 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
10945 MVT::i64, 1, 5,
10946 0,
10947 98,
10948 OPC_CheckChild2CondCode, ISD::SETUGE,
10949 OPC_Scope, 45,
10950 OPC_MoveParent,
10951 OPC_CheckTypeI32,
10952 OPC_CheckPatternPredicate, 8,
10953 OPC_EmitConvertToTarget1,
10954 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10955 MVT::i32, 2, 0, 2,
10956 OPC_EmitStringInteger32, PPC::sub_lt,
10957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10958 MVT::i1, 2, 3, 4,
10959 OPC_EmitInteger32, 0,
10960 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
10961 MVT::i32, 1, 6,
10962 OPC_EmitInteger32, 2,
10963 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
10964 MVT::i32, 1, 8,
10965 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
10966 MVT::i32, 3, 5, 7, 9,
10967 47,
10968 OPC_CheckType, MVT::i1,
10969 OPC_MoveParent,
10970 OPC_CheckTypeI64,
10971 OPC_CheckPatternPredicate, 8,
10972 OPC_EmitConvertToTarget1,
10973 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
10974 MVT::i32, 2, 0, 2,
10975 OPC_EmitStringInteger32, PPC::sub_lt,
10976 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
10977 MVT::i1, 2, 3, 4,
10978 OPC_EmitInteger64, 0,
10979 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10980 MVT::i64, 1, 6,
10981 OPC_EmitInteger64, 2,
10982 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
10983 MVT::i64, 1, 8,
10984 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
10985 MVT::i64, 3, 5, 7, 9,
10986 0,
10987 0,
10988 101,
10989 OPC_CheckPredicate, 10,
10990 OPC_MoveParent,
10991 OPC_CheckChild2CondCode, ISD::SETGE,
10992 OPC_Scope, 45,
10993 OPC_MoveParent,
10994 OPC_CheckTypeI32,
10995 OPC_CheckPatternPredicate, 8,
10996 OPC_EmitConvertToTarget1,
10997 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
10998 MVT::i32, 2, 0, 2,
10999 OPC_EmitStringInteger32, PPC::sub_lt,
11000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11001 MVT::i1, 2, 3, 4,
11002 OPC_EmitInteger32, 0,
11003 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11004 MVT::i32, 1, 6,
11005 OPC_EmitInteger32, 2,
11006 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11007 MVT::i32, 1, 8,
11008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11009 MVT::i32, 3, 5, 7, 9,
11010 47,
11011 OPC_CheckType, MVT::i1,
11012 OPC_MoveParent,
11013 OPC_CheckTypeI64,
11014 OPC_CheckPatternPredicate, 8,
11015 OPC_EmitConvertToTarget1,
11016 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
11017 MVT::i32, 2, 0, 2,
11018 OPC_EmitStringInteger32, PPC::sub_lt,
11019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11020 MVT::i1, 2, 3, 4,
11021 OPC_EmitInteger64, 0,
11022 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11023 MVT::i64, 1, 6,
11024 OPC_EmitInteger64, 2,
11025 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11026 MVT::i64, 1, 8,
11027 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11028 MVT::i64, 3, 5, 7, 9,
11029 0,
11030 100,
11031 OPC_CheckPredicate0,
11032 OPC_MoveParent,
11033 OPC_CheckChild2CondCode, ISD::SETULE,
11034 OPC_Scope, 45,
11035 OPC_MoveParent,
11036 OPC_CheckTypeI32,
11037 OPC_CheckPatternPredicate, 8,
11038 OPC_EmitConvertToTarget1,
11039 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11040 MVT::i32, 2, 0, 2,
11041 OPC_EmitStringInteger32, PPC::sub_gt,
11042 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11043 MVT::i1, 2, 3, 4,
11044 OPC_EmitInteger32, 0,
11045 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11046 MVT::i32, 1, 6,
11047 OPC_EmitInteger32, 2,
11048 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11049 MVT::i32, 1, 8,
11050 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11051 MVT::i32, 3, 5, 7, 9,
11052 47,
11053 OPC_CheckType, MVT::i1,
11054 OPC_MoveParent,
11055 OPC_CheckTypeI64,
11056 OPC_CheckPatternPredicate, 8,
11057 OPC_EmitConvertToTarget1,
11058 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11059 MVT::i32, 2, 0, 2,
11060 OPC_EmitStringInteger32, PPC::sub_gt,
11061 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11062 MVT::i1, 2, 3, 4,
11063 OPC_EmitInteger64, 0,
11064 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11065 MVT::i64, 1, 6,
11066 OPC_EmitInteger64, 2,
11067 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11068 MVT::i64, 1, 8,
11069 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11070 MVT::i64, 3, 5, 7, 9,
11071 0,
11072 75|128,1,
11073 OPC_CheckPredicate, 10,
11074 OPC_MoveParent,
11075 OPC_Scope, 98,
11076 OPC_CheckChild2CondCode, ISD::SETLE,
11077 OPC_Scope, 45,
11078 OPC_MoveParent,
11079 OPC_CheckTypeI32,
11080 OPC_CheckPatternPredicate, 8,
11081 OPC_EmitConvertToTarget1,
11082 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
11083 MVT::i32, 2, 0, 2,
11084 OPC_EmitStringInteger32, PPC::sub_gt,
11085 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11086 MVT::i1, 2, 3, 4,
11087 OPC_EmitInteger32, 0,
11088 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11089 MVT::i32, 1, 6,
11090 OPC_EmitInteger32, 2,
11091 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11092 MVT::i32, 1, 8,
11093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11094 MVT::i32, 3, 5, 7, 9,
11095 47,
11096 OPC_CheckType, MVT::i1,
11097 OPC_MoveParent,
11098 OPC_CheckTypeI64,
11099 OPC_CheckPatternPredicate, 8,
11100 OPC_EmitConvertToTarget1,
11101 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
11102 MVT::i32, 2, 0, 2,
11103 OPC_EmitStringInteger32, PPC::sub_gt,
11104 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11105 MVT::i1, 2, 3, 4,
11106 OPC_EmitInteger64, 0,
11107 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11108 MVT::i64, 1, 6,
11109 OPC_EmitInteger64, 2,
11110 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11111 MVT::i64, 1, 8,
11112 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11113 MVT::i64, 3, 5, 7, 9,
11114 0,
11115 98,
11116 OPC_CheckChild2CondCode, ISD::SETNE,
11117 OPC_Scope, 45,
11118 OPC_MoveParent,
11119 OPC_CheckTypeI32,
11120 OPC_CheckPatternPredicate, 8,
11121 OPC_EmitConvertToTarget1,
11122 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
11123 MVT::i32, 2, 0, 2,
11124 OPC_EmitStringInteger32, PPC::sub_eq,
11125 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11126 MVT::i1, 2, 3, 4,
11127 OPC_EmitInteger32, 0,
11128 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11129 MVT::i32, 1, 6,
11130 OPC_EmitInteger32, 2,
11131 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11132 MVT::i32, 1, 8,
11133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11134 MVT::i32, 3, 5, 7, 9,
11135 47,
11136 OPC_CheckType, MVT::i1,
11137 OPC_MoveParent,
11138 OPC_CheckTypeI64,
11139 OPC_CheckPatternPredicate, 8,
11140 OPC_EmitConvertToTarget1,
11141 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
11142 MVT::i32, 2, 0, 2,
11143 OPC_EmitStringInteger32, PPC::sub_eq,
11144 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11145 MVT::i1, 2, 3, 4,
11146 OPC_EmitInteger64, 0,
11147 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11148 MVT::i64, 1, 6,
11149 OPC_EmitInteger64, 2,
11150 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11151 MVT::i64, 1, 8,
11152 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11153 MVT::i64, 3, 5, 7, 9,
11154 0,
11155 0,
11156 100,
11157 OPC_CheckPredicate0,
11158 OPC_MoveParent,
11159 OPC_CheckChild2CondCode, ISD::SETNE,
11160 OPC_Scope, 45,
11161 OPC_MoveParent,
11162 OPC_CheckTypeI32,
11163 OPC_CheckPatternPredicate, 8,
11164 OPC_EmitConvertToTarget1,
11165 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11166 MVT::i32, 2, 0, 2,
11167 OPC_EmitStringInteger32, PPC::sub_eq,
11168 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11169 MVT::i1, 2, 3, 4,
11170 OPC_EmitInteger32, 0,
11171 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11172 MVT::i32, 1, 6,
11173 OPC_EmitInteger32, 2,
11174 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11175 MVT::i32, 1, 8,
11176 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11177 MVT::i32, 3, 5, 7, 9,
11178 47,
11179 OPC_CheckType, MVT::i1,
11180 OPC_MoveParent,
11181 OPC_CheckTypeI64,
11182 OPC_CheckPatternPredicate, 8,
11183 OPC_EmitConvertToTarget1,
11184 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11185 MVT::i32, 2, 0, 2,
11186 OPC_EmitStringInteger32, PPC::sub_eq,
11187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11188 MVT::i1, 2, 3, 4,
11189 OPC_EmitInteger64, 0,
11190 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11191 MVT::i64, 1, 6,
11192 OPC_EmitInteger64, 2,
11193 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11194 MVT::i64, 1, 8,
11195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11196 MVT::i64, 3, 5, 7, 9,
11197 0,
11198 83|128,1,
11199 OPC_MoveParent,
11200 OPC_CheckChild2CondCode, ISD::SETNE,
11201 OPC_Scope, 40,
11202 OPC_MoveParent,
11203 OPC_CheckTypeI32,
11204 OPC_CheckPatternPredicate4,
11205 OPC_EmitConvertToTarget1,
11206 OPC_EmitNodeXForm, 0, 2,
11207 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
11208 MVT::i32, 2, 0, 3,
11209 OPC_EmitConvertToTarget1,
11210 OPC_EmitNodeXForm, 1, 5,
11211 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11212 MVT::i32, 2, 4, 6,
11213 OPC_EmitStringInteger32, PPC::sub_eq,
11214 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11215 MVT::i1, 2, 7, 8,
11216 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11217 MVT::i32, 1, 9,
11218 42,
11219 OPC_CheckType, MVT::i1,
11220 OPC_MoveParent,
11221 OPC_CheckTypeI64,
11222 OPC_CheckPatternPredicate4,
11223 OPC_EmitConvertToTarget1,
11224 OPC_EmitNodeXForm, 0, 2,
11225 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
11226 MVT::i32, 2, 0, 3,
11227 OPC_EmitConvertToTarget1,
11228 OPC_EmitNodeXForm, 1, 5,
11229 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11230 MVT::i32, 2, 4, 6,
11231 OPC_EmitStringInteger32, PPC::sub_eq,
11232 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11233 MVT::i1, 2, 7, 8,
11234 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11235 MVT::i64, 1, 9,
11236 59,
11237 OPC_MoveParent,
11238 OPC_CheckTypeI32,
11239 OPC_CheckPatternPredicate, 8,
11240 OPC_EmitConvertToTarget1,
11241 OPC_EmitNodeXForm, 0, 2,
11242 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
11243 MVT::i32, 2, 0, 3,
11244 OPC_EmitConvertToTarget1,
11245 OPC_EmitNodeXForm, 1, 5,
11246 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11247 MVT::i32, 2, 4, 6,
11248 OPC_EmitStringInteger32, PPC::sub_eq,
11249 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11250 MVT::i1, 2, 7, 8,
11251 OPC_EmitInteger32, 0,
11252 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11253 MVT::i32, 1, 10,
11254 OPC_EmitInteger32, 2,
11255 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11256 MVT::i32, 1, 12,
11257 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11258 MVT::i32, 3, 9, 11, 13,
11259 61,
11260 OPC_CheckType, MVT::i1,
11261 OPC_MoveParent,
11262 OPC_CheckTypeI64,
11263 OPC_CheckPatternPredicate, 8,
11264 OPC_EmitConvertToTarget1,
11265 OPC_EmitNodeXForm, 0, 2,
11266 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
11267 MVT::i32, 2, 0, 3,
11268 OPC_EmitConvertToTarget1,
11269 OPC_EmitNodeXForm, 1, 5,
11270 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
11271 MVT::i32, 2, 4, 6,
11272 OPC_EmitStringInteger32, PPC::sub_eq,
11273 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11274 MVT::i1, 2, 7, 8,
11275 OPC_EmitInteger64, 0,
11276 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11277 MVT::i64, 1, 10,
11278 OPC_EmitInteger64, 2,
11279 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11280 MVT::i64, 1, 12,
11281 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11282 MVT::i64, 3, 9, 11, 13,
11283 0,
11284 0,
11285 22|128,1,
11286 OPC_CheckChild2CondCode, ISD::SETUGE,
11287 OPC_Scope, 25,
11288 OPC_MoveParent,
11289 OPC_CheckTypeI32,
11290 OPC_CheckPatternPredicate4,
11291 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11292 MVT::i32, 2, 0, 1,
11293 OPC_EmitStringInteger32, PPC::sub_lt,
11294 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11295 MVT::i1, 2, 2, 3,
11296 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11297 MVT::i32, 1, 4,
11298 27,
11299 OPC_CheckType, MVT::i1,
11300 OPC_MoveParent,
11301 OPC_CheckTypeI64,
11302 OPC_CheckPatternPredicate4,
11303 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11304 MVT::i32, 2, 0, 1,
11305 OPC_EmitStringInteger32, PPC::sub_lt,
11306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11307 MVT::i1, 2, 2, 3,
11308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11309 MVT::i64, 1, 4,
11310 44,
11311 OPC_MoveParent,
11312 OPC_CheckTypeI32,
11313 OPC_CheckPatternPredicate, 8,
11314 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11315 MVT::i32, 2, 0, 1,
11316 OPC_EmitStringInteger32, PPC::sub_lt,
11317 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11318 MVT::i1, 2, 2, 3,
11319 OPC_EmitInteger32, 0,
11320 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11321 MVT::i32, 1, 5,
11322 OPC_EmitInteger32, 2,
11323 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11324 MVT::i32, 1, 7,
11325 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11326 MVT::i32, 3, 4, 6, 8,
11327 46,
11328 OPC_CheckType, MVT::i1,
11329 OPC_MoveParent,
11330 OPC_CheckTypeI64,
11331 OPC_CheckPatternPredicate, 8,
11332 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11333 MVT::i32, 2, 0, 1,
11334 OPC_EmitStringInteger32, PPC::sub_lt,
11335 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11336 MVT::i1, 2, 2, 3,
11337 OPC_EmitInteger64, 0,
11338 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11339 MVT::i64, 1, 5,
11340 OPC_EmitInteger64, 2,
11341 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11342 MVT::i64, 1, 7,
11343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11344 MVT::i64, 3, 4, 6, 8,
11345 0,
11346 22|128,1,
11347 OPC_CheckChild2CondCode, ISD::SETGE,
11348 OPC_Scope, 25,
11349 OPC_MoveParent,
11350 OPC_CheckTypeI32,
11351 OPC_CheckPatternPredicate4,
11352 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11353 MVT::i32, 2, 0, 1,
11354 OPC_EmitStringInteger32, PPC::sub_lt,
11355 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11356 MVT::i1, 2, 2, 3,
11357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11358 MVT::i32, 1, 4,
11359 27,
11360 OPC_CheckType, MVT::i1,
11361 OPC_MoveParent,
11362 OPC_CheckTypeI64,
11363 OPC_CheckPatternPredicate4,
11364 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11365 MVT::i32, 2, 0, 1,
11366 OPC_EmitStringInteger32, PPC::sub_lt,
11367 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11368 MVT::i1, 2, 2, 3,
11369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11370 MVT::i64, 1, 4,
11371 44,
11372 OPC_MoveParent,
11373 OPC_CheckTypeI32,
11374 OPC_CheckPatternPredicate, 8,
11375 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11376 MVT::i32, 2, 0, 1,
11377 OPC_EmitStringInteger32, PPC::sub_lt,
11378 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11379 MVT::i1, 2, 2, 3,
11380 OPC_EmitInteger32, 0,
11381 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11382 MVT::i32, 1, 5,
11383 OPC_EmitInteger32, 2,
11384 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11385 MVT::i32, 1, 7,
11386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11387 MVT::i32, 3, 4, 6, 8,
11388 46,
11389 OPC_CheckType, MVT::i1,
11390 OPC_MoveParent,
11391 OPC_CheckTypeI64,
11392 OPC_CheckPatternPredicate, 8,
11393 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11394 MVT::i32, 2, 0, 1,
11395 OPC_EmitStringInteger32, PPC::sub_lt,
11396 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11397 MVT::i1, 2, 2, 3,
11398 OPC_EmitInteger64, 0,
11399 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11400 MVT::i64, 1, 5,
11401 OPC_EmitInteger64, 2,
11402 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11403 MVT::i64, 1, 7,
11404 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11405 MVT::i64, 3, 4, 6, 8,
11406 0,
11407 22|128,1,
11408 OPC_CheckChild2CondCode, ISD::SETULE,
11409 OPC_Scope, 25,
11410 OPC_MoveParent,
11411 OPC_CheckTypeI32,
11412 OPC_CheckPatternPredicate4,
11413 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11414 MVT::i32, 2, 0, 1,
11415 OPC_EmitStringInteger32, PPC::sub_gt,
11416 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11417 MVT::i1, 2, 2, 3,
11418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11419 MVT::i32, 1, 4,
11420 27,
11421 OPC_CheckType, MVT::i1,
11422 OPC_MoveParent,
11423 OPC_CheckTypeI64,
11424 OPC_CheckPatternPredicate4,
11425 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11426 MVT::i32, 2, 0, 1,
11427 OPC_EmitStringInteger32, PPC::sub_gt,
11428 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11429 MVT::i1, 2, 2, 3,
11430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11431 MVT::i64, 1, 4,
11432 44,
11433 OPC_MoveParent,
11434 OPC_CheckTypeI32,
11435 OPC_CheckPatternPredicate, 8,
11436 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11437 MVT::i32, 2, 0, 1,
11438 OPC_EmitStringInteger32, PPC::sub_gt,
11439 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11440 MVT::i1, 2, 2, 3,
11441 OPC_EmitInteger32, 0,
11442 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11443 MVT::i32, 1, 5,
11444 OPC_EmitInteger32, 2,
11445 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11446 MVT::i32, 1, 7,
11447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11448 MVT::i32, 3, 4, 6, 8,
11449 46,
11450 OPC_CheckType, MVT::i1,
11451 OPC_MoveParent,
11452 OPC_CheckTypeI64,
11453 OPC_CheckPatternPredicate, 8,
11454 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
11455 MVT::i32, 2, 0, 1,
11456 OPC_EmitStringInteger32, PPC::sub_gt,
11457 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11458 MVT::i1, 2, 2, 3,
11459 OPC_EmitInteger64, 0,
11460 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11461 MVT::i64, 1, 5,
11462 OPC_EmitInteger64, 2,
11463 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11464 MVT::i64, 1, 7,
11465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11466 MVT::i64, 3, 4, 6, 8,
11467 0,
11468 22|128,1,
11469 OPC_CheckChild2CondCode, ISD::SETLE,
11470 OPC_Scope, 25,
11471 OPC_MoveParent,
11472 OPC_CheckTypeI32,
11473 OPC_CheckPatternPredicate4,
11474 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11475 MVT::i32, 2, 0, 1,
11476 OPC_EmitStringInteger32, PPC::sub_gt,
11477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11478 MVT::i1, 2, 2, 3,
11479 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11480 MVT::i32, 1, 4,
11481 27,
11482 OPC_CheckType, MVT::i1,
11483 OPC_MoveParent,
11484 OPC_CheckTypeI64,
11485 OPC_CheckPatternPredicate4,
11486 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11487 MVT::i32, 2, 0, 1,
11488 OPC_EmitStringInteger32, PPC::sub_gt,
11489 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11490 MVT::i1, 2, 2, 3,
11491 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11492 MVT::i64, 1, 4,
11493 44,
11494 OPC_MoveParent,
11495 OPC_CheckTypeI32,
11496 OPC_CheckPatternPredicate, 8,
11497 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11498 MVT::i32, 2, 0, 1,
11499 OPC_EmitStringInteger32, PPC::sub_gt,
11500 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11501 MVT::i1, 2, 2, 3,
11502 OPC_EmitInteger32, 0,
11503 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11504 MVT::i32, 1, 5,
11505 OPC_EmitInteger32, 2,
11506 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11507 MVT::i32, 1, 7,
11508 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11509 MVT::i32, 3, 4, 6, 8,
11510 46,
11511 OPC_CheckType, MVT::i1,
11512 OPC_MoveParent,
11513 OPC_CheckTypeI64,
11514 OPC_CheckPatternPredicate, 8,
11515 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11516 MVT::i32, 2, 0, 1,
11517 OPC_EmitStringInteger32, PPC::sub_gt,
11518 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11519 MVT::i1, 2, 2, 3,
11520 OPC_EmitInteger64, 0,
11521 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11522 MVT::i64, 1, 5,
11523 OPC_EmitInteger64, 2,
11524 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11525 MVT::i64, 1, 7,
11526 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11527 MVT::i64, 3, 4, 6, 8,
11528 0,
11529 22|128,1,
11530 OPC_CheckChild2CondCode, ISD::SETNE,
11531 OPC_Scope, 25,
11532 OPC_MoveParent,
11533 OPC_CheckTypeI32,
11534 OPC_CheckPatternPredicate4,
11535 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11536 MVT::i32, 2, 0, 1,
11537 OPC_EmitStringInteger32, PPC::sub_eq,
11538 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11539 MVT::i1, 2, 2, 3,
11540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11541 MVT::i32, 1, 4,
11542 27,
11543 OPC_CheckType, MVT::i1,
11544 OPC_MoveParent,
11545 OPC_CheckTypeI64,
11546 OPC_CheckPatternPredicate4,
11547 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11548 MVT::i32, 2, 0, 1,
11549 OPC_EmitStringInteger32, PPC::sub_eq,
11550 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11551 MVT::i1, 2, 2, 3,
11552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11553 MVT::i64, 1, 4,
11554 44,
11555 OPC_MoveParent,
11556 OPC_CheckTypeI32,
11557 OPC_CheckPatternPredicate, 8,
11558 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11559 MVT::i32, 2, 0, 1,
11560 OPC_EmitStringInteger32, PPC::sub_eq,
11561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11562 MVT::i1, 2, 2, 3,
11563 OPC_EmitInteger32, 0,
11564 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11565 MVT::i32, 1, 5,
11566 OPC_EmitInteger32, 2,
11567 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
11568 MVT::i32, 1, 7,
11569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
11570 MVT::i32, 3, 4, 6, 8,
11571 46,
11572 OPC_CheckType, MVT::i1,
11573 OPC_MoveParent,
11574 OPC_CheckTypeI64,
11575 OPC_CheckPatternPredicate, 8,
11576 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
11577 MVT::i32, 2, 0, 1,
11578 OPC_EmitStringInteger32, PPC::sub_eq,
11579 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11580 MVT::i1, 2, 2, 3,
11581 OPC_EmitInteger64, 0,
11582 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11583 MVT::i64, 1, 5,
11584 OPC_EmitInteger64, 2,
11585 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
11586 MVT::i64, 1, 7,
11587 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
11588 MVT::i64, 3, 4, 6, 8,
11589 0,
11590 0,
11591 0,
11592 96|128,20,
11593 OPC_CheckChild0TypeI64,
11594 OPC_Scope, 12|128,3,
11595 OPC_CheckChild1Integer, 0,
11596 OPC_Scope, 45,
11597 OPC_CheckChild2CondCode, ISD::SETLT,
11598 OPC_Scope, 16,
11599 OPC_CheckType, MVT::i1,
11600 OPC_MoveParent,
11601 OPC_CheckTypeI64,
11602 OPC_EmitInteger32, 2,
11603 OPC_EmitInteger32, 126,
11604 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11605 MVT::i64, 3, 0, 1, 2,
11606 23,
11607 OPC_MoveParent,
11608 OPC_CheckTypeI32,
11609 OPC_EmitInteger32, 2,
11610 OPC_EmitInteger32, 126,
11611 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11612 MVT::i64, 3, 0, 1, 2,
11613 OPC_EmitStringInteger32, PPC::sub_32,
11614 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11615 MVT::i32, 2, 3, 4,
11616 0,
11617 57,
11618 OPC_CheckChild2CondCode, ISD::SETEQ,
11619 OPC_Scope, 22,
11620 OPC_CheckType, MVT::i1,
11621 OPC_MoveParent,
11622 OPC_CheckTypeI64,
11623 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11624 MVT::i64, 1, 0,
11625 OPC_EmitInteger32, 116,
11626 OPC_EmitInteger32, 126,
11627 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11628 MVT::i64, 3, 1, 2, 3,
11629 29,
11630 OPC_MoveParent,
11631 OPC_CheckTypeI32,
11632 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11633 MVT::i64, 1, 0,
11634 OPC_EmitInteger32, 116,
11635 OPC_EmitInteger32, 126,
11636 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11637 MVT::i64, 3, 1, 2, 3,
11638 OPC_EmitStringInteger32, PPC::sub_32,
11639 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11640 MVT::i32, 2, 4, 5,
11641 0,
11642 59,
11643 OPC_CheckChild2CondCode, ISD::SETGE,
11644 OPC_Scope, 23,
11645 OPC_CheckType, MVT::i1,
11646 OPC_MoveParent,
11647 OPC_CheckTypeI64,
11648 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11649 MVT::i64, 2, 0, 0,
11650 OPC_EmitInteger32, 2,
11651 OPC_EmitInteger32, 126,
11652 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11653 MVT::i64, 3, 1, 2, 3,
11654 30,
11655 OPC_MoveParent,
11656 OPC_CheckTypeI32,
11657 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11658 MVT::i64, 2, 0, 0,
11659 OPC_EmitInteger32, 2,
11660 OPC_EmitInteger32, 126,
11661 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11662 MVT::i64, 3, 1, 2, 3,
11663 OPC_EmitStringInteger32, PPC::sub_32,
11664 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11665 MVT::i32, 2, 4, 5,
11666 0,
11667 71,
11668 OPC_CheckChild2CondCode, ISD::SETGT,
11669 OPC_Scope, 29,
11670 OPC_CheckType, MVT::i1,
11671 OPC_MoveParent,
11672 OPC_CheckTypeI64,
11673 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
11674 MVT::i64, 1, 0,
11675 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
11676 MVT::i64, 2, 1, 0,
11677 OPC_EmitInteger32, 2,
11678 OPC_EmitInteger32, 126,
11679 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11680 MVT::i64, 3, 2, 3, 4,
11681 36,
11682 OPC_MoveParent,
11683 OPC_CheckTypeI32,
11684 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
11685 MVT::i64, 1, 0,
11686 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
11687 MVT::i64, 2, 1, 0,
11688 OPC_EmitInteger32, 2,
11689 OPC_EmitInteger32, 126,
11690 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11691 MVT::i64, 3, 2, 3, 4,
11692 OPC_EmitStringInteger32, PPC::sub_32,
11693 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11694 MVT::i32, 2, 5, 6,
11695 0,
11696 71,
11697 OPC_CheckChild2CondCode, ISD::SETLE,
11698 OPC_Scope, 29,
11699 OPC_CheckType, MVT::i1,
11700 OPC_MoveParent,
11701 OPC_CheckTypeI64,
11702 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
11703 MVT::i64, 1, 0,
11704 OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
11705 MVT::i64, 2, 0, 1,
11706 OPC_EmitInteger32, 2,
11707 OPC_EmitInteger32, 126,
11708 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11709 MVT::i64, 3, 2, 3, 4,
11710 36,
11711 OPC_MoveParent,
11712 OPC_CheckTypeI32,
11713 OPC_EmitNode1None, TARGET_VAL(PPC::NEG8),
11714 MVT::i64, 1, 0,
11715 OPC_EmitNode1None, TARGET_VAL(PPC::ORC8),
11716 MVT::i64, 2, 0, 1,
11717 OPC_EmitInteger32, 2,
11718 OPC_EmitInteger32, 126,
11719 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11720 MVT::i64, 3, 2, 3, 4,
11721 OPC_EmitStringInteger32, PPC::sub_32,
11722 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11723 MVT::i32, 2, 5, 6,
11724 0,
11725 83,
11726 OPC_CheckChild2CondCode, ISD::SETNE,
11727 OPC_Scope, 35,
11728 OPC_CheckType, MVT::i1,
11729 OPC_MoveParent,
11730 OPC_CheckTypeI64,
11731 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11732 MVT::i64, 1, 0,
11733 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11734 MVT::i64, 1, 0,
11735 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11736 MVT::i64, 2, 1, 2,
11737 OPC_EmitInteger32, 116,
11738 OPC_EmitInteger32, 126,
11739 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11740 MVT::i64, 3, 3, 4, 5,
11741 42,
11742 OPC_MoveParent,
11743 OPC_CheckTypeI32,
11744 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11745 MVT::i64, 1, 0,
11746 OPC_EmitNode1None, TARGET_VAL(PPC::CNTLZD),
11747 MVT::i64, 1, 0,
11748 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11749 MVT::i64, 2, 1, 2,
11750 OPC_EmitInteger32, 116,
11751 OPC_EmitInteger32, 126,
11752 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11753 MVT::i64, 3, 3, 4, 5,
11754 OPC_EmitStringInteger32, PPC::sub_32,
11755 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11756 MVT::i32, 2, 6, 7,
11757 0,
11758 0,
11759 10|128,2,
11760 OPC_CheckChild1Integer, 3,
11761 OPC_Scope, 45,
11762 OPC_CheckChild2CondCode, ISD::SETLE,
11763 OPC_Scope, 16,
11764 OPC_CheckType, MVT::i1,
11765 OPC_MoveParent,
11766 OPC_CheckTypeI64,
11767 OPC_EmitInteger32, 2,
11768 OPC_EmitInteger32, 126,
11769 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11770 MVT::i64, 3, 0, 1, 2,
11771 23,
11772 OPC_MoveParent,
11773 OPC_CheckTypeI32,
11774 OPC_EmitInteger32, 2,
11775 OPC_EmitInteger32, 126,
11776 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11777 MVT::i64, 3, 0, 1, 2,
11778 OPC_EmitStringInteger32, PPC::sub_32,
11779 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11780 MVT::i32, 2, 3, 4,
11781 0,
11782 59,
11783 OPC_CheckChild2CondCode, ISD::SETGT,
11784 OPC_Scope, 23,
11785 OPC_CheckType, MVT::i1,
11786 OPC_MoveParent,
11787 OPC_CheckTypeI64,
11788 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11789 MVT::i64, 2, 0, 0,
11790 OPC_EmitInteger32, 2,
11791 OPC_EmitInteger32, 126,
11792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11793 MVT::i64, 3, 1, 2, 3,
11794 30,
11795 OPC_MoveParent,
11796 OPC_CheckTypeI32,
11797 OPC_EmitNode1None, TARGET_VAL(PPC::NOR8),
11798 MVT::i64, 2, 0, 0,
11799 OPC_EmitInteger32, 2,
11800 OPC_EmitInteger32, 126,
11801 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11802 MVT::i64, 3, 1, 2, 3,
11803 OPC_EmitStringInteger32, PPC::sub_32,
11804 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11805 MVT::i32, 2, 4, 5,
11806 0,
11807 77,
11808 OPC_CheckChild2CondCode, ISD::SETLT,
11809 OPC_Scope, 32,
11810 OPC_CheckType, MVT::i1,
11811 OPC_MoveParent,
11812 OPC_CheckTypeI64,
11813 OPC_EmitInteger64, 2,
11814 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
11815 MVT::i64, 2, 0, 1,
11816 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
11817 MVT::i64, 2, 0, 2,
11818 OPC_EmitInteger32, 2,
11819 OPC_EmitInteger32, 126,
11820 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11821 MVT::i64, 3, 3, 4, 5,
11822 39,
11823 OPC_MoveParent,
11824 OPC_CheckTypeI32,
11825 OPC_EmitInteger64, 2,
11826 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
11827 MVT::i64, 2, 0, 1,
11828 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
11829 MVT::i64, 2, 0, 2,
11830 OPC_EmitInteger32, 2,
11831 OPC_EmitInteger32, 126,
11832 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11833 MVT::i64, 3, 3, 4, 5,
11834 OPC_EmitStringInteger32, PPC::sub_32,
11835 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11836 MVT::i32, 2, 6, 7,
11837 0,
11838 77,
11839 OPC_CheckChild2CondCode, ISD::SETGE,
11840 OPC_Scope, 32,
11841 OPC_CheckType, MVT::i1,
11842 OPC_MoveParent,
11843 OPC_CheckTypeI64,
11844 OPC_EmitInteger64, 2,
11845 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
11846 MVT::i64, 2, 0, 1,
11847 OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
11848 MVT::i64, 2, 0, 2,
11849 OPC_EmitInteger32, 2,
11850 OPC_EmitInteger32, 126,
11851 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
11852 MVT::i64, 3, 3, 4, 5,
11853 39,
11854 OPC_MoveParent,
11855 OPC_CheckTypeI32,
11856 OPC_EmitInteger64, 2,
11857 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI8),
11858 MVT::i64, 2, 0, 1,
11859 OPC_EmitNode1None, TARGET_VAL(PPC::NAND8),
11860 MVT::i64, 2, 0, 2,
11861 OPC_EmitInteger32, 2,
11862 OPC_EmitInteger32, 126,
11863 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
11864 MVT::i64, 3, 3, 4, 5,
11865 OPC_EmitStringInteger32, PPC::sub_32,
11866 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11867 MVT::i32, 2, 6, 7,
11868 0,
11869 0,
11870 65|128,15,
11871 OPC_RecordChild1,
11872 OPC_Scope, 68|128,9,
11873 OPC_MoveChild1,
11874 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11875 OPC_Scope, 62,
11876 OPC_CheckPredicate0,
11877 OPC_MoveParent,
11878 OPC_CheckChild2CondCode, ISD::SETUGE,
11879 OPC_Scope, 26,
11880 OPC_MoveParent,
11881 OPC_CheckTypeI32,
11882 OPC_CheckPatternPredicate4,
11883 OPC_EmitConvertToTarget1,
11884 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
11885 MVT::i32, 2, 0, 2,
11886 OPC_EmitStringInteger32, PPC::sub_lt,
11887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11888 MVT::i1, 2, 3, 4,
11889 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11890 MVT::i32, 1, 5,
11891 28,
11892 OPC_CheckType, MVT::i1,
11893 OPC_MoveParent,
11894 OPC_CheckTypeI64,
11895 OPC_CheckPatternPredicate4,
11896 OPC_EmitConvertToTarget1,
11897 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
11898 MVT::i32, 2, 0, 2,
11899 OPC_EmitStringInteger32, PPC::sub_lt,
11900 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11901 MVT::i1, 2, 3, 4,
11902 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11903 MVT::i64, 1, 5,
11904 0,
11905 63,
11906 OPC_CheckPredicate, 12,
11907 OPC_MoveParent,
11908 OPC_CheckChild2CondCode, ISD::SETGE,
11909 OPC_Scope, 26,
11910 OPC_MoveParent,
11911 OPC_CheckTypeI32,
11912 OPC_CheckPatternPredicate4,
11913 OPC_EmitConvertToTarget1,
11914 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
11915 MVT::i32, 2, 0, 2,
11916 OPC_EmitStringInteger32, PPC::sub_lt,
11917 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11918 MVT::i1, 2, 3, 4,
11919 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11920 MVT::i32, 1, 5,
11921 28,
11922 OPC_CheckType, MVT::i1,
11923 OPC_MoveParent,
11924 OPC_CheckTypeI64,
11925 OPC_CheckPatternPredicate4,
11926 OPC_EmitConvertToTarget1,
11927 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
11928 MVT::i32, 2, 0, 2,
11929 OPC_EmitStringInteger32, PPC::sub_lt,
11930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11931 MVT::i1, 2, 3, 4,
11932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11933 MVT::i64, 1, 5,
11934 0,
11935 62,
11936 OPC_CheckPredicate0,
11937 OPC_MoveParent,
11938 OPC_CheckChild2CondCode, ISD::SETULE,
11939 OPC_Scope, 26,
11940 OPC_MoveParent,
11941 OPC_CheckTypeI32,
11942 OPC_CheckPatternPredicate4,
11943 OPC_EmitConvertToTarget1,
11944 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
11945 MVT::i32, 2, 0, 2,
11946 OPC_EmitStringInteger32, PPC::sub_gt,
11947 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11948 MVT::i1, 2, 3, 4,
11949 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11950 MVT::i32, 1, 5,
11951 28,
11952 OPC_CheckType, MVT::i1,
11953 OPC_MoveParent,
11954 OPC_CheckTypeI64,
11955 OPC_CheckPatternPredicate4,
11956 OPC_EmitConvertToTarget1,
11957 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
11958 MVT::i32, 2, 0, 2,
11959 OPC_EmitStringInteger32, PPC::sub_gt,
11960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11961 MVT::i1, 2, 3, 4,
11962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11963 MVT::i64, 1, 5,
11964 0,
11965 127,
11966 OPC_CheckPredicate, 12,
11967 OPC_MoveParent,
11968 OPC_Scope, 60,
11969 OPC_CheckChild2CondCode, ISD::SETLE,
11970 OPC_Scope, 26,
11971 OPC_MoveParent,
11972 OPC_CheckTypeI32,
11973 OPC_CheckPatternPredicate4,
11974 OPC_EmitConvertToTarget1,
11975 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
11976 MVT::i32, 2, 0, 2,
11977 OPC_EmitStringInteger32, PPC::sub_gt,
11978 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11979 MVT::i1, 2, 3, 4,
11980 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
11981 MVT::i32, 1, 5,
11982 28,
11983 OPC_CheckType, MVT::i1,
11984 OPC_MoveParent,
11985 OPC_CheckTypeI64,
11986 OPC_CheckPatternPredicate4,
11987 OPC_EmitConvertToTarget1,
11988 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
11989 MVT::i32, 2, 0, 2,
11990 OPC_EmitStringInteger32, PPC::sub_gt,
11991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
11992 MVT::i1, 2, 3, 4,
11993 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
11994 MVT::i64, 1, 5,
11995 0,
11996 60,
11997 OPC_CheckChild2CondCode, ISD::SETNE,
11998 OPC_Scope, 26,
11999 OPC_MoveParent,
12000 OPC_CheckTypeI32,
12001 OPC_CheckPatternPredicate4,
12002 OPC_EmitConvertToTarget1,
12003 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12004 MVT::i32, 2, 0, 2,
12005 OPC_EmitStringInteger32, PPC::sub_eq,
12006 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12007 MVT::i1, 2, 3, 4,
12008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12009 MVT::i32, 1, 5,
12010 28,
12011 OPC_CheckType, MVT::i1,
12012 OPC_MoveParent,
12013 OPC_CheckTypeI64,
12014 OPC_CheckPatternPredicate4,
12015 OPC_EmitConvertToTarget1,
12016 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12017 MVT::i32, 2, 0, 2,
12018 OPC_EmitStringInteger32, PPC::sub_eq,
12019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12020 MVT::i1, 2, 3, 4,
12021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12022 MVT::i64, 1, 5,
12023 0,
12024 0,
12025 62,
12026 OPC_CheckPredicate0,
12027 OPC_MoveParent,
12028 OPC_CheckChild2CondCode, ISD::SETNE,
12029 OPC_Scope, 26,
12030 OPC_MoveParent,
12031 OPC_CheckTypeI32,
12032 OPC_CheckPatternPredicate4,
12033 OPC_EmitConvertToTarget1,
12034 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12035 MVT::i32, 2, 0, 2,
12036 OPC_EmitStringInteger32, PPC::sub_eq,
12037 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12038 MVT::i1, 2, 3, 4,
12039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12040 MVT::i32, 1, 5,
12041 28,
12042 OPC_CheckType, MVT::i1,
12043 OPC_MoveParent,
12044 OPC_CheckTypeI64,
12045 OPC_CheckPatternPredicate4,
12046 OPC_EmitConvertToTarget1,
12047 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12048 MVT::i32, 2, 0, 2,
12049 OPC_EmitStringInteger32, PPC::sub_eq,
12050 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12051 MVT::i1, 2, 3, 4,
12052 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12053 MVT::i64, 1, 5,
12054 0,
12055 91,
12056 OPC_CheckPredicate, 22,
12057 OPC_MoveParent,
12058 OPC_CheckChild2CondCode, ISD::SETNE,
12059 OPC_Scope, 40,
12060 OPC_MoveParent,
12061 OPC_CheckTypeI32,
12062 OPC_CheckPatternPredicate4,
12063 OPC_EmitConvertToTarget1,
12064 OPC_EmitNodeXForm, 0, 2,
12065 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
12066 MVT::i64, 2, 0, 3,
12067 OPC_EmitConvertToTarget1,
12068 OPC_EmitNodeXForm, 1, 5,
12069 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12070 MVT::i32, 2, 4, 6,
12071 OPC_EmitStringInteger32, PPC::sub_eq,
12072 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12073 MVT::i1, 2, 7, 8,
12074 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12075 MVT::i32, 1, 9,
12076 42,
12077 OPC_CheckType, MVT::i1,
12078 OPC_MoveParent,
12079 OPC_CheckTypeI64,
12080 OPC_CheckPatternPredicate4,
12081 OPC_EmitConvertToTarget1,
12082 OPC_EmitNodeXForm, 0, 2,
12083 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
12084 MVT::i64, 2, 0, 3,
12085 OPC_EmitConvertToTarget1,
12086 OPC_EmitNodeXForm, 1, 5,
12087 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12088 MVT::i32, 2, 4, 6,
12089 OPC_EmitStringInteger32, PPC::sub_eq,
12090 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12091 MVT::i1, 2, 7, 8,
12092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12093 MVT::i64, 1, 9,
12094 0,
12095 100,
12096 OPC_CheckPredicate0,
12097 OPC_MoveParent,
12098 OPC_CheckChild2CondCode, ISD::SETUGE,
12099 OPC_Scope, 45,
12100 OPC_MoveParent,
12101 OPC_CheckTypeI32,
12102 OPC_CheckPatternPredicate, 8,
12103 OPC_EmitConvertToTarget1,
12104 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12105 MVT::i32, 2, 0, 2,
12106 OPC_EmitStringInteger32, PPC::sub_lt,
12107 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12108 MVT::i1, 2, 3, 4,
12109 OPC_EmitInteger32, 0,
12110 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12111 MVT::i32, 1, 6,
12112 OPC_EmitInteger32, 2,
12113 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12114 MVT::i32, 1, 8,
12115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12116 MVT::i32, 3, 5, 7, 9,
12117 47,
12118 OPC_CheckType, MVT::i1,
12119 OPC_MoveParent,
12120 OPC_CheckTypeI64,
12121 OPC_CheckPatternPredicate, 8,
12122 OPC_EmitConvertToTarget1,
12123 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12124 MVT::i32, 2, 0, 2,
12125 OPC_EmitStringInteger32, PPC::sub_lt,
12126 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12127 MVT::i1, 2, 3, 4,
12128 OPC_EmitInteger64, 0,
12129 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12130 MVT::i64, 1, 6,
12131 OPC_EmitInteger64, 2,
12132 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12133 MVT::i64, 1, 8,
12134 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12135 MVT::i64, 3, 5, 7, 9,
12136 0,
12137 101,
12138 OPC_CheckPredicate, 12,
12139 OPC_MoveParent,
12140 OPC_CheckChild2CondCode, ISD::SETGE,
12141 OPC_Scope, 45,
12142 OPC_MoveParent,
12143 OPC_CheckTypeI32,
12144 OPC_CheckPatternPredicate, 8,
12145 OPC_EmitConvertToTarget1,
12146 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12147 MVT::i32, 2, 0, 2,
12148 OPC_EmitStringInteger32, PPC::sub_lt,
12149 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12150 MVT::i1, 2, 3, 4,
12151 OPC_EmitInteger32, 0,
12152 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12153 MVT::i32, 1, 6,
12154 OPC_EmitInteger32, 2,
12155 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12156 MVT::i32, 1, 8,
12157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12158 MVT::i32, 3, 5, 7, 9,
12159 47,
12160 OPC_CheckType, MVT::i1,
12161 OPC_MoveParent,
12162 OPC_CheckTypeI64,
12163 OPC_CheckPatternPredicate, 8,
12164 OPC_EmitConvertToTarget1,
12165 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12166 MVT::i32, 2, 0, 2,
12167 OPC_EmitStringInteger32, PPC::sub_lt,
12168 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12169 MVT::i1, 2, 3, 4,
12170 OPC_EmitInteger64, 0,
12171 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12172 MVT::i64, 1, 6,
12173 OPC_EmitInteger64, 2,
12174 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12175 MVT::i64, 1, 8,
12176 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12177 MVT::i64, 3, 5, 7, 9,
12178 0,
12179 100,
12180 OPC_CheckPredicate0,
12181 OPC_MoveParent,
12182 OPC_CheckChild2CondCode, ISD::SETULE,
12183 OPC_Scope, 45,
12184 OPC_MoveParent,
12185 OPC_CheckTypeI32,
12186 OPC_CheckPatternPredicate, 8,
12187 OPC_EmitConvertToTarget1,
12188 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12189 MVT::i32, 2, 0, 2,
12190 OPC_EmitStringInteger32, PPC::sub_gt,
12191 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12192 MVT::i1, 2, 3, 4,
12193 OPC_EmitInteger32, 0,
12194 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12195 MVT::i32, 1, 6,
12196 OPC_EmitInteger32, 2,
12197 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12198 MVT::i32, 1, 8,
12199 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12200 MVT::i32, 3, 5, 7, 9,
12201 47,
12202 OPC_CheckType, MVT::i1,
12203 OPC_MoveParent,
12204 OPC_CheckTypeI64,
12205 OPC_CheckPatternPredicate, 8,
12206 OPC_EmitConvertToTarget1,
12207 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12208 MVT::i32, 2, 0, 2,
12209 OPC_EmitStringInteger32, PPC::sub_gt,
12210 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12211 MVT::i1, 2, 3, 4,
12212 OPC_EmitInteger64, 0,
12213 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12214 MVT::i64, 1, 6,
12215 OPC_EmitInteger64, 2,
12216 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12217 MVT::i64, 1, 8,
12218 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12219 MVT::i64, 3, 5, 7, 9,
12220 0,
12221 75|128,1,
12222 OPC_CheckPredicate, 12,
12223 OPC_MoveParent,
12224 OPC_Scope, 98,
12225 OPC_CheckChild2CondCode, ISD::SETLE,
12226 OPC_Scope, 45,
12227 OPC_MoveParent,
12228 OPC_CheckTypeI32,
12229 OPC_CheckPatternPredicate, 8,
12230 OPC_EmitConvertToTarget1,
12231 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12232 MVT::i32, 2, 0, 2,
12233 OPC_EmitStringInteger32, PPC::sub_gt,
12234 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12235 MVT::i1, 2, 3, 4,
12236 OPC_EmitInteger32, 0,
12237 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12238 MVT::i32, 1, 6,
12239 OPC_EmitInteger32, 2,
12240 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12241 MVT::i32, 1, 8,
12242 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12243 MVT::i32, 3, 5, 7, 9,
12244 47,
12245 OPC_CheckType, MVT::i1,
12246 OPC_MoveParent,
12247 OPC_CheckTypeI64,
12248 OPC_CheckPatternPredicate, 8,
12249 OPC_EmitConvertToTarget1,
12250 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12251 MVT::i32, 2, 0, 2,
12252 OPC_EmitStringInteger32, PPC::sub_gt,
12253 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12254 MVT::i1, 2, 3, 4,
12255 OPC_EmitInteger64, 0,
12256 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12257 MVT::i64, 1, 6,
12258 OPC_EmitInteger64, 2,
12259 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12260 MVT::i64, 1, 8,
12261 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12262 MVT::i64, 3, 5, 7, 9,
12263 0,
12264 98,
12265 OPC_CheckChild2CondCode, ISD::SETNE,
12266 OPC_Scope, 45,
12267 OPC_MoveParent,
12268 OPC_CheckTypeI32,
12269 OPC_CheckPatternPredicate, 8,
12270 OPC_EmitConvertToTarget1,
12271 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12272 MVT::i32, 2, 0, 2,
12273 OPC_EmitStringInteger32, PPC::sub_eq,
12274 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12275 MVT::i1, 2, 3, 4,
12276 OPC_EmitInteger32, 0,
12277 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12278 MVT::i32, 1, 6,
12279 OPC_EmitInteger32, 2,
12280 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12281 MVT::i32, 1, 8,
12282 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12283 MVT::i32, 3, 5, 7, 9,
12284 47,
12285 OPC_CheckType, MVT::i1,
12286 OPC_MoveParent,
12287 OPC_CheckTypeI64,
12288 OPC_CheckPatternPredicate, 8,
12289 OPC_EmitConvertToTarget1,
12290 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
12291 MVT::i32, 2, 0, 2,
12292 OPC_EmitStringInteger32, PPC::sub_eq,
12293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12294 MVT::i1, 2, 3, 4,
12295 OPC_EmitInteger64, 0,
12296 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12297 MVT::i64, 1, 6,
12298 OPC_EmitInteger64, 2,
12299 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12300 MVT::i64, 1, 8,
12301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12302 MVT::i64, 3, 5, 7, 9,
12303 0,
12304 0,
12305 100,
12306 OPC_CheckPredicate0,
12307 OPC_MoveParent,
12308 OPC_CheckChild2CondCode, ISD::SETNE,
12309 OPC_Scope, 45,
12310 OPC_MoveParent,
12311 OPC_CheckTypeI32,
12312 OPC_CheckPatternPredicate, 8,
12313 OPC_EmitConvertToTarget1,
12314 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12315 MVT::i32, 2, 0, 2,
12316 OPC_EmitStringInteger32, PPC::sub_eq,
12317 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12318 MVT::i1, 2, 3, 4,
12319 OPC_EmitInteger32, 0,
12320 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12321 MVT::i32, 1, 6,
12322 OPC_EmitInteger32, 2,
12323 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12324 MVT::i32, 1, 8,
12325 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12326 MVT::i32, 3, 5, 7, 9,
12327 47,
12328 OPC_CheckType, MVT::i1,
12329 OPC_MoveParent,
12330 OPC_CheckTypeI64,
12331 OPC_CheckPatternPredicate, 8,
12332 OPC_EmitConvertToTarget1,
12333 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12334 MVT::i32, 2, 0, 2,
12335 OPC_EmitStringInteger32, PPC::sub_eq,
12336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12337 MVT::i1, 2, 3, 4,
12338 OPC_EmitInteger64, 0,
12339 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12340 MVT::i64, 1, 6,
12341 OPC_EmitInteger64, 2,
12342 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12343 MVT::i64, 1, 8,
12344 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12345 MVT::i64, 3, 5, 7, 9,
12346 0,
12347 1|128,1,
12348 OPC_CheckPredicate, 22,
12349 OPC_MoveParent,
12350 OPC_CheckChild2CondCode, ISD::SETNE,
12351 OPC_Scope, 59,
12352 OPC_MoveParent,
12353 OPC_CheckTypeI32,
12354 OPC_CheckPatternPredicate, 8,
12355 OPC_EmitConvertToTarget1,
12356 OPC_EmitNodeXForm, 0, 2,
12357 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
12358 MVT::i64, 2, 0, 3,
12359 OPC_EmitConvertToTarget1,
12360 OPC_EmitNodeXForm, 1, 5,
12361 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12362 MVT::i32, 2, 4, 6,
12363 OPC_EmitStringInteger32, PPC::sub_eq,
12364 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12365 MVT::i1, 2, 7, 8,
12366 OPC_EmitInteger32, 0,
12367 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12368 MVT::i32, 1, 10,
12369 OPC_EmitInteger32, 2,
12370 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12371 MVT::i32, 1, 12,
12372 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12373 MVT::i32, 3, 9, 11, 13,
12374 61,
12375 OPC_CheckType, MVT::i1,
12376 OPC_MoveParent,
12377 OPC_CheckTypeI64,
12378 OPC_CheckPatternPredicate, 8,
12379 OPC_EmitConvertToTarget1,
12380 OPC_EmitNodeXForm, 0, 2,
12381 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
12382 MVT::i64, 2, 0, 3,
12383 OPC_EmitConvertToTarget1,
12384 OPC_EmitNodeXForm, 1, 5,
12385 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
12386 MVT::i32, 2, 4, 6,
12387 OPC_EmitStringInteger32, PPC::sub_eq,
12388 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12389 MVT::i1, 2, 7, 8,
12390 OPC_EmitInteger64, 0,
12391 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12392 MVT::i64, 1, 10,
12393 OPC_EmitInteger64, 2,
12394 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12395 MVT::i64, 1, 12,
12396 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12397 MVT::i64, 3, 9, 11, 13,
12398 0,
12399 0,
12400 22|128,1,
12401 OPC_CheckChild2CondCode, ISD::SETUGE,
12402 OPC_Scope, 25,
12403 OPC_MoveParent,
12404 OPC_CheckTypeI32,
12405 OPC_CheckPatternPredicate4,
12406 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12407 MVT::i32, 2, 0, 1,
12408 OPC_EmitStringInteger32, PPC::sub_lt,
12409 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12410 MVT::i1, 2, 2, 3,
12411 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12412 MVT::i32, 1, 4,
12413 27,
12414 OPC_CheckType, MVT::i1,
12415 OPC_MoveParent,
12416 OPC_CheckTypeI64,
12417 OPC_CheckPatternPredicate4,
12418 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12419 MVT::i32, 2, 0, 1,
12420 OPC_EmitStringInteger32, PPC::sub_lt,
12421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12422 MVT::i1, 2, 2, 3,
12423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12424 MVT::i64, 1, 4,
12425 44,
12426 OPC_MoveParent,
12427 OPC_CheckTypeI32,
12428 OPC_CheckPatternPredicate, 8,
12429 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12430 MVT::i32, 2, 0, 1,
12431 OPC_EmitStringInteger32, PPC::sub_lt,
12432 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12433 MVT::i1, 2, 2, 3,
12434 OPC_EmitInteger32, 0,
12435 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12436 MVT::i32, 1, 5,
12437 OPC_EmitInteger32, 2,
12438 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12439 MVT::i32, 1, 7,
12440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12441 MVT::i32, 3, 4, 6, 8,
12442 46,
12443 OPC_CheckType, MVT::i1,
12444 OPC_MoveParent,
12445 OPC_CheckTypeI64,
12446 OPC_CheckPatternPredicate, 8,
12447 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12448 MVT::i32, 2, 0, 1,
12449 OPC_EmitStringInteger32, PPC::sub_lt,
12450 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12451 MVT::i1, 2, 2, 3,
12452 OPC_EmitInteger64, 0,
12453 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12454 MVT::i64, 1, 5,
12455 OPC_EmitInteger64, 2,
12456 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12457 MVT::i64, 1, 7,
12458 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12459 MVT::i64, 3, 4, 6, 8,
12460 0,
12461 22|128,1,
12462 OPC_CheckChild2CondCode, ISD::SETGE,
12463 OPC_Scope, 25,
12464 OPC_MoveParent,
12465 OPC_CheckTypeI32,
12466 OPC_CheckPatternPredicate4,
12467 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12468 MVT::i32, 2, 0, 1,
12469 OPC_EmitStringInteger32, PPC::sub_lt,
12470 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12471 MVT::i1, 2, 2, 3,
12472 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12473 MVT::i32, 1, 4,
12474 27,
12475 OPC_CheckType, MVT::i1,
12476 OPC_MoveParent,
12477 OPC_CheckTypeI64,
12478 OPC_CheckPatternPredicate4,
12479 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12480 MVT::i32, 2, 0, 1,
12481 OPC_EmitStringInteger32, PPC::sub_lt,
12482 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12483 MVT::i1, 2, 2, 3,
12484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12485 MVT::i64, 1, 4,
12486 44,
12487 OPC_MoveParent,
12488 OPC_CheckTypeI32,
12489 OPC_CheckPatternPredicate, 8,
12490 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12491 MVT::i32, 2, 0, 1,
12492 OPC_EmitStringInteger32, PPC::sub_lt,
12493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12494 MVT::i1, 2, 2, 3,
12495 OPC_EmitInteger32, 0,
12496 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12497 MVT::i32, 1, 5,
12498 OPC_EmitInteger32, 2,
12499 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12500 MVT::i32, 1, 7,
12501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12502 MVT::i32, 3, 4, 6, 8,
12503 46,
12504 OPC_CheckType, MVT::i1,
12505 OPC_MoveParent,
12506 OPC_CheckTypeI64,
12507 OPC_CheckPatternPredicate, 8,
12508 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12509 MVT::i32, 2, 0, 1,
12510 OPC_EmitStringInteger32, PPC::sub_lt,
12511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12512 MVT::i1, 2, 2, 3,
12513 OPC_EmitInteger64, 0,
12514 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12515 MVT::i64, 1, 5,
12516 OPC_EmitInteger64, 2,
12517 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12518 MVT::i64, 1, 7,
12519 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12520 MVT::i64, 3, 4, 6, 8,
12521 0,
12522 22|128,1,
12523 OPC_CheckChild2CondCode, ISD::SETULE,
12524 OPC_Scope, 25,
12525 OPC_MoveParent,
12526 OPC_CheckTypeI32,
12527 OPC_CheckPatternPredicate4,
12528 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12529 MVT::i32, 2, 0, 1,
12530 OPC_EmitStringInteger32, PPC::sub_gt,
12531 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12532 MVT::i1, 2, 2, 3,
12533 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12534 MVT::i32, 1, 4,
12535 27,
12536 OPC_CheckType, MVT::i1,
12537 OPC_MoveParent,
12538 OPC_CheckTypeI64,
12539 OPC_CheckPatternPredicate4,
12540 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12541 MVT::i32, 2, 0, 1,
12542 OPC_EmitStringInteger32, PPC::sub_gt,
12543 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12544 MVT::i1, 2, 2, 3,
12545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12546 MVT::i64, 1, 4,
12547 44,
12548 OPC_MoveParent,
12549 OPC_CheckTypeI32,
12550 OPC_CheckPatternPredicate, 8,
12551 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12552 MVT::i32, 2, 0, 1,
12553 OPC_EmitStringInteger32, PPC::sub_gt,
12554 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12555 MVT::i1, 2, 2, 3,
12556 OPC_EmitInteger32, 0,
12557 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12558 MVT::i32, 1, 5,
12559 OPC_EmitInteger32, 2,
12560 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12561 MVT::i32, 1, 7,
12562 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12563 MVT::i32, 3, 4, 6, 8,
12564 46,
12565 OPC_CheckType, MVT::i1,
12566 OPC_MoveParent,
12567 OPC_CheckTypeI64,
12568 OPC_CheckPatternPredicate, 8,
12569 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
12570 MVT::i32, 2, 0, 1,
12571 OPC_EmitStringInteger32, PPC::sub_gt,
12572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12573 MVT::i1, 2, 2, 3,
12574 OPC_EmitInteger64, 0,
12575 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12576 MVT::i64, 1, 5,
12577 OPC_EmitInteger64, 2,
12578 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12579 MVT::i64, 1, 7,
12580 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12581 MVT::i64, 3, 4, 6, 8,
12582 0,
12583 22|128,1,
12584 OPC_CheckChild2CondCode, ISD::SETLE,
12585 OPC_Scope, 25,
12586 OPC_MoveParent,
12587 OPC_CheckTypeI32,
12588 OPC_CheckPatternPredicate4,
12589 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12590 MVT::i32, 2, 0, 1,
12591 OPC_EmitStringInteger32, PPC::sub_gt,
12592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12593 MVT::i1, 2, 2, 3,
12594 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12595 MVT::i32, 1, 4,
12596 27,
12597 OPC_CheckType, MVT::i1,
12598 OPC_MoveParent,
12599 OPC_CheckTypeI64,
12600 OPC_CheckPatternPredicate4,
12601 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12602 MVT::i32, 2, 0, 1,
12603 OPC_EmitStringInteger32, PPC::sub_gt,
12604 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12605 MVT::i1, 2, 2, 3,
12606 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12607 MVT::i64, 1, 4,
12608 44,
12609 OPC_MoveParent,
12610 OPC_CheckTypeI32,
12611 OPC_CheckPatternPredicate, 8,
12612 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12613 MVT::i32, 2, 0, 1,
12614 OPC_EmitStringInteger32, PPC::sub_gt,
12615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12616 MVT::i1, 2, 2, 3,
12617 OPC_EmitInteger32, 0,
12618 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12619 MVT::i32, 1, 5,
12620 OPC_EmitInteger32, 2,
12621 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12622 MVT::i32, 1, 7,
12623 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12624 MVT::i32, 3, 4, 6, 8,
12625 46,
12626 OPC_CheckType, MVT::i1,
12627 OPC_MoveParent,
12628 OPC_CheckTypeI64,
12629 OPC_CheckPatternPredicate, 8,
12630 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12631 MVT::i32, 2, 0, 1,
12632 OPC_EmitStringInteger32, PPC::sub_gt,
12633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12634 MVT::i1, 2, 2, 3,
12635 OPC_EmitInteger64, 0,
12636 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12637 MVT::i64, 1, 5,
12638 OPC_EmitInteger64, 2,
12639 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12640 MVT::i64, 1, 7,
12641 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12642 MVT::i64, 3, 4, 6, 8,
12643 0,
12644 22|128,1,
12645 OPC_CheckChild2CondCode, ISD::SETNE,
12646 OPC_Scope, 25,
12647 OPC_MoveParent,
12648 OPC_CheckTypeI32,
12649 OPC_CheckPatternPredicate4,
12650 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12651 MVT::i32, 2, 0, 1,
12652 OPC_EmitStringInteger32, PPC::sub_eq,
12653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12654 MVT::i1, 2, 2, 3,
12655 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12656 MVT::i32, 1, 4,
12657 27,
12658 OPC_CheckType, MVT::i1,
12659 OPC_MoveParent,
12660 OPC_CheckTypeI64,
12661 OPC_CheckPatternPredicate4,
12662 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12663 MVT::i32, 2, 0, 1,
12664 OPC_EmitStringInteger32, PPC::sub_eq,
12665 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12666 MVT::i1, 2, 2, 3,
12667 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12668 MVT::i64, 1, 4,
12669 44,
12670 OPC_MoveParent,
12671 OPC_CheckTypeI32,
12672 OPC_CheckPatternPredicate, 8,
12673 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12674 MVT::i32, 2, 0, 1,
12675 OPC_EmitStringInteger32, PPC::sub_eq,
12676 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12677 MVT::i1, 2, 2, 3,
12678 OPC_EmitInteger32, 0,
12679 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12680 MVT::i32, 1, 5,
12681 OPC_EmitInteger32, 2,
12682 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12683 MVT::i32, 1, 7,
12684 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12685 MVT::i32, 3, 4, 6, 8,
12686 46,
12687 OPC_CheckType, MVT::i1,
12688 OPC_MoveParent,
12689 OPC_CheckTypeI64,
12690 OPC_CheckPatternPredicate, 8,
12691 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
12692 MVT::i32, 2, 0, 1,
12693 OPC_EmitStringInteger32, PPC::sub_eq,
12694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12695 MVT::i1, 2, 2, 3,
12696 OPC_EmitInteger64, 0,
12697 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12698 MVT::i64, 1, 5,
12699 OPC_EmitInteger64, 2,
12700 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12701 MVT::i64, 1, 7,
12702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12703 MVT::i64, 3, 4, 6, 8,
12704 0,
12705 0,
12706 0,
12707 73|128,12,
12708 OPC_CheckChild0Type, MVT::f32,
12709 OPC_RecordChild1,
12710 OPC_Scope, 112|128,1,
12711 OPC_CheckChild2CondCode, ISD::SETUGE,
12712 OPC_Scope, 26,
12713 OPC_MoveParent,
12714 OPC_CheckTypeI32,
12715 OPC_CheckPatternPredicate, 10,
12716 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12717 MVT::i32, 2, 0, 1,
12718 OPC_EmitStringInteger32, PPC::sub_lt,
12719 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12720 MVT::i1, 2, 2, 3,
12721 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12722 MVT::i32, 1, 4,
12723 28,
12724 OPC_CheckType, MVT::i1,
12725 OPC_MoveParent,
12726 OPC_CheckTypeI64,
12727 OPC_CheckPatternPredicate, 10,
12728 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12729 MVT::i32, 2, 0, 1,
12730 OPC_EmitStringInteger32, PPC::sub_lt,
12731 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12732 MVT::i1, 2, 2, 3,
12733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12734 MVT::i64, 1, 4,
12735 43,
12736 OPC_MoveParent,
12737 OPC_CheckTypeI32,
12738 OPC_CheckPatternPredicate0,
12739 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12740 MVT::i32, 2, 0, 1,
12741 OPC_EmitStringInteger32, PPC::sub_lt,
12742 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12743 MVT::i1, 2, 2, 3,
12744 OPC_EmitInteger32, 0,
12745 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12746 MVT::i32, 1, 5,
12747 OPC_EmitInteger32, 2,
12748 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12749 MVT::i32, 1, 7,
12750 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12751 MVT::i32, 3, 4, 6, 8,
12752 45,
12753 OPC_CheckType, MVT::i1,
12754 OPC_MoveParent,
12755 OPC_CheckTypeI64,
12756 OPC_CheckPatternPredicate0,
12757 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12758 MVT::i32, 2, 0, 1,
12759 OPC_EmitStringInteger32, PPC::sub_lt,
12760 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12761 MVT::i1, 2, 2, 3,
12762 OPC_EmitInteger64, 0,
12763 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12764 MVT::i64, 1, 5,
12765 OPC_EmitInteger64, 2,
12766 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12767 MVT::i64, 1, 7,
12768 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12769 MVT::i64, 3, 4, 6, 8,
12770 43,
12771 OPC_MoveParent,
12772 OPC_CheckTypeI32,
12773 OPC_CheckPatternPredicate5,
12774 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
12775 MVT::i32, 2, 0, 1,
12776 OPC_EmitStringInteger32, PPC::sub_gt,
12777 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12778 MVT::i1, 2, 2, 3,
12779 OPC_EmitInteger32, 0,
12780 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12781 MVT::i32, 1, 5,
12782 OPC_EmitInteger32, 2,
12783 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12784 MVT::i32, 1, 7,
12785 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12786 MVT::i32, 3, 4, 6, 8,
12787 45,
12788 OPC_CheckType, MVT::i1,
12789 OPC_MoveParent,
12790 OPC_CheckTypeI64,
12791 OPC_CheckPatternPredicate5,
12792 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
12793 MVT::i32, 2, 0, 1,
12794 OPC_EmitStringInteger32, PPC::sub_gt,
12795 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12796 MVT::i1, 2, 2, 3,
12797 OPC_EmitInteger64, 0,
12798 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12799 MVT::i64, 1, 5,
12800 OPC_EmitInteger64, 2,
12801 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12802 MVT::i64, 1, 7,
12803 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12804 MVT::i64, 3, 4, 6, 8,
12805 0,
12806 112|128,1,
12807 OPC_CheckChild2CondCode, ISD::SETGE,
12808 OPC_Scope, 26,
12809 OPC_MoveParent,
12810 OPC_CheckTypeI32,
12811 OPC_CheckPatternPredicate, 10,
12812 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12813 MVT::i32, 2, 0, 1,
12814 OPC_EmitStringInteger32, PPC::sub_lt,
12815 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12816 MVT::i1, 2, 2, 3,
12817 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12818 MVT::i32, 1, 4,
12819 28,
12820 OPC_CheckType, MVT::i1,
12821 OPC_MoveParent,
12822 OPC_CheckTypeI64,
12823 OPC_CheckPatternPredicate, 10,
12824 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12825 MVT::i32, 2, 0, 1,
12826 OPC_EmitStringInteger32, PPC::sub_lt,
12827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12828 MVT::i1, 2, 2, 3,
12829 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12830 MVT::i64, 1, 4,
12831 43,
12832 OPC_MoveParent,
12833 OPC_CheckTypeI32,
12834 OPC_CheckPatternPredicate0,
12835 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12836 MVT::i32, 2, 0, 1,
12837 OPC_EmitStringInteger32, PPC::sub_lt,
12838 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12839 MVT::i1, 2, 2, 3,
12840 OPC_EmitInteger32, 0,
12841 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12842 MVT::i32, 1, 5,
12843 OPC_EmitInteger32, 2,
12844 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12845 MVT::i32, 1, 7,
12846 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12847 MVT::i32, 3, 4, 6, 8,
12848 45,
12849 OPC_CheckType, MVT::i1,
12850 OPC_MoveParent,
12851 OPC_CheckTypeI64,
12852 OPC_CheckPatternPredicate0,
12853 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12854 MVT::i32, 2, 0, 1,
12855 OPC_EmitStringInteger32, PPC::sub_lt,
12856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12857 MVT::i1, 2, 2, 3,
12858 OPC_EmitInteger64, 0,
12859 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12860 MVT::i64, 1, 5,
12861 OPC_EmitInteger64, 2,
12862 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12863 MVT::i64, 1, 7,
12864 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12865 MVT::i64, 3, 4, 6, 8,
12866 43,
12867 OPC_MoveParent,
12868 OPC_CheckTypeI32,
12869 OPC_CheckPatternPredicate5,
12870 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
12871 MVT::i32, 2, 0, 1,
12872 OPC_EmitStringInteger32, PPC::sub_gt,
12873 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12874 MVT::i1, 2, 2, 3,
12875 OPC_EmitInteger32, 0,
12876 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12877 MVT::i32, 1, 5,
12878 OPC_EmitInteger32, 2,
12879 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12880 MVT::i32, 1, 7,
12881 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12882 MVT::i32, 3, 4, 6, 8,
12883 45,
12884 OPC_CheckType, MVT::i1,
12885 OPC_MoveParent,
12886 OPC_CheckTypeI64,
12887 OPC_CheckPatternPredicate5,
12888 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
12889 MVT::i32, 2, 0, 1,
12890 OPC_EmitStringInteger32, PPC::sub_gt,
12891 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12892 MVT::i1, 2, 2, 3,
12893 OPC_EmitInteger64, 0,
12894 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12895 MVT::i64, 1, 5,
12896 OPC_EmitInteger64, 2,
12897 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12898 MVT::i64, 1, 7,
12899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12900 MVT::i64, 3, 4, 6, 8,
12901 0,
12902 112|128,1,
12903 OPC_CheckChild2CondCode, ISD::SETULE,
12904 OPC_Scope, 26,
12905 OPC_MoveParent,
12906 OPC_CheckTypeI32,
12907 OPC_CheckPatternPredicate, 10,
12908 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12909 MVT::i32, 2, 0, 1,
12910 OPC_EmitStringInteger32, PPC::sub_gt,
12911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12912 MVT::i1, 2, 2, 3,
12913 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
12914 MVT::i32, 1, 4,
12915 28,
12916 OPC_CheckType, MVT::i1,
12917 OPC_MoveParent,
12918 OPC_CheckTypeI64,
12919 OPC_CheckPatternPredicate, 10,
12920 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12921 MVT::i32, 2, 0, 1,
12922 OPC_EmitStringInteger32, PPC::sub_gt,
12923 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12924 MVT::i1, 2, 2, 3,
12925 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
12926 MVT::i64, 1, 4,
12927 43,
12928 OPC_MoveParent,
12929 OPC_CheckTypeI32,
12930 OPC_CheckPatternPredicate0,
12931 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12932 MVT::i32, 2, 0, 1,
12933 OPC_EmitStringInteger32, PPC::sub_gt,
12934 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12935 MVT::i1, 2, 2, 3,
12936 OPC_EmitInteger32, 0,
12937 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12938 MVT::i32, 1, 5,
12939 OPC_EmitInteger32, 2,
12940 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12941 MVT::i32, 1, 7,
12942 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12943 MVT::i32, 3, 4, 6, 8,
12944 45,
12945 OPC_CheckType, MVT::i1,
12946 OPC_MoveParent,
12947 OPC_CheckTypeI64,
12948 OPC_CheckPatternPredicate0,
12949 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
12950 MVT::i32, 2, 0, 1,
12951 OPC_EmitStringInteger32, PPC::sub_gt,
12952 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12953 MVT::i1, 2, 2, 3,
12954 OPC_EmitInteger64, 0,
12955 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12956 MVT::i64, 1, 5,
12957 OPC_EmitInteger64, 2,
12958 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12959 MVT::i64, 1, 7,
12960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12961 MVT::i64, 3, 4, 6, 8,
12962 43,
12963 OPC_MoveParent,
12964 OPC_CheckTypeI32,
12965 OPC_CheckPatternPredicate5,
12966 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
12967 MVT::i32, 2, 0, 1,
12968 OPC_EmitStringInteger32, PPC::sub_gt,
12969 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12970 MVT::i1, 2, 2, 3,
12971 OPC_EmitInteger32, 0,
12972 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12973 MVT::i32, 1, 5,
12974 OPC_EmitInteger32, 2,
12975 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
12976 MVT::i32, 1, 7,
12977 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
12978 MVT::i32, 3, 4, 6, 8,
12979 45,
12980 OPC_CheckType, MVT::i1,
12981 OPC_MoveParent,
12982 OPC_CheckTypeI64,
12983 OPC_CheckPatternPredicate5,
12984 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
12985 MVT::i32, 2, 0, 1,
12986 OPC_EmitStringInteger32, PPC::sub_gt,
12987 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
12988 MVT::i1, 2, 2, 3,
12989 OPC_EmitInteger64, 0,
12990 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12991 MVT::i64, 1, 5,
12992 OPC_EmitInteger64, 2,
12993 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
12994 MVT::i64, 1, 7,
12995 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
12996 MVT::i64, 3, 4, 6, 8,
12997 0,
12998 112|128,1,
12999 OPC_CheckChild2CondCode, ISD::SETLE,
13000 OPC_Scope, 26,
13001 OPC_MoveParent,
13002 OPC_CheckTypeI32,
13003 OPC_CheckPatternPredicate, 10,
13004 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13005 MVT::i32, 2, 0, 1,
13006 OPC_EmitStringInteger32, PPC::sub_gt,
13007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13008 MVT::i1, 2, 2, 3,
13009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13010 MVT::i32, 1, 4,
13011 28,
13012 OPC_CheckType, MVT::i1,
13013 OPC_MoveParent,
13014 OPC_CheckTypeI64,
13015 OPC_CheckPatternPredicate, 10,
13016 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13017 MVT::i32, 2, 0, 1,
13018 OPC_EmitStringInteger32, PPC::sub_gt,
13019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13020 MVT::i1, 2, 2, 3,
13021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13022 MVT::i64, 1, 4,
13023 43,
13024 OPC_MoveParent,
13025 OPC_CheckTypeI32,
13026 OPC_CheckPatternPredicate0,
13027 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13028 MVT::i32, 2, 0, 1,
13029 OPC_EmitStringInteger32, PPC::sub_gt,
13030 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13031 MVT::i1, 2, 2, 3,
13032 OPC_EmitInteger32, 0,
13033 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13034 MVT::i32, 1, 5,
13035 OPC_EmitInteger32, 2,
13036 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13037 MVT::i32, 1, 7,
13038 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13039 MVT::i32, 3, 4, 6, 8,
13040 45,
13041 OPC_CheckType, MVT::i1,
13042 OPC_MoveParent,
13043 OPC_CheckTypeI64,
13044 OPC_CheckPatternPredicate0,
13045 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13046 MVT::i32, 2, 0, 1,
13047 OPC_EmitStringInteger32, PPC::sub_gt,
13048 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13049 MVT::i1, 2, 2, 3,
13050 OPC_EmitInteger64, 0,
13051 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13052 MVT::i64, 1, 5,
13053 OPC_EmitInteger64, 2,
13054 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13055 MVT::i64, 1, 7,
13056 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13057 MVT::i64, 3, 4, 6, 8,
13058 43,
13059 OPC_MoveParent,
13060 OPC_CheckTypeI32,
13061 OPC_CheckPatternPredicate5,
13062 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
13063 MVT::i32, 2, 0, 1,
13064 OPC_EmitStringInteger32, PPC::sub_gt,
13065 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13066 MVT::i1, 2, 2, 3,
13067 OPC_EmitInteger32, 0,
13068 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13069 MVT::i32, 1, 5,
13070 OPC_EmitInteger32, 2,
13071 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13072 MVT::i32, 1, 7,
13073 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13074 MVT::i32, 3, 4, 6, 8,
13075 45,
13076 OPC_CheckType, MVT::i1,
13077 OPC_MoveParent,
13078 OPC_CheckTypeI64,
13079 OPC_CheckPatternPredicate5,
13080 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
13081 MVT::i32, 2, 0, 1,
13082 OPC_EmitStringInteger32, PPC::sub_gt,
13083 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13084 MVT::i1, 2, 2, 3,
13085 OPC_EmitInteger64, 0,
13086 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13087 MVT::i64, 1, 5,
13088 OPC_EmitInteger64, 2,
13089 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13090 MVT::i64, 1, 7,
13091 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13092 MVT::i64, 3, 4, 6, 8,
13093 0,
13094 112|128,1,
13095 OPC_CheckChild2CondCode, ISD::SETUNE,
13096 OPC_Scope, 26,
13097 OPC_MoveParent,
13098 OPC_CheckTypeI32,
13099 OPC_CheckPatternPredicate, 10,
13100 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13101 MVT::i32, 2, 0, 1,
13102 OPC_EmitStringInteger32, PPC::sub_eq,
13103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13104 MVT::i1, 2, 2, 3,
13105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13106 MVT::i32, 1, 4,
13107 28,
13108 OPC_CheckType, MVT::i1,
13109 OPC_MoveParent,
13110 OPC_CheckTypeI64,
13111 OPC_CheckPatternPredicate, 10,
13112 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13113 MVT::i32, 2, 0, 1,
13114 OPC_EmitStringInteger32, PPC::sub_eq,
13115 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13116 MVT::i1, 2, 2, 3,
13117 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13118 MVT::i64, 1, 4,
13119 43,
13120 OPC_MoveParent,
13121 OPC_CheckTypeI32,
13122 OPC_CheckPatternPredicate0,
13123 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13124 MVT::i32, 2, 0, 1,
13125 OPC_EmitStringInteger32, PPC::sub_eq,
13126 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13127 MVT::i1, 2, 2, 3,
13128 OPC_EmitInteger32, 0,
13129 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13130 MVT::i32, 1, 5,
13131 OPC_EmitInteger32, 2,
13132 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13133 MVT::i32, 1, 7,
13134 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13135 MVT::i32, 3, 4, 6, 8,
13136 45,
13137 OPC_CheckType, MVT::i1,
13138 OPC_MoveParent,
13139 OPC_CheckTypeI64,
13140 OPC_CheckPatternPredicate0,
13141 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13142 MVT::i32, 2, 0, 1,
13143 OPC_EmitStringInteger32, PPC::sub_eq,
13144 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13145 MVT::i1, 2, 2, 3,
13146 OPC_EmitInteger64, 0,
13147 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13148 MVT::i64, 1, 5,
13149 OPC_EmitInteger64, 2,
13150 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13151 MVT::i64, 1, 7,
13152 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13153 MVT::i64, 3, 4, 6, 8,
13154 43,
13155 OPC_MoveParent,
13156 OPC_CheckTypeI32,
13157 OPC_CheckPatternPredicate5,
13158 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
13159 MVT::i32, 2, 0, 1,
13160 OPC_EmitStringInteger32, PPC::sub_gt,
13161 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13162 MVT::i1, 2, 2, 3,
13163 OPC_EmitInteger32, 0,
13164 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13165 MVT::i32, 1, 5,
13166 OPC_EmitInteger32, 2,
13167 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13168 MVT::i32, 1, 7,
13169 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13170 MVT::i32, 3, 4, 6, 8,
13171 45,
13172 OPC_CheckType, MVT::i1,
13173 OPC_MoveParent,
13174 OPC_CheckTypeI64,
13175 OPC_CheckPatternPredicate5,
13176 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
13177 MVT::i32, 2, 0, 1,
13178 OPC_EmitStringInteger32, PPC::sub_gt,
13179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13180 MVT::i1, 2, 2, 3,
13181 OPC_EmitInteger64, 0,
13182 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13183 MVT::i64, 1, 5,
13184 OPC_EmitInteger64, 2,
13185 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13186 MVT::i64, 1, 7,
13187 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13188 MVT::i64, 3, 4, 6, 8,
13189 0,
13190 112|128,1,
13191 OPC_CheckChild2CondCode, ISD::SETNE,
13192 OPC_Scope, 26,
13193 OPC_MoveParent,
13194 OPC_CheckTypeI32,
13195 OPC_CheckPatternPredicate, 10,
13196 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13197 MVT::i32, 2, 0, 1,
13198 OPC_EmitStringInteger32, PPC::sub_eq,
13199 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13200 MVT::i1, 2, 2, 3,
13201 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13202 MVT::i32, 1, 4,
13203 28,
13204 OPC_CheckType, MVT::i1,
13205 OPC_MoveParent,
13206 OPC_CheckTypeI64,
13207 OPC_CheckPatternPredicate, 10,
13208 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13209 MVT::i32, 2, 0, 1,
13210 OPC_EmitStringInteger32, PPC::sub_eq,
13211 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13212 MVT::i1, 2, 2, 3,
13213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13214 MVT::i64, 1, 4,
13215 43,
13216 OPC_MoveParent,
13217 OPC_CheckTypeI32,
13218 OPC_CheckPatternPredicate0,
13219 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13220 MVT::i32, 2, 0, 1,
13221 OPC_EmitStringInteger32, PPC::sub_eq,
13222 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13223 MVT::i1, 2, 2, 3,
13224 OPC_EmitInteger32, 0,
13225 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13226 MVT::i32, 1, 5,
13227 OPC_EmitInteger32, 2,
13228 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13229 MVT::i32, 1, 7,
13230 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13231 MVT::i32, 3, 4, 6, 8,
13232 45,
13233 OPC_CheckType, MVT::i1,
13234 OPC_MoveParent,
13235 OPC_CheckTypeI64,
13236 OPC_CheckPatternPredicate0,
13237 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13238 MVT::i32, 2, 0, 1,
13239 OPC_EmitStringInteger32, PPC::sub_eq,
13240 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13241 MVT::i1, 2, 2, 3,
13242 OPC_EmitInteger64, 0,
13243 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13244 MVT::i64, 1, 5,
13245 OPC_EmitInteger64, 2,
13246 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13247 MVT::i64, 1, 7,
13248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13249 MVT::i64, 3, 4, 6, 8,
13250 43,
13251 OPC_MoveParent,
13252 OPC_CheckTypeI32,
13253 OPC_CheckPatternPredicate5,
13254 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
13255 MVT::i32, 2, 0, 1,
13256 OPC_EmitStringInteger32, PPC::sub_gt,
13257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13258 MVT::i1, 2, 2, 3,
13259 OPC_EmitInteger32, 0,
13260 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13261 MVT::i32, 1, 5,
13262 OPC_EmitInteger32, 2,
13263 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13264 MVT::i32, 1, 7,
13265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13266 MVT::i32, 3, 4, 6, 8,
13267 45,
13268 OPC_CheckType, MVT::i1,
13269 OPC_MoveParent,
13270 OPC_CheckTypeI64,
13271 OPC_CheckPatternPredicate5,
13272 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
13273 MVT::i32, 2, 0, 1,
13274 OPC_EmitStringInteger32, PPC::sub_gt,
13275 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13276 MVT::i1, 2, 2, 3,
13277 OPC_EmitInteger64, 0,
13278 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13279 MVT::i64, 1, 5,
13280 OPC_EmitInteger64, 2,
13281 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13282 MVT::i64, 1, 7,
13283 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13284 MVT::i64, 3, 4, 6, 8,
13285 0,
13286 22|128,1,
13287 OPC_CheckChild2CondCode, ISD::SETO,
13288 OPC_Scope, 26,
13289 OPC_MoveParent,
13290 OPC_CheckTypeI32,
13291 OPC_CheckPatternPredicate, 10,
13292 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13293 MVT::i32, 2, 0, 1,
13294 OPC_EmitStringInteger32, PPC::sub_un,
13295 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13296 MVT::i1, 2, 2, 3,
13297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13298 MVT::i32, 1, 4,
13299 28,
13300 OPC_CheckType, MVT::i1,
13301 OPC_MoveParent,
13302 OPC_CheckTypeI64,
13303 OPC_CheckPatternPredicate, 10,
13304 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13305 MVT::i32, 2, 0, 1,
13306 OPC_EmitStringInteger32, PPC::sub_un,
13307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13308 MVT::i1, 2, 2, 3,
13309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13310 MVT::i64, 1, 4,
13311 43,
13312 OPC_MoveParent,
13313 OPC_CheckTypeI32,
13314 OPC_CheckPatternPredicate0,
13315 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13316 MVT::i32, 2, 0, 1,
13317 OPC_EmitStringInteger32, PPC::sub_un,
13318 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13319 MVT::i1, 2, 2, 3,
13320 OPC_EmitInteger32, 0,
13321 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13322 MVT::i32, 1, 5,
13323 OPC_EmitInteger32, 2,
13324 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13325 MVT::i32, 1, 7,
13326 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13327 MVT::i32, 3, 4, 6, 8,
13328 45,
13329 OPC_CheckType, MVT::i1,
13330 OPC_MoveParent,
13331 OPC_CheckTypeI64,
13332 OPC_CheckPatternPredicate0,
13333 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
13334 MVT::i32, 2, 0, 1,
13335 OPC_EmitStringInteger32, PPC::sub_un,
13336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13337 MVT::i1, 2, 2, 3,
13338 OPC_EmitInteger64, 0,
13339 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13340 MVT::i64, 1, 5,
13341 OPC_EmitInteger64, 2,
13342 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13343 MVT::i64, 1, 7,
13344 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13345 MVT::i64, 3, 4, 6, 8,
13346 0,
13347 0,
13348 73|128,12,
13349 OPC_CheckChild0Type, MVT::f64,
13350 OPC_RecordChild1,
13351 OPC_Scope, 112|128,1,
13352 OPC_CheckChild2CondCode, ISD::SETUGE,
13353 OPC_Scope, 26,
13354 OPC_MoveParent,
13355 OPC_CheckTypeI32,
13356 OPC_CheckPatternPredicate, 10,
13357 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13358 MVT::i32, 2, 0, 1,
13359 OPC_EmitStringInteger32, PPC::sub_lt,
13360 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13361 MVT::i1, 2, 2, 3,
13362 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13363 MVT::i32, 1, 4,
13364 28,
13365 OPC_CheckType, MVT::i1,
13366 OPC_MoveParent,
13367 OPC_CheckTypeI64,
13368 OPC_CheckPatternPredicate, 10,
13369 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13370 MVT::i32, 2, 0, 1,
13371 OPC_EmitStringInteger32, PPC::sub_lt,
13372 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13373 MVT::i1, 2, 2, 3,
13374 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13375 MVT::i64, 1, 4,
13376 43,
13377 OPC_MoveParent,
13378 OPC_CheckTypeI32,
13379 OPC_CheckPatternPredicate0,
13380 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13381 MVT::i32, 2, 0, 1,
13382 OPC_EmitStringInteger32, PPC::sub_lt,
13383 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13384 MVT::i1, 2, 2, 3,
13385 OPC_EmitInteger32, 0,
13386 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13387 MVT::i32, 1, 5,
13388 OPC_EmitInteger32, 2,
13389 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13390 MVT::i32, 1, 7,
13391 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13392 MVT::i32, 3, 4, 6, 8,
13393 45,
13394 OPC_CheckType, MVT::i1,
13395 OPC_MoveParent,
13396 OPC_CheckTypeI64,
13397 OPC_CheckPatternPredicate0,
13398 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13399 MVT::i32, 2, 0, 1,
13400 OPC_EmitStringInteger32, PPC::sub_lt,
13401 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13402 MVT::i1, 2, 2, 3,
13403 OPC_EmitInteger64, 0,
13404 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13405 MVT::i64, 1, 5,
13406 OPC_EmitInteger64, 2,
13407 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13408 MVT::i64, 1, 7,
13409 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13410 MVT::i64, 3, 4, 6, 8,
13411 43,
13412 OPC_MoveParent,
13413 OPC_CheckTypeI32,
13414 OPC_CheckPatternPredicate5,
13415 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
13416 MVT::i32, 2, 0, 1,
13417 OPC_EmitStringInteger32, PPC::sub_gt,
13418 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13419 MVT::i1, 2, 2, 3,
13420 OPC_EmitInteger32, 0,
13421 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13422 MVT::i32, 1, 5,
13423 OPC_EmitInteger32, 2,
13424 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13425 MVT::i32, 1, 7,
13426 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13427 MVT::i32, 3, 4, 6, 8,
13428 45,
13429 OPC_CheckType, MVT::i1,
13430 OPC_MoveParent,
13431 OPC_CheckTypeI64,
13432 OPC_CheckPatternPredicate5,
13433 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
13434 MVT::i32, 2, 0, 1,
13435 OPC_EmitStringInteger32, PPC::sub_gt,
13436 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13437 MVT::i1, 2, 2, 3,
13438 OPC_EmitInteger64, 0,
13439 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13440 MVT::i64, 1, 5,
13441 OPC_EmitInteger64, 2,
13442 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13443 MVT::i64, 1, 7,
13444 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13445 MVT::i64, 3, 4, 6, 8,
13446 0,
13447 112|128,1,
13448 OPC_CheckChild2CondCode, ISD::SETGE,
13449 OPC_Scope, 26,
13450 OPC_MoveParent,
13451 OPC_CheckTypeI32,
13452 OPC_CheckPatternPredicate, 10,
13453 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13454 MVT::i32, 2, 0, 1,
13455 OPC_EmitStringInteger32, PPC::sub_lt,
13456 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13457 MVT::i1, 2, 2, 3,
13458 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13459 MVT::i32, 1, 4,
13460 28,
13461 OPC_CheckType, MVT::i1,
13462 OPC_MoveParent,
13463 OPC_CheckTypeI64,
13464 OPC_CheckPatternPredicate, 10,
13465 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13466 MVT::i32, 2, 0, 1,
13467 OPC_EmitStringInteger32, PPC::sub_lt,
13468 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13469 MVT::i1, 2, 2, 3,
13470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13471 MVT::i64, 1, 4,
13472 43,
13473 OPC_MoveParent,
13474 OPC_CheckTypeI32,
13475 OPC_CheckPatternPredicate0,
13476 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13477 MVT::i32, 2, 0, 1,
13478 OPC_EmitStringInteger32, PPC::sub_lt,
13479 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13480 MVT::i1, 2, 2, 3,
13481 OPC_EmitInteger32, 0,
13482 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13483 MVT::i32, 1, 5,
13484 OPC_EmitInteger32, 2,
13485 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13486 MVT::i32, 1, 7,
13487 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13488 MVT::i32, 3, 4, 6, 8,
13489 45,
13490 OPC_CheckType, MVT::i1,
13491 OPC_MoveParent,
13492 OPC_CheckTypeI64,
13493 OPC_CheckPatternPredicate0,
13494 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13495 MVT::i32, 2, 0, 1,
13496 OPC_EmitStringInteger32, PPC::sub_lt,
13497 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13498 MVT::i1, 2, 2, 3,
13499 OPC_EmitInteger64, 0,
13500 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13501 MVT::i64, 1, 5,
13502 OPC_EmitInteger64, 2,
13503 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13504 MVT::i64, 1, 7,
13505 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13506 MVT::i64, 3, 4, 6, 8,
13507 43,
13508 OPC_MoveParent,
13509 OPC_CheckTypeI32,
13510 OPC_CheckPatternPredicate5,
13511 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
13512 MVT::i32, 2, 0, 1,
13513 OPC_EmitStringInteger32, PPC::sub_gt,
13514 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13515 MVT::i1, 2, 2, 3,
13516 OPC_EmitInteger32, 0,
13517 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13518 MVT::i32, 1, 5,
13519 OPC_EmitInteger32, 2,
13520 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13521 MVT::i32, 1, 7,
13522 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13523 MVT::i32, 3, 4, 6, 8,
13524 45,
13525 OPC_CheckType, MVT::i1,
13526 OPC_MoveParent,
13527 OPC_CheckTypeI64,
13528 OPC_CheckPatternPredicate5,
13529 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
13530 MVT::i32, 2, 0, 1,
13531 OPC_EmitStringInteger32, PPC::sub_gt,
13532 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13533 MVT::i1, 2, 2, 3,
13534 OPC_EmitInteger64, 0,
13535 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13536 MVT::i64, 1, 5,
13537 OPC_EmitInteger64, 2,
13538 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13539 MVT::i64, 1, 7,
13540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13541 MVT::i64, 3, 4, 6, 8,
13542 0,
13543 112|128,1,
13544 OPC_CheckChild2CondCode, ISD::SETULE,
13545 OPC_Scope, 26,
13546 OPC_MoveParent,
13547 OPC_CheckTypeI32,
13548 OPC_CheckPatternPredicate, 10,
13549 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13550 MVT::i32, 2, 0, 1,
13551 OPC_EmitStringInteger32, PPC::sub_gt,
13552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13553 MVT::i1, 2, 2, 3,
13554 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13555 MVT::i32, 1, 4,
13556 28,
13557 OPC_CheckType, MVT::i1,
13558 OPC_MoveParent,
13559 OPC_CheckTypeI64,
13560 OPC_CheckPatternPredicate, 10,
13561 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13562 MVT::i32, 2, 0, 1,
13563 OPC_EmitStringInteger32, PPC::sub_gt,
13564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13565 MVT::i1, 2, 2, 3,
13566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13567 MVT::i64, 1, 4,
13568 43,
13569 OPC_MoveParent,
13570 OPC_CheckTypeI32,
13571 OPC_CheckPatternPredicate0,
13572 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13573 MVT::i32, 2, 0, 1,
13574 OPC_EmitStringInteger32, PPC::sub_gt,
13575 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13576 MVT::i1, 2, 2, 3,
13577 OPC_EmitInteger32, 0,
13578 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13579 MVT::i32, 1, 5,
13580 OPC_EmitInteger32, 2,
13581 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13582 MVT::i32, 1, 7,
13583 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13584 MVT::i32, 3, 4, 6, 8,
13585 45,
13586 OPC_CheckType, MVT::i1,
13587 OPC_MoveParent,
13588 OPC_CheckTypeI64,
13589 OPC_CheckPatternPredicate0,
13590 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13591 MVT::i32, 2, 0, 1,
13592 OPC_EmitStringInteger32, PPC::sub_gt,
13593 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13594 MVT::i1, 2, 2, 3,
13595 OPC_EmitInteger64, 0,
13596 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13597 MVT::i64, 1, 5,
13598 OPC_EmitInteger64, 2,
13599 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13600 MVT::i64, 1, 7,
13601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13602 MVT::i64, 3, 4, 6, 8,
13603 43,
13604 OPC_MoveParent,
13605 OPC_CheckTypeI32,
13606 OPC_CheckPatternPredicate5,
13607 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
13608 MVT::i32, 2, 0, 1,
13609 OPC_EmitStringInteger32, PPC::sub_gt,
13610 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13611 MVT::i1, 2, 2, 3,
13612 OPC_EmitInteger32, 0,
13613 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13614 MVT::i32, 1, 5,
13615 OPC_EmitInteger32, 2,
13616 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13617 MVT::i32, 1, 7,
13618 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13619 MVT::i32, 3, 4, 6, 8,
13620 45,
13621 OPC_CheckType, MVT::i1,
13622 OPC_MoveParent,
13623 OPC_CheckTypeI64,
13624 OPC_CheckPatternPredicate5,
13625 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
13626 MVT::i32, 2, 0, 1,
13627 OPC_EmitStringInteger32, PPC::sub_gt,
13628 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13629 MVT::i1, 2, 2, 3,
13630 OPC_EmitInteger64, 0,
13631 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13632 MVT::i64, 1, 5,
13633 OPC_EmitInteger64, 2,
13634 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13635 MVT::i64, 1, 7,
13636 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13637 MVT::i64, 3, 4, 6, 8,
13638 0,
13639 112|128,1,
13640 OPC_CheckChild2CondCode, ISD::SETLE,
13641 OPC_Scope, 26,
13642 OPC_MoveParent,
13643 OPC_CheckTypeI32,
13644 OPC_CheckPatternPredicate, 10,
13645 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13646 MVT::i32, 2, 0, 1,
13647 OPC_EmitStringInteger32, PPC::sub_gt,
13648 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13649 MVT::i1, 2, 2, 3,
13650 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13651 MVT::i32, 1, 4,
13652 28,
13653 OPC_CheckType, MVT::i1,
13654 OPC_MoveParent,
13655 OPC_CheckTypeI64,
13656 OPC_CheckPatternPredicate, 10,
13657 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13658 MVT::i32, 2, 0, 1,
13659 OPC_EmitStringInteger32, PPC::sub_gt,
13660 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13661 MVT::i1, 2, 2, 3,
13662 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13663 MVT::i64, 1, 4,
13664 43,
13665 OPC_MoveParent,
13666 OPC_CheckTypeI32,
13667 OPC_CheckPatternPredicate0,
13668 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13669 MVT::i32, 2, 0, 1,
13670 OPC_EmitStringInteger32, PPC::sub_gt,
13671 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13672 MVT::i1, 2, 2, 3,
13673 OPC_EmitInteger32, 0,
13674 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13675 MVT::i32, 1, 5,
13676 OPC_EmitInteger32, 2,
13677 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13678 MVT::i32, 1, 7,
13679 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13680 MVT::i32, 3, 4, 6, 8,
13681 45,
13682 OPC_CheckType, MVT::i1,
13683 OPC_MoveParent,
13684 OPC_CheckTypeI64,
13685 OPC_CheckPatternPredicate0,
13686 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13687 MVT::i32, 2, 0, 1,
13688 OPC_EmitStringInteger32, PPC::sub_gt,
13689 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13690 MVT::i1, 2, 2, 3,
13691 OPC_EmitInteger64, 0,
13692 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13693 MVT::i64, 1, 5,
13694 OPC_EmitInteger64, 2,
13695 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13696 MVT::i64, 1, 7,
13697 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13698 MVT::i64, 3, 4, 6, 8,
13699 43,
13700 OPC_MoveParent,
13701 OPC_CheckTypeI32,
13702 OPC_CheckPatternPredicate5,
13703 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
13704 MVT::i32, 2, 0, 1,
13705 OPC_EmitStringInteger32, PPC::sub_gt,
13706 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13707 MVT::i1, 2, 2, 3,
13708 OPC_EmitInteger32, 0,
13709 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13710 MVT::i32, 1, 5,
13711 OPC_EmitInteger32, 2,
13712 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13713 MVT::i32, 1, 7,
13714 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13715 MVT::i32, 3, 4, 6, 8,
13716 45,
13717 OPC_CheckType, MVT::i1,
13718 OPC_MoveParent,
13719 OPC_CheckTypeI64,
13720 OPC_CheckPatternPredicate5,
13721 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
13722 MVT::i32, 2, 0, 1,
13723 OPC_EmitStringInteger32, PPC::sub_gt,
13724 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13725 MVT::i1, 2, 2, 3,
13726 OPC_EmitInteger64, 0,
13727 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13728 MVT::i64, 1, 5,
13729 OPC_EmitInteger64, 2,
13730 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13731 MVT::i64, 1, 7,
13732 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13733 MVT::i64, 3, 4, 6, 8,
13734 0,
13735 112|128,1,
13736 OPC_CheckChild2CondCode, ISD::SETUNE,
13737 OPC_Scope, 26,
13738 OPC_MoveParent,
13739 OPC_CheckTypeI32,
13740 OPC_CheckPatternPredicate, 10,
13741 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13742 MVT::i32, 2, 0, 1,
13743 OPC_EmitStringInteger32, PPC::sub_eq,
13744 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13745 MVT::i1, 2, 2, 3,
13746 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13747 MVT::i32, 1, 4,
13748 28,
13749 OPC_CheckType, MVT::i1,
13750 OPC_MoveParent,
13751 OPC_CheckTypeI64,
13752 OPC_CheckPatternPredicate, 10,
13753 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13754 MVT::i32, 2, 0, 1,
13755 OPC_EmitStringInteger32, PPC::sub_eq,
13756 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13757 MVT::i1, 2, 2, 3,
13758 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13759 MVT::i64, 1, 4,
13760 43,
13761 OPC_MoveParent,
13762 OPC_CheckTypeI32,
13763 OPC_CheckPatternPredicate0,
13764 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13765 MVT::i32, 2, 0, 1,
13766 OPC_EmitStringInteger32, PPC::sub_eq,
13767 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13768 MVT::i1, 2, 2, 3,
13769 OPC_EmitInteger32, 0,
13770 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13771 MVT::i32, 1, 5,
13772 OPC_EmitInteger32, 2,
13773 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13774 MVT::i32, 1, 7,
13775 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13776 MVT::i32, 3, 4, 6, 8,
13777 45,
13778 OPC_CheckType, MVT::i1,
13779 OPC_MoveParent,
13780 OPC_CheckTypeI64,
13781 OPC_CheckPatternPredicate0,
13782 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13783 MVT::i32, 2, 0, 1,
13784 OPC_EmitStringInteger32, PPC::sub_eq,
13785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13786 MVT::i1, 2, 2, 3,
13787 OPC_EmitInteger64, 0,
13788 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13789 MVT::i64, 1, 5,
13790 OPC_EmitInteger64, 2,
13791 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13792 MVT::i64, 1, 7,
13793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13794 MVT::i64, 3, 4, 6, 8,
13795 43,
13796 OPC_MoveParent,
13797 OPC_CheckTypeI32,
13798 OPC_CheckPatternPredicate5,
13799 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
13800 MVT::i32, 2, 0, 1,
13801 OPC_EmitStringInteger32, PPC::sub_gt,
13802 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13803 MVT::i1, 2, 2, 3,
13804 OPC_EmitInteger32, 0,
13805 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13806 MVT::i32, 1, 5,
13807 OPC_EmitInteger32, 2,
13808 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13809 MVT::i32, 1, 7,
13810 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13811 MVT::i32, 3, 4, 6, 8,
13812 45,
13813 OPC_CheckType, MVT::i1,
13814 OPC_MoveParent,
13815 OPC_CheckTypeI64,
13816 OPC_CheckPatternPredicate5,
13817 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
13818 MVT::i32, 2, 0, 1,
13819 OPC_EmitStringInteger32, PPC::sub_gt,
13820 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13821 MVT::i1, 2, 2, 3,
13822 OPC_EmitInteger64, 0,
13823 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13824 MVT::i64, 1, 5,
13825 OPC_EmitInteger64, 2,
13826 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13827 MVT::i64, 1, 7,
13828 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13829 MVT::i64, 3, 4, 6, 8,
13830 0,
13831 112|128,1,
13832 OPC_CheckChild2CondCode, ISD::SETNE,
13833 OPC_Scope, 26,
13834 OPC_MoveParent,
13835 OPC_CheckTypeI32,
13836 OPC_CheckPatternPredicate, 10,
13837 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13838 MVT::i32, 2, 0, 1,
13839 OPC_EmitStringInteger32, PPC::sub_eq,
13840 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13841 MVT::i1, 2, 2, 3,
13842 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13843 MVT::i32, 1, 4,
13844 28,
13845 OPC_CheckType, MVT::i1,
13846 OPC_MoveParent,
13847 OPC_CheckTypeI64,
13848 OPC_CheckPatternPredicate, 10,
13849 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13850 MVT::i32, 2, 0, 1,
13851 OPC_EmitStringInteger32, PPC::sub_eq,
13852 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13853 MVT::i1, 2, 2, 3,
13854 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13855 MVT::i64, 1, 4,
13856 43,
13857 OPC_MoveParent,
13858 OPC_CheckTypeI32,
13859 OPC_CheckPatternPredicate0,
13860 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13861 MVT::i32, 2, 0, 1,
13862 OPC_EmitStringInteger32, PPC::sub_eq,
13863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13864 MVT::i1, 2, 2, 3,
13865 OPC_EmitInteger32, 0,
13866 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13867 MVT::i32, 1, 5,
13868 OPC_EmitInteger32, 2,
13869 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13870 MVT::i32, 1, 7,
13871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13872 MVT::i32, 3, 4, 6, 8,
13873 45,
13874 OPC_CheckType, MVT::i1,
13875 OPC_MoveParent,
13876 OPC_CheckTypeI64,
13877 OPC_CheckPatternPredicate0,
13878 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13879 MVT::i32, 2, 0, 1,
13880 OPC_EmitStringInteger32, PPC::sub_eq,
13881 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13882 MVT::i1, 2, 2, 3,
13883 OPC_EmitInteger64, 0,
13884 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13885 MVT::i64, 1, 5,
13886 OPC_EmitInteger64, 2,
13887 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13888 MVT::i64, 1, 7,
13889 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13890 MVT::i64, 3, 4, 6, 8,
13891 43,
13892 OPC_MoveParent,
13893 OPC_CheckTypeI32,
13894 OPC_CheckPatternPredicate5,
13895 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
13896 MVT::i32, 2, 0, 1,
13897 OPC_EmitStringInteger32, PPC::sub_gt,
13898 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13899 MVT::i1, 2, 2, 3,
13900 OPC_EmitInteger32, 0,
13901 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13902 MVT::i32, 1, 5,
13903 OPC_EmitInteger32, 2,
13904 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13905 MVT::i32, 1, 7,
13906 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13907 MVT::i32, 3, 4, 6, 8,
13908 45,
13909 OPC_CheckType, MVT::i1,
13910 OPC_MoveParent,
13911 OPC_CheckTypeI64,
13912 OPC_CheckPatternPredicate5,
13913 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
13914 MVT::i32, 2, 0, 1,
13915 OPC_EmitStringInteger32, PPC::sub_gt,
13916 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13917 MVT::i1, 2, 2, 3,
13918 OPC_EmitInteger64, 0,
13919 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13920 MVT::i64, 1, 5,
13921 OPC_EmitInteger64, 2,
13922 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13923 MVT::i64, 1, 7,
13924 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13925 MVT::i64, 3, 4, 6, 8,
13926 0,
13927 22|128,1,
13928 OPC_CheckChild2CondCode, ISD::SETO,
13929 OPC_Scope, 26,
13930 OPC_MoveParent,
13931 OPC_CheckTypeI32,
13932 OPC_CheckPatternPredicate, 10,
13933 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13934 MVT::i32, 2, 0, 1,
13935 OPC_EmitStringInteger32, PPC::sub_un,
13936 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13937 MVT::i1, 2, 2, 3,
13938 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
13939 MVT::i32, 1, 4,
13940 28,
13941 OPC_CheckType, MVT::i1,
13942 OPC_MoveParent,
13943 OPC_CheckTypeI64,
13944 OPC_CheckPatternPredicate, 10,
13945 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13946 MVT::i32, 2, 0, 1,
13947 OPC_EmitStringInteger32, PPC::sub_un,
13948 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13949 MVT::i1, 2, 2, 3,
13950 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
13951 MVT::i64, 1, 4,
13952 43,
13953 OPC_MoveParent,
13954 OPC_CheckTypeI32,
13955 OPC_CheckPatternPredicate0,
13956 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13957 MVT::i32, 2, 0, 1,
13958 OPC_EmitStringInteger32, PPC::sub_un,
13959 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13960 MVT::i1, 2, 2, 3,
13961 OPC_EmitInteger32, 0,
13962 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13963 MVT::i32, 1, 5,
13964 OPC_EmitInteger32, 2,
13965 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
13966 MVT::i32, 1, 7,
13967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
13968 MVT::i32, 3, 4, 6, 8,
13969 45,
13970 OPC_CheckType, MVT::i1,
13971 OPC_MoveParent,
13972 OPC_CheckTypeI64,
13973 OPC_CheckPatternPredicate0,
13974 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
13975 MVT::i32, 2, 0, 1,
13976 OPC_EmitStringInteger32, PPC::sub_un,
13977 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
13978 MVT::i1, 2, 2, 3,
13979 OPC_EmitInteger64, 0,
13980 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13981 MVT::i64, 1, 5,
13982 OPC_EmitInteger64, 2,
13983 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
13984 MVT::i64, 1, 7,
13985 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
13986 MVT::i64, 3, 4, 6, 8,
13987 0,
13988 0,
13989 45|128,8,
13990 OPC_CheckChild0Type, MVT::f128,
13991 OPC_RecordChild1,
13992 OPC_Scope, 22|128,1,
13993 OPC_CheckChild2CondCode, ISD::SETUGE,
13994 OPC_Scope, 26,
13995 OPC_MoveParent,
13996 OPC_CheckTypeI32,
13997 OPC_CheckPatternPredicate, 10,
13998 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
13999 MVT::i32, 2, 0, 1,
14000 OPC_EmitStringInteger32, PPC::sub_lt,
14001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14002 MVT::i1, 2, 2, 3,
14003 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14004 MVT::i32, 1, 4,
14005 28,
14006 OPC_CheckType, MVT::i1,
14007 OPC_MoveParent,
14008 OPC_CheckTypeI64,
14009 OPC_CheckPatternPredicate, 10,
14010 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14011 MVT::i32, 2, 0, 1,
14012 OPC_EmitStringInteger32, PPC::sub_lt,
14013 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14014 MVT::i1, 2, 2, 3,
14015 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14016 MVT::i64, 1, 4,
14017 43,
14018 OPC_MoveParent,
14019 OPC_CheckTypeI32,
14020 OPC_CheckPatternPredicate0,
14021 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14022 MVT::i32, 2, 0, 1,
14023 OPC_EmitStringInteger32, PPC::sub_lt,
14024 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14025 MVT::i1, 2, 2, 3,
14026 OPC_EmitInteger32, 0,
14027 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14028 MVT::i32, 1, 5,
14029 OPC_EmitInteger32, 2,
14030 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14031 MVT::i32, 1, 7,
14032 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14033 MVT::i32, 3, 4, 6, 8,
14034 45,
14035 OPC_CheckType, MVT::i1,
14036 OPC_MoveParent,
14037 OPC_CheckTypeI64,
14038 OPC_CheckPatternPredicate0,
14039 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14040 MVT::i32, 2, 0, 1,
14041 OPC_EmitStringInteger32, PPC::sub_lt,
14042 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14043 MVT::i1, 2, 2, 3,
14044 OPC_EmitInteger64, 0,
14045 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14046 MVT::i64, 1, 5,
14047 OPC_EmitInteger64, 2,
14048 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14049 MVT::i64, 1, 7,
14050 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14051 MVT::i64, 3, 4, 6, 8,
14052 0,
14053 22|128,1,
14054 OPC_CheckChild2CondCode, ISD::SETGE,
14055 OPC_Scope, 26,
14056 OPC_MoveParent,
14057 OPC_CheckTypeI32,
14058 OPC_CheckPatternPredicate, 10,
14059 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14060 MVT::i32, 2, 0, 1,
14061 OPC_EmitStringInteger32, PPC::sub_lt,
14062 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14063 MVT::i1, 2, 2, 3,
14064 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14065 MVT::i32, 1, 4,
14066 28,
14067 OPC_CheckType, MVT::i1,
14068 OPC_MoveParent,
14069 OPC_CheckTypeI64,
14070 OPC_CheckPatternPredicate, 10,
14071 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14072 MVT::i32, 2, 0, 1,
14073 OPC_EmitStringInteger32, PPC::sub_lt,
14074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14075 MVT::i1, 2, 2, 3,
14076 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14077 MVT::i64, 1, 4,
14078 43,
14079 OPC_MoveParent,
14080 OPC_CheckTypeI32,
14081 OPC_CheckPatternPredicate0,
14082 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14083 MVT::i32, 2, 0, 1,
14084 OPC_EmitStringInteger32, PPC::sub_lt,
14085 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14086 MVT::i1, 2, 2, 3,
14087 OPC_EmitInteger32, 0,
14088 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14089 MVT::i32, 1, 5,
14090 OPC_EmitInteger32, 2,
14091 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14092 MVT::i32, 1, 7,
14093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14094 MVT::i32, 3, 4, 6, 8,
14095 45,
14096 OPC_CheckType, MVT::i1,
14097 OPC_MoveParent,
14098 OPC_CheckTypeI64,
14099 OPC_CheckPatternPredicate0,
14100 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14101 MVT::i32, 2, 0, 1,
14102 OPC_EmitStringInteger32, PPC::sub_lt,
14103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14104 MVT::i1, 2, 2, 3,
14105 OPC_EmitInteger64, 0,
14106 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14107 MVT::i64, 1, 5,
14108 OPC_EmitInteger64, 2,
14109 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14110 MVT::i64, 1, 7,
14111 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14112 MVT::i64, 3, 4, 6, 8,
14113 0,
14114 22|128,1,
14115 OPC_CheckChild2CondCode, ISD::SETULE,
14116 OPC_Scope, 26,
14117 OPC_MoveParent,
14118 OPC_CheckTypeI32,
14119 OPC_CheckPatternPredicate, 10,
14120 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14121 MVT::i32, 2, 0, 1,
14122 OPC_EmitStringInteger32, PPC::sub_gt,
14123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14124 MVT::i1, 2, 2, 3,
14125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14126 MVT::i32, 1, 4,
14127 28,
14128 OPC_CheckType, MVT::i1,
14129 OPC_MoveParent,
14130 OPC_CheckTypeI64,
14131 OPC_CheckPatternPredicate, 10,
14132 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14133 MVT::i32, 2, 0, 1,
14134 OPC_EmitStringInteger32, PPC::sub_gt,
14135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14136 MVT::i1, 2, 2, 3,
14137 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14138 MVT::i64, 1, 4,
14139 43,
14140 OPC_MoveParent,
14141 OPC_CheckTypeI32,
14142 OPC_CheckPatternPredicate0,
14143 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14144 MVT::i32, 2, 0, 1,
14145 OPC_EmitStringInteger32, PPC::sub_gt,
14146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14147 MVT::i1, 2, 2, 3,
14148 OPC_EmitInteger32, 0,
14149 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14150 MVT::i32, 1, 5,
14151 OPC_EmitInteger32, 2,
14152 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14153 MVT::i32, 1, 7,
14154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14155 MVT::i32, 3, 4, 6, 8,
14156 45,
14157 OPC_CheckType, MVT::i1,
14158 OPC_MoveParent,
14159 OPC_CheckTypeI64,
14160 OPC_CheckPatternPredicate0,
14161 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14162 MVT::i32, 2, 0, 1,
14163 OPC_EmitStringInteger32, PPC::sub_gt,
14164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14165 MVT::i1, 2, 2, 3,
14166 OPC_EmitInteger64, 0,
14167 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14168 MVT::i64, 1, 5,
14169 OPC_EmitInteger64, 2,
14170 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14171 MVT::i64, 1, 7,
14172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14173 MVT::i64, 3, 4, 6, 8,
14174 0,
14175 22|128,1,
14176 OPC_CheckChild2CondCode, ISD::SETLE,
14177 OPC_Scope, 26,
14178 OPC_MoveParent,
14179 OPC_CheckTypeI32,
14180 OPC_CheckPatternPredicate, 10,
14181 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14182 MVT::i32, 2, 0, 1,
14183 OPC_EmitStringInteger32, PPC::sub_gt,
14184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14185 MVT::i1, 2, 2, 3,
14186 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14187 MVT::i32, 1, 4,
14188 28,
14189 OPC_CheckType, MVT::i1,
14190 OPC_MoveParent,
14191 OPC_CheckTypeI64,
14192 OPC_CheckPatternPredicate, 10,
14193 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14194 MVT::i32, 2, 0, 1,
14195 OPC_EmitStringInteger32, PPC::sub_gt,
14196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14197 MVT::i1, 2, 2, 3,
14198 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14199 MVT::i64, 1, 4,
14200 43,
14201 OPC_MoveParent,
14202 OPC_CheckTypeI32,
14203 OPC_CheckPatternPredicate0,
14204 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14205 MVT::i32, 2, 0, 1,
14206 OPC_EmitStringInteger32, PPC::sub_gt,
14207 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14208 MVT::i1, 2, 2, 3,
14209 OPC_EmitInteger32, 0,
14210 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14211 MVT::i32, 1, 5,
14212 OPC_EmitInteger32, 2,
14213 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14214 MVT::i32, 1, 7,
14215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14216 MVT::i32, 3, 4, 6, 8,
14217 45,
14218 OPC_CheckType, MVT::i1,
14219 OPC_MoveParent,
14220 OPC_CheckTypeI64,
14221 OPC_CheckPatternPredicate0,
14222 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14223 MVT::i32, 2, 0, 1,
14224 OPC_EmitStringInteger32, PPC::sub_gt,
14225 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14226 MVT::i1, 2, 2, 3,
14227 OPC_EmitInteger64, 0,
14228 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14229 MVT::i64, 1, 5,
14230 OPC_EmitInteger64, 2,
14231 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14232 MVT::i64, 1, 7,
14233 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14234 MVT::i64, 3, 4, 6, 8,
14235 0,
14236 22|128,1,
14237 OPC_CheckChild2CondCode, ISD::SETUNE,
14238 OPC_Scope, 26,
14239 OPC_MoveParent,
14240 OPC_CheckTypeI32,
14241 OPC_CheckPatternPredicate, 10,
14242 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14243 MVT::i32, 2, 0, 1,
14244 OPC_EmitStringInteger32, PPC::sub_eq,
14245 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14246 MVT::i1, 2, 2, 3,
14247 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14248 MVT::i32, 1, 4,
14249 28,
14250 OPC_CheckType, MVT::i1,
14251 OPC_MoveParent,
14252 OPC_CheckTypeI64,
14253 OPC_CheckPatternPredicate, 10,
14254 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14255 MVT::i32, 2, 0, 1,
14256 OPC_EmitStringInteger32, PPC::sub_eq,
14257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14258 MVT::i1, 2, 2, 3,
14259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14260 MVT::i64, 1, 4,
14261 43,
14262 OPC_MoveParent,
14263 OPC_CheckTypeI32,
14264 OPC_CheckPatternPredicate0,
14265 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14266 MVT::i32, 2, 0, 1,
14267 OPC_EmitStringInteger32, PPC::sub_eq,
14268 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14269 MVT::i1, 2, 2, 3,
14270 OPC_EmitInteger32, 0,
14271 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14272 MVT::i32, 1, 5,
14273 OPC_EmitInteger32, 2,
14274 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14275 MVT::i32, 1, 7,
14276 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14277 MVT::i32, 3, 4, 6, 8,
14278 45,
14279 OPC_CheckType, MVT::i1,
14280 OPC_MoveParent,
14281 OPC_CheckTypeI64,
14282 OPC_CheckPatternPredicate0,
14283 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14284 MVT::i32, 2, 0, 1,
14285 OPC_EmitStringInteger32, PPC::sub_eq,
14286 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14287 MVT::i1, 2, 2, 3,
14288 OPC_EmitInteger64, 0,
14289 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14290 MVT::i64, 1, 5,
14291 OPC_EmitInteger64, 2,
14292 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14293 MVT::i64, 1, 7,
14294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14295 MVT::i64, 3, 4, 6, 8,
14296 0,
14297 22|128,1,
14298 OPC_CheckChild2CondCode, ISD::SETNE,
14299 OPC_Scope, 26,
14300 OPC_MoveParent,
14301 OPC_CheckTypeI32,
14302 OPC_CheckPatternPredicate, 10,
14303 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14304 MVT::i32, 2, 0, 1,
14305 OPC_EmitStringInteger32, PPC::sub_eq,
14306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14307 MVT::i1, 2, 2, 3,
14308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14309 MVT::i32, 1, 4,
14310 28,
14311 OPC_CheckType, MVT::i1,
14312 OPC_MoveParent,
14313 OPC_CheckTypeI64,
14314 OPC_CheckPatternPredicate, 10,
14315 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14316 MVT::i32, 2, 0, 1,
14317 OPC_EmitStringInteger32, PPC::sub_eq,
14318 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14319 MVT::i1, 2, 2, 3,
14320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14321 MVT::i64, 1, 4,
14322 43,
14323 OPC_MoveParent,
14324 OPC_CheckTypeI32,
14325 OPC_CheckPatternPredicate0,
14326 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14327 MVT::i32, 2, 0, 1,
14328 OPC_EmitStringInteger32, PPC::sub_eq,
14329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14330 MVT::i1, 2, 2, 3,
14331 OPC_EmitInteger32, 0,
14332 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14333 MVT::i32, 1, 5,
14334 OPC_EmitInteger32, 2,
14335 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14336 MVT::i32, 1, 7,
14337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14338 MVT::i32, 3, 4, 6, 8,
14339 45,
14340 OPC_CheckType, MVT::i1,
14341 OPC_MoveParent,
14342 OPC_CheckTypeI64,
14343 OPC_CheckPatternPredicate0,
14344 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14345 MVT::i32, 2, 0, 1,
14346 OPC_EmitStringInteger32, PPC::sub_eq,
14347 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14348 MVT::i1, 2, 2, 3,
14349 OPC_EmitInteger64, 0,
14350 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14351 MVT::i64, 1, 5,
14352 OPC_EmitInteger64, 2,
14353 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14354 MVT::i64, 1, 7,
14355 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14356 MVT::i64, 3, 4, 6, 8,
14357 0,
14358 22|128,1,
14359 OPC_CheckChild2CondCode, ISD::SETO,
14360 OPC_Scope, 26,
14361 OPC_MoveParent,
14362 OPC_CheckTypeI32,
14363 OPC_CheckPatternPredicate, 10,
14364 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14365 MVT::i32, 2, 0, 1,
14366 OPC_EmitStringInteger32, PPC::sub_un,
14367 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14368 MVT::i1, 2, 2, 3,
14369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR),
14370 MVT::i32, 1, 4,
14371 28,
14372 OPC_CheckType, MVT::i1,
14373 OPC_MoveParent,
14374 OPC_CheckTypeI64,
14375 OPC_CheckPatternPredicate, 10,
14376 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14377 MVT::i32, 2, 0, 1,
14378 OPC_EmitStringInteger32, PPC::sub_un,
14379 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14380 MVT::i1, 2, 2, 3,
14381 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBCR8),
14382 MVT::i64, 1, 4,
14383 43,
14384 OPC_MoveParent,
14385 OPC_CheckTypeI32,
14386 OPC_CheckPatternPredicate0,
14387 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14388 MVT::i32, 2, 0, 1,
14389 OPC_EmitStringInteger32, PPC::sub_un,
14390 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14391 MVT::i1, 2, 2, 3,
14392 OPC_EmitInteger32, 0,
14393 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14394 MVT::i32, 1, 5,
14395 OPC_EmitInteger32, 2,
14396 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14397 MVT::i32, 1, 7,
14398 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14399 MVT::i32, 3, 4, 6, 8,
14400 45,
14401 OPC_CheckType, MVT::i1,
14402 OPC_MoveParent,
14403 OPC_CheckTypeI64,
14404 OPC_CheckPatternPredicate0,
14405 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
14406 MVT::i32, 2, 0, 1,
14407 OPC_EmitStringInteger32, PPC::sub_un,
14408 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14409 MVT::i1, 2, 2, 3,
14410 OPC_EmitInteger64, 0,
14411 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14412 MVT::i64, 1, 5,
14413 OPC_EmitInteger64, 2,
14414 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14415 MVT::i64, 1, 7,
14416 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14417 MVT::i64, 3, 4, 6, 8,
14418 0,
14419 0,
14420 0,
14421 0,
14422 31, TARGET_VAL(ISD::SRL),
14423 OPC_MoveChild0,
14424 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
14425 OPC_RecordChild0,
14426 OPC_MoveParent,
14427 OPC_CheckChild1Integer, 32,
14428 OPC_CheckChild1TypeI32,
14429 OPC_CheckTypeI32,
14430 OPC_MoveParent,
14431 OPC_CheckTypeI64,
14432 OPC_CheckPatternPredicate4,
14433 OPC_EmitNode1None, TARGET_VAL(PPC::BRH),
14434 MVT::i32, 1, 0,
14435 OPC_EmitInteger32, 0,
14436 OPC_EmitInteger32, 96,
14437 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL_32_64),
14438 MVT::i64, 3, 1, 2, 3,
14439 38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
14440 OPC_RecordNode,
14441 OPC_RecordChild1,
14442 OPC_Scope, 52|128,5,
14443 OPC_CheckChild1Type, MVT::f32,
14444 OPC_RecordChild2,
14445 OPC_MoveChild3,
14446 OPC_Scope, 97,
14447 OPC_CheckCondCode, ISD::SETUGE,
14448 OPC_MoveParent,
14449 OPC_Scope, 44,
14450 OPC_MoveParent,
14451 OPC_CheckTypeI32,
14452 OPC_CheckPatternPredicate0,
14453 OPC_EmitMergeInputChains1_0,
14454 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14455 MVT::i32, 2, 1, 2,
14456 OPC_EmitStringInteger32, PPC::sub_lt,
14457 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14458 MVT::i1, 2, 3, 4,
14459 OPC_EmitInteger32, 0,
14460 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14461 MVT::i32, 1, 6,
14462 OPC_EmitInteger32, 2,
14463 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14464 MVT::i32, 1, 8,
14465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14466 MVT::i32, 3, 5, 7, 9,
14467 46,
14468 OPC_CheckType, MVT::i1,
14469 OPC_MoveParent,
14470 OPC_CheckTypeI64,
14471 OPC_CheckPatternPredicate0,
14472 OPC_EmitMergeInputChains1_0,
14473 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14474 MVT::i32, 2, 1, 2,
14475 OPC_EmitStringInteger32, PPC::sub_lt,
14476 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14477 MVT::i1, 2, 3, 4,
14478 OPC_EmitInteger64, 0,
14479 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14480 MVT::i64, 1, 6,
14481 OPC_EmitInteger64, 2,
14482 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14483 MVT::i64, 1, 8,
14484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14485 MVT::i64, 3, 5, 7, 9,
14486 0,
14487 97,
14488 OPC_CheckCondCode, ISD::SETGE,
14489 OPC_MoveParent,
14490 OPC_Scope, 44,
14491 OPC_MoveParent,
14492 OPC_CheckTypeI32,
14493 OPC_CheckPatternPredicate0,
14494 OPC_EmitMergeInputChains1_0,
14495 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14496 MVT::i32, 2, 1, 2,
14497 OPC_EmitStringInteger32, PPC::sub_lt,
14498 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14499 MVT::i1, 2, 3, 4,
14500 OPC_EmitInteger32, 0,
14501 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14502 MVT::i32, 1, 6,
14503 OPC_EmitInteger32, 2,
14504 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14505 MVT::i32, 1, 8,
14506 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14507 MVT::i32, 3, 5, 7, 9,
14508 46,
14509 OPC_CheckType, MVT::i1,
14510 OPC_MoveParent,
14511 OPC_CheckTypeI64,
14512 OPC_CheckPatternPredicate0,
14513 OPC_EmitMergeInputChains1_0,
14514 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14515 MVT::i32, 2, 1, 2,
14516 OPC_EmitStringInteger32, PPC::sub_lt,
14517 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14518 MVT::i1, 2, 3, 4,
14519 OPC_EmitInteger64, 0,
14520 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14521 MVT::i64, 1, 6,
14522 OPC_EmitInteger64, 2,
14523 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14524 MVT::i64, 1, 8,
14525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14526 MVT::i64, 3, 5, 7, 9,
14527 0,
14528 97,
14529 OPC_CheckCondCode, ISD::SETULE,
14530 OPC_MoveParent,
14531 OPC_Scope, 44,
14532 OPC_MoveParent,
14533 OPC_CheckTypeI32,
14534 OPC_CheckPatternPredicate0,
14535 OPC_EmitMergeInputChains1_0,
14536 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14537 MVT::i32, 2, 1, 2,
14538 OPC_EmitStringInteger32, PPC::sub_gt,
14539 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14540 MVT::i1, 2, 3, 4,
14541 OPC_EmitInteger32, 0,
14542 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14543 MVT::i32, 1, 6,
14544 OPC_EmitInteger32, 2,
14545 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14546 MVT::i32, 1, 8,
14547 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14548 MVT::i32, 3, 5, 7, 9,
14549 46,
14550 OPC_CheckType, MVT::i1,
14551 OPC_MoveParent,
14552 OPC_CheckTypeI64,
14553 OPC_CheckPatternPredicate0,
14554 OPC_EmitMergeInputChains1_0,
14555 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14556 MVT::i32, 2, 1, 2,
14557 OPC_EmitStringInteger32, PPC::sub_gt,
14558 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14559 MVT::i1, 2, 3, 4,
14560 OPC_EmitInteger64, 0,
14561 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14562 MVT::i64, 1, 6,
14563 OPC_EmitInteger64, 2,
14564 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14565 MVT::i64, 1, 8,
14566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14567 MVT::i64, 3, 5, 7, 9,
14568 0,
14569 97,
14570 OPC_CheckCondCode, ISD::SETLE,
14571 OPC_MoveParent,
14572 OPC_Scope, 44,
14573 OPC_MoveParent,
14574 OPC_CheckTypeI32,
14575 OPC_CheckPatternPredicate0,
14576 OPC_EmitMergeInputChains1_0,
14577 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14578 MVT::i32, 2, 1, 2,
14579 OPC_EmitStringInteger32, PPC::sub_gt,
14580 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14581 MVT::i1, 2, 3, 4,
14582 OPC_EmitInteger32, 0,
14583 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14584 MVT::i32, 1, 6,
14585 OPC_EmitInteger32, 2,
14586 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14587 MVT::i32, 1, 8,
14588 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14589 MVT::i32, 3, 5, 7, 9,
14590 46,
14591 OPC_CheckType, MVT::i1,
14592 OPC_MoveParent,
14593 OPC_CheckTypeI64,
14594 OPC_CheckPatternPredicate0,
14595 OPC_EmitMergeInputChains1_0,
14596 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14597 MVT::i32, 2, 1, 2,
14598 OPC_EmitStringInteger32, PPC::sub_gt,
14599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14600 MVT::i1, 2, 3, 4,
14601 OPC_EmitInteger64, 0,
14602 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14603 MVT::i64, 1, 6,
14604 OPC_EmitInteger64, 2,
14605 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14606 MVT::i64, 1, 8,
14607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14608 MVT::i64, 3, 5, 7, 9,
14609 0,
14610 97,
14611 OPC_CheckCondCode, ISD::SETUNE,
14612 OPC_MoveParent,
14613 OPC_Scope, 44,
14614 OPC_MoveParent,
14615 OPC_CheckTypeI32,
14616 OPC_CheckPatternPredicate0,
14617 OPC_EmitMergeInputChains1_0,
14618 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14619 MVT::i32, 2, 1, 2,
14620 OPC_EmitStringInteger32, PPC::sub_eq,
14621 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14622 MVT::i1, 2, 3, 4,
14623 OPC_EmitInteger32, 0,
14624 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14625 MVT::i32, 1, 6,
14626 OPC_EmitInteger32, 2,
14627 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14628 MVT::i32, 1, 8,
14629 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14630 MVT::i32, 3, 5, 7, 9,
14631 46,
14632 OPC_CheckType, MVT::i1,
14633 OPC_MoveParent,
14634 OPC_CheckTypeI64,
14635 OPC_CheckPatternPredicate0,
14636 OPC_EmitMergeInputChains1_0,
14637 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14638 MVT::i32, 2, 1, 2,
14639 OPC_EmitStringInteger32, PPC::sub_eq,
14640 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14641 MVT::i1, 2, 3, 4,
14642 OPC_EmitInteger64, 0,
14643 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14644 MVT::i64, 1, 6,
14645 OPC_EmitInteger64, 2,
14646 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14647 MVT::i64, 1, 8,
14648 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14649 MVT::i64, 3, 5, 7, 9,
14650 0,
14651 97,
14652 OPC_CheckCondCode, ISD::SETNE,
14653 OPC_MoveParent,
14654 OPC_Scope, 44,
14655 OPC_MoveParent,
14656 OPC_CheckTypeI32,
14657 OPC_CheckPatternPredicate0,
14658 OPC_EmitMergeInputChains1_0,
14659 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14660 MVT::i32, 2, 1, 2,
14661 OPC_EmitStringInteger32, PPC::sub_eq,
14662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14663 MVT::i1, 2, 3, 4,
14664 OPC_EmitInteger32, 0,
14665 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14666 MVT::i32, 1, 6,
14667 OPC_EmitInteger32, 2,
14668 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14669 MVT::i32, 1, 8,
14670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14671 MVT::i32, 3, 5, 7, 9,
14672 46,
14673 OPC_CheckType, MVT::i1,
14674 OPC_MoveParent,
14675 OPC_CheckTypeI64,
14676 OPC_CheckPatternPredicate0,
14677 OPC_EmitMergeInputChains1_0,
14678 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14679 MVT::i32, 2, 1, 2,
14680 OPC_EmitStringInteger32, PPC::sub_eq,
14681 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14682 MVT::i1, 2, 3, 4,
14683 OPC_EmitInteger64, 0,
14684 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14685 MVT::i64, 1, 6,
14686 OPC_EmitInteger64, 2,
14687 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14688 MVT::i64, 1, 8,
14689 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14690 MVT::i64, 3, 5, 7, 9,
14691 0,
14692 97,
14693 OPC_CheckCondCode, ISD::SETO,
14694 OPC_MoveParent,
14695 OPC_Scope, 44,
14696 OPC_MoveParent,
14697 OPC_CheckTypeI32,
14698 OPC_CheckPatternPredicate0,
14699 OPC_EmitMergeInputChains1_0,
14700 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14701 MVT::i32, 2, 1, 2,
14702 OPC_EmitStringInteger32, PPC::sub_un,
14703 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14704 MVT::i1, 2, 3, 4,
14705 OPC_EmitInteger32, 0,
14706 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14707 MVT::i32, 1, 6,
14708 OPC_EmitInteger32, 2,
14709 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14710 MVT::i32, 1, 8,
14711 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14712 MVT::i32, 3, 5, 7, 9,
14713 46,
14714 OPC_CheckType, MVT::i1,
14715 OPC_MoveParent,
14716 OPC_CheckTypeI64,
14717 OPC_CheckPatternPredicate0,
14718 OPC_EmitMergeInputChains1_0,
14719 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
14720 MVT::i32, 2, 1, 2,
14721 OPC_EmitStringInteger32, PPC::sub_un,
14722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14723 MVT::i1, 2, 3, 4,
14724 OPC_EmitInteger64, 0,
14725 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14726 MVT::i64, 1, 6,
14727 OPC_EmitInteger64, 2,
14728 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14729 MVT::i64, 1, 8,
14730 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14731 MVT::i64, 3, 5, 7, 9,
14732 0,
14733 0,
14734 52|128,5,
14735 OPC_CheckChild1Type, MVT::f64,
14736 OPC_RecordChild2,
14737 OPC_MoveChild3,
14738 OPC_Scope, 97,
14739 OPC_CheckCondCode, ISD::SETUGE,
14740 OPC_MoveParent,
14741 OPC_Scope, 44,
14742 OPC_MoveParent,
14743 OPC_CheckTypeI32,
14744 OPC_CheckPatternPredicate0,
14745 OPC_EmitMergeInputChains1_0,
14746 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14747 MVT::i32, 2, 1, 2,
14748 OPC_EmitStringInteger32, PPC::sub_lt,
14749 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14750 MVT::i1, 2, 3, 4,
14751 OPC_EmitInteger32, 0,
14752 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14753 MVT::i32, 1, 6,
14754 OPC_EmitInteger32, 2,
14755 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14756 MVT::i32, 1, 8,
14757 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14758 MVT::i32, 3, 5, 7, 9,
14759 46,
14760 OPC_CheckType, MVT::i1,
14761 OPC_MoveParent,
14762 OPC_CheckTypeI64,
14763 OPC_CheckPatternPredicate0,
14764 OPC_EmitMergeInputChains1_0,
14765 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14766 MVT::i32, 2, 1, 2,
14767 OPC_EmitStringInteger32, PPC::sub_lt,
14768 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14769 MVT::i1, 2, 3, 4,
14770 OPC_EmitInteger64, 0,
14771 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14772 MVT::i64, 1, 6,
14773 OPC_EmitInteger64, 2,
14774 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14775 MVT::i64, 1, 8,
14776 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14777 MVT::i64, 3, 5, 7, 9,
14778 0,
14779 97,
14780 OPC_CheckCondCode, ISD::SETGE,
14781 OPC_MoveParent,
14782 OPC_Scope, 44,
14783 OPC_MoveParent,
14784 OPC_CheckTypeI32,
14785 OPC_CheckPatternPredicate0,
14786 OPC_EmitMergeInputChains1_0,
14787 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14788 MVT::i32, 2, 1, 2,
14789 OPC_EmitStringInteger32, PPC::sub_lt,
14790 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14791 MVT::i1, 2, 3, 4,
14792 OPC_EmitInteger32, 0,
14793 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14794 MVT::i32, 1, 6,
14795 OPC_EmitInteger32, 2,
14796 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14797 MVT::i32, 1, 8,
14798 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14799 MVT::i32, 3, 5, 7, 9,
14800 46,
14801 OPC_CheckType, MVT::i1,
14802 OPC_MoveParent,
14803 OPC_CheckTypeI64,
14804 OPC_CheckPatternPredicate0,
14805 OPC_EmitMergeInputChains1_0,
14806 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14807 MVT::i32, 2, 1, 2,
14808 OPC_EmitStringInteger32, PPC::sub_lt,
14809 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14810 MVT::i1, 2, 3, 4,
14811 OPC_EmitInteger64, 0,
14812 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14813 MVT::i64, 1, 6,
14814 OPC_EmitInteger64, 2,
14815 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14816 MVT::i64, 1, 8,
14817 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14818 MVT::i64, 3, 5, 7, 9,
14819 0,
14820 97,
14821 OPC_CheckCondCode, ISD::SETULE,
14822 OPC_MoveParent,
14823 OPC_Scope, 44,
14824 OPC_MoveParent,
14825 OPC_CheckTypeI32,
14826 OPC_CheckPatternPredicate0,
14827 OPC_EmitMergeInputChains1_0,
14828 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14829 MVT::i32, 2, 1, 2,
14830 OPC_EmitStringInteger32, PPC::sub_gt,
14831 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14832 MVT::i1, 2, 3, 4,
14833 OPC_EmitInteger32, 0,
14834 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14835 MVT::i32, 1, 6,
14836 OPC_EmitInteger32, 2,
14837 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14838 MVT::i32, 1, 8,
14839 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14840 MVT::i32, 3, 5, 7, 9,
14841 46,
14842 OPC_CheckType, MVT::i1,
14843 OPC_MoveParent,
14844 OPC_CheckTypeI64,
14845 OPC_CheckPatternPredicate0,
14846 OPC_EmitMergeInputChains1_0,
14847 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14848 MVT::i32, 2, 1, 2,
14849 OPC_EmitStringInteger32, PPC::sub_gt,
14850 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14851 MVT::i1, 2, 3, 4,
14852 OPC_EmitInteger64, 0,
14853 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14854 MVT::i64, 1, 6,
14855 OPC_EmitInteger64, 2,
14856 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14857 MVT::i64, 1, 8,
14858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14859 MVT::i64, 3, 5, 7, 9,
14860 0,
14861 97,
14862 OPC_CheckCondCode, ISD::SETLE,
14863 OPC_MoveParent,
14864 OPC_Scope, 44,
14865 OPC_MoveParent,
14866 OPC_CheckTypeI32,
14867 OPC_CheckPatternPredicate0,
14868 OPC_EmitMergeInputChains1_0,
14869 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14870 MVT::i32, 2, 1, 2,
14871 OPC_EmitStringInteger32, PPC::sub_gt,
14872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14873 MVT::i1, 2, 3, 4,
14874 OPC_EmitInteger32, 0,
14875 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14876 MVT::i32, 1, 6,
14877 OPC_EmitInteger32, 2,
14878 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14879 MVT::i32, 1, 8,
14880 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14881 MVT::i32, 3, 5, 7, 9,
14882 46,
14883 OPC_CheckType, MVT::i1,
14884 OPC_MoveParent,
14885 OPC_CheckTypeI64,
14886 OPC_CheckPatternPredicate0,
14887 OPC_EmitMergeInputChains1_0,
14888 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14889 MVT::i32, 2, 1, 2,
14890 OPC_EmitStringInteger32, PPC::sub_gt,
14891 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14892 MVT::i1, 2, 3, 4,
14893 OPC_EmitInteger64, 0,
14894 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14895 MVT::i64, 1, 6,
14896 OPC_EmitInteger64, 2,
14897 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14898 MVT::i64, 1, 8,
14899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14900 MVT::i64, 3, 5, 7, 9,
14901 0,
14902 97,
14903 OPC_CheckCondCode, ISD::SETUNE,
14904 OPC_MoveParent,
14905 OPC_Scope, 44,
14906 OPC_MoveParent,
14907 OPC_CheckTypeI32,
14908 OPC_CheckPatternPredicate0,
14909 OPC_EmitMergeInputChains1_0,
14910 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14911 MVT::i32, 2, 1, 2,
14912 OPC_EmitStringInteger32, PPC::sub_eq,
14913 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14914 MVT::i1, 2, 3, 4,
14915 OPC_EmitInteger32, 0,
14916 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14917 MVT::i32, 1, 6,
14918 OPC_EmitInteger32, 2,
14919 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14920 MVT::i32, 1, 8,
14921 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14922 MVT::i32, 3, 5, 7, 9,
14923 46,
14924 OPC_CheckType, MVT::i1,
14925 OPC_MoveParent,
14926 OPC_CheckTypeI64,
14927 OPC_CheckPatternPredicate0,
14928 OPC_EmitMergeInputChains1_0,
14929 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14930 MVT::i32, 2, 1, 2,
14931 OPC_EmitStringInteger32, PPC::sub_eq,
14932 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14933 MVT::i1, 2, 3, 4,
14934 OPC_EmitInteger64, 0,
14935 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14936 MVT::i64, 1, 6,
14937 OPC_EmitInteger64, 2,
14938 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14939 MVT::i64, 1, 8,
14940 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14941 MVT::i64, 3, 5, 7, 9,
14942 0,
14943 97,
14944 OPC_CheckCondCode, ISD::SETNE,
14945 OPC_MoveParent,
14946 OPC_Scope, 44,
14947 OPC_MoveParent,
14948 OPC_CheckTypeI32,
14949 OPC_CheckPatternPredicate0,
14950 OPC_EmitMergeInputChains1_0,
14951 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14952 MVT::i32, 2, 1, 2,
14953 OPC_EmitStringInteger32, PPC::sub_eq,
14954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14955 MVT::i1, 2, 3, 4,
14956 OPC_EmitInteger32, 0,
14957 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14958 MVT::i32, 1, 6,
14959 OPC_EmitInteger32, 2,
14960 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14961 MVT::i32, 1, 8,
14962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
14963 MVT::i32, 3, 5, 7, 9,
14964 46,
14965 OPC_CheckType, MVT::i1,
14966 OPC_MoveParent,
14967 OPC_CheckTypeI64,
14968 OPC_CheckPatternPredicate0,
14969 OPC_EmitMergeInputChains1_0,
14970 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14971 MVT::i32, 2, 1, 2,
14972 OPC_EmitStringInteger32, PPC::sub_eq,
14973 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14974 MVT::i1, 2, 3, 4,
14975 OPC_EmitInteger64, 0,
14976 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14977 MVT::i64, 1, 6,
14978 OPC_EmitInteger64, 2,
14979 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
14980 MVT::i64, 1, 8,
14981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
14982 MVT::i64, 3, 5, 7, 9,
14983 0,
14984 97,
14985 OPC_CheckCondCode, ISD::SETO,
14986 OPC_MoveParent,
14987 OPC_Scope, 44,
14988 OPC_MoveParent,
14989 OPC_CheckTypeI32,
14990 OPC_CheckPatternPredicate0,
14991 OPC_EmitMergeInputChains1_0,
14992 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
14993 MVT::i32, 2, 1, 2,
14994 OPC_EmitStringInteger32, PPC::sub_un,
14995 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
14996 MVT::i1, 2, 3, 4,
14997 OPC_EmitInteger32, 0,
14998 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
14999 MVT::i32, 1, 6,
15000 OPC_EmitInteger32, 2,
15001 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15002 MVT::i32, 1, 8,
15003 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15004 MVT::i32, 3, 5, 7, 9,
15005 46,
15006 OPC_CheckType, MVT::i1,
15007 OPC_MoveParent,
15008 OPC_CheckTypeI64,
15009 OPC_CheckPatternPredicate0,
15010 OPC_EmitMergeInputChains1_0,
15011 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
15012 MVT::i32, 2, 1, 2,
15013 OPC_EmitStringInteger32, PPC::sub_un,
15014 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15015 MVT::i1, 2, 3, 4,
15016 OPC_EmitInteger64, 0,
15017 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15018 MVT::i64, 1, 6,
15019 OPC_EmitInteger64, 2,
15020 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15021 MVT::i64, 1, 8,
15022 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15023 MVT::i64, 3, 5, 7, 9,
15024 0,
15025 0,
15026 52|128,5,
15027 OPC_CheckChild1Type, MVT::f128,
15028 OPC_RecordChild2,
15029 OPC_MoveChild3,
15030 OPC_Scope, 97,
15031 OPC_CheckCondCode, ISD::SETUGE,
15032 OPC_MoveParent,
15033 OPC_Scope, 44,
15034 OPC_MoveParent,
15035 OPC_CheckTypeI32,
15036 OPC_CheckPatternPredicate0,
15037 OPC_EmitMergeInputChains1_0,
15038 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15039 MVT::i32, 2, 1, 2,
15040 OPC_EmitStringInteger32, PPC::sub_lt,
15041 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15042 MVT::i1, 2, 3, 4,
15043 OPC_EmitInteger32, 0,
15044 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15045 MVT::i32, 1, 6,
15046 OPC_EmitInteger32, 2,
15047 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15048 MVT::i32, 1, 8,
15049 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15050 MVT::i32, 3, 5, 7, 9,
15051 46,
15052 OPC_CheckType, MVT::i1,
15053 OPC_MoveParent,
15054 OPC_CheckTypeI64,
15055 OPC_CheckPatternPredicate0,
15056 OPC_EmitMergeInputChains1_0,
15057 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15058 MVT::i32, 2, 1, 2,
15059 OPC_EmitStringInteger32, PPC::sub_lt,
15060 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15061 MVT::i1, 2, 3, 4,
15062 OPC_EmitInteger64, 0,
15063 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15064 MVT::i64, 1, 6,
15065 OPC_EmitInteger64, 2,
15066 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15067 MVT::i64, 1, 8,
15068 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15069 MVT::i64, 3, 5, 7, 9,
15070 0,
15071 97,
15072 OPC_CheckCondCode, ISD::SETGE,
15073 OPC_MoveParent,
15074 OPC_Scope, 44,
15075 OPC_MoveParent,
15076 OPC_CheckTypeI32,
15077 OPC_CheckPatternPredicate0,
15078 OPC_EmitMergeInputChains1_0,
15079 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15080 MVT::i32, 2, 1, 2,
15081 OPC_EmitStringInteger32, PPC::sub_lt,
15082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15083 MVT::i1, 2, 3, 4,
15084 OPC_EmitInteger32, 0,
15085 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15086 MVT::i32, 1, 6,
15087 OPC_EmitInteger32, 2,
15088 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15089 MVT::i32, 1, 8,
15090 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15091 MVT::i32, 3, 5, 7, 9,
15092 46,
15093 OPC_CheckType, MVT::i1,
15094 OPC_MoveParent,
15095 OPC_CheckTypeI64,
15096 OPC_CheckPatternPredicate0,
15097 OPC_EmitMergeInputChains1_0,
15098 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15099 MVT::i32, 2, 1, 2,
15100 OPC_EmitStringInteger32, PPC::sub_lt,
15101 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15102 MVT::i1, 2, 3, 4,
15103 OPC_EmitInteger64, 0,
15104 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15105 MVT::i64, 1, 6,
15106 OPC_EmitInteger64, 2,
15107 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15108 MVT::i64, 1, 8,
15109 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15110 MVT::i64, 3, 5, 7, 9,
15111 0,
15112 97,
15113 OPC_CheckCondCode, ISD::SETULE,
15114 OPC_MoveParent,
15115 OPC_Scope, 44,
15116 OPC_MoveParent,
15117 OPC_CheckTypeI32,
15118 OPC_CheckPatternPredicate0,
15119 OPC_EmitMergeInputChains1_0,
15120 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15121 MVT::i32, 2, 1, 2,
15122 OPC_EmitStringInteger32, PPC::sub_gt,
15123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15124 MVT::i1, 2, 3, 4,
15125 OPC_EmitInteger32, 0,
15126 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15127 MVT::i32, 1, 6,
15128 OPC_EmitInteger32, 2,
15129 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15130 MVT::i32, 1, 8,
15131 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15132 MVT::i32, 3, 5, 7, 9,
15133 46,
15134 OPC_CheckType, MVT::i1,
15135 OPC_MoveParent,
15136 OPC_CheckTypeI64,
15137 OPC_CheckPatternPredicate0,
15138 OPC_EmitMergeInputChains1_0,
15139 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15140 MVT::i32, 2, 1, 2,
15141 OPC_EmitStringInteger32, PPC::sub_gt,
15142 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15143 MVT::i1, 2, 3, 4,
15144 OPC_EmitInteger64, 0,
15145 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15146 MVT::i64, 1, 6,
15147 OPC_EmitInteger64, 2,
15148 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15149 MVT::i64, 1, 8,
15150 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15151 MVT::i64, 3, 5, 7, 9,
15152 0,
15153 97,
15154 OPC_CheckCondCode, ISD::SETLE,
15155 OPC_MoveParent,
15156 OPC_Scope, 44,
15157 OPC_MoveParent,
15158 OPC_CheckTypeI32,
15159 OPC_CheckPatternPredicate0,
15160 OPC_EmitMergeInputChains1_0,
15161 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15162 MVT::i32, 2, 1, 2,
15163 OPC_EmitStringInteger32, PPC::sub_gt,
15164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15165 MVT::i1, 2, 3, 4,
15166 OPC_EmitInteger32, 0,
15167 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15168 MVT::i32, 1, 6,
15169 OPC_EmitInteger32, 2,
15170 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15171 MVT::i32, 1, 8,
15172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15173 MVT::i32, 3, 5, 7, 9,
15174 46,
15175 OPC_CheckType, MVT::i1,
15176 OPC_MoveParent,
15177 OPC_CheckTypeI64,
15178 OPC_CheckPatternPredicate0,
15179 OPC_EmitMergeInputChains1_0,
15180 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15181 MVT::i32, 2, 1, 2,
15182 OPC_EmitStringInteger32, PPC::sub_gt,
15183 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15184 MVT::i1, 2, 3, 4,
15185 OPC_EmitInteger64, 0,
15186 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15187 MVT::i64, 1, 6,
15188 OPC_EmitInteger64, 2,
15189 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15190 MVT::i64, 1, 8,
15191 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15192 MVT::i64, 3, 5, 7, 9,
15193 0,
15194 97,
15195 OPC_CheckCondCode, ISD::SETUNE,
15196 OPC_MoveParent,
15197 OPC_Scope, 44,
15198 OPC_MoveParent,
15199 OPC_CheckTypeI32,
15200 OPC_CheckPatternPredicate0,
15201 OPC_EmitMergeInputChains1_0,
15202 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15203 MVT::i32, 2, 1, 2,
15204 OPC_EmitStringInteger32, PPC::sub_eq,
15205 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15206 MVT::i1, 2, 3, 4,
15207 OPC_EmitInteger32, 0,
15208 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15209 MVT::i32, 1, 6,
15210 OPC_EmitInteger32, 2,
15211 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15212 MVT::i32, 1, 8,
15213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15214 MVT::i32, 3, 5, 7, 9,
15215 46,
15216 OPC_CheckType, MVT::i1,
15217 OPC_MoveParent,
15218 OPC_CheckTypeI64,
15219 OPC_CheckPatternPredicate0,
15220 OPC_EmitMergeInputChains1_0,
15221 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15222 MVT::i32, 2, 1, 2,
15223 OPC_EmitStringInteger32, PPC::sub_eq,
15224 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15225 MVT::i1, 2, 3, 4,
15226 OPC_EmitInteger64, 0,
15227 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15228 MVT::i64, 1, 6,
15229 OPC_EmitInteger64, 2,
15230 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15231 MVT::i64, 1, 8,
15232 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15233 MVT::i64, 3, 5, 7, 9,
15234 0,
15235 97,
15236 OPC_CheckCondCode, ISD::SETNE,
15237 OPC_MoveParent,
15238 OPC_Scope, 44,
15239 OPC_MoveParent,
15240 OPC_CheckTypeI32,
15241 OPC_CheckPatternPredicate0,
15242 OPC_EmitMergeInputChains1_0,
15243 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15244 MVT::i32, 2, 1, 2,
15245 OPC_EmitStringInteger32, PPC::sub_eq,
15246 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15247 MVT::i1, 2, 3, 4,
15248 OPC_EmitInteger32, 0,
15249 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15250 MVT::i32, 1, 6,
15251 OPC_EmitInteger32, 2,
15252 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15253 MVT::i32, 1, 8,
15254 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15255 MVT::i32, 3, 5, 7, 9,
15256 46,
15257 OPC_CheckType, MVT::i1,
15258 OPC_MoveParent,
15259 OPC_CheckTypeI64,
15260 OPC_CheckPatternPredicate0,
15261 OPC_EmitMergeInputChains1_0,
15262 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15263 MVT::i32, 2, 1, 2,
15264 OPC_EmitStringInteger32, PPC::sub_eq,
15265 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15266 MVT::i1, 2, 3, 4,
15267 OPC_EmitInteger64, 0,
15268 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15269 MVT::i64, 1, 6,
15270 OPC_EmitInteger64, 2,
15271 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15272 MVT::i64, 1, 8,
15273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15274 MVT::i64, 3, 5, 7, 9,
15275 0,
15276 97,
15277 OPC_CheckCondCode, ISD::SETO,
15278 OPC_MoveParent,
15279 OPC_Scope, 44,
15280 OPC_MoveParent,
15281 OPC_CheckTypeI32,
15282 OPC_CheckPatternPredicate0,
15283 OPC_EmitMergeInputChains1_0,
15284 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15285 MVT::i32, 2, 1, 2,
15286 OPC_EmitStringInteger32, PPC::sub_un,
15287 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15288 MVT::i1, 2, 3, 4,
15289 OPC_EmitInteger32, 0,
15290 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15291 MVT::i32, 1, 6,
15292 OPC_EmitInteger32, 2,
15293 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15294 MVT::i32, 1, 8,
15295 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15296 MVT::i32, 3, 5, 7, 9,
15297 46,
15298 OPC_CheckType, MVT::i1,
15299 OPC_MoveParent,
15300 OPC_CheckTypeI64,
15301 OPC_CheckPatternPredicate0,
15302 OPC_EmitMergeInputChains1_0,
15303 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
15304 MVT::i32, 2, 1, 2,
15305 OPC_EmitStringInteger32, PPC::sub_un,
15306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15307 MVT::i1, 2, 3, 4,
15308 OPC_EmitInteger64, 0,
15309 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15310 MVT::i64, 1, 6,
15311 OPC_EmitInteger64, 2,
15312 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15313 MVT::i64, 1, 8,
15314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15315 MVT::i64, 3, 5, 7, 9,
15316 0,
15317 0,
15318 0,
15319 2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
15320 OPC_RecordNode,
15321 OPC_RecordChild1,
15322 OPC_Scope, 98|128,9,
15323 OPC_CheckChild1Type, MVT::f32,
15324 OPC_RecordChild2,
15325 OPC_MoveChild3,
15326 OPC_Scope, 61|128,1,
15327 OPC_CheckCondCode, ISD::SETUGE,
15328 OPC_MoveParent,
15329 OPC_Scope, 44,
15330 OPC_MoveParent,
15331 OPC_CheckTypeI32,
15332 OPC_CheckPatternPredicate0,
15333 OPC_EmitMergeInputChains1_0,
15334 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15335 MVT::i32, 2, 1, 2,
15336 OPC_EmitStringInteger32, PPC::sub_lt,
15337 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15338 MVT::i1, 2, 3, 4,
15339 OPC_EmitInteger32, 0,
15340 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15341 MVT::i32, 1, 6,
15342 OPC_EmitInteger32, 2,
15343 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15344 MVT::i32, 1, 8,
15345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15346 MVT::i32, 3, 5, 7, 9,
15347 46,
15348 OPC_CheckType, MVT::i1,
15349 OPC_MoveParent,
15350 OPC_CheckTypeI64,
15351 OPC_CheckPatternPredicate0,
15352 OPC_EmitMergeInputChains1_0,
15353 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15354 MVT::i32, 2, 1, 2,
15355 OPC_EmitStringInteger32, PPC::sub_lt,
15356 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15357 MVT::i1, 2, 3, 4,
15358 OPC_EmitInteger64, 0,
15359 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15360 MVT::i64, 1, 6,
15361 OPC_EmitInteger64, 2,
15362 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15363 MVT::i64, 1, 8,
15364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15365 MVT::i64, 3, 5, 7, 9,
15366 44,
15367 OPC_MoveParent,
15368 OPC_CheckTypeI32,
15369 OPC_CheckPatternPredicate5,
15370 OPC_EmitMergeInputChains1_0,
15371 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
15372 MVT::i32, 2, 1, 2,
15373 OPC_EmitStringInteger32, PPC::sub_gt,
15374 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15375 MVT::i1, 2, 3, 4,
15376 OPC_EmitInteger32, 0,
15377 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15378 MVT::i32, 1, 6,
15379 OPC_EmitInteger32, 2,
15380 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15381 MVT::i32, 1, 8,
15382 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15383 MVT::i32, 3, 5, 7, 9,
15384 46,
15385 OPC_CheckType, MVT::i1,
15386 OPC_MoveParent,
15387 OPC_CheckTypeI64,
15388 OPC_CheckPatternPredicate5,
15389 OPC_EmitMergeInputChains1_0,
15390 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
15391 MVT::i32, 2, 1, 2,
15392 OPC_EmitStringInteger32, PPC::sub_gt,
15393 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15394 MVT::i1, 2, 3, 4,
15395 OPC_EmitInteger64, 0,
15396 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15397 MVT::i64, 1, 6,
15398 OPC_EmitInteger64, 2,
15399 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15400 MVT::i64, 1, 8,
15401 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15402 MVT::i64, 3, 5, 7, 9,
15403 0,
15404 61|128,1,
15405 OPC_CheckCondCode, ISD::SETGE,
15406 OPC_MoveParent,
15407 OPC_Scope, 44,
15408 OPC_MoveParent,
15409 OPC_CheckTypeI32,
15410 OPC_CheckPatternPredicate0,
15411 OPC_EmitMergeInputChains1_0,
15412 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15413 MVT::i32, 2, 1, 2,
15414 OPC_EmitStringInteger32, PPC::sub_lt,
15415 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15416 MVT::i1, 2, 3, 4,
15417 OPC_EmitInteger32, 0,
15418 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15419 MVT::i32, 1, 6,
15420 OPC_EmitInteger32, 2,
15421 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15422 MVT::i32, 1, 8,
15423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15424 MVT::i32, 3, 5, 7, 9,
15425 46,
15426 OPC_CheckType, MVT::i1,
15427 OPC_MoveParent,
15428 OPC_CheckTypeI64,
15429 OPC_CheckPatternPredicate0,
15430 OPC_EmitMergeInputChains1_0,
15431 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15432 MVT::i32, 2, 1, 2,
15433 OPC_EmitStringInteger32, PPC::sub_lt,
15434 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15435 MVT::i1, 2, 3, 4,
15436 OPC_EmitInteger64, 0,
15437 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15438 MVT::i64, 1, 6,
15439 OPC_EmitInteger64, 2,
15440 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15441 MVT::i64, 1, 8,
15442 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15443 MVT::i64, 3, 5, 7, 9,
15444 44,
15445 OPC_MoveParent,
15446 OPC_CheckTypeI32,
15447 OPC_CheckPatternPredicate5,
15448 OPC_EmitMergeInputChains1_0,
15449 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
15450 MVT::i32, 2, 1, 2,
15451 OPC_EmitStringInteger32, PPC::sub_gt,
15452 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15453 MVT::i1, 2, 3, 4,
15454 OPC_EmitInteger32, 0,
15455 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15456 MVT::i32, 1, 6,
15457 OPC_EmitInteger32, 2,
15458 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15459 MVT::i32, 1, 8,
15460 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15461 MVT::i32, 3, 5, 7, 9,
15462 46,
15463 OPC_CheckType, MVT::i1,
15464 OPC_MoveParent,
15465 OPC_CheckTypeI64,
15466 OPC_CheckPatternPredicate5,
15467 OPC_EmitMergeInputChains1_0,
15468 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
15469 MVT::i32, 2, 1, 2,
15470 OPC_EmitStringInteger32, PPC::sub_gt,
15471 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15472 MVT::i1, 2, 3, 4,
15473 OPC_EmitInteger64, 0,
15474 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15475 MVT::i64, 1, 6,
15476 OPC_EmitInteger64, 2,
15477 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15478 MVT::i64, 1, 8,
15479 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15480 MVT::i64, 3, 5, 7, 9,
15481 0,
15482 61|128,1,
15483 OPC_CheckCondCode, ISD::SETULE,
15484 OPC_MoveParent,
15485 OPC_Scope, 44,
15486 OPC_MoveParent,
15487 OPC_CheckTypeI32,
15488 OPC_CheckPatternPredicate0,
15489 OPC_EmitMergeInputChains1_0,
15490 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15491 MVT::i32, 2, 1, 2,
15492 OPC_EmitStringInteger32, PPC::sub_gt,
15493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15494 MVT::i1, 2, 3, 4,
15495 OPC_EmitInteger32, 0,
15496 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15497 MVT::i32, 1, 6,
15498 OPC_EmitInteger32, 2,
15499 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15500 MVT::i32, 1, 8,
15501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15502 MVT::i32, 3, 5, 7, 9,
15503 46,
15504 OPC_CheckType, MVT::i1,
15505 OPC_MoveParent,
15506 OPC_CheckTypeI64,
15507 OPC_CheckPatternPredicate0,
15508 OPC_EmitMergeInputChains1_0,
15509 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15510 MVT::i32, 2, 1, 2,
15511 OPC_EmitStringInteger32, PPC::sub_gt,
15512 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15513 MVT::i1, 2, 3, 4,
15514 OPC_EmitInteger64, 0,
15515 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15516 MVT::i64, 1, 6,
15517 OPC_EmitInteger64, 2,
15518 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15519 MVT::i64, 1, 8,
15520 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15521 MVT::i64, 3, 5, 7, 9,
15522 44,
15523 OPC_MoveParent,
15524 OPC_CheckTypeI32,
15525 OPC_CheckPatternPredicate5,
15526 OPC_EmitMergeInputChains1_0,
15527 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
15528 MVT::i32, 2, 1, 2,
15529 OPC_EmitStringInteger32, PPC::sub_gt,
15530 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15531 MVT::i1, 2, 3, 4,
15532 OPC_EmitInteger32, 0,
15533 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15534 MVT::i32, 1, 6,
15535 OPC_EmitInteger32, 2,
15536 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15537 MVT::i32, 1, 8,
15538 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15539 MVT::i32, 3, 5, 7, 9,
15540 46,
15541 OPC_CheckType, MVT::i1,
15542 OPC_MoveParent,
15543 OPC_CheckTypeI64,
15544 OPC_CheckPatternPredicate5,
15545 OPC_EmitMergeInputChains1_0,
15546 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
15547 MVT::i32, 2, 1, 2,
15548 OPC_EmitStringInteger32, PPC::sub_gt,
15549 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15550 MVT::i1, 2, 3, 4,
15551 OPC_EmitInteger64, 0,
15552 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15553 MVT::i64, 1, 6,
15554 OPC_EmitInteger64, 2,
15555 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15556 MVT::i64, 1, 8,
15557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15558 MVT::i64, 3, 5, 7, 9,
15559 0,
15560 61|128,1,
15561 OPC_CheckCondCode, ISD::SETLE,
15562 OPC_MoveParent,
15563 OPC_Scope, 44,
15564 OPC_MoveParent,
15565 OPC_CheckTypeI32,
15566 OPC_CheckPatternPredicate0,
15567 OPC_EmitMergeInputChains1_0,
15568 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15569 MVT::i32, 2, 1, 2,
15570 OPC_EmitStringInteger32, PPC::sub_gt,
15571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15572 MVT::i1, 2, 3, 4,
15573 OPC_EmitInteger32, 0,
15574 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15575 MVT::i32, 1, 6,
15576 OPC_EmitInteger32, 2,
15577 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15578 MVT::i32, 1, 8,
15579 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15580 MVT::i32, 3, 5, 7, 9,
15581 46,
15582 OPC_CheckType, MVT::i1,
15583 OPC_MoveParent,
15584 OPC_CheckTypeI64,
15585 OPC_CheckPatternPredicate0,
15586 OPC_EmitMergeInputChains1_0,
15587 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15588 MVT::i32, 2, 1, 2,
15589 OPC_EmitStringInteger32, PPC::sub_gt,
15590 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15591 MVT::i1, 2, 3, 4,
15592 OPC_EmitInteger64, 0,
15593 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15594 MVT::i64, 1, 6,
15595 OPC_EmitInteger64, 2,
15596 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15597 MVT::i64, 1, 8,
15598 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15599 MVT::i64, 3, 5, 7, 9,
15600 44,
15601 OPC_MoveParent,
15602 OPC_CheckTypeI32,
15603 OPC_CheckPatternPredicate5,
15604 OPC_EmitMergeInputChains1_0,
15605 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
15606 MVT::i32, 2, 1, 2,
15607 OPC_EmitStringInteger32, PPC::sub_gt,
15608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15609 MVT::i1, 2, 3, 4,
15610 OPC_EmitInteger32, 0,
15611 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15612 MVT::i32, 1, 6,
15613 OPC_EmitInteger32, 2,
15614 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15615 MVT::i32, 1, 8,
15616 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15617 MVT::i32, 3, 5, 7, 9,
15618 46,
15619 OPC_CheckType, MVT::i1,
15620 OPC_MoveParent,
15621 OPC_CheckTypeI64,
15622 OPC_CheckPatternPredicate5,
15623 OPC_EmitMergeInputChains1_0,
15624 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
15625 MVT::i32, 2, 1, 2,
15626 OPC_EmitStringInteger32, PPC::sub_gt,
15627 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15628 MVT::i1, 2, 3, 4,
15629 OPC_EmitInteger64, 0,
15630 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15631 MVT::i64, 1, 6,
15632 OPC_EmitInteger64, 2,
15633 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15634 MVT::i64, 1, 8,
15635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15636 MVT::i64, 3, 5, 7, 9,
15637 0,
15638 61|128,1,
15639 OPC_CheckCondCode, ISD::SETUNE,
15640 OPC_MoveParent,
15641 OPC_Scope, 44,
15642 OPC_MoveParent,
15643 OPC_CheckTypeI32,
15644 OPC_CheckPatternPredicate0,
15645 OPC_EmitMergeInputChains1_0,
15646 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15647 MVT::i32, 2, 1, 2,
15648 OPC_EmitStringInteger32, PPC::sub_eq,
15649 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15650 MVT::i1, 2, 3, 4,
15651 OPC_EmitInteger32, 0,
15652 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15653 MVT::i32, 1, 6,
15654 OPC_EmitInteger32, 2,
15655 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15656 MVT::i32, 1, 8,
15657 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15658 MVT::i32, 3, 5, 7, 9,
15659 46,
15660 OPC_CheckType, MVT::i1,
15661 OPC_MoveParent,
15662 OPC_CheckTypeI64,
15663 OPC_CheckPatternPredicate0,
15664 OPC_EmitMergeInputChains1_0,
15665 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15666 MVT::i32, 2, 1, 2,
15667 OPC_EmitStringInteger32, PPC::sub_eq,
15668 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15669 MVT::i1, 2, 3, 4,
15670 OPC_EmitInteger64, 0,
15671 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15672 MVT::i64, 1, 6,
15673 OPC_EmitInteger64, 2,
15674 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15675 MVT::i64, 1, 8,
15676 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15677 MVT::i64, 3, 5, 7, 9,
15678 44,
15679 OPC_MoveParent,
15680 OPC_CheckTypeI32,
15681 OPC_CheckPatternPredicate5,
15682 OPC_EmitMergeInputChains1_0,
15683 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
15684 MVT::i32, 2, 1, 2,
15685 OPC_EmitStringInteger32, PPC::sub_gt,
15686 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15687 MVT::i1, 2, 3, 4,
15688 OPC_EmitInteger32, 0,
15689 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15690 MVT::i32, 1, 6,
15691 OPC_EmitInteger32, 2,
15692 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15693 MVT::i32, 1, 8,
15694 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15695 MVT::i32, 3, 5, 7, 9,
15696 46,
15697 OPC_CheckType, MVT::i1,
15698 OPC_MoveParent,
15699 OPC_CheckTypeI64,
15700 OPC_CheckPatternPredicate5,
15701 OPC_EmitMergeInputChains1_0,
15702 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
15703 MVT::i32, 2, 1, 2,
15704 OPC_EmitStringInteger32, PPC::sub_gt,
15705 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15706 MVT::i1, 2, 3, 4,
15707 OPC_EmitInteger64, 0,
15708 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15709 MVT::i64, 1, 6,
15710 OPC_EmitInteger64, 2,
15711 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15712 MVT::i64, 1, 8,
15713 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15714 MVT::i64, 3, 5, 7, 9,
15715 0,
15716 61|128,1,
15717 OPC_CheckCondCode, ISD::SETNE,
15718 OPC_MoveParent,
15719 OPC_Scope, 44,
15720 OPC_MoveParent,
15721 OPC_CheckTypeI32,
15722 OPC_CheckPatternPredicate0,
15723 OPC_EmitMergeInputChains1_0,
15724 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15725 MVT::i32, 2, 1, 2,
15726 OPC_EmitStringInteger32, PPC::sub_eq,
15727 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15728 MVT::i1, 2, 3, 4,
15729 OPC_EmitInteger32, 0,
15730 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15731 MVT::i32, 1, 6,
15732 OPC_EmitInteger32, 2,
15733 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15734 MVT::i32, 1, 8,
15735 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15736 MVT::i32, 3, 5, 7, 9,
15737 46,
15738 OPC_CheckType, MVT::i1,
15739 OPC_MoveParent,
15740 OPC_CheckTypeI64,
15741 OPC_CheckPatternPredicate0,
15742 OPC_EmitMergeInputChains1_0,
15743 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15744 MVT::i32, 2, 1, 2,
15745 OPC_EmitStringInteger32, PPC::sub_eq,
15746 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15747 MVT::i1, 2, 3, 4,
15748 OPC_EmitInteger64, 0,
15749 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15750 MVT::i64, 1, 6,
15751 OPC_EmitInteger64, 2,
15752 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15753 MVT::i64, 1, 8,
15754 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15755 MVT::i64, 3, 5, 7, 9,
15756 44,
15757 OPC_MoveParent,
15758 OPC_CheckTypeI32,
15759 OPC_CheckPatternPredicate5,
15760 OPC_EmitMergeInputChains1_0,
15761 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
15762 MVT::i32, 2, 1, 2,
15763 OPC_EmitStringInteger32, PPC::sub_gt,
15764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15765 MVT::i1, 2, 3, 4,
15766 OPC_EmitInteger32, 0,
15767 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15768 MVT::i32, 1, 6,
15769 OPC_EmitInteger32, 2,
15770 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15771 MVT::i32, 1, 8,
15772 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15773 MVT::i32, 3, 5, 7, 9,
15774 46,
15775 OPC_CheckType, MVT::i1,
15776 OPC_MoveParent,
15777 OPC_CheckTypeI64,
15778 OPC_CheckPatternPredicate5,
15779 OPC_EmitMergeInputChains1_0,
15780 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
15781 MVT::i32, 2, 1, 2,
15782 OPC_EmitStringInteger32, PPC::sub_gt,
15783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15784 MVT::i1, 2, 3, 4,
15785 OPC_EmitInteger64, 0,
15786 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15787 MVT::i64, 1, 6,
15788 OPC_EmitInteger64, 2,
15789 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15790 MVT::i64, 1, 8,
15791 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15792 MVT::i64, 3, 5, 7, 9,
15793 0,
15794 97,
15795 OPC_CheckCondCode, ISD::SETO,
15796 OPC_MoveParent,
15797 OPC_Scope, 44,
15798 OPC_MoveParent,
15799 OPC_CheckTypeI32,
15800 OPC_CheckPatternPredicate0,
15801 OPC_EmitMergeInputChains1_0,
15802 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15803 MVT::i32, 2, 1, 2,
15804 OPC_EmitStringInteger32, PPC::sub_un,
15805 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15806 MVT::i1, 2, 3, 4,
15807 OPC_EmitInteger32, 0,
15808 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15809 MVT::i32, 1, 6,
15810 OPC_EmitInteger32, 2,
15811 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15812 MVT::i32, 1, 8,
15813 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15814 MVT::i32, 3, 5, 7, 9,
15815 46,
15816 OPC_CheckType, MVT::i1,
15817 OPC_MoveParent,
15818 OPC_CheckTypeI64,
15819 OPC_CheckPatternPredicate0,
15820 OPC_EmitMergeInputChains1_0,
15821 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
15822 MVT::i32, 2, 1, 2,
15823 OPC_EmitStringInteger32, PPC::sub_un,
15824 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15825 MVT::i1, 2, 3, 4,
15826 OPC_EmitInteger64, 0,
15827 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15828 MVT::i64, 1, 6,
15829 OPC_EmitInteger64, 2,
15830 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15831 MVT::i64, 1, 8,
15832 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15833 MVT::i64, 3, 5, 7, 9,
15834 0,
15835 0,
15836 98|128,9,
15837 OPC_CheckChild1Type, MVT::f64,
15838 OPC_RecordChild2,
15839 OPC_MoveChild3,
15840 OPC_Scope, 61|128,1,
15841 OPC_CheckCondCode, ISD::SETUGE,
15842 OPC_MoveParent,
15843 OPC_Scope, 44,
15844 OPC_MoveParent,
15845 OPC_CheckTypeI32,
15846 OPC_CheckPatternPredicate0,
15847 OPC_EmitMergeInputChains1_0,
15848 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
15849 MVT::i32, 2, 1, 2,
15850 OPC_EmitStringInteger32, PPC::sub_lt,
15851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15852 MVT::i1, 2, 3, 4,
15853 OPC_EmitInteger32, 0,
15854 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15855 MVT::i32, 1, 6,
15856 OPC_EmitInteger32, 2,
15857 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15858 MVT::i32, 1, 8,
15859 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15860 MVT::i32, 3, 5, 7, 9,
15861 46,
15862 OPC_CheckType, MVT::i1,
15863 OPC_MoveParent,
15864 OPC_CheckTypeI64,
15865 OPC_CheckPatternPredicate0,
15866 OPC_EmitMergeInputChains1_0,
15867 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
15868 MVT::i32, 2, 1, 2,
15869 OPC_EmitStringInteger32, PPC::sub_lt,
15870 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15871 MVT::i1, 2, 3, 4,
15872 OPC_EmitInteger64, 0,
15873 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15874 MVT::i64, 1, 6,
15875 OPC_EmitInteger64, 2,
15876 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15877 MVT::i64, 1, 8,
15878 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15879 MVT::i64, 3, 5, 7, 9,
15880 44,
15881 OPC_MoveParent,
15882 OPC_CheckTypeI32,
15883 OPC_CheckPatternPredicate5,
15884 OPC_EmitMergeInputChains1_0,
15885 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
15886 MVT::i32, 2, 1, 2,
15887 OPC_EmitStringInteger32, PPC::sub_gt,
15888 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15889 MVT::i1, 2, 3, 4,
15890 OPC_EmitInteger32, 0,
15891 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15892 MVT::i32, 1, 6,
15893 OPC_EmitInteger32, 2,
15894 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15895 MVT::i32, 1, 8,
15896 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15897 MVT::i32, 3, 5, 7, 9,
15898 46,
15899 OPC_CheckType, MVT::i1,
15900 OPC_MoveParent,
15901 OPC_CheckTypeI64,
15902 OPC_CheckPatternPredicate5,
15903 OPC_EmitMergeInputChains1_0,
15904 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
15905 MVT::i32, 2, 1, 2,
15906 OPC_EmitStringInteger32, PPC::sub_gt,
15907 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15908 MVT::i1, 2, 3, 4,
15909 OPC_EmitInteger64, 0,
15910 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15911 MVT::i64, 1, 6,
15912 OPC_EmitInteger64, 2,
15913 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15914 MVT::i64, 1, 8,
15915 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15916 MVT::i64, 3, 5, 7, 9,
15917 0,
15918 61|128,1,
15919 OPC_CheckCondCode, ISD::SETGE,
15920 OPC_MoveParent,
15921 OPC_Scope, 44,
15922 OPC_MoveParent,
15923 OPC_CheckTypeI32,
15924 OPC_CheckPatternPredicate0,
15925 OPC_EmitMergeInputChains1_0,
15926 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
15927 MVT::i32, 2, 1, 2,
15928 OPC_EmitStringInteger32, PPC::sub_lt,
15929 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15930 MVT::i1, 2, 3, 4,
15931 OPC_EmitInteger32, 0,
15932 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15933 MVT::i32, 1, 6,
15934 OPC_EmitInteger32, 2,
15935 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15936 MVT::i32, 1, 8,
15937 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15938 MVT::i32, 3, 5, 7, 9,
15939 46,
15940 OPC_CheckType, MVT::i1,
15941 OPC_MoveParent,
15942 OPC_CheckTypeI64,
15943 OPC_CheckPatternPredicate0,
15944 OPC_EmitMergeInputChains1_0,
15945 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
15946 MVT::i32, 2, 1, 2,
15947 OPC_EmitStringInteger32, PPC::sub_lt,
15948 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15949 MVT::i1, 2, 3, 4,
15950 OPC_EmitInteger64, 0,
15951 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15952 MVT::i64, 1, 6,
15953 OPC_EmitInteger64, 2,
15954 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15955 MVT::i64, 1, 8,
15956 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15957 MVT::i64, 3, 5, 7, 9,
15958 44,
15959 OPC_MoveParent,
15960 OPC_CheckTypeI32,
15961 OPC_CheckPatternPredicate5,
15962 OPC_EmitMergeInputChains1_0,
15963 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
15964 MVT::i32, 2, 1, 2,
15965 OPC_EmitStringInteger32, PPC::sub_gt,
15966 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15967 MVT::i1, 2, 3, 4,
15968 OPC_EmitInteger32, 0,
15969 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15970 MVT::i32, 1, 6,
15971 OPC_EmitInteger32, 2,
15972 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
15973 MVT::i32, 1, 8,
15974 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
15975 MVT::i32, 3, 5, 7, 9,
15976 46,
15977 OPC_CheckType, MVT::i1,
15978 OPC_MoveParent,
15979 OPC_CheckTypeI64,
15980 OPC_CheckPatternPredicate5,
15981 OPC_EmitMergeInputChains1_0,
15982 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
15983 MVT::i32, 2, 1, 2,
15984 OPC_EmitStringInteger32, PPC::sub_gt,
15985 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
15986 MVT::i1, 2, 3, 4,
15987 OPC_EmitInteger64, 0,
15988 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15989 MVT::i64, 1, 6,
15990 OPC_EmitInteger64, 2,
15991 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
15992 MVT::i64, 1, 8,
15993 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
15994 MVT::i64, 3, 5, 7, 9,
15995 0,
15996 61|128,1,
15997 OPC_CheckCondCode, ISD::SETULE,
15998 OPC_MoveParent,
15999 OPC_Scope, 44,
16000 OPC_MoveParent,
16001 OPC_CheckTypeI32,
16002 OPC_CheckPatternPredicate0,
16003 OPC_EmitMergeInputChains1_0,
16004 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16005 MVT::i32, 2, 1, 2,
16006 OPC_EmitStringInteger32, PPC::sub_gt,
16007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16008 MVT::i1, 2, 3, 4,
16009 OPC_EmitInteger32, 0,
16010 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16011 MVT::i32, 1, 6,
16012 OPC_EmitInteger32, 2,
16013 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16014 MVT::i32, 1, 8,
16015 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16016 MVT::i32, 3, 5, 7, 9,
16017 46,
16018 OPC_CheckType, MVT::i1,
16019 OPC_MoveParent,
16020 OPC_CheckTypeI64,
16021 OPC_CheckPatternPredicate0,
16022 OPC_EmitMergeInputChains1_0,
16023 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16024 MVT::i32, 2, 1, 2,
16025 OPC_EmitStringInteger32, PPC::sub_gt,
16026 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16027 MVT::i1, 2, 3, 4,
16028 OPC_EmitInteger64, 0,
16029 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16030 MVT::i64, 1, 6,
16031 OPC_EmitInteger64, 2,
16032 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16033 MVT::i64, 1, 8,
16034 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16035 MVT::i64, 3, 5, 7, 9,
16036 44,
16037 OPC_MoveParent,
16038 OPC_CheckTypeI32,
16039 OPC_CheckPatternPredicate5,
16040 OPC_EmitMergeInputChains1_0,
16041 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
16042 MVT::i32, 2, 1, 2,
16043 OPC_EmitStringInteger32, PPC::sub_gt,
16044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16045 MVT::i1, 2, 3, 4,
16046 OPC_EmitInteger32, 0,
16047 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16048 MVT::i32, 1, 6,
16049 OPC_EmitInteger32, 2,
16050 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16051 MVT::i32, 1, 8,
16052 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16053 MVT::i32, 3, 5, 7, 9,
16054 46,
16055 OPC_CheckType, MVT::i1,
16056 OPC_MoveParent,
16057 OPC_CheckTypeI64,
16058 OPC_CheckPatternPredicate5,
16059 OPC_EmitMergeInputChains1_0,
16060 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
16061 MVT::i32, 2, 1, 2,
16062 OPC_EmitStringInteger32, PPC::sub_gt,
16063 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16064 MVT::i1, 2, 3, 4,
16065 OPC_EmitInteger64, 0,
16066 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16067 MVT::i64, 1, 6,
16068 OPC_EmitInteger64, 2,
16069 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16070 MVT::i64, 1, 8,
16071 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16072 MVT::i64, 3, 5, 7, 9,
16073 0,
16074 61|128,1,
16075 OPC_CheckCondCode, ISD::SETLE,
16076 OPC_MoveParent,
16077 OPC_Scope, 44,
16078 OPC_MoveParent,
16079 OPC_CheckTypeI32,
16080 OPC_CheckPatternPredicate0,
16081 OPC_EmitMergeInputChains1_0,
16082 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16083 MVT::i32, 2, 1, 2,
16084 OPC_EmitStringInteger32, PPC::sub_gt,
16085 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16086 MVT::i1, 2, 3, 4,
16087 OPC_EmitInteger32, 0,
16088 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16089 MVT::i32, 1, 6,
16090 OPC_EmitInteger32, 2,
16091 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16092 MVT::i32, 1, 8,
16093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16094 MVT::i32, 3, 5, 7, 9,
16095 46,
16096 OPC_CheckType, MVT::i1,
16097 OPC_MoveParent,
16098 OPC_CheckTypeI64,
16099 OPC_CheckPatternPredicate0,
16100 OPC_EmitMergeInputChains1_0,
16101 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16102 MVT::i32, 2, 1, 2,
16103 OPC_EmitStringInteger32, PPC::sub_gt,
16104 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16105 MVT::i1, 2, 3, 4,
16106 OPC_EmitInteger64, 0,
16107 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16108 MVT::i64, 1, 6,
16109 OPC_EmitInteger64, 2,
16110 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16111 MVT::i64, 1, 8,
16112 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16113 MVT::i64, 3, 5, 7, 9,
16114 44,
16115 OPC_MoveParent,
16116 OPC_CheckTypeI32,
16117 OPC_CheckPatternPredicate5,
16118 OPC_EmitMergeInputChains1_0,
16119 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
16120 MVT::i32, 2, 1, 2,
16121 OPC_EmitStringInteger32, PPC::sub_gt,
16122 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16123 MVT::i1, 2, 3, 4,
16124 OPC_EmitInteger32, 0,
16125 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16126 MVT::i32, 1, 6,
16127 OPC_EmitInteger32, 2,
16128 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16129 MVT::i32, 1, 8,
16130 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16131 MVT::i32, 3, 5, 7, 9,
16132 46,
16133 OPC_CheckType, MVT::i1,
16134 OPC_MoveParent,
16135 OPC_CheckTypeI64,
16136 OPC_CheckPatternPredicate5,
16137 OPC_EmitMergeInputChains1_0,
16138 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
16139 MVT::i32, 2, 1, 2,
16140 OPC_EmitStringInteger32, PPC::sub_gt,
16141 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16142 MVT::i1, 2, 3, 4,
16143 OPC_EmitInteger64, 0,
16144 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16145 MVT::i64, 1, 6,
16146 OPC_EmitInteger64, 2,
16147 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16148 MVT::i64, 1, 8,
16149 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16150 MVT::i64, 3, 5, 7, 9,
16151 0,
16152 61|128,1,
16153 OPC_CheckCondCode, ISD::SETUNE,
16154 OPC_MoveParent,
16155 OPC_Scope, 44,
16156 OPC_MoveParent,
16157 OPC_CheckTypeI32,
16158 OPC_CheckPatternPredicate0,
16159 OPC_EmitMergeInputChains1_0,
16160 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16161 MVT::i32, 2, 1, 2,
16162 OPC_EmitStringInteger32, PPC::sub_eq,
16163 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16164 MVT::i1, 2, 3, 4,
16165 OPC_EmitInteger32, 0,
16166 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16167 MVT::i32, 1, 6,
16168 OPC_EmitInteger32, 2,
16169 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16170 MVT::i32, 1, 8,
16171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16172 MVT::i32, 3, 5, 7, 9,
16173 46,
16174 OPC_CheckType, MVT::i1,
16175 OPC_MoveParent,
16176 OPC_CheckTypeI64,
16177 OPC_CheckPatternPredicate0,
16178 OPC_EmitMergeInputChains1_0,
16179 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16180 MVT::i32, 2, 1, 2,
16181 OPC_EmitStringInteger32, PPC::sub_eq,
16182 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16183 MVT::i1, 2, 3, 4,
16184 OPC_EmitInteger64, 0,
16185 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16186 MVT::i64, 1, 6,
16187 OPC_EmitInteger64, 2,
16188 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16189 MVT::i64, 1, 8,
16190 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16191 MVT::i64, 3, 5, 7, 9,
16192 44,
16193 OPC_MoveParent,
16194 OPC_CheckTypeI32,
16195 OPC_CheckPatternPredicate5,
16196 OPC_EmitMergeInputChains1_0,
16197 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
16198 MVT::i32, 2, 1, 2,
16199 OPC_EmitStringInteger32, PPC::sub_gt,
16200 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16201 MVT::i1, 2, 3, 4,
16202 OPC_EmitInteger32, 0,
16203 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16204 MVT::i32, 1, 6,
16205 OPC_EmitInteger32, 2,
16206 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16207 MVT::i32, 1, 8,
16208 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16209 MVT::i32, 3, 5, 7, 9,
16210 46,
16211 OPC_CheckType, MVT::i1,
16212 OPC_MoveParent,
16213 OPC_CheckTypeI64,
16214 OPC_CheckPatternPredicate5,
16215 OPC_EmitMergeInputChains1_0,
16216 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
16217 MVT::i32, 2, 1, 2,
16218 OPC_EmitStringInteger32, PPC::sub_gt,
16219 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16220 MVT::i1, 2, 3, 4,
16221 OPC_EmitInteger64, 0,
16222 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16223 MVT::i64, 1, 6,
16224 OPC_EmitInteger64, 2,
16225 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16226 MVT::i64, 1, 8,
16227 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16228 MVT::i64, 3, 5, 7, 9,
16229 0,
16230 61|128,1,
16231 OPC_CheckCondCode, ISD::SETNE,
16232 OPC_MoveParent,
16233 OPC_Scope, 44,
16234 OPC_MoveParent,
16235 OPC_CheckTypeI32,
16236 OPC_CheckPatternPredicate0,
16237 OPC_EmitMergeInputChains1_0,
16238 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16239 MVT::i32, 2, 1, 2,
16240 OPC_EmitStringInteger32, PPC::sub_eq,
16241 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16242 MVT::i1, 2, 3, 4,
16243 OPC_EmitInteger32, 0,
16244 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16245 MVT::i32, 1, 6,
16246 OPC_EmitInteger32, 2,
16247 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16248 MVT::i32, 1, 8,
16249 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16250 MVT::i32, 3, 5, 7, 9,
16251 46,
16252 OPC_CheckType, MVT::i1,
16253 OPC_MoveParent,
16254 OPC_CheckTypeI64,
16255 OPC_CheckPatternPredicate0,
16256 OPC_EmitMergeInputChains1_0,
16257 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16258 MVT::i32, 2, 1, 2,
16259 OPC_EmitStringInteger32, PPC::sub_eq,
16260 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16261 MVT::i1, 2, 3, 4,
16262 OPC_EmitInteger64, 0,
16263 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16264 MVT::i64, 1, 6,
16265 OPC_EmitInteger64, 2,
16266 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16267 MVT::i64, 1, 8,
16268 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16269 MVT::i64, 3, 5, 7, 9,
16270 44,
16271 OPC_MoveParent,
16272 OPC_CheckTypeI32,
16273 OPC_CheckPatternPredicate5,
16274 OPC_EmitMergeInputChains1_0,
16275 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
16276 MVT::i32, 2, 1, 2,
16277 OPC_EmitStringInteger32, PPC::sub_gt,
16278 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16279 MVT::i1, 2, 3, 4,
16280 OPC_EmitInteger32, 0,
16281 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16282 MVT::i32, 1, 6,
16283 OPC_EmitInteger32, 2,
16284 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16285 MVT::i32, 1, 8,
16286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16287 MVT::i32, 3, 5, 7, 9,
16288 46,
16289 OPC_CheckType, MVT::i1,
16290 OPC_MoveParent,
16291 OPC_CheckTypeI64,
16292 OPC_CheckPatternPredicate5,
16293 OPC_EmitMergeInputChains1_0,
16294 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
16295 MVT::i32, 2, 1, 2,
16296 OPC_EmitStringInteger32, PPC::sub_gt,
16297 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16298 MVT::i1, 2, 3, 4,
16299 OPC_EmitInteger64, 0,
16300 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16301 MVT::i64, 1, 6,
16302 OPC_EmitInteger64, 2,
16303 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16304 MVT::i64, 1, 8,
16305 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16306 MVT::i64, 3, 5, 7, 9,
16307 0,
16308 97,
16309 OPC_CheckCondCode, ISD::SETO,
16310 OPC_MoveParent,
16311 OPC_Scope, 44,
16312 OPC_MoveParent,
16313 OPC_CheckTypeI32,
16314 OPC_CheckPatternPredicate0,
16315 OPC_EmitMergeInputChains1_0,
16316 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16317 MVT::i32, 2, 1, 2,
16318 OPC_EmitStringInteger32, PPC::sub_un,
16319 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16320 MVT::i1, 2, 3, 4,
16321 OPC_EmitInteger32, 0,
16322 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16323 MVT::i32, 1, 6,
16324 OPC_EmitInteger32, 2,
16325 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16326 MVT::i32, 1, 8,
16327 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16328 MVT::i32, 3, 5, 7, 9,
16329 46,
16330 OPC_CheckType, MVT::i1,
16331 OPC_MoveParent,
16332 OPC_CheckTypeI64,
16333 OPC_CheckPatternPredicate0,
16334 OPC_EmitMergeInputChains1_0,
16335 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
16336 MVT::i32, 2, 1, 2,
16337 OPC_EmitStringInteger32, PPC::sub_un,
16338 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16339 MVT::i1, 2, 3, 4,
16340 OPC_EmitInteger64, 0,
16341 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16342 MVT::i64, 1, 6,
16343 OPC_EmitInteger64, 2,
16344 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16345 MVT::i64, 1, 8,
16346 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16347 MVT::i64, 3, 5, 7, 9,
16348 0,
16349 0,
16350 52|128,5,
16351 OPC_CheckChild1Type, MVT::f128,
16352 OPC_RecordChild2,
16353 OPC_MoveChild3,
16354 OPC_Scope, 97,
16355 OPC_CheckCondCode, ISD::SETUGE,
16356 OPC_MoveParent,
16357 OPC_Scope, 44,
16358 OPC_MoveParent,
16359 OPC_CheckTypeI32,
16360 OPC_CheckPatternPredicate0,
16361 OPC_EmitMergeInputChains1_0,
16362 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16363 MVT::i32, 2, 1, 2,
16364 OPC_EmitStringInteger32, PPC::sub_lt,
16365 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16366 MVT::i1, 2, 3, 4,
16367 OPC_EmitInteger32, 0,
16368 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16369 MVT::i32, 1, 6,
16370 OPC_EmitInteger32, 2,
16371 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16372 MVT::i32, 1, 8,
16373 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16374 MVT::i32, 3, 5, 7, 9,
16375 46,
16376 OPC_CheckType, MVT::i1,
16377 OPC_MoveParent,
16378 OPC_CheckTypeI64,
16379 OPC_CheckPatternPredicate0,
16380 OPC_EmitMergeInputChains1_0,
16381 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16382 MVT::i32, 2, 1, 2,
16383 OPC_EmitStringInteger32, PPC::sub_lt,
16384 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16385 MVT::i1, 2, 3, 4,
16386 OPC_EmitInteger64, 0,
16387 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16388 MVT::i64, 1, 6,
16389 OPC_EmitInteger64, 2,
16390 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16391 MVT::i64, 1, 8,
16392 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16393 MVT::i64, 3, 5, 7, 9,
16394 0,
16395 97,
16396 OPC_CheckCondCode, ISD::SETGE,
16397 OPC_MoveParent,
16398 OPC_Scope, 44,
16399 OPC_MoveParent,
16400 OPC_CheckTypeI32,
16401 OPC_CheckPatternPredicate0,
16402 OPC_EmitMergeInputChains1_0,
16403 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16404 MVT::i32, 2, 1, 2,
16405 OPC_EmitStringInteger32, PPC::sub_lt,
16406 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16407 MVT::i1, 2, 3, 4,
16408 OPC_EmitInteger32, 0,
16409 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16410 MVT::i32, 1, 6,
16411 OPC_EmitInteger32, 2,
16412 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16413 MVT::i32, 1, 8,
16414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16415 MVT::i32, 3, 5, 7, 9,
16416 46,
16417 OPC_CheckType, MVT::i1,
16418 OPC_MoveParent,
16419 OPC_CheckTypeI64,
16420 OPC_CheckPatternPredicate0,
16421 OPC_EmitMergeInputChains1_0,
16422 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16423 MVT::i32, 2, 1, 2,
16424 OPC_EmitStringInteger32, PPC::sub_lt,
16425 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16426 MVT::i1, 2, 3, 4,
16427 OPC_EmitInteger64, 0,
16428 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16429 MVT::i64, 1, 6,
16430 OPC_EmitInteger64, 2,
16431 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16432 MVT::i64, 1, 8,
16433 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16434 MVT::i64, 3, 5, 7, 9,
16435 0,
16436 97,
16437 OPC_CheckCondCode, ISD::SETULE,
16438 OPC_MoveParent,
16439 OPC_Scope, 44,
16440 OPC_MoveParent,
16441 OPC_CheckTypeI32,
16442 OPC_CheckPatternPredicate0,
16443 OPC_EmitMergeInputChains1_0,
16444 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16445 MVT::i32, 2, 1, 2,
16446 OPC_EmitStringInteger32, PPC::sub_gt,
16447 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16448 MVT::i1, 2, 3, 4,
16449 OPC_EmitInteger32, 0,
16450 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16451 MVT::i32, 1, 6,
16452 OPC_EmitInteger32, 2,
16453 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16454 MVT::i32, 1, 8,
16455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16456 MVT::i32, 3, 5, 7, 9,
16457 46,
16458 OPC_CheckType, MVT::i1,
16459 OPC_MoveParent,
16460 OPC_CheckTypeI64,
16461 OPC_CheckPatternPredicate0,
16462 OPC_EmitMergeInputChains1_0,
16463 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16464 MVT::i32, 2, 1, 2,
16465 OPC_EmitStringInteger32, PPC::sub_gt,
16466 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16467 MVT::i1, 2, 3, 4,
16468 OPC_EmitInteger64, 0,
16469 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16470 MVT::i64, 1, 6,
16471 OPC_EmitInteger64, 2,
16472 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16473 MVT::i64, 1, 8,
16474 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16475 MVT::i64, 3, 5, 7, 9,
16476 0,
16477 97,
16478 OPC_CheckCondCode, ISD::SETLE,
16479 OPC_MoveParent,
16480 OPC_Scope, 44,
16481 OPC_MoveParent,
16482 OPC_CheckTypeI32,
16483 OPC_CheckPatternPredicate0,
16484 OPC_EmitMergeInputChains1_0,
16485 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16486 MVT::i32, 2, 1, 2,
16487 OPC_EmitStringInteger32, PPC::sub_gt,
16488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16489 MVT::i1, 2, 3, 4,
16490 OPC_EmitInteger32, 0,
16491 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16492 MVT::i32, 1, 6,
16493 OPC_EmitInteger32, 2,
16494 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16495 MVT::i32, 1, 8,
16496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16497 MVT::i32, 3, 5, 7, 9,
16498 46,
16499 OPC_CheckType, MVT::i1,
16500 OPC_MoveParent,
16501 OPC_CheckTypeI64,
16502 OPC_CheckPatternPredicate0,
16503 OPC_EmitMergeInputChains1_0,
16504 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16505 MVT::i32, 2, 1, 2,
16506 OPC_EmitStringInteger32, PPC::sub_gt,
16507 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16508 MVT::i1, 2, 3, 4,
16509 OPC_EmitInteger64, 0,
16510 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16511 MVT::i64, 1, 6,
16512 OPC_EmitInteger64, 2,
16513 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16514 MVT::i64, 1, 8,
16515 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16516 MVT::i64, 3, 5, 7, 9,
16517 0,
16518 97,
16519 OPC_CheckCondCode, ISD::SETUNE,
16520 OPC_MoveParent,
16521 OPC_Scope, 44,
16522 OPC_MoveParent,
16523 OPC_CheckTypeI32,
16524 OPC_CheckPatternPredicate0,
16525 OPC_EmitMergeInputChains1_0,
16526 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16527 MVT::i32, 2, 1, 2,
16528 OPC_EmitStringInteger32, PPC::sub_eq,
16529 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16530 MVT::i1, 2, 3, 4,
16531 OPC_EmitInteger32, 0,
16532 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16533 MVT::i32, 1, 6,
16534 OPC_EmitInteger32, 2,
16535 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16536 MVT::i32, 1, 8,
16537 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16538 MVT::i32, 3, 5, 7, 9,
16539 46,
16540 OPC_CheckType, MVT::i1,
16541 OPC_MoveParent,
16542 OPC_CheckTypeI64,
16543 OPC_CheckPatternPredicate0,
16544 OPC_EmitMergeInputChains1_0,
16545 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16546 MVT::i32, 2, 1, 2,
16547 OPC_EmitStringInteger32, PPC::sub_eq,
16548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16549 MVT::i1, 2, 3, 4,
16550 OPC_EmitInteger64, 0,
16551 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16552 MVT::i64, 1, 6,
16553 OPC_EmitInteger64, 2,
16554 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16555 MVT::i64, 1, 8,
16556 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16557 MVT::i64, 3, 5, 7, 9,
16558 0,
16559 97,
16560 OPC_CheckCondCode, ISD::SETNE,
16561 OPC_MoveParent,
16562 OPC_Scope, 44,
16563 OPC_MoveParent,
16564 OPC_CheckTypeI32,
16565 OPC_CheckPatternPredicate0,
16566 OPC_EmitMergeInputChains1_0,
16567 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16568 MVT::i32, 2, 1, 2,
16569 OPC_EmitStringInteger32, PPC::sub_eq,
16570 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16571 MVT::i1, 2, 3, 4,
16572 OPC_EmitInteger32, 0,
16573 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16574 MVT::i32, 1, 6,
16575 OPC_EmitInteger32, 2,
16576 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16577 MVT::i32, 1, 8,
16578 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16579 MVT::i32, 3, 5, 7, 9,
16580 46,
16581 OPC_CheckType, MVT::i1,
16582 OPC_MoveParent,
16583 OPC_CheckTypeI64,
16584 OPC_CheckPatternPredicate0,
16585 OPC_EmitMergeInputChains1_0,
16586 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16587 MVT::i32, 2, 1, 2,
16588 OPC_EmitStringInteger32, PPC::sub_eq,
16589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16590 MVT::i1, 2, 3, 4,
16591 OPC_EmitInteger64, 0,
16592 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16593 MVT::i64, 1, 6,
16594 OPC_EmitInteger64, 2,
16595 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16596 MVT::i64, 1, 8,
16597 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16598 MVT::i64, 3, 5, 7, 9,
16599 0,
16600 97,
16601 OPC_CheckCondCode, ISD::SETO,
16602 OPC_MoveParent,
16603 OPC_Scope, 44,
16604 OPC_MoveParent,
16605 OPC_CheckTypeI32,
16606 OPC_CheckPatternPredicate0,
16607 OPC_EmitMergeInputChains1_0,
16608 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16609 MVT::i32, 2, 1, 2,
16610 OPC_EmitStringInteger32, PPC::sub_un,
16611 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16612 MVT::i1, 2, 3, 4,
16613 OPC_EmitInteger32, 0,
16614 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16615 MVT::i32, 1, 6,
16616 OPC_EmitInteger32, 2,
16617 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16618 MVT::i32, 1, 8,
16619 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16620 MVT::i32, 3, 5, 7, 9,
16621 46,
16622 OPC_CheckType, MVT::i1,
16623 OPC_MoveParent,
16624 OPC_CheckTypeI64,
16625 OPC_CheckPatternPredicate0,
16626 OPC_EmitMergeInputChains1_0,
16627 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
16628 MVT::i32, 2, 1, 2,
16629 OPC_EmitStringInteger32, PPC::sub_un,
16630 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16631 MVT::i1, 2, 3, 4,
16632 OPC_EmitInteger64, 0,
16633 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16634 MVT::i64, 1, 6,
16635 OPC_EmitInteger64, 2,
16636 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16637 MVT::i64, 1, 8,
16638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16639 MVT::i64, 3, 5, 7, 9,
16640 0,
16641 0,
16642 0,
16643 0,
16644 111,
16645 OPC_RecordChild0,
16646 OPC_SwitchType , 35, MVT::i32,
16647 OPC_Scope, 7,
16648 OPC_CheckPatternPredicate4,
16649 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC),
16650 MVT::i32, 1, 0,
16651 24,
16652 OPC_EmitInteger32, 2,
16653 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16654 MVT::i32, 1, 1,
16655 OPC_EmitInteger32, 0,
16656 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
16657 MVT::i32, 1, 3,
16658 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
16659 MVT::i32, 3, 0, 2, 4,
16660 0,
16661 69, MVT::i64,
16662 OPC_Scope, 37,
16663 OPC_CheckChild0Type, MVT::i1,
16664 OPC_Scope, 7,
16665 OPC_CheckPatternPredicate4,
16666 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETBC8),
16667 MVT::i64, 1, 0,
16668 24,
16669 OPC_EmitInteger64, 2,
16670 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16671 MVT::i64, 1, 1,
16672 OPC_EmitInteger64, 0,
16673 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16674 MVT::i64, 1, 3,
16675 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
16676 MVT::i64, 3, 0, 2, 4,
16677 0,
16678 28,
16679 OPC_CheckChild0TypeI32,
16680 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16681 MVT::i64, 0,
16682 OPC_EmitStringInteger32, PPC::sub_32,
16683 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16684 MVT::i64, 3, 1, 0, 2,
16685 OPC_EmitInteger32, 0,
16686 OPC_EmitInteger32, 64,
16687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
16688 MVT::i64, 3, 3, 4, 5,
16689 0,
16690 0,
16691 0,
16692 57|128,109, TARGET_VAL(ISD::SIGN_EXTEND),
16693 OPC_Scope, 90|128,108,
16694 OPC_MoveChild0,
16695 OPC_SwitchOpcode , 87|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
16696 OPC_RecordChild0,
16697 OPC_CheckChild0Type, MVT::v4i32,
16698 OPC_CheckTypeI32,
16699 OPC_Scope, 54,
16700 OPC_CheckChild1Integer, 0,
16701 OPC_MoveParent,
16702 OPC_CheckTypeI64,
16703 OPC_Scope, 23,
16704 OPC_CheckPatternPredicate, 15,
16705 OPC_EmitInteger64, 0,
16706 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16707 MVT::i64, 1, 1,
16708 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
16709 MVT::i64, 2, 2, 0,
16710 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16711 MVT::i64, 1, 3,
16712 23,
16713 OPC_CheckPatternPredicate, 16,
16714 OPC_EmitInteger64, 0,
16715 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16716 MVT::i64, 1, 1,
16717 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
16718 MVT::i64, 2, 2, 0,
16719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16720 MVT::i64, 1, 3,
16721 0,
16722 78,
16723 OPC_CheckChild1Integer, 4,
16724 OPC_MoveParent,
16725 OPC_CheckTypeI64,
16726 OPC_Scope, 23,
16727 OPC_CheckPatternPredicate, 15,
16728 OPC_EmitInteger64, 16,
16729 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16730 MVT::i64, 1, 1,
16731 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
16732 MVT::i64, 2, 2, 0,
16733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16734 MVT::i64, 1, 3,
16735 47,
16736 OPC_CheckPatternPredicate, 16,
16737 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16738 MVT::i64, 0,
16739 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
16740 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16741 MVT::v2i64, 2, 0, 2,
16742 OPC_EmitStringInteger32, PPC::sub_64,
16743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16744 MVT::f64, 2, 3, 4,
16745 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
16746 MVT::i32, 1, 5,
16747 OPC_EmitStringInteger32, PPC::sub_32,
16748 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16749 MVT::i64, 3, 1, 6, 7,
16750 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16751 MVT::i64, 1, 8,
16752 0,
16753 54,
16754 OPC_CheckChild1Integer, 6,
16755 OPC_MoveParent,
16756 OPC_CheckTypeI64,
16757 OPC_Scope, 23,
16758 OPC_CheckPatternPredicate, 15,
16759 OPC_EmitInteger64, 24,
16760 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16761 MVT::i64, 1, 1,
16762 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
16763 MVT::i64, 2, 2, 0,
16764 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16765 MVT::i64, 1, 3,
16766 23,
16767 OPC_CheckPatternPredicate, 16,
16768 OPC_EmitInteger64, 24,
16769 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16770 MVT::i64, 1, 1,
16771 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
16772 MVT::i64, 2, 2, 0,
16773 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16774 MVT::i64, 1, 3,
16775 0,
16776 78,
16777 OPC_CheckChild1Integer, 2,
16778 OPC_MoveParent,
16779 OPC_CheckTypeI64,
16780 OPC_Scope, 23,
16781 OPC_CheckPatternPredicate, 16,
16782 OPC_EmitInteger64, 8,
16783 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
16784 MVT::i64, 1, 1,
16785 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
16786 MVT::i64, 2, 2, 0,
16787 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16788 MVT::i64, 1, 3,
16789 47,
16790 OPC_CheckPatternPredicate, 15,
16791 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
16792 MVT::i64, 0,
16793 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
16794 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16795 MVT::v2i64, 2, 0, 2,
16796 OPC_EmitStringInteger32, PPC::sub_64,
16797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16798 MVT::f64, 2, 3, 4,
16799 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
16800 MVT::i32, 1, 5,
16801 OPC_EmitStringInteger32, PPC::sub_32,
16802 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
16803 MVT::i64, 3, 1, 6, 7,
16804 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16805 MVT::i64, 1, 8,
16806 0,
16807 68,
16808 OPC_RecordChild1,
16809 OPC_CheckChild1TypeI64,
16810 OPC_MoveParent,
16811 OPC_CheckTypeI64,
16812 OPC_Scope, 30,
16813 OPC_CheckPatternPredicate, 15,
16814 OPC_EmitInteger32, 4,
16815 OPC_EmitInteger32, 56,
16816 OPC_EmitInteger32, 58,
16817 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
16818 MVT::i64, 4, 1, 2, 3, 4,
16819 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
16820 MVT::i64, 2, 5, 0,
16821 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16822 MVT::i64, 1, 6,
16823 30,
16824 OPC_CheckPatternPredicate, 16,
16825 OPC_EmitInteger32, 4,
16826 OPC_EmitInteger32, 56,
16827 OPC_EmitInteger32, 58,
16828 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
16829 MVT::i64, 4, 1, 2, 3, 4,
16830 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
16831 MVT::i64, 2, 5, 0,
16832 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
16833 MVT::i64, 1, 6,
16834 0,
16835 0,
16836 72|128,64, TARGET_VAL(ISD::SETCC),
16837 OPC_RecordChild0,
16838 OPC_Scope, 58|128,15,
16839 OPC_CheckChild0TypeI32,
16840 OPC_RecordChild1,
16841 OPC_Scope, 60|128,9,
16842 OPC_MoveChild1,
16843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16844 OPC_Scope, 62,
16845 OPC_CheckPredicate0,
16846 OPC_MoveParent,
16847 OPC_CheckChild2CondCode, ISD::SETUGE,
16848 OPC_Scope, 26,
16849 OPC_MoveParent,
16850 OPC_CheckTypeI32,
16851 OPC_CheckPatternPredicate4,
16852 OPC_EmitConvertToTarget1,
16853 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
16854 MVT::i32, 2, 0, 2,
16855 OPC_EmitStringInteger32, PPC::sub_lt,
16856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16857 MVT::i1, 2, 3, 4,
16858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
16859 MVT::i32, 1, 5,
16860 28,
16861 OPC_CheckType, MVT::i1,
16862 OPC_MoveParent,
16863 OPC_CheckTypeI64,
16864 OPC_CheckPatternPredicate4,
16865 OPC_EmitConvertToTarget1,
16866 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
16867 MVT::i32, 2, 0, 2,
16868 OPC_EmitStringInteger32, PPC::sub_lt,
16869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16870 MVT::i1, 2, 3, 4,
16871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
16872 MVT::i64, 1, 5,
16873 0,
16874 63,
16875 OPC_CheckPredicate, 10,
16876 OPC_MoveParent,
16877 OPC_CheckChild2CondCode, ISD::SETGE,
16878 OPC_Scope, 26,
16879 OPC_MoveParent,
16880 OPC_CheckTypeI32,
16881 OPC_CheckPatternPredicate4,
16882 OPC_EmitConvertToTarget1,
16883 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16884 MVT::i32, 2, 0, 2,
16885 OPC_EmitStringInteger32, PPC::sub_lt,
16886 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16887 MVT::i1, 2, 3, 4,
16888 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
16889 MVT::i32, 1, 5,
16890 28,
16891 OPC_CheckType, MVT::i1,
16892 OPC_MoveParent,
16893 OPC_CheckTypeI64,
16894 OPC_CheckPatternPredicate4,
16895 OPC_EmitConvertToTarget1,
16896 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16897 MVT::i32, 2, 0, 2,
16898 OPC_EmitStringInteger32, PPC::sub_lt,
16899 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16900 MVT::i1, 2, 3, 4,
16901 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
16902 MVT::i64, 1, 5,
16903 0,
16904 62,
16905 OPC_CheckPredicate0,
16906 OPC_MoveParent,
16907 OPC_CheckChild2CondCode, ISD::SETULE,
16908 OPC_Scope, 26,
16909 OPC_MoveParent,
16910 OPC_CheckTypeI32,
16911 OPC_CheckPatternPredicate4,
16912 OPC_EmitConvertToTarget1,
16913 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
16914 MVT::i32, 2, 0, 2,
16915 OPC_EmitStringInteger32, PPC::sub_gt,
16916 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16917 MVT::i1, 2, 3, 4,
16918 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
16919 MVT::i32, 1, 5,
16920 28,
16921 OPC_CheckType, MVT::i1,
16922 OPC_MoveParent,
16923 OPC_CheckTypeI64,
16924 OPC_CheckPatternPredicate4,
16925 OPC_EmitConvertToTarget1,
16926 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
16927 MVT::i32, 2, 0, 2,
16928 OPC_EmitStringInteger32, PPC::sub_gt,
16929 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16930 MVT::i1, 2, 3, 4,
16931 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
16932 MVT::i64, 1, 5,
16933 0,
16934 127,
16935 OPC_CheckPredicate, 10,
16936 OPC_MoveParent,
16937 OPC_Scope, 60,
16938 OPC_CheckChild2CondCode, ISD::SETLE,
16939 OPC_Scope, 26,
16940 OPC_MoveParent,
16941 OPC_CheckTypeI32,
16942 OPC_CheckPatternPredicate4,
16943 OPC_EmitConvertToTarget1,
16944 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16945 MVT::i32, 2, 0, 2,
16946 OPC_EmitStringInteger32, PPC::sub_gt,
16947 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16948 MVT::i1, 2, 3, 4,
16949 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
16950 MVT::i32, 1, 5,
16951 28,
16952 OPC_CheckType, MVT::i1,
16953 OPC_MoveParent,
16954 OPC_CheckTypeI64,
16955 OPC_CheckPatternPredicate4,
16956 OPC_EmitConvertToTarget1,
16957 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16958 MVT::i32, 2, 0, 2,
16959 OPC_EmitStringInteger32, PPC::sub_gt,
16960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16961 MVT::i1, 2, 3, 4,
16962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
16963 MVT::i64, 1, 5,
16964 0,
16965 60,
16966 OPC_CheckChild2CondCode, ISD::SETNE,
16967 OPC_Scope, 26,
16968 OPC_MoveParent,
16969 OPC_CheckTypeI32,
16970 OPC_CheckPatternPredicate4,
16971 OPC_EmitConvertToTarget1,
16972 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16973 MVT::i32, 2, 0, 2,
16974 OPC_EmitStringInteger32, PPC::sub_eq,
16975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16976 MVT::i1, 2, 3, 4,
16977 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
16978 MVT::i32, 1, 5,
16979 28,
16980 OPC_CheckType, MVT::i1,
16981 OPC_MoveParent,
16982 OPC_CheckTypeI64,
16983 OPC_CheckPatternPredicate4,
16984 OPC_EmitConvertToTarget1,
16985 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
16986 MVT::i32, 2, 0, 2,
16987 OPC_EmitStringInteger32, PPC::sub_eq,
16988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16989 MVT::i1, 2, 3, 4,
16990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
16991 MVT::i64, 1, 5,
16992 0,
16993 0,
16994 36|128,1,
16995 OPC_CheckPredicate0,
16996 OPC_MoveParent,
16997 OPC_Scope, 60,
16998 OPC_CheckChild2CondCode, ISD::SETNE,
16999 OPC_Scope, 26,
17000 OPC_MoveParent,
17001 OPC_CheckTypeI32,
17002 OPC_CheckPatternPredicate4,
17003 OPC_EmitConvertToTarget1,
17004 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17005 MVT::i32, 2, 0, 2,
17006 OPC_EmitStringInteger32, PPC::sub_eq,
17007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17008 MVT::i1, 2, 3, 4,
17009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17010 MVT::i32, 1, 5,
17011 28,
17012 OPC_CheckType, MVT::i1,
17013 OPC_MoveParent,
17014 OPC_CheckTypeI64,
17015 OPC_CheckPatternPredicate4,
17016 OPC_EmitConvertToTarget1,
17017 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17018 MVT::i32, 2, 0, 2,
17019 OPC_EmitStringInteger32, PPC::sub_eq,
17020 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17021 MVT::i1, 2, 3, 4,
17022 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17023 MVT::i64, 1, 5,
17024 0,
17025 98,
17026 OPC_CheckChild2CondCode, ISD::SETUGE,
17027 OPC_Scope, 45,
17028 OPC_MoveParent,
17029 OPC_CheckTypeI32,
17030 OPC_CheckPatternPredicate, 8,
17031 OPC_EmitConvertToTarget1,
17032 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17033 MVT::i32, 2, 0, 2,
17034 OPC_EmitStringInteger32, PPC::sub_lt,
17035 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17036 MVT::i1, 2, 3, 4,
17037 OPC_EmitInteger32, 0,
17038 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17039 MVT::i32, 1, 6,
17040 OPC_EmitInteger32, 3,
17041 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17042 MVT::i32, 1, 8,
17043 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17044 MVT::i32, 3, 5, 7, 9,
17045 47,
17046 OPC_CheckType, MVT::i1,
17047 OPC_MoveParent,
17048 OPC_CheckTypeI64,
17049 OPC_CheckPatternPredicate, 8,
17050 OPC_EmitConvertToTarget1,
17051 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17052 MVT::i32, 2, 0, 2,
17053 OPC_EmitStringInteger32, PPC::sub_lt,
17054 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17055 MVT::i1, 2, 3, 4,
17056 OPC_EmitInteger64, 0,
17057 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17058 MVT::i64, 1, 6,
17059 OPC_EmitInteger64, 3,
17060 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17061 MVT::i64, 1, 8,
17062 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17063 MVT::i64, 3, 5, 7, 9,
17064 0,
17065 0,
17066 101,
17067 OPC_CheckPredicate, 10,
17068 OPC_MoveParent,
17069 OPC_CheckChild2CondCode, ISD::SETGE,
17070 OPC_Scope, 45,
17071 OPC_MoveParent,
17072 OPC_CheckTypeI32,
17073 OPC_CheckPatternPredicate, 8,
17074 OPC_EmitConvertToTarget1,
17075 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17076 MVT::i32, 2, 0, 2,
17077 OPC_EmitStringInteger32, PPC::sub_lt,
17078 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17079 MVT::i1, 2, 3, 4,
17080 OPC_EmitInteger32, 0,
17081 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17082 MVT::i32, 1, 6,
17083 OPC_EmitInteger32, 3,
17084 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17085 MVT::i32, 1, 8,
17086 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17087 MVT::i32, 3, 5, 7, 9,
17088 47,
17089 OPC_CheckType, MVT::i1,
17090 OPC_MoveParent,
17091 OPC_CheckTypeI64,
17092 OPC_CheckPatternPredicate, 8,
17093 OPC_EmitConvertToTarget1,
17094 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17095 MVT::i32, 2, 0, 2,
17096 OPC_EmitStringInteger32, PPC::sub_lt,
17097 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17098 MVT::i1, 2, 3, 4,
17099 OPC_EmitInteger64, 0,
17100 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17101 MVT::i64, 1, 6,
17102 OPC_EmitInteger64, 3,
17103 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17104 MVT::i64, 1, 8,
17105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17106 MVT::i64, 3, 5, 7, 9,
17107 0,
17108 100,
17109 OPC_CheckPredicate0,
17110 OPC_MoveParent,
17111 OPC_CheckChild2CondCode, ISD::SETULE,
17112 OPC_Scope, 45,
17113 OPC_MoveParent,
17114 OPC_CheckTypeI32,
17115 OPC_CheckPatternPredicate, 8,
17116 OPC_EmitConvertToTarget1,
17117 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17118 MVT::i32, 2, 0, 2,
17119 OPC_EmitStringInteger32, PPC::sub_gt,
17120 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17121 MVT::i1, 2, 3, 4,
17122 OPC_EmitInteger32, 0,
17123 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17124 MVT::i32, 1, 6,
17125 OPC_EmitInteger32, 3,
17126 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17127 MVT::i32, 1, 8,
17128 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17129 MVT::i32, 3, 5, 7, 9,
17130 47,
17131 OPC_CheckType, MVT::i1,
17132 OPC_MoveParent,
17133 OPC_CheckTypeI64,
17134 OPC_CheckPatternPredicate, 8,
17135 OPC_EmitConvertToTarget1,
17136 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17137 MVT::i32, 2, 0, 2,
17138 OPC_EmitStringInteger32, PPC::sub_gt,
17139 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17140 MVT::i1, 2, 3, 4,
17141 OPC_EmitInteger64, 0,
17142 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17143 MVT::i64, 1, 6,
17144 OPC_EmitInteger64, 3,
17145 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17146 MVT::i64, 1, 8,
17147 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17148 MVT::i64, 3, 5, 7, 9,
17149 0,
17150 75|128,1,
17151 OPC_CheckPredicate, 10,
17152 OPC_MoveParent,
17153 OPC_Scope, 98,
17154 OPC_CheckChild2CondCode, ISD::SETLE,
17155 OPC_Scope, 45,
17156 OPC_MoveParent,
17157 OPC_CheckTypeI32,
17158 OPC_CheckPatternPredicate, 8,
17159 OPC_EmitConvertToTarget1,
17160 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17161 MVT::i32, 2, 0, 2,
17162 OPC_EmitStringInteger32, PPC::sub_gt,
17163 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17164 MVT::i1, 2, 3, 4,
17165 OPC_EmitInteger32, 0,
17166 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17167 MVT::i32, 1, 6,
17168 OPC_EmitInteger32, 3,
17169 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17170 MVT::i32, 1, 8,
17171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17172 MVT::i32, 3, 5, 7, 9,
17173 47,
17174 OPC_CheckType, MVT::i1,
17175 OPC_MoveParent,
17176 OPC_CheckTypeI64,
17177 OPC_CheckPatternPredicate, 8,
17178 OPC_EmitConvertToTarget1,
17179 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17180 MVT::i32, 2, 0, 2,
17181 OPC_EmitStringInteger32, PPC::sub_gt,
17182 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17183 MVT::i1, 2, 3, 4,
17184 OPC_EmitInteger64, 0,
17185 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17186 MVT::i64, 1, 6,
17187 OPC_EmitInteger64, 3,
17188 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17189 MVT::i64, 1, 8,
17190 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17191 MVT::i64, 3, 5, 7, 9,
17192 0,
17193 98,
17194 OPC_CheckChild2CondCode, ISD::SETNE,
17195 OPC_Scope, 45,
17196 OPC_MoveParent,
17197 OPC_CheckTypeI32,
17198 OPC_CheckPatternPredicate, 8,
17199 OPC_EmitConvertToTarget1,
17200 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17201 MVT::i32, 2, 0, 2,
17202 OPC_EmitStringInteger32, PPC::sub_eq,
17203 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17204 MVT::i1, 2, 3, 4,
17205 OPC_EmitInteger32, 0,
17206 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17207 MVT::i32, 1, 6,
17208 OPC_EmitInteger32, 3,
17209 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17210 MVT::i32, 1, 8,
17211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17212 MVT::i32, 3, 5, 7, 9,
17213 47,
17214 OPC_CheckType, MVT::i1,
17215 OPC_MoveParent,
17216 OPC_CheckTypeI64,
17217 OPC_CheckPatternPredicate, 8,
17218 OPC_EmitConvertToTarget1,
17219 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
17220 MVT::i32, 2, 0, 2,
17221 OPC_EmitStringInteger32, PPC::sub_eq,
17222 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17223 MVT::i1, 2, 3, 4,
17224 OPC_EmitInteger64, 0,
17225 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17226 MVT::i64, 1, 6,
17227 OPC_EmitInteger64, 3,
17228 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17229 MVT::i64, 1, 8,
17230 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17231 MVT::i64, 3, 5, 7, 9,
17232 0,
17233 0,
17234 100,
17235 OPC_CheckPredicate0,
17236 OPC_MoveParent,
17237 OPC_CheckChild2CondCode, ISD::SETNE,
17238 OPC_Scope, 45,
17239 OPC_MoveParent,
17240 OPC_CheckTypeI32,
17241 OPC_CheckPatternPredicate, 8,
17242 OPC_EmitConvertToTarget1,
17243 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17244 MVT::i32, 2, 0, 2,
17245 OPC_EmitStringInteger32, PPC::sub_eq,
17246 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17247 MVT::i1, 2, 3, 4,
17248 OPC_EmitInteger32, 0,
17249 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17250 MVT::i32, 1, 6,
17251 OPC_EmitInteger32, 3,
17252 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17253 MVT::i32, 1, 8,
17254 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17255 MVT::i32, 3, 5, 7, 9,
17256 47,
17257 OPC_CheckType, MVT::i1,
17258 OPC_MoveParent,
17259 OPC_CheckTypeI64,
17260 OPC_CheckPatternPredicate, 8,
17261 OPC_EmitConvertToTarget1,
17262 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17263 MVT::i32, 2, 0, 2,
17264 OPC_EmitStringInteger32, PPC::sub_eq,
17265 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17266 MVT::i1, 2, 3, 4,
17267 OPC_EmitInteger64, 0,
17268 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17269 MVT::i64, 1, 6,
17270 OPC_EmitInteger64, 3,
17271 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17272 MVT::i64, 1, 8,
17273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17274 MVT::i64, 3, 5, 7, 9,
17275 0,
17276 83|128,1,
17277 OPC_MoveParent,
17278 OPC_CheckChild2CondCode, ISD::SETNE,
17279 OPC_Scope, 40,
17280 OPC_MoveParent,
17281 OPC_CheckTypeI32,
17282 OPC_CheckPatternPredicate4,
17283 OPC_EmitConvertToTarget1,
17284 OPC_EmitNodeXForm, 0, 2,
17285 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
17286 MVT::i32, 2, 0, 3,
17287 OPC_EmitConvertToTarget1,
17288 OPC_EmitNodeXForm, 1, 5,
17289 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17290 MVT::i32, 2, 4, 6,
17291 OPC_EmitStringInteger32, PPC::sub_eq,
17292 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17293 MVT::i1, 2, 7, 8,
17294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17295 MVT::i32, 1, 9,
17296 42,
17297 OPC_CheckType, MVT::i1,
17298 OPC_MoveParent,
17299 OPC_CheckTypeI64,
17300 OPC_CheckPatternPredicate4,
17301 OPC_EmitConvertToTarget1,
17302 OPC_EmitNodeXForm, 0, 2,
17303 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
17304 MVT::i32, 2, 0, 3,
17305 OPC_EmitConvertToTarget1,
17306 OPC_EmitNodeXForm, 1, 5,
17307 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17308 MVT::i32, 2, 4, 6,
17309 OPC_EmitStringInteger32, PPC::sub_eq,
17310 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17311 MVT::i1, 2, 7, 8,
17312 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17313 MVT::i64, 1, 9,
17314 59,
17315 OPC_MoveParent,
17316 OPC_CheckTypeI32,
17317 OPC_CheckPatternPredicate, 8,
17318 OPC_EmitConvertToTarget1,
17319 OPC_EmitNodeXForm, 0, 2,
17320 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
17321 MVT::i32, 2, 0, 3,
17322 OPC_EmitConvertToTarget1,
17323 OPC_EmitNodeXForm, 1, 5,
17324 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17325 MVT::i32, 2, 4, 6,
17326 OPC_EmitStringInteger32, PPC::sub_eq,
17327 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17328 MVT::i1, 2, 7, 8,
17329 OPC_EmitInteger32, 0,
17330 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17331 MVT::i32, 1, 10,
17332 OPC_EmitInteger32, 3,
17333 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17334 MVT::i32, 1, 12,
17335 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17336 MVT::i32, 3, 9, 11, 13,
17337 61,
17338 OPC_CheckType, MVT::i1,
17339 OPC_MoveParent,
17340 OPC_CheckTypeI64,
17341 OPC_CheckPatternPredicate, 8,
17342 OPC_EmitConvertToTarget1,
17343 OPC_EmitNodeXForm, 0, 2,
17344 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
17345 MVT::i32, 2, 0, 3,
17346 OPC_EmitConvertToTarget1,
17347 OPC_EmitNodeXForm, 1, 5,
17348 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
17349 MVT::i32, 2, 4, 6,
17350 OPC_EmitStringInteger32, PPC::sub_eq,
17351 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17352 MVT::i1, 2, 7, 8,
17353 OPC_EmitInteger64, 0,
17354 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17355 MVT::i64, 1, 10,
17356 OPC_EmitInteger64, 3,
17357 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17358 MVT::i64, 1, 12,
17359 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17360 MVT::i64, 3, 9, 11, 13,
17361 0,
17362 0,
17363 22|128,1,
17364 OPC_CheckChild2CondCode, ISD::SETUGE,
17365 OPC_Scope, 25,
17366 OPC_MoveParent,
17367 OPC_CheckTypeI32,
17368 OPC_CheckPatternPredicate4,
17369 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17370 MVT::i32, 2, 0, 1,
17371 OPC_EmitStringInteger32, PPC::sub_lt,
17372 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17373 MVT::i1, 2, 2, 3,
17374 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17375 MVT::i32, 1, 4,
17376 27,
17377 OPC_CheckType, MVT::i1,
17378 OPC_MoveParent,
17379 OPC_CheckTypeI64,
17380 OPC_CheckPatternPredicate4,
17381 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17382 MVT::i32, 2, 0, 1,
17383 OPC_EmitStringInteger32, PPC::sub_lt,
17384 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17385 MVT::i1, 2, 2, 3,
17386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17387 MVT::i64, 1, 4,
17388 44,
17389 OPC_MoveParent,
17390 OPC_CheckTypeI32,
17391 OPC_CheckPatternPredicate, 8,
17392 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17393 MVT::i32, 2, 0, 1,
17394 OPC_EmitStringInteger32, PPC::sub_lt,
17395 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17396 MVT::i1, 2, 2, 3,
17397 OPC_EmitInteger32, 0,
17398 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17399 MVT::i32, 1, 5,
17400 OPC_EmitInteger32, 3,
17401 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17402 MVT::i32, 1, 7,
17403 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17404 MVT::i32, 3, 4, 6, 8,
17405 46,
17406 OPC_CheckType, MVT::i1,
17407 OPC_MoveParent,
17408 OPC_CheckTypeI64,
17409 OPC_CheckPatternPredicate, 8,
17410 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17411 MVT::i32, 2, 0, 1,
17412 OPC_EmitStringInteger32, PPC::sub_lt,
17413 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17414 MVT::i1, 2, 2, 3,
17415 OPC_EmitInteger64, 0,
17416 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17417 MVT::i64, 1, 5,
17418 OPC_EmitInteger64, 3,
17419 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17420 MVT::i64, 1, 7,
17421 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17422 MVT::i64, 3, 4, 6, 8,
17423 0,
17424 22|128,1,
17425 OPC_CheckChild2CondCode, ISD::SETGE,
17426 OPC_Scope, 25,
17427 OPC_MoveParent,
17428 OPC_CheckTypeI32,
17429 OPC_CheckPatternPredicate4,
17430 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17431 MVT::i32, 2, 0, 1,
17432 OPC_EmitStringInteger32, PPC::sub_lt,
17433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17434 MVT::i1, 2, 2, 3,
17435 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17436 MVT::i32, 1, 4,
17437 27,
17438 OPC_CheckType, MVT::i1,
17439 OPC_MoveParent,
17440 OPC_CheckTypeI64,
17441 OPC_CheckPatternPredicate4,
17442 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17443 MVT::i32, 2, 0, 1,
17444 OPC_EmitStringInteger32, PPC::sub_lt,
17445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17446 MVT::i1, 2, 2, 3,
17447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17448 MVT::i64, 1, 4,
17449 44,
17450 OPC_MoveParent,
17451 OPC_CheckTypeI32,
17452 OPC_CheckPatternPredicate, 8,
17453 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17454 MVT::i32, 2, 0, 1,
17455 OPC_EmitStringInteger32, PPC::sub_lt,
17456 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17457 MVT::i1, 2, 2, 3,
17458 OPC_EmitInteger32, 0,
17459 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17460 MVT::i32, 1, 5,
17461 OPC_EmitInteger32, 3,
17462 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17463 MVT::i32, 1, 7,
17464 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17465 MVT::i32, 3, 4, 6, 8,
17466 46,
17467 OPC_CheckType, MVT::i1,
17468 OPC_MoveParent,
17469 OPC_CheckTypeI64,
17470 OPC_CheckPatternPredicate, 8,
17471 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17472 MVT::i32, 2, 0, 1,
17473 OPC_EmitStringInteger32, PPC::sub_lt,
17474 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17475 MVT::i1, 2, 2, 3,
17476 OPC_EmitInteger64, 0,
17477 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17478 MVT::i64, 1, 5,
17479 OPC_EmitInteger64, 3,
17480 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17481 MVT::i64, 1, 7,
17482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17483 MVT::i64, 3, 4, 6, 8,
17484 0,
17485 22|128,1,
17486 OPC_CheckChild2CondCode, ISD::SETULE,
17487 OPC_Scope, 25,
17488 OPC_MoveParent,
17489 OPC_CheckTypeI32,
17490 OPC_CheckPatternPredicate4,
17491 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17492 MVT::i32, 2, 0, 1,
17493 OPC_EmitStringInteger32, PPC::sub_gt,
17494 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17495 MVT::i1, 2, 2, 3,
17496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17497 MVT::i32, 1, 4,
17498 27,
17499 OPC_CheckType, MVT::i1,
17500 OPC_MoveParent,
17501 OPC_CheckTypeI64,
17502 OPC_CheckPatternPredicate4,
17503 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17504 MVT::i32, 2, 0, 1,
17505 OPC_EmitStringInteger32, PPC::sub_gt,
17506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17507 MVT::i1, 2, 2, 3,
17508 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17509 MVT::i64, 1, 4,
17510 44,
17511 OPC_MoveParent,
17512 OPC_CheckTypeI32,
17513 OPC_CheckPatternPredicate, 8,
17514 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17515 MVT::i32, 2, 0, 1,
17516 OPC_EmitStringInteger32, PPC::sub_gt,
17517 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17518 MVT::i1, 2, 2, 3,
17519 OPC_EmitInteger32, 0,
17520 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17521 MVT::i32, 1, 5,
17522 OPC_EmitInteger32, 3,
17523 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17524 MVT::i32, 1, 7,
17525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17526 MVT::i32, 3, 4, 6, 8,
17527 46,
17528 OPC_CheckType, MVT::i1,
17529 OPC_MoveParent,
17530 OPC_CheckTypeI64,
17531 OPC_CheckPatternPredicate, 8,
17532 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
17533 MVT::i32, 2, 0, 1,
17534 OPC_EmitStringInteger32, PPC::sub_gt,
17535 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17536 MVT::i1, 2, 2, 3,
17537 OPC_EmitInteger64, 0,
17538 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17539 MVT::i64, 1, 5,
17540 OPC_EmitInteger64, 3,
17541 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17542 MVT::i64, 1, 7,
17543 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17544 MVT::i64, 3, 4, 6, 8,
17545 0,
17546 22|128,1,
17547 OPC_CheckChild2CondCode, ISD::SETLE,
17548 OPC_Scope, 25,
17549 OPC_MoveParent,
17550 OPC_CheckTypeI32,
17551 OPC_CheckPatternPredicate4,
17552 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17553 MVT::i32, 2, 0, 1,
17554 OPC_EmitStringInteger32, PPC::sub_gt,
17555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17556 MVT::i1, 2, 2, 3,
17557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17558 MVT::i32, 1, 4,
17559 27,
17560 OPC_CheckType, MVT::i1,
17561 OPC_MoveParent,
17562 OPC_CheckTypeI64,
17563 OPC_CheckPatternPredicate4,
17564 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17565 MVT::i32, 2, 0, 1,
17566 OPC_EmitStringInteger32, PPC::sub_gt,
17567 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17568 MVT::i1, 2, 2, 3,
17569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17570 MVT::i64, 1, 4,
17571 44,
17572 OPC_MoveParent,
17573 OPC_CheckTypeI32,
17574 OPC_CheckPatternPredicate, 8,
17575 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17576 MVT::i32, 2, 0, 1,
17577 OPC_EmitStringInteger32, PPC::sub_gt,
17578 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17579 MVT::i1, 2, 2, 3,
17580 OPC_EmitInteger32, 0,
17581 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17582 MVT::i32, 1, 5,
17583 OPC_EmitInteger32, 3,
17584 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17585 MVT::i32, 1, 7,
17586 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17587 MVT::i32, 3, 4, 6, 8,
17588 46,
17589 OPC_CheckType, MVT::i1,
17590 OPC_MoveParent,
17591 OPC_CheckTypeI64,
17592 OPC_CheckPatternPredicate, 8,
17593 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17594 MVT::i32, 2, 0, 1,
17595 OPC_EmitStringInteger32, PPC::sub_gt,
17596 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17597 MVT::i1, 2, 2, 3,
17598 OPC_EmitInteger64, 0,
17599 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17600 MVT::i64, 1, 5,
17601 OPC_EmitInteger64, 3,
17602 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17603 MVT::i64, 1, 7,
17604 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17605 MVT::i64, 3, 4, 6, 8,
17606 0,
17607 22|128,1,
17608 OPC_CheckChild2CondCode, ISD::SETNE,
17609 OPC_Scope, 25,
17610 OPC_MoveParent,
17611 OPC_CheckTypeI32,
17612 OPC_CheckPatternPredicate4,
17613 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17614 MVT::i32, 2, 0, 1,
17615 OPC_EmitStringInteger32, PPC::sub_eq,
17616 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17617 MVT::i1, 2, 2, 3,
17618 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17619 MVT::i32, 1, 4,
17620 27,
17621 OPC_CheckType, MVT::i1,
17622 OPC_MoveParent,
17623 OPC_CheckTypeI64,
17624 OPC_CheckPatternPredicate4,
17625 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17626 MVT::i32, 2, 0, 1,
17627 OPC_EmitStringInteger32, PPC::sub_eq,
17628 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17629 MVT::i1, 2, 2, 3,
17630 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17631 MVT::i64, 1, 4,
17632 44,
17633 OPC_MoveParent,
17634 OPC_CheckTypeI32,
17635 OPC_CheckPatternPredicate, 8,
17636 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17637 MVT::i32, 2, 0, 1,
17638 OPC_EmitStringInteger32, PPC::sub_eq,
17639 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17640 MVT::i1, 2, 2, 3,
17641 OPC_EmitInteger32, 0,
17642 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17643 MVT::i32, 1, 5,
17644 OPC_EmitInteger32, 3,
17645 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17646 MVT::i32, 1, 7,
17647 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17648 MVT::i32, 3, 4, 6, 8,
17649 46,
17650 OPC_CheckType, MVT::i1,
17651 OPC_MoveParent,
17652 OPC_CheckTypeI64,
17653 OPC_CheckPatternPredicate, 8,
17654 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
17655 MVT::i32, 2, 0, 1,
17656 OPC_EmitStringInteger32, PPC::sub_eq,
17657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17658 MVT::i1, 2, 2, 3,
17659 OPC_EmitInteger64, 0,
17660 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17661 MVT::i64, 1, 5,
17662 OPC_EmitInteger64, 3,
17663 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17664 MVT::i64, 1, 7,
17665 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17666 MVT::i64, 3, 4, 6, 8,
17667 0,
17668 0,
17669 66|128,15,
17670 OPC_CheckChild0TypeI64,
17671 OPC_RecordChild1,
17672 OPC_Scope, 68|128,9,
17673 OPC_MoveChild1,
17674 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17675 OPC_Scope, 62,
17676 OPC_CheckPredicate0,
17677 OPC_MoveParent,
17678 OPC_CheckChild2CondCode, ISD::SETUGE,
17679 OPC_Scope, 26,
17680 OPC_MoveParent,
17681 OPC_CheckTypeI32,
17682 OPC_CheckPatternPredicate4,
17683 OPC_EmitConvertToTarget1,
17684 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17685 MVT::i32, 2, 0, 2,
17686 OPC_EmitStringInteger32, PPC::sub_lt,
17687 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17688 MVT::i1, 2, 3, 4,
17689 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17690 MVT::i32, 1, 5,
17691 28,
17692 OPC_CheckType, MVT::i1,
17693 OPC_MoveParent,
17694 OPC_CheckTypeI64,
17695 OPC_CheckPatternPredicate4,
17696 OPC_EmitConvertToTarget1,
17697 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17698 MVT::i32, 2, 0, 2,
17699 OPC_EmitStringInteger32, PPC::sub_lt,
17700 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17701 MVT::i1, 2, 3, 4,
17702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17703 MVT::i64, 1, 5,
17704 0,
17705 63,
17706 OPC_CheckPredicate, 12,
17707 OPC_MoveParent,
17708 OPC_CheckChild2CondCode, ISD::SETGE,
17709 OPC_Scope, 26,
17710 OPC_MoveParent,
17711 OPC_CheckTypeI32,
17712 OPC_CheckPatternPredicate4,
17713 OPC_EmitConvertToTarget1,
17714 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17715 MVT::i32, 2, 0, 2,
17716 OPC_EmitStringInteger32, PPC::sub_lt,
17717 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17718 MVT::i1, 2, 3, 4,
17719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17720 MVT::i32, 1, 5,
17721 28,
17722 OPC_CheckType, MVT::i1,
17723 OPC_MoveParent,
17724 OPC_CheckTypeI64,
17725 OPC_CheckPatternPredicate4,
17726 OPC_EmitConvertToTarget1,
17727 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17728 MVT::i32, 2, 0, 2,
17729 OPC_EmitStringInteger32, PPC::sub_lt,
17730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17731 MVT::i1, 2, 3, 4,
17732 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17733 MVT::i64, 1, 5,
17734 0,
17735 62,
17736 OPC_CheckPredicate0,
17737 OPC_MoveParent,
17738 OPC_CheckChild2CondCode, ISD::SETULE,
17739 OPC_Scope, 26,
17740 OPC_MoveParent,
17741 OPC_CheckTypeI32,
17742 OPC_CheckPatternPredicate4,
17743 OPC_EmitConvertToTarget1,
17744 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17745 MVT::i32, 2, 0, 2,
17746 OPC_EmitStringInteger32, PPC::sub_gt,
17747 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17748 MVT::i1, 2, 3, 4,
17749 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17750 MVT::i32, 1, 5,
17751 28,
17752 OPC_CheckType, MVT::i1,
17753 OPC_MoveParent,
17754 OPC_CheckTypeI64,
17755 OPC_CheckPatternPredicate4,
17756 OPC_EmitConvertToTarget1,
17757 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17758 MVT::i32, 2, 0, 2,
17759 OPC_EmitStringInteger32, PPC::sub_gt,
17760 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17761 MVT::i1, 2, 3, 4,
17762 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17763 MVT::i64, 1, 5,
17764 0,
17765 127,
17766 OPC_CheckPredicate, 12,
17767 OPC_MoveParent,
17768 OPC_Scope, 60,
17769 OPC_CheckChild2CondCode, ISD::SETLE,
17770 OPC_Scope, 26,
17771 OPC_MoveParent,
17772 OPC_CheckTypeI32,
17773 OPC_CheckPatternPredicate4,
17774 OPC_EmitConvertToTarget1,
17775 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17776 MVT::i32, 2, 0, 2,
17777 OPC_EmitStringInteger32, PPC::sub_gt,
17778 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17779 MVT::i1, 2, 3, 4,
17780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17781 MVT::i32, 1, 5,
17782 28,
17783 OPC_CheckType, MVT::i1,
17784 OPC_MoveParent,
17785 OPC_CheckTypeI64,
17786 OPC_CheckPatternPredicate4,
17787 OPC_EmitConvertToTarget1,
17788 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17789 MVT::i32, 2, 0, 2,
17790 OPC_EmitStringInteger32, PPC::sub_gt,
17791 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17792 MVT::i1, 2, 3, 4,
17793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17794 MVT::i64, 1, 5,
17795 0,
17796 60,
17797 OPC_CheckChild2CondCode, ISD::SETNE,
17798 OPC_Scope, 26,
17799 OPC_MoveParent,
17800 OPC_CheckTypeI32,
17801 OPC_CheckPatternPredicate4,
17802 OPC_EmitConvertToTarget1,
17803 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17804 MVT::i32, 2, 0, 2,
17805 OPC_EmitStringInteger32, PPC::sub_eq,
17806 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17807 MVT::i1, 2, 3, 4,
17808 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17809 MVT::i32, 1, 5,
17810 28,
17811 OPC_CheckType, MVT::i1,
17812 OPC_MoveParent,
17813 OPC_CheckTypeI64,
17814 OPC_CheckPatternPredicate4,
17815 OPC_EmitConvertToTarget1,
17816 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17817 MVT::i32, 2, 0, 2,
17818 OPC_EmitStringInteger32, PPC::sub_eq,
17819 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17820 MVT::i1, 2, 3, 4,
17821 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17822 MVT::i64, 1, 5,
17823 0,
17824 0,
17825 62,
17826 OPC_CheckPredicate0,
17827 OPC_MoveParent,
17828 OPC_CheckChild2CondCode, ISD::SETNE,
17829 OPC_Scope, 26,
17830 OPC_MoveParent,
17831 OPC_CheckTypeI32,
17832 OPC_CheckPatternPredicate4,
17833 OPC_EmitConvertToTarget1,
17834 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17835 MVT::i32, 2, 0, 2,
17836 OPC_EmitStringInteger32, PPC::sub_eq,
17837 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17838 MVT::i1, 2, 3, 4,
17839 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17840 MVT::i32, 1, 5,
17841 28,
17842 OPC_CheckType, MVT::i1,
17843 OPC_MoveParent,
17844 OPC_CheckTypeI64,
17845 OPC_CheckPatternPredicate4,
17846 OPC_EmitConvertToTarget1,
17847 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17848 MVT::i32, 2, 0, 2,
17849 OPC_EmitStringInteger32, PPC::sub_eq,
17850 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17851 MVT::i1, 2, 3, 4,
17852 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17853 MVT::i64, 1, 5,
17854 0,
17855 91,
17856 OPC_CheckPredicate, 22,
17857 OPC_MoveParent,
17858 OPC_CheckChild2CondCode, ISD::SETNE,
17859 OPC_Scope, 40,
17860 OPC_MoveParent,
17861 OPC_CheckTypeI32,
17862 OPC_CheckPatternPredicate4,
17863 OPC_EmitConvertToTarget1,
17864 OPC_EmitNodeXForm, 0, 2,
17865 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
17866 MVT::i64, 2, 0, 3,
17867 OPC_EmitConvertToTarget1,
17868 OPC_EmitNodeXForm, 1, 5,
17869 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17870 MVT::i32, 2, 4, 6,
17871 OPC_EmitStringInteger32, PPC::sub_eq,
17872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17873 MVT::i1, 2, 7, 8,
17874 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
17875 MVT::i32, 1, 9,
17876 42,
17877 OPC_CheckType, MVT::i1,
17878 OPC_MoveParent,
17879 OPC_CheckTypeI64,
17880 OPC_CheckPatternPredicate4,
17881 OPC_EmitConvertToTarget1,
17882 OPC_EmitNodeXForm, 0, 2,
17883 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
17884 MVT::i64, 2, 0, 3,
17885 OPC_EmitConvertToTarget1,
17886 OPC_EmitNodeXForm, 1, 5,
17887 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17888 MVT::i32, 2, 4, 6,
17889 OPC_EmitStringInteger32, PPC::sub_eq,
17890 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17891 MVT::i1, 2, 7, 8,
17892 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
17893 MVT::i64, 1, 9,
17894 0,
17895 100,
17896 OPC_CheckPredicate0,
17897 OPC_MoveParent,
17898 OPC_CheckChild2CondCode, ISD::SETUGE,
17899 OPC_Scope, 45,
17900 OPC_MoveParent,
17901 OPC_CheckTypeI32,
17902 OPC_CheckPatternPredicate, 8,
17903 OPC_EmitConvertToTarget1,
17904 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17905 MVT::i32, 2, 0, 2,
17906 OPC_EmitStringInteger32, PPC::sub_lt,
17907 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17908 MVT::i1, 2, 3, 4,
17909 OPC_EmitInteger32, 0,
17910 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17911 MVT::i32, 1, 6,
17912 OPC_EmitInteger32, 3,
17913 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17914 MVT::i32, 1, 8,
17915 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17916 MVT::i32, 3, 5, 7, 9,
17917 47,
17918 OPC_CheckType, MVT::i1,
17919 OPC_MoveParent,
17920 OPC_CheckTypeI64,
17921 OPC_CheckPatternPredicate, 8,
17922 OPC_EmitConvertToTarget1,
17923 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17924 MVT::i32, 2, 0, 2,
17925 OPC_EmitStringInteger32, PPC::sub_lt,
17926 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17927 MVT::i1, 2, 3, 4,
17928 OPC_EmitInteger64, 0,
17929 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17930 MVT::i64, 1, 6,
17931 OPC_EmitInteger64, 3,
17932 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17933 MVT::i64, 1, 8,
17934 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17935 MVT::i64, 3, 5, 7, 9,
17936 0,
17937 101,
17938 OPC_CheckPredicate, 12,
17939 OPC_MoveParent,
17940 OPC_CheckChild2CondCode, ISD::SETGE,
17941 OPC_Scope, 45,
17942 OPC_MoveParent,
17943 OPC_CheckTypeI32,
17944 OPC_CheckPatternPredicate, 8,
17945 OPC_EmitConvertToTarget1,
17946 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17947 MVT::i32, 2, 0, 2,
17948 OPC_EmitStringInteger32, PPC::sub_lt,
17949 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17950 MVT::i1, 2, 3, 4,
17951 OPC_EmitInteger32, 0,
17952 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17953 MVT::i32, 1, 6,
17954 OPC_EmitInteger32, 3,
17955 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17956 MVT::i32, 1, 8,
17957 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
17958 MVT::i32, 3, 5, 7, 9,
17959 47,
17960 OPC_CheckType, MVT::i1,
17961 OPC_MoveParent,
17962 OPC_CheckTypeI64,
17963 OPC_CheckPatternPredicate, 8,
17964 OPC_EmitConvertToTarget1,
17965 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
17966 MVT::i32, 2, 0, 2,
17967 OPC_EmitStringInteger32, PPC::sub_lt,
17968 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17969 MVT::i1, 2, 3, 4,
17970 OPC_EmitInteger64, 0,
17971 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17972 MVT::i64, 1, 6,
17973 OPC_EmitInteger64, 3,
17974 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
17975 MVT::i64, 1, 8,
17976 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
17977 MVT::i64, 3, 5, 7, 9,
17978 0,
17979 100,
17980 OPC_CheckPredicate0,
17981 OPC_MoveParent,
17982 OPC_CheckChild2CondCode, ISD::SETULE,
17983 OPC_Scope, 45,
17984 OPC_MoveParent,
17985 OPC_CheckTypeI32,
17986 OPC_CheckPatternPredicate, 8,
17987 OPC_EmitConvertToTarget1,
17988 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
17989 MVT::i32, 2, 0, 2,
17990 OPC_EmitStringInteger32, PPC::sub_gt,
17991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17992 MVT::i1, 2, 3, 4,
17993 OPC_EmitInteger32, 0,
17994 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17995 MVT::i32, 1, 6,
17996 OPC_EmitInteger32, 3,
17997 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
17998 MVT::i32, 1, 8,
17999 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18000 MVT::i32, 3, 5, 7, 9,
18001 47,
18002 OPC_CheckType, MVT::i1,
18003 OPC_MoveParent,
18004 OPC_CheckTypeI64,
18005 OPC_CheckPatternPredicate, 8,
18006 OPC_EmitConvertToTarget1,
18007 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
18008 MVT::i32, 2, 0, 2,
18009 OPC_EmitStringInteger32, PPC::sub_gt,
18010 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18011 MVT::i1, 2, 3, 4,
18012 OPC_EmitInteger64, 0,
18013 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18014 MVT::i64, 1, 6,
18015 OPC_EmitInteger64, 3,
18016 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18017 MVT::i64, 1, 8,
18018 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18019 MVT::i64, 3, 5, 7, 9,
18020 0,
18021 75|128,1,
18022 OPC_CheckPredicate, 12,
18023 OPC_MoveParent,
18024 OPC_Scope, 98,
18025 OPC_CheckChild2CondCode, ISD::SETLE,
18026 OPC_Scope, 45,
18027 OPC_MoveParent,
18028 OPC_CheckTypeI32,
18029 OPC_CheckPatternPredicate, 8,
18030 OPC_EmitConvertToTarget1,
18031 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
18032 MVT::i32, 2, 0, 2,
18033 OPC_EmitStringInteger32, PPC::sub_gt,
18034 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18035 MVT::i1, 2, 3, 4,
18036 OPC_EmitInteger32, 0,
18037 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18038 MVT::i32, 1, 6,
18039 OPC_EmitInteger32, 3,
18040 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18041 MVT::i32, 1, 8,
18042 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18043 MVT::i32, 3, 5, 7, 9,
18044 47,
18045 OPC_CheckType, MVT::i1,
18046 OPC_MoveParent,
18047 OPC_CheckTypeI64,
18048 OPC_CheckPatternPredicate, 8,
18049 OPC_EmitConvertToTarget1,
18050 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
18051 MVT::i32, 2, 0, 2,
18052 OPC_EmitStringInteger32, PPC::sub_gt,
18053 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18054 MVT::i1, 2, 3, 4,
18055 OPC_EmitInteger64, 0,
18056 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18057 MVT::i64, 1, 6,
18058 OPC_EmitInteger64, 3,
18059 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18060 MVT::i64, 1, 8,
18061 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18062 MVT::i64, 3, 5, 7, 9,
18063 0,
18064 98,
18065 OPC_CheckChild2CondCode, ISD::SETNE,
18066 OPC_Scope, 45,
18067 OPC_MoveParent,
18068 OPC_CheckTypeI32,
18069 OPC_CheckPatternPredicate, 8,
18070 OPC_EmitConvertToTarget1,
18071 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
18072 MVT::i32, 2, 0, 2,
18073 OPC_EmitStringInteger32, PPC::sub_eq,
18074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18075 MVT::i1, 2, 3, 4,
18076 OPC_EmitInteger32, 0,
18077 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18078 MVT::i32, 1, 6,
18079 OPC_EmitInteger32, 3,
18080 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18081 MVT::i32, 1, 8,
18082 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18083 MVT::i32, 3, 5, 7, 9,
18084 47,
18085 OPC_CheckType, MVT::i1,
18086 OPC_MoveParent,
18087 OPC_CheckTypeI64,
18088 OPC_CheckPatternPredicate, 8,
18089 OPC_EmitConvertToTarget1,
18090 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
18091 MVT::i32, 2, 0, 2,
18092 OPC_EmitStringInteger32, PPC::sub_eq,
18093 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18094 MVT::i1, 2, 3, 4,
18095 OPC_EmitInteger64, 0,
18096 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18097 MVT::i64, 1, 6,
18098 OPC_EmitInteger64, 3,
18099 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18100 MVT::i64, 1, 8,
18101 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18102 MVT::i64, 3, 5, 7, 9,
18103 0,
18104 0,
18105 100,
18106 OPC_CheckPredicate0,
18107 OPC_MoveParent,
18108 OPC_CheckChild2CondCode, ISD::SETNE,
18109 OPC_Scope, 45,
18110 OPC_MoveParent,
18111 OPC_CheckTypeI32,
18112 OPC_CheckPatternPredicate, 8,
18113 OPC_EmitConvertToTarget1,
18114 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
18115 MVT::i32, 2, 0, 2,
18116 OPC_EmitStringInteger32, PPC::sub_eq,
18117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18118 MVT::i1, 2, 3, 4,
18119 OPC_EmitInteger32, 0,
18120 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18121 MVT::i32, 1, 6,
18122 OPC_EmitInteger32, 3,
18123 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18124 MVT::i32, 1, 8,
18125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18126 MVT::i32, 3, 5, 7, 9,
18127 47,
18128 OPC_CheckType, MVT::i1,
18129 OPC_MoveParent,
18130 OPC_CheckTypeI64,
18131 OPC_CheckPatternPredicate, 8,
18132 OPC_EmitConvertToTarget1,
18133 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
18134 MVT::i32, 2, 0, 2,
18135 OPC_EmitStringInteger32, PPC::sub_eq,
18136 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18137 MVT::i1, 2, 3, 4,
18138 OPC_EmitInteger64, 0,
18139 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18140 MVT::i64, 1, 6,
18141 OPC_EmitInteger64, 3,
18142 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18143 MVT::i64, 1, 8,
18144 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18145 MVT::i64, 3, 5, 7, 9,
18146 0,
18147 1|128,1,
18148 OPC_CheckPredicate, 22,
18149 OPC_MoveParent,
18150 OPC_CheckChild2CondCode, ISD::SETNE,
18151 OPC_Scope, 59,
18152 OPC_MoveParent,
18153 OPC_CheckTypeI32,
18154 OPC_CheckPatternPredicate, 8,
18155 OPC_EmitConvertToTarget1,
18156 OPC_EmitNodeXForm, 0, 2,
18157 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
18158 MVT::i64, 2, 0, 3,
18159 OPC_EmitConvertToTarget1,
18160 OPC_EmitNodeXForm, 1, 5,
18161 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
18162 MVT::i32, 2, 4, 6,
18163 OPC_EmitStringInteger32, PPC::sub_eq,
18164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18165 MVT::i1, 2, 7, 8,
18166 OPC_EmitInteger32, 0,
18167 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18168 MVT::i32, 1, 10,
18169 OPC_EmitInteger32, 3,
18170 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18171 MVT::i32, 1, 12,
18172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18173 MVT::i32, 3, 9, 11, 13,
18174 61,
18175 OPC_CheckType, MVT::i1,
18176 OPC_MoveParent,
18177 OPC_CheckTypeI64,
18178 OPC_CheckPatternPredicate, 8,
18179 OPC_EmitConvertToTarget1,
18180 OPC_EmitNodeXForm, 0, 2,
18181 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
18182 MVT::i64, 2, 0, 3,
18183 OPC_EmitConvertToTarget1,
18184 OPC_EmitNodeXForm, 1, 5,
18185 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
18186 MVT::i32, 2, 4, 6,
18187 OPC_EmitStringInteger32, PPC::sub_eq,
18188 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18189 MVT::i1, 2, 7, 8,
18190 OPC_EmitInteger64, 0,
18191 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18192 MVT::i64, 1, 10,
18193 OPC_EmitInteger64, 3,
18194 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18195 MVT::i64, 1, 12,
18196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18197 MVT::i64, 3, 9, 11, 13,
18198 0,
18199 0,
18200 22|128,1,
18201 OPC_CheckChild2CondCode, ISD::SETUGE,
18202 OPC_Scope, 25,
18203 OPC_MoveParent,
18204 OPC_CheckTypeI32,
18205 OPC_CheckPatternPredicate4,
18206 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18207 MVT::i32, 2, 0, 1,
18208 OPC_EmitStringInteger32, PPC::sub_lt,
18209 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18210 MVT::i1, 2, 2, 3,
18211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18212 MVT::i32, 1, 4,
18213 27,
18214 OPC_CheckType, MVT::i1,
18215 OPC_MoveParent,
18216 OPC_CheckTypeI64,
18217 OPC_CheckPatternPredicate4,
18218 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18219 MVT::i32, 2, 0, 1,
18220 OPC_EmitStringInteger32, PPC::sub_lt,
18221 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18222 MVT::i1, 2, 2, 3,
18223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18224 MVT::i64, 1, 4,
18225 44,
18226 OPC_MoveParent,
18227 OPC_CheckTypeI32,
18228 OPC_CheckPatternPredicate, 8,
18229 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18230 MVT::i32, 2, 0, 1,
18231 OPC_EmitStringInteger32, PPC::sub_lt,
18232 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18233 MVT::i1, 2, 2, 3,
18234 OPC_EmitInteger32, 0,
18235 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18236 MVT::i32, 1, 5,
18237 OPC_EmitInteger32, 3,
18238 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18239 MVT::i32, 1, 7,
18240 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18241 MVT::i32, 3, 4, 6, 8,
18242 46,
18243 OPC_CheckType, MVT::i1,
18244 OPC_MoveParent,
18245 OPC_CheckTypeI64,
18246 OPC_CheckPatternPredicate, 8,
18247 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18248 MVT::i32, 2, 0, 1,
18249 OPC_EmitStringInteger32, PPC::sub_lt,
18250 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18251 MVT::i1, 2, 2, 3,
18252 OPC_EmitInteger64, 0,
18253 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18254 MVT::i64, 1, 5,
18255 OPC_EmitInteger64, 3,
18256 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18257 MVT::i64, 1, 7,
18258 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18259 MVT::i64, 3, 4, 6, 8,
18260 0,
18261 22|128,1,
18262 OPC_CheckChild2CondCode, ISD::SETGE,
18263 OPC_Scope, 25,
18264 OPC_MoveParent,
18265 OPC_CheckTypeI32,
18266 OPC_CheckPatternPredicate4,
18267 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18268 MVT::i32, 2, 0, 1,
18269 OPC_EmitStringInteger32, PPC::sub_lt,
18270 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18271 MVT::i1, 2, 2, 3,
18272 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18273 MVT::i32, 1, 4,
18274 27,
18275 OPC_CheckType, MVT::i1,
18276 OPC_MoveParent,
18277 OPC_CheckTypeI64,
18278 OPC_CheckPatternPredicate4,
18279 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18280 MVT::i32, 2, 0, 1,
18281 OPC_EmitStringInteger32, PPC::sub_lt,
18282 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18283 MVT::i1, 2, 2, 3,
18284 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18285 MVT::i64, 1, 4,
18286 44,
18287 OPC_MoveParent,
18288 OPC_CheckTypeI32,
18289 OPC_CheckPatternPredicate, 8,
18290 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18291 MVT::i32, 2, 0, 1,
18292 OPC_EmitStringInteger32, PPC::sub_lt,
18293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18294 MVT::i1, 2, 2, 3,
18295 OPC_EmitInteger32, 0,
18296 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18297 MVT::i32, 1, 5,
18298 OPC_EmitInteger32, 3,
18299 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18300 MVT::i32, 1, 7,
18301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18302 MVT::i32, 3, 4, 6, 8,
18303 46,
18304 OPC_CheckType, MVT::i1,
18305 OPC_MoveParent,
18306 OPC_CheckTypeI64,
18307 OPC_CheckPatternPredicate, 8,
18308 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18309 MVT::i32, 2, 0, 1,
18310 OPC_EmitStringInteger32, PPC::sub_lt,
18311 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18312 MVT::i1, 2, 2, 3,
18313 OPC_EmitInteger64, 0,
18314 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18315 MVT::i64, 1, 5,
18316 OPC_EmitInteger64, 3,
18317 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18318 MVT::i64, 1, 7,
18319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18320 MVT::i64, 3, 4, 6, 8,
18321 0,
18322 22|128,1,
18323 OPC_CheckChild2CondCode, ISD::SETULE,
18324 OPC_Scope, 25,
18325 OPC_MoveParent,
18326 OPC_CheckTypeI32,
18327 OPC_CheckPatternPredicate4,
18328 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18329 MVT::i32, 2, 0, 1,
18330 OPC_EmitStringInteger32, PPC::sub_gt,
18331 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18332 MVT::i1, 2, 2, 3,
18333 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18334 MVT::i32, 1, 4,
18335 27,
18336 OPC_CheckType, MVT::i1,
18337 OPC_MoveParent,
18338 OPC_CheckTypeI64,
18339 OPC_CheckPatternPredicate4,
18340 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18341 MVT::i32, 2, 0, 1,
18342 OPC_EmitStringInteger32, PPC::sub_gt,
18343 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18344 MVT::i1, 2, 2, 3,
18345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18346 MVT::i64, 1, 4,
18347 44,
18348 OPC_MoveParent,
18349 OPC_CheckTypeI32,
18350 OPC_CheckPatternPredicate, 8,
18351 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18352 MVT::i32, 2, 0, 1,
18353 OPC_EmitStringInteger32, PPC::sub_gt,
18354 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18355 MVT::i1, 2, 2, 3,
18356 OPC_EmitInteger32, 0,
18357 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18358 MVT::i32, 1, 5,
18359 OPC_EmitInteger32, 3,
18360 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18361 MVT::i32, 1, 7,
18362 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18363 MVT::i32, 3, 4, 6, 8,
18364 46,
18365 OPC_CheckType, MVT::i1,
18366 OPC_MoveParent,
18367 OPC_CheckTypeI64,
18368 OPC_CheckPatternPredicate, 8,
18369 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
18370 MVT::i32, 2, 0, 1,
18371 OPC_EmitStringInteger32, PPC::sub_gt,
18372 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18373 MVT::i1, 2, 2, 3,
18374 OPC_EmitInteger64, 0,
18375 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18376 MVT::i64, 1, 5,
18377 OPC_EmitInteger64, 3,
18378 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18379 MVT::i64, 1, 7,
18380 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18381 MVT::i64, 3, 4, 6, 8,
18382 0,
18383 22|128,1,
18384 OPC_CheckChild2CondCode, ISD::SETLE,
18385 OPC_Scope, 25,
18386 OPC_MoveParent,
18387 OPC_CheckTypeI32,
18388 OPC_CheckPatternPredicate4,
18389 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18390 MVT::i32, 2, 0, 1,
18391 OPC_EmitStringInteger32, PPC::sub_gt,
18392 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18393 MVT::i1, 2, 2, 3,
18394 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18395 MVT::i32, 1, 4,
18396 27,
18397 OPC_CheckType, MVT::i1,
18398 OPC_MoveParent,
18399 OPC_CheckTypeI64,
18400 OPC_CheckPatternPredicate4,
18401 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18402 MVT::i32, 2, 0, 1,
18403 OPC_EmitStringInteger32, PPC::sub_gt,
18404 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18405 MVT::i1, 2, 2, 3,
18406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18407 MVT::i64, 1, 4,
18408 44,
18409 OPC_MoveParent,
18410 OPC_CheckTypeI32,
18411 OPC_CheckPatternPredicate, 8,
18412 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18413 MVT::i32, 2, 0, 1,
18414 OPC_EmitStringInteger32, PPC::sub_gt,
18415 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18416 MVT::i1, 2, 2, 3,
18417 OPC_EmitInteger32, 0,
18418 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18419 MVT::i32, 1, 5,
18420 OPC_EmitInteger32, 3,
18421 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18422 MVT::i32, 1, 7,
18423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18424 MVT::i32, 3, 4, 6, 8,
18425 46,
18426 OPC_CheckType, MVT::i1,
18427 OPC_MoveParent,
18428 OPC_CheckTypeI64,
18429 OPC_CheckPatternPredicate, 8,
18430 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18431 MVT::i32, 2, 0, 1,
18432 OPC_EmitStringInteger32, PPC::sub_gt,
18433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18434 MVT::i1, 2, 2, 3,
18435 OPC_EmitInteger64, 0,
18436 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18437 MVT::i64, 1, 5,
18438 OPC_EmitInteger64, 3,
18439 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18440 MVT::i64, 1, 7,
18441 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18442 MVT::i64, 3, 4, 6, 8,
18443 0,
18444 22|128,1,
18445 OPC_CheckChild2CondCode, ISD::SETNE,
18446 OPC_Scope, 25,
18447 OPC_MoveParent,
18448 OPC_CheckTypeI32,
18449 OPC_CheckPatternPredicate4,
18450 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18451 MVT::i32, 2, 0, 1,
18452 OPC_EmitStringInteger32, PPC::sub_eq,
18453 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18454 MVT::i1, 2, 2, 3,
18455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18456 MVT::i32, 1, 4,
18457 27,
18458 OPC_CheckType, MVT::i1,
18459 OPC_MoveParent,
18460 OPC_CheckTypeI64,
18461 OPC_CheckPatternPredicate4,
18462 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18463 MVT::i32, 2, 0, 1,
18464 OPC_EmitStringInteger32, PPC::sub_eq,
18465 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18466 MVT::i1, 2, 2, 3,
18467 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18468 MVT::i64, 1, 4,
18469 44,
18470 OPC_MoveParent,
18471 OPC_CheckTypeI32,
18472 OPC_CheckPatternPredicate, 8,
18473 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18474 MVT::i32, 2, 0, 1,
18475 OPC_EmitStringInteger32, PPC::sub_eq,
18476 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18477 MVT::i1, 2, 2, 3,
18478 OPC_EmitInteger32, 0,
18479 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18480 MVT::i32, 1, 5,
18481 OPC_EmitInteger32, 3,
18482 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18483 MVT::i32, 1, 7,
18484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18485 MVT::i32, 3, 4, 6, 8,
18486 46,
18487 OPC_CheckType, MVT::i1,
18488 OPC_MoveParent,
18489 OPC_CheckTypeI64,
18490 OPC_CheckPatternPredicate, 8,
18491 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
18492 MVT::i32, 2, 0, 1,
18493 OPC_EmitStringInteger32, PPC::sub_eq,
18494 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18495 MVT::i1, 2, 2, 3,
18496 OPC_EmitInteger64, 0,
18497 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18498 MVT::i64, 1, 5,
18499 OPC_EmitInteger64, 3,
18500 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18501 MVT::i64, 1, 7,
18502 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18503 MVT::i64, 3, 4, 6, 8,
18504 0,
18505 0,
18506 73|128,12,
18507 OPC_CheckChild0Type, MVT::f32,
18508 OPC_RecordChild1,
18509 OPC_Scope, 112|128,1,
18510 OPC_CheckChild2CondCode, ISD::SETUGE,
18511 OPC_Scope, 26,
18512 OPC_MoveParent,
18513 OPC_CheckTypeI32,
18514 OPC_CheckPatternPredicate, 10,
18515 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18516 MVT::i32, 2, 0, 1,
18517 OPC_EmitStringInteger32, PPC::sub_lt,
18518 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18519 MVT::i1, 2, 2, 3,
18520 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18521 MVT::i32, 1, 4,
18522 28,
18523 OPC_CheckType, MVT::i1,
18524 OPC_MoveParent,
18525 OPC_CheckTypeI64,
18526 OPC_CheckPatternPredicate, 10,
18527 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18528 MVT::i32, 2, 0, 1,
18529 OPC_EmitStringInteger32, PPC::sub_lt,
18530 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18531 MVT::i1, 2, 2, 3,
18532 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18533 MVT::i64, 1, 4,
18534 43,
18535 OPC_MoveParent,
18536 OPC_CheckTypeI32,
18537 OPC_CheckPatternPredicate0,
18538 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18539 MVT::i32, 2, 0, 1,
18540 OPC_EmitStringInteger32, PPC::sub_lt,
18541 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18542 MVT::i1, 2, 2, 3,
18543 OPC_EmitInteger32, 0,
18544 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18545 MVT::i32, 1, 5,
18546 OPC_EmitInteger32, 3,
18547 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18548 MVT::i32, 1, 7,
18549 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18550 MVT::i32, 3, 4, 6, 8,
18551 45,
18552 OPC_CheckType, MVT::i1,
18553 OPC_MoveParent,
18554 OPC_CheckTypeI64,
18555 OPC_CheckPatternPredicate0,
18556 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18557 MVT::i32, 2, 0, 1,
18558 OPC_EmitStringInteger32, PPC::sub_lt,
18559 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18560 MVT::i1, 2, 2, 3,
18561 OPC_EmitInteger64, 0,
18562 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18563 MVT::i64, 1, 5,
18564 OPC_EmitInteger64, 3,
18565 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18566 MVT::i64, 1, 7,
18567 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18568 MVT::i64, 3, 4, 6, 8,
18569 43,
18570 OPC_MoveParent,
18571 OPC_CheckTypeI32,
18572 OPC_CheckPatternPredicate5,
18573 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
18574 MVT::i32, 2, 0, 1,
18575 OPC_EmitStringInteger32, PPC::sub_gt,
18576 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18577 MVT::i1, 2, 2, 3,
18578 OPC_EmitInteger32, 0,
18579 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18580 MVT::i32, 1, 5,
18581 OPC_EmitInteger32, 3,
18582 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18583 MVT::i32, 1, 7,
18584 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18585 MVT::i32, 3, 4, 6, 8,
18586 45,
18587 OPC_CheckType, MVT::i1,
18588 OPC_MoveParent,
18589 OPC_CheckTypeI64,
18590 OPC_CheckPatternPredicate5,
18591 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
18592 MVT::i32, 2, 0, 1,
18593 OPC_EmitStringInteger32, PPC::sub_gt,
18594 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18595 MVT::i1, 2, 2, 3,
18596 OPC_EmitInteger64, 0,
18597 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18598 MVT::i64, 1, 5,
18599 OPC_EmitInteger64, 3,
18600 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18601 MVT::i64, 1, 7,
18602 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18603 MVT::i64, 3, 4, 6, 8,
18604 0,
18605 112|128,1,
18606 OPC_CheckChild2CondCode, ISD::SETGE,
18607 OPC_Scope, 26,
18608 OPC_MoveParent,
18609 OPC_CheckTypeI32,
18610 OPC_CheckPatternPredicate, 10,
18611 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18612 MVT::i32, 2, 0, 1,
18613 OPC_EmitStringInteger32, PPC::sub_lt,
18614 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18615 MVT::i1, 2, 2, 3,
18616 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18617 MVT::i32, 1, 4,
18618 28,
18619 OPC_CheckType, MVT::i1,
18620 OPC_MoveParent,
18621 OPC_CheckTypeI64,
18622 OPC_CheckPatternPredicate, 10,
18623 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18624 MVT::i32, 2, 0, 1,
18625 OPC_EmitStringInteger32, PPC::sub_lt,
18626 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18627 MVT::i1, 2, 2, 3,
18628 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18629 MVT::i64, 1, 4,
18630 43,
18631 OPC_MoveParent,
18632 OPC_CheckTypeI32,
18633 OPC_CheckPatternPredicate0,
18634 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18635 MVT::i32, 2, 0, 1,
18636 OPC_EmitStringInteger32, PPC::sub_lt,
18637 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18638 MVT::i1, 2, 2, 3,
18639 OPC_EmitInteger32, 0,
18640 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18641 MVT::i32, 1, 5,
18642 OPC_EmitInteger32, 3,
18643 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18644 MVT::i32, 1, 7,
18645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18646 MVT::i32, 3, 4, 6, 8,
18647 45,
18648 OPC_CheckType, MVT::i1,
18649 OPC_MoveParent,
18650 OPC_CheckTypeI64,
18651 OPC_CheckPatternPredicate0,
18652 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18653 MVT::i32, 2, 0, 1,
18654 OPC_EmitStringInteger32, PPC::sub_lt,
18655 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18656 MVT::i1, 2, 2, 3,
18657 OPC_EmitInteger64, 0,
18658 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18659 MVT::i64, 1, 5,
18660 OPC_EmitInteger64, 3,
18661 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18662 MVT::i64, 1, 7,
18663 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18664 MVT::i64, 3, 4, 6, 8,
18665 43,
18666 OPC_MoveParent,
18667 OPC_CheckTypeI32,
18668 OPC_CheckPatternPredicate5,
18669 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
18670 MVT::i32, 2, 0, 1,
18671 OPC_EmitStringInteger32, PPC::sub_gt,
18672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18673 MVT::i1, 2, 2, 3,
18674 OPC_EmitInteger32, 0,
18675 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18676 MVT::i32, 1, 5,
18677 OPC_EmitInteger32, 3,
18678 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18679 MVT::i32, 1, 7,
18680 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18681 MVT::i32, 3, 4, 6, 8,
18682 45,
18683 OPC_CheckType, MVT::i1,
18684 OPC_MoveParent,
18685 OPC_CheckTypeI64,
18686 OPC_CheckPatternPredicate5,
18687 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
18688 MVT::i32, 2, 0, 1,
18689 OPC_EmitStringInteger32, PPC::sub_gt,
18690 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18691 MVT::i1, 2, 2, 3,
18692 OPC_EmitInteger64, 0,
18693 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18694 MVT::i64, 1, 5,
18695 OPC_EmitInteger64, 3,
18696 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18697 MVT::i64, 1, 7,
18698 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18699 MVT::i64, 3, 4, 6, 8,
18700 0,
18701 112|128,1,
18702 OPC_CheckChild2CondCode, ISD::SETULE,
18703 OPC_Scope, 26,
18704 OPC_MoveParent,
18705 OPC_CheckTypeI32,
18706 OPC_CheckPatternPredicate, 10,
18707 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18708 MVT::i32, 2, 0, 1,
18709 OPC_EmitStringInteger32, PPC::sub_gt,
18710 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18711 MVT::i1, 2, 2, 3,
18712 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18713 MVT::i32, 1, 4,
18714 28,
18715 OPC_CheckType, MVT::i1,
18716 OPC_MoveParent,
18717 OPC_CheckTypeI64,
18718 OPC_CheckPatternPredicate, 10,
18719 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18720 MVT::i32, 2, 0, 1,
18721 OPC_EmitStringInteger32, PPC::sub_gt,
18722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18723 MVT::i1, 2, 2, 3,
18724 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18725 MVT::i64, 1, 4,
18726 43,
18727 OPC_MoveParent,
18728 OPC_CheckTypeI32,
18729 OPC_CheckPatternPredicate0,
18730 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18731 MVT::i32, 2, 0, 1,
18732 OPC_EmitStringInteger32, PPC::sub_gt,
18733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18734 MVT::i1, 2, 2, 3,
18735 OPC_EmitInteger32, 0,
18736 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18737 MVT::i32, 1, 5,
18738 OPC_EmitInteger32, 3,
18739 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18740 MVT::i32, 1, 7,
18741 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18742 MVT::i32, 3, 4, 6, 8,
18743 45,
18744 OPC_CheckType, MVT::i1,
18745 OPC_MoveParent,
18746 OPC_CheckTypeI64,
18747 OPC_CheckPatternPredicate0,
18748 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18749 MVT::i32, 2, 0, 1,
18750 OPC_EmitStringInteger32, PPC::sub_gt,
18751 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18752 MVT::i1, 2, 2, 3,
18753 OPC_EmitInteger64, 0,
18754 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18755 MVT::i64, 1, 5,
18756 OPC_EmitInteger64, 3,
18757 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18758 MVT::i64, 1, 7,
18759 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18760 MVT::i64, 3, 4, 6, 8,
18761 43,
18762 OPC_MoveParent,
18763 OPC_CheckTypeI32,
18764 OPC_CheckPatternPredicate5,
18765 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
18766 MVT::i32, 2, 0, 1,
18767 OPC_EmitStringInteger32, PPC::sub_gt,
18768 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18769 MVT::i1, 2, 2, 3,
18770 OPC_EmitInteger32, 0,
18771 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18772 MVT::i32, 1, 5,
18773 OPC_EmitInteger32, 3,
18774 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18775 MVT::i32, 1, 7,
18776 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18777 MVT::i32, 3, 4, 6, 8,
18778 45,
18779 OPC_CheckType, MVT::i1,
18780 OPC_MoveParent,
18781 OPC_CheckTypeI64,
18782 OPC_CheckPatternPredicate5,
18783 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
18784 MVT::i32, 2, 0, 1,
18785 OPC_EmitStringInteger32, PPC::sub_gt,
18786 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18787 MVT::i1, 2, 2, 3,
18788 OPC_EmitInteger64, 0,
18789 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18790 MVT::i64, 1, 5,
18791 OPC_EmitInteger64, 3,
18792 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18793 MVT::i64, 1, 7,
18794 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18795 MVT::i64, 3, 4, 6, 8,
18796 0,
18797 112|128,1,
18798 OPC_CheckChild2CondCode, ISD::SETLE,
18799 OPC_Scope, 26,
18800 OPC_MoveParent,
18801 OPC_CheckTypeI32,
18802 OPC_CheckPatternPredicate, 10,
18803 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18804 MVT::i32, 2, 0, 1,
18805 OPC_EmitStringInteger32, PPC::sub_gt,
18806 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18807 MVT::i1, 2, 2, 3,
18808 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18809 MVT::i32, 1, 4,
18810 28,
18811 OPC_CheckType, MVT::i1,
18812 OPC_MoveParent,
18813 OPC_CheckTypeI64,
18814 OPC_CheckPatternPredicate, 10,
18815 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18816 MVT::i32, 2, 0, 1,
18817 OPC_EmitStringInteger32, PPC::sub_gt,
18818 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18819 MVT::i1, 2, 2, 3,
18820 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18821 MVT::i64, 1, 4,
18822 43,
18823 OPC_MoveParent,
18824 OPC_CheckTypeI32,
18825 OPC_CheckPatternPredicate0,
18826 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18827 MVT::i32, 2, 0, 1,
18828 OPC_EmitStringInteger32, PPC::sub_gt,
18829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18830 MVT::i1, 2, 2, 3,
18831 OPC_EmitInteger32, 0,
18832 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18833 MVT::i32, 1, 5,
18834 OPC_EmitInteger32, 3,
18835 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18836 MVT::i32, 1, 7,
18837 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18838 MVT::i32, 3, 4, 6, 8,
18839 45,
18840 OPC_CheckType, MVT::i1,
18841 OPC_MoveParent,
18842 OPC_CheckTypeI64,
18843 OPC_CheckPatternPredicate0,
18844 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18845 MVT::i32, 2, 0, 1,
18846 OPC_EmitStringInteger32, PPC::sub_gt,
18847 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18848 MVT::i1, 2, 2, 3,
18849 OPC_EmitInteger64, 0,
18850 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18851 MVT::i64, 1, 5,
18852 OPC_EmitInteger64, 3,
18853 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18854 MVT::i64, 1, 7,
18855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18856 MVT::i64, 3, 4, 6, 8,
18857 43,
18858 OPC_MoveParent,
18859 OPC_CheckTypeI32,
18860 OPC_CheckPatternPredicate5,
18861 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
18862 MVT::i32, 2, 0, 1,
18863 OPC_EmitStringInteger32, PPC::sub_gt,
18864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18865 MVT::i1, 2, 2, 3,
18866 OPC_EmitInteger32, 0,
18867 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18868 MVT::i32, 1, 5,
18869 OPC_EmitInteger32, 3,
18870 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18871 MVT::i32, 1, 7,
18872 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18873 MVT::i32, 3, 4, 6, 8,
18874 45,
18875 OPC_CheckType, MVT::i1,
18876 OPC_MoveParent,
18877 OPC_CheckTypeI64,
18878 OPC_CheckPatternPredicate5,
18879 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
18880 MVT::i32, 2, 0, 1,
18881 OPC_EmitStringInteger32, PPC::sub_gt,
18882 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18883 MVT::i1, 2, 2, 3,
18884 OPC_EmitInteger64, 0,
18885 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18886 MVT::i64, 1, 5,
18887 OPC_EmitInteger64, 3,
18888 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18889 MVT::i64, 1, 7,
18890 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18891 MVT::i64, 3, 4, 6, 8,
18892 0,
18893 112|128,1,
18894 OPC_CheckChild2CondCode, ISD::SETUNE,
18895 OPC_Scope, 26,
18896 OPC_MoveParent,
18897 OPC_CheckTypeI32,
18898 OPC_CheckPatternPredicate, 10,
18899 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18900 MVT::i32, 2, 0, 1,
18901 OPC_EmitStringInteger32, PPC::sub_eq,
18902 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18903 MVT::i1, 2, 2, 3,
18904 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
18905 MVT::i32, 1, 4,
18906 28,
18907 OPC_CheckType, MVT::i1,
18908 OPC_MoveParent,
18909 OPC_CheckTypeI64,
18910 OPC_CheckPatternPredicate, 10,
18911 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18912 MVT::i32, 2, 0, 1,
18913 OPC_EmitStringInteger32, PPC::sub_eq,
18914 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18915 MVT::i1, 2, 2, 3,
18916 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
18917 MVT::i64, 1, 4,
18918 43,
18919 OPC_MoveParent,
18920 OPC_CheckTypeI32,
18921 OPC_CheckPatternPredicate0,
18922 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18923 MVT::i32, 2, 0, 1,
18924 OPC_EmitStringInteger32, PPC::sub_eq,
18925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18926 MVT::i1, 2, 2, 3,
18927 OPC_EmitInteger32, 0,
18928 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18929 MVT::i32, 1, 5,
18930 OPC_EmitInteger32, 3,
18931 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18932 MVT::i32, 1, 7,
18933 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18934 MVT::i32, 3, 4, 6, 8,
18935 45,
18936 OPC_CheckType, MVT::i1,
18937 OPC_MoveParent,
18938 OPC_CheckTypeI64,
18939 OPC_CheckPatternPredicate0,
18940 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18941 MVT::i32, 2, 0, 1,
18942 OPC_EmitStringInteger32, PPC::sub_eq,
18943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18944 MVT::i1, 2, 2, 3,
18945 OPC_EmitInteger64, 0,
18946 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18947 MVT::i64, 1, 5,
18948 OPC_EmitInteger64, 3,
18949 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18950 MVT::i64, 1, 7,
18951 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18952 MVT::i64, 3, 4, 6, 8,
18953 43,
18954 OPC_MoveParent,
18955 OPC_CheckTypeI32,
18956 OPC_CheckPatternPredicate5,
18957 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
18958 MVT::i32, 2, 0, 1,
18959 OPC_EmitStringInteger32, PPC::sub_gt,
18960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18961 MVT::i1, 2, 2, 3,
18962 OPC_EmitInteger32, 0,
18963 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18964 MVT::i32, 1, 5,
18965 OPC_EmitInteger32, 3,
18966 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
18967 MVT::i32, 1, 7,
18968 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
18969 MVT::i32, 3, 4, 6, 8,
18970 45,
18971 OPC_CheckType, MVT::i1,
18972 OPC_MoveParent,
18973 OPC_CheckTypeI64,
18974 OPC_CheckPatternPredicate5,
18975 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
18976 MVT::i32, 2, 0, 1,
18977 OPC_EmitStringInteger32, PPC::sub_gt,
18978 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18979 MVT::i1, 2, 2, 3,
18980 OPC_EmitInteger64, 0,
18981 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18982 MVT::i64, 1, 5,
18983 OPC_EmitInteger64, 3,
18984 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
18985 MVT::i64, 1, 7,
18986 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
18987 MVT::i64, 3, 4, 6, 8,
18988 0,
18989 112|128,1,
18990 OPC_CheckChild2CondCode, ISD::SETNE,
18991 OPC_Scope, 26,
18992 OPC_MoveParent,
18993 OPC_CheckTypeI32,
18994 OPC_CheckPatternPredicate, 10,
18995 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
18996 MVT::i32, 2, 0, 1,
18997 OPC_EmitStringInteger32, PPC::sub_eq,
18998 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18999 MVT::i1, 2, 2, 3,
19000 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19001 MVT::i32, 1, 4,
19002 28,
19003 OPC_CheckType, MVT::i1,
19004 OPC_MoveParent,
19005 OPC_CheckTypeI64,
19006 OPC_CheckPatternPredicate, 10,
19007 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19008 MVT::i32, 2, 0, 1,
19009 OPC_EmitStringInteger32, PPC::sub_eq,
19010 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19011 MVT::i1, 2, 2, 3,
19012 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19013 MVT::i64, 1, 4,
19014 43,
19015 OPC_MoveParent,
19016 OPC_CheckTypeI32,
19017 OPC_CheckPatternPredicate0,
19018 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19019 MVT::i32, 2, 0, 1,
19020 OPC_EmitStringInteger32, PPC::sub_eq,
19021 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19022 MVT::i1, 2, 2, 3,
19023 OPC_EmitInteger32, 0,
19024 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19025 MVT::i32, 1, 5,
19026 OPC_EmitInteger32, 3,
19027 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19028 MVT::i32, 1, 7,
19029 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19030 MVT::i32, 3, 4, 6, 8,
19031 45,
19032 OPC_CheckType, MVT::i1,
19033 OPC_MoveParent,
19034 OPC_CheckTypeI64,
19035 OPC_CheckPatternPredicate0,
19036 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19037 MVT::i32, 2, 0, 1,
19038 OPC_EmitStringInteger32, PPC::sub_eq,
19039 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19040 MVT::i1, 2, 2, 3,
19041 OPC_EmitInteger64, 0,
19042 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19043 MVT::i64, 1, 5,
19044 OPC_EmitInteger64, 3,
19045 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19046 MVT::i64, 1, 7,
19047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19048 MVT::i64, 3, 4, 6, 8,
19049 43,
19050 OPC_MoveParent,
19051 OPC_CheckTypeI32,
19052 OPC_CheckPatternPredicate5,
19053 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
19054 MVT::i32, 2, 0, 1,
19055 OPC_EmitStringInteger32, PPC::sub_gt,
19056 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19057 MVT::i1, 2, 2, 3,
19058 OPC_EmitInteger32, 0,
19059 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19060 MVT::i32, 1, 5,
19061 OPC_EmitInteger32, 3,
19062 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19063 MVT::i32, 1, 7,
19064 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19065 MVT::i32, 3, 4, 6, 8,
19066 45,
19067 OPC_CheckType, MVT::i1,
19068 OPC_MoveParent,
19069 OPC_CheckTypeI64,
19070 OPC_CheckPatternPredicate5,
19071 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
19072 MVT::i32, 2, 0, 1,
19073 OPC_EmitStringInteger32, PPC::sub_gt,
19074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19075 MVT::i1, 2, 2, 3,
19076 OPC_EmitInteger64, 0,
19077 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19078 MVT::i64, 1, 5,
19079 OPC_EmitInteger64, 3,
19080 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19081 MVT::i64, 1, 7,
19082 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19083 MVT::i64, 3, 4, 6, 8,
19084 0,
19085 22|128,1,
19086 OPC_CheckChild2CondCode, ISD::SETO,
19087 OPC_Scope, 26,
19088 OPC_MoveParent,
19089 OPC_CheckTypeI32,
19090 OPC_CheckPatternPredicate, 10,
19091 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19092 MVT::i32, 2, 0, 1,
19093 OPC_EmitStringInteger32, PPC::sub_un,
19094 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19095 MVT::i1, 2, 2, 3,
19096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19097 MVT::i32, 1, 4,
19098 28,
19099 OPC_CheckType, MVT::i1,
19100 OPC_MoveParent,
19101 OPC_CheckTypeI64,
19102 OPC_CheckPatternPredicate, 10,
19103 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19104 MVT::i32, 2, 0, 1,
19105 OPC_EmitStringInteger32, PPC::sub_un,
19106 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19107 MVT::i1, 2, 2, 3,
19108 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19109 MVT::i64, 1, 4,
19110 43,
19111 OPC_MoveParent,
19112 OPC_CheckTypeI32,
19113 OPC_CheckPatternPredicate0,
19114 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19115 MVT::i32, 2, 0, 1,
19116 OPC_EmitStringInteger32, PPC::sub_un,
19117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19118 MVT::i1, 2, 2, 3,
19119 OPC_EmitInteger32, 0,
19120 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19121 MVT::i32, 1, 5,
19122 OPC_EmitInteger32, 3,
19123 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19124 MVT::i32, 1, 7,
19125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19126 MVT::i32, 3, 4, 6, 8,
19127 45,
19128 OPC_CheckType, MVT::i1,
19129 OPC_MoveParent,
19130 OPC_CheckTypeI64,
19131 OPC_CheckPatternPredicate0,
19132 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
19133 MVT::i32, 2, 0, 1,
19134 OPC_EmitStringInteger32, PPC::sub_un,
19135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19136 MVT::i1, 2, 2, 3,
19137 OPC_EmitInteger64, 0,
19138 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19139 MVT::i64, 1, 5,
19140 OPC_EmitInteger64, 3,
19141 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19142 MVT::i64, 1, 7,
19143 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19144 MVT::i64, 3, 4, 6, 8,
19145 0,
19146 0,
19147 73|128,12,
19148 OPC_CheckChild0Type, MVT::f64,
19149 OPC_RecordChild1,
19150 OPC_Scope, 112|128,1,
19151 OPC_CheckChild2CondCode, ISD::SETUGE,
19152 OPC_Scope, 26,
19153 OPC_MoveParent,
19154 OPC_CheckTypeI32,
19155 OPC_CheckPatternPredicate, 10,
19156 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19157 MVT::i32, 2, 0, 1,
19158 OPC_EmitStringInteger32, PPC::sub_lt,
19159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19160 MVT::i1, 2, 2, 3,
19161 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19162 MVT::i32, 1, 4,
19163 28,
19164 OPC_CheckType, MVT::i1,
19165 OPC_MoveParent,
19166 OPC_CheckTypeI64,
19167 OPC_CheckPatternPredicate, 10,
19168 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19169 MVT::i32, 2, 0, 1,
19170 OPC_EmitStringInteger32, PPC::sub_lt,
19171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19172 MVT::i1, 2, 2, 3,
19173 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19174 MVT::i64, 1, 4,
19175 43,
19176 OPC_MoveParent,
19177 OPC_CheckTypeI32,
19178 OPC_CheckPatternPredicate0,
19179 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19180 MVT::i32, 2, 0, 1,
19181 OPC_EmitStringInteger32, PPC::sub_lt,
19182 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19183 MVT::i1, 2, 2, 3,
19184 OPC_EmitInteger32, 0,
19185 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19186 MVT::i32, 1, 5,
19187 OPC_EmitInteger32, 3,
19188 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19189 MVT::i32, 1, 7,
19190 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19191 MVT::i32, 3, 4, 6, 8,
19192 45,
19193 OPC_CheckType, MVT::i1,
19194 OPC_MoveParent,
19195 OPC_CheckTypeI64,
19196 OPC_CheckPatternPredicate0,
19197 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19198 MVT::i32, 2, 0, 1,
19199 OPC_EmitStringInteger32, PPC::sub_lt,
19200 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19201 MVT::i1, 2, 2, 3,
19202 OPC_EmitInteger64, 0,
19203 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19204 MVT::i64, 1, 5,
19205 OPC_EmitInteger64, 3,
19206 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19207 MVT::i64, 1, 7,
19208 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19209 MVT::i64, 3, 4, 6, 8,
19210 43,
19211 OPC_MoveParent,
19212 OPC_CheckTypeI32,
19213 OPC_CheckPatternPredicate5,
19214 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
19215 MVT::i32, 2, 0, 1,
19216 OPC_EmitStringInteger32, PPC::sub_gt,
19217 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19218 MVT::i1, 2, 2, 3,
19219 OPC_EmitInteger32, 0,
19220 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19221 MVT::i32, 1, 5,
19222 OPC_EmitInteger32, 3,
19223 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19224 MVT::i32, 1, 7,
19225 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19226 MVT::i32, 3, 4, 6, 8,
19227 45,
19228 OPC_CheckType, MVT::i1,
19229 OPC_MoveParent,
19230 OPC_CheckTypeI64,
19231 OPC_CheckPatternPredicate5,
19232 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
19233 MVT::i32, 2, 0, 1,
19234 OPC_EmitStringInteger32, PPC::sub_gt,
19235 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19236 MVT::i1, 2, 2, 3,
19237 OPC_EmitInteger64, 0,
19238 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19239 MVT::i64, 1, 5,
19240 OPC_EmitInteger64, 3,
19241 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19242 MVT::i64, 1, 7,
19243 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19244 MVT::i64, 3, 4, 6, 8,
19245 0,
19246 112|128,1,
19247 OPC_CheckChild2CondCode, ISD::SETGE,
19248 OPC_Scope, 26,
19249 OPC_MoveParent,
19250 OPC_CheckTypeI32,
19251 OPC_CheckPatternPredicate, 10,
19252 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19253 MVT::i32, 2, 0, 1,
19254 OPC_EmitStringInteger32, PPC::sub_lt,
19255 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19256 MVT::i1, 2, 2, 3,
19257 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19258 MVT::i32, 1, 4,
19259 28,
19260 OPC_CheckType, MVT::i1,
19261 OPC_MoveParent,
19262 OPC_CheckTypeI64,
19263 OPC_CheckPatternPredicate, 10,
19264 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19265 MVT::i32, 2, 0, 1,
19266 OPC_EmitStringInteger32, PPC::sub_lt,
19267 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19268 MVT::i1, 2, 2, 3,
19269 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19270 MVT::i64, 1, 4,
19271 43,
19272 OPC_MoveParent,
19273 OPC_CheckTypeI32,
19274 OPC_CheckPatternPredicate0,
19275 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19276 MVT::i32, 2, 0, 1,
19277 OPC_EmitStringInteger32, PPC::sub_lt,
19278 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19279 MVT::i1, 2, 2, 3,
19280 OPC_EmitInteger32, 0,
19281 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19282 MVT::i32, 1, 5,
19283 OPC_EmitInteger32, 3,
19284 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19285 MVT::i32, 1, 7,
19286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19287 MVT::i32, 3, 4, 6, 8,
19288 45,
19289 OPC_CheckType, MVT::i1,
19290 OPC_MoveParent,
19291 OPC_CheckTypeI64,
19292 OPC_CheckPatternPredicate0,
19293 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19294 MVT::i32, 2, 0, 1,
19295 OPC_EmitStringInteger32, PPC::sub_lt,
19296 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19297 MVT::i1, 2, 2, 3,
19298 OPC_EmitInteger64, 0,
19299 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19300 MVT::i64, 1, 5,
19301 OPC_EmitInteger64, 3,
19302 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19303 MVT::i64, 1, 7,
19304 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19305 MVT::i64, 3, 4, 6, 8,
19306 43,
19307 OPC_MoveParent,
19308 OPC_CheckTypeI32,
19309 OPC_CheckPatternPredicate5,
19310 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
19311 MVT::i32, 2, 0, 1,
19312 OPC_EmitStringInteger32, PPC::sub_gt,
19313 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19314 MVT::i1, 2, 2, 3,
19315 OPC_EmitInteger32, 0,
19316 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19317 MVT::i32, 1, 5,
19318 OPC_EmitInteger32, 3,
19319 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19320 MVT::i32, 1, 7,
19321 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19322 MVT::i32, 3, 4, 6, 8,
19323 45,
19324 OPC_CheckType, MVT::i1,
19325 OPC_MoveParent,
19326 OPC_CheckTypeI64,
19327 OPC_CheckPatternPredicate5,
19328 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
19329 MVT::i32, 2, 0, 1,
19330 OPC_EmitStringInteger32, PPC::sub_gt,
19331 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19332 MVT::i1, 2, 2, 3,
19333 OPC_EmitInteger64, 0,
19334 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19335 MVT::i64, 1, 5,
19336 OPC_EmitInteger64, 3,
19337 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19338 MVT::i64, 1, 7,
19339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19340 MVT::i64, 3, 4, 6, 8,
19341 0,
19342 112|128,1,
19343 OPC_CheckChild2CondCode, ISD::SETULE,
19344 OPC_Scope, 26,
19345 OPC_MoveParent,
19346 OPC_CheckTypeI32,
19347 OPC_CheckPatternPredicate, 10,
19348 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19349 MVT::i32, 2, 0, 1,
19350 OPC_EmitStringInteger32, PPC::sub_gt,
19351 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19352 MVT::i1, 2, 2, 3,
19353 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19354 MVT::i32, 1, 4,
19355 28,
19356 OPC_CheckType, MVT::i1,
19357 OPC_MoveParent,
19358 OPC_CheckTypeI64,
19359 OPC_CheckPatternPredicate, 10,
19360 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19361 MVT::i32, 2, 0, 1,
19362 OPC_EmitStringInteger32, PPC::sub_gt,
19363 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19364 MVT::i1, 2, 2, 3,
19365 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19366 MVT::i64, 1, 4,
19367 43,
19368 OPC_MoveParent,
19369 OPC_CheckTypeI32,
19370 OPC_CheckPatternPredicate0,
19371 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19372 MVT::i32, 2, 0, 1,
19373 OPC_EmitStringInteger32, PPC::sub_gt,
19374 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19375 MVT::i1, 2, 2, 3,
19376 OPC_EmitInteger32, 0,
19377 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19378 MVT::i32, 1, 5,
19379 OPC_EmitInteger32, 3,
19380 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19381 MVT::i32, 1, 7,
19382 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19383 MVT::i32, 3, 4, 6, 8,
19384 45,
19385 OPC_CheckType, MVT::i1,
19386 OPC_MoveParent,
19387 OPC_CheckTypeI64,
19388 OPC_CheckPatternPredicate0,
19389 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19390 MVT::i32, 2, 0, 1,
19391 OPC_EmitStringInteger32, PPC::sub_gt,
19392 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19393 MVT::i1, 2, 2, 3,
19394 OPC_EmitInteger64, 0,
19395 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19396 MVT::i64, 1, 5,
19397 OPC_EmitInteger64, 3,
19398 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19399 MVT::i64, 1, 7,
19400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19401 MVT::i64, 3, 4, 6, 8,
19402 43,
19403 OPC_MoveParent,
19404 OPC_CheckTypeI32,
19405 OPC_CheckPatternPredicate5,
19406 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
19407 MVT::i32, 2, 0, 1,
19408 OPC_EmitStringInteger32, PPC::sub_gt,
19409 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19410 MVT::i1, 2, 2, 3,
19411 OPC_EmitInteger32, 0,
19412 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19413 MVT::i32, 1, 5,
19414 OPC_EmitInteger32, 3,
19415 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19416 MVT::i32, 1, 7,
19417 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19418 MVT::i32, 3, 4, 6, 8,
19419 45,
19420 OPC_CheckType, MVT::i1,
19421 OPC_MoveParent,
19422 OPC_CheckTypeI64,
19423 OPC_CheckPatternPredicate5,
19424 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
19425 MVT::i32, 2, 0, 1,
19426 OPC_EmitStringInteger32, PPC::sub_gt,
19427 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19428 MVT::i1, 2, 2, 3,
19429 OPC_EmitInteger64, 0,
19430 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19431 MVT::i64, 1, 5,
19432 OPC_EmitInteger64, 3,
19433 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19434 MVT::i64, 1, 7,
19435 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19436 MVT::i64, 3, 4, 6, 8,
19437 0,
19438 112|128,1,
19439 OPC_CheckChild2CondCode, ISD::SETLE,
19440 OPC_Scope, 26,
19441 OPC_MoveParent,
19442 OPC_CheckTypeI32,
19443 OPC_CheckPatternPredicate, 10,
19444 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19445 MVT::i32, 2, 0, 1,
19446 OPC_EmitStringInteger32, PPC::sub_gt,
19447 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19448 MVT::i1, 2, 2, 3,
19449 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19450 MVT::i32, 1, 4,
19451 28,
19452 OPC_CheckType, MVT::i1,
19453 OPC_MoveParent,
19454 OPC_CheckTypeI64,
19455 OPC_CheckPatternPredicate, 10,
19456 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19457 MVT::i32, 2, 0, 1,
19458 OPC_EmitStringInteger32, PPC::sub_gt,
19459 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19460 MVT::i1, 2, 2, 3,
19461 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19462 MVT::i64, 1, 4,
19463 43,
19464 OPC_MoveParent,
19465 OPC_CheckTypeI32,
19466 OPC_CheckPatternPredicate0,
19467 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19468 MVT::i32, 2, 0, 1,
19469 OPC_EmitStringInteger32, PPC::sub_gt,
19470 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19471 MVT::i1, 2, 2, 3,
19472 OPC_EmitInteger32, 0,
19473 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19474 MVT::i32, 1, 5,
19475 OPC_EmitInteger32, 3,
19476 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19477 MVT::i32, 1, 7,
19478 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19479 MVT::i32, 3, 4, 6, 8,
19480 45,
19481 OPC_CheckType, MVT::i1,
19482 OPC_MoveParent,
19483 OPC_CheckTypeI64,
19484 OPC_CheckPatternPredicate0,
19485 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19486 MVT::i32, 2, 0, 1,
19487 OPC_EmitStringInteger32, PPC::sub_gt,
19488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19489 MVT::i1, 2, 2, 3,
19490 OPC_EmitInteger64, 0,
19491 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19492 MVT::i64, 1, 5,
19493 OPC_EmitInteger64, 3,
19494 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19495 MVT::i64, 1, 7,
19496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19497 MVT::i64, 3, 4, 6, 8,
19498 43,
19499 OPC_MoveParent,
19500 OPC_CheckTypeI32,
19501 OPC_CheckPatternPredicate5,
19502 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
19503 MVT::i32, 2, 0, 1,
19504 OPC_EmitStringInteger32, PPC::sub_gt,
19505 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19506 MVT::i1, 2, 2, 3,
19507 OPC_EmitInteger32, 0,
19508 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19509 MVT::i32, 1, 5,
19510 OPC_EmitInteger32, 3,
19511 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19512 MVT::i32, 1, 7,
19513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19514 MVT::i32, 3, 4, 6, 8,
19515 45,
19516 OPC_CheckType, MVT::i1,
19517 OPC_MoveParent,
19518 OPC_CheckTypeI64,
19519 OPC_CheckPatternPredicate5,
19520 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
19521 MVT::i32, 2, 0, 1,
19522 OPC_EmitStringInteger32, PPC::sub_gt,
19523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19524 MVT::i1, 2, 2, 3,
19525 OPC_EmitInteger64, 0,
19526 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19527 MVT::i64, 1, 5,
19528 OPC_EmitInteger64, 3,
19529 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19530 MVT::i64, 1, 7,
19531 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19532 MVT::i64, 3, 4, 6, 8,
19533 0,
19534 112|128,1,
19535 OPC_CheckChild2CondCode, ISD::SETUNE,
19536 OPC_Scope, 26,
19537 OPC_MoveParent,
19538 OPC_CheckTypeI32,
19539 OPC_CheckPatternPredicate, 10,
19540 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19541 MVT::i32, 2, 0, 1,
19542 OPC_EmitStringInteger32, PPC::sub_eq,
19543 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19544 MVT::i1, 2, 2, 3,
19545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19546 MVT::i32, 1, 4,
19547 28,
19548 OPC_CheckType, MVT::i1,
19549 OPC_MoveParent,
19550 OPC_CheckTypeI64,
19551 OPC_CheckPatternPredicate, 10,
19552 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19553 MVT::i32, 2, 0, 1,
19554 OPC_EmitStringInteger32, PPC::sub_eq,
19555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19556 MVT::i1, 2, 2, 3,
19557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19558 MVT::i64, 1, 4,
19559 43,
19560 OPC_MoveParent,
19561 OPC_CheckTypeI32,
19562 OPC_CheckPatternPredicate0,
19563 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19564 MVT::i32, 2, 0, 1,
19565 OPC_EmitStringInteger32, PPC::sub_eq,
19566 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19567 MVT::i1, 2, 2, 3,
19568 OPC_EmitInteger32, 0,
19569 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19570 MVT::i32, 1, 5,
19571 OPC_EmitInteger32, 3,
19572 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19573 MVT::i32, 1, 7,
19574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19575 MVT::i32, 3, 4, 6, 8,
19576 45,
19577 OPC_CheckType, MVT::i1,
19578 OPC_MoveParent,
19579 OPC_CheckTypeI64,
19580 OPC_CheckPatternPredicate0,
19581 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19582 MVT::i32, 2, 0, 1,
19583 OPC_EmitStringInteger32, PPC::sub_eq,
19584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19585 MVT::i1, 2, 2, 3,
19586 OPC_EmitInteger64, 0,
19587 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19588 MVT::i64, 1, 5,
19589 OPC_EmitInteger64, 3,
19590 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19591 MVT::i64, 1, 7,
19592 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19593 MVT::i64, 3, 4, 6, 8,
19594 43,
19595 OPC_MoveParent,
19596 OPC_CheckTypeI32,
19597 OPC_CheckPatternPredicate5,
19598 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
19599 MVT::i32, 2, 0, 1,
19600 OPC_EmitStringInteger32, PPC::sub_gt,
19601 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19602 MVT::i1, 2, 2, 3,
19603 OPC_EmitInteger32, 0,
19604 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19605 MVT::i32, 1, 5,
19606 OPC_EmitInteger32, 3,
19607 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19608 MVT::i32, 1, 7,
19609 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19610 MVT::i32, 3, 4, 6, 8,
19611 45,
19612 OPC_CheckType, MVT::i1,
19613 OPC_MoveParent,
19614 OPC_CheckTypeI64,
19615 OPC_CheckPatternPredicate5,
19616 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
19617 MVT::i32, 2, 0, 1,
19618 OPC_EmitStringInteger32, PPC::sub_gt,
19619 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19620 MVT::i1, 2, 2, 3,
19621 OPC_EmitInteger64, 0,
19622 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19623 MVT::i64, 1, 5,
19624 OPC_EmitInteger64, 3,
19625 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19626 MVT::i64, 1, 7,
19627 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19628 MVT::i64, 3, 4, 6, 8,
19629 0,
19630 112|128,1,
19631 OPC_CheckChild2CondCode, ISD::SETNE,
19632 OPC_Scope, 26,
19633 OPC_MoveParent,
19634 OPC_CheckTypeI32,
19635 OPC_CheckPatternPredicate, 10,
19636 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19637 MVT::i32, 2, 0, 1,
19638 OPC_EmitStringInteger32, PPC::sub_eq,
19639 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19640 MVT::i1, 2, 2, 3,
19641 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19642 MVT::i32, 1, 4,
19643 28,
19644 OPC_CheckType, MVT::i1,
19645 OPC_MoveParent,
19646 OPC_CheckTypeI64,
19647 OPC_CheckPatternPredicate, 10,
19648 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19649 MVT::i32, 2, 0, 1,
19650 OPC_EmitStringInteger32, PPC::sub_eq,
19651 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19652 MVT::i1, 2, 2, 3,
19653 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19654 MVT::i64, 1, 4,
19655 43,
19656 OPC_MoveParent,
19657 OPC_CheckTypeI32,
19658 OPC_CheckPatternPredicate0,
19659 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19660 MVT::i32, 2, 0, 1,
19661 OPC_EmitStringInteger32, PPC::sub_eq,
19662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19663 MVT::i1, 2, 2, 3,
19664 OPC_EmitInteger32, 0,
19665 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19666 MVT::i32, 1, 5,
19667 OPC_EmitInteger32, 3,
19668 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19669 MVT::i32, 1, 7,
19670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19671 MVT::i32, 3, 4, 6, 8,
19672 45,
19673 OPC_CheckType, MVT::i1,
19674 OPC_MoveParent,
19675 OPC_CheckTypeI64,
19676 OPC_CheckPatternPredicate0,
19677 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19678 MVT::i32, 2, 0, 1,
19679 OPC_EmitStringInteger32, PPC::sub_eq,
19680 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19681 MVT::i1, 2, 2, 3,
19682 OPC_EmitInteger64, 0,
19683 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19684 MVT::i64, 1, 5,
19685 OPC_EmitInteger64, 3,
19686 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19687 MVT::i64, 1, 7,
19688 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19689 MVT::i64, 3, 4, 6, 8,
19690 43,
19691 OPC_MoveParent,
19692 OPC_CheckTypeI32,
19693 OPC_CheckPatternPredicate5,
19694 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
19695 MVT::i32, 2, 0, 1,
19696 OPC_EmitStringInteger32, PPC::sub_gt,
19697 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19698 MVT::i1, 2, 2, 3,
19699 OPC_EmitInteger32, 0,
19700 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19701 MVT::i32, 1, 5,
19702 OPC_EmitInteger32, 3,
19703 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19704 MVT::i32, 1, 7,
19705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19706 MVT::i32, 3, 4, 6, 8,
19707 45,
19708 OPC_CheckType, MVT::i1,
19709 OPC_MoveParent,
19710 OPC_CheckTypeI64,
19711 OPC_CheckPatternPredicate5,
19712 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
19713 MVT::i32, 2, 0, 1,
19714 OPC_EmitStringInteger32, PPC::sub_gt,
19715 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19716 MVT::i1, 2, 2, 3,
19717 OPC_EmitInteger64, 0,
19718 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19719 MVT::i64, 1, 5,
19720 OPC_EmitInteger64, 3,
19721 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19722 MVT::i64, 1, 7,
19723 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19724 MVT::i64, 3, 4, 6, 8,
19725 0,
19726 22|128,1,
19727 OPC_CheckChild2CondCode, ISD::SETO,
19728 OPC_Scope, 26,
19729 OPC_MoveParent,
19730 OPC_CheckTypeI32,
19731 OPC_CheckPatternPredicate, 10,
19732 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19733 MVT::i32, 2, 0, 1,
19734 OPC_EmitStringInteger32, PPC::sub_un,
19735 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19736 MVT::i1, 2, 2, 3,
19737 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19738 MVT::i32, 1, 4,
19739 28,
19740 OPC_CheckType, MVT::i1,
19741 OPC_MoveParent,
19742 OPC_CheckTypeI64,
19743 OPC_CheckPatternPredicate, 10,
19744 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19745 MVT::i32, 2, 0, 1,
19746 OPC_EmitStringInteger32, PPC::sub_un,
19747 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19748 MVT::i1, 2, 2, 3,
19749 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19750 MVT::i64, 1, 4,
19751 43,
19752 OPC_MoveParent,
19753 OPC_CheckTypeI32,
19754 OPC_CheckPatternPredicate0,
19755 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19756 MVT::i32, 2, 0, 1,
19757 OPC_EmitStringInteger32, PPC::sub_un,
19758 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19759 MVT::i1, 2, 2, 3,
19760 OPC_EmitInteger32, 0,
19761 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19762 MVT::i32, 1, 5,
19763 OPC_EmitInteger32, 3,
19764 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19765 MVT::i32, 1, 7,
19766 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19767 MVT::i32, 3, 4, 6, 8,
19768 45,
19769 OPC_CheckType, MVT::i1,
19770 OPC_MoveParent,
19771 OPC_CheckTypeI64,
19772 OPC_CheckPatternPredicate0,
19773 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
19774 MVT::i32, 2, 0, 1,
19775 OPC_EmitStringInteger32, PPC::sub_un,
19776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19777 MVT::i1, 2, 2, 3,
19778 OPC_EmitInteger64, 0,
19779 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19780 MVT::i64, 1, 5,
19781 OPC_EmitInteger64, 3,
19782 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19783 MVT::i64, 1, 7,
19784 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19785 MVT::i64, 3, 4, 6, 8,
19786 0,
19787 0,
19788 45|128,8,
19789 OPC_CheckChild0Type, MVT::f128,
19790 OPC_RecordChild1,
19791 OPC_Scope, 22|128,1,
19792 OPC_CheckChild2CondCode, ISD::SETUGE,
19793 OPC_Scope, 26,
19794 OPC_MoveParent,
19795 OPC_CheckTypeI32,
19796 OPC_CheckPatternPredicate, 10,
19797 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19798 MVT::i32, 2, 0, 1,
19799 OPC_EmitStringInteger32, PPC::sub_lt,
19800 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19801 MVT::i1, 2, 2, 3,
19802 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19803 MVT::i32, 1, 4,
19804 28,
19805 OPC_CheckType, MVT::i1,
19806 OPC_MoveParent,
19807 OPC_CheckTypeI64,
19808 OPC_CheckPatternPredicate, 10,
19809 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19810 MVT::i32, 2, 0, 1,
19811 OPC_EmitStringInteger32, PPC::sub_lt,
19812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19813 MVT::i1, 2, 2, 3,
19814 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19815 MVT::i64, 1, 4,
19816 43,
19817 OPC_MoveParent,
19818 OPC_CheckTypeI32,
19819 OPC_CheckPatternPredicate0,
19820 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19821 MVT::i32, 2, 0, 1,
19822 OPC_EmitStringInteger32, PPC::sub_lt,
19823 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19824 MVT::i1, 2, 2, 3,
19825 OPC_EmitInteger32, 0,
19826 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19827 MVT::i32, 1, 5,
19828 OPC_EmitInteger32, 3,
19829 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19830 MVT::i32, 1, 7,
19831 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19832 MVT::i32, 3, 4, 6, 8,
19833 45,
19834 OPC_CheckType, MVT::i1,
19835 OPC_MoveParent,
19836 OPC_CheckTypeI64,
19837 OPC_CheckPatternPredicate0,
19838 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19839 MVT::i32, 2, 0, 1,
19840 OPC_EmitStringInteger32, PPC::sub_lt,
19841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19842 MVT::i1, 2, 2, 3,
19843 OPC_EmitInteger64, 0,
19844 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19845 MVT::i64, 1, 5,
19846 OPC_EmitInteger64, 3,
19847 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19848 MVT::i64, 1, 7,
19849 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19850 MVT::i64, 3, 4, 6, 8,
19851 0,
19852 22|128,1,
19853 OPC_CheckChild2CondCode, ISD::SETGE,
19854 OPC_Scope, 26,
19855 OPC_MoveParent,
19856 OPC_CheckTypeI32,
19857 OPC_CheckPatternPredicate, 10,
19858 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19859 MVT::i32, 2, 0, 1,
19860 OPC_EmitStringInteger32, PPC::sub_lt,
19861 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19862 MVT::i1, 2, 2, 3,
19863 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19864 MVT::i32, 1, 4,
19865 28,
19866 OPC_CheckType, MVT::i1,
19867 OPC_MoveParent,
19868 OPC_CheckTypeI64,
19869 OPC_CheckPatternPredicate, 10,
19870 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19871 MVT::i32, 2, 0, 1,
19872 OPC_EmitStringInteger32, PPC::sub_lt,
19873 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19874 MVT::i1, 2, 2, 3,
19875 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19876 MVT::i64, 1, 4,
19877 43,
19878 OPC_MoveParent,
19879 OPC_CheckTypeI32,
19880 OPC_CheckPatternPredicate0,
19881 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19882 MVT::i32, 2, 0, 1,
19883 OPC_EmitStringInteger32, PPC::sub_lt,
19884 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19885 MVT::i1, 2, 2, 3,
19886 OPC_EmitInteger32, 0,
19887 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19888 MVT::i32, 1, 5,
19889 OPC_EmitInteger32, 3,
19890 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19891 MVT::i32, 1, 7,
19892 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19893 MVT::i32, 3, 4, 6, 8,
19894 45,
19895 OPC_CheckType, MVT::i1,
19896 OPC_MoveParent,
19897 OPC_CheckTypeI64,
19898 OPC_CheckPatternPredicate0,
19899 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19900 MVT::i32, 2, 0, 1,
19901 OPC_EmitStringInteger32, PPC::sub_lt,
19902 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19903 MVT::i1, 2, 2, 3,
19904 OPC_EmitInteger64, 0,
19905 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19906 MVT::i64, 1, 5,
19907 OPC_EmitInteger64, 3,
19908 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19909 MVT::i64, 1, 7,
19910 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19911 MVT::i64, 3, 4, 6, 8,
19912 0,
19913 22|128,1,
19914 OPC_CheckChild2CondCode, ISD::SETULE,
19915 OPC_Scope, 26,
19916 OPC_MoveParent,
19917 OPC_CheckTypeI32,
19918 OPC_CheckPatternPredicate, 10,
19919 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19920 MVT::i32, 2, 0, 1,
19921 OPC_EmitStringInteger32, PPC::sub_gt,
19922 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19923 MVT::i1, 2, 2, 3,
19924 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19925 MVT::i32, 1, 4,
19926 28,
19927 OPC_CheckType, MVT::i1,
19928 OPC_MoveParent,
19929 OPC_CheckTypeI64,
19930 OPC_CheckPatternPredicate, 10,
19931 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19932 MVT::i32, 2, 0, 1,
19933 OPC_EmitStringInteger32, PPC::sub_gt,
19934 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19935 MVT::i1, 2, 2, 3,
19936 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19937 MVT::i64, 1, 4,
19938 43,
19939 OPC_MoveParent,
19940 OPC_CheckTypeI32,
19941 OPC_CheckPatternPredicate0,
19942 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19943 MVT::i32, 2, 0, 1,
19944 OPC_EmitStringInteger32, PPC::sub_gt,
19945 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19946 MVT::i1, 2, 2, 3,
19947 OPC_EmitInteger32, 0,
19948 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19949 MVT::i32, 1, 5,
19950 OPC_EmitInteger32, 3,
19951 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
19952 MVT::i32, 1, 7,
19953 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
19954 MVT::i32, 3, 4, 6, 8,
19955 45,
19956 OPC_CheckType, MVT::i1,
19957 OPC_MoveParent,
19958 OPC_CheckTypeI64,
19959 OPC_CheckPatternPredicate0,
19960 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19961 MVT::i32, 2, 0, 1,
19962 OPC_EmitStringInteger32, PPC::sub_gt,
19963 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19964 MVT::i1, 2, 2, 3,
19965 OPC_EmitInteger64, 0,
19966 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19967 MVT::i64, 1, 5,
19968 OPC_EmitInteger64, 3,
19969 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
19970 MVT::i64, 1, 7,
19971 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
19972 MVT::i64, 3, 4, 6, 8,
19973 0,
19974 22|128,1,
19975 OPC_CheckChild2CondCode, ISD::SETLE,
19976 OPC_Scope, 26,
19977 OPC_MoveParent,
19978 OPC_CheckTypeI32,
19979 OPC_CheckPatternPredicate, 10,
19980 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19981 MVT::i32, 2, 0, 1,
19982 OPC_EmitStringInteger32, PPC::sub_gt,
19983 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19984 MVT::i1, 2, 2, 3,
19985 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
19986 MVT::i32, 1, 4,
19987 28,
19988 OPC_CheckType, MVT::i1,
19989 OPC_MoveParent,
19990 OPC_CheckTypeI64,
19991 OPC_CheckPatternPredicate, 10,
19992 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
19993 MVT::i32, 2, 0, 1,
19994 OPC_EmitStringInteger32, PPC::sub_gt,
19995 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
19996 MVT::i1, 2, 2, 3,
19997 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
19998 MVT::i64, 1, 4,
19999 43,
20000 OPC_MoveParent,
20001 OPC_CheckTypeI32,
20002 OPC_CheckPatternPredicate0,
20003 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20004 MVT::i32, 2, 0, 1,
20005 OPC_EmitStringInteger32, PPC::sub_gt,
20006 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20007 MVT::i1, 2, 2, 3,
20008 OPC_EmitInteger32, 0,
20009 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20010 MVT::i32, 1, 5,
20011 OPC_EmitInteger32, 3,
20012 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20013 MVT::i32, 1, 7,
20014 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20015 MVT::i32, 3, 4, 6, 8,
20016 45,
20017 OPC_CheckType, MVT::i1,
20018 OPC_MoveParent,
20019 OPC_CheckTypeI64,
20020 OPC_CheckPatternPredicate0,
20021 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20022 MVT::i32, 2, 0, 1,
20023 OPC_EmitStringInteger32, PPC::sub_gt,
20024 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20025 MVT::i1, 2, 2, 3,
20026 OPC_EmitInteger64, 0,
20027 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20028 MVT::i64, 1, 5,
20029 OPC_EmitInteger64, 3,
20030 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20031 MVT::i64, 1, 7,
20032 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20033 MVT::i64, 3, 4, 6, 8,
20034 0,
20035 22|128,1,
20036 OPC_CheckChild2CondCode, ISD::SETUNE,
20037 OPC_Scope, 26,
20038 OPC_MoveParent,
20039 OPC_CheckTypeI32,
20040 OPC_CheckPatternPredicate, 10,
20041 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20042 MVT::i32, 2, 0, 1,
20043 OPC_EmitStringInteger32, PPC::sub_eq,
20044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20045 MVT::i1, 2, 2, 3,
20046 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
20047 MVT::i32, 1, 4,
20048 28,
20049 OPC_CheckType, MVT::i1,
20050 OPC_MoveParent,
20051 OPC_CheckTypeI64,
20052 OPC_CheckPatternPredicate, 10,
20053 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20054 MVT::i32, 2, 0, 1,
20055 OPC_EmitStringInteger32, PPC::sub_eq,
20056 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20057 MVT::i1, 2, 2, 3,
20058 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
20059 MVT::i64, 1, 4,
20060 43,
20061 OPC_MoveParent,
20062 OPC_CheckTypeI32,
20063 OPC_CheckPatternPredicate0,
20064 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20065 MVT::i32, 2, 0, 1,
20066 OPC_EmitStringInteger32, PPC::sub_eq,
20067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20068 MVT::i1, 2, 2, 3,
20069 OPC_EmitInteger32, 0,
20070 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20071 MVT::i32, 1, 5,
20072 OPC_EmitInteger32, 3,
20073 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20074 MVT::i32, 1, 7,
20075 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20076 MVT::i32, 3, 4, 6, 8,
20077 45,
20078 OPC_CheckType, MVT::i1,
20079 OPC_MoveParent,
20080 OPC_CheckTypeI64,
20081 OPC_CheckPatternPredicate0,
20082 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20083 MVT::i32, 2, 0, 1,
20084 OPC_EmitStringInteger32, PPC::sub_eq,
20085 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20086 MVT::i1, 2, 2, 3,
20087 OPC_EmitInteger64, 0,
20088 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20089 MVT::i64, 1, 5,
20090 OPC_EmitInteger64, 3,
20091 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20092 MVT::i64, 1, 7,
20093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20094 MVT::i64, 3, 4, 6, 8,
20095 0,
20096 22|128,1,
20097 OPC_CheckChild2CondCode, ISD::SETNE,
20098 OPC_Scope, 26,
20099 OPC_MoveParent,
20100 OPC_CheckTypeI32,
20101 OPC_CheckPatternPredicate, 10,
20102 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20103 MVT::i32, 2, 0, 1,
20104 OPC_EmitStringInteger32, PPC::sub_eq,
20105 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20106 MVT::i1, 2, 2, 3,
20107 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
20108 MVT::i32, 1, 4,
20109 28,
20110 OPC_CheckType, MVT::i1,
20111 OPC_MoveParent,
20112 OPC_CheckTypeI64,
20113 OPC_CheckPatternPredicate, 10,
20114 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20115 MVT::i32, 2, 0, 1,
20116 OPC_EmitStringInteger32, PPC::sub_eq,
20117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20118 MVT::i1, 2, 2, 3,
20119 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
20120 MVT::i64, 1, 4,
20121 43,
20122 OPC_MoveParent,
20123 OPC_CheckTypeI32,
20124 OPC_CheckPatternPredicate0,
20125 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20126 MVT::i32, 2, 0, 1,
20127 OPC_EmitStringInteger32, PPC::sub_eq,
20128 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20129 MVT::i1, 2, 2, 3,
20130 OPC_EmitInteger32, 0,
20131 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20132 MVT::i32, 1, 5,
20133 OPC_EmitInteger32, 3,
20134 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20135 MVT::i32, 1, 7,
20136 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20137 MVT::i32, 3, 4, 6, 8,
20138 45,
20139 OPC_CheckType, MVT::i1,
20140 OPC_MoveParent,
20141 OPC_CheckTypeI64,
20142 OPC_CheckPatternPredicate0,
20143 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20144 MVT::i32, 2, 0, 1,
20145 OPC_EmitStringInteger32, PPC::sub_eq,
20146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20147 MVT::i1, 2, 2, 3,
20148 OPC_EmitInteger64, 0,
20149 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20150 MVT::i64, 1, 5,
20151 OPC_EmitInteger64, 3,
20152 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20153 MVT::i64, 1, 7,
20154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20155 MVT::i64, 3, 4, 6, 8,
20156 0,
20157 22|128,1,
20158 OPC_CheckChild2CondCode, ISD::SETO,
20159 OPC_Scope, 26,
20160 OPC_MoveParent,
20161 OPC_CheckTypeI32,
20162 OPC_CheckPatternPredicate, 10,
20163 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20164 MVT::i32, 2, 0, 1,
20165 OPC_EmitStringInteger32, PPC::sub_un,
20166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20167 MVT::i1, 2, 2, 3,
20168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR),
20169 MVT::i32, 1, 4,
20170 28,
20171 OPC_CheckType, MVT::i1,
20172 OPC_MoveParent,
20173 OPC_CheckTypeI64,
20174 OPC_CheckPatternPredicate, 10,
20175 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20176 MVT::i32, 2, 0, 1,
20177 OPC_EmitStringInteger32, PPC::sub_un,
20178 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20179 MVT::i1, 2, 2, 3,
20180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBCR8),
20181 MVT::i64, 1, 4,
20182 43,
20183 OPC_MoveParent,
20184 OPC_CheckTypeI32,
20185 OPC_CheckPatternPredicate0,
20186 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20187 MVT::i32, 2, 0, 1,
20188 OPC_EmitStringInteger32, PPC::sub_un,
20189 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20190 MVT::i1, 2, 2, 3,
20191 OPC_EmitInteger32, 0,
20192 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20193 MVT::i32, 1, 5,
20194 OPC_EmitInteger32, 3,
20195 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20196 MVT::i32, 1, 7,
20197 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20198 MVT::i32, 3, 4, 6, 8,
20199 45,
20200 OPC_CheckType, MVT::i1,
20201 OPC_MoveParent,
20202 OPC_CheckTypeI64,
20203 OPC_CheckPatternPredicate0,
20204 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
20205 MVT::i32, 2, 0, 1,
20206 OPC_EmitStringInteger32, PPC::sub_un,
20207 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20208 MVT::i1, 2, 2, 3,
20209 OPC_EmitInteger64, 0,
20210 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20211 MVT::i64, 1, 5,
20212 OPC_EmitInteger64, 3,
20213 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20214 MVT::i64, 1, 7,
20215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20216 MVT::i64, 3, 4, 6, 8,
20217 0,
20218 0,
20219 0,
20220 38|128,16, TARGET_VAL(ISD::STRICT_FSETCC),
20221 OPC_RecordNode,
20222 OPC_RecordChild1,
20223 OPC_Scope, 52|128,5,
20224 OPC_CheckChild1Type, MVT::f32,
20225 OPC_RecordChild2,
20226 OPC_MoveChild3,
20227 OPC_Scope, 97,
20228 OPC_CheckCondCode, ISD::SETUGE,
20229 OPC_MoveParent,
20230 OPC_Scope, 44,
20231 OPC_MoveParent,
20232 OPC_CheckTypeI32,
20233 OPC_CheckPatternPredicate0,
20234 OPC_EmitMergeInputChains1_0,
20235 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20236 MVT::i32, 2, 1, 2,
20237 OPC_EmitStringInteger32, PPC::sub_lt,
20238 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20239 MVT::i1, 2, 3, 4,
20240 OPC_EmitInteger32, 0,
20241 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20242 MVT::i32, 1, 6,
20243 OPC_EmitInteger32, 3,
20244 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20245 MVT::i32, 1, 8,
20246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20247 MVT::i32, 3, 5, 7, 9,
20248 46,
20249 OPC_CheckType, MVT::i1,
20250 OPC_MoveParent,
20251 OPC_CheckTypeI64,
20252 OPC_CheckPatternPredicate0,
20253 OPC_EmitMergeInputChains1_0,
20254 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20255 MVT::i32, 2, 1, 2,
20256 OPC_EmitStringInteger32, PPC::sub_lt,
20257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20258 MVT::i1, 2, 3, 4,
20259 OPC_EmitInteger64, 0,
20260 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20261 MVT::i64, 1, 6,
20262 OPC_EmitInteger64, 3,
20263 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20264 MVT::i64, 1, 8,
20265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20266 MVT::i64, 3, 5, 7, 9,
20267 0,
20268 97,
20269 OPC_CheckCondCode, ISD::SETGE,
20270 OPC_MoveParent,
20271 OPC_Scope, 44,
20272 OPC_MoveParent,
20273 OPC_CheckTypeI32,
20274 OPC_CheckPatternPredicate0,
20275 OPC_EmitMergeInputChains1_0,
20276 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20277 MVT::i32, 2, 1, 2,
20278 OPC_EmitStringInteger32, PPC::sub_lt,
20279 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20280 MVT::i1, 2, 3, 4,
20281 OPC_EmitInteger32, 0,
20282 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20283 MVT::i32, 1, 6,
20284 OPC_EmitInteger32, 3,
20285 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20286 MVT::i32, 1, 8,
20287 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20288 MVT::i32, 3, 5, 7, 9,
20289 46,
20290 OPC_CheckType, MVT::i1,
20291 OPC_MoveParent,
20292 OPC_CheckTypeI64,
20293 OPC_CheckPatternPredicate0,
20294 OPC_EmitMergeInputChains1_0,
20295 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20296 MVT::i32, 2, 1, 2,
20297 OPC_EmitStringInteger32, PPC::sub_lt,
20298 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20299 MVT::i1, 2, 3, 4,
20300 OPC_EmitInteger64, 0,
20301 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20302 MVT::i64, 1, 6,
20303 OPC_EmitInteger64, 3,
20304 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20305 MVT::i64, 1, 8,
20306 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20307 MVT::i64, 3, 5, 7, 9,
20308 0,
20309 97,
20310 OPC_CheckCondCode, ISD::SETULE,
20311 OPC_MoveParent,
20312 OPC_Scope, 44,
20313 OPC_MoveParent,
20314 OPC_CheckTypeI32,
20315 OPC_CheckPatternPredicate0,
20316 OPC_EmitMergeInputChains1_0,
20317 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20318 MVT::i32, 2, 1, 2,
20319 OPC_EmitStringInteger32, PPC::sub_gt,
20320 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20321 MVT::i1, 2, 3, 4,
20322 OPC_EmitInteger32, 0,
20323 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20324 MVT::i32, 1, 6,
20325 OPC_EmitInteger32, 3,
20326 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20327 MVT::i32, 1, 8,
20328 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20329 MVT::i32, 3, 5, 7, 9,
20330 46,
20331 OPC_CheckType, MVT::i1,
20332 OPC_MoveParent,
20333 OPC_CheckTypeI64,
20334 OPC_CheckPatternPredicate0,
20335 OPC_EmitMergeInputChains1_0,
20336 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20337 MVT::i32, 2, 1, 2,
20338 OPC_EmitStringInteger32, PPC::sub_gt,
20339 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20340 MVT::i1, 2, 3, 4,
20341 OPC_EmitInteger64, 0,
20342 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20343 MVT::i64, 1, 6,
20344 OPC_EmitInteger64, 3,
20345 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20346 MVT::i64, 1, 8,
20347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20348 MVT::i64, 3, 5, 7, 9,
20349 0,
20350 97,
20351 OPC_CheckCondCode, ISD::SETLE,
20352 OPC_MoveParent,
20353 OPC_Scope, 44,
20354 OPC_MoveParent,
20355 OPC_CheckTypeI32,
20356 OPC_CheckPatternPredicate0,
20357 OPC_EmitMergeInputChains1_0,
20358 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20359 MVT::i32, 2, 1, 2,
20360 OPC_EmitStringInteger32, PPC::sub_gt,
20361 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20362 MVT::i1, 2, 3, 4,
20363 OPC_EmitInteger32, 0,
20364 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20365 MVT::i32, 1, 6,
20366 OPC_EmitInteger32, 3,
20367 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20368 MVT::i32, 1, 8,
20369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20370 MVT::i32, 3, 5, 7, 9,
20371 46,
20372 OPC_CheckType, MVT::i1,
20373 OPC_MoveParent,
20374 OPC_CheckTypeI64,
20375 OPC_CheckPatternPredicate0,
20376 OPC_EmitMergeInputChains1_0,
20377 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20378 MVT::i32, 2, 1, 2,
20379 OPC_EmitStringInteger32, PPC::sub_gt,
20380 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20381 MVT::i1, 2, 3, 4,
20382 OPC_EmitInteger64, 0,
20383 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20384 MVT::i64, 1, 6,
20385 OPC_EmitInteger64, 3,
20386 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20387 MVT::i64, 1, 8,
20388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20389 MVT::i64, 3, 5, 7, 9,
20390 0,
20391 97,
20392 OPC_CheckCondCode, ISD::SETUNE,
20393 OPC_MoveParent,
20394 OPC_Scope, 44,
20395 OPC_MoveParent,
20396 OPC_CheckTypeI32,
20397 OPC_CheckPatternPredicate0,
20398 OPC_EmitMergeInputChains1_0,
20399 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20400 MVT::i32, 2, 1, 2,
20401 OPC_EmitStringInteger32, PPC::sub_eq,
20402 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20403 MVT::i1, 2, 3, 4,
20404 OPC_EmitInteger32, 0,
20405 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20406 MVT::i32, 1, 6,
20407 OPC_EmitInteger32, 3,
20408 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20409 MVT::i32, 1, 8,
20410 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20411 MVT::i32, 3, 5, 7, 9,
20412 46,
20413 OPC_CheckType, MVT::i1,
20414 OPC_MoveParent,
20415 OPC_CheckTypeI64,
20416 OPC_CheckPatternPredicate0,
20417 OPC_EmitMergeInputChains1_0,
20418 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20419 MVT::i32, 2, 1, 2,
20420 OPC_EmitStringInteger32, PPC::sub_eq,
20421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20422 MVT::i1, 2, 3, 4,
20423 OPC_EmitInteger64, 0,
20424 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20425 MVT::i64, 1, 6,
20426 OPC_EmitInteger64, 3,
20427 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20428 MVT::i64, 1, 8,
20429 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20430 MVT::i64, 3, 5, 7, 9,
20431 0,
20432 97,
20433 OPC_CheckCondCode, ISD::SETNE,
20434 OPC_MoveParent,
20435 OPC_Scope, 44,
20436 OPC_MoveParent,
20437 OPC_CheckTypeI32,
20438 OPC_CheckPatternPredicate0,
20439 OPC_EmitMergeInputChains1_0,
20440 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20441 MVT::i32, 2, 1, 2,
20442 OPC_EmitStringInteger32, PPC::sub_eq,
20443 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20444 MVT::i1, 2, 3, 4,
20445 OPC_EmitInteger32, 0,
20446 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20447 MVT::i32, 1, 6,
20448 OPC_EmitInteger32, 3,
20449 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20450 MVT::i32, 1, 8,
20451 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20452 MVT::i32, 3, 5, 7, 9,
20453 46,
20454 OPC_CheckType, MVT::i1,
20455 OPC_MoveParent,
20456 OPC_CheckTypeI64,
20457 OPC_CheckPatternPredicate0,
20458 OPC_EmitMergeInputChains1_0,
20459 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20460 MVT::i32, 2, 1, 2,
20461 OPC_EmitStringInteger32, PPC::sub_eq,
20462 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20463 MVT::i1, 2, 3, 4,
20464 OPC_EmitInteger64, 0,
20465 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20466 MVT::i64, 1, 6,
20467 OPC_EmitInteger64, 3,
20468 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20469 MVT::i64, 1, 8,
20470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20471 MVT::i64, 3, 5, 7, 9,
20472 0,
20473 97,
20474 OPC_CheckCondCode, ISD::SETO,
20475 OPC_MoveParent,
20476 OPC_Scope, 44,
20477 OPC_MoveParent,
20478 OPC_CheckTypeI32,
20479 OPC_CheckPatternPredicate0,
20480 OPC_EmitMergeInputChains1_0,
20481 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20482 MVT::i32, 2, 1, 2,
20483 OPC_EmitStringInteger32, PPC::sub_un,
20484 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20485 MVT::i1, 2, 3, 4,
20486 OPC_EmitInteger32, 0,
20487 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20488 MVT::i32, 1, 6,
20489 OPC_EmitInteger32, 3,
20490 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20491 MVT::i32, 1, 8,
20492 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20493 MVT::i32, 3, 5, 7, 9,
20494 46,
20495 OPC_CheckType, MVT::i1,
20496 OPC_MoveParent,
20497 OPC_CheckTypeI64,
20498 OPC_CheckPatternPredicate0,
20499 OPC_EmitMergeInputChains1_0,
20500 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
20501 MVT::i32, 2, 1, 2,
20502 OPC_EmitStringInteger32, PPC::sub_un,
20503 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20504 MVT::i1, 2, 3, 4,
20505 OPC_EmitInteger64, 0,
20506 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20507 MVT::i64, 1, 6,
20508 OPC_EmitInteger64, 3,
20509 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20510 MVT::i64, 1, 8,
20511 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20512 MVT::i64, 3, 5, 7, 9,
20513 0,
20514 0,
20515 52|128,5,
20516 OPC_CheckChild1Type, MVT::f64,
20517 OPC_RecordChild2,
20518 OPC_MoveChild3,
20519 OPC_Scope, 97,
20520 OPC_CheckCondCode, ISD::SETUGE,
20521 OPC_MoveParent,
20522 OPC_Scope, 44,
20523 OPC_MoveParent,
20524 OPC_CheckTypeI32,
20525 OPC_CheckPatternPredicate0,
20526 OPC_EmitMergeInputChains1_0,
20527 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20528 MVT::i32, 2, 1, 2,
20529 OPC_EmitStringInteger32, PPC::sub_lt,
20530 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20531 MVT::i1, 2, 3, 4,
20532 OPC_EmitInteger32, 0,
20533 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20534 MVT::i32, 1, 6,
20535 OPC_EmitInteger32, 3,
20536 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20537 MVT::i32, 1, 8,
20538 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20539 MVT::i32, 3, 5, 7, 9,
20540 46,
20541 OPC_CheckType, MVT::i1,
20542 OPC_MoveParent,
20543 OPC_CheckTypeI64,
20544 OPC_CheckPatternPredicate0,
20545 OPC_EmitMergeInputChains1_0,
20546 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20547 MVT::i32, 2, 1, 2,
20548 OPC_EmitStringInteger32, PPC::sub_lt,
20549 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20550 MVT::i1, 2, 3, 4,
20551 OPC_EmitInteger64, 0,
20552 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20553 MVT::i64, 1, 6,
20554 OPC_EmitInteger64, 3,
20555 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20556 MVT::i64, 1, 8,
20557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20558 MVT::i64, 3, 5, 7, 9,
20559 0,
20560 97,
20561 OPC_CheckCondCode, ISD::SETGE,
20562 OPC_MoveParent,
20563 OPC_Scope, 44,
20564 OPC_MoveParent,
20565 OPC_CheckTypeI32,
20566 OPC_CheckPatternPredicate0,
20567 OPC_EmitMergeInputChains1_0,
20568 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20569 MVT::i32, 2, 1, 2,
20570 OPC_EmitStringInteger32, PPC::sub_lt,
20571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20572 MVT::i1, 2, 3, 4,
20573 OPC_EmitInteger32, 0,
20574 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20575 MVT::i32, 1, 6,
20576 OPC_EmitInteger32, 3,
20577 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20578 MVT::i32, 1, 8,
20579 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20580 MVT::i32, 3, 5, 7, 9,
20581 46,
20582 OPC_CheckType, MVT::i1,
20583 OPC_MoveParent,
20584 OPC_CheckTypeI64,
20585 OPC_CheckPatternPredicate0,
20586 OPC_EmitMergeInputChains1_0,
20587 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20588 MVT::i32, 2, 1, 2,
20589 OPC_EmitStringInteger32, PPC::sub_lt,
20590 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20591 MVT::i1, 2, 3, 4,
20592 OPC_EmitInteger64, 0,
20593 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20594 MVT::i64, 1, 6,
20595 OPC_EmitInteger64, 3,
20596 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20597 MVT::i64, 1, 8,
20598 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20599 MVT::i64, 3, 5, 7, 9,
20600 0,
20601 97,
20602 OPC_CheckCondCode, ISD::SETULE,
20603 OPC_MoveParent,
20604 OPC_Scope, 44,
20605 OPC_MoveParent,
20606 OPC_CheckTypeI32,
20607 OPC_CheckPatternPredicate0,
20608 OPC_EmitMergeInputChains1_0,
20609 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20610 MVT::i32, 2, 1, 2,
20611 OPC_EmitStringInteger32, PPC::sub_gt,
20612 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20613 MVT::i1, 2, 3, 4,
20614 OPC_EmitInteger32, 0,
20615 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20616 MVT::i32, 1, 6,
20617 OPC_EmitInteger32, 3,
20618 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20619 MVT::i32, 1, 8,
20620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20621 MVT::i32, 3, 5, 7, 9,
20622 46,
20623 OPC_CheckType, MVT::i1,
20624 OPC_MoveParent,
20625 OPC_CheckTypeI64,
20626 OPC_CheckPatternPredicate0,
20627 OPC_EmitMergeInputChains1_0,
20628 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20629 MVT::i32, 2, 1, 2,
20630 OPC_EmitStringInteger32, PPC::sub_gt,
20631 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20632 MVT::i1, 2, 3, 4,
20633 OPC_EmitInteger64, 0,
20634 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20635 MVT::i64, 1, 6,
20636 OPC_EmitInteger64, 3,
20637 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20638 MVT::i64, 1, 8,
20639 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20640 MVT::i64, 3, 5, 7, 9,
20641 0,
20642 97,
20643 OPC_CheckCondCode, ISD::SETLE,
20644 OPC_MoveParent,
20645 OPC_Scope, 44,
20646 OPC_MoveParent,
20647 OPC_CheckTypeI32,
20648 OPC_CheckPatternPredicate0,
20649 OPC_EmitMergeInputChains1_0,
20650 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20651 MVT::i32, 2, 1, 2,
20652 OPC_EmitStringInteger32, PPC::sub_gt,
20653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20654 MVT::i1, 2, 3, 4,
20655 OPC_EmitInteger32, 0,
20656 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20657 MVT::i32, 1, 6,
20658 OPC_EmitInteger32, 3,
20659 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20660 MVT::i32, 1, 8,
20661 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20662 MVT::i32, 3, 5, 7, 9,
20663 46,
20664 OPC_CheckType, MVT::i1,
20665 OPC_MoveParent,
20666 OPC_CheckTypeI64,
20667 OPC_CheckPatternPredicate0,
20668 OPC_EmitMergeInputChains1_0,
20669 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20670 MVT::i32, 2, 1, 2,
20671 OPC_EmitStringInteger32, PPC::sub_gt,
20672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20673 MVT::i1, 2, 3, 4,
20674 OPC_EmitInteger64, 0,
20675 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20676 MVT::i64, 1, 6,
20677 OPC_EmitInteger64, 3,
20678 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20679 MVT::i64, 1, 8,
20680 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20681 MVT::i64, 3, 5, 7, 9,
20682 0,
20683 97,
20684 OPC_CheckCondCode, ISD::SETUNE,
20685 OPC_MoveParent,
20686 OPC_Scope, 44,
20687 OPC_MoveParent,
20688 OPC_CheckTypeI32,
20689 OPC_CheckPatternPredicate0,
20690 OPC_EmitMergeInputChains1_0,
20691 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20692 MVT::i32, 2, 1, 2,
20693 OPC_EmitStringInteger32, PPC::sub_eq,
20694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20695 MVT::i1, 2, 3, 4,
20696 OPC_EmitInteger32, 0,
20697 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20698 MVT::i32, 1, 6,
20699 OPC_EmitInteger32, 3,
20700 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20701 MVT::i32, 1, 8,
20702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20703 MVT::i32, 3, 5, 7, 9,
20704 46,
20705 OPC_CheckType, MVT::i1,
20706 OPC_MoveParent,
20707 OPC_CheckTypeI64,
20708 OPC_CheckPatternPredicate0,
20709 OPC_EmitMergeInputChains1_0,
20710 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20711 MVT::i32, 2, 1, 2,
20712 OPC_EmitStringInteger32, PPC::sub_eq,
20713 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20714 MVT::i1, 2, 3, 4,
20715 OPC_EmitInteger64, 0,
20716 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20717 MVT::i64, 1, 6,
20718 OPC_EmitInteger64, 3,
20719 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20720 MVT::i64, 1, 8,
20721 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20722 MVT::i64, 3, 5, 7, 9,
20723 0,
20724 97,
20725 OPC_CheckCondCode, ISD::SETNE,
20726 OPC_MoveParent,
20727 OPC_Scope, 44,
20728 OPC_MoveParent,
20729 OPC_CheckTypeI32,
20730 OPC_CheckPatternPredicate0,
20731 OPC_EmitMergeInputChains1_0,
20732 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20733 MVT::i32, 2, 1, 2,
20734 OPC_EmitStringInteger32, PPC::sub_eq,
20735 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20736 MVT::i1, 2, 3, 4,
20737 OPC_EmitInteger32, 0,
20738 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20739 MVT::i32, 1, 6,
20740 OPC_EmitInteger32, 3,
20741 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20742 MVT::i32, 1, 8,
20743 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20744 MVT::i32, 3, 5, 7, 9,
20745 46,
20746 OPC_CheckType, MVT::i1,
20747 OPC_MoveParent,
20748 OPC_CheckTypeI64,
20749 OPC_CheckPatternPredicate0,
20750 OPC_EmitMergeInputChains1_0,
20751 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20752 MVT::i32, 2, 1, 2,
20753 OPC_EmitStringInteger32, PPC::sub_eq,
20754 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20755 MVT::i1, 2, 3, 4,
20756 OPC_EmitInteger64, 0,
20757 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20758 MVT::i64, 1, 6,
20759 OPC_EmitInteger64, 3,
20760 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20761 MVT::i64, 1, 8,
20762 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20763 MVT::i64, 3, 5, 7, 9,
20764 0,
20765 97,
20766 OPC_CheckCondCode, ISD::SETO,
20767 OPC_MoveParent,
20768 OPC_Scope, 44,
20769 OPC_MoveParent,
20770 OPC_CheckTypeI32,
20771 OPC_CheckPatternPredicate0,
20772 OPC_EmitMergeInputChains1_0,
20773 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20774 MVT::i32, 2, 1, 2,
20775 OPC_EmitStringInteger32, PPC::sub_un,
20776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20777 MVT::i1, 2, 3, 4,
20778 OPC_EmitInteger32, 0,
20779 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20780 MVT::i32, 1, 6,
20781 OPC_EmitInteger32, 3,
20782 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20783 MVT::i32, 1, 8,
20784 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20785 MVT::i32, 3, 5, 7, 9,
20786 46,
20787 OPC_CheckType, MVT::i1,
20788 OPC_MoveParent,
20789 OPC_CheckTypeI64,
20790 OPC_CheckPatternPredicate0,
20791 OPC_EmitMergeInputChains1_0,
20792 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
20793 MVT::i32, 2, 1, 2,
20794 OPC_EmitStringInteger32, PPC::sub_un,
20795 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20796 MVT::i1, 2, 3, 4,
20797 OPC_EmitInteger64, 0,
20798 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20799 MVT::i64, 1, 6,
20800 OPC_EmitInteger64, 3,
20801 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20802 MVT::i64, 1, 8,
20803 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20804 MVT::i64, 3, 5, 7, 9,
20805 0,
20806 0,
20807 52|128,5,
20808 OPC_CheckChild1Type, MVT::f128,
20809 OPC_RecordChild2,
20810 OPC_MoveChild3,
20811 OPC_Scope, 97,
20812 OPC_CheckCondCode, ISD::SETUGE,
20813 OPC_MoveParent,
20814 OPC_Scope, 44,
20815 OPC_MoveParent,
20816 OPC_CheckTypeI32,
20817 OPC_CheckPatternPredicate0,
20818 OPC_EmitMergeInputChains1_0,
20819 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20820 MVT::i32, 2, 1, 2,
20821 OPC_EmitStringInteger32, PPC::sub_lt,
20822 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20823 MVT::i1, 2, 3, 4,
20824 OPC_EmitInteger32, 0,
20825 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20826 MVT::i32, 1, 6,
20827 OPC_EmitInteger32, 3,
20828 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20829 MVT::i32, 1, 8,
20830 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20831 MVT::i32, 3, 5, 7, 9,
20832 46,
20833 OPC_CheckType, MVT::i1,
20834 OPC_MoveParent,
20835 OPC_CheckTypeI64,
20836 OPC_CheckPatternPredicate0,
20837 OPC_EmitMergeInputChains1_0,
20838 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20839 MVT::i32, 2, 1, 2,
20840 OPC_EmitStringInteger32, PPC::sub_lt,
20841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20842 MVT::i1, 2, 3, 4,
20843 OPC_EmitInteger64, 0,
20844 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20845 MVT::i64, 1, 6,
20846 OPC_EmitInteger64, 3,
20847 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20848 MVT::i64, 1, 8,
20849 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20850 MVT::i64, 3, 5, 7, 9,
20851 0,
20852 97,
20853 OPC_CheckCondCode, ISD::SETGE,
20854 OPC_MoveParent,
20855 OPC_Scope, 44,
20856 OPC_MoveParent,
20857 OPC_CheckTypeI32,
20858 OPC_CheckPatternPredicate0,
20859 OPC_EmitMergeInputChains1_0,
20860 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20861 MVT::i32, 2, 1, 2,
20862 OPC_EmitStringInteger32, PPC::sub_lt,
20863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20864 MVT::i1, 2, 3, 4,
20865 OPC_EmitInteger32, 0,
20866 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20867 MVT::i32, 1, 6,
20868 OPC_EmitInteger32, 3,
20869 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20870 MVT::i32, 1, 8,
20871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20872 MVT::i32, 3, 5, 7, 9,
20873 46,
20874 OPC_CheckType, MVT::i1,
20875 OPC_MoveParent,
20876 OPC_CheckTypeI64,
20877 OPC_CheckPatternPredicate0,
20878 OPC_EmitMergeInputChains1_0,
20879 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20880 MVT::i32, 2, 1, 2,
20881 OPC_EmitStringInteger32, PPC::sub_lt,
20882 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20883 MVT::i1, 2, 3, 4,
20884 OPC_EmitInteger64, 0,
20885 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20886 MVT::i64, 1, 6,
20887 OPC_EmitInteger64, 3,
20888 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20889 MVT::i64, 1, 8,
20890 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20891 MVT::i64, 3, 5, 7, 9,
20892 0,
20893 97,
20894 OPC_CheckCondCode, ISD::SETULE,
20895 OPC_MoveParent,
20896 OPC_Scope, 44,
20897 OPC_MoveParent,
20898 OPC_CheckTypeI32,
20899 OPC_CheckPatternPredicate0,
20900 OPC_EmitMergeInputChains1_0,
20901 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20902 MVT::i32, 2, 1, 2,
20903 OPC_EmitStringInteger32, PPC::sub_gt,
20904 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20905 MVT::i1, 2, 3, 4,
20906 OPC_EmitInteger32, 0,
20907 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20908 MVT::i32, 1, 6,
20909 OPC_EmitInteger32, 3,
20910 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20911 MVT::i32, 1, 8,
20912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20913 MVT::i32, 3, 5, 7, 9,
20914 46,
20915 OPC_CheckType, MVT::i1,
20916 OPC_MoveParent,
20917 OPC_CheckTypeI64,
20918 OPC_CheckPatternPredicate0,
20919 OPC_EmitMergeInputChains1_0,
20920 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20921 MVT::i32, 2, 1, 2,
20922 OPC_EmitStringInteger32, PPC::sub_gt,
20923 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20924 MVT::i1, 2, 3, 4,
20925 OPC_EmitInteger64, 0,
20926 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20927 MVT::i64, 1, 6,
20928 OPC_EmitInteger64, 3,
20929 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20930 MVT::i64, 1, 8,
20931 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20932 MVT::i64, 3, 5, 7, 9,
20933 0,
20934 97,
20935 OPC_CheckCondCode, ISD::SETLE,
20936 OPC_MoveParent,
20937 OPC_Scope, 44,
20938 OPC_MoveParent,
20939 OPC_CheckTypeI32,
20940 OPC_CheckPatternPredicate0,
20941 OPC_EmitMergeInputChains1_0,
20942 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20943 MVT::i32, 2, 1, 2,
20944 OPC_EmitStringInteger32, PPC::sub_gt,
20945 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20946 MVT::i1, 2, 3, 4,
20947 OPC_EmitInteger32, 0,
20948 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20949 MVT::i32, 1, 6,
20950 OPC_EmitInteger32, 3,
20951 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20952 MVT::i32, 1, 8,
20953 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20954 MVT::i32, 3, 5, 7, 9,
20955 46,
20956 OPC_CheckType, MVT::i1,
20957 OPC_MoveParent,
20958 OPC_CheckTypeI64,
20959 OPC_CheckPatternPredicate0,
20960 OPC_EmitMergeInputChains1_0,
20961 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20962 MVT::i32, 2, 1, 2,
20963 OPC_EmitStringInteger32, PPC::sub_gt,
20964 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20965 MVT::i1, 2, 3, 4,
20966 OPC_EmitInteger64, 0,
20967 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20968 MVT::i64, 1, 6,
20969 OPC_EmitInteger64, 3,
20970 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
20971 MVT::i64, 1, 8,
20972 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
20973 MVT::i64, 3, 5, 7, 9,
20974 0,
20975 97,
20976 OPC_CheckCondCode, ISD::SETUNE,
20977 OPC_MoveParent,
20978 OPC_Scope, 44,
20979 OPC_MoveParent,
20980 OPC_CheckTypeI32,
20981 OPC_CheckPatternPredicate0,
20982 OPC_EmitMergeInputChains1_0,
20983 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
20984 MVT::i32, 2, 1, 2,
20985 OPC_EmitStringInteger32, PPC::sub_eq,
20986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20987 MVT::i1, 2, 3, 4,
20988 OPC_EmitInteger32, 0,
20989 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20990 MVT::i32, 1, 6,
20991 OPC_EmitInteger32, 3,
20992 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
20993 MVT::i32, 1, 8,
20994 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
20995 MVT::i32, 3, 5, 7, 9,
20996 46,
20997 OPC_CheckType, MVT::i1,
20998 OPC_MoveParent,
20999 OPC_CheckTypeI64,
21000 OPC_CheckPatternPredicate0,
21001 OPC_EmitMergeInputChains1_0,
21002 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
21003 MVT::i32, 2, 1, 2,
21004 OPC_EmitStringInteger32, PPC::sub_eq,
21005 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21006 MVT::i1, 2, 3, 4,
21007 OPC_EmitInteger64, 0,
21008 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21009 MVT::i64, 1, 6,
21010 OPC_EmitInteger64, 3,
21011 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21012 MVT::i64, 1, 8,
21013 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21014 MVT::i64, 3, 5, 7, 9,
21015 0,
21016 97,
21017 OPC_CheckCondCode, ISD::SETNE,
21018 OPC_MoveParent,
21019 OPC_Scope, 44,
21020 OPC_MoveParent,
21021 OPC_CheckTypeI32,
21022 OPC_CheckPatternPredicate0,
21023 OPC_EmitMergeInputChains1_0,
21024 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
21025 MVT::i32, 2, 1, 2,
21026 OPC_EmitStringInteger32, PPC::sub_eq,
21027 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21028 MVT::i1, 2, 3, 4,
21029 OPC_EmitInteger32, 0,
21030 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21031 MVT::i32, 1, 6,
21032 OPC_EmitInteger32, 3,
21033 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21034 MVT::i32, 1, 8,
21035 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21036 MVT::i32, 3, 5, 7, 9,
21037 46,
21038 OPC_CheckType, MVT::i1,
21039 OPC_MoveParent,
21040 OPC_CheckTypeI64,
21041 OPC_CheckPatternPredicate0,
21042 OPC_EmitMergeInputChains1_0,
21043 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
21044 MVT::i32, 2, 1, 2,
21045 OPC_EmitStringInteger32, PPC::sub_eq,
21046 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21047 MVT::i1, 2, 3, 4,
21048 OPC_EmitInteger64, 0,
21049 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21050 MVT::i64, 1, 6,
21051 OPC_EmitInteger64, 3,
21052 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21053 MVT::i64, 1, 8,
21054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21055 MVT::i64, 3, 5, 7, 9,
21056 0,
21057 97,
21058 OPC_CheckCondCode, ISD::SETO,
21059 OPC_MoveParent,
21060 OPC_Scope, 44,
21061 OPC_MoveParent,
21062 OPC_CheckTypeI32,
21063 OPC_CheckPatternPredicate0,
21064 OPC_EmitMergeInputChains1_0,
21065 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
21066 MVT::i32, 2, 1, 2,
21067 OPC_EmitStringInteger32, PPC::sub_un,
21068 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21069 MVT::i1, 2, 3, 4,
21070 OPC_EmitInteger32, 0,
21071 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21072 MVT::i32, 1, 6,
21073 OPC_EmitInteger32, 3,
21074 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21075 MVT::i32, 1, 8,
21076 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21077 MVT::i32, 3, 5, 7, 9,
21078 46,
21079 OPC_CheckType, MVT::i1,
21080 OPC_MoveParent,
21081 OPC_CheckTypeI64,
21082 OPC_CheckPatternPredicate0,
21083 OPC_EmitMergeInputChains1_0,
21084 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
21085 MVT::i32, 2, 1, 2,
21086 OPC_EmitStringInteger32, PPC::sub_un,
21087 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21088 MVT::i1, 2, 3, 4,
21089 OPC_EmitInteger64, 0,
21090 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21091 MVT::i64, 1, 6,
21092 OPC_EmitInteger64, 3,
21093 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21094 MVT::i64, 1, 8,
21095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21096 MVT::i64, 3, 5, 7, 9,
21097 0,
21098 0,
21099 0,
21100 2|128,25, TARGET_VAL(ISD::STRICT_FSETCCS),
21101 OPC_RecordNode,
21102 OPC_RecordChild1,
21103 OPC_Scope, 98|128,9,
21104 OPC_CheckChild1Type, MVT::f32,
21105 OPC_RecordChild2,
21106 OPC_MoveChild3,
21107 OPC_Scope, 61|128,1,
21108 OPC_CheckCondCode, ISD::SETUGE,
21109 OPC_MoveParent,
21110 OPC_Scope, 44,
21111 OPC_MoveParent,
21112 OPC_CheckTypeI32,
21113 OPC_CheckPatternPredicate0,
21114 OPC_EmitMergeInputChains1_0,
21115 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21116 MVT::i32, 2, 1, 2,
21117 OPC_EmitStringInteger32, PPC::sub_lt,
21118 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21119 MVT::i1, 2, 3, 4,
21120 OPC_EmitInteger32, 0,
21121 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21122 MVT::i32, 1, 6,
21123 OPC_EmitInteger32, 3,
21124 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21125 MVT::i32, 1, 8,
21126 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21127 MVT::i32, 3, 5, 7, 9,
21128 46,
21129 OPC_CheckType, MVT::i1,
21130 OPC_MoveParent,
21131 OPC_CheckTypeI64,
21132 OPC_CheckPatternPredicate0,
21133 OPC_EmitMergeInputChains1_0,
21134 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21135 MVT::i32, 2, 1, 2,
21136 OPC_EmitStringInteger32, PPC::sub_lt,
21137 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21138 MVT::i1, 2, 3, 4,
21139 OPC_EmitInteger64, 0,
21140 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21141 MVT::i64, 1, 6,
21142 OPC_EmitInteger64, 3,
21143 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21144 MVT::i64, 1, 8,
21145 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21146 MVT::i64, 3, 5, 7, 9,
21147 44,
21148 OPC_MoveParent,
21149 OPC_CheckTypeI32,
21150 OPC_CheckPatternPredicate5,
21151 OPC_EmitMergeInputChains1_0,
21152 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
21153 MVT::i32, 2, 1, 2,
21154 OPC_EmitStringInteger32, PPC::sub_gt,
21155 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21156 MVT::i1, 2, 3, 4,
21157 OPC_EmitInteger32, 0,
21158 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21159 MVT::i32, 1, 6,
21160 OPC_EmitInteger32, 3,
21161 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21162 MVT::i32, 1, 8,
21163 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21164 MVT::i32, 3, 5, 7, 9,
21165 46,
21166 OPC_CheckType, MVT::i1,
21167 OPC_MoveParent,
21168 OPC_CheckTypeI64,
21169 OPC_CheckPatternPredicate5,
21170 OPC_EmitMergeInputChains1_0,
21171 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
21172 MVT::i32, 2, 1, 2,
21173 OPC_EmitStringInteger32, PPC::sub_gt,
21174 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21175 MVT::i1, 2, 3, 4,
21176 OPC_EmitInteger64, 0,
21177 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21178 MVT::i64, 1, 6,
21179 OPC_EmitInteger64, 3,
21180 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21181 MVT::i64, 1, 8,
21182 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21183 MVT::i64, 3, 5, 7, 9,
21184 0,
21185 61|128,1,
21186 OPC_CheckCondCode, ISD::SETGE,
21187 OPC_MoveParent,
21188 OPC_Scope, 44,
21189 OPC_MoveParent,
21190 OPC_CheckTypeI32,
21191 OPC_CheckPatternPredicate0,
21192 OPC_EmitMergeInputChains1_0,
21193 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21194 MVT::i32, 2, 1, 2,
21195 OPC_EmitStringInteger32, PPC::sub_lt,
21196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21197 MVT::i1, 2, 3, 4,
21198 OPC_EmitInteger32, 0,
21199 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21200 MVT::i32, 1, 6,
21201 OPC_EmitInteger32, 3,
21202 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21203 MVT::i32, 1, 8,
21204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21205 MVT::i32, 3, 5, 7, 9,
21206 46,
21207 OPC_CheckType, MVT::i1,
21208 OPC_MoveParent,
21209 OPC_CheckTypeI64,
21210 OPC_CheckPatternPredicate0,
21211 OPC_EmitMergeInputChains1_0,
21212 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21213 MVT::i32, 2, 1, 2,
21214 OPC_EmitStringInteger32, PPC::sub_lt,
21215 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21216 MVT::i1, 2, 3, 4,
21217 OPC_EmitInteger64, 0,
21218 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21219 MVT::i64, 1, 6,
21220 OPC_EmitInteger64, 3,
21221 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21222 MVT::i64, 1, 8,
21223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21224 MVT::i64, 3, 5, 7, 9,
21225 44,
21226 OPC_MoveParent,
21227 OPC_CheckTypeI32,
21228 OPC_CheckPatternPredicate5,
21229 OPC_EmitMergeInputChains1_0,
21230 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
21231 MVT::i32, 2, 1, 2,
21232 OPC_EmitStringInteger32, PPC::sub_gt,
21233 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21234 MVT::i1, 2, 3, 4,
21235 OPC_EmitInteger32, 0,
21236 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21237 MVT::i32, 1, 6,
21238 OPC_EmitInteger32, 3,
21239 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21240 MVT::i32, 1, 8,
21241 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21242 MVT::i32, 3, 5, 7, 9,
21243 46,
21244 OPC_CheckType, MVT::i1,
21245 OPC_MoveParent,
21246 OPC_CheckTypeI64,
21247 OPC_CheckPatternPredicate5,
21248 OPC_EmitMergeInputChains1_0,
21249 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
21250 MVT::i32, 2, 1, 2,
21251 OPC_EmitStringInteger32, PPC::sub_gt,
21252 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21253 MVT::i1, 2, 3, 4,
21254 OPC_EmitInteger64, 0,
21255 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21256 MVT::i64, 1, 6,
21257 OPC_EmitInteger64, 3,
21258 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21259 MVT::i64, 1, 8,
21260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21261 MVT::i64, 3, 5, 7, 9,
21262 0,
21263 61|128,1,
21264 OPC_CheckCondCode, ISD::SETULE,
21265 OPC_MoveParent,
21266 OPC_Scope, 44,
21267 OPC_MoveParent,
21268 OPC_CheckTypeI32,
21269 OPC_CheckPatternPredicate0,
21270 OPC_EmitMergeInputChains1_0,
21271 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21272 MVT::i32, 2, 1, 2,
21273 OPC_EmitStringInteger32, PPC::sub_gt,
21274 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21275 MVT::i1, 2, 3, 4,
21276 OPC_EmitInteger32, 0,
21277 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21278 MVT::i32, 1, 6,
21279 OPC_EmitInteger32, 3,
21280 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21281 MVT::i32, 1, 8,
21282 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21283 MVT::i32, 3, 5, 7, 9,
21284 46,
21285 OPC_CheckType, MVT::i1,
21286 OPC_MoveParent,
21287 OPC_CheckTypeI64,
21288 OPC_CheckPatternPredicate0,
21289 OPC_EmitMergeInputChains1_0,
21290 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21291 MVT::i32, 2, 1, 2,
21292 OPC_EmitStringInteger32, PPC::sub_gt,
21293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21294 MVT::i1, 2, 3, 4,
21295 OPC_EmitInteger64, 0,
21296 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21297 MVT::i64, 1, 6,
21298 OPC_EmitInteger64, 3,
21299 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21300 MVT::i64, 1, 8,
21301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21302 MVT::i64, 3, 5, 7, 9,
21303 44,
21304 OPC_MoveParent,
21305 OPC_CheckTypeI32,
21306 OPC_CheckPatternPredicate5,
21307 OPC_EmitMergeInputChains1_0,
21308 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
21309 MVT::i32, 2, 1, 2,
21310 OPC_EmitStringInteger32, PPC::sub_gt,
21311 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21312 MVT::i1, 2, 3, 4,
21313 OPC_EmitInteger32, 0,
21314 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21315 MVT::i32, 1, 6,
21316 OPC_EmitInteger32, 3,
21317 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21318 MVT::i32, 1, 8,
21319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21320 MVT::i32, 3, 5, 7, 9,
21321 46,
21322 OPC_CheckType, MVT::i1,
21323 OPC_MoveParent,
21324 OPC_CheckTypeI64,
21325 OPC_CheckPatternPredicate5,
21326 OPC_EmitMergeInputChains1_0,
21327 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
21328 MVT::i32, 2, 1, 2,
21329 OPC_EmitStringInteger32, PPC::sub_gt,
21330 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21331 MVT::i1, 2, 3, 4,
21332 OPC_EmitInteger64, 0,
21333 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21334 MVT::i64, 1, 6,
21335 OPC_EmitInteger64, 3,
21336 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21337 MVT::i64, 1, 8,
21338 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21339 MVT::i64, 3, 5, 7, 9,
21340 0,
21341 61|128,1,
21342 OPC_CheckCondCode, ISD::SETLE,
21343 OPC_MoveParent,
21344 OPC_Scope, 44,
21345 OPC_MoveParent,
21346 OPC_CheckTypeI32,
21347 OPC_CheckPatternPredicate0,
21348 OPC_EmitMergeInputChains1_0,
21349 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21350 MVT::i32, 2, 1, 2,
21351 OPC_EmitStringInteger32, PPC::sub_gt,
21352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21353 MVT::i1, 2, 3, 4,
21354 OPC_EmitInteger32, 0,
21355 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21356 MVT::i32, 1, 6,
21357 OPC_EmitInteger32, 3,
21358 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21359 MVT::i32, 1, 8,
21360 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21361 MVT::i32, 3, 5, 7, 9,
21362 46,
21363 OPC_CheckType, MVT::i1,
21364 OPC_MoveParent,
21365 OPC_CheckTypeI64,
21366 OPC_CheckPatternPredicate0,
21367 OPC_EmitMergeInputChains1_0,
21368 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21369 MVT::i32, 2, 1, 2,
21370 OPC_EmitStringInteger32, PPC::sub_gt,
21371 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21372 MVT::i1, 2, 3, 4,
21373 OPC_EmitInteger64, 0,
21374 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21375 MVT::i64, 1, 6,
21376 OPC_EmitInteger64, 3,
21377 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21378 MVT::i64, 1, 8,
21379 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21380 MVT::i64, 3, 5, 7, 9,
21381 44,
21382 OPC_MoveParent,
21383 OPC_CheckTypeI32,
21384 OPC_CheckPatternPredicate5,
21385 OPC_EmitMergeInputChains1_0,
21386 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
21387 MVT::i32, 2, 1, 2,
21388 OPC_EmitStringInteger32, PPC::sub_gt,
21389 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21390 MVT::i1, 2, 3, 4,
21391 OPC_EmitInteger32, 0,
21392 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21393 MVT::i32, 1, 6,
21394 OPC_EmitInteger32, 3,
21395 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21396 MVT::i32, 1, 8,
21397 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21398 MVT::i32, 3, 5, 7, 9,
21399 46,
21400 OPC_CheckType, MVT::i1,
21401 OPC_MoveParent,
21402 OPC_CheckTypeI64,
21403 OPC_CheckPatternPredicate5,
21404 OPC_EmitMergeInputChains1_0,
21405 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
21406 MVT::i32, 2, 1, 2,
21407 OPC_EmitStringInteger32, PPC::sub_gt,
21408 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21409 MVT::i1, 2, 3, 4,
21410 OPC_EmitInteger64, 0,
21411 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21412 MVT::i64, 1, 6,
21413 OPC_EmitInteger64, 3,
21414 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21415 MVT::i64, 1, 8,
21416 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21417 MVT::i64, 3, 5, 7, 9,
21418 0,
21419 61|128,1,
21420 OPC_CheckCondCode, ISD::SETUNE,
21421 OPC_MoveParent,
21422 OPC_Scope, 44,
21423 OPC_MoveParent,
21424 OPC_CheckTypeI32,
21425 OPC_CheckPatternPredicate0,
21426 OPC_EmitMergeInputChains1_0,
21427 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21428 MVT::i32, 2, 1, 2,
21429 OPC_EmitStringInteger32, PPC::sub_eq,
21430 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21431 MVT::i1, 2, 3, 4,
21432 OPC_EmitInteger32, 0,
21433 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21434 MVT::i32, 1, 6,
21435 OPC_EmitInteger32, 3,
21436 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21437 MVT::i32, 1, 8,
21438 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21439 MVT::i32, 3, 5, 7, 9,
21440 46,
21441 OPC_CheckType, MVT::i1,
21442 OPC_MoveParent,
21443 OPC_CheckTypeI64,
21444 OPC_CheckPatternPredicate0,
21445 OPC_EmitMergeInputChains1_0,
21446 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21447 MVT::i32, 2, 1, 2,
21448 OPC_EmitStringInteger32, PPC::sub_eq,
21449 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21450 MVT::i1, 2, 3, 4,
21451 OPC_EmitInteger64, 0,
21452 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21453 MVT::i64, 1, 6,
21454 OPC_EmitInteger64, 3,
21455 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21456 MVT::i64, 1, 8,
21457 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21458 MVT::i64, 3, 5, 7, 9,
21459 44,
21460 OPC_MoveParent,
21461 OPC_CheckTypeI32,
21462 OPC_CheckPatternPredicate5,
21463 OPC_EmitMergeInputChains1_0,
21464 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
21465 MVT::i32, 2, 1, 2,
21466 OPC_EmitStringInteger32, PPC::sub_gt,
21467 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21468 MVT::i1, 2, 3, 4,
21469 OPC_EmitInteger32, 0,
21470 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21471 MVT::i32, 1, 6,
21472 OPC_EmitInteger32, 3,
21473 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21474 MVT::i32, 1, 8,
21475 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21476 MVT::i32, 3, 5, 7, 9,
21477 46,
21478 OPC_CheckType, MVT::i1,
21479 OPC_MoveParent,
21480 OPC_CheckTypeI64,
21481 OPC_CheckPatternPredicate5,
21482 OPC_EmitMergeInputChains1_0,
21483 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
21484 MVT::i32, 2, 1, 2,
21485 OPC_EmitStringInteger32, PPC::sub_gt,
21486 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21487 MVT::i1, 2, 3, 4,
21488 OPC_EmitInteger64, 0,
21489 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21490 MVT::i64, 1, 6,
21491 OPC_EmitInteger64, 3,
21492 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21493 MVT::i64, 1, 8,
21494 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21495 MVT::i64, 3, 5, 7, 9,
21496 0,
21497 61|128,1,
21498 OPC_CheckCondCode, ISD::SETNE,
21499 OPC_MoveParent,
21500 OPC_Scope, 44,
21501 OPC_MoveParent,
21502 OPC_CheckTypeI32,
21503 OPC_CheckPatternPredicate0,
21504 OPC_EmitMergeInputChains1_0,
21505 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21506 MVT::i32, 2, 1, 2,
21507 OPC_EmitStringInteger32, PPC::sub_eq,
21508 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21509 MVT::i1, 2, 3, 4,
21510 OPC_EmitInteger32, 0,
21511 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21512 MVT::i32, 1, 6,
21513 OPC_EmitInteger32, 3,
21514 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21515 MVT::i32, 1, 8,
21516 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21517 MVT::i32, 3, 5, 7, 9,
21518 46,
21519 OPC_CheckType, MVT::i1,
21520 OPC_MoveParent,
21521 OPC_CheckTypeI64,
21522 OPC_CheckPatternPredicate0,
21523 OPC_EmitMergeInputChains1_0,
21524 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21525 MVT::i32, 2, 1, 2,
21526 OPC_EmitStringInteger32, PPC::sub_eq,
21527 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21528 MVT::i1, 2, 3, 4,
21529 OPC_EmitInteger64, 0,
21530 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21531 MVT::i64, 1, 6,
21532 OPC_EmitInteger64, 3,
21533 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21534 MVT::i64, 1, 8,
21535 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21536 MVT::i64, 3, 5, 7, 9,
21537 44,
21538 OPC_MoveParent,
21539 OPC_CheckTypeI32,
21540 OPC_CheckPatternPredicate5,
21541 OPC_EmitMergeInputChains1_0,
21542 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
21543 MVT::i32, 2, 1, 2,
21544 OPC_EmitStringInteger32, PPC::sub_gt,
21545 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21546 MVT::i1, 2, 3, 4,
21547 OPC_EmitInteger32, 0,
21548 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21549 MVT::i32, 1, 6,
21550 OPC_EmitInteger32, 3,
21551 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21552 MVT::i32, 1, 8,
21553 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21554 MVT::i32, 3, 5, 7, 9,
21555 46,
21556 OPC_CheckType, MVT::i1,
21557 OPC_MoveParent,
21558 OPC_CheckTypeI64,
21559 OPC_CheckPatternPredicate5,
21560 OPC_EmitMergeInputChains1_0,
21561 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
21562 MVT::i32, 2, 1, 2,
21563 OPC_EmitStringInteger32, PPC::sub_gt,
21564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21565 MVT::i1, 2, 3, 4,
21566 OPC_EmitInteger64, 0,
21567 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21568 MVT::i64, 1, 6,
21569 OPC_EmitInteger64, 3,
21570 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21571 MVT::i64, 1, 8,
21572 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21573 MVT::i64, 3, 5, 7, 9,
21574 0,
21575 97,
21576 OPC_CheckCondCode, ISD::SETO,
21577 OPC_MoveParent,
21578 OPC_Scope, 44,
21579 OPC_MoveParent,
21580 OPC_CheckTypeI32,
21581 OPC_CheckPatternPredicate0,
21582 OPC_EmitMergeInputChains1_0,
21583 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21584 MVT::i32, 2, 1, 2,
21585 OPC_EmitStringInteger32, PPC::sub_un,
21586 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21587 MVT::i1, 2, 3, 4,
21588 OPC_EmitInteger32, 0,
21589 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21590 MVT::i32, 1, 6,
21591 OPC_EmitInteger32, 3,
21592 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21593 MVT::i32, 1, 8,
21594 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21595 MVT::i32, 3, 5, 7, 9,
21596 46,
21597 OPC_CheckType, MVT::i1,
21598 OPC_MoveParent,
21599 OPC_CheckTypeI64,
21600 OPC_CheckPatternPredicate0,
21601 OPC_EmitMergeInputChains1_0,
21602 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
21603 MVT::i32, 2, 1, 2,
21604 OPC_EmitStringInteger32, PPC::sub_un,
21605 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21606 MVT::i1, 2, 3, 4,
21607 OPC_EmitInteger64, 0,
21608 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21609 MVT::i64, 1, 6,
21610 OPC_EmitInteger64, 3,
21611 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21612 MVT::i64, 1, 8,
21613 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21614 MVT::i64, 3, 5, 7, 9,
21615 0,
21616 0,
21617 98|128,9,
21618 OPC_CheckChild1Type, MVT::f64,
21619 OPC_RecordChild2,
21620 OPC_MoveChild3,
21621 OPC_Scope, 61|128,1,
21622 OPC_CheckCondCode, ISD::SETUGE,
21623 OPC_MoveParent,
21624 OPC_Scope, 44,
21625 OPC_MoveParent,
21626 OPC_CheckTypeI32,
21627 OPC_CheckPatternPredicate0,
21628 OPC_EmitMergeInputChains1_0,
21629 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21630 MVT::i32, 2, 1, 2,
21631 OPC_EmitStringInteger32, PPC::sub_lt,
21632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21633 MVT::i1, 2, 3, 4,
21634 OPC_EmitInteger32, 0,
21635 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21636 MVT::i32, 1, 6,
21637 OPC_EmitInteger32, 3,
21638 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21639 MVT::i32, 1, 8,
21640 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21641 MVT::i32, 3, 5, 7, 9,
21642 46,
21643 OPC_CheckType, MVT::i1,
21644 OPC_MoveParent,
21645 OPC_CheckTypeI64,
21646 OPC_CheckPatternPredicate0,
21647 OPC_EmitMergeInputChains1_0,
21648 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21649 MVT::i32, 2, 1, 2,
21650 OPC_EmitStringInteger32, PPC::sub_lt,
21651 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21652 MVT::i1, 2, 3, 4,
21653 OPC_EmitInteger64, 0,
21654 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21655 MVT::i64, 1, 6,
21656 OPC_EmitInteger64, 3,
21657 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21658 MVT::i64, 1, 8,
21659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21660 MVT::i64, 3, 5, 7, 9,
21661 44,
21662 OPC_MoveParent,
21663 OPC_CheckTypeI32,
21664 OPC_CheckPatternPredicate5,
21665 OPC_EmitMergeInputChains1_0,
21666 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
21667 MVT::i32, 2, 1, 2,
21668 OPC_EmitStringInteger32, PPC::sub_gt,
21669 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21670 MVT::i1, 2, 3, 4,
21671 OPC_EmitInteger32, 0,
21672 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21673 MVT::i32, 1, 6,
21674 OPC_EmitInteger32, 3,
21675 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21676 MVT::i32, 1, 8,
21677 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21678 MVT::i32, 3, 5, 7, 9,
21679 46,
21680 OPC_CheckType, MVT::i1,
21681 OPC_MoveParent,
21682 OPC_CheckTypeI64,
21683 OPC_CheckPatternPredicate5,
21684 OPC_EmitMergeInputChains1_0,
21685 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
21686 MVT::i32, 2, 1, 2,
21687 OPC_EmitStringInteger32, PPC::sub_gt,
21688 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21689 MVT::i1, 2, 3, 4,
21690 OPC_EmitInteger64, 0,
21691 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21692 MVT::i64, 1, 6,
21693 OPC_EmitInteger64, 3,
21694 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21695 MVT::i64, 1, 8,
21696 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21697 MVT::i64, 3, 5, 7, 9,
21698 0,
21699 61|128,1,
21700 OPC_CheckCondCode, ISD::SETGE,
21701 OPC_MoveParent,
21702 OPC_Scope, 44,
21703 OPC_MoveParent,
21704 OPC_CheckTypeI32,
21705 OPC_CheckPatternPredicate0,
21706 OPC_EmitMergeInputChains1_0,
21707 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21708 MVT::i32, 2, 1, 2,
21709 OPC_EmitStringInteger32, PPC::sub_lt,
21710 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21711 MVT::i1, 2, 3, 4,
21712 OPC_EmitInteger32, 0,
21713 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21714 MVT::i32, 1, 6,
21715 OPC_EmitInteger32, 3,
21716 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21717 MVT::i32, 1, 8,
21718 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21719 MVT::i32, 3, 5, 7, 9,
21720 46,
21721 OPC_CheckType, MVT::i1,
21722 OPC_MoveParent,
21723 OPC_CheckTypeI64,
21724 OPC_CheckPatternPredicate0,
21725 OPC_EmitMergeInputChains1_0,
21726 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21727 MVT::i32, 2, 1, 2,
21728 OPC_EmitStringInteger32, PPC::sub_lt,
21729 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21730 MVT::i1, 2, 3, 4,
21731 OPC_EmitInteger64, 0,
21732 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21733 MVT::i64, 1, 6,
21734 OPC_EmitInteger64, 3,
21735 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21736 MVT::i64, 1, 8,
21737 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21738 MVT::i64, 3, 5, 7, 9,
21739 44,
21740 OPC_MoveParent,
21741 OPC_CheckTypeI32,
21742 OPC_CheckPatternPredicate5,
21743 OPC_EmitMergeInputChains1_0,
21744 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
21745 MVT::i32, 2, 1, 2,
21746 OPC_EmitStringInteger32, PPC::sub_gt,
21747 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21748 MVT::i1, 2, 3, 4,
21749 OPC_EmitInteger32, 0,
21750 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21751 MVT::i32, 1, 6,
21752 OPC_EmitInteger32, 3,
21753 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21754 MVT::i32, 1, 8,
21755 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21756 MVT::i32, 3, 5, 7, 9,
21757 46,
21758 OPC_CheckType, MVT::i1,
21759 OPC_MoveParent,
21760 OPC_CheckTypeI64,
21761 OPC_CheckPatternPredicate5,
21762 OPC_EmitMergeInputChains1_0,
21763 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
21764 MVT::i32, 2, 1, 2,
21765 OPC_EmitStringInteger32, PPC::sub_gt,
21766 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21767 MVT::i1, 2, 3, 4,
21768 OPC_EmitInteger64, 0,
21769 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21770 MVT::i64, 1, 6,
21771 OPC_EmitInteger64, 3,
21772 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21773 MVT::i64, 1, 8,
21774 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21775 MVT::i64, 3, 5, 7, 9,
21776 0,
21777 61|128,1,
21778 OPC_CheckCondCode, ISD::SETULE,
21779 OPC_MoveParent,
21780 OPC_Scope, 44,
21781 OPC_MoveParent,
21782 OPC_CheckTypeI32,
21783 OPC_CheckPatternPredicate0,
21784 OPC_EmitMergeInputChains1_0,
21785 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21786 MVT::i32, 2, 1, 2,
21787 OPC_EmitStringInteger32, PPC::sub_gt,
21788 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21789 MVT::i1, 2, 3, 4,
21790 OPC_EmitInteger32, 0,
21791 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21792 MVT::i32, 1, 6,
21793 OPC_EmitInteger32, 3,
21794 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21795 MVT::i32, 1, 8,
21796 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21797 MVT::i32, 3, 5, 7, 9,
21798 46,
21799 OPC_CheckType, MVT::i1,
21800 OPC_MoveParent,
21801 OPC_CheckTypeI64,
21802 OPC_CheckPatternPredicate0,
21803 OPC_EmitMergeInputChains1_0,
21804 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21805 MVT::i32, 2, 1, 2,
21806 OPC_EmitStringInteger32, PPC::sub_gt,
21807 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21808 MVT::i1, 2, 3, 4,
21809 OPC_EmitInteger64, 0,
21810 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21811 MVT::i64, 1, 6,
21812 OPC_EmitInteger64, 3,
21813 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21814 MVT::i64, 1, 8,
21815 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21816 MVT::i64, 3, 5, 7, 9,
21817 44,
21818 OPC_MoveParent,
21819 OPC_CheckTypeI32,
21820 OPC_CheckPatternPredicate5,
21821 OPC_EmitMergeInputChains1_0,
21822 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
21823 MVT::i32, 2, 1, 2,
21824 OPC_EmitStringInteger32, PPC::sub_gt,
21825 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21826 MVT::i1, 2, 3, 4,
21827 OPC_EmitInteger32, 0,
21828 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21829 MVT::i32, 1, 6,
21830 OPC_EmitInteger32, 3,
21831 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21832 MVT::i32, 1, 8,
21833 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21834 MVT::i32, 3, 5, 7, 9,
21835 46,
21836 OPC_CheckType, MVT::i1,
21837 OPC_MoveParent,
21838 OPC_CheckTypeI64,
21839 OPC_CheckPatternPredicate5,
21840 OPC_EmitMergeInputChains1_0,
21841 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
21842 MVT::i32, 2, 1, 2,
21843 OPC_EmitStringInteger32, PPC::sub_gt,
21844 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21845 MVT::i1, 2, 3, 4,
21846 OPC_EmitInteger64, 0,
21847 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21848 MVT::i64, 1, 6,
21849 OPC_EmitInteger64, 3,
21850 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21851 MVT::i64, 1, 8,
21852 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21853 MVT::i64, 3, 5, 7, 9,
21854 0,
21855 61|128,1,
21856 OPC_CheckCondCode, ISD::SETLE,
21857 OPC_MoveParent,
21858 OPC_Scope, 44,
21859 OPC_MoveParent,
21860 OPC_CheckTypeI32,
21861 OPC_CheckPatternPredicate0,
21862 OPC_EmitMergeInputChains1_0,
21863 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21864 MVT::i32, 2, 1, 2,
21865 OPC_EmitStringInteger32, PPC::sub_gt,
21866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21867 MVT::i1, 2, 3, 4,
21868 OPC_EmitInteger32, 0,
21869 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21870 MVT::i32, 1, 6,
21871 OPC_EmitInteger32, 3,
21872 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21873 MVT::i32, 1, 8,
21874 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21875 MVT::i32, 3, 5, 7, 9,
21876 46,
21877 OPC_CheckType, MVT::i1,
21878 OPC_MoveParent,
21879 OPC_CheckTypeI64,
21880 OPC_CheckPatternPredicate0,
21881 OPC_EmitMergeInputChains1_0,
21882 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21883 MVT::i32, 2, 1, 2,
21884 OPC_EmitStringInteger32, PPC::sub_gt,
21885 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21886 MVT::i1, 2, 3, 4,
21887 OPC_EmitInteger64, 0,
21888 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21889 MVT::i64, 1, 6,
21890 OPC_EmitInteger64, 3,
21891 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21892 MVT::i64, 1, 8,
21893 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21894 MVT::i64, 3, 5, 7, 9,
21895 44,
21896 OPC_MoveParent,
21897 OPC_CheckTypeI32,
21898 OPC_CheckPatternPredicate5,
21899 OPC_EmitMergeInputChains1_0,
21900 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
21901 MVT::i32, 2, 1, 2,
21902 OPC_EmitStringInteger32, PPC::sub_gt,
21903 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21904 MVT::i1, 2, 3, 4,
21905 OPC_EmitInteger32, 0,
21906 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21907 MVT::i32, 1, 6,
21908 OPC_EmitInteger32, 3,
21909 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21910 MVT::i32, 1, 8,
21911 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21912 MVT::i32, 3, 5, 7, 9,
21913 46,
21914 OPC_CheckType, MVT::i1,
21915 OPC_MoveParent,
21916 OPC_CheckTypeI64,
21917 OPC_CheckPatternPredicate5,
21918 OPC_EmitMergeInputChains1_0,
21919 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
21920 MVT::i32, 2, 1, 2,
21921 OPC_EmitStringInteger32, PPC::sub_gt,
21922 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21923 MVT::i1, 2, 3, 4,
21924 OPC_EmitInteger64, 0,
21925 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21926 MVT::i64, 1, 6,
21927 OPC_EmitInteger64, 3,
21928 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21929 MVT::i64, 1, 8,
21930 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21931 MVT::i64, 3, 5, 7, 9,
21932 0,
21933 61|128,1,
21934 OPC_CheckCondCode, ISD::SETUNE,
21935 OPC_MoveParent,
21936 OPC_Scope, 44,
21937 OPC_MoveParent,
21938 OPC_CheckTypeI32,
21939 OPC_CheckPatternPredicate0,
21940 OPC_EmitMergeInputChains1_0,
21941 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21942 MVT::i32, 2, 1, 2,
21943 OPC_EmitStringInteger32, PPC::sub_eq,
21944 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21945 MVT::i1, 2, 3, 4,
21946 OPC_EmitInteger32, 0,
21947 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21948 MVT::i32, 1, 6,
21949 OPC_EmitInteger32, 3,
21950 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21951 MVT::i32, 1, 8,
21952 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21953 MVT::i32, 3, 5, 7, 9,
21954 46,
21955 OPC_CheckType, MVT::i1,
21956 OPC_MoveParent,
21957 OPC_CheckTypeI64,
21958 OPC_CheckPatternPredicate0,
21959 OPC_EmitMergeInputChains1_0,
21960 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
21961 MVT::i32, 2, 1, 2,
21962 OPC_EmitStringInteger32, PPC::sub_eq,
21963 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21964 MVT::i1, 2, 3, 4,
21965 OPC_EmitInteger64, 0,
21966 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21967 MVT::i64, 1, 6,
21968 OPC_EmitInteger64, 3,
21969 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
21970 MVT::i64, 1, 8,
21971 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
21972 MVT::i64, 3, 5, 7, 9,
21973 44,
21974 OPC_MoveParent,
21975 OPC_CheckTypeI32,
21976 OPC_CheckPatternPredicate5,
21977 OPC_EmitMergeInputChains1_0,
21978 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
21979 MVT::i32, 2, 1, 2,
21980 OPC_EmitStringInteger32, PPC::sub_gt,
21981 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21982 MVT::i1, 2, 3, 4,
21983 OPC_EmitInteger32, 0,
21984 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21985 MVT::i32, 1, 6,
21986 OPC_EmitInteger32, 3,
21987 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
21988 MVT::i32, 1, 8,
21989 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
21990 MVT::i32, 3, 5, 7, 9,
21991 46,
21992 OPC_CheckType, MVT::i1,
21993 OPC_MoveParent,
21994 OPC_CheckTypeI64,
21995 OPC_CheckPatternPredicate5,
21996 OPC_EmitMergeInputChains1_0,
21997 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
21998 MVT::i32, 2, 1, 2,
21999 OPC_EmitStringInteger32, PPC::sub_gt,
22000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22001 MVT::i1, 2, 3, 4,
22002 OPC_EmitInteger64, 0,
22003 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22004 MVT::i64, 1, 6,
22005 OPC_EmitInteger64, 3,
22006 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22007 MVT::i64, 1, 8,
22008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22009 MVT::i64, 3, 5, 7, 9,
22010 0,
22011 61|128,1,
22012 OPC_CheckCondCode, ISD::SETNE,
22013 OPC_MoveParent,
22014 OPC_Scope, 44,
22015 OPC_MoveParent,
22016 OPC_CheckTypeI32,
22017 OPC_CheckPatternPredicate0,
22018 OPC_EmitMergeInputChains1_0,
22019 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
22020 MVT::i32, 2, 1, 2,
22021 OPC_EmitStringInteger32, PPC::sub_eq,
22022 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22023 MVT::i1, 2, 3, 4,
22024 OPC_EmitInteger32, 0,
22025 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22026 MVT::i32, 1, 6,
22027 OPC_EmitInteger32, 3,
22028 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22029 MVT::i32, 1, 8,
22030 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22031 MVT::i32, 3, 5, 7, 9,
22032 46,
22033 OPC_CheckType, MVT::i1,
22034 OPC_MoveParent,
22035 OPC_CheckTypeI64,
22036 OPC_CheckPatternPredicate0,
22037 OPC_EmitMergeInputChains1_0,
22038 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
22039 MVT::i32, 2, 1, 2,
22040 OPC_EmitStringInteger32, PPC::sub_eq,
22041 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22042 MVT::i1, 2, 3, 4,
22043 OPC_EmitInteger64, 0,
22044 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22045 MVT::i64, 1, 6,
22046 OPC_EmitInteger64, 3,
22047 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22048 MVT::i64, 1, 8,
22049 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22050 MVT::i64, 3, 5, 7, 9,
22051 44,
22052 OPC_MoveParent,
22053 OPC_CheckTypeI32,
22054 OPC_CheckPatternPredicate5,
22055 OPC_EmitMergeInputChains1_0,
22056 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
22057 MVT::i32, 2, 1, 2,
22058 OPC_EmitStringInteger32, PPC::sub_gt,
22059 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22060 MVT::i1, 2, 3, 4,
22061 OPC_EmitInteger32, 0,
22062 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22063 MVT::i32, 1, 6,
22064 OPC_EmitInteger32, 3,
22065 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22066 MVT::i32, 1, 8,
22067 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22068 MVT::i32, 3, 5, 7, 9,
22069 46,
22070 OPC_CheckType, MVT::i1,
22071 OPC_MoveParent,
22072 OPC_CheckTypeI64,
22073 OPC_CheckPatternPredicate5,
22074 OPC_EmitMergeInputChains1_0,
22075 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
22076 MVT::i32, 2, 1, 2,
22077 OPC_EmitStringInteger32, PPC::sub_gt,
22078 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22079 MVT::i1, 2, 3, 4,
22080 OPC_EmitInteger64, 0,
22081 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22082 MVT::i64, 1, 6,
22083 OPC_EmitInteger64, 3,
22084 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22085 MVT::i64, 1, 8,
22086 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22087 MVT::i64, 3, 5, 7, 9,
22088 0,
22089 97,
22090 OPC_CheckCondCode, ISD::SETO,
22091 OPC_MoveParent,
22092 OPC_Scope, 44,
22093 OPC_MoveParent,
22094 OPC_CheckTypeI32,
22095 OPC_CheckPatternPredicate0,
22096 OPC_EmitMergeInputChains1_0,
22097 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
22098 MVT::i32, 2, 1, 2,
22099 OPC_EmitStringInteger32, PPC::sub_un,
22100 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22101 MVT::i1, 2, 3, 4,
22102 OPC_EmitInteger32, 0,
22103 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22104 MVT::i32, 1, 6,
22105 OPC_EmitInteger32, 3,
22106 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22107 MVT::i32, 1, 8,
22108 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22109 MVT::i32, 3, 5, 7, 9,
22110 46,
22111 OPC_CheckType, MVT::i1,
22112 OPC_MoveParent,
22113 OPC_CheckTypeI64,
22114 OPC_CheckPatternPredicate0,
22115 OPC_EmitMergeInputChains1_0,
22116 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
22117 MVT::i32, 2, 1, 2,
22118 OPC_EmitStringInteger32, PPC::sub_un,
22119 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22120 MVT::i1, 2, 3, 4,
22121 OPC_EmitInteger64, 0,
22122 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22123 MVT::i64, 1, 6,
22124 OPC_EmitInteger64, 3,
22125 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22126 MVT::i64, 1, 8,
22127 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22128 MVT::i64, 3, 5, 7, 9,
22129 0,
22130 0,
22131 52|128,5,
22132 OPC_CheckChild1Type, MVT::f128,
22133 OPC_RecordChild2,
22134 OPC_MoveChild3,
22135 OPC_Scope, 97,
22136 OPC_CheckCondCode, ISD::SETUGE,
22137 OPC_MoveParent,
22138 OPC_Scope, 44,
22139 OPC_MoveParent,
22140 OPC_CheckTypeI32,
22141 OPC_CheckPatternPredicate0,
22142 OPC_EmitMergeInputChains1_0,
22143 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22144 MVT::i32, 2, 1, 2,
22145 OPC_EmitStringInteger32, PPC::sub_lt,
22146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22147 MVT::i1, 2, 3, 4,
22148 OPC_EmitInteger32, 0,
22149 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22150 MVT::i32, 1, 6,
22151 OPC_EmitInteger32, 3,
22152 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22153 MVT::i32, 1, 8,
22154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22155 MVT::i32, 3, 5, 7, 9,
22156 46,
22157 OPC_CheckType, MVT::i1,
22158 OPC_MoveParent,
22159 OPC_CheckTypeI64,
22160 OPC_CheckPatternPredicate0,
22161 OPC_EmitMergeInputChains1_0,
22162 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22163 MVT::i32, 2, 1, 2,
22164 OPC_EmitStringInteger32, PPC::sub_lt,
22165 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22166 MVT::i1, 2, 3, 4,
22167 OPC_EmitInteger64, 0,
22168 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22169 MVT::i64, 1, 6,
22170 OPC_EmitInteger64, 3,
22171 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22172 MVT::i64, 1, 8,
22173 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22174 MVT::i64, 3, 5, 7, 9,
22175 0,
22176 97,
22177 OPC_CheckCondCode, ISD::SETGE,
22178 OPC_MoveParent,
22179 OPC_Scope, 44,
22180 OPC_MoveParent,
22181 OPC_CheckTypeI32,
22182 OPC_CheckPatternPredicate0,
22183 OPC_EmitMergeInputChains1_0,
22184 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22185 MVT::i32, 2, 1, 2,
22186 OPC_EmitStringInteger32, PPC::sub_lt,
22187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22188 MVT::i1, 2, 3, 4,
22189 OPC_EmitInteger32, 0,
22190 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22191 MVT::i32, 1, 6,
22192 OPC_EmitInteger32, 3,
22193 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22194 MVT::i32, 1, 8,
22195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22196 MVT::i32, 3, 5, 7, 9,
22197 46,
22198 OPC_CheckType, MVT::i1,
22199 OPC_MoveParent,
22200 OPC_CheckTypeI64,
22201 OPC_CheckPatternPredicate0,
22202 OPC_EmitMergeInputChains1_0,
22203 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22204 MVT::i32, 2, 1, 2,
22205 OPC_EmitStringInteger32, PPC::sub_lt,
22206 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22207 MVT::i1, 2, 3, 4,
22208 OPC_EmitInteger64, 0,
22209 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22210 MVT::i64, 1, 6,
22211 OPC_EmitInteger64, 3,
22212 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22213 MVT::i64, 1, 8,
22214 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22215 MVT::i64, 3, 5, 7, 9,
22216 0,
22217 97,
22218 OPC_CheckCondCode, ISD::SETULE,
22219 OPC_MoveParent,
22220 OPC_Scope, 44,
22221 OPC_MoveParent,
22222 OPC_CheckTypeI32,
22223 OPC_CheckPatternPredicate0,
22224 OPC_EmitMergeInputChains1_0,
22225 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22226 MVT::i32, 2, 1, 2,
22227 OPC_EmitStringInteger32, PPC::sub_gt,
22228 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22229 MVT::i1, 2, 3, 4,
22230 OPC_EmitInteger32, 0,
22231 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22232 MVT::i32, 1, 6,
22233 OPC_EmitInteger32, 3,
22234 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22235 MVT::i32, 1, 8,
22236 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22237 MVT::i32, 3, 5, 7, 9,
22238 46,
22239 OPC_CheckType, MVT::i1,
22240 OPC_MoveParent,
22241 OPC_CheckTypeI64,
22242 OPC_CheckPatternPredicate0,
22243 OPC_EmitMergeInputChains1_0,
22244 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22245 MVT::i32, 2, 1, 2,
22246 OPC_EmitStringInteger32, PPC::sub_gt,
22247 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22248 MVT::i1, 2, 3, 4,
22249 OPC_EmitInteger64, 0,
22250 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22251 MVT::i64, 1, 6,
22252 OPC_EmitInteger64, 3,
22253 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22254 MVT::i64, 1, 8,
22255 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22256 MVT::i64, 3, 5, 7, 9,
22257 0,
22258 97,
22259 OPC_CheckCondCode, ISD::SETLE,
22260 OPC_MoveParent,
22261 OPC_Scope, 44,
22262 OPC_MoveParent,
22263 OPC_CheckTypeI32,
22264 OPC_CheckPatternPredicate0,
22265 OPC_EmitMergeInputChains1_0,
22266 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22267 MVT::i32, 2, 1, 2,
22268 OPC_EmitStringInteger32, PPC::sub_gt,
22269 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22270 MVT::i1, 2, 3, 4,
22271 OPC_EmitInteger32, 0,
22272 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22273 MVT::i32, 1, 6,
22274 OPC_EmitInteger32, 3,
22275 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22276 MVT::i32, 1, 8,
22277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22278 MVT::i32, 3, 5, 7, 9,
22279 46,
22280 OPC_CheckType, MVT::i1,
22281 OPC_MoveParent,
22282 OPC_CheckTypeI64,
22283 OPC_CheckPatternPredicate0,
22284 OPC_EmitMergeInputChains1_0,
22285 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22286 MVT::i32, 2, 1, 2,
22287 OPC_EmitStringInteger32, PPC::sub_gt,
22288 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22289 MVT::i1, 2, 3, 4,
22290 OPC_EmitInteger64, 0,
22291 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22292 MVT::i64, 1, 6,
22293 OPC_EmitInteger64, 3,
22294 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22295 MVT::i64, 1, 8,
22296 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22297 MVT::i64, 3, 5, 7, 9,
22298 0,
22299 97,
22300 OPC_CheckCondCode, ISD::SETUNE,
22301 OPC_MoveParent,
22302 OPC_Scope, 44,
22303 OPC_MoveParent,
22304 OPC_CheckTypeI32,
22305 OPC_CheckPatternPredicate0,
22306 OPC_EmitMergeInputChains1_0,
22307 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22308 MVT::i32, 2, 1, 2,
22309 OPC_EmitStringInteger32, PPC::sub_eq,
22310 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22311 MVT::i1, 2, 3, 4,
22312 OPC_EmitInteger32, 0,
22313 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22314 MVT::i32, 1, 6,
22315 OPC_EmitInteger32, 3,
22316 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22317 MVT::i32, 1, 8,
22318 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22319 MVT::i32, 3, 5, 7, 9,
22320 46,
22321 OPC_CheckType, MVT::i1,
22322 OPC_MoveParent,
22323 OPC_CheckTypeI64,
22324 OPC_CheckPatternPredicate0,
22325 OPC_EmitMergeInputChains1_0,
22326 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22327 MVT::i32, 2, 1, 2,
22328 OPC_EmitStringInteger32, PPC::sub_eq,
22329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22330 MVT::i1, 2, 3, 4,
22331 OPC_EmitInteger64, 0,
22332 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22333 MVT::i64, 1, 6,
22334 OPC_EmitInteger64, 3,
22335 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22336 MVT::i64, 1, 8,
22337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22338 MVT::i64, 3, 5, 7, 9,
22339 0,
22340 97,
22341 OPC_CheckCondCode, ISD::SETNE,
22342 OPC_MoveParent,
22343 OPC_Scope, 44,
22344 OPC_MoveParent,
22345 OPC_CheckTypeI32,
22346 OPC_CheckPatternPredicate0,
22347 OPC_EmitMergeInputChains1_0,
22348 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22349 MVT::i32, 2, 1, 2,
22350 OPC_EmitStringInteger32, PPC::sub_eq,
22351 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22352 MVT::i1, 2, 3, 4,
22353 OPC_EmitInteger32, 0,
22354 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22355 MVT::i32, 1, 6,
22356 OPC_EmitInteger32, 3,
22357 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22358 MVT::i32, 1, 8,
22359 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22360 MVT::i32, 3, 5, 7, 9,
22361 46,
22362 OPC_CheckType, MVT::i1,
22363 OPC_MoveParent,
22364 OPC_CheckTypeI64,
22365 OPC_CheckPatternPredicate0,
22366 OPC_EmitMergeInputChains1_0,
22367 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22368 MVT::i32, 2, 1, 2,
22369 OPC_EmitStringInteger32, PPC::sub_eq,
22370 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22371 MVT::i1, 2, 3, 4,
22372 OPC_EmitInteger64, 0,
22373 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22374 MVT::i64, 1, 6,
22375 OPC_EmitInteger64, 3,
22376 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22377 MVT::i64, 1, 8,
22378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22379 MVT::i64, 3, 5, 7, 9,
22380 0,
22381 97,
22382 OPC_CheckCondCode, ISD::SETO,
22383 OPC_MoveParent,
22384 OPC_Scope, 44,
22385 OPC_MoveParent,
22386 OPC_CheckTypeI32,
22387 OPC_CheckPatternPredicate0,
22388 OPC_EmitMergeInputChains1_0,
22389 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22390 MVT::i32, 2, 1, 2,
22391 OPC_EmitStringInteger32, PPC::sub_un,
22392 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22393 MVT::i1, 2, 3, 4,
22394 OPC_EmitInteger32, 0,
22395 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22396 MVT::i32, 1, 6,
22397 OPC_EmitInteger32, 3,
22398 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22399 MVT::i32, 1, 8,
22400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22401 MVT::i32, 3, 5, 7, 9,
22402 46,
22403 OPC_CheckType, MVT::i1,
22404 OPC_MoveParent,
22405 OPC_CheckTypeI64,
22406 OPC_CheckPatternPredicate0,
22407 OPC_EmitMergeInputChains1_0,
22408 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
22409 MVT::i32, 2, 1, 2,
22410 OPC_EmitStringInteger32, PPC::sub_un,
22411 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22412 MVT::i1, 2, 3, 4,
22413 OPC_EmitInteger64, 0,
22414 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22415 MVT::i64, 1, 6,
22416 OPC_EmitInteger64, 3,
22417 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22418 MVT::i64, 1, 8,
22419 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22420 MVT::i64, 3, 5, 7, 9,
22421 0,
22422 0,
22423 0,
22424 0,
22425 90,
22426 OPC_RecordChild0,
22427 OPC_SwitchType , 48, MVT::i64,
22428 OPC_Scope, 7,
22429 OPC_CheckChild0TypeI32,
22430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW_32_64),
22431 MVT::i64, 1, 0,
22432 37,
22433 OPC_CheckChild0Type, MVT::i1,
22434 OPC_Scope, 7,
22435 OPC_CheckPatternPredicate4,
22436 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBC8),
22437 MVT::i64, 1, 0,
22438 24,
22439 OPC_EmitInteger64, 3,
22440 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22441 MVT::i64, 1, 1,
22442 OPC_EmitInteger64, 0,
22443 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22444 MVT::i64, 1, 3,
22445 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
22446 MVT::i64, 3, 0, 2, 4,
22447 0,
22448 0,
22449 35, MVT::i32,
22450 OPC_Scope, 7,
22451 OPC_CheckPatternPredicate4,
22452 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETNBC),
22453 MVT::i32, 1, 0,
22454 24,
22455 OPC_EmitInteger32, 3,
22456 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22457 MVT::i32, 1, 1,
22458 OPC_EmitInteger32, 0,
22459 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
22460 MVT::i32, 1, 3,
22461 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
22462 MVT::i32, 3, 0, 2, 4,
22463 0,
22464 0,
22465 0,
22466 98|128,51, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
22467 OPC_RecordChild0,
22468 OPC_Scope, 52|128,4,
22469 OPC_CheckChild1Integer, 2,
22470 OPC_SwitchType , 89, MVT::i64,
22471 OPC_Scope, 8,
22472 OPC_CheckPatternPredicate, 56,
22473 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRLD),
22474 MVT::i64, 1, 0,
22475 77,
22476 OPC_CheckChild0Type, MVT::v2i64,
22477 OPC_Scope, 26,
22478 OPC_CheckPatternPredicate, 36,
22479 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22481 MVT::v2i64, 2, 0, 1,
22482 OPC_EmitStringInteger32, PPC::sub_64,
22483 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22484 MVT::f64, 2, 2, 3,
22485 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
22486 MVT::i64, 1, 4,
22487 45,
22488 OPC_CheckPatternPredicate, 38,
22489 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22490 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22491 MVT::v4i32, 2, 0, 1,
22492 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22494 MVT::v4i32, 2, 0, 3,
22495 OPC_EmitInteger32, 4,
22496 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22497 MVT::v4i32, 3, 2, 4, 5,
22498 OPC_EmitStringInteger32, PPC::sub_64,
22499 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22500 MVT::f64, 2, 6, 7,
22501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
22502 MVT::i64, 1, 8,
22503 0,
22504 0,
22505 82|128,3, MVT::i32,
22506 OPC_Scope, 113,
22507 OPC_CheckChild0Type, MVT::v4i32,
22508 OPC_Scope, 26,
22509 OPC_CheckPatternPredicate, 24,
22510 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22512 MVT::v2i64, 2, 0, 1,
22513 OPC_EmitStringInteger32, PPC::sub_64,
22514 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22515 MVT::f64, 2, 2, 3,
22516 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22517 MVT::i32, 1, 4,
22518 27,
22519 OPC_CheckPatternPredicate, 25,
22520 OPC_EmitInteger32, 2,
22521 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
22522 MVT::v4i32, 3, 0, 0, 1,
22523 OPC_EmitStringInteger32, PPC::sub_64,
22524 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22525 MVT::f64, 2, 2, 3,
22526 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22527 MVT::i32, 1, 4,
22528 26,
22529 OPC_CheckPatternPredicate, 15,
22530 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22531 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22532 MVT::v2i64, 2, 0, 1,
22533 OPC_EmitStringInteger32, PPC::sub_64,
22534 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22535 MVT::f64, 2, 2, 3,
22536 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22537 MVT::i32, 1, 4,
22538 26,
22539 OPC_CheckPatternPredicate, 16,
22540 OPC_EmitInteger64, 8,
22541 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22542 MVT::i64, 1, 1,
22543 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
22544 MVT::i64, 2, 2, 0,
22545 OPC_EmitStringInteger32, PPC::sub_32,
22546 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22547 MVT::i32, 2, 3, 4,
22548 0,
22549 45|128,1,
22550 OPC_CheckChild0Type, MVT::v16i8,
22551 OPC_Scope, 26,
22552 OPC_CheckPatternPredicate, 15,
22553 OPC_EmitInteger64, 2,
22554 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22555 MVT::i64, 1, 1,
22556 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
22557 MVT::i64, 2, 2, 0,
22558 OPC_EmitStringInteger32, PPC::sub_32,
22559 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22560 MVT::i32, 2, 3, 4,
22561 26,
22562 OPC_CheckPatternPredicate, 16,
22563 OPC_EmitInteger64, 2,
22564 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22565 MVT::i64, 1, 1,
22566 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
22567 MVT::i64, 2, 2, 0,
22568 OPC_EmitStringInteger32, PPC::sub_32,
22569 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22570 MVT::i32, 2, 3, 4,
22571 47,
22572 OPC_CheckPatternPredicate, 24,
22573 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22575 MVT::v2i64, 2, 0, 1,
22576 OPC_EmitStringInteger32, PPC::sub_64,
22577 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22578 MVT::f64, 2, 2, 3,
22579 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22580 MVT::i64, 1, 4,
22581 OPC_EmitInteger32, 32,
22582 OPC_EmitInteger32, 112,
22583 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22584 MVT::i64, 3, 5, 6, 7,
22585 OPC_EmitStringInteger32, PPC::sub_32,
22586 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22587 MVT::i32, 2, 8, 9,
22588 66,
22589 OPC_CheckPatternPredicate, 25,
22590 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22591 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22592 MVT::v4i32, 2, 0, 1,
22593 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22594 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22595 MVT::v4i32, 2, 0, 3,
22596 OPC_EmitInteger32, 4,
22597 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22598 MVT::v4i32, 3, 2, 4, 5,
22599 OPC_EmitStringInteger32, PPC::sub_64,
22600 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22601 MVT::f64, 2, 6, 7,
22602 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22603 MVT::i64, 1, 8,
22604 OPC_EmitInteger32, 112,
22605 OPC_EmitInteger32, 112,
22606 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22607 MVT::i64, 3, 9, 10, 11,
22608 OPC_EmitStringInteger32, PPC::sub_32,
22609 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22610 MVT::i32, 2, 12, 13,
22611 0,
22612 45|128,1,
22613 OPC_CheckChild0Type, MVT::v8i16,
22614 OPC_Scope, 26,
22615 OPC_CheckPatternPredicate, 15,
22616 OPC_EmitInteger64, 4,
22617 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22618 MVT::i64, 1, 1,
22619 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
22620 MVT::i64, 2, 2, 0,
22621 OPC_EmitStringInteger32, PPC::sub_32,
22622 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22623 MVT::i32, 2, 3, 4,
22624 26,
22625 OPC_CheckPatternPredicate, 16,
22626 OPC_EmitInteger64, 4,
22627 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22628 MVT::i64, 1, 1,
22629 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
22630 MVT::i64, 2, 2, 0,
22631 OPC_EmitStringInteger32, PPC::sub_32,
22632 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22633 MVT::i32, 2, 3, 4,
22634 47,
22635 OPC_CheckPatternPredicate, 24,
22636 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22637 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22638 MVT::v2i64, 2, 0, 1,
22639 OPC_EmitStringInteger32, PPC::sub_64,
22640 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22641 MVT::f64, 2, 2, 3,
22642 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22643 MVT::i64, 1, 4,
22644 OPC_EmitInteger32, 64,
22645 OPC_EmitInteger32, 96,
22646 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22647 MVT::i64, 3, 5, 6, 7,
22648 OPC_EmitStringInteger32, PPC::sub_32,
22649 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22650 MVT::i32, 2, 8, 9,
22651 66,
22652 OPC_CheckPatternPredicate, 25,
22653 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22654 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22655 MVT::v4i32, 2, 0, 1,
22656 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22658 MVT::v4i32, 2, 0, 3,
22659 OPC_EmitInteger32, 4,
22660 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22661 MVT::v4i32, 3, 2, 4, 5,
22662 OPC_EmitStringInteger32, PPC::sub_64,
22663 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22664 MVT::f64, 2, 6, 7,
22665 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22666 MVT::i64, 1, 8,
22667 OPC_EmitInteger32, 96,
22668 OPC_EmitInteger32, 96,
22669 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22670 MVT::i64, 3, 9, 10, 11,
22671 OPC_EmitStringInteger32, PPC::sub_32,
22672 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22673 MVT::i32, 2, 12, 13,
22674 0,
22675 0,
22676 0,
22677 53|128,4,
22678 OPC_CheckChild1Integer, 0,
22679 OPC_SwitchType , 89, MVT::i64,
22680 OPC_Scope, 8,
22681 OPC_CheckPatternPredicate, 57,
22682 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRLD),
22683 MVT::i64, 1, 0,
22684 77,
22685 OPC_CheckChild0Type, MVT::v2i64,
22686 OPC_Scope, 26,
22687 OPC_CheckPatternPredicate, 38,
22688 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22689 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22690 MVT::v2i64, 2, 0, 1,
22691 OPC_EmitStringInteger32, PPC::sub_64,
22692 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22693 MVT::f64, 2, 2, 3,
22694 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
22695 MVT::i64, 1, 4,
22696 45,
22697 OPC_CheckPatternPredicate, 36,
22698 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22699 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22700 MVT::v4i32, 2, 0, 1,
22701 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22702 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22703 MVT::v4i32, 2, 0, 3,
22704 OPC_EmitInteger32, 4,
22705 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22706 MVT::v4i32, 3, 2, 4, 5,
22707 OPC_EmitStringInteger32, PPC::sub_64,
22708 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22709 MVT::f64, 2, 6, 7,
22710 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
22711 MVT::i64, 1, 8,
22712 0,
22713 0,
22714 83|128,3, MVT::i32,
22715 OPC_Scope, 114,
22716 OPC_CheckChild0Type, MVT::v4i32,
22717 OPC_Scope, 27,
22718 OPC_CheckPatternPredicate, 24,
22719 OPC_EmitInteger32, 6,
22720 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
22721 MVT::v4i32, 3, 0, 0, 1,
22722 OPC_EmitStringInteger32, PPC::sub_64,
22723 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22724 MVT::f64, 2, 2, 3,
22725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22726 MVT::i32, 1, 4,
22727 27,
22728 OPC_CheckPatternPredicate, 25,
22729 OPC_EmitInteger32, 4,
22730 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22731 MVT::v4i32, 3, 0, 0, 1,
22732 OPC_EmitStringInteger32, PPC::sub_64,
22733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22734 MVT::f64, 2, 2, 3,
22735 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22736 MVT::i32, 1, 4,
22737 26,
22738 OPC_CheckPatternPredicate, 15,
22739 OPC_EmitInteger64, 0,
22740 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22741 MVT::i64, 1, 1,
22742 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
22743 MVT::i64, 2, 2, 0,
22744 OPC_EmitStringInteger32, PPC::sub_32,
22745 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22746 MVT::i32, 2, 3, 4,
22747 26,
22748 OPC_CheckPatternPredicate, 16,
22749 OPC_EmitInteger64, 0,
22750 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22751 MVT::i64, 1, 1,
22752 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
22753 MVT::i64, 2, 2, 0,
22754 OPC_EmitStringInteger32, PPC::sub_32,
22755 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22756 MVT::i32, 2, 3, 4,
22757 0,
22758 45|128,1,
22759 OPC_CheckChild0Type, MVT::v16i8,
22760 OPC_Scope, 26,
22761 OPC_CheckPatternPredicate, 15,
22762 OPC_EmitInteger64, 0,
22763 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22764 MVT::i64, 1, 1,
22765 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
22766 MVT::i64, 2, 2, 0,
22767 OPC_EmitStringInteger32, PPC::sub_32,
22768 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22769 MVT::i32, 2, 3, 4,
22770 26,
22771 OPC_CheckPatternPredicate, 16,
22772 OPC_EmitInteger64, 0,
22773 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22774 MVT::i64, 1, 1,
22775 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
22776 MVT::i64, 2, 2, 0,
22777 OPC_EmitStringInteger32, PPC::sub_32,
22778 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22779 MVT::i32, 2, 3, 4,
22780 47,
22781 OPC_CheckPatternPredicate, 24,
22782 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22784 MVT::v2i64, 2, 0, 1,
22785 OPC_EmitStringInteger32, PPC::sub_64,
22786 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22787 MVT::f64, 2, 2, 3,
22788 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22789 MVT::i64, 1, 4,
22790 OPC_EmitInteger32, 16,
22791 OPC_EmitInteger32, 112,
22792 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22793 MVT::i64, 3, 5, 6, 7,
22794 OPC_EmitStringInteger32, PPC::sub_32,
22795 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22796 MVT::i32, 2, 8, 9,
22797 66,
22798 OPC_CheckPatternPredicate, 25,
22799 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22800 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22801 MVT::v4i32, 2, 0, 1,
22802 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22803 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22804 MVT::v4i32, 2, 0, 3,
22805 OPC_EmitInteger32, 4,
22806 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22807 MVT::v4i32, 3, 2, 4, 5,
22808 OPC_EmitStringInteger32, PPC::sub_64,
22809 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22810 MVT::f64, 2, 6, 7,
22811 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22812 MVT::i64, 1, 8,
22813 OPC_EmitInteger32, 0,
22814 OPC_EmitInteger32, 112,
22815 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22816 MVT::i64, 3, 9, 10, 11,
22817 OPC_EmitStringInteger32, PPC::sub_32,
22818 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22819 MVT::i32, 2, 12, 13,
22820 0,
22821 45|128,1,
22822 OPC_CheckChild0Type, MVT::v8i16,
22823 OPC_Scope, 26,
22824 OPC_CheckPatternPredicate, 15,
22825 OPC_EmitInteger64, 0,
22826 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22827 MVT::i64, 1, 1,
22828 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
22829 MVT::i64, 2, 2, 0,
22830 OPC_EmitStringInteger32, PPC::sub_32,
22831 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22832 MVT::i32, 2, 3, 4,
22833 26,
22834 OPC_CheckPatternPredicate, 16,
22835 OPC_EmitInteger64, 0,
22836 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22837 MVT::i64, 1, 1,
22838 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
22839 MVT::i64, 2, 2, 0,
22840 OPC_EmitStringInteger32, PPC::sub_32,
22841 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22842 MVT::i32, 2, 3, 4,
22843 47,
22844 OPC_CheckPatternPredicate, 24,
22845 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22847 MVT::v2i64, 2, 0, 1,
22848 OPC_EmitStringInteger32, PPC::sub_64,
22849 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22850 MVT::f64, 2, 2, 3,
22851 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22852 MVT::i64, 1, 4,
22853 OPC_EmitInteger32, 32,
22854 OPC_EmitInteger32, 96,
22855 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22856 MVT::i64, 3, 5, 6, 7,
22857 OPC_EmitStringInteger32, PPC::sub_32,
22858 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22859 MVT::i32, 2, 8, 9,
22860 66,
22861 OPC_CheckPatternPredicate, 25,
22862 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22864 MVT::v4i32, 2, 0, 1,
22865 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22867 MVT::v4i32, 2, 0, 3,
22868 OPC_EmitInteger32, 4,
22869 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22870 MVT::v4i32, 3, 2, 4, 5,
22871 OPC_EmitStringInteger32, PPC::sub_64,
22872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22873 MVT::f64, 2, 6, 7,
22874 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22875 MVT::i64, 1, 8,
22876 OPC_EmitInteger32, 0,
22877 OPC_EmitInteger32, 96,
22878 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22879 MVT::i64, 3, 9, 10, 11,
22880 OPC_EmitStringInteger32, PPC::sub_32,
22881 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22882 MVT::i32, 2, 12, 13,
22883 0,
22884 0,
22885 0,
22886 85|128,3,
22887 OPC_CheckChild1Integer, 4,
22888 OPC_CheckTypeI32,
22889 OPC_Scope, 113,
22890 OPC_CheckChild0Type, MVT::v4i32,
22891 OPC_Scope, 27,
22892 OPC_CheckPatternPredicate, 24,
22893 OPC_EmitInteger32, 2,
22894 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
22895 MVT::v4i32, 3, 0, 0, 1,
22896 OPC_EmitStringInteger32, PPC::sub_64,
22897 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22898 MVT::f64, 2, 2, 3,
22899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22900 MVT::i32, 1, 4,
22901 26,
22902 OPC_CheckPatternPredicate, 25,
22903 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22904 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22905 MVT::v2i64, 2, 0, 1,
22906 OPC_EmitStringInteger32, PPC::sub_64,
22907 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22908 MVT::f64, 2, 2, 3,
22909 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22910 MVT::i32, 1, 4,
22911 26,
22912 OPC_CheckPatternPredicate, 15,
22913 OPC_EmitInteger64, 16,
22914 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22915 MVT::i64, 1, 1,
22916 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
22917 MVT::i64, 2, 2, 0,
22918 OPC_EmitStringInteger32, PPC::sub_32,
22919 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22920 MVT::i32, 2, 3, 4,
22921 26,
22922 OPC_CheckPatternPredicate, 16,
22923 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22925 MVT::v2i64, 2, 0, 1,
22926 OPC_EmitStringInteger32, PPC::sub_64,
22927 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22928 MVT::f64, 2, 2, 3,
22929 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
22930 MVT::i32, 1, 4,
22931 0,
22932 45|128,1,
22933 OPC_CheckChild0Type, MVT::v16i8,
22934 OPC_Scope, 26,
22935 OPC_CheckPatternPredicate, 15,
22936 OPC_EmitInteger64, 4,
22937 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22938 MVT::i64, 1, 1,
22939 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
22940 MVT::i64, 2, 2, 0,
22941 OPC_EmitStringInteger32, PPC::sub_32,
22942 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22943 MVT::i32, 2, 3, 4,
22944 26,
22945 OPC_CheckPatternPredicate, 16,
22946 OPC_EmitInteger64, 4,
22947 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
22948 MVT::i64, 1, 1,
22949 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
22950 MVT::i64, 2, 2, 0,
22951 OPC_EmitStringInteger32, PPC::sub_32,
22952 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22953 MVT::i32, 2, 3, 4,
22954 47,
22955 OPC_CheckPatternPredicate, 24,
22956 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22958 MVT::v2i64, 2, 0, 1,
22959 OPC_EmitStringInteger32, PPC::sub_64,
22960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22961 MVT::f64, 2, 2, 3,
22962 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22963 MVT::i64, 1, 4,
22964 OPC_EmitInteger32, 48,
22965 OPC_EmitInteger32, 112,
22966 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22967 MVT::i64, 3, 5, 6, 7,
22968 OPC_EmitStringInteger32, PPC::sub_32,
22969 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22970 MVT::i32, 2, 8, 9,
22971 66,
22972 OPC_CheckPatternPredicate, 25,
22973 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22974 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22975 MVT::v4i32, 2, 0, 1,
22976 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
22977 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22978 MVT::v4i32, 2, 0, 3,
22979 OPC_EmitInteger32, 4,
22980 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
22981 MVT::v4i32, 3, 2, 4, 5,
22982 OPC_EmitStringInteger32, PPC::sub_64,
22983 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22984 MVT::f64, 2, 6, 7,
22985 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
22986 MVT::i64, 1, 8,
22987 OPC_EmitInteger32, 96,
22988 OPC_EmitInteger32, 112,
22989 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
22990 MVT::i64, 3, 9, 10, 11,
22991 OPC_EmitStringInteger32, PPC::sub_32,
22992 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22993 MVT::i32, 2, 12, 13,
22994 0,
22995 45|128,1,
22996 OPC_CheckChild0Type, MVT::v8i16,
22997 OPC_Scope, 26,
22998 OPC_CheckPatternPredicate, 15,
22999 OPC_EmitInteger64, 8,
23000 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23001 MVT::i64, 1, 1,
23002 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23003 MVT::i64, 2, 2, 0,
23004 OPC_EmitStringInteger32, PPC::sub_32,
23005 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23006 MVT::i32, 2, 3, 4,
23007 26,
23008 OPC_CheckPatternPredicate, 16,
23009 OPC_EmitInteger64, 8,
23010 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23011 MVT::i64, 1, 1,
23012 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23013 MVT::i64, 2, 2, 0,
23014 OPC_EmitStringInteger32, PPC::sub_32,
23015 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23016 MVT::i32, 2, 3, 4,
23017 47,
23018 OPC_CheckPatternPredicate, 24,
23019 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23020 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23021 MVT::v2i64, 2, 0, 1,
23022 OPC_EmitStringInteger32, PPC::sub_64,
23023 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23024 MVT::f64, 2, 2, 3,
23025 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23026 MVT::i64, 1, 4,
23027 OPC_EmitInteger32, 96,
23028 OPC_EmitInteger32, 96,
23029 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23030 MVT::i64, 3, 5, 6, 7,
23031 OPC_EmitStringInteger32, PPC::sub_32,
23032 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23033 MVT::i32, 2, 8, 9,
23034 66,
23035 OPC_CheckPatternPredicate, 25,
23036 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23037 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23038 MVT::v4i32, 2, 0, 1,
23039 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23040 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23041 MVT::v4i32, 2, 0, 3,
23042 OPC_EmitInteger32, 4,
23043 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23044 MVT::v4i32, 3, 2, 4, 5,
23045 OPC_EmitStringInteger32, PPC::sub_64,
23046 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23047 MVT::f64, 2, 6, 7,
23048 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23049 MVT::i64, 1, 8,
23050 OPC_EmitInteger32, 64,
23051 OPC_EmitInteger32, 96,
23052 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23053 MVT::i64, 3, 9, 10, 11,
23054 OPC_EmitStringInteger32, PPC::sub_32,
23055 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23056 MVT::i32, 2, 12, 13,
23057 0,
23058 0,
23059 86|128,3,
23060 OPC_CheckChild1Integer, 6,
23061 OPC_CheckTypeI32,
23062 OPC_Scope, 114,
23063 OPC_CheckChild0Type, MVT::v4i32,
23064 OPC_Scope, 27,
23065 OPC_CheckPatternPredicate, 24,
23066 OPC_EmitInteger32, 4,
23067 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23068 MVT::v4i32, 3, 0, 0, 1,
23069 OPC_EmitStringInteger32, PPC::sub_64,
23070 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23071 MVT::f64, 2, 2, 3,
23072 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
23073 MVT::i32, 1, 4,
23074 27,
23075 OPC_CheckPatternPredicate, 25,
23076 OPC_EmitInteger32, 6,
23077 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
23078 MVT::v4i32, 3, 0, 0, 1,
23079 OPC_EmitStringInteger32, PPC::sub_64,
23080 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23081 MVT::f64, 2, 2, 3,
23082 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
23083 MVT::i32, 1, 4,
23084 26,
23085 OPC_CheckPatternPredicate, 15,
23086 OPC_EmitInteger64, 24,
23087 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23088 MVT::i64, 1, 1,
23089 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
23090 MVT::i64, 2, 2, 0,
23091 OPC_EmitStringInteger32, PPC::sub_32,
23092 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23093 MVT::i32, 2, 3, 4,
23094 26,
23095 OPC_CheckPatternPredicate, 16,
23096 OPC_EmitInteger64, 24,
23097 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23098 MVT::i64, 1, 1,
23099 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
23100 MVT::i64, 2, 2, 0,
23101 OPC_EmitStringInteger32, PPC::sub_32,
23102 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23103 MVT::i32, 2, 3, 4,
23104 0,
23105 45|128,1,
23106 OPC_CheckChild0Type, MVT::v16i8,
23107 OPC_Scope, 26,
23108 OPC_CheckPatternPredicate, 15,
23109 OPC_EmitInteger64, 6,
23110 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23111 MVT::i64, 1, 1,
23112 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23113 MVT::i64, 2, 2, 0,
23114 OPC_EmitStringInteger32, PPC::sub_32,
23115 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23116 MVT::i32, 2, 3, 4,
23117 26,
23118 OPC_CheckPatternPredicate, 16,
23119 OPC_EmitInteger64, 6,
23120 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23121 MVT::i64, 1, 1,
23122 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23123 MVT::i64, 2, 2, 0,
23124 OPC_EmitStringInteger32, PPC::sub_32,
23125 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23126 MVT::i32, 2, 3, 4,
23127 47,
23128 OPC_CheckPatternPredicate, 24,
23129 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23131 MVT::v2i64, 2, 0, 1,
23132 OPC_EmitStringInteger32, PPC::sub_64,
23133 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23134 MVT::f64, 2, 2, 3,
23135 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23136 MVT::i64, 1, 4,
23137 OPC_EmitInteger32, 64,
23138 OPC_EmitInteger32, 112,
23139 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23140 MVT::i64, 3, 5, 6, 7,
23141 OPC_EmitStringInteger32, PPC::sub_32,
23142 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23143 MVT::i32, 2, 8, 9,
23144 66,
23145 OPC_CheckPatternPredicate, 25,
23146 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23147 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23148 MVT::v4i32, 2, 0, 1,
23149 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23150 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23151 MVT::v4i32, 2, 0, 3,
23152 OPC_EmitInteger32, 4,
23153 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23154 MVT::v4i32, 3, 2, 4, 5,
23155 OPC_EmitStringInteger32, PPC::sub_64,
23156 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23157 MVT::f64, 2, 6, 7,
23158 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23159 MVT::i64, 1, 8,
23160 OPC_EmitInteger32, 80,
23161 OPC_EmitInteger32, 112,
23162 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23163 MVT::i64, 3, 9, 10, 11,
23164 OPC_EmitStringInteger32, PPC::sub_32,
23165 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23166 MVT::i32, 2, 12, 13,
23167 0,
23168 45|128,1,
23169 OPC_CheckChild0Type, MVT::v8i16,
23170 OPC_Scope, 26,
23171 OPC_CheckPatternPredicate, 15,
23172 OPC_EmitInteger64, 12,
23173 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23174 MVT::i64, 1, 1,
23175 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23176 MVT::i64, 2, 2, 0,
23177 OPC_EmitStringInteger32, PPC::sub_32,
23178 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23179 MVT::i32, 2, 3, 4,
23180 26,
23181 OPC_CheckPatternPredicate, 16,
23182 OPC_EmitInteger64, 12,
23183 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23184 MVT::i64, 1, 1,
23185 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23186 MVT::i64, 2, 2, 0,
23187 OPC_EmitStringInteger32, PPC::sub_32,
23188 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23189 MVT::i32, 2, 3, 4,
23190 47,
23191 OPC_CheckPatternPredicate, 24,
23192 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23193 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23194 MVT::v2i64, 2, 0, 1,
23195 OPC_EmitStringInteger32, PPC::sub_64,
23196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23197 MVT::f64, 2, 2, 3,
23198 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23199 MVT::i64, 1, 4,
23200 OPC_EmitInteger32, 0,
23201 OPC_EmitInteger32, 96,
23202 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23203 MVT::i64, 3, 5, 6, 7,
23204 OPC_EmitStringInteger32, PPC::sub_32,
23205 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23206 MVT::i32, 2, 8, 9,
23207 66,
23208 OPC_CheckPatternPredicate, 25,
23209 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23210 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23211 MVT::v4i32, 2, 0, 1,
23212 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23213 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23214 MVT::v4i32, 2, 0, 3,
23215 OPC_EmitInteger32, 4,
23216 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23217 MVT::v4i32, 3, 2, 4, 5,
23218 OPC_EmitStringInteger32, PPC::sub_64,
23219 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23220 MVT::f64, 2, 6, 7,
23221 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23222 MVT::i64, 1, 8,
23223 OPC_EmitInteger32, 32,
23224 OPC_EmitInteger32, 96,
23225 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23226 MVT::i64, 3, 9, 10, 11,
23227 OPC_EmitStringInteger32, PPC::sub_32,
23228 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23229 MVT::i32, 2, 12, 13,
23230 0,
23231 0,
23232 99|128,2,
23233 OPC_CheckChild1Integer, 8,
23234 OPC_CheckTypeI32,
23235 OPC_Scope, 45|128,1,
23236 OPC_CheckChild0Type, MVT::v16i8,
23237 OPC_Scope, 26,
23238 OPC_CheckPatternPredicate, 15,
23239 OPC_EmitInteger64, 8,
23240 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23241 MVT::i64, 1, 1,
23242 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23243 MVT::i64, 2, 2, 0,
23244 OPC_EmitStringInteger32, PPC::sub_32,
23245 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23246 MVT::i32, 2, 3, 4,
23247 26,
23248 OPC_CheckPatternPredicate, 16,
23249 OPC_EmitInteger64, 8,
23250 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23251 MVT::i64, 1, 1,
23252 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23253 MVT::i64, 2, 2, 0,
23254 OPC_EmitStringInteger32, PPC::sub_32,
23255 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23256 MVT::i32, 2, 3, 4,
23257 47,
23258 OPC_CheckPatternPredicate, 24,
23259 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23260 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23261 MVT::v2i64, 2, 0, 1,
23262 OPC_EmitStringInteger32, PPC::sub_64,
23263 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23264 MVT::f64, 2, 2, 3,
23265 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23266 MVT::i64, 1, 4,
23267 OPC_EmitInteger32, 80,
23268 OPC_EmitInteger32, 112,
23269 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23270 MVT::i64, 3, 5, 6, 7,
23271 OPC_EmitStringInteger32, PPC::sub_32,
23272 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23273 MVT::i32, 2, 8, 9,
23274 66,
23275 OPC_CheckPatternPredicate, 25,
23276 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23277 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23278 MVT::v4i32, 2, 0, 1,
23279 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23280 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23281 MVT::v4i32, 2, 0, 3,
23282 OPC_EmitInteger32, 4,
23283 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23284 MVT::v4i32, 3, 2, 4, 5,
23285 OPC_EmitStringInteger32, PPC::sub_64,
23286 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23287 MVT::f64, 2, 6, 7,
23288 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23289 MVT::i64, 1, 8,
23290 OPC_EmitInteger32, 64,
23291 OPC_EmitInteger32, 112,
23292 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23293 MVT::i64, 3, 9, 10, 11,
23294 OPC_EmitStringInteger32, PPC::sub_32,
23295 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23296 MVT::i32, 2, 12, 13,
23297 0,
23298 45|128,1,
23299 OPC_CheckChild0Type, MVT::v8i16,
23300 OPC_Scope, 26,
23301 OPC_CheckPatternPredicate, 15,
23302 OPC_EmitInteger64, 16,
23303 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23304 MVT::i64, 1, 1,
23305 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23306 MVT::i64, 2, 2, 0,
23307 OPC_EmitStringInteger32, PPC::sub_32,
23308 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23309 MVT::i32, 2, 3, 4,
23310 26,
23311 OPC_CheckPatternPredicate, 16,
23312 OPC_EmitInteger64, 16,
23313 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23314 MVT::i64, 1, 1,
23315 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23316 MVT::i64, 2, 2, 0,
23317 OPC_EmitStringInteger32, PPC::sub_32,
23318 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23319 MVT::i32, 2, 3, 4,
23320 47,
23321 OPC_CheckPatternPredicate, 25,
23322 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23323 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23324 MVT::v2i64, 2, 0, 1,
23325 OPC_EmitStringInteger32, PPC::sub_64,
23326 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23327 MVT::f64, 2, 2, 3,
23328 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23329 MVT::i64, 1, 4,
23330 OPC_EmitInteger32, 0,
23331 OPC_EmitInteger32, 96,
23332 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23333 MVT::i64, 3, 5, 6, 7,
23334 OPC_EmitStringInteger32, PPC::sub_32,
23335 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23336 MVT::i32, 2, 8, 9,
23337 66,
23338 OPC_CheckPatternPredicate, 24,
23339 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23340 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23341 MVT::v4i32, 2, 0, 1,
23342 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23343 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23344 MVT::v4i32, 2, 0, 3,
23345 OPC_EmitInteger32, 4,
23346 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23347 MVT::v4i32, 3, 2, 4, 5,
23348 OPC_EmitStringInteger32, PPC::sub_64,
23349 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23350 MVT::f64, 2, 6, 7,
23351 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23352 MVT::i64, 1, 8,
23353 OPC_EmitInteger32, 32,
23354 OPC_EmitInteger32, 96,
23355 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23356 MVT::i64, 3, 9, 10, 11,
23357 OPC_EmitStringInteger32, PPC::sub_32,
23358 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23359 MVT::i32, 2, 12, 13,
23360 0,
23361 0,
23362 99|128,2,
23363 OPC_CheckChild1Integer, 10,
23364 OPC_CheckTypeI32,
23365 OPC_Scope, 45|128,1,
23366 OPC_CheckChild0Type, MVT::v16i8,
23367 OPC_Scope, 26,
23368 OPC_CheckPatternPredicate, 15,
23369 OPC_EmitInteger64, 10,
23370 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23371 MVT::i64, 1, 1,
23372 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23373 MVT::i64, 2, 2, 0,
23374 OPC_EmitStringInteger32, PPC::sub_32,
23375 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23376 MVT::i32, 2, 3, 4,
23377 26,
23378 OPC_CheckPatternPredicate, 16,
23379 OPC_EmitInteger64, 10,
23380 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23381 MVT::i64, 1, 1,
23382 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23383 MVT::i64, 2, 2, 0,
23384 OPC_EmitStringInteger32, PPC::sub_32,
23385 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23386 MVT::i32, 2, 3, 4,
23387 47,
23388 OPC_CheckPatternPredicate, 24,
23389 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23390 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23391 MVT::v2i64, 2, 0, 1,
23392 OPC_EmitStringInteger32, PPC::sub_64,
23393 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23394 MVT::f64, 2, 2, 3,
23395 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23396 MVT::i64, 1, 4,
23397 OPC_EmitInteger32, 96,
23398 OPC_EmitInteger32, 112,
23399 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23400 MVT::i64, 3, 5, 6, 7,
23401 OPC_EmitStringInteger32, PPC::sub_32,
23402 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23403 MVT::i32, 2, 8, 9,
23404 66,
23405 OPC_CheckPatternPredicate, 25,
23406 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23408 MVT::v4i32, 2, 0, 1,
23409 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23410 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23411 MVT::v4i32, 2, 0, 3,
23412 OPC_EmitInteger32, 4,
23413 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23414 MVT::v4i32, 3, 2, 4, 5,
23415 OPC_EmitStringInteger32, PPC::sub_64,
23416 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23417 MVT::f64, 2, 6, 7,
23418 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23419 MVT::i64, 1, 8,
23420 OPC_EmitInteger32, 48,
23421 OPC_EmitInteger32, 112,
23422 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23423 MVT::i64, 3, 9, 10, 11,
23424 OPC_EmitStringInteger32, PPC::sub_32,
23425 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23426 MVT::i32, 2, 12, 13,
23427 0,
23428 45|128,1,
23429 OPC_CheckChild0Type, MVT::v8i16,
23430 OPC_Scope, 26,
23431 OPC_CheckPatternPredicate, 15,
23432 OPC_EmitInteger64, 20,
23433 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23434 MVT::i64, 1, 1,
23435 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23436 MVT::i64, 2, 2, 0,
23437 OPC_EmitStringInteger32, PPC::sub_32,
23438 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23439 MVT::i32, 2, 3, 4,
23440 26,
23441 OPC_CheckPatternPredicate, 16,
23442 OPC_EmitInteger64, 20,
23443 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23444 MVT::i64, 1, 1,
23445 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23446 MVT::i64, 2, 2, 0,
23447 OPC_EmitStringInteger32, PPC::sub_32,
23448 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23449 MVT::i32, 2, 3, 4,
23450 47,
23451 OPC_CheckPatternPredicate, 25,
23452 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23453 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23454 MVT::v2i64, 2, 0, 1,
23455 OPC_EmitStringInteger32, PPC::sub_64,
23456 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23457 MVT::f64, 2, 2, 3,
23458 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23459 MVT::i64, 1, 4,
23460 OPC_EmitInteger32, 96,
23461 OPC_EmitInteger32, 96,
23462 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23463 MVT::i64, 3, 5, 6, 7,
23464 OPC_EmitStringInteger32, PPC::sub_32,
23465 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23466 MVT::i32, 2, 8, 9,
23467 66,
23468 OPC_CheckPatternPredicate, 24,
23469 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23470 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23471 MVT::v4i32, 2, 0, 1,
23472 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23473 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23474 MVT::v4i32, 2, 0, 3,
23475 OPC_EmitInteger32, 4,
23476 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23477 MVT::v4i32, 3, 2, 4, 5,
23478 OPC_EmitStringInteger32, PPC::sub_64,
23479 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23480 MVT::f64, 2, 6, 7,
23481 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23482 MVT::i64, 1, 8,
23483 OPC_EmitInteger32, 64,
23484 OPC_EmitInteger32, 96,
23485 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23486 MVT::i64, 3, 9, 10, 11,
23487 OPC_EmitStringInteger32, PPC::sub_32,
23488 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23489 MVT::i32, 2, 12, 13,
23490 0,
23491 0,
23492 27|128,3,
23493 OPC_CheckChild1Integer, 12,
23494 OPC_CheckTypeI32,
23495 OPC_Scope, 45|128,1,
23496 OPC_CheckChild0Type, MVT::v16i8,
23497 OPC_Scope, 26,
23498 OPC_CheckPatternPredicate, 15,
23499 OPC_EmitInteger64, 12,
23500 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23501 MVT::i64, 1, 1,
23502 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23503 MVT::i64, 2, 2, 0,
23504 OPC_EmitStringInteger32, PPC::sub_32,
23505 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23506 MVT::i32, 2, 3, 4,
23507 26,
23508 OPC_CheckPatternPredicate, 16,
23509 OPC_EmitInteger64, 12,
23510 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23511 MVT::i64, 1, 1,
23512 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23513 MVT::i64, 2, 2, 0,
23514 OPC_EmitStringInteger32, PPC::sub_32,
23515 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23516 MVT::i32, 2, 3, 4,
23517 47,
23518 OPC_CheckPatternPredicate, 24,
23519 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23520 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23521 MVT::v2i64, 2, 0, 1,
23522 OPC_EmitStringInteger32, PPC::sub_64,
23523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23524 MVT::f64, 2, 2, 3,
23525 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23526 MVT::i64, 1, 4,
23527 OPC_EmitInteger32, 112,
23528 OPC_EmitInteger32, 112,
23529 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23530 MVT::i64, 3, 5, 6, 7,
23531 OPC_EmitStringInteger32, PPC::sub_32,
23532 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23533 MVT::i32, 2, 8, 9,
23534 66,
23535 OPC_CheckPatternPredicate, 25,
23536 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23537 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23538 MVT::v4i32, 2, 0, 1,
23539 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23540 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23541 MVT::v4i32, 2, 0, 3,
23542 OPC_EmitInteger32, 4,
23543 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23544 MVT::v4i32, 3, 2, 4, 5,
23545 OPC_EmitStringInteger32, PPC::sub_64,
23546 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23547 MVT::f64, 2, 6, 7,
23548 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23549 MVT::i64, 1, 8,
23550 OPC_EmitInteger32, 32,
23551 OPC_EmitInteger32, 112,
23552 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23553 MVT::i64, 3, 9, 10, 11,
23554 OPC_EmitStringInteger32, PPC::sub_32,
23555 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23556 MVT::i32, 2, 12, 13,
23557 0,
23558 101|128,1,
23559 OPC_CheckChild0Type, MVT::v8i16,
23560 OPC_Scope, 54,
23561 OPC_CheckPatternPredicate, 15,
23562 OPC_Scope, 24,
23563 OPC_EmitInteger64, 24,
23564 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23565 MVT::i64, 1, 1,
23566 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23567 MVT::i64, 2, 2, 0,
23568 OPC_EmitStringInteger32, PPC::sub_32,
23569 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23570 MVT::i32, 2, 3, 4,
23571 24,
23572 OPC_EmitInteger64, 28,
23573 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23574 MVT::i64, 1, 1,
23575 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
23576 MVT::i64, 2, 2, 0,
23577 OPC_EmitStringInteger32, PPC::sub_32,
23578 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23579 MVT::i32, 2, 3, 4,
23580 0,
23581 54,
23582 OPC_CheckPatternPredicate, 16,
23583 OPC_Scope, 24,
23584 OPC_EmitInteger64, 24,
23585 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23586 MVT::i64, 1, 1,
23587 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23588 MVT::i64, 2, 2, 0,
23589 OPC_EmitStringInteger32, PPC::sub_32,
23590 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23591 MVT::i32, 2, 3, 4,
23592 24,
23593 OPC_EmitInteger64, 28,
23594 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23595 MVT::i64, 1, 1,
23596 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
23597 MVT::i64, 2, 2, 0,
23598 OPC_EmitStringInteger32, PPC::sub_32,
23599 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23600 MVT::i32, 2, 3, 4,
23601 0,
23602 47,
23603 OPC_CheckPatternPredicate, 25,
23604 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23605 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23606 MVT::v2i64, 2, 0, 1,
23607 OPC_EmitStringInteger32, PPC::sub_64,
23608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23609 MVT::f64, 2, 2, 3,
23610 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23611 MVT::i64, 1, 4,
23612 OPC_EmitInteger32, 64,
23613 OPC_EmitInteger32, 96,
23614 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23615 MVT::i64, 3, 5, 6, 7,
23616 OPC_EmitStringInteger32, PPC::sub_32,
23617 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23618 MVT::i32, 2, 8, 9,
23619 66,
23620 OPC_CheckPatternPredicate, 24,
23621 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23622 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23623 MVT::v4i32, 2, 0, 1,
23624 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23625 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23626 MVT::v4i32, 2, 0, 3,
23627 OPC_EmitInteger32, 4,
23628 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23629 MVT::v4i32, 3, 2, 4, 5,
23630 OPC_EmitStringInteger32, PPC::sub_64,
23631 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23632 MVT::f64, 2, 6, 7,
23633 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23634 MVT::i64, 1, 8,
23635 OPC_EmitInteger32, 96,
23636 OPC_EmitInteger32, 96,
23637 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23638 MVT::i64, 3, 9, 10, 11,
23639 OPC_EmitStringInteger32, PPC::sub_32,
23640 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23641 MVT::i32, 2, 12, 13,
23642 0,
23643 0,
23644 44|128,2,
23645 OPC_CheckChild1Integer, 14,
23646 OPC_CheckTypeI32,
23647 OPC_Scope, 45|128,1,
23648 OPC_CheckChild0Type, MVT::v16i8,
23649 OPC_Scope, 26,
23650 OPC_CheckPatternPredicate, 15,
23651 OPC_EmitInteger64, 14,
23652 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23653 MVT::i64, 1, 1,
23654 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23655 MVT::i64, 2, 2, 0,
23656 OPC_EmitStringInteger32, PPC::sub_32,
23657 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23658 MVT::i32, 2, 3, 4,
23659 26,
23660 OPC_CheckPatternPredicate, 16,
23661 OPC_EmitInteger64, 14,
23662 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23663 MVT::i64, 1, 1,
23664 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23665 MVT::i64, 2, 2, 0,
23666 OPC_EmitStringInteger32, PPC::sub_32,
23667 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23668 MVT::i32, 2, 3, 4,
23669 47,
23670 OPC_CheckPatternPredicate, 24,
23671 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23673 MVT::v2i64, 2, 0, 1,
23674 OPC_EmitStringInteger32, PPC::sub_64,
23675 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23676 MVT::f64, 2, 2, 3,
23677 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23678 MVT::i64, 1, 4,
23679 OPC_EmitInteger32, 0,
23680 OPC_EmitInteger32, 112,
23681 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23682 MVT::i64, 3, 5, 6, 7,
23683 OPC_EmitStringInteger32, PPC::sub_32,
23684 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23685 MVT::i32, 2, 8, 9,
23686 66,
23687 OPC_CheckPatternPredicate, 25,
23688 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23689 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23690 MVT::v4i32, 2, 0, 1,
23691 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23692 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23693 MVT::v4i32, 2, 0, 3,
23694 OPC_EmitInteger32, 4,
23695 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23696 MVT::v4i32, 3, 2, 4, 5,
23697 OPC_EmitStringInteger32, PPC::sub_64,
23698 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23699 MVT::f64, 2, 6, 7,
23700 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23701 MVT::i64, 1, 8,
23702 OPC_EmitInteger32, 16,
23703 OPC_EmitInteger32, 112,
23704 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23705 MVT::i64, 3, 9, 10, 11,
23706 OPC_EmitStringInteger32, PPC::sub_32,
23707 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23708 MVT::i32, 2, 12, 13,
23709 0,
23710 119,
23711 OPC_CheckChild0Type, MVT::v8i16,
23712 OPC_Scope, 47,
23713 OPC_CheckPatternPredicate, 25,
23714 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23715 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23716 MVT::v2i64, 2, 0, 1,
23717 OPC_EmitStringInteger32, PPC::sub_64,
23718 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23719 MVT::f64, 2, 2, 3,
23720 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23721 MVT::i64, 1, 4,
23722 OPC_EmitInteger32, 32,
23723 OPC_EmitInteger32, 96,
23724 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23725 MVT::i64, 3, 5, 6, 7,
23726 OPC_EmitStringInteger32, PPC::sub_32,
23727 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23728 MVT::i32, 2, 8, 9,
23729 66,
23730 OPC_CheckPatternPredicate, 24,
23731 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23732 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23733 MVT::v4i32, 2, 0, 1,
23734 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23735 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23736 MVT::v4i32, 2, 0, 3,
23737 OPC_EmitInteger32, 4,
23738 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23739 MVT::v4i32, 3, 2, 4, 5,
23740 OPC_EmitStringInteger32, PPC::sub_64,
23741 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23742 MVT::f64, 2, 6, 7,
23743 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23744 MVT::i64, 1, 8,
23745 OPC_EmitInteger32, 0,
23746 OPC_EmitInteger32, 96,
23747 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23748 MVT::i64, 3, 9, 10, 11,
23749 OPC_EmitStringInteger32, PPC::sub_32,
23750 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23751 MVT::i32, 2, 12, 13,
23752 0,
23753 0,
23754 48|128,1,
23755 OPC_CheckChild1Integer, 16,
23756 OPC_CheckChild0Type, MVT::v16i8,
23757 OPC_CheckTypeI32,
23758 OPC_Scope, 26,
23759 OPC_CheckPatternPredicate, 15,
23760 OPC_EmitInteger64, 16,
23761 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23762 MVT::i64, 1, 1,
23763 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23764 MVT::i64, 2, 2, 0,
23765 OPC_EmitStringInteger32, PPC::sub_32,
23766 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23767 MVT::i32, 2, 3, 4,
23768 26,
23769 OPC_CheckPatternPredicate, 16,
23770 OPC_EmitInteger64, 16,
23771 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23772 MVT::i64, 1, 1,
23773 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23774 MVT::i64, 2, 2, 0,
23775 OPC_EmitStringInteger32, PPC::sub_32,
23776 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23777 MVT::i32, 2, 3, 4,
23778 47,
23779 OPC_CheckPatternPredicate, 25,
23780 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23781 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23782 MVT::v2i64, 2, 0, 1,
23783 OPC_EmitStringInteger32, PPC::sub_64,
23784 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23785 MVT::f64, 2, 2, 3,
23786 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23787 MVT::i64, 1, 4,
23788 OPC_EmitInteger32, 0,
23789 OPC_EmitInteger32, 112,
23790 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23791 MVT::i64, 3, 5, 6, 7,
23792 OPC_EmitStringInteger32, PPC::sub_32,
23793 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23794 MVT::i32, 2, 8, 9,
23795 66,
23796 OPC_CheckPatternPredicate, 24,
23797 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23798 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23799 MVT::v4i32, 2, 0, 1,
23800 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23801 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23802 MVT::v4i32, 2, 0, 3,
23803 OPC_EmitInteger32, 4,
23804 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23805 MVT::v4i32, 3, 2, 4, 5,
23806 OPC_EmitStringInteger32, PPC::sub_64,
23807 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23808 MVT::f64, 2, 6, 7,
23809 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23810 MVT::i64, 1, 8,
23811 OPC_EmitInteger32, 16,
23812 OPC_EmitInteger32, 112,
23813 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23814 MVT::i64, 3, 9, 10, 11,
23815 OPC_EmitStringInteger32, PPC::sub_32,
23816 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23817 MVT::i32, 2, 12, 13,
23818 0,
23819 48|128,1,
23820 OPC_CheckChild1Integer, 18,
23821 OPC_CheckChild0Type, MVT::v16i8,
23822 OPC_CheckTypeI32,
23823 OPC_Scope, 26,
23824 OPC_CheckPatternPredicate, 15,
23825 OPC_EmitInteger64, 18,
23826 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23827 MVT::i64, 1, 1,
23828 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23829 MVT::i64, 2, 2, 0,
23830 OPC_EmitStringInteger32, PPC::sub_32,
23831 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23832 MVT::i32, 2, 3, 4,
23833 26,
23834 OPC_CheckPatternPredicate, 16,
23835 OPC_EmitInteger64, 18,
23836 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23837 MVT::i64, 1, 1,
23838 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23839 MVT::i64, 2, 2, 0,
23840 OPC_EmitStringInteger32, PPC::sub_32,
23841 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23842 MVT::i32, 2, 3, 4,
23843 47,
23844 OPC_CheckPatternPredicate, 25,
23845 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23847 MVT::v2i64, 2, 0, 1,
23848 OPC_EmitStringInteger32, PPC::sub_64,
23849 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23850 MVT::f64, 2, 2, 3,
23851 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23852 MVT::i64, 1, 4,
23853 OPC_EmitInteger32, 112,
23854 OPC_EmitInteger32, 112,
23855 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23856 MVT::i64, 3, 5, 6, 7,
23857 OPC_EmitStringInteger32, PPC::sub_32,
23858 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23859 MVT::i32, 2, 8, 9,
23860 66,
23861 OPC_CheckPatternPredicate, 24,
23862 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23864 MVT::v4i32, 2, 0, 1,
23865 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23867 MVT::v4i32, 2, 0, 3,
23868 OPC_EmitInteger32, 4,
23869 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23870 MVT::v4i32, 3, 2, 4, 5,
23871 OPC_EmitStringInteger32, PPC::sub_64,
23872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23873 MVT::f64, 2, 6, 7,
23874 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23875 MVT::i64, 1, 8,
23876 OPC_EmitInteger32, 32,
23877 OPC_EmitInteger32, 112,
23878 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23879 MVT::i64, 3, 9, 10, 11,
23880 OPC_EmitStringInteger32, PPC::sub_32,
23881 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23882 MVT::i32, 2, 12, 13,
23883 0,
23884 48|128,1,
23885 OPC_CheckChild1Integer, 20,
23886 OPC_CheckChild0Type, MVT::v16i8,
23887 OPC_CheckTypeI32,
23888 OPC_Scope, 26,
23889 OPC_CheckPatternPredicate, 15,
23890 OPC_EmitInteger64, 20,
23891 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23892 MVT::i64, 1, 1,
23893 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23894 MVT::i64, 2, 2, 0,
23895 OPC_EmitStringInteger32, PPC::sub_32,
23896 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23897 MVT::i32, 2, 3, 4,
23898 26,
23899 OPC_CheckPatternPredicate, 16,
23900 OPC_EmitInteger64, 20,
23901 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23902 MVT::i64, 1, 1,
23903 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23904 MVT::i64, 2, 2, 0,
23905 OPC_EmitStringInteger32, PPC::sub_32,
23906 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23907 MVT::i32, 2, 3, 4,
23908 47,
23909 OPC_CheckPatternPredicate, 25,
23910 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23912 MVT::v2i64, 2, 0, 1,
23913 OPC_EmitStringInteger32, PPC::sub_64,
23914 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23915 MVT::f64, 2, 2, 3,
23916 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23917 MVT::i64, 1, 4,
23918 OPC_EmitInteger32, 96,
23919 OPC_EmitInteger32, 112,
23920 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23921 MVT::i64, 3, 5, 6, 7,
23922 OPC_EmitStringInteger32, PPC::sub_32,
23923 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23924 MVT::i32, 2, 8, 9,
23925 66,
23926 OPC_CheckPatternPredicate, 24,
23927 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23928 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23929 MVT::v4i32, 2, 0, 1,
23930 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23931 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23932 MVT::v4i32, 2, 0, 3,
23933 OPC_EmitInteger32, 4,
23934 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
23935 MVT::v4i32, 3, 2, 4, 5,
23936 OPC_EmitStringInteger32, PPC::sub_64,
23937 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23938 MVT::f64, 2, 6, 7,
23939 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23940 MVT::i64, 1, 8,
23941 OPC_EmitInteger32, 48,
23942 OPC_EmitInteger32, 112,
23943 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23944 MVT::i64, 3, 9, 10, 11,
23945 OPC_EmitStringInteger32, PPC::sub_32,
23946 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23947 MVT::i32, 2, 12, 13,
23948 0,
23949 48|128,1,
23950 OPC_CheckChild1Integer, 22,
23951 OPC_CheckChild0Type, MVT::v16i8,
23952 OPC_CheckTypeI32,
23953 OPC_Scope, 26,
23954 OPC_CheckPatternPredicate, 15,
23955 OPC_EmitInteger64, 22,
23956 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23957 MVT::i64, 1, 1,
23958 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
23959 MVT::i64, 2, 2, 0,
23960 OPC_EmitStringInteger32, PPC::sub_32,
23961 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23962 MVT::i32, 2, 3, 4,
23963 26,
23964 OPC_CheckPatternPredicate, 16,
23965 OPC_EmitInteger64, 22,
23966 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
23967 MVT::i64, 1, 1,
23968 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
23969 MVT::i64, 2, 2, 0,
23970 OPC_EmitStringInteger32, PPC::sub_32,
23971 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23972 MVT::i32, 2, 3, 4,
23973 47,
23974 OPC_CheckPatternPredicate, 25,
23975 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23976 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23977 MVT::v2i64, 2, 0, 1,
23978 OPC_EmitStringInteger32, PPC::sub_64,
23979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23980 MVT::f64, 2, 2, 3,
23981 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
23982 MVT::i64, 1, 4,
23983 OPC_EmitInteger32, 80,
23984 OPC_EmitInteger32, 112,
23985 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
23986 MVT::i64, 3, 5, 6, 7,
23987 OPC_EmitStringInteger32, PPC::sub_32,
23988 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23989 MVT::i32, 2, 8, 9,
23990 66,
23991 OPC_CheckPatternPredicate, 24,
23992 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23993 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23994 MVT::v4i32, 2, 0, 1,
23995 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
23996 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
23997 MVT::v4i32, 2, 0, 3,
23998 OPC_EmitInteger32, 4,
23999 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24000 MVT::v4i32, 3, 2, 4, 5,
24001 OPC_EmitStringInteger32, PPC::sub_64,
24002 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24003 MVT::f64, 2, 6, 7,
24004 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24005 MVT::i64, 1, 8,
24006 OPC_EmitInteger32, 64,
24007 OPC_EmitInteger32, 112,
24008 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24009 MVT::i64, 3, 9, 10, 11,
24010 OPC_EmitStringInteger32, PPC::sub_32,
24011 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24012 MVT::i32, 2, 12, 13,
24013 0,
24014 48|128,1,
24015 OPC_CheckChild1Integer, 24,
24016 OPC_CheckChild0Type, MVT::v16i8,
24017 OPC_CheckTypeI32,
24018 OPC_Scope, 26,
24019 OPC_CheckPatternPredicate, 15,
24020 OPC_EmitInteger64, 24,
24021 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24022 MVT::i64, 1, 1,
24023 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
24024 MVT::i64, 2, 2, 0,
24025 OPC_EmitStringInteger32, PPC::sub_32,
24026 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24027 MVT::i32, 2, 3, 4,
24028 26,
24029 OPC_CheckPatternPredicate, 16,
24030 OPC_EmitInteger64, 24,
24031 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24032 MVT::i64, 1, 1,
24033 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
24034 MVT::i64, 2, 2, 0,
24035 OPC_EmitStringInteger32, PPC::sub_32,
24036 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24037 MVT::i32, 2, 3, 4,
24038 47,
24039 OPC_CheckPatternPredicate, 25,
24040 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24041 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24042 MVT::v2i64, 2, 0, 1,
24043 OPC_EmitStringInteger32, PPC::sub_64,
24044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24045 MVT::f64, 2, 2, 3,
24046 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24047 MVT::i64, 1, 4,
24048 OPC_EmitInteger32, 64,
24049 OPC_EmitInteger32, 112,
24050 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24051 MVT::i64, 3, 5, 6, 7,
24052 OPC_EmitStringInteger32, PPC::sub_32,
24053 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24054 MVT::i32, 2, 8, 9,
24055 66,
24056 OPC_CheckPatternPredicate, 24,
24057 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24058 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24059 MVT::v4i32, 2, 0, 1,
24060 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24061 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24062 MVT::v4i32, 2, 0, 3,
24063 OPC_EmitInteger32, 4,
24064 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24065 MVT::v4i32, 3, 2, 4, 5,
24066 OPC_EmitStringInteger32, PPC::sub_64,
24067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24068 MVT::f64, 2, 6, 7,
24069 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24070 MVT::i64, 1, 8,
24071 OPC_EmitInteger32, 80,
24072 OPC_EmitInteger32, 112,
24073 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24074 MVT::i64, 3, 9, 10, 11,
24075 OPC_EmitStringInteger32, PPC::sub_32,
24076 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24077 MVT::i32, 2, 12, 13,
24078 0,
24079 48|128,1,
24080 OPC_CheckChild1Integer, 26,
24081 OPC_CheckChild0Type, MVT::v16i8,
24082 OPC_CheckTypeI32,
24083 OPC_Scope, 26,
24084 OPC_CheckPatternPredicate, 15,
24085 OPC_EmitInteger64, 26,
24086 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24087 MVT::i64, 1, 1,
24088 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
24089 MVT::i64, 2, 2, 0,
24090 OPC_EmitStringInteger32, PPC::sub_32,
24091 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24092 MVT::i32, 2, 3, 4,
24093 26,
24094 OPC_CheckPatternPredicate, 16,
24095 OPC_EmitInteger64, 26,
24096 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24097 MVT::i64, 1, 1,
24098 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
24099 MVT::i64, 2, 2, 0,
24100 OPC_EmitStringInteger32, PPC::sub_32,
24101 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24102 MVT::i32, 2, 3, 4,
24103 47,
24104 OPC_CheckPatternPredicate, 25,
24105 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24106 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24107 MVT::v2i64, 2, 0, 1,
24108 OPC_EmitStringInteger32, PPC::sub_64,
24109 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24110 MVT::f64, 2, 2, 3,
24111 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24112 MVT::i64, 1, 4,
24113 OPC_EmitInteger32, 48,
24114 OPC_EmitInteger32, 112,
24115 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24116 MVT::i64, 3, 5, 6, 7,
24117 OPC_EmitStringInteger32, PPC::sub_32,
24118 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24119 MVT::i32, 2, 8, 9,
24120 66,
24121 OPC_CheckPatternPredicate, 24,
24122 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24123 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24124 MVT::v4i32, 2, 0, 1,
24125 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24126 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24127 MVT::v4i32, 2, 0, 3,
24128 OPC_EmitInteger32, 4,
24129 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24130 MVT::v4i32, 3, 2, 4, 5,
24131 OPC_EmitStringInteger32, PPC::sub_64,
24132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24133 MVT::f64, 2, 6, 7,
24134 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24135 MVT::i64, 1, 8,
24136 OPC_EmitInteger32, 96,
24137 OPC_EmitInteger32, 112,
24138 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24139 MVT::i64, 3, 9, 10, 11,
24140 OPC_EmitStringInteger32, PPC::sub_32,
24141 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24142 MVT::i32, 2, 12, 13,
24143 0,
24144 48|128,1,
24145 OPC_CheckChild1Integer, 28,
24146 OPC_CheckChild0Type, MVT::v16i8,
24147 OPC_CheckTypeI32,
24148 OPC_Scope, 26,
24149 OPC_CheckPatternPredicate, 15,
24150 OPC_EmitInteger64, 28,
24151 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24152 MVT::i64, 1, 1,
24153 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
24154 MVT::i64, 2, 2, 0,
24155 OPC_EmitStringInteger32, PPC::sub_32,
24156 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24157 MVT::i32, 2, 3, 4,
24158 26,
24159 OPC_CheckPatternPredicate, 16,
24160 OPC_EmitInteger64, 28,
24161 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24162 MVT::i64, 1, 1,
24163 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
24164 MVT::i64, 2, 2, 0,
24165 OPC_EmitStringInteger32, PPC::sub_32,
24166 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24167 MVT::i32, 2, 3, 4,
24168 47,
24169 OPC_CheckPatternPredicate, 25,
24170 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24172 MVT::v2i64, 2, 0, 1,
24173 OPC_EmitStringInteger32, PPC::sub_64,
24174 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24175 MVT::f64, 2, 2, 3,
24176 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24177 MVT::i64, 1, 4,
24178 OPC_EmitInteger32, 32,
24179 OPC_EmitInteger32, 112,
24180 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24181 MVT::i64, 3, 5, 6, 7,
24182 OPC_EmitStringInteger32, PPC::sub_32,
24183 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24184 MVT::i32, 2, 8, 9,
24185 66,
24186 OPC_CheckPatternPredicate, 24,
24187 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24188 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24189 MVT::v4i32, 2, 0, 1,
24190 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24191 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24192 MVT::v4i32, 2, 0, 3,
24193 OPC_EmitInteger32, 4,
24194 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24195 MVT::v4i32, 3, 2, 4, 5,
24196 OPC_EmitStringInteger32, PPC::sub_64,
24197 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24198 MVT::f64, 2, 6, 7,
24199 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24200 MVT::i64, 1, 8,
24201 OPC_EmitInteger32, 112,
24202 OPC_EmitInteger32, 112,
24203 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24204 MVT::i64, 3, 9, 10, 11,
24205 OPC_EmitStringInteger32, PPC::sub_32,
24206 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24207 MVT::i32, 2, 12, 13,
24208 0,
24209 48|128,1,
24210 OPC_CheckChild1Integer, 30,
24211 OPC_CheckChild0Type, MVT::v16i8,
24212 OPC_CheckTypeI32,
24213 OPC_Scope, 26,
24214 OPC_CheckPatternPredicate, 15,
24215 OPC_EmitInteger64, 30,
24216 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24217 MVT::i64, 1, 1,
24218 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
24219 MVT::i64, 2, 2, 0,
24220 OPC_EmitStringInteger32, PPC::sub_32,
24221 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24222 MVT::i32, 2, 3, 4,
24223 26,
24224 OPC_CheckPatternPredicate, 16,
24225 OPC_EmitInteger64, 30,
24226 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24227 MVT::i64, 1, 1,
24228 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
24229 MVT::i64, 2, 2, 0,
24230 OPC_EmitStringInteger32, PPC::sub_32,
24231 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24232 MVT::i32, 2, 3, 4,
24233 47,
24234 OPC_CheckPatternPredicate, 25,
24235 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24236 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24237 MVT::v2i64, 2, 0, 1,
24238 OPC_EmitStringInteger32, PPC::sub_64,
24239 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24240 MVT::f64, 2, 2, 3,
24241 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24242 MVT::i64, 1, 4,
24243 OPC_EmitInteger32, 16,
24244 OPC_EmitInteger32, 112,
24245 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24246 MVT::i64, 3, 5, 6, 7,
24247 OPC_EmitStringInteger32, PPC::sub_32,
24248 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24249 MVT::i32, 2, 8, 9,
24250 66,
24251 OPC_CheckPatternPredicate, 24,
24252 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24253 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24254 MVT::v4i32, 2, 0, 1,
24255 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24256 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24257 MVT::v4i32, 2, 0, 3,
24258 OPC_EmitInteger32, 4,
24259 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24260 MVT::v4i32, 3, 2, 4, 5,
24261 OPC_EmitStringInteger32, PPC::sub_64,
24262 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24263 MVT::f64, 2, 6, 7,
24264 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24265 MVT::i64, 1, 8,
24266 OPC_EmitInteger32, 0,
24267 OPC_EmitInteger32, 112,
24268 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
24269 MVT::i64, 3, 9, 10, 11,
24270 OPC_EmitStringInteger32, PPC::sub_32,
24271 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24272 MVT::i32, 2, 12, 13,
24273 0,
24274 10|128,2,
24275 OPC_CheckChild0Type, MVT::v16i8,
24276 OPC_RecordChild1,
24277 OPC_CheckChild1TypeI64,
24278 OPC_CheckTypeI32,
24279 OPC_Scope, 18,
24280 OPC_CheckPatternPredicate, 15,
24281 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBLX),
24282 MVT::i64, 2, 1, 0,
24283 OPC_EmitStringInteger32, PPC::sub_32,
24284 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24285 MVT::i32, 2, 2, 3,
24286 18,
24287 OPC_CheckPatternPredicate, 16,
24288 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUBRX),
24289 MVT::i64, 2, 1, 0,
24290 OPC_EmitStringInteger32, PPC::sub_32,
24291 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24292 MVT::i32, 2, 2, 3,
24293 107,
24294 OPC_CheckPatternPredicate, 24,
24295 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24296 OPC_EmitInteger64, 16,
24297 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
24298 MVT::i64, MVT::i32, 2, 1, 3,
24299 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24300 MVT::v16i8, 2, 2, 4,
24301 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24302 MVT::v16i8, 3, 0, 0, 6,
24303 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24304 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24305 MVT::v2i64, 2, 7, 8,
24306 OPC_EmitStringInteger32, PPC::sub_64,
24307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24308 MVT::f64, 2, 9, 10,
24309 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24310 MVT::i64, 1, 11,
24311 OPC_EmitInteger64, 14,
24312 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24313 MVT::i64, 1, 13,
24314 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24315 MVT::i64, 2, 14, 1,
24316 OPC_EmitInteger32, 6,
24317 OPC_EmitInteger32, 120,
24318 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24319 MVT::i64, 3, 15, 16, 17,
24320 OPC_EmitStringInteger32, PPC::sub_32,
24321 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24322 MVT::i32, 2, 18, 19,
24323 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24324 MVT::i64, 2, 12, 20,
24325 OPC_EmitStringInteger32, PPC::sub_32,
24326 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24327 MVT::i32, 2, 21, 22,
24328 112,
24329 OPC_CheckPatternPredicate, 25,
24330 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24331 OPC_EmitInteger64, 16,
24332 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24333 MVT::i64, 1, 3,
24334 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24335 MVT::i64, 2, 4, 1,
24336 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24337 MVT::v16i8, 2, 2, 5,
24338 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24339 MVT::v16i8, 3, 0, 0, 6,
24340 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24341 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24342 MVT::v2i64, 2, 7, 8,
24343 OPC_EmitStringInteger32, PPC::sub_64,
24344 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24345 MVT::f64, 2, 9, 10,
24346 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24347 MVT::i64, 1, 11,
24348 OPC_EmitInteger64, 14,
24349 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24350 MVT::i64, 1, 13,
24351 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
24352 MVT::i64, 2, 14, 1,
24353 OPC_EmitInteger32, 6,
24354 OPC_EmitInteger32, 120,
24355 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24356 MVT::i64, 3, 15, 16, 17,
24357 OPC_EmitStringInteger32, PPC::sub_32,
24358 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24359 MVT::i32, 2, 18, 19,
24360 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24361 MVT::i64, 2, 12, 20,
24362 OPC_EmitStringInteger32, PPC::sub_32,
24363 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24364 MVT::i32, 2, 21, 22,
24365 0,
24366 64|128,2,
24367 OPC_CheckChild0Type, MVT::v8i16,
24368 OPC_RecordChild1,
24369 OPC_CheckChild1TypeI64,
24370 OPC_CheckTypeI32,
24371 OPC_Scope, 33,
24372 OPC_CheckPatternPredicate, 15,
24373 OPC_EmitInteger32, 2,
24374 OPC_EmitInteger32, 56,
24375 OPC_EmitInteger32, 60,
24376 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
24377 MVT::i64, 4, 1, 2, 3, 4,
24378 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHLX),
24379 MVT::i64, 2, 5, 0,
24380 OPC_EmitStringInteger32, PPC::sub_32,
24381 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24382 MVT::i32, 2, 6, 7,
24383 33,
24384 OPC_CheckPatternPredicate, 16,
24385 OPC_EmitInteger32, 2,
24386 OPC_EmitInteger32, 56,
24387 OPC_EmitInteger32, 60,
24388 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
24389 MVT::i64, 4, 1, 2, 3, 4,
24390 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUHRX),
24391 MVT::i64, 2, 5, 0,
24392 OPC_EmitStringInteger32, PPC::sub_32,
24393 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24394 MVT::i32, 2, 6, 7,
24395 119,
24396 OPC_CheckPatternPredicate, 24,
24397 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24398 OPC_EmitInteger64, 8,
24399 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
24400 MVT::i64, MVT::i32, 2, 1, 3,
24401 OPC_EmitInteger32, 2,
24402 OPC_EmitInteger32, 124,
24403 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24404 MVT::i64, 3, 4, 6, 7,
24405 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24406 MVT::v16i8, 2, 2, 8,
24407 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24408 MVT::v16i8, 3, 0, 0, 9,
24409 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24410 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24411 MVT::v2i64, 2, 10, 11,
24412 OPC_EmitStringInteger32, PPC::sub_64,
24413 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24414 MVT::f64, 2, 12, 13,
24415 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24416 MVT::i64, 1, 14,
24417 OPC_EmitInteger64, 6,
24418 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24419 MVT::i64, 1, 16,
24420 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24421 MVT::i64, 2, 17, 1,
24422 OPC_EmitInteger32, 8,
24423 OPC_EmitInteger32, 118,
24424 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24425 MVT::i64, 3, 18, 19, 20,
24426 OPC_EmitStringInteger32, PPC::sub_32,
24427 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24428 MVT::i32, 2, 21, 22,
24429 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24430 MVT::i64, 2, 15, 23,
24431 OPC_EmitStringInteger32, PPC::sub_32,
24432 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24433 MVT::i32, 2, 24, 25,
24434 124,
24435 OPC_CheckPatternPredicate, 25,
24436 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24437 OPC_EmitInteger64, 8,
24438 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24439 MVT::i64, 1, 3,
24440 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24441 MVT::i64, 2, 4, 1,
24442 OPC_EmitInteger32, 2,
24443 OPC_EmitInteger32, 124,
24444 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24445 MVT::i64, 3, 5, 6, 7,
24446 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24447 MVT::v16i8, 2, 2, 8,
24448 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24449 MVT::v16i8, 3, 0, 0, 9,
24450 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24451 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24452 MVT::v2i64, 2, 10, 11,
24453 OPC_EmitStringInteger32, PPC::sub_64,
24454 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24455 MVT::f64, 2, 12, 13,
24456 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24457 MVT::i64, 1, 14,
24458 OPC_EmitInteger64, 6,
24459 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24460 MVT::i64, 1, 16,
24461 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
24462 MVT::i64, 2, 17, 1,
24463 OPC_EmitInteger32, 8,
24464 OPC_EmitInteger32, 118,
24465 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24466 MVT::i64, 3, 18, 19, 20,
24467 OPC_EmitStringInteger32, PPC::sub_32,
24468 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24469 MVT::i32, 2, 21, 22,
24470 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24471 MVT::i64, 2, 15, 23,
24472 OPC_EmitStringInteger32, PPC::sub_32,
24473 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24474 MVT::i32, 2, 24, 25,
24475 0,
24476 64|128,2,
24477 OPC_CheckChild0Type, MVT::v4i32,
24478 OPC_RecordChild1,
24479 OPC_CheckChild1TypeI64,
24480 OPC_CheckTypeI32,
24481 OPC_Scope, 33,
24482 OPC_CheckPatternPredicate, 15,
24483 OPC_EmitInteger32, 4,
24484 OPC_EmitInteger32, 56,
24485 OPC_EmitInteger32, 58,
24486 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
24487 MVT::i64, 4, 1, 2, 3, 4,
24488 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWLX),
24489 MVT::i64, 2, 5, 0,
24490 OPC_EmitStringInteger32, PPC::sub_32,
24491 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24492 MVT::i32, 2, 6, 7,
24493 33,
24494 OPC_CheckPatternPredicate, 16,
24495 OPC_EmitInteger32, 4,
24496 OPC_EmitInteger32, 56,
24497 OPC_EmitInteger32, 58,
24498 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
24499 MVT::i64, 4, 1, 2, 3, 4,
24500 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTUWRX),
24501 MVT::i64, 2, 5, 0,
24502 OPC_EmitStringInteger32, PPC::sub_32,
24503 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24504 MVT::i32, 2, 6, 7,
24505 119,
24506 OPC_CheckPatternPredicate, 24,
24507 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24508 OPC_EmitInteger64, 4,
24509 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
24510 MVT::i64, MVT::i32, 2, 1, 3,
24511 OPC_EmitInteger32, 4,
24512 OPC_EmitInteger32, 122,
24513 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24514 MVT::i64, 3, 4, 6, 7,
24515 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24516 MVT::v16i8, 2, 2, 8,
24517 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24518 MVT::v16i8, 3, 0, 0, 9,
24519 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24520 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24521 MVT::v2i64, 2, 10, 11,
24522 OPC_EmitStringInteger32, PPC::sub_64,
24523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24524 MVT::f64, 2, 12, 13,
24525 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24526 MVT::i64, 1, 14,
24527 OPC_EmitInteger64, 2,
24528 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24529 MVT::i64, 1, 16,
24530 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24531 MVT::i64, 2, 17, 1,
24532 OPC_EmitInteger32, 10,
24533 OPC_EmitInteger32, 116,
24534 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24535 MVT::i64, 3, 18, 19, 20,
24536 OPC_EmitStringInteger32, PPC::sub_32,
24537 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24538 MVT::i32, 2, 21, 22,
24539 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24540 MVT::i64, 2, 15, 23,
24541 OPC_EmitStringInteger32, PPC::sub_32,
24542 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24543 MVT::i32, 2, 24, 25,
24544 124,
24545 OPC_CheckPatternPredicate, 25,
24546 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24547 OPC_EmitInteger64, 4,
24548 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24549 MVT::i64, 1, 3,
24550 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24551 MVT::i64, 2, 4, 1,
24552 OPC_EmitInteger32, 4,
24553 OPC_EmitInteger32, 122,
24554 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24555 MVT::i64, 3, 5, 6, 7,
24556 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24557 MVT::v16i8, 2, 2, 8,
24558 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24559 MVT::v16i8, 3, 0, 0, 9,
24560 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24562 MVT::v2i64, 2, 10, 11,
24563 OPC_EmitStringInteger32, PPC::sub_64,
24564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24565 MVT::f64, 2, 12, 13,
24566 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
24567 MVT::i64, 1, 14,
24568 OPC_EmitInteger64, 2,
24569 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24570 MVT::i64, 1, 16,
24571 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
24572 MVT::i64, 2, 17, 1,
24573 OPC_EmitInteger32, 10,
24574 OPC_EmitInteger32, 116,
24575 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24576 MVT::i64, 3, 18, 19, 20,
24577 OPC_EmitStringInteger32, PPC::sub_32,
24578 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24579 MVT::i32, 2, 21, 22,
24580 OPC_EmitNode1None, TARGET_VAL(PPC::SRD),
24581 MVT::i64, 2, 15, 23,
24582 OPC_EmitStringInteger32, PPC::sub_32,
24583 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24584 MVT::i32, 2, 24, 25,
24585 0,
24586 20|128,1,
24587 OPC_CheckChild0Type, MVT::v2i64,
24588 OPC_RecordChild1,
24589 OPC_CheckChild1TypeI64,
24590 OPC_CheckTypeI64,
24591 OPC_Scope, 67,
24592 OPC_CheckPatternPredicate, 38,
24593 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24594 OPC_EmitInteger64, 2,
24595 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
24596 MVT::i64, MVT::i32, 2, 1, 3,
24597 OPC_EmitInteger32, 6,
24598 OPC_EmitInteger32, 120,
24599 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24600 MVT::i64, 3, 4, 6, 7,
24601 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24602 MVT::v16i8, 2, 2, 8,
24603 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24604 MVT::v16i8, 3, 0, 0, 9,
24605 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24607 MVT::v2i64, 2, 10, 11,
24608 OPC_EmitStringInteger32, PPC::sub_64,
24609 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24610 MVT::f64, 2, 12, 13,
24611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
24612 MVT::i64, 1, 14,
24613 72,
24614 OPC_CheckPatternPredicate, 36,
24615 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24616 OPC_EmitInteger64, 2,
24617 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24618 MVT::i64, 1, 3,
24619 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24620 MVT::i64, 2, 4, 1,
24621 OPC_EmitInteger32, 6,
24622 OPC_EmitInteger32, 120,
24623 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24624 MVT::i64, 3, 5, 6, 7,
24625 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24626 MVT::v16i8, 2, 2, 8,
24627 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24628 MVT::v16i8, 3, 0, 0, 9,
24629 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24630 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24631 MVT::v2i64, 2, 10, 11,
24632 OPC_EmitStringInteger32, PPC::sub_64,
24633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24634 MVT::f64, 2, 12, 13,
24635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
24636 MVT::i64, 1, 14,
24637 0,
24638 76,
24639 OPC_CheckChild1Integer, 0,
24640 OPC_SwitchType , 36, MVT::f64,
24641 OPC_Scope, 11,
24642 OPC_CheckPatternPredicate, 17,
24643 OPC_EmitStringInteger32, PPC::sub_64,
24644 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24645 MVT::f64, 2, 0, 1,
24646 21,
24647 OPC_CheckPatternPredicate, 13,
24648 OPC_EmitInteger32, 4,
24649 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24650 MVT::v4i32, 3, 0, 0, 1,
24651 OPC_EmitStringInteger32, PPC::sub_64,
24652 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24653 MVT::f64, 2, 2, 3,
24654 0,
24655 32, MVT::f32,
24656 OPC_CheckChild0Type, MVT::v4f32,
24657 OPC_Scope, 8,
24658 OPC_CheckPatternPredicate, 28,
24659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24660 MVT::f32, 1, 0,
24661 18,
24662 OPC_CheckPatternPredicate, 21,
24663 OPC_EmitInteger32, 6,
24664 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
24665 MVT::v4i32, 3, 0, 0, 1,
24666 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24667 MVT::f32, 1, 2,
24668 0,
24669 0,
24670 86,
24671 OPC_CheckChild1Integer, 2,
24672 OPC_SwitchType , 36, MVT::f64,
24673 OPC_Scope, 11,
24674 OPC_CheckPatternPredicate, 13,
24675 OPC_EmitStringInteger32, PPC::sub_64,
24676 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24677 MVT::f64, 2, 0, 1,
24678 21,
24679 OPC_CheckPatternPredicate, 17,
24680 OPC_EmitInteger32, 4,
24681 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24682 MVT::v4i32, 3, 0, 0, 1,
24683 OPC_EmitStringInteger32, PPC::sub_64,
24684 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24685 MVT::f64, 2, 2, 3,
24686 0,
24687 42, MVT::f32,
24688 OPC_CheckChild0Type, MVT::v4f32,
24689 OPC_Scope, 18,
24690 OPC_CheckPatternPredicate, 28,
24691 OPC_EmitInteger32, 2,
24692 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
24693 MVT::v4i32, 3, 0, 0, 1,
24694 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24695 MVT::f32, 1, 2,
24696 18,
24697 OPC_CheckPatternPredicate, 21,
24698 OPC_EmitInteger32, 4,
24699 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24700 MVT::v4i32, 3, 0, 0, 1,
24701 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24702 MVT::f32, 1, 2,
24703 0,
24704 0,
24705 36,
24706 OPC_CheckChild1Integer, 6,
24707 OPC_CheckChild0Type, MVT::v4f32,
24708 OPC_CheckType, MVT::f32,
24709 OPC_Scope, 8,
24710 OPC_CheckPatternPredicate, 21,
24711 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24712 MVT::f32, 1, 0,
24713 18,
24714 OPC_CheckPatternPredicate, 28,
24715 OPC_EmitInteger32, 6,
24716 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
24717 MVT::v4i32, 3, 0, 0, 1,
24718 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24719 MVT::f32, 1, 2,
24720 0,
24721 46,
24722 OPC_CheckChild1Integer, 4,
24723 OPC_CheckChild0Type, MVT::v4f32,
24724 OPC_CheckType, MVT::f32,
24725 OPC_Scope, 18,
24726 OPC_CheckPatternPredicate, 28,
24727 OPC_EmitInteger32, 4,
24728 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
24729 MVT::v4i32, 3, 0, 0, 1,
24730 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24731 MVT::f32, 1, 2,
24732 18,
24733 OPC_CheckPatternPredicate, 21,
24734 OPC_EmitInteger32, 2,
24735 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
24736 MVT::v4i32, 3, 0, 0, 1,
24737 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24738 MVT::f32, 1, 2,
24739 0,
24740 20|128,1,
24741 OPC_CheckChild0Type, MVT::v4f32,
24742 OPC_RecordChild1,
24743 OPC_CheckType, MVT::f32,
24744 OPC_Scope, 41,
24745 OPC_CheckChild1TypeI32,
24746 OPC_CheckPatternPredicate, 28,
24747 OPC_EmitRegisterI32, PPC::ZERO,
24748 OPC_EmitInteger32, 4,
24749 OPC_EmitInteger32, 0,
24750 OPC_EmitInteger32, 58,
24751 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
24752 MVT::i32, 4, 1, 3, 4, 5,
24753 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24754 MVT::v16i8, 2, 2, 6,
24755 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24756 MVT::v4i32, 3, 0, 0, 7,
24757 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24758 MVT::f32, 1, 8,
24759 98,
24760 OPC_CheckChild1TypeI64,
24761 OPC_Scope, 39,
24762 OPC_CheckPatternPredicate, 32,
24763 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24764 OPC_EmitInteger32, 4,
24765 OPC_EmitInteger32, 122,
24766 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24767 MVT::i64, 3, 1, 3, 4,
24768 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24769 MVT::v16i8, 2, 2, 5,
24770 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24771 MVT::v4i32, 3, 0, 0, 6,
24772 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24773 MVT::f32, 1, 7,
24774 54,
24775 OPC_CheckPatternPredicate, 21,
24776 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24777 OPC_EmitInteger64, 6,
24778 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24779 MVT::i64, 1, 3,
24780 OPC_EmitNode1None, TARGET_VAL(PPC::XOR8),
24781 MVT::i64, 2, 4, 1,
24782 OPC_EmitInteger32, 4,
24783 OPC_EmitInteger32, 122,
24784 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24785 MVT::i64, 3, 5, 6, 7,
24786 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24787 MVT::v16i8, 2, 2, 8,
24788 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24789 MVT::v4i32, 3, 0, 0, 9,
24790 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
24791 MVT::f32, 1, 10,
24792 0,
24793 0,
24794 104|128,1,
24795 OPC_CheckChild0Type, MVT::v2f64,
24796 OPC_RecordChild1,
24797 OPC_CheckType, MVT::f64,
24798 OPC_Scope, 22|128,1,
24799 OPC_CheckChild1TypeI64,
24800 OPC_Scope, 70,
24801 OPC_CheckPatternPredicate, 17,
24802 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24803 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24804 MVT::v16i8, 2, 0, 2,
24805 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24806 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24807 MVT::v16i8, 2, 0, 4,
24808 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24809 OPC_EmitInteger64, 2,
24810 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI8_rec),
24811 MVT::i64, MVT::i32, 2, 1, 7,
24812 OPC_EmitInteger32, 6,
24813 OPC_EmitInteger32, 120,
24814 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24815 MVT::i64, 3, 8, 10, 11,
24816 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24817 MVT::v16i8, 2, 6, 12,
24818 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24819 MVT::v16i8, 3, 3, 5, 13,
24820 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24821 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24822 MVT::f64, 2, 14, 15,
24823 75,
24824 OPC_CheckPatternPredicate, 13,
24825 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24826 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24827 MVT::v16i8, 2, 0, 2,
24828 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24830 MVT::v16i8, 2, 0, 4,
24831 OPC_EmitRegister2, MVT::i64, TARGET_VAL(PPC::ZERO8),
24832 OPC_EmitInteger64, 2,
24833 OPC_EmitNode1None, TARGET_VAL(PPC::LI8),
24834 MVT::i64, 1, 7,
24835 OPC_EmitNode1None, TARGET_VAL(PPC::ANDC8),
24836 MVT::i64, 2, 8, 1,
24837 OPC_EmitInteger32, 6,
24838 OPC_EmitInteger32, 120,
24839 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
24840 MVT::i64, 3, 9, 10, 11,
24841 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24842 MVT::v16i8, 2, 6, 12,
24843 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24844 MVT::v16i8, 3, 3, 5, 13,
24845 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24846 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24847 MVT::f64, 2, 14, 15,
24848 0,
24849 72,
24850 OPC_CheckChild1TypeI32,
24851 OPC_CheckPatternPredicate, 28,
24852 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24853 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24854 MVT::v16i8, 2, 0, 2,
24855 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
24856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24857 MVT::v16i8, 2, 0, 4,
24858 OPC_EmitRegisterI32, PPC::ZERO,
24859 OPC_EmitInteger32, 2,
24860 OPC_EmitNode2None, TARGET_VAL(PPC::ANDI_rec),
24861 MVT::i32, MVT::i32, 2, 1, 7,
24862 OPC_EmitInteger32, 6,
24863 OPC_EmitInteger32, 0,
24864 OPC_EmitInteger32, 56,
24865 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
24866 MVT::i32, 4, 8, 10, 11, 12,
24867 OPC_EmitNode1None, TARGET_VAL(PPC::LVSL),
24868 MVT::v16i8, 2, 6, 13,
24869 OPC_EmitNode1None, TARGET_VAL(PPC::VPERM),
24870 MVT::v16i8, 3, 3, 5, 14,
24871 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24872 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24873 MVT::f64, 2, 15, 16,
24874 0,
24875 0,
24876 67|128,82, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
24877 OPC_Scope, 23,
24878 OPC_CheckChild0Integer, 4|128,30|128,1,
24879 OPC_RecordChild1,
24880 OPC_RecordChild2,
24881 OPC_CheckPatternPredicate2,
24882 OPC_EmitNode1None, TARGET_VAL(PPC::XVTDIVDP),
24883 MVT::i32, 2, 0, 1,
24884 OPC_EmitStringInteger32, PPC::GPRCRegClassID,
24885 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24886 MVT::i32, 2, 2, 3,
24887 23,
24888 OPC_CheckChild0Integer, 6|128,30|128,1,
24889 OPC_RecordChild1,
24890 OPC_RecordChild2,
24891 OPC_CheckPatternPredicate2,
24892 OPC_EmitNode1None, TARGET_VAL(PPC::XVTDIVSP),
24893 MVT::i32, 2, 0, 1,
24894 OPC_EmitStringInteger32, PPC::GPRCRegClassID,
24895 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24896 MVT::i32, 2, 2, 3,
24897 21,
24898 OPC_CheckChild0Integer, 10|128,30|128,1,
24899 OPC_RecordChild1,
24900 OPC_CheckPatternPredicate2,
24901 OPC_EmitNode1None, TARGET_VAL(PPC::XVTSQRTDP),
24902 MVT::i32, 1, 0,
24903 OPC_EmitStringInteger32, PPC::GPRCRegClassID,
24904 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24905 MVT::i32, 2, 1, 2,
24906 21,
24907 OPC_CheckChild0Integer, 12|128,30|128,1,
24908 OPC_RecordChild1,
24909 OPC_CheckPatternPredicate2,
24910 OPC_EmitNode1None, TARGET_VAL(PPC::XVTSQRTSP),
24911 MVT::i32, 1, 0,
24912 OPC_EmitStringInteger32, PPC::GPRCRegClassID,
24913 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24914 MVT::i32, 2, 1, 2,
24915 22,
24916 OPC_CheckChild0Integer, 48|128,26|128,1,
24917 OPC_RecordChild1,
24918 OPC_CheckPatternPredicate, 11,
24919 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
24920 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24921 MVT::f64, 2, 0, 1,
24922 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSXSIGDP),
24923 MVT::i64, 1, 2,
24924 31,
24925 OPC_CheckChild0Integer, 46|128,26|128,1,
24926 OPC_RecordChild1,
24927 OPC_CheckPatternPredicate, 11,
24928 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
24929 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24930 MVT::f64, 2, 0, 1,
24931 OPC_EmitNode1None, TARGET_VAL(PPC::XSXEXPDP),
24932 MVT::i64, 1, 2,
24933 OPC_EmitStringInteger32, PPC::sub_32,
24934 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24935 MVT::i32, 2, 3, 4,
24936 27,
24937 OPC_CheckChild0Integer, 60|128,28|128,1,
24938 OPC_RecordChild1,
24939 OPC_CheckPatternPredicate7,
24940 OPC_EmitNode1None, TARGET_VAL(PPC::XSXEXPQP),
24941 MVT::v2i64, 1, 0,
24942 OPC_EmitStringInteger32, PPC::sub_64,
24943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24944 MVT::f64, 2, 1, 2,
24945 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
24946 MVT::i64, 1, 3,
24947 63,
24948 OPC_CheckChild0Integer, 8|128,30|128,1,
24949 OPC_RecordChild1,
24950 OPC_Scope, 27,
24951 OPC_CheckChild2Integer, 2,
24952 OPC_CheckPatternPredicate4,
24953 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24955 MVT::v4i32, 2, 0, 1,
24956 OPC_EmitNode1None, TARGET_VAL(PPC::XVTLSBB),
24957 MVT::i32, 1, 2,
24958 OPC_EmitStringInteger32, PPC::sub_lt,
24959 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24960 MVT::i32, 2, 3, 4,
24961 27,
24962 OPC_CheckChild2Integer, 0,
24963 OPC_CheckPatternPredicate4,
24964 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
24965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
24966 MVT::v4i32, 2, 0, 1,
24967 OPC_EmitNode1None, TARGET_VAL(PPC::XVTLSBB),
24968 MVT::i32, 1, 2,
24969 OPC_EmitStringInteger32, PPC::sub_eq,
24970 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24971 MVT::i32, 2, 3, 4,
24972 0,
24973 19,
24974 OPC_CheckChild0Integer, 72|128,22|128,1,
24975 OPC_RecordChild1,
24976 OPC_RecordChild2,
24977 OPC_MoveChild2,
24978 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24979 OPC_MoveParent,
24980 OPC_CheckPatternPredicate4,
24981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBB),
24982 MVT::i64, 2, 0, 1,
24983 19,
24984 OPC_CheckChild0Integer, 76|128,22|128,1,
24985 OPC_RecordChild1,
24986 OPC_RecordChild2,
24987 OPC_MoveChild2,
24988 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24989 OPC_MoveParent,
24990 OPC_CheckPatternPredicate4,
24991 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBH),
24992 MVT::i64, 2, 0, 1,
24993 19,
24994 OPC_CheckChild0Integer, 78|128,22|128,1,
24995 OPC_RecordChild1,
24996 OPC_RecordChild2,
24997 OPC_MoveChild2,
24998 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24999 OPC_MoveParent,
25000 OPC_CheckPatternPredicate4,
25001 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBW),
25002 MVT::i64, 2, 0, 1,
25003 19,
25004 OPC_CheckChild0Integer, 74|128,22|128,1,
25005 OPC_RecordChild1,
25006 OPC_RecordChild2,
25007 OPC_MoveChild2,
25008 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25009 OPC_MoveParent,
25010 OPC_CheckPatternPredicate4,
25011 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCNTMBD),
25012 MVT::i64, 2, 0, 1,
25013 19,
25014 OPC_CheckChild0Integer, 24|128,23|128,1,
25015 OPC_RecordChild1,
25016 OPC_RecordChild2,
25017 OPC_MoveChild2,
25018 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25019 OPC_MoveParent,
25020 OPC_CheckPatternPredicate4,
25021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VGNB),
25022 MVT::i64, 2, 0, 1,
25023 25,
25024 OPC_CheckChild0Integer, 50|128,28|128,1,
25025 OPC_RecordChild1,
25026 OPC_SwitchType , 7, MVT::i32,
25027 OPC_CheckChild1TypeI32,
25028 OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTB),
25029 MVT::i32, 1, 0,
25030 7, MVT::i64,
25031 OPC_CheckChild1TypeI64,
25032 OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTB8),
25033 MVT::i64, 1, 0,
25034 0,
25035 15,
25036 OPC_CheckChild0Integer, 40|128,26|128,1,
25037 OPC_RecordChild1,
25038 OPC_RecordChild2,
25039 OPC_CheckPatternPredicate, 58,
25040 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVWE),
25041 MVT::i32, 2, 0, 1,
25042 15,
25043 OPC_CheckChild0Integer, 42|128,26|128,1,
25044 OPC_RecordChild1,
25045 OPC_RecordChild2,
25046 OPC_CheckPatternPredicate, 58,
25047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVWEU),
25048 MVT::i32, 2, 0, 1,
25049 13,
25050 OPC_CheckChild0Integer, 98|128,21|128,1,
25051 OPC_RecordChild1,
25052 OPC_CheckPatternPredicate, 18,
25053 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZLSBB),
25054 MVT::i32, 1, 0,
25055 13,
25056 OPC_CheckChild0Integer, 86|128,22|128,1,
25057 OPC_RecordChild1,
25058 OPC_CheckPatternPredicate, 18,
25059 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZLSBB),
25060 MVT::i32, 1, 0,
25061 15,
25062 OPC_CheckChild0Integer, 94|128,25|128,1,
25063 OPC_RecordChild1,
25064 OPC_RecordChild2,
25065 OPC_CheckPatternPredicate, 72,
25066 OPC_MorphNodeTo1None, TARGET_VAL(PPC::BPERMD),
25067 MVT::i64, 2, 0, 1,
25068 15,
25069 OPC_CheckChild0Integer, 34|128,26|128,1,
25070 OPC_RecordChild1,
25071 OPC_RecordChild2,
25072 OPC_CheckPatternPredicate, 58,
25073 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVDE),
25074 MVT::i64, 2, 0, 1,
25075 15,
25076 OPC_CheckChild0Integer, 36|128,26|128,1,
25077 OPC_RecordChild1,
25078 OPC_RecordChild2,
25079 OPC_CheckPatternPredicate, 58,
25080 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVDEU),
25081 MVT::i64, 2, 0, 1,
25082 17,
25083 OPC_CheckChild0Integer, 126|128,26|128,1,
25084 OPC_RecordChild1,
25085 OPC_RecordChild2,
25086 OPC_RecordChild3,
25087 OPC_CheckPatternPredicate, 52,
25088 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDHD),
25089 MVT::i64, 3, 0, 1, 2,
25090 17,
25091 OPC_CheckChild0Integer, 0|128,27|128,1,
25092 OPC_RecordChild1,
25093 OPC_RecordChild2,
25094 OPC_RecordChild3,
25095 OPC_CheckPatternPredicate, 52,
25096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDHDU),
25097 MVT::i64, 3, 0, 1, 2,
25098 17,
25099 OPC_CheckChild0Integer, 2|128,27|128,1,
25100 OPC_RecordChild1,
25101 OPC_RecordChild2,
25102 OPC_RecordChild3,
25103 OPC_CheckPatternPredicate, 52,
25104 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD8),
25105 MVT::i64, 3, 0, 1, 2,
25106 15,
25107 OPC_CheckChild0Integer, 36|128,28|128,1,
25108 OPC_RecordChild1,
25109 OPC_RecordChild2,
25110 OPC_CheckPatternPredicate, 35,
25111 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHD),
25112 MVT::i64, 2, 0, 1,
25113 15,
25114 OPC_CheckChild0Integer, 38|128,28|128,1,
25115 OPC_RecordChild1,
25116 OPC_RecordChild2,
25117 OPC_CheckPatternPredicate, 35,
25118 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHDU),
25119 MVT::i64, 2, 0, 1,
25120 31,
25121 OPC_CheckChild0Integer, 100|128,25|128,1,
25122 OPC_RecordChild1,
25123 OPC_SwitchType , 10, MVT::i64,
25124 OPC_CheckChild1TypeI64,
25125 OPC_RecordChild2,
25126 OPC_CheckChild2TypeI64,
25127 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB8),
25128 MVT::i64, 2, 0, 1,
25129 10, MVT::i32,
25130 OPC_CheckChild1TypeI32,
25131 OPC_RecordChild2,
25132 OPC_CheckChild2TypeI32,
25133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB),
25134 MVT::i32, 2, 0, 1,
25135 0,
25136 12,
25137 OPC_CheckChild0Integer, 0|128,23|128,1,
25138 OPC_RecordChild1,
25139 OPC_CheckPatternPredicate4,
25140 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTBM),
25141 MVT::i32, 1, 0,
25142 12,
25143 OPC_CheckChild0Integer, 4|128,23|128,1,
25144 OPC_RecordChild1,
25145 OPC_CheckPatternPredicate4,
25146 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTHM),
25147 MVT::i32, 1, 0,
25148 12,
25149 OPC_CheckChild0Integer, 8|128,23|128,1,
25150 OPC_RecordChild1,
25151 OPC_CheckPatternPredicate4,
25152 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTWM),
25153 MVT::i32, 1, 0,
25154 12,
25155 OPC_CheckChild0Integer, 2|128,23|128,1,
25156 OPC_RecordChild1,
25157 OPC_CheckPatternPredicate4,
25158 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTDM),
25159 MVT::i32, 1, 0,
25160 12,
25161 OPC_CheckChild0Integer, 6|128,23|128,1,
25162 OPC_RecordChild1,
25163 OPC_CheckPatternPredicate4,
25164 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTRACTQM),
25165 MVT::i32, 1, 0,
25166 14,
25167 OPC_CheckChild0Integer, 46|128,28|128,1,
25168 OPC_RecordChild1,
25169 OPC_RecordChild2,
25170 OPC_CheckPatternPredicate4,
25171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PDEPD),
25172 MVT::i64, 2, 0, 1,
25173 14,
25174 OPC_CheckChild0Integer, 48|128,28|128,1,
25175 OPC_RecordChild1,
25176 OPC_RecordChild2,
25177 OPC_CheckPatternPredicate4,
25178 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PEXTD),
25179 MVT::i64, 2, 0, 1,
25180 14,
25181 OPC_CheckChild0Integer, 98|128,25|128,1,
25182 OPC_RecordChild1,
25183 OPC_RecordChild2,
25184 OPC_CheckPatternPredicate4,
25185 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CFUGED),
25186 MVT::i64, 2, 0, 1,
25187 14,
25188 OPC_CheckChild0Integer, 108|128,25|128,1,
25189 OPC_RecordChild1,
25190 OPC_RecordChild2,
25191 OPC_CheckPatternPredicate4,
25192 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTLZDM),
25193 MVT::i64, 2, 0, 1,
25194 14,
25195 OPC_CheckChild0Integer, 110|128,25|128,1,
25196 OPC_RecordChild1,
25197 OPC_RecordChild2,
25198 OPC_CheckPatternPredicate4,
25199 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTTZDM),
25200 MVT::i64, 2, 0, 1,
25201 13,
25202 OPC_CheckChild0Integer, 40|128,28|128,1,
25203 OPC_RecordChild1,
25204 OPC_RecordChild2,
25205 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHW),
25206 MVT::i32, 2, 0, 1,
25207 13,
25208 OPC_CheckChild0Integer, 42|128,28|128,1,
25209 OPC_RecordChild1,
25210 OPC_RecordChild2,
25211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHWU),
25212 MVT::i32, 2, 0, 1,
25213 9,
25214 OPC_CheckChild0Integer, 12|128,27|128,1,
25215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFMSR),
25216 MVT::i32, 0,
25217 13,
25218 OPC_CheckChild0Integer, 16|128,27|128,1,
25219 OPC_EmitInteger32, 26|128,4,
25220 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFTB),
25221 MVT::i32, 1, 0,
25222 21,
25223 OPC_CheckChild0Integer, 102|128,25|128,1,
25224 OPC_RecordChild1,
25225 OPC_RecordChild2,
25226 OPC_CheckPatternPredicate, 52,
25227 OPC_EmitNode1None, TARGET_VAL(PPC::CMPEQB),
25228 MVT::i32, 2, 0, 1,
25229 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB8),
25230 MVT::i64, 1, 2,
25231 21,
25232 OPC_CheckChild0Integer, 72|128,28|128,1,
25233 OPC_RecordChild1,
25234 OPC_RecordChild2,
25235 OPC_CheckPatternPredicate, 52,
25236 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
25237 MVT::i32, 2, 0, 1,
25238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB8),
25239 MVT::i64, 1, 2,
25240 23,
25241 OPC_CheckChild0Integer, 104|128,25|128,1,
25242 OPC_RecordChild1,
25243 OPC_RecordChild2,
25244 OPC_RecordChild3,
25245 OPC_CheckPatternPredicate, 31,
25246 OPC_EmitNode1None, TARGET_VAL(PPC::CMPRB),
25247 MVT::i32, 3, 0, 1, 2,
25248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SETB),
25249 MVT::i32, 1, 3,
25250 35,
25251 OPC_CheckChild0Integer, 70|128,26|128,1,
25252 OPC_RecordChild1,
25253 OPC_RecordChild2,
25254 OPC_Scope, 15,
25255 OPC_MoveChild3,
25256 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
25257 OPC_RecordChild0,
25258 OPC_MoveParent,
25259 OPC_CheckPatternPredicate7,
25260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQPO),
25261 MVT::f128, 3, 2, 0, 1,
25262 10,
25263 OPC_RecordChild3,
25264 OPC_CheckPatternPredicate7,
25265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDQPO),
25266 MVT::f128, 3, 2, 0, 1,
25267 0,
25268 14,
25269 OPC_CheckChild0Integer, 48|128,29|128,1,
25270 OPC_RecordChild1,
25271 OPC_RecordChild2,
25272 OPC_CheckPatternPredicate2,
25273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
25274 MVT::f64, 2, 0, 1,
25275 14,
25276 OPC_CheckChild0Integer, 50|128,29|128,1,
25277 OPC_RecordChild1,
25278 OPC_RecordChild2,
25279 OPC_CheckPatternPredicate2,
25280 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
25281 MVT::f64, 2, 0, 1,
25282 14,
25283 OPC_CheckChild0Integer, 94|128,20|128,1,
25284 OPC_RecordChild1,
25285 OPC_RecordChild2,
25286 OPC_CheckPatternPredicate7,
25287 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDQPO),
25288 MVT::f128, 2, 0, 1,
25289 14,
25290 OPC_CheckChild0Integer, 34|128,28|128,1,
25291 OPC_RecordChild1,
25292 OPC_RecordChild2,
25293 OPC_CheckPatternPredicate7,
25294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULQPO),
25295 MVT::f128, 2, 0, 1,
25296 14,
25297 OPC_CheckChild0Integer, 96|128,28|128,1,
25298 OPC_RecordChild1,
25299 OPC_RecordChild2,
25300 OPC_CheckPatternPredicate7,
25301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBQPO),
25302 MVT::f128, 2, 0, 1,
25303 14,
25304 OPC_CheckChild0Integer, 38|128,26|128,1,
25305 OPC_RecordChild1,
25306 OPC_RecordChild2,
25307 OPC_CheckPatternPredicate7,
25308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVQPO),
25309 MVT::f128, 2, 0, 1,
25310 12,
25311 OPC_CheckChild0Integer, 78|128,28|128,1,
25312 OPC_RecordChild1,
25313 OPC_CheckPatternPredicate7,
25314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTQPO),
25315 MVT::f128, 1, 0,
25316 12,
25317 OPC_CheckChild0Integer, 4|128,29|128,1,
25318 OPC_RecordChild1,
25319 OPC_CheckPatternPredicate7,
25320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPDPO),
25321 MVT::f64, 1, 0,
25322 28,
25323 OPC_CheckChild0Integer, 72|128,26|128,1,
25324 OPC_RecordChild1,
25325 OPC_RecordChild2,
25326 OPC_RecordChild3,
25327 OPC_Scope, 9,
25328 OPC_CheckPatternPredicate2,
25329 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBMDP),
25330 MVT::f64, 3, 0, 1, 2,
25331 8,
25332 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
25333 MVT::f64, 3, 0, 1, 2,
25334 0,
25335 28,
25336 OPC_CheckChild0Integer, 80|128,26|128,1,
25337 OPC_RecordChild1,
25338 OPC_RecordChild2,
25339 OPC_RecordChild3,
25340 OPC_Scope, 9,
25341 OPC_CheckPatternPredicate2,
25342 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDMDP),
25343 MVT::f64, 3, 0, 1, 2,
25344 8,
25345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
25346 MVT::f64, 3, 0, 1, 2,
25347 0,
25348 22,
25349 OPC_CheckChild0Integer, 86|128,26|128,1,
25350 OPC_RecordChild1,
25351 OPC_Scope, 7,
25352 OPC_CheckPatternPredicate2,
25353 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSREDP),
25354 MVT::f64, 1, 0,
25355 6,
25356 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRE),
25357 MVT::f64, 1, 0,
25358 0,
25359 22,
25360 OPC_CheckChild0Integer, 90|128,26|128,1,
25361 OPC_RecordChild1,
25362 OPC_Scope, 7,
25363 OPC_CheckPatternPredicate2,
25364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTEDP),
25365 MVT::f64, 1, 0,
25366 6,
25367 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTE),
25368 MVT::f64, 1, 0,
25369 0,
25370 22,
25371 OPC_CheckChild0Integer, 76|128,26|128,1,
25372 OPC_RecordChild1,
25373 OPC_Scope, 7,
25374 OPC_CheckPatternPredicate2,
25375 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDP),
25376 MVT::f64, 1, 0,
25377 6,
25378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSD),
25379 MVT::f64, 1, 0,
25380 0,
25381 22,
25382 OPC_CheckChild0Integer, 78|128,26|128,1,
25383 OPC_RecordChild1,
25384 OPC_Scope, 7,
25385 OPC_CheckPatternPredicate2,
25386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDPs),
25387 MVT::f32, 1, 0,
25388 6,
25389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSS),
25390 MVT::f32, 1, 0,
25391 0,
25392 29,
25393 OPC_CheckChild0Integer, 74|128,26|128,1,
25394 OPC_RecordChild1,
25395 OPC_RecordChild2,
25396 OPC_RecordChild3,
25397 OPC_Scope, 10,
25398 OPC_CheckPatternPredicate, 11,
25399 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBMSP),
25400 MVT::f32, 3, 0, 1, 2,
25401 8,
25402 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
25403 MVT::f32, 3, 0, 1, 2,
25404 0,
25405 29,
25406 OPC_CheckChild0Integer, 82|128,26|128,1,
25407 OPC_RecordChild1,
25408 OPC_RecordChild2,
25409 OPC_RecordChild3,
25410 OPC_Scope, 10,
25411 OPC_CheckPatternPredicate, 11,
25412 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDMSP),
25413 MVT::f32, 3, 0, 1, 2,
25414 8,
25415 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
25416 MVT::f32, 3, 0, 1, 2,
25417 0,
25418 23,
25419 OPC_CheckChild0Integer, 88|128,26|128,1,
25420 OPC_RecordChild1,
25421 OPC_Scope, 8,
25422 OPC_CheckPatternPredicate, 11,
25423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRESP),
25424 MVT::f32, 1, 0,
25425 6,
25426 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRES),
25427 MVT::f32, 1, 0,
25428 0,
25429 23,
25430 OPC_CheckChild0Integer, 92|128,26|128,1,
25431 OPC_RecordChild1,
25432 OPC_Scope, 8,
25433 OPC_CheckPatternPredicate, 11,
25434 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTESP),
25435 MVT::f32, 1, 0,
25436 6,
25437 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTES),
25438 MVT::f32, 1, 0,
25439 0,
25440 20,
25441 OPC_CheckChild0Integer, 62|128,28|128,1,
25442 OPC_RecordChild1,
25443 OPC_RecordChild2,
25444 OPC_CheckPatternPredicate7,
25445 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
25446 MVT::f64, 1, 1,
25447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSIEXPQP),
25448 MVT::f128, 2, 0, 2,
25449 33,
25450 OPC_CheckChild0Integer, 108|128,26|128,1,
25451 OPC_RecordChild1,
25452 OPC_RecordChild2,
25453 OPC_CheckPatternPredicate, 11,
25454 OPC_EmitStringInteger32, PPC::G8RCRegClassID,
25455 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25456 MVT::i64, 2, 0, 2,
25457 OPC_EmitNode1None, TARGET_VAL(PPC::XSIEXPDP),
25458 MVT::v4i32, 2, 3, 1,
25459 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
25460 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25461 MVT::f64, 2, 4, 5,
25462 15,
25463 OPC_CheckChild0Integer, 94|128,26|128,1,
25464 OPC_RecordChild1,
25465 OPC_RecordChild2,
25466 OPC_RecordChild3,
25467 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELD),
25468 MVT::f64, 3, 0, 1, 2,
25469 11,
25470 OPC_CheckChild0Integer, 50|128,26|128,1,
25471 OPC_RecordChild1,
25472 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
25473 MVT::f64, 1, 0,
25474 11,
25475 OPC_CheckChild0Integer, 52|128,26|128,1,
25476 OPC_RecordChild1,
25477 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
25478 MVT::f64, 1, 0,
25479 11,
25480 OPC_CheckChild0Integer, 54|128,26|128,1,
25481 OPC_RecordChild1,
25482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTID),
25483 MVT::f64, 1, 0,
25484 11,
25485 OPC_CheckChild0Integer, 56|128,26|128,1,
25486 OPC_RecordChild1,
25487 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDS),
25488 MVT::f64, 1, 0,
25489 11,
25490 OPC_CheckChild0Integer, 58|128,26|128,1,
25491 OPC_RecordChild1,
25492 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIW),
25493 MVT::f64, 1, 0,
25494 11,
25495 OPC_CheckChild0Integer, 60|128,26|128,1,
25496 OPC_RecordChild1,
25497 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWS),
25498 MVT::f64, 1, 0,
25499 11,
25500 OPC_CheckChild0Integer, 62|128,26|128,1,
25501 OPC_RecordChild1,
25502 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDS),
25503 MVT::f64, 1, 0,
25504 11,
25505 OPC_CheckChild0Integer, 64|128,26|128,1,
25506 OPC_RecordChild1,
25507 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWS),
25508 MVT::f64, 1, 0,
25509 19,
25510 OPC_CheckChild0Integer, 16|128,30|128,1,
25511 OPC_RecordChild1,
25512 OPC_RecordChild2,
25513 OPC_MoveChild2,
25514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25515 OPC_MoveParent,
25516 OPC_CheckPatternPredicate7,
25517 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSTDCSP),
25518 MVT::v4i32, 2, 1, 0,
25519 19,
25520 OPC_CheckChild0Integer, 14|128,30|128,1,
25521 OPC_RecordChild1,
25522 OPC_RecordChild2,
25523 OPC_MoveChild2,
25524 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25525 OPC_MoveParent,
25526 OPC_CheckPatternPredicate7,
25527 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSTDCDP),
25528 MVT::v2i64, 2, 1, 0,
25529 22,
25530 OPC_CheckChild0Integer, 46|128,30|128,1,
25531 OPC_RecordChild1,
25532 OPC_RecordChild2,
25533 OPC_RecordChild3,
25534 OPC_MoveChild3,
25535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25536 OPC_MoveParent,
25537 OPC_CheckPatternPredicate7,
25538 OPC_EmitConvertToTarget2,
25539 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
25540 MVT::v4i32, 3, 0, 1, 3,
25541 29,
25542 OPC_CheckChild0Integer, 36|128,30|128,1,
25543 OPC_RecordChild1,
25544 OPC_RecordChild2,
25545 OPC_MoveChild2,
25546 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25547 OPC_MoveParent,
25548 OPC_CheckPatternPredicate7,
25549 OPC_EmitConvertToTarget1,
25550 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
25551 MVT::f64, 2, 0, 2,
25552 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25553 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25554 MVT::v2i64, 2, 3, 4,
25555 14,
25556 OPC_CheckChild0Integer, 52|128,29|128,1,
25557 OPC_RecordChild1,
25558 OPC_RecordChild2,
25559 OPC_CheckPatternPredicate2,
25560 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPEQDP),
25561 MVT::v2i64, 2, 0, 1,
25562 14,
25563 OPC_CheckChild0Integer, 56|128,29|128,1,
25564 OPC_RecordChild1,
25565 OPC_RecordChild2,
25566 OPC_CheckPatternPredicate2,
25567 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPEQSP),
25568 MVT::v4i32, 2, 0, 1,
25569 14,
25570 OPC_CheckChild0Integer, 60|128,29|128,1,
25571 OPC_RecordChild1,
25572 OPC_RecordChild2,
25573 OPC_CheckPatternPredicate2,
25574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGEDP),
25575 MVT::v2i64, 2, 0, 1,
25576 14,
25577 OPC_CheckChild0Integer, 64|128,29|128,1,
25578 OPC_RecordChild1,
25579 OPC_RecordChild2,
25580 OPC_CheckPatternPredicate2,
25581 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGESP),
25582 MVT::v4i32, 2, 0, 1,
25583 14,
25584 OPC_CheckChild0Integer, 68|128,29|128,1,
25585 OPC_RecordChild1,
25586 OPC_RecordChild2,
25587 OPC_CheckPatternPredicate2,
25588 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGTDP),
25589 MVT::v2i64, 2, 0, 1,
25590 14,
25591 OPC_CheckChild0Integer, 72|128,29|128,1,
25592 OPC_RecordChild1,
25593 OPC_RecordChild2,
25594 OPC_CheckPatternPredicate2,
25595 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCMPGTSP),
25596 MVT::v4i32, 2, 0, 1,
25597 12,
25598 OPC_CheckChild0Integer, 80|128,29|128,1,
25599 OPC_RecordChild1,
25600 OPC_CheckPatternPredicate2,
25601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSXWS),
25602 MVT::v4i32, 1, 0,
25603 12,
25604 OPC_CheckChild0Integer, 82|128,29|128,1,
25605 OPC_RecordChild1,
25606 OPC_CheckPatternPredicate2,
25607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPUXWS),
25608 MVT::v4i32, 1, 0,
25609 12,
25610 OPC_CheckChild0Integer, 92|128,29|128,1,
25611 OPC_RecordChild1,
25612 OPC_CheckPatternPredicate2,
25613 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
25614 MVT::v2i64, 1, 0,
25615 12,
25616 OPC_CheckChild0Integer, 94|128,29|128,1,
25617 OPC_RecordChild1,
25618 OPC_CheckPatternPredicate2,
25619 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
25620 MVT::v2i64, 1, 0,
25621 12,
25622 OPC_CheckChild0Integer, 18|128,30|128,1,
25623 OPC_RecordChild1,
25624 OPC_CheckPatternPredicate7,
25625 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXEXPDP),
25626 MVT::v2i64, 1, 0,
25627 12,
25628 OPC_CheckChild0Integer, 20|128,30|128,1,
25629 OPC_RecordChild1,
25630 OPC_CheckPatternPredicate7,
25631 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXEXPSP),
25632 MVT::v4i32, 1, 0,
25633 12,
25634 OPC_CheckChild0Integer, 22|128,30|128,1,
25635 OPC_RecordChild1,
25636 OPC_CheckPatternPredicate7,
25637 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXSIGDP),
25638 MVT::v2i64, 1, 0,
25639 12,
25640 OPC_CheckChild0Integer, 24|128,30|128,1,
25641 OPC_RecordChild1,
25642 OPC_CheckPatternPredicate7,
25643 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVXSIGSP),
25644 MVT::v4i32, 1, 0,
25645 15,
25646 OPC_CheckChild0Integer, 48|128,30|128,1,
25647 OPC_RecordChild1,
25648 OPC_RecordChild2,
25649 OPC_CheckPatternPredicate, 11,
25650 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQV),
25651 MVT::v4i32, 2, 0, 1,
25652 96,
25653 OPC_CheckChild0Integer, 76|128,27|128,1,
25654 OPC_RecordChild1,
25655 OPC_RecordChild2,
25656 OPC_RecordChild3,
25657 OPC_MoveChild3,
25658 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25659 OPC_CheckPredicate3,
25660 OPC_MoveSibling4,
25661 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25662 OPC_RecordNode,
25663 OPC_CheckPredicate3,
25664 OPC_MoveSibling5,
25665 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25666 OPC_RecordNode,
25667 OPC_CheckPredicate, 29,
25668 OPC_MoveParent,
25669 OPC_Scope, 33,
25670 OPC_CheckPatternPredicate, 26,
25671 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25673 MVT::v4i32, 2, 0, 5,
25674 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25675 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25676 MVT::v4i32, 2, 1, 7,
25677 OPC_EmitConvertToTarget2,
25678 OPC_EmitConvertToTarget3,
25679 OPC_EmitConvertToTarget4,
25680 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8),
25681 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25682 33,
25683 OPC_CheckPatternPredicate, 27,
25684 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25685 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25686 MVT::v4i32, 2, 0, 5,
25687 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25688 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25689 MVT::v4i32, 2, 1, 7,
25690 OPC_EmitConvertToTarget2,
25691 OPC_EmitConvertToTarget3,
25692 OPC_EmitConvertToTarget4,
25693 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8W),
25694 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25695 0,
25696 99,
25697 OPC_CheckChild0Integer, 78|128,27|128,1,
25698 OPC_RecordChild1,
25699 OPC_RecordChild2,
25700 OPC_RecordChild3,
25701 OPC_RecordChild4,
25702 OPC_MoveChild4,
25703 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25704 OPC_CheckPredicate3,
25705 OPC_MoveSibling5,
25706 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25707 OPC_RecordNode,
25708 OPC_CheckPredicate3,
25709 OPC_MoveSibling6,
25710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25711 OPC_RecordNode,
25712 OPC_CheckPredicate, 29,
25713 OPC_MoveParent,
25714 OPC_Scope, 34,
25715 OPC_CheckPatternPredicate, 26,
25716 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25717 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25718 MVT::v4i32, 2, 1, 6,
25719 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25720 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25721 MVT::v4i32, 2, 2, 8,
25722 OPC_EmitConvertToTarget3,
25723 OPC_EmitConvertToTarget4,
25724 OPC_EmitConvertToTarget5,
25725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8PP),
25726 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25727 34,
25728 OPC_CheckPatternPredicate, 27,
25729 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25731 MVT::v4i32, 2, 1, 6,
25732 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25733 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25734 MVT::v4i32, 2, 2, 8,
25735 OPC_EmitConvertToTarget3,
25736 OPC_EmitConvertToTarget4,
25737 OPC_EmitConvertToTarget5,
25738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI4GER8WPP),
25739 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25740 0,
25741 95,
25742 OPC_CheckChild0Integer, 80|128,27|128,1,
25743 OPC_RecordChild1,
25744 OPC_RecordChild2,
25745 OPC_RecordChild3,
25746 OPC_MoveChild3,
25747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25748 OPC_CheckPredicate3,
25749 OPC_MoveSibling4,
25750 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25751 OPC_RecordNode,
25752 OPC_CheckPredicate3,
25753 OPC_MoveSibling5,
25754 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25755 OPC_RecordNode,
25756 OPC_CheckPredicate3,
25757 OPC_MoveParent,
25758 OPC_Scope, 33,
25759 OPC_CheckPatternPredicate, 26,
25760 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25761 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25762 MVT::v4i32, 2, 0, 5,
25763 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25765 MVT::v4i32, 2, 1, 7,
25766 OPC_EmitConvertToTarget2,
25767 OPC_EmitConvertToTarget3,
25768 OPC_EmitConvertToTarget4,
25769 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4),
25770 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25771 33,
25772 OPC_CheckPatternPredicate, 27,
25773 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25774 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25775 MVT::v4i32, 2, 0, 5,
25776 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25777 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25778 MVT::v4i32, 2, 1, 7,
25779 OPC_EmitConvertToTarget2,
25780 OPC_EmitConvertToTarget3,
25781 OPC_EmitConvertToTarget4,
25782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4W),
25783 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25784 0,
25785 98,
25786 OPC_CheckChild0Integer, 82|128,27|128,1,
25787 OPC_RecordChild1,
25788 OPC_RecordChild2,
25789 OPC_RecordChild3,
25790 OPC_RecordChild4,
25791 OPC_MoveChild4,
25792 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25793 OPC_CheckPredicate3,
25794 OPC_MoveSibling5,
25795 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25796 OPC_RecordNode,
25797 OPC_CheckPredicate3,
25798 OPC_MoveSibling6,
25799 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25800 OPC_RecordNode,
25801 OPC_CheckPredicate3,
25802 OPC_MoveParent,
25803 OPC_Scope, 34,
25804 OPC_CheckPatternPredicate, 26,
25805 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25806 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25807 MVT::v4i32, 2, 1, 6,
25808 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25809 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25810 MVT::v4i32, 2, 2, 8,
25811 OPC_EmitConvertToTarget3,
25812 OPC_EmitConvertToTarget4,
25813 OPC_EmitConvertToTarget5,
25814 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4PP),
25815 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25816 34,
25817 OPC_CheckPatternPredicate, 27,
25818 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25819 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25820 MVT::v4i32, 2, 1, 6,
25821 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25822 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25823 MVT::v4i32, 2, 2, 8,
25824 OPC_EmitConvertToTarget3,
25825 OPC_EmitConvertToTarget4,
25826 OPC_EmitConvertToTarget5,
25827 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4WPP),
25828 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25829 0,
25830 96,
25831 OPC_CheckChild0Integer, 72|128,27|128,1,
25832 OPC_RecordChild1,
25833 OPC_RecordChild2,
25834 OPC_RecordChild3,
25835 OPC_MoveChild3,
25836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25837 OPC_CheckPredicate3,
25838 OPC_MoveSibling4,
25839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25840 OPC_RecordNode,
25841 OPC_CheckPredicate3,
25842 OPC_MoveSibling5,
25843 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25844 OPC_RecordNode,
25845 OPC_CheckPredicate, 15,
25846 OPC_MoveParent,
25847 OPC_Scope, 33,
25848 OPC_CheckPatternPredicate, 26,
25849 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25850 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25851 MVT::v4i32, 2, 0, 5,
25852 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25853 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25854 MVT::v4i32, 2, 1, 7,
25855 OPC_EmitConvertToTarget2,
25856 OPC_EmitConvertToTarget3,
25857 OPC_EmitConvertToTarget4,
25858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2S),
25859 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25860 33,
25861 OPC_CheckPatternPredicate, 27,
25862 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25864 MVT::v4i32, 2, 0, 5,
25865 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25867 MVT::v4i32, 2, 1, 7,
25868 OPC_EmitConvertToTarget2,
25869 OPC_EmitConvertToTarget3,
25870 OPC_EmitConvertToTarget4,
25871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SW),
25872 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25873 0,
25874 99,
25875 OPC_CheckChild0Integer, 74|128,27|128,1,
25876 OPC_RecordChild1,
25877 OPC_RecordChild2,
25878 OPC_RecordChild3,
25879 OPC_RecordChild4,
25880 OPC_MoveChild4,
25881 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25882 OPC_CheckPredicate3,
25883 OPC_MoveSibling5,
25884 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25885 OPC_RecordNode,
25886 OPC_CheckPredicate3,
25887 OPC_MoveSibling6,
25888 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25889 OPC_RecordNode,
25890 OPC_CheckPredicate, 15,
25891 OPC_MoveParent,
25892 OPC_Scope, 34,
25893 OPC_CheckPatternPredicate, 26,
25894 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25896 MVT::v4i32, 2, 1, 6,
25897 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25898 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25899 MVT::v4i32, 2, 2, 8,
25900 OPC_EmitConvertToTarget3,
25901 OPC_EmitConvertToTarget4,
25902 OPC_EmitConvertToTarget5,
25903 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SPP),
25904 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25905 34,
25906 OPC_CheckPatternPredicate, 27,
25907 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25908 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25909 MVT::v4i32, 2, 1, 6,
25910 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25912 MVT::v4i32, 2, 2, 8,
25913 OPC_EmitConvertToTarget3,
25914 OPC_EmitConvertToTarget4,
25915 OPC_EmitConvertToTarget5,
25916 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2SWPP),
25917 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25918 0,
25919 96,
25920 OPC_CheckChild0Integer, 38|128,27|128,1,
25921 OPC_RecordChild1,
25922 OPC_RecordChild2,
25923 OPC_RecordChild3,
25924 OPC_MoveChild3,
25925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25926 OPC_CheckPredicate3,
25927 OPC_MoveSibling4,
25928 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25929 OPC_RecordNode,
25930 OPC_CheckPredicate3,
25931 OPC_MoveSibling5,
25932 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25933 OPC_RecordNode,
25934 OPC_CheckPredicate, 15,
25935 OPC_MoveParent,
25936 OPC_Scope, 33,
25937 OPC_CheckPatternPredicate, 26,
25938 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25939 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25940 MVT::v4i32, 2, 0, 5,
25941 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25943 MVT::v4i32, 2, 1, 7,
25944 OPC_EmitConvertToTarget2,
25945 OPC_EmitConvertToTarget3,
25946 OPC_EmitConvertToTarget4,
25947 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2),
25948 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25949 33,
25950 OPC_CheckPatternPredicate, 27,
25951 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25952 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25953 MVT::v4i32, 2, 0, 5,
25954 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25955 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25956 MVT::v4i32, 2, 1, 7,
25957 OPC_EmitConvertToTarget2,
25958 OPC_EmitConvertToTarget3,
25959 OPC_EmitConvertToTarget4,
25960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2W),
25961 MVT::v512i1, 5, 6, 8, 9, 10, 11,
25962 0,
25963 99,
25964 OPC_CheckChild0Integer, 46|128,27|128,1,
25965 OPC_RecordChild1,
25966 OPC_RecordChild2,
25967 OPC_RecordChild3,
25968 OPC_RecordChild4,
25969 OPC_MoveChild4,
25970 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25971 OPC_CheckPredicate3,
25972 OPC_MoveSibling5,
25973 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25974 OPC_RecordNode,
25975 OPC_CheckPredicate3,
25976 OPC_MoveSibling6,
25977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25978 OPC_RecordNode,
25979 OPC_CheckPredicate, 15,
25980 OPC_MoveParent,
25981 OPC_Scope, 34,
25982 OPC_CheckPatternPredicate, 26,
25983 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25985 MVT::v4i32, 2, 1, 6,
25986 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25987 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25988 MVT::v4i32, 2, 2, 8,
25989 OPC_EmitConvertToTarget3,
25990 OPC_EmitConvertToTarget4,
25991 OPC_EmitConvertToTarget5,
25992 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2PP),
25993 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
25994 34,
25995 OPC_CheckPatternPredicate, 27,
25996 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
25997 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
25998 MVT::v4i32, 2, 1, 6,
25999 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26001 MVT::v4i32, 2, 2, 8,
26002 OPC_EmitConvertToTarget3,
26003 OPC_EmitConvertToTarget4,
26004 OPC_EmitConvertToTarget5,
26005 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WPP),
26006 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26007 0,
26008 99,
26009 OPC_CheckChild0Integer, 44|128,27|128,1,
26010 OPC_RecordChild1,
26011 OPC_RecordChild2,
26012 OPC_RecordChild3,
26013 OPC_RecordChild4,
26014 OPC_MoveChild4,
26015 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26016 OPC_CheckPredicate3,
26017 OPC_MoveSibling5,
26018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26019 OPC_RecordNode,
26020 OPC_CheckPredicate3,
26021 OPC_MoveSibling6,
26022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26023 OPC_RecordNode,
26024 OPC_CheckPredicate, 15,
26025 OPC_MoveParent,
26026 OPC_Scope, 34,
26027 OPC_CheckPatternPredicate, 26,
26028 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26029 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26030 MVT::v4i32, 2, 1, 6,
26031 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26032 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26033 MVT::v4i32, 2, 2, 8,
26034 OPC_EmitConvertToTarget3,
26035 OPC_EmitConvertToTarget4,
26036 OPC_EmitConvertToTarget5,
26037 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2PN),
26038 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26039 34,
26040 OPC_CheckPatternPredicate, 27,
26041 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26042 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26043 MVT::v4i32, 2, 1, 6,
26044 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26045 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26046 MVT::v4i32, 2, 2, 8,
26047 OPC_EmitConvertToTarget3,
26048 OPC_EmitConvertToTarget4,
26049 OPC_EmitConvertToTarget5,
26050 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WPN),
26051 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26052 0,
26053 99,
26054 OPC_CheckChild0Integer, 42|128,27|128,1,
26055 OPC_RecordChild1,
26056 OPC_RecordChild2,
26057 OPC_RecordChild3,
26058 OPC_RecordChild4,
26059 OPC_MoveChild4,
26060 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26061 OPC_CheckPredicate3,
26062 OPC_MoveSibling5,
26063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26064 OPC_RecordNode,
26065 OPC_CheckPredicate3,
26066 OPC_MoveSibling6,
26067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26068 OPC_RecordNode,
26069 OPC_CheckPredicate, 15,
26070 OPC_MoveParent,
26071 OPC_Scope, 34,
26072 OPC_CheckPatternPredicate, 26,
26073 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26075 MVT::v4i32, 2, 1, 6,
26076 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26077 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26078 MVT::v4i32, 2, 2, 8,
26079 OPC_EmitConvertToTarget3,
26080 OPC_EmitConvertToTarget4,
26081 OPC_EmitConvertToTarget5,
26082 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2NP),
26083 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26084 34,
26085 OPC_CheckPatternPredicate, 27,
26086 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26087 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26088 MVT::v4i32, 2, 1, 6,
26089 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26090 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26091 MVT::v4i32, 2, 2, 8,
26092 OPC_EmitConvertToTarget3,
26093 OPC_EmitConvertToTarget4,
26094 OPC_EmitConvertToTarget5,
26095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WNP),
26096 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26097 0,
26098 99,
26099 OPC_CheckChild0Integer, 40|128,27|128,1,
26100 OPC_RecordChild1,
26101 OPC_RecordChild2,
26102 OPC_RecordChild3,
26103 OPC_RecordChild4,
26104 OPC_MoveChild4,
26105 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26106 OPC_CheckPredicate3,
26107 OPC_MoveSibling5,
26108 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26109 OPC_RecordNode,
26110 OPC_CheckPredicate3,
26111 OPC_MoveSibling6,
26112 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26113 OPC_RecordNode,
26114 OPC_CheckPredicate, 15,
26115 OPC_MoveParent,
26116 OPC_Scope, 34,
26117 OPC_CheckPatternPredicate, 26,
26118 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26119 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26120 MVT::v4i32, 2, 1, 6,
26121 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26122 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26123 MVT::v4i32, 2, 2, 8,
26124 OPC_EmitConvertToTarget3,
26125 OPC_EmitConvertToTarget4,
26126 OPC_EmitConvertToTarget5,
26127 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2NN),
26128 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26129 34,
26130 OPC_CheckPatternPredicate, 27,
26131 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26133 MVT::v4i32, 2, 1, 6,
26134 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26136 MVT::v4i32, 2, 2, 8,
26137 OPC_EmitConvertToTarget3,
26138 OPC_EmitConvertToTarget4,
26139 OPC_EmitConvertToTarget5,
26140 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF16GER2WNN),
26141 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26142 0,
26143 96,
26144 OPC_CheckChild0Integer, 28|128,27|128,1,
26145 OPC_RecordChild1,
26146 OPC_RecordChild2,
26147 OPC_RecordChild3,
26148 OPC_MoveChild3,
26149 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26150 OPC_CheckPredicate3,
26151 OPC_MoveSibling4,
26152 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26153 OPC_RecordNode,
26154 OPC_CheckPredicate3,
26155 OPC_MoveSibling5,
26156 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26157 OPC_RecordNode,
26158 OPC_CheckPredicate, 15,
26159 OPC_MoveParent,
26160 OPC_Scope, 33,
26161 OPC_CheckPatternPredicate, 26,
26162 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26163 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26164 MVT::v4i32, 2, 0, 5,
26165 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26167 MVT::v4i32, 2, 1, 7,
26168 OPC_EmitConvertToTarget2,
26169 OPC_EmitConvertToTarget3,
26170 OPC_EmitConvertToTarget4,
26171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2),
26172 MVT::v512i1, 5, 6, 8, 9, 10, 11,
26173 33,
26174 OPC_CheckPatternPredicate, 27,
26175 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26176 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26177 MVT::v4i32, 2, 0, 5,
26178 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26180 MVT::v4i32, 2, 1, 7,
26181 OPC_EmitConvertToTarget2,
26182 OPC_EmitConvertToTarget3,
26183 OPC_EmitConvertToTarget4,
26184 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2W),
26185 MVT::v512i1, 5, 6, 8, 9, 10, 11,
26186 0,
26187 99,
26188 OPC_CheckChild0Integer, 36|128,27|128,1,
26189 OPC_RecordChild1,
26190 OPC_RecordChild2,
26191 OPC_RecordChild3,
26192 OPC_RecordChild4,
26193 OPC_MoveChild4,
26194 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26195 OPC_CheckPredicate3,
26196 OPC_MoveSibling5,
26197 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26198 OPC_RecordNode,
26199 OPC_CheckPredicate3,
26200 OPC_MoveSibling6,
26201 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26202 OPC_RecordNode,
26203 OPC_CheckPredicate, 15,
26204 OPC_MoveParent,
26205 OPC_Scope, 34,
26206 OPC_CheckPatternPredicate, 26,
26207 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26208 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26209 MVT::v4i32, 2, 1, 6,
26210 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26211 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26212 MVT::v4i32, 2, 2, 8,
26213 OPC_EmitConvertToTarget3,
26214 OPC_EmitConvertToTarget4,
26215 OPC_EmitConvertToTarget5,
26216 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2PP),
26217 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26218 34,
26219 OPC_CheckPatternPredicate, 27,
26220 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26221 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26222 MVT::v4i32, 2, 1, 6,
26223 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26224 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26225 MVT::v4i32, 2, 2, 8,
26226 OPC_EmitConvertToTarget3,
26227 OPC_EmitConvertToTarget4,
26228 OPC_EmitConvertToTarget5,
26229 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WPP),
26230 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26231 0,
26232 99,
26233 OPC_CheckChild0Integer, 34|128,27|128,1,
26234 OPC_RecordChild1,
26235 OPC_RecordChild2,
26236 OPC_RecordChild3,
26237 OPC_RecordChild4,
26238 OPC_MoveChild4,
26239 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26240 OPC_CheckPredicate3,
26241 OPC_MoveSibling5,
26242 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26243 OPC_RecordNode,
26244 OPC_CheckPredicate3,
26245 OPC_MoveSibling6,
26246 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26247 OPC_RecordNode,
26248 OPC_CheckPredicate, 15,
26249 OPC_MoveParent,
26250 OPC_Scope, 34,
26251 OPC_CheckPatternPredicate, 26,
26252 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26253 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26254 MVT::v4i32, 2, 1, 6,
26255 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26256 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26257 MVT::v4i32, 2, 2, 8,
26258 OPC_EmitConvertToTarget3,
26259 OPC_EmitConvertToTarget4,
26260 OPC_EmitConvertToTarget5,
26261 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2PN),
26262 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26263 34,
26264 OPC_CheckPatternPredicate, 27,
26265 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26266 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26267 MVT::v4i32, 2, 1, 6,
26268 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26269 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26270 MVT::v4i32, 2, 2, 8,
26271 OPC_EmitConvertToTarget3,
26272 OPC_EmitConvertToTarget4,
26273 OPC_EmitConvertToTarget5,
26274 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WPN),
26275 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26276 0,
26277 99,
26278 OPC_CheckChild0Integer, 32|128,27|128,1,
26279 OPC_RecordChild1,
26280 OPC_RecordChild2,
26281 OPC_RecordChild3,
26282 OPC_RecordChild4,
26283 OPC_MoveChild4,
26284 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26285 OPC_CheckPredicate3,
26286 OPC_MoveSibling5,
26287 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26288 OPC_RecordNode,
26289 OPC_CheckPredicate3,
26290 OPC_MoveSibling6,
26291 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26292 OPC_RecordNode,
26293 OPC_CheckPredicate, 15,
26294 OPC_MoveParent,
26295 OPC_Scope, 34,
26296 OPC_CheckPatternPredicate, 26,
26297 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26298 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26299 MVT::v4i32, 2, 1, 6,
26300 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26301 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26302 MVT::v4i32, 2, 2, 8,
26303 OPC_EmitConvertToTarget3,
26304 OPC_EmitConvertToTarget4,
26305 OPC_EmitConvertToTarget5,
26306 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2NP),
26307 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26308 34,
26309 OPC_CheckPatternPredicate, 27,
26310 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26311 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26312 MVT::v4i32, 2, 1, 6,
26313 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26314 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26315 MVT::v4i32, 2, 2, 8,
26316 OPC_EmitConvertToTarget3,
26317 OPC_EmitConvertToTarget4,
26318 OPC_EmitConvertToTarget5,
26319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WNP),
26320 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26321 0,
26322 99,
26323 OPC_CheckChild0Integer, 30|128,27|128,1,
26324 OPC_RecordChild1,
26325 OPC_RecordChild2,
26326 OPC_RecordChild3,
26327 OPC_RecordChild4,
26328 OPC_MoveChild4,
26329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26330 OPC_CheckPredicate3,
26331 OPC_MoveSibling5,
26332 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26333 OPC_RecordNode,
26334 OPC_CheckPredicate3,
26335 OPC_MoveSibling6,
26336 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26337 OPC_RecordNode,
26338 OPC_CheckPredicate, 15,
26339 OPC_MoveParent,
26340 OPC_Scope, 34,
26341 OPC_CheckPatternPredicate, 26,
26342 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26343 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26344 MVT::v4i32, 2, 1, 6,
26345 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26346 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26347 MVT::v4i32, 2, 2, 8,
26348 OPC_EmitConvertToTarget3,
26349 OPC_EmitConvertToTarget4,
26350 OPC_EmitConvertToTarget5,
26351 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2NN),
26352 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26353 34,
26354 OPC_CheckPatternPredicate, 27,
26355 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26356 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26357 MVT::v4i32, 2, 1, 6,
26358 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26359 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26360 MVT::v4i32, 2, 2, 8,
26361 OPC_EmitConvertToTarget3,
26362 OPC_EmitConvertToTarget4,
26363 OPC_EmitConvertToTarget5,
26364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVBF16GER2WNN),
26365 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26366 0,
26367 96,
26368 OPC_CheckChild0Integer, 68|128,27|128,1,
26369 OPC_RecordChild1,
26370 OPC_RecordChild2,
26371 OPC_RecordChild3,
26372 OPC_MoveChild3,
26373 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26374 OPC_CheckPredicate3,
26375 OPC_MoveSibling4,
26376 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26377 OPC_RecordNode,
26378 OPC_CheckPredicate3,
26379 OPC_MoveSibling5,
26380 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26381 OPC_RecordNode,
26382 OPC_CheckPredicate, 15,
26383 OPC_MoveParent,
26384 OPC_Scope, 33,
26385 OPC_CheckPatternPredicate, 26,
26386 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26387 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26388 MVT::v4i32, 2, 0, 5,
26389 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26390 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26391 MVT::v4i32, 2, 1, 7,
26392 OPC_EmitConvertToTarget2,
26393 OPC_EmitConvertToTarget3,
26394 OPC_EmitConvertToTarget4,
26395 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2),
26396 MVT::v512i1, 5, 6, 8, 9, 10, 11,
26397 33,
26398 OPC_CheckPatternPredicate, 27,
26399 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26400 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26401 MVT::v4i32, 2, 0, 5,
26402 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26403 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26404 MVT::v4i32, 2, 1, 7,
26405 OPC_EmitConvertToTarget2,
26406 OPC_EmitConvertToTarget3,
26407 OPC_EmitConvertToTarget4,
26408 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2W),
26409 MVT::v512i1, 5, 6, 8, 9, 10, 11,
26410 0,
26411 99,
26412 OPC_CheckChild0Integer, 84|128,27|128,1,
26413 OPC_RecordChild1,
26414 OPC_RecordChild2,
26415 OPC_RecordChild3,
26416 OPC_RecordChild4,
26417 OPC_MoveChild4,
26418 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26419 OPC_CheckPredicate3,
26420 OPC_MoveSibling5,
26421 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26422 OPC_RecordNode,
26423 OPC_CheckPredicate3,
26424 OPC_MoveSibling6,
26425 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26426 OPC_RecordNode,
26427 OPC_CheckPredicate, 15,
26428 OPC_MoveParent,
26429 OPC_Scope, 34,
26430 OPC_CheckPatternPredicate, 26,
26431 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26432 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26433 MVT::v4i32, 2, 1, 6,
26434 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26435 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26436 MVT::v4i32, 2, 2, 8,
26437 OPC_EmitConvertToTarget3,
26438 OPC_EmitConvertToTarget4,
26439 OPC_EmitConvertToTarget5,
26440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4SPP),
26441 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26442 34,
26443 OPC_CheckPatternPredicate, 27,
26444 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26446 MVT::v4i32, 2, 1, 6,
26447 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26448 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26449 MVT::v4i32, 2, 2, 8,
26450 OPC_EmitConvertToTarget3,
26451 OPC_EmitConvertToTarget4,
26452 OPC_EmitConvertToTarget5,
26453 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI8GER4WSPP),
26454 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26455 0,
26456 99,
26457 OPC_CheckChild0Integer, 70|128,27|128,1,
26458 OPC_RecordChild1,
26459 OPC_RecordChild2,
26460 OPC_RecordChild3,
26461 OPC_RecordChild4,
26462 OPC_MoveChild4,
26463 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26464 OPC_CheckPredicate3,
26465 OPC_MoveSibling5,
26466 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26467 OPC_RecordNode,
26468 OPC_CheckPredicate3,
26469 OPC_MoveSibling6,
26470 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26471 OPC_RecordNode,
26472 OPC_CheckPredicate, 15,
26473 OPC_MoveParent,
26474 OPC_Scope, 34,
26475 OPC_CheckPatternPredicate, 26,
26476 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26478 MVT::v4i32, 2, 1, 6,
26479 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26481 MVT::v4i32, 2, 2, 8,
26482 OPC_EmitConvertToTarget3,
26483 OPC_EmitConvertToTarget4,
26484 OPC_EmitConvertToTarget5,
26485 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2PP),
26486 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26487 34,
26488 OPC_CheckPatternPredicate, 27,
26489 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26490 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26491 MVT::v4i32, 2, 1, 6,
26492 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26494 MVT::v4i32, 2, 2, 8,
26495 OPC_EmitConvertToTarget3,
26496 OPC_EmitConvertToTarget4,
26497 OPC_EmitConvertToTarget5,
26498 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVI16GER2WPP),
26499 MVT::v512i1, 6, 0, 7, 9, 10, 11, 12,
26500 0,
26501 15,
26502 OPC_CheckChild0Integer, 12|128,21|128,1,
26503 OPC_RecordChild1,
26504 OPC_CheckPatternPredicate3,
26505 OPC_CheckComplexPat0, /*#*/0,
26506 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LVSL),
26507 MVT::v16i8, 2, 1, 2,
26508 15,
26509 OPC_CheckChild0Integer, 14|128,21|128,1,
26510 OPC_RecordChild1,
26511 OPC_CheckPatternPredicate3,
26512 OPC_CheckComplexPat0, /*#*/0,
26513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LVSR),
26514 MVT::v16i8, 2, 1, 2,
26515 68,
26516 OPC_CheckChild0Integer, 58|128,27|128,1,
26517 OPC_RecordChild1,
26518 OPC_RecordChild2,
26519 OPC_RecordChild3,
26520 OPC_MoveChild3,
26521 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26522 OPC_CheckPredicate3,
26523 OPC_MoveSibling4,
26524 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26525 OPC_RecordNode,
26526 OPC_CheckPredicate, 15,
26527 OPC_MoveParent,
26528 OPC_Scope, 22,
26529 OPC_CheckPatternPredicate, 26,
26530 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26531 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26532 MVT::v4i32, 2, 1, 4,
26533 OPC_EmitConvertToTarget2,
26534 OPC_EmitConvertToTarget3,
26535 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GER),
26536 MVT::v512i1, 4, 0, 5, 6, 7,
26537 22,
26538 OPC_CheckPatternPredicate, 27,
26539 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26540 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26541 MVT::v4i32, 2, 1, 4,
26542 OPC_EmitConvertToTarget2,
26543 OPC_EmitConvertToTarget3,
26544 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERW),
26545 MVT::v512i1, 4, 0, 5, 6, 7,
26546 0,
26547 71,
26548 OPC_CheckChild0Integer, 66|128,27|128,1,
26549 OPC_RecordChild1,
26550 OPC_RecordChild2,
26551 OPC_RecordChild3,
26552 OPC_RecordChild4,
26553 OPC_MoveChild4,
26554 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26555 OPC_CheckPredicate3,
26556 OPC_MoveSibling5,
26557 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26558 OPC_RecordNode,
26559 OPC_CheckPredicate, 15,
26560 OPC_MoveParent,
26561 OPC_Scope, 23,
26562 OPC_CheckPatternPredicate, 26,
26563 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26565 MVT::v4i32, 2, 2, 5,
26566 OPC_EmitConvertToTarget3,
26567 OPC_EmitConvertToTarget4,
26568 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERPP),
26569 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26570 23,
26571 OPC_CheckPatternPredicate, 27,
26572 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26573 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26574 MVT::v4i32, 2, 2, 5,
26575 OPC_EmitConvertToTarget3,
26576 OPC_EmitConvertToTarget4,
26577 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWPP),
26578 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26579 0,
26580 71,
26581 OPC_CheckChild0Integer, 64|128,27|128,1,
26582 OPC_RecordChild1,
26583 OPC_RecordChild2,
26584 OPC_RecordChild3,
26585 OPC_RecordChild4,
26586 OPC_MoveChild4,
26587 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26588 OPC_CheckPredicate3,
26589 OPC_MoveSibling5,
26590 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26591 OPC_RecordNode,
26592 OPC_CheckPredicate, 15,
26593 OPC_MoveParent,
26594 OPC_Scope, 23,
26595 OPC_CheckPatternPredicate, 26,
26596 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26597 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26598 MVT::v4i32, 2, 2, 5,
26599 OPC_EmitConvertToTarget3,
26600 OPC_EmitConvertToTarget4,
26601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERPN),
26602 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26603 23,
26604 OPC_CheckPatternPredicate, 27,
26605 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26607 MVT::v4i32, 2, 2, 5,
26608 OPC_EmitConvertToTarget3,
26609 OPC_EmitConvertToTarget4,
26610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWPN),
26611 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26612 0,
26613 71,
26614 OPC_CheckChild0Integer, 62|128,27|128,1,
26615 OPC_RecordChild1,
26616 OPC_RecordChild2,
26617 OPC_RecordChild3,
26618 OPC_RecordChild4,
26619 OPC_MoveChild4,
26620 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26621 OPC_CheckPredicate3,
26622 OPC_MoveSibling5,
26623 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26624 OPC_RecordNode,
26625 OPC_CheckPredicate, 15,
26626 OPC_MoveParent,
26627 OPC_Scope, 23,
26628 OPC_CheckPatternPredicate, 26,
26629 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26630 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26631 MVT::v4i32, 2, 2, 5,
26632 OPC_EmitConvertToTarget3,
26633 OPC_EmitConvertToTarget4,
26634 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERNP),
26635 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26636 23,
26637 OPC_CheckPatternPredicate, 27,
26638 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26639 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26640 MVT::v4i32, 2, 2, 5,
26641 OPC_EmitConvertToTarget3,
26642 OPC_EmitConvertToTarget4,
26643 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWNP),
26644 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26645 0,
26646 71,
26647 OPC_CheckChild0Integer, 60|128,27|128,1,
26648 OPC_RecordChild1,
26649 OPC_RecordChild2,
26650 OPC_RecordChild3,
26651 OPC_RecordChild4,
26652 OPC_MoveChild4,
26653 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26654 OPC_CheckPredicate3,
26655 OPC_MoveSibling5,
26656 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26657 OPC_RecordNode,
26658 OPC_CheckPredicate, 15,
26659 OPC_MoveParent,
26660 OPC_Scope, 23,
26661 OPC_CheckPatternPredicate, 26,
26662 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26663 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26664 MVT::v4i32, 2, 2, 5,
26665 OPC_EmitConvertToTarget3,
26666 OPC_EmitConvertToTarget4,
26667 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERNN),
26668 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26669 23,
26670 OPC_CheckPatternPredicate, 27,
26671 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26673 MVT::v4i32, 2, 2, 5,
26674 OPC_EmitConvertToTarget3,
26675 OPC_EmitConvertToTarget4,
26676 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF64GERWNN),
26677 MVT::v512i1, 5, 0, 1, 6, 7, 8,
26678 0,
26679 85,
26680 OPC_CheckChild0Integer, 48|128,27|128,1,
26681 OPC_RecordChild1,
26682 OPC_RecordChild2,
26683 OPC_RecordChild3,
26684 OPC_MoveChild3,
26685 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26686 OPC_CheckPredicate3,
26687 OPC_MoveSibling4,
26688 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26689 OPC_RecordNode,
26690 OPC_CheckPredicate3,
26691 OPC_MoveParent,
26692 OPC_Scope, 31,
26693 OPC_CheckPatternPredicate, 26,
26694 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26695 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26696 MVT::v4i32, 2, 0, 4,
26697 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26698 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26699 MVT::v4i32, 2, 1, 6,
26700 OPC_EmitConvertToTarget2,
26701 OPC_EmitConvertToTarget3,
26702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GER),
26703 MVT::v512i1, 4, 5, 7, 8, 9,
26704 31,
26705 OPC_CheckPatternPredicate, 27,
26706 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26707 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26708 MVT::v4i32, 2, 0, 4,
26709 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26710 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26711 MVT::v4i32, 2, 1, 6,
26712 OPC_EmitConvertToTarget2,
26713 OPC_EmitConvertToTarget3,
26714 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERW),
26715 MVT::v512i1, 4, 5, 7, 8, 9,
26716 0,
26717 88,
26718 OPC_CheckChild0Integer, 56|128,27|128,1,
26719 OPC_RecordChild1,
26720 OPC_RecordChild2,
26721 OPC_RecordChild3,
26722 OPC_RecordChild4,
26723 OPC_MoveChild4,
26724 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26725 OPC_CheckPredicate3,
26726 OPC_MoveSibling5,
26727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26728 OPC_RecordNode,
26729 OPC_CheckPredicate3,
26730 OPC_MoveParent,
26731 OPC_Scope, 32,
26732 OPC_CheckPatternPredicate, 26,
26733 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26734 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26735 MVT::v4i32, 2, 1, 5,
26736 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26737 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26738 MVT::v4i32, 2, 2, 7,
26739 OPC_EmitConvertToTarget3,
26740 OPC_EmitConvertToTarget4,
26741 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERPP),
26742 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26743 32,
26744 OPC_CheckPatternPredicate, 27,
26745 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26746 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26747 MVT::v4i32, 2, 1, 5,
26748 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26749 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26750 MVT::v4i32, 2, 2, 7,
26751 OPC_EmitConvertToTarget3,
26752 OPC_EmitConvertToTarget4,
26753 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWPP),
26754 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26755 0,
26756 88,
26757 OPC_CheckChild0Integer, 54|128,27|128,1,
26758 OPC_RecordChild1,
26759 OPC_RecordChild2,
26760 OPC_RecordChild3,
26761 OPC_RecordChild4,
26762 OPC_MoveChild4,
26763 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26764 OPC_CheckPredicate3,
26765 OPC_MoveSibling5,
26766 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26767 OPC_RecordNode,
26768 OPC_CheckPredicate3,
26769 OPC_MoveParent,
26770 OPC_Scope, 32,
26771 OPC_CheckPatternPredicate, 26,
26772 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26773 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26774 MVT::v4i32, 2, 1, 5,
26775 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26777 MVT::v4i32, 2, 2, 7,
26778 OPC_EmitConvertToTarget3,
26779 OPC_EmitConvertToTarget4,
26780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERPN),
26781 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26782 32,
26783 OPC_CheckPatternPredicate, 27,
26784 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26786 MVT::v4i32, 2, 1, 5,
26787 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26788 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26789 MVT::v4i32, 2, 2, 7,
26790 OPC_EmitConvertToTarget3,
26791 OPC_EmitConvertToTarget4,
26792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWPN),
26793 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26794 0,
26795 88,
26796 OPC_CheckChild0Integer, 52|128,27|128,1,
26797 OPC_RecordChild1,
26798 OPC_RecordChild2,
26799 OPC_RecordChild3,
26800 OPC_RecordChild4,
26801 OPC_MoveChild4,
26802 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26803 OPC_CheckPredicate3,
26804 OPC_MoveSibling5,
26805 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26806 OPC_RecordNode,
26807 OPC_CheckPredicate3,
26808 OPC_MoveParent,
26809 OPC_Scope, 32,
26810 OPC_CheckPatternPredicate, 26,
26811 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26813 MVT::v4i32, 2, 1, 5,
26814 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26815 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26816 MVT::v4i32, 2, 2, 7,
26817 OPC_EmitConvertToTarget3,
26818 OPC_EmitConvertToTarget4,
26819 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERNP),
26820 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26821 32,
26822 OPC_CheckPatternPredicate, 27,
26823 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26824 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26825 MVT::v4i32, 2, 1, 5,
26826 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26828 MVT::v4i32, 2, 2, 7,
26829 OPC_EmitConvertToTarget3,
26830 OPC_EmitConvertToTarget4,
26831 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWNP),
26832 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26833 0,
26834 88,
26835 OPC_CheckChild0Integer, 50|128,27|128,1,
26836 OPC_RecordChild1,
26837 OPC_RecordChild2,
26838 OPC_RecordChild3,
26839 OPC_RecordChild4,
26840 OPC_MoveChild4,
26841 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26842 OPC_CheckPredicate3,
26843 OPC_MoveSibling5,
26844 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26845 OPC_RecordNode,
26846 OPC_CheckPredicate3,
26847 OPC_MoveParent,
26848 OPC_Scope, 32,
26849 OPC_CheckPatternPredicate, 26,
26850 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26852 MVT::v4i32, 2, 1, 5,
26853 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26854 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26855 MVT::v4i32, 2, 2, 7,
26856 OPC_EmitConvertToTarget3,
26857 OPC_EmitConvertToTarget4,
26858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERNN),
26859 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26860 32,
26861 OPC_CheckPatternPredicate, 27,
26862 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26863 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26864 MVT::v4i32, 2, 1, 5,
26865 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
26866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
26867 MVT::v4i32, 2, 2, 7,
26868 OPC_EmitConvertToTarget3,
26869 OPC_EmitConvertToTarget4,
26870 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PMXVF32GERWNN),
26871 MVT::v512i1, 5, 0, 6, 8, 9, 10,
26872 0,
26873 26,
26874 OPC_CheckChild0Integer, 120|128,20|128,1,
26875 OPC_RecordChild1,
26876 OPC_RecordChild2,
26877 OPC_MoveChild2,
26878 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26879 OPC_MoveSibling3,
26880 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26881 OPC_RecordNode,
26882 OPC_MoveParent,
26883 OPC_CheckPatternPredicate, 45,
26884 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSHASIGMAW),
26885 MVT::v4i32, 3, 0, 1, 2,
26886 26,
26887 OPC_CheckChild0Integer, 118|128,20|128,1,
26888 OPC_RecordChild1,
26889 OPC_RecordChild2,
26890 OPC_MoveChild2,
26891 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26892 OPC_MoveSibling3,
26893 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26894 OPC_RecordNode,
26895 OPC_MoveParent,
26896 OPC_CheckPatternPredicate, 45,
26897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSHASIGMAD),
26898 MVT::v2i64, 3, 0, 1, 2,
26899 32,
26900 OPC_CheckChild0Integer, 82|128,22|128,1,
26901 OPC_RecordChild1,
26902 OPC_Scope, 9,
26903 OPC_CheckChild2Integer, 0,
26904 OPC_CheckPatternPredicate3,
26905 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS_0),
26906 MVT::v4i32, 1, 0,
26907 14,
26908 OPC_RecordChild2,
26909 OPC_MoveChild2,
26910 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26911 OPC_MoveParent,
26912 OPC_CheckPatternPredicate3,
26913 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS),
26914 MVT::v4i32, 2, 1, 0,
26915 0,
26916 32,
26917 OPC_CheckChild0Integer, 80|128,22|128,1,
26918 OPC_RecordChild1,
26919 OPC_Scope, 9,
26920 OPC_CheckChild2Integer, 0,
26921 OPC_CheckPatternPredicate3,
26922 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS_0),
26923 MVT::v4i32, 1, 0,
26924 14,
26925 OPC_RecordChild2,
26926 OPC_MoveChild2,
26927 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26928 OPC_MoveParent,
26929 OPC_CheckPatternPredicate3,
26930 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS),
26931 MVT::v4i32, 2, 1, 0,
26932 0,
26933 23,
26934 OPC_CheckChild0Integer, 86|128,25|128,1,
26935 OPC_RecordChild1,
26936 OPC_RecordChild2,
26937 OPC_RecordChild3,
26938 OPC_MoveChild3,
26939 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26940 OPC_MoveParent,
26941 OPC_CheckPatternPredicate, 12,
26942 OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDADD_rec),
26943 MVT::v16i8, MVT::i32, 3, 0, 1, 2,
26944 23,
26945 OPC_CheckChild0Integer, 90|128,25|128,1,
26946 OPC_RecordChild1,
26947 OPC_RecordChild2,
26948 OPC_RecordChild3,
26949 OPC_MoveChild3,
26950 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26951 OPC_MoveParent,
26952 OPC_CheckPatternPredicate, 12,
26953 OPC_MorphNodeTo2None, TARGET_VAL(PPC::BCDSUB_rec),
26954 MVT::v16i8, MVT::i32, 3, 0, 1, 2,
26955 21,
26956 OPC_CheckChild0Integer, 104|128,24|128,1,
26957 OPC_RecordChild1,
26958 OPC_RecordChild2,
26959 OPC_RecordChild3,
26960 OPC_MoveChild3,
26961 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26962 OPC_MoveParent,
26963 OPC_CheckPatternPredicate4,
26964 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDBI),
26965 MVT::v16i8, 3, 0, 1, 2,
26966 21,
26967 OPC_CheckChild0Integer, 124|128,24|128,1,
26968 OPC_RecordChild1,
26969 OPC_RecordChild2,
26970 OPC_RecordChild3,
26971 OPC_MoveChild3,
26972 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26973 OPC_MoveParent,
26974 OPC_CheckPatternPredicate4,
26975 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRDBI),
26976 MVT::v16i8, 3, 0, 1, 2,
26977 21,
26978 OPC_CheckChild0Integer, 48|128,23|128,1,
26979 OPC_RecordChild1,
26980 OPC_RecordChild2,
26981 OPC_RecordChild3,
26982 OPC_MoveChild3,
26983 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26984 OPC_MoveParent,
26985 OPC_CheckPatternPredicate4,
26986 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
26987 MVT::v4i32, 3, 0, 2, 1,
26988 21,
26989 OPC_CheckChild0Integer, 34|128,23|128,1,
26990 OPC_RecordChild1,
26991 OPC_RecordChild2,
26992 OPC_RecordChild3,
26993 OPC_MoveChild3,
26994 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26995 OPC_MoveParent,
26996 OPC_CheckPatternPredicate4,
26997 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
26998 MVT::v2i64, 3, 0, 2, 1,
26999 29,
27000 OPC_CheckChild0Integer, 24|128,21|128,1,
27001 OPC_RecordChild1,
27002 OPC_Scope, 13,
27003 OPC_MoveChild1,
27004 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27005 OPC_MoveParent,
27006 OPC_CheckPatternPredicate4,
27007 OPC_EmitConvertToTarget0,
27008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRBMI),
27009 MVT::v16i8, 1, 1,
27010 7,
27011 OPC_CheckPatternPredicate4,
27012 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRBM),
27013 MVT::v16i8, 1, 0,
27014 0,
27015 23,
27016 OPC_CheckChild0Integer, 34|128,30|128,1,
27017 OPC_RecordChild1,
27018 OPC_RecordChild2,
27019 OPC_RecordChild3,
27020 OPC_RecordChild4,
27021 OPC_MoveChild4,
27022 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27023 OPC_MoveParent,
27024 OPC_CheckPatternPredicate4,
27025 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
27026 MVT::v2i64, 4, 0, 1, 2, 3,
27027 29,
27028 OPC_CheckChild0Integer, 38|128,30|128,1,
27029 OPC_RecordChild1,
27030 OPC_RecordChild2,
27031 OPC_MoveChild2,
27032 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27033 OPC_MoveParent,
27034 OPC_CheckPatternPredicate4,
27035 OPC_EmitConvertToTarget1,
27036 OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVBM),
27037 MVT::v4i32, 2, 0, 2,
27038 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
27039 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27040 MVT::v16i8, 2, 3, 4,
27041 29,
27042 OPC_CheckChild0Integer, 42|128,30|128,1,
27043 OPC_RecordChild1,
27044 OPC_RecordChild2,
27045 OPC_MoveChild2,
27046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27047 OPC_MoveParent,
27048 OPC_CheckPatternPredicate4,
27049 OPC_EmitConvertToTarget1,
27050 OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVHM),
27051 MVT::v4i32, 2, 0, 2,
27052 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
27053 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27054 MVT::v8i16, 2, 3, 4,
27055 29,
27056 OPC_CheckChild0Integer, 44|128,30|128,1,
27057 OPC_RecordChild1,
27058 OPC_RecordChild2,
27059 OPC_MoveChild2,
27060 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27061 OPC_MoveParent,
27062 OPC_CheckPatternPredicate4,
27063 OPC_EmitConvertToTarget1,
27064 OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVWM),
27065 MVT::v4i32, 2, 0, 2,
27066 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
27067 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27068 MVT::v4i32, 2, 3, 4,
27069 29,
27070 OPC_CheckChild0Integer, 40|128,30|128,1,
27071 OPC_RecordChild1,
27072 OPC_RecordChild2,
27073 OPC_MoveChild2,
27074 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
27075 OPC_MoveParent,
27076 OPC_CheckPatternPredicate4,
27077 OPC_EmitConvertToTarget1,
27078 OPC_EmitNode1None, TARGET_VAL(PPC::XXGENPCVDM),
27079 MVT::v4i32, 2, 0, 2,
27080 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
27081 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27082 MVT::v2i64, 2, 3, 4,
27083 59,
27084 OPC_CheckChild0Integer, 50|128,30|128,1,
27085 OPC_RecordChild1,
27086 OPC_RecordChild2,
27087 OPC_RecordChild3,
27088 OPC_RecordChild4,
27089 OPC_MoveChild4,
27090 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27091 OPC_MoveParent,
27092 OPC_CheckPatternPredicate1,
27093 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27094 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27095 MVT::v4i32, 2, 0, 4,
27096 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27097 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27098 MVT::v4i32, 2, 1, 6,
27099 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27100 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27101 MVT::v4i32, 2, 2, 8,
27102 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMX),
27103 MVT::v4i32, 4, 5, 7, 9, 3,
27104 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27105 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27106 MVT::v16i8, 2, 10, 11,
27107 16,
27108 OPC_CheckChild0Integer, 102|128,23|128,1,
27109 OPC_RecordChild1,
27110 OPC_RecordChild2,
27111 OPC_RecordChild3,
27112 OPC_CheckPatternPredicate3,
27113 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMLADDUHM),
27114 MVT::v8i16, 3, 0, 1, 2,
27115 16,
27116 OPC_CheckChild0Integer, 36|128,24|128,1,
27117 OPC_RecordChild1,
27118 OPC_RecordChild2,
27119 OPC_RecordChild3,
27120 OPC_CheckPatternPredicate3,
27121 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
27122 MVT::v4i32, 3, 0, 1, 2,
27123 16,
27124 OPC_CheckChild0Integer, 98|128,24|128,1,
27125 OPC_RecordChild1,
27126 OPC_RecordChild2,
27127 OPC_RecordChild3,
27128 OPC_CheckPatternPredicate3,
27129 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
27130 MVT::v4i32, 3, 0, 1, 2,
27131 14,
27132 OPC_CheckChild0Integer, 52|128,21|128,1,
27133 OPC_RecordChild1,
27134 OPC_RecordChild2,
27135 OPC_CheckPatternPredicate3,
27136 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDCUW),
27137 MVT::v4i32, 2, 0, 1,
27138 14,
27139 OPC_CheckChild0Integer, 58|128,21|128,1,
27140 OPC_RecordChild1,
27141 OPC_RecordChild2,
27142 OPC_CheckPatternPredicate3,
27143 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSBS),
27144 MVT::v16i8, 2, 0, 1,
27145 14,
27146 OPC_CheckChild0Integer, 60|128,21|128,1,
27147 OPC_RecordChild1,
27148 OPC_RecordChild2,
27149 OPC_CheckPatternPredicate3,
27150 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSHS),
27151 MVT::v8i16, 2, 0, 1,
27152 14,
27153 OPC_CheckChild0Integer, 62|128,21|128,1,
27154 OPC_RecordChild1,
27155 OPC_RecordChild2,
27156 OPC_CheckPatternPredicate3,
27157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSWS),
27158 MVT::v4i32, 2, 0, 1,
27159 14,
27160 OPC_CheckChild0Integer, 64|128,21|128,1,
27161 OPC_RecordChild1,
27162 OPC_RecordChild2,
27163 OPC_CheckPatternPredicate3,
27164 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBS),
27165 MVT::v16i8, 2, 0, 1,
27166 14,
27167 OPC_CheckChild0Integer, 66|128,21|128,1,
27168 OPC_RecordChild1,
27169 OPC_RecordChild2,
27170 OPC_CheckPatternPredicate3,
27171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHS),
27172 MVT::v8i16, 2, 0, 1,
27173 14,
27174 OPC_CheckChild0Integer, 68|128,21|128,1,
27175 OPC_RecordChild1,
27176 OPC_RecordChild2,
27177 OPC_CheckPatternPredicate3,
27178 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWS),
27179 MVT::v4i32, 2, 0, 1,
27180 14,
27181 OPC_CheckChild0Integer, 70|128,21|128,1,
27182 OPC_RecordChild1,
27183 OPC_RecordChild2,
27184 OPC_CheckPatternPredicate3,
27185 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSB),
27186 MVT::v16i8, 2, 0, 1,
27187 14,
27188 OPC_CheckChild0Integer, 72|128,21|128,1,
27189 OPC_RecordChild1,
27190 OPC_RecordChild2,
27191 OPC_CheckPatternPredicate3,
27192 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSH),
27193 MVT::v8i16, 2, 0, 1,
27194 14,
27195 OPC_CheckChild0Integer, 74|128,21|128,1,
27196 OPC_RecordChild1,
27197 OPC_RecordChild2,
27198 OPC_CheckPatternPredicate3,
27199 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSW),
27200 MVT::v4i32, 2, 0, 1,
27201 14,
27202 OPC_CheckChild0Integer, 76|128,21|128,1,
27203 OPC_RecordChild1,
27204 OPC_RecordChild2,
27205 OPC_CheckPatternPredicate3,
27206 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUB),
27207 MVT::v16i8, 2, 0, 1,
27208 14,
27209 OPC_CheckChild0Integer, 78|128,21|128,1,
27210 OPC_RecordChild1,
27211 OPC_RecordChild2,
27212 OPC_CheckPatternPredicate3,
27213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUH),
27214 MVT::v8i16, 2, 0, 1,
27215 14,
27216 OPC_CheckChild0Integer, 80|128,21|128,1,
27217 OPC_RecordChild1,
27218 OPC_RecordChild2,
27219 OPC_CheckPatternPredicate3,
27220 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUW),
27221 MVT::v4i32, 2, 0, 1,
27222 14,
27223 OPC_CheckChild0Integer, 64|128,23|128,1,
27224 OPC_RecordChild1,
27225 OPC_RecordChild2,
27226 OPC_CheckPatternPredicate3,
27227 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSB),
27228 MVT::v16i8, 2, 0, 1,
27229 14,
27230 OPC_CheckChild0Integer, 68|128,23|128,1,
27231 OPC_RecordChild1,
27232 OPC_RecordChild2,
27233 OPC_CheckPatternPredicate3,
27234 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSH),
27235 MVT::v8i16, 2, 0, 1,
27236 14,
27237 OPC_CheckChild0Integer, 70|128,23|128,1,
27238 OPC_RecordChild1,
27239 OPC_RecordChild2,
27240 OPC_CheckPatternPredicate3,
27241 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSW),
27242 MVT::v4i32, 2, 0, 1,
27243 14,
27244 OPC_CheckChild0Integer, 72|128,23|128,1,
27245 OPC_RecordChild1,
27246 OPC_RecordChild2,
27247 OPC_CheckPatternPredicate3,
27248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUB),
27249 MVT::v16i8, 2, 0, 1,
27250 14,
27251 OPC_CheckChild0Integer, 76|128,23|128,1,
27252 OPC_RecordChild1,
27253 OPC_RecordChild2,
27254 OPC_CheckPatternPredicate3,
27255 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUH),
27256 MVT::v8i16, 2, 0, 1,
27257 14,
27258 OPC_CheckChild0Integer, 78|128,23|128,1,
27259 OPC_RecordChild1,
27260 OPC_RecordChild2,
27261 OPC_CheckPatternPredicate3,
27262 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUW),
27263 MVT::v4i32, 2, 0, 1,
27264 14,
27265 OPC_CheckChild0Integer, 86|128,23|128,1,
27266 OPC_RecordChild1,
27267 OPC_RecordChild2,
27268 OPC_CheckPatternPredicate3,
27269 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSB),
27270 MVT::v16i8, 2, 0, 1,
27271 14,
27272 OPC_CheckChild0Integer, 90|128,23|128,1,
27273 OPC_RecordChild1,
27274 OPC_RecordChild2,
27275 OPC_CheckPatternPredicate3,
27276 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSH),
27277 MVT::v8i16, 2, 0, 1,
27278 14,
27279 OPC_CheckChild0Integer, 92|128,23|128,1,
27280 OPC_RecordChild1,
27281 OPC_RecordChild2,
27282 OPC_CheckPatternPredicate3,
27283 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSW),
27284 MVT::v4i32, 2, 0, 1,
27285 14,
27286 OPC_CheckChild0Integer, 94|128,23|128,1,
27287 OPC_RecordChild1,
27288 OPC_RecordChild2,
27289 OPC_CheckPatternPredicate3,
27290 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUB),
27291 MVT::v16i8, 2, 0, 1,
27292 14,
27293 OPC_CheckChild0Integer, 98|128,23|128,1,
27294 OPC_RecordChild1,
27295 OPC_RecordChild2,
27296 OPC_CheckPatternPredicate3,
27297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUH),
27298 MVT::v8i16, 2, 0, 1,
27299 14,
27300 OPC_CheckChild0Integer, 100|128,23|128,1,
27301 OPC_RecordChild1,
27302 OPC_RecordChild2,
27303 OPC_CheckPatternPredicate3,
27304 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUW),
27305 MVT::v4i32, 2, 0, 1,
27306 16,
27307 OPC_CheckChild0Integer, 106|128,23|128,1,
27308 OPC_RecordChild1,
27309 OPC_RecordChild2,
27310 OPC_RecordChild3,
27311 OPC_CheckPatternPredicate3,
27312 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMMBM),
27313 MVT::v4i32, 3, 0, 1, 2,
27314 16,
27315 OPC_CheckChild0Integer, 108|128,23|128,1,
27316 OPC_RecordChild1,
27317 OPC_RecordChild2,
27318 OPC_RecordChild3,
27319 OPC_CheckPatternPredicate3,
27320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMSHM),
27321 MVT::v4i32, 3, 0, 1, 2,
27322 16,
27323 OPC_CheckChild0Integer, 112|128,23|128,1,
27324 OPC_RecordChild1,
27325 OPC_RecordChild2,
27326 OPC_RecordChild3,
27327 OPC_CheckPatternPredicate3,
27328 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUBM),
27329 MVT::v4i32, 3, 0, 1, 2,
27330 16,
27331 OPC_CheckChild0Integer, 116|128,23|128,1,
27332 OPC_RecordChild1,
27333 OPC_RecordChild2,
27334 OPC_RecordChild3,
27335 OPC_CheckPatternPredicate3,
27336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUHM),
27337 MVT::v4i32, 3, 0, 1, 2,
27338 14,
27339 OPC_CheckChild0Integer, 120|128,23|128,1,
27340 OPC_RecordChild1,
27341 OPC_RecordChild2,
27342 OPC_CheckPatternPredicate3,
27343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESB),
27344 MVT::v8i16, 2, 0, 1,
27345 14,
27346 OPC_CheckChild0Integer, 124|128,23|128,1,
27347 OPC_RecordChild1,
27348 OPC_RecordChild2,
27349 OPC_CheckPatternPredicate3,
27350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESH),
27351 MVT::v4i32, 2, 0, 1,
27352 14,
27353 OPC_CheckChild0Integer, 0|128,24|128,1,
27354 OPC_RecordChild1,
27355 OPC_RecordChild2,
27356 OPC_CheckPatternPredicate3,
27357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUB),
27358 MVT::v8i16, 2, 0, 1,
27359 14,
27360 OPC_CheckChild0Integer, 4|128,24|128,1,
27361 OPC_RecordChild1,
27362 OPC_RecordChild2,
27363 OPC_CheckPatternPredicate3,
27364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUH),
27365 MVT::v4i32, 2, 0, 1,
27366 14,
27367 OPC_CheckChild0Integer, 16|128,24|128,1,
27368 OPC_RecordChild1,
27369 OPC_RecordChild2,
27370 OPC_CheckPatternPredicate3,
27371 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSB),
27372 MVT::v8i16, 2, 0, 1,
27373 14,
27374 OPC_CheckChild0Integer, 20|128,24|128,1,
27375 OPC_RecordChild1,
27376 OPC_RecordChild2,
27377 OPC_CheckPatternPredicate3,
27378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSH),
27379 MVT::v4i32, 2, 0, 1,
27380 14,
27381 OPC_CheckChild0Integer, 24|128,24|128,1,
27382 OPC_RecordChild1,
27383 OPC_RecordChild2,
27384 OPC_CheckPatternPredicate3,
27385 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUB),
27386 MVT::v8i16, 2, 0, 1,
27387 14,
27388 OPC_CheckChild0Integer, 28|128,24|128,1,
27389 OPC_RecordChild1,
27390 OPC_RecordChild2,
27391 OPC_CheckPatternPredicate3,
27392 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUH),
27393 MVT::v4i32, 2, 0, 1,
27394 14,
27395 OPC_CheckChild0Integer, 24|128,25|128,1,
27396 OPC_RecordChild1,
27397 OPC_RecordChild2,
27398 OPC_CheckPatternPredicate3,
27399 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBCUW),
27400 MVT::v4i32, 2, 0, 1,
27401 14,
27402 OPC_CheckChild0Integer, 30|128,25|128,1,
27403 OPC_RecordChild1,
27404 OPC_RecordChild2,
27405 OPC_CheckPatternPredicate3,
27406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSBS),
27407 MVT::v16i8, 2, 0, 1,
27408 14,
27409 OPC_CheckChild0Integer, 32|128,25|128,1,
27410 OPC_RecordChild1,
27411 OPC_RecordChild2,
27412 OPC_CheckPatternPredicate3,
27413 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSHS),
27414 MVT::v8i16, 2, 0, 1,
27415 14,
27416 OPC_CheckChild0Integer, 34|128,25|128,1,
27417 OPC_RecordChild1,
27418 OPC_RecordChild2,
27419 OPC_CheckPatternPredicate3,
27420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSWS),
27421 MVT::v4i32, 2, 0, 1,
27422 14,
27423 OPC_CheckChild0Integer, 36|128,25|128,1,
27424 OPC_RecordChild1,
27425 OPC_RecordChild2,
27426 OPC_CheckPatternPredicate3,
27427 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUBS),
27428 MVT::v16i8, 2, 0, 1,
27429 14,
27430 OPC_CheckChild0Integer, 38|128,25|128,1,
27431 OPC_RecordChild1,
27432 OPC_RecordChild2,
27433 OPC_CheckPatternPredicate3,
27434 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUHS),
27435 MVT::v8i16, 2, 0, 1,
27436 14,
27437 OPC_CheckChild0Integer, 40|128,25|128,1,
27438 OPC_RecordChild1,
27439 OPC_RecordChild2,
27440 OPC_CheckPatternPredicate3,
27441 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUWS),
27442 MVT::v4i32, 2, 0, 1,
27443 14,
27444 OPC_CheckChild0Integer, 76|128,24|128,1,
27445 OPC_RecordChild1,
27446 OPC_RecordChild2,
27447 OPC_CheckPatternPredicate3,
27448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLB),
27449 MVT::v16i8, 2, 0, 1,
27450 14,
27451 OPC_CheckChild0Integer, 84|128,24|128,1,
27452 OPC_RecordChild1,
27453 OPC_RecordChild2,
27454 OPC_CheckPatternPredicate3,
27455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLH),
27456 MVT::v8i16, 2, 0, 1,
27457 14,
27458 OPC_CheckChild0Integer, 90|128,24|128,1,
27459 OPC_RecordChild1,
27460 OPC_RecordChild2,
27461 OPC_CheckPatternPredicate3,
27462 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLW),
27463 MVT::v4i32, 2, 0, 1,
27464 14,
27465 OPC_CheckChild0Integer, 100|128,24|128,1,
27466 OPC_RecordChild1,
27467 OPC_RecordChild2,
27468 OPC_CheckPatternPredicate3,
27469 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSL),
27470 MVT::v4i32, 2, 0, 1,
27471 14,
27472 OPC_CheckChild0Integer, 108|128,24|128,1,
27473 OPC_RecordChild1,
27474 OPC_RecordChild2,
27475 OPC_CheckPatternPredicate3,
27476 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLO),
27477 MVT::v4i32, 2, 0, 1,
27478 14,
27479 OPC_CheckChild0Integer, 102|128,24|128,1,
27480 OPC_RecordChild1,
27481 OPC_RecordChild2,
27482 OPC_CheckPatternPredicate3,
27483 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLB),
27484 MVT::v16i8, 2, 0, 1,
27485 14,
27486 OPC_CheckChild0Integer, 106|128,24|128,1,
27487 OPC_RecordChild1,
27488 OPC_RecordChild2,
27489 OPC_CheckPatternPredicate3,
27490 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLH),
27491 MVT::v8i16, 2, 0, 1,
27492 14,
27493 OPC_CheckChild0Integer, 112|128,24|128,1,
27494 OPC_RecordChild1,
27495 OPC_RecordChild2,
27496 OPC_CheckPatternPredicate3,
27497 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLW),
27498 MVT::v4i32, 2, 0, 1,
27499 14,
27500 OPC_CheckChild0Integer, 114|128,24|128,1,
27501 OPC_RecordChild1,
27502 OPC_RecordChild2,
27503 OPC_CheckPatternPredicate3,
27504 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSR),
27505 MVT::v4i32, 2, 0, 1,
27506 14,
27507 OPC_CheckChild0Integer, 0|128,25|128,1,
27508 OPC_RecordChild1,
27509 OPC_RecordChild2,
27510 OPC_CheckPatternPredicate3,
27511 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRO),
27512 MVT::v4i32, 2, 0, 1,
27513 14,
27514 OPC_CheckChild0Integer, 116|128,24|128,1,
27515 OPC_RecordChild1,
27516 OPC_RecordChild2,
27517 OPC_CheckPatternPredicate3,
27518 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAB),
27519 MVT::v16i8, 2, 0, 1,
27520 14,
27521 OPC_CheckChild0Integer, 118|128,24|128,1,
27522 OPC_RecordChild1,
27523 OPC_RecordChild2,
27524 OPC_CheckPatternPredicate3,
27525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAH),
27526 MVT::v8i16, 2, 0, 1,
27527 14,
27528 OPC_CheckChild0Integer, 120|128,24|128,1,
27529 OPC_RecordChild1,
27530 OPC_RecordChild2,
27531 OPC_CheckPatternPredicate3,
27532 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAW),
27533 MVT::v4i32, 2, 0, 1,
27534 14,
27535 OPC_CheckChild0Integer, 122|128,24|128,1,
27536 OPC_RecordChild1,
27537 OPC_RecordChild2,
27538 OPC_CheckPatternPredicate3,
27539 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRB),
27540 MVT::v16i8, 2, 0, 1,
27541 14,
27542 OPC_CheckChild0Integer, 126|128,24|128,1,
27543 OPC_RecordChild1,
27544 OPC_RecordChild2,
27545 OPC_CheckPatternPredicate3,
27546 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRH),
27547 MVT::v8i16, 2, 0, 1,
27548 14,
27549 OPC_CheckChild0Integer, 4|128,25|128,1,
27550 OPC_RecordChild1,
27551 OPC_RecordChild2,
27552 OPC_CheckPatternPredicate3,
27553 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRW),
27554 MVT::v4i32, 2, 0, 1,
27555 14,
27556 OPC_CheckChild0Integer, 40|128,24|128,1,
27557 OPC_RecordChild1,
27558 OPC_RecordChild2,
27559 OPC_CheckPatternPredicate3,
27560 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKPX),
27561 MVT::v8i16, 2, 0, 1,
27562 12,
27563 OPC_CheckChild0Integer, 52|128,25|128,1,
27564 OPC_RecordChild1,
27565 OPC_CheckPatternPredicate3,
27566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHPX),
27567 MVT::v4i32, 1, 0,
27568 12,
27569 OPC_CheckChild0Integer, 54|128,25|128,1,
27570 OPC_RecordChild1,
27571 OPC_CheckPatternPredicate3,
27572 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSB),
27573 MVT::v8i16, 1, 0,
27574 12,
27575 OPC_CheckChild0Integer, 56|128,25|128,1,
27576 OPC_RecordChild1,
27577 OPC_CheckPatternPredicate3,
27578 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSH),
27579 MVT::v4i32, 1, 0,
27580 12,
27581 OPC_CheckChild0Integer, 60|128,25|128,1,
27582 OPC_RecordChild1,
27583 OPC_CheckPatternPredicate3,
27584 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLPX),
27585 MVT::v4i32, 1, 0,
27586 12,
27587 OPC_CheckChild0Integer, 62|128,25|128,1,
27588 OPC_RecordChild1,
27589 OPC_CheckPatternPredicate3,
27590 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSB),
27591 MVT::v8i16, 1, 0,
27592 12,
27593 OPC_CheckChild0Integer, 64|128,25|128,1,
27594 OPC_RecordChild1,
27595 OPC_CheckPatternPredicate3,
27596 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSH),
27597 MVT::v4i32, 1, 0,
27598 15,
27599 OPC_CheckChild0Integer, 126|128,23|128,1,
27600 OPC_RecordChild1,
27601 OPC_RecordChild2,
27602 OPC_CheckPatternPredicate, 12,
27603 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESW),
27604 MVT::v2i64, 2, 0, 1,
27605 15,
27606 OPC_CheckChild0Integer, 6|128,24|128,1,
27607 OPC_RecordChild1,
27608 OPC_RecordChild2,
27609 OPC_CheckPatternPredicate, 12,
27610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUW),
27611 MVT::v2i64, 2, 0, 1,
27612 15,
27613 OPC_CheckChild0Integer, 22|128,24|128,1,
27614 OPC_RecordChild1,
27615 OPC_RecordChild2,
27616 OPC_CheckPatternPredicate, 12,
27617 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSW),
27618 MVT::v2i64, 2, 0, 1,
27619 15,
27620 OPC_CheckChild0Integer, 30|128,24|128,1,
27621 OPC_RecordChild1,
27622 OPC_RecordChild2,
27623 OPC_CheckPatternPredicate, 12,
27624 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUW),
27625 MVT::v2i64, 2, 0, 1,
27626 15,
27627 OPC_CheckChild0Integer, 66|128,23|128,1,
27628 OPC_RecordChild1,
27629 OPC_RecordChild2,
27630 OPC_CheckPatternPredicate, 12,
27631 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSD),
27632 MVT::v2i64, 2, 0, 1,
27633 15,
27634 OPC_CheckChild0Integer, 74|128,23|128,1,
27635 OPC_RecordChild1,
27636 OPC_RecordChild2,
27637 OPC_CheckPatternPredicate, 12,
27638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUD),
27639 MVT::v2i64, 2, 0, 1,
27640 15,
27641 OPC_CheckChild0Integer, 88|128,23|128,1,
27642 OPC_RecordChild1,
27643 OPC_RecordChild2,
27644 OPC_CheckPatternPredicate, 12,
27645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSD),
27646 MVT::v2i64, 2, 0, 1,
27647 15,
27648 OPC_CheckChild0Integer, 96|128,23|128,1,
27649 OPC_RecordChild1,
27650 OPC_RecordChild2,
27651 OPC_CheckPatternPredicate, 12,
27652 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUD),
27653 MVT::v2i64, 2, 0, 1,
27654 15,
27655 OPC_CheckChild0Integer, 78|128,24|128,1,
27656 OPC_RecordChild1,
27657 OPC_RecordChild2,
27658 OPC_CheckPatternPredicate, 12,
27659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLD),
27660 MVT::v2i64, 2, 0, 1,
27661 17,
27662 OPC_CheckChild0Integer, 56|128,21|128,1,
27663 OPC_RecordChild1,
27664 OPC_RecordChild2,
27665 OPC_RecordChild3,
27666 OPC_CheckPatternPredicate, 12,
27667 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDEUQM),
27668 MVT::v1i128, 3, 0, 1, 2,
27669 15,
27670 OPC_CheckChild0Integer, 50|128,21|128,1,
27671 OPC_RecordChild1,
27672 OPC_RecordChild2,
27673 OPC_CheckPatternPredicate, 12,
27674 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDCUQ),
27675 MVT::v1i128, 2, 0, 1,
27676 17,
27677 OPC_CheckChild0Integer, 54|128,21|128,1,
27678 OPC_RecordChild1,
27679 OPC_RecordChild2,
27680 OPC_RecordChild3,
27681 OPC_CheckPatternPredicate, 12,
27682 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDECUQ),
27683 MVT::v1i128, 3, 0, 1, 2,
27684 17,
27685 OPC_CheckChild0Integer, 28|128,25|128,1,
27686 OPC_RecordChild1,
27687 OPC_RecordChild2,
27688 OPC_RecordChild3,
27689 OPC_CheckPatternPredicate, 12,
27690 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBEUQM),
27691 MVT::v1i128, 3, 0, 1, 2,
27692 15,
27693 OPC_CheckChild0Integer, 22|128,25|128,1,
27694 OPC_RecordChild1,
27695 OPC_RecordChild2,
27696 OPC_CheckPatternPredicate, 12,
27697 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBCUQ),
27698 MVT::v1i128, 2, 0, 1,
27699 17,
27700 OPC_CheckChild0Integer, 26|128,25|128,1,
27701 OPC_RecordChild1,
27702 OPC_RecordChild2,
27703 OPC_RecordChild3,
27704 OPC_CheckPatternPredicate, 12,
27705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBECUQ),
27706 MVT::v1i128, 3, 0, 1, 2,
27707 15,
27708 OPC_CheckChild0Integer, 108|128,20|128,1,
27709 OPC_RecordChild1,
27710 OPC_RecordChild2,
27711 OPC_CheckPatternPredicate, 12,
27712 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMB),
27713 MVT::v16i8, 2, 0, 1,
27714 15,
27715 OPC_CheckChild0Integer, 112|128,20|128,1,
27716 OPC_RecordChild1,
27717 OPC_RecordChild2,
27718 OPC_CheckPatternPredicate, 12,
27719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMH),
27720 MVT::v8i16, 2, 0, 1,
27721 15,
27722 OPC_CheckChild0Integer, 114|128,20|128,1,
27723 OPC_RecordChild1,
27724 OPC_RecordChild2,
27725 OPC_CheckPatternPredicate, 12,
27726 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMW),
27727 MVT::v4i32, 2, 0, 1,
27728 15,
27729 OPC_CheckChild0Integer, 110|128,20|128,1,
27730 OPC_RecordChild1,
27731 OPC_RecordChild2,
27732 OPC_CheckPatternPredicate, 12,
27733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPMSUMD),
27734 MVT::v2i64, 2, 0, 1,
27735 13,
27736 OPC_CheckChild0Integer, 58|128,25|128,1,
27737 OPC_RecordChild1,
27738 OPC_CheckPatternPredicate, 12,
27739 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKHSW),
27740 MVT::v2i64, 1, 0,
27741 13,
27742 OPC_CheckChild0Integer, 66|128,25|128,1,
27743 OPC_RecordChild1,
27744 OPC_CheckPatternPredicate, 12,
27745 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VUPKLSW),
27746 MVT::v2i64, 1, 0,
27747 13,
27748 OPC_CheckChild0Integer, 22|128,23|128,1,
27749 OPC_RecordChild1,
27750 OPC_CheckPatternPredicate, 12,
27751 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VGBBD),
27752 MVT::v16i8, 1, 0,
27753 15,
27754 OPC_CheckChild0Integer, 84|128,21|128,1,
27755 OPC_RecordChild1,
27756 OPC_RecordChild2,
27757 OPC_CheckPatternPredicate, 12,
27758 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VBPERMQ),
27759 MVT::v2i64, 2, 0, 1,
27760 15,
27761 OPC_CheckChild0Integer, 96|128,20|128,1,
27762 OPC_RecordChild1,
27763 OPC_RecordChild2,
27764 OPC_CheckPatternPredicate, 45,
27765 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCIPHER),
27766 MVT::v2i64, 2, 0, 1,
27767 15,
27768 OPC_CheckChild0Integer, 98|128,20|128,1,
27769 OPC_RecordChild1,
27770 OPC_RecordChild2,
27771 OPC_CheckPatternPredicate, 45,
27772 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCIPHERLAST),
27773 MVT::v2i64, 2, 0, 1,
27774 15,
27775 OPC_CheckChild0Integer, 100|128,20|128,1,
27776 OPC_RecordChild1,
27777 OPC_RecordChild2,
27778 OPC_CheckPatternPredicate, 45,
27779 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNCIPHER),
27780 MVT::v2i64, 2, 0, 1,
27781 15,
27782 OPC_CheckChild0Integer, 102|128,20|128,1,
27783 OPC_RecordChild1,
27784 OPC_RecordChild2,
27785 OPC_CheckPatternPredicate, 45,
27786 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNCIPHERLAST),
27787 MVT::v2i64, 2, 0, 1,
27788 13,
27789 OPC_CheckChild0Integer, 116|128,20|128,1,
27790 OPC_RecordChild1,
27791 OPC_CheckPatternPredicate, 45,
27792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSBOX),
27793 MVT::v2i64, 1, 0,
27794 17,
27795 OPC_CheckChild0Integer, 114|128,23|128,1,
27796 OPC_RecordChild1,
27797 OPC_RecordChild2,
27798 OPC_RecordChild3,
27799 OPC_CheckPatternPredicate, 18,
27800 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMUDM),
27801 MVT::v1i128, 3, 0, 1, 2,
27802 13,
27803 OPC_CheckChild0Integer, 12|128,23|128,1,
27804 OPC_RecordChild1,
27805 OPC_CheckPatternPredicate, 18,
27806 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
27807 MVT::v4i32, 1, 0,
27808 13,
27809 OPC_CheckChild0Integer, 18|128,23|128,1,
27810 OPC_RecordChild1,
27811 OPC_CheckPatternPredicate, 18,
27812 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
27813 MVT::v4i32, 1, 0,
27814 13,
27815 OPC_CheckChild0Integer, 10|128,23|128,1,
27816 OPC_RecordChild1,
27817 OPC_CheckPatternPredicate, 18,
27818 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
27819 MVT::v2i64, 1, 0,
27820 13,
27821 OPC_CheckChild0Integer, 16|128,23|128,1,
27822 OPC_RecordChild1,
27823 OPC_CheckPatternPredicate, 18,
27824 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
27825 MVT::v2i64, 1, 0,
27826 13,
27827 OPC_CheckChild0Integer, 20|128,23|128,1,
27828 OPC_RecordChild1,
27829 OPC_CheckPatternPredicate, 18,
27830 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
27831 MVT::v2i64, 1, 0,
27832 13,
27833 OPC_CheckChild0Integer, 64|128,24|128,1,
27834 OPC_RecordChild1,
27835 OPC_CheckPatternPredicate, 18,
27836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBW),
27837 MVT::v4i32, 1, 0,
27838 13,
27839 OPC_CheckChild0Integer, 60|128,24|128,1,
27840 OPC_RecordChild1,
27841 OPC_CheckPatternPredicate, 18,
27842 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBD),
27843 MVT::v2i64, 1, 0,
27844 13,
27845 OPC_CheckChild0Integer, 62|128,24|128,1,
27846 OPC_RecordChild1,
27847 OPC_CheckPatternPredicate, 18,
27848 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPRTYBQ),
27849 MVT::v1i128, 1, 0,
27850 15,
27851 OPC_CheckChild0Integer, 82|128,21|128,1,
27852 OPC_RecordChild1,
27853 OPC_RecordChild2,
27854 OPC_CheckPatternPredicate, 18,
27855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VBPERMD),
27856 MVT::v2i64, 2, 0, 1,
27857 15,
27858 OPC_CheckChild0Integer, 94|128,24|128,1,
27859 OPC_RecordChild1,
27860 OPC_RecordChild2,
27861 OPC_CheckPatternPredicate, 18,
27862 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLWNM),
27863 MVT::v4i32, 2, 0, 1,
27864 17,
27865 OPC_CheckChild0Integer, 92|128,24|128,1,
27866 OPC_RecordChild1,
27867 OPC_RecordChild2,
27868 OPC_RecordChild3,
27869 OPC_CheckPatternPredicate, 18,
27870 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLWMI),
27871 MVT::v4i32, 3, 0, 1, 2,
27872 15,
27873 OPC_CheckChild0Integer, 82|128,24|128,1,
27874 OPC_RecordChild1,
27875 OPC_RecordChild2,
27876 OPC_CheckPatternPredicate, 18,
27877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLDNM),
27878 MVT::v2i64, 2, 0, 1,
27879 17,
27880 OPC_CheckChild0Integer, 80|128,24|128,1,
27881 OPC_RecordChild1,
27882 OPC_RecordChild2,
27883 OPC_RecordChild3,
27884 OPC_CheckPatternPredicate, 18,
27885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLDMI),
27886 MVT::v2i64, 3, 0, 1, 2,
27887 15,
27888 OPC_CheckChild0Integer, 110|128,24|128,1,
27889 OPC_RecordChild1,
27890 OPC_RecordChild2,
27891 OPC_CheckPatternPredicate, 18,
27892 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLV),
27893 MVT::v16i8, 2, 0, 1,
27894 15,
27895 OPC_CheckChild0Integer, 2|128,25|128,1,
27896 OPC_RecordChild1,
27897 OPC_RecordChild2,
27898 OPC_CheckPatternPredicate, 18,
27899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRV),
27900 MVT::v16i8, 2, 0, 1,
27901 15,
27902 OPC_CheckChild0Integer, 44|128,21|128,1,
27903 OPC_RecordChild1,
27904 OPC_RecordChild2,
27905 OPC_CheckPatternPredicate, 18,
27906 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUB),
27907 MVT::v16i8, 2, 0, 1,
27908 15,
27909 OPC_CheckChild0Integer, 46|128,21|128,1,
27910 OPC_RecordChild1,
27911 OPC_RecordChild2,
27912 OPC_CheckPatternPredicate, 18,
27913 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUH),
27914 MVT::v8i16, 2, 0, 1,
27915 15,
27916 OPC_CheckChild0Integer, 48|128,21|128,1,
27917 OPC_RecordChild1,
27918 OPC_RecordChild2,
27919 OPC_CheckPatternPredicate, 18,
27920 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
27921 MVT::v4i32, 2, 0, 1,
27922 56,
27923 OPC_CheckChild0Integer, 104|128,20|128,1,
27924 OPC_RecordChild1,
27925 OPC_RecordChild2,
27926 OPC_RecordChild3,
27927 OPC_Scope, 10,
27928 OPC_CheckPatternPredicate, 73,
27929 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
27930 MVT::v16i8, 3, 0, 1, 2,
27931 35,
27932 OPC_CheckPatternPredicate, 74,
27933 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27934 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27935 MVT::v4i32, 2, 2, 3,
27936 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
27937 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
27938 MVT::v4i32, 2, 2, 5,
27939 OPC_EmitNode1None, TARGET_VAL(PPC::XXLNOR),
27940 MVT::v4i32, 2, 4, 6,
27941 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
27942 MVT::v16i8, 3, 0, 1, 7,
27943 0,
27944 17,
27945 OPC_CheckChild0Integer, 106|128,20|128,1,
27946 OPC_RecordChild1,
27947 OPC_RecordChild2,
27948 OPC_RecordChild3,
27949 OPC_CheckPatternPredicate, 75,
27950 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERMXOR),
27951 MVT::v16i8, 3, 0, 1, 2,
27952 12,
27953 OPC_CheckChild0Integer, 10|128,25|128,1,
27954 OPC_RecordChild1,
27955 OPC_CheckPatternPredicate4,
27956 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIBR),
27957 MVT::v16i8, 1, 0,
27958 12,
27959 OPC_CheckChild0Integer, 6|128,25|128,1,
27960 OPC_RecordChild1,
27961 OPC_CheckPatternPredicate4,
27962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIBL),
27963 MVT::v16i8, 1, 0,
27964 12,
27965 OPC_CheckChild0Integer, 18|128,25|128,1,
27966 OPC_RecordChild1,
27967 OPC_CheckPatternPredicate4,
27968 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIHR),
27969 MVT::v8i16, 1, 0,
27970 12,
27971 OPC_CheckChild0Integer, 14|128,25|128,1,
27972 OPC_RecordChild1,
27973 OPC_CheckPatternPredicate4,
27974 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSTRIHL),
27975 MVT::v8i16, 1, 0,
27976 16,
27977 OPC_CheckChild0Integer, 30|128,23|128,1,
27978 OPC_RecordChild1,
27979 OPC_RecordChild2,
27980 OPC_RecordChild3,
27981 OPC_CheckPatternPredicate4,
27982 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBVLX),
27983 MVT::v16i8, 3, 0, 1, 2,
27984 16,
27985 OPC_CheckChild0Integer, 32|128,23|128,1,
27986 OPC_RecordChild1,
27987 OPC_RecordChild2,
27988 OPC_RecordChild3,
27989 OPC_CheckPatternPredicate4,
27990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBVRX),
27991 MVT::v16i8, 3, 0, 1, 2,
27992 16,
27993 OPC_CheckChild0Integer, 44|128,23|128,1,
27994 OPC_RecordChild1,
27995 OPC_RecordChild2,
27996 OPC_RecordChild3,
27997 OPC_CheckPatternPredicate4,
27998 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHVLX),
27999 MVT::v8i16, 3, 0, 1, 2,
28000 16,
28001 OPC_CheckChild0Integer, 46|128,23|128,1,
28002 OPC_RecordChild1,
28003 OPC_RecordChild2,
28004 OPC_RecordChild3,
28005 OPC_CheckPatternPredicate4,
28006 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHVRX),
28007 MVT::v8i16, 3, 0, 1, 2,
28008 16,
28009 OPC_CheckChild0Integer, 54|128,23|128,1,
28010 OPC_RecordChild1,
28011 OPC_RecordChild2,
28012 OPC_RecordChild3,
28013 OPC_CheckPatternPredicate4,
28014 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
28015 MVT::v4i32, 3, 0, 1, 2,
28016 16,
28017 OPC_CheckChild0Integer, 56|128,23|128,1,
28018 OPC_RecordChild1,
28019 OPC_RecordChild2,
28020 OPC_RecordChild3,
28021 OPC_CheckPatternPredicate4,
28022 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVRX),
28023 MVT::v4i32, 3, 0, 1, 2,
28024 16,
28025 OPC_CheckChild0Integer, 26|128,23|128,1,
28026 OPC_RecordChild1,
28027 OPC_RecordChild2,
28028 OPC_RecordChild3,
28029 OPC_CheckPatternPredicate4,
28030 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
28031 MVT::v16i8, 3, 0, 1, 2,
28032 16,
28033 OPC_CheckChild0Integer, 28|128,23|128,1,
28034 OPC_RecordChild1,
28035 OPC_RecordChild2,
28036 OPC_RecordChild3,
28037 OPC_CheckPatternPredicate4,
28038 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBRX),
28039 MVT::v16i8, 3, 0, 1, 2,
28040 16,
28041 OPC_CheckChild0Integer, 40|128,23|128,1,
28042 OPC_RecordChild1,
28043 OPC_RecordChild2,
28044 OPC_RecordChild3,
28045 OPC_CheckPatternPredicate4,
28046 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
28047 MVT::v8i16, 3, 0, 1, 2,
28048 16,
28049 OPC_CheckChild0Integer, 42|128,23|128,1,
28050 OPC_RecordChild1,
28051 OPC_RecordChild2,
28052 OPC_RecordChild3,
28053 OPC_CheckPatternPredicate4,
28054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHRX),
28055 MVT::v8i16, 3, 0, 1, 2,
28056 16,
28057 OPC_CheckChild0Integer, 50|128,23|128,1,
28058 OPC_RecordChild1,
28059 OPC_RecordChild2,
28060 OPC_RecordChild3,
28061 OPC_CheckPatternPredicate4,
28062 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
28063 MVT::v4i32, 3, 0, 1, 2,
28064 16,
28065 OPC_CheckChild0Integer, 52|128,23|128,1,
28066 OPC_RecordChild1,
28067 OPC_RecordChild2,
28068 OPC_RecordChild3,
28069 OPC_CheckPatternPredicate4,
28070 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWRX),
28071 MVT::v4i32, 3, 0, 1, 2,
28072 16,
28073 OPC_CheckChild0Integer, 36|128,23|128,1,
28074 OPC_RecordChild1,
28075 OPC_RecordChild2,
28076 OPC_RecordChild3,
28077 OPC_CheckPatternPredicate4,
28078 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
28079 MVT::v2i64, 3, 0, 1, 2,
28080 16,
28081 OPC_CheckChild0Integer, 38|128,23|128,1,
28082 OPC_RecordChild1,
28083 OPC_RecordChild2,
28084 OPC_RecordChild3,
28085 OPC_CheckPatternPredicate4,
28086 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
28087 MVT::v2i64, 3, 0, 1, 2,
28088 12,
28089 OPC_CheckChild0Integer, 100|128,22|128,1,
28090 OPC_RecordChild1,
28091 OPC_CheckPatternPredicate4,
28092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDBM),
28093 MVT::v16i8, 1, 0,
28094 12,
28095 OPC_CheckChild0Integer, 104|128,22|128,1,
28096 OPC_RecordChild1,
28097 OPC_CheckPatternPredicate4,
28098 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDHM),
28099 MVT::v8i16, 1, 0,
28100 12,
28101 OPC_CheckChild0Integer, 108|128,22|128,1,
28102 OPC_RecordChild1,
28103 OPC_CheckPatternPredicate4,
28104 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDWM),
28105 MVT::v4i32, 1, 0,
28106 12,
28107 OPC_CheckChild0Integer, 102|128,22|128,1,
28108 OPC_RecordChild1,
28109 OPC_CheckPatternPredicate4,
28110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDDM),
28111 MVT::v2i64, 1, 0,
28112 12,
28113 OPC_CheckChild0Integer, 106|128,22|128,1,
28114 OPC_RecordChild1,
28115 OPC_CheckPatternPredicate4,
28116 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPANDQM),
28117 MVT::v1i128, 1, 0,
28118 12,
28119 OPC_CheckChild0Integer, 28|128,21|128,1,
28120 OPC_RecordChild1,
28121 OPC_CheckPatternPredicate4,
28122 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRHM),
28123 MVT::v8i16, 1, 0,
28124 12,
28125 OPC_CheckChild0Integer, 32|128,21|128,1,
28126 OPC_RecordChild1,
28127 OPC_CheckPatternPredicate4,
28128 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWM),
28129 MVT::v4i32, 1, 0,
28130 12,
28131 OPC_CheckChild0Integer, 26|128,21|128,1,
28132 OPC_RecordChild1,
28133 OPC_CheckPatternPredicate4,
28134 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDM),
28135 MVT::v2i64, 1, 0,
28136 12,
28137 OPC_CheckChild0Integer, 30|128,21|128,1,
28138 OPC_RecordChild1,
28139 OPC_CheckPatternPredicate4,
28140 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRQM),
28141 MVT::v1i128, 1, 0,
28142 16,
28143 OPC_CheckChild0Integer, 116|128,22|128,1,
28144 OPC_RecordChild1,
28145 OPC_RecordChild2,
28146 OPC_RecordChild3,
28147 OPC_CheckPatternPredicate4,
28148 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUBVLX),
28149 MVT::v2i64, 3, 0, 1, 2,
28150 16,
28151 OPC_CheckChild0Integer, 118|128,22|128,1,
28152 OPC_RecordChild1,
28153 OPC_RecordChild2,
28154 OPC_RecordChild3,
28155 OPC_CheckPatternPredicate4,
28156 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUBVRX),
28157 MVT::v2i64, 3, 0, 1, 2,
28158 16,
28159 OPC_CheckChild0Integer, 120|128,22|128,1,
28160 OPC_RecordChild1,
28161 OPC_RecordChild2,
28162 OPC_RecordChild3,
28163 OPC_CheckPatternPredicate4,
28164 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUHVLX),
28165 MVT::v2i64, 3, 0, 1, 2,
28166 16,
28167 OPC_CheckChild0Integer, 122|128,22|128,1,
28168 OPC_RecordChild1,
28169 OPC_RecordChild2,
28170 OPC_RecordChild3,
28171 OPC_CheckPatternPredicate4,
28172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUHVRX),
28173 MVT::v2i64, 3, 0, 1, 2,
28174 16,
28175 OPC_CheckChild0Integer, 124|128,22|128,1,
28176 OPC_RecordChild1,
28177 OPC_RecordChild2,
28178 OPC_RecordChild3,
28179 OPC_CheckPatternPredicate4,
28180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUWVLX),
28181 MVT::v2i64, 3, 0, 1, 2,
28182 16,
28183 OPC_CheckChild0Integer, 126|128,22|128,1,
28184 OPC_RecordChild1,
28185 OPC_RecordChild2,
28186 OPC_RecordChild3,
28187 OPC_CheckPatternPredicate4,
28188 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDUWVRX),
28189 MVT::v2i64, 3, 0, 1, 2,
28190 16,
28191 OPC_CheckChild0Integer, 112|128,22|128,1,
28192 OPC_RecordChild1,
28193 OPC_RecordChild2,
28194 OPC_RecordChild3,
28195 OPC_CheckPatternPredicate4,
28196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDDVLX),
28197 MVT::v2i64, 3, 0, 1, 2,
28198 16,
28199 OPC_CheckChild0Integer, 114|128,22|128,1,
28200 OPC_RecordChild1,
28201 OPC_RecordChild2,
28202 OPC_RecordChild3,
28203 OPC_CheckPatternPredicate4,
28204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTDDVRX),
28205 MVT::v2i64, 3, 0, 1, 2,
28206 14,
28207 OPC_CheckChild0Integer, 34|128,24|128,1,
28208 OPC_RecordChild1,
28209 OPC_RecordChild2,
28210 OPC_CheckPatternPredicate4,
28211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPDEPD),
28212 MVT::v2i64, 2, 0, 1,
28213 14,
28214 OPC_CheckChild0Integer, 38|128,24|128,1,
28215 OPC_RecordChild1,
28216 OPC_RecordChild2,
28217 OPC_CheckPatternPredicate4,
28218 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPEXTD),
28219 MVT::v2i64, 2, 0, 1,
28220 14,
28221 OPC_CheckChild0Integer, 88|128,21|128,1,
28222 OPC_RecordChild1,
28223 OPC_RecordChild2,
28224 OPC_CheckPatternPredicate4,
28225 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUGED),
28226 MVT::v2i64, 2, 0, 1,
28227 14,
28228 OPC_CheckChild0Integer, 96|128,21|128,1,
28229 OPC_RecordChild1,
28230 OPC_RecordChild2,
28231 OPC_CheckPatternPredicate4,
28232 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZDM),
28233 MVT::v2i64, 2, 0, 1,
28234 14,
28235 OPC_CheckChild0Integer, 84|128,22|128,1,
28236 OPC_RecordChild1,
28237 OPC_RecordChild2,
28238 OPC_CheckPatternPredicate4,
28239 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZDM),
28240 MVT::v2i64, 2, 0, 1,
28241 14,
28242 OPC_CheckChild0Integer, 92|128,21|128,1,
28243 OPC_RecordChild1,
28244 OPC_RecordChild2,
28245 OPC_CheckPatternPredicate4,
28246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLRLB),
28247 MVT::v16i8, 2, 0, 1,
28248 14,
28249 OPC_CheckChild0Integer, 94|128,21|128,1,
28250 OPC_RecordChild1,
28251 OPC_RecordChild2,
28252 OPC_CheckPatternPredicate4,
28253 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLRRB),
28254 MVT::v16i8, 2, 0, 1,
28255 14,
28256 OPC_CheckChild0Integer, 92|128,22|128,1,
28257 OPC_RecordChild1,
28258 OPC_RecordChild2,
28259 OPC_CheckPatternPredicate4,
28260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESW),
28261 MVT::v4i32, 2, 0, 1,
28262 14,
28263 OPC_CheckChild0Integer, 98|128,22|128,1,
28264 OPC_RecordChild1,
28265 OPC_RecordChild2,
28266 OPC_CheckPatternPredicate4,
28267 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUW),
28268 MVT::v4i32, 2, 0, 1,
28269 14,
28270 OPC_CheckChild0Integer, 88|128,22|128,1,
28271 OPC_RecordChild1,
28272 OPC_RecordChild2,
28273 OPC_CheckPatternPredicate4,
28274 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESD),
28275 MVT::v2i64, 2, 0, 1,
28276 14,
28277 OPC_CheckChild0Integer, 94|128,22|128,1,
28278 OPC_RecordChild1,
28279 OPC_RecordChild2,
28280 OPC_CheckPatternPredicate4,
28281 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUD),
28282 MVT::v2i64, 2, 0, 1,
28283 14,
28284 OPC_CheckChild0Integer, 122|128,23|128,1,
28285 OPC_RecordChild1,
28286 OPC_RecordChild2,
28287 OPC_CheckPatternPredicate4,
28288 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULESD),
28289 MVT::v1i128, 2, 0, 1,
28290 14,
28291 OPC_CheckChild0Integer, 2|128,24|128,1,
28292 OPC_RecordChild1,
28293 OPC_RecordChild2,
28294 OPC_CheckPatternPredicate4,
28295 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULEUD),
28296 MVT::v1i128, 2, 0, 1,
28297 14,
28298 OPC_CheckChild0Integer, 18|128,24|128,1,
28299 OPC_RecordChild1,
28300 OPC_RecordChild2,
28301 OPC_CheckPatternPredicate4,
28302 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOSD),
28303 MVT::v1i128, 2, 0, 1,
28304 14,
28305 OPC_CheckChild0Integer, 26|128,24|128,1,
28306 OPC_RecordChild1,
28307 OPC_RecordChild2,
28308 OPC_CheckPatternPredicate4,
28309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULOUD),
28310 MVT::v1i128, 2, 0, 1,
28311 16,
28312 OPC_CheckChild0Integer, 104|128,23|128,1,
28313 OPC_RecordChild1,
28314 OPC_RecordChild2,
28315 OPC_RecordChild3,
28316 OPC_CheckPatternPredicate4,
28317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMSUMCUD),
28318 MVT::v1i128, 3, 0, 1, 2,
28319 14,
28320 OPC_CheckChild0Integer, 90|128,22|128,1,
28321 OPC_RecordChild1,
28322 OPC_RecordChild2,
28323 OPC_CheckPatternPredicate4,
28324 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVESQ),
28325 MVT::v1i128, 2, 0, 1,
28326 14,
28327 OPC_CheckChild0Integer, 96|128,22|128,1,
28328 OPC_RecordChild1,
28329 OPC_RecordChild2,
28330 OPC_CheckPatternPredicate4,
28331 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVEUQ),
28332 MVT::v1i128, 2, 0, 1,
28333 12,
28334 OPC_CheckChild0Integer, 14|128,23|128,1,
28335 OPC_RecordChild1,
28336 OPC_CheckPatternPredicate4,
28337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSD2Q),
28338 MVT::v1i128, 1, 0,
28339 14,
28340 OPC_CheckChild0Integer, 88|128,24|128,1,
28341 OPC_RecordChild1,
28342 OPC_RecordChild2,
28343 OPC_CheckPatternPredicate4,
28344 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLQNM),
28345 MVT::v1i128, 2, 0, 1,
28346 16,
28347 OPC_CheckChild0Integer, 86|128,24|128,1,
28348 OPC_RecordChild1,
28349 OPC_RecordChild2,
28350 OPC_RecordChild3,
28351 OPC_CheckPatternPredicate4,
28352 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLQMI),
28353 MVT::v1i128, 3, 0, 1, 2,
28354 14,
28355 OPC_CheckChild0Integer, 10|128,24|128,1,
28356 OPC_RecordChild1,
28357 OPC_RecordChild2,
28358 OPC_CheckPatternPredicate4,
28359 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSW),
28360 MVT::v4i32, 2, 0, 1,
28361 14,
28362 OPC_CheckChild0Integer, 14|128,24|128,1,
28363 OPC_RecordChild1,
28364 OPC_RecordChild2,
28365 OPC_CheckPatternPredicate4,
28366 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUW),
28367 MVT::v4i32, 2, 0, 1,
28368 14,
28369 OPC_CheckChild0Integer, 8|128,24|128,1,
28370 OPC_RecordChild1,
28371 OPC_RecordChild2,
28372 OPC_CheckPatternPredicate4,
28373 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSD),
28374 MVT::v2i64, 2, 0, 1,
28375 14,
28376 OPC_CheckChild0Integer, 12|128,24|128,1,
28377 OPC_RecordChild1,
28378 OPC_RecordChild2,
28379 OPC_CheckPatternPredicate4,
28380 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUD),
28381 MVT::v2i64, 2, 0, 1,
28382 16,
28383 OPC_CheckChild0Integer, 32|128,30|128,1,
28384 OPC_RecordChild1,
28385 OPC_RecordChild2,
28386 OPC_RecordChild3,
28387 OPC_CheckPatternPredicate1,
28388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBLENDVW),
28389 MVT::v4i32, 3, 0, 1, 2,
28390 16,
28391 OPC_CheckChild0Integer, 28|128,30|128,1,
28392 OPC_RecordChild1,
28393 OPC_RecordChild2,
28394 OPC_RecordChild3,
28395 OPC_CheckPatternPredicate1,
28396 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBLENDVD),
28397 MVT::v2i64, 3, 0, 1, 2,
28398 13,
28399 OPC_CheckChild0Integer, 16|128,28|128,1,
28400 OPC_RecordChild1,
28401 OPC_CheckPatternPredicate, 20,
28402 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMFACC),
28403 MVT::v512i1, 1, 0,
28404 13,
28405 OPC_CheckChild0Integer, 18|128,28|128,1,
28406 OPC_RecordChild1,
28407 OPC_CheckPatternPredicate, 20,
28408 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
28409 MVT::v512i1, 1, 0,
28410 22,
28411 OPC_CheckChild0Integer, 20|128,28|128,1,
28412 OPC_Scope, 7,
28413 OPC_CheckPatternPredicate, 20,
28414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSETACCZ),
28415 MVT::v512i1, 0,
28416 7,
28417 OPC_CheckPatternPredicate, 23,
28418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSETACCZW),
28419 MVT::v512i1, 0,
28420 0,
28421 46,
28422 OPC_CheckChild0Integer, 116|128,27|128,1,
28423 OPC_RecordChild1,
28424 OPC_RecordChild2,
28425 OPC_Scope, 18,
28426 OPC_CheckPatternPredicate, 20,
28427 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28428 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28429 MVT::v4i32, 2, 1, 2,
28430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GER),
28431 MVT::v512i1, 2, 0, 3,
28432 18,
28433 OPC_CheckPatternPredicate, 23,
28434 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28435 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28436 MVT::v4i32, 2, 1, 2,
28437 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERW),
28438 MVT::v512i1, 2, 0, 3,
28439 0,
28440 49,
28441 OPC_CheckChild0Integer, 124|128,27|128,1,
28442 OPC_RecordChild1,
28443 OPC_RecordChild2,
28444 OPC_RecordChild3,
28445 OPC_Scope, 19,
28446 OPC_CheckPatternPredicate, 20,
28447 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28448 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28449 MVT::v4i32, 2, 2, 3,
28450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERPP),
28451 MVT::v512i1, 3, 0, 1, 4,
28452 19,
28453 OPC_CheckPatternPredicate, 23,
28454 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28455 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28456 MVT::v4i32, 2, 2, 3,
28457 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWPP),
28458 MVT::v512i1, 3, 0, 1, 4,
28459 0,
28460 49,
28461 OPC_CheckChild0Integer, 122|128,27|128,1,
28462 OPC_RecordChild1,
28463 OPC_RecordChild2,
28464 OPC_RecordChild3,
28465 OPC_Scope, 19,
28466 OPC_CheckPatternPredicate, 20,
28467 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28468 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28469 MVT::v4i32, 2, 2, 3,
28470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERPN),
28471 MVT::v512i1, 3, 0, 1, 4,
28472 19,
28473 OPC_CheckPatternPredicate, 23,
28474 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28475 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28476 MVT::v4i32, 2, 2, 3,
28477 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWPN),
28478 MVT::v512i1, 3, 0, 1, 4,
28479 0,
28480 49,
28481 OPC_CheckChild0Integer, 120|128,27|128,1,
28482 OPC_RecordChild1,
28483 OPC_RecordChild2,
28484 OPC_RecordChild3,
28485 OPC_Scope, 19,
28486 OPC_CheckPatternPredicate, 20,
28487 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28489 MVT::v4i32, 2, 2, 3,
28490 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERNP),
28491 MVT::v512i1, 3, 0, 1, 4,
28492 19,
28493 OPC_CheckPatternPredicate, 23,
28494 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28495 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28496 MVT::v4i32, 2, 2, 3,
28497 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERNP),
28498 MVT::v512i1, 3, 0, 1, 4,
28499 0,
28500 49,
28501 OPC_CheckChild0Integer, 118|128,27|128,1,
28502 OPC_RecordChild1,
28503 OPC_RecordChild2,
28504 OPC_RecordChild3,
28505 OPC_Scope, 19,
28506 OPC_CheckPatternPredicate, 20,
28507 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28508 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28509 MVT::v4i32, 2, 2, 3,
28510 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERNN),
28511 MVT::v512i1, 3, 0, 1, 4,
28512 19,
28513 OPC_CheckPatternPredicate, 23,
28514 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28515 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28516 MVT::v4i32, 2, 2, 3,
28517 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF64GERWNN),
28518 MVT::v512i1, 3, 0, 1, 4,
28519 0,
28520 33,
28521 OPC_CheckChild0Integer, 16|128,29|128,1,
28522 OPC_RecordChild1,
28523 OPC_RecordChild2,
28524 OPC_CheckPatternPredicate, 49,
28525 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
28526 MVT::v256i1, 0,
28527 OPC_EmitStringInteger32, PPC::sub_vsx1,
28528 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
28529 MVT::v256i1, 3, 2, 1, 3,
28530 OPC_EmitStringInteger32, PPC::sub_vsx0,
28531 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
28532 MVT::v256i1, 3, 4, 0, 5,
28533 31,
28534 OPC_CheckChild0Integer, 86|128,29|128,1,
28535 OPC_RecordChild1,
28536 OPC_CheckPatternPredicate, 39,
28537 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28538 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28539 MVT::v4i32, 2, 0, 1,
28540 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPBF16),
28541 MVT::v4i32, 1, 2,
28542 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
28543 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28544 MVT::v16i8, 2, 3, 4,
28545 31,
28546 OPC_CheckChild0Integer, 76|128,29|128,1,
28547 OPC_RecordChild1,
28548 OPC_CheckPatternPredicate, 39,
28549 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28550 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28551 MVT::v4i32, 2, 0, 1,
28552 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVBF16SPN),
28553 MVT::v4i32, 1, 2,
28554 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
28555 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28556 MVT::v16i8, 2, 3, 4,
28557 64,
28558 OPC_CheckChild0Integer, 6|128,28|128,1,
28559 OPC_RecordChild1,
28560 OPC_RecordChild2,
28561 OPC_Scope, 27,
28562 OPC_CheckPatternPredicate, 20,
28563 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28565 MVT::v4i32, 2, 0, 2,
28566 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28567 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28568 MVT::v4i32, 2, 1, 4,
28569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8),
28570 MVT::v512i1, 2, 3, 5,
28571 27,
28572 OPC_CheckPatternPredicate, 23,
28573 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28575 MVT::v4i32, 2, 0, 2,
28576 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28577 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28578 MVT::v4i32, 2, 1, 4,
28579 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8W),
28580 MVT::v512i1, 2, 3, 5,
28581 0,
28582 67,
28583 OPC_CheckChild0Integer, 8|128,28|128,1,
28584 OPC_RecordChild1,
28585 OPC_RecordChild2,
28586 OPC_RecordChild3,
28587 OPC_Scope, 28,
28588 OPC_CheckPatternPredicate, 20,
28589 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28590 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28591 MVT::v4i32, 2, 1, 3,
28592 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28593 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28594 MVT::v4i32, 2, 2, 5,
28595 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8PP),
28596 MVT::v512i1, 3, 0, 4, 6,
28597 28,
28598 OPC_CheckPatternPredicate, 23,
28599 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28600 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28601 MVT::v4i32, 2, 1, 3,
28602 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28604 MVT::v4i32, 2, 2, 5,
28605 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI4GER8WPP),
28606 MVT::v512i1, 3, 0, 4, 6,
28607 0,
28608 64,
28609 OPC_CheckChild0Integer, 10|128,28|128,1,
28610 OPC_RecordChild1,
28611 OPC_RecordChild2,
28612 OPC_Scope, 27,
28613 OPC_CheckPatternPredicate, 20,
28614 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28616 MVT::v4i32, 2, 0, 2,
28617 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28618 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28619 MVT::v4i32, 2, 1, 4,
28620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4),
28621 MVT::v512i1, 2, 3, 5,
28622 27,
28623 OPC_CheckPatternPredicate, 23,
28624 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28625 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28626 MVT::v4i32, 2, 0, 2,
28627 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28628 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28629 MVT::v4i32, 2, 1, 4,
28630 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4W),
28631 MVT::v512i1, 2, 3, 5,
28632 0,
28633 67,
28634 OPC_CheckChild0Integer, 12|128,28|128,1,
28635 OPC_RecordChild1,
28636 OPC_RecordChild2,
28637 OPC_RecordChild3,
28638 OPC_Scope, 28,
28639 OPC_CheckPatternPredicate, 20,
28640 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28641 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28642 MVT::v4i32, 2, 1, 3,
28643 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28645 MVT::v4i32, 2, 2, 5,
28646 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4PP),
28647 MVT::v512i1, 3, 0, 4, 6,
28648 28,
28649 OPC_CheckPatternPredicate, 23,
28650 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28651 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28652 MVT::v4i32, 2, 1, 3,
28653 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28654 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28655 MVT::v4i32, 2, 2, 5,
28656 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4WPP),
28657 MVT::v512i1, 3, 0, 4, 6,
28658 0,
28659 64,
28660 OPC_CheckChild0Integer, 2|128,28|128,1,
28661 OPC_RecordChild1,
28662 OPC_RecordChild2,
28663 OPC_Scope, 27,
28664 OPC_CheckPatternPredicate, 20,
28665 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28666 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28667 MVT::v4i32, 2, 0, 2,
28668 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28669 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28670 MVT::v4i32, 2, 1, 4,
28671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2S),
28672 MVT::v512i1, 2, 3, 5,
28673 27,
28674 OPC_CheckPatternPredicate, 23,
28675 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28676 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28677 MVT::v4i32, 2, 0, 2,
28678 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28679 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28680 MVT::v4i32, 2, 1, 4,
28681 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SW),
28682 MVT::v512i1, 2, 3, 5,
28683 0,
28684 67,
28685 OPC_CheckChild0Integer, 4|128,28|128,1,
28686 OPC_RecordChild1,
28687 OPC_RecordChild2,
28688 OPC_RecordChild3,
28689 OPC_Scope, 28,
28690 OPC_CheckPatternPredicate, 20,
28691 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28692 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28693 MVT::v4i32, 2, 1, 3,
28694 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28695 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28696 MVT::v4i32, 2, 2, 5,
28697 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SPP),
28698 MVT::v512i1, 3, 0, 4, 6,
28699 28,
28700 OPC_CheckPatternPredicate, 23,
28701 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28702 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28703 MVT::v4i32, 2, 1, 3,
28704 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28705 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28706 MVT::v4i32, 2, 2, 5,
28707 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2SWPP),
28708 MVT::v512i1, 3, 0, 4, 6,
28709 0,
28710 64,
28711 OPC_CheckChild0Integer, 96|128,27|128,1,
28712 OPC_RecordChild1,
28713 OPC_RecordChild2,
28714 OPC_Scope, 27,
28715 OPC_CheckPatternPredicate, 20,
28716 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28717 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28718 MVT::v4i32, 2, 0, 2,
28719 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28720 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28721 MVT::v4i32, 2, 1, 4,
28722 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2),
28723 MVT::v512i1, 2, 3, 5,
28724 27,
28725 OPC_CheckPatternPredicate, 23,
28726 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28727 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28728 MVT::v4i32, 2, 0, 2,
28729 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28731 MVT::v4i32, 2, 1, 4,
28732 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2W),
28733 MVT::v512i1, 2, 3, 5,
28734 0,
28735 67,
28736 OPC_CheckChild0Integer, 104|128,27|128,1,
28737 OPC_RecordChild1,
28738 OPC_RecordChild2,
28739 OPC_RecordChild3,
28740 OPC_Scope, 28,
28741 OPC_CheckPatternPredicate, 20,
28742 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28744 MVT::v4i32, 2, 1, 3,
28745 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28746 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28747 MVT::v4i32, 2, 2, 5,
28748 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2PP),
28749 MVT::v512i1, 3, 0, 4, 6,
28750 28,
28751 OPC_CheckPatternPredicate, 23,
28752 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28753 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28754 MVT::v4i32, 2, 1, 3,
28755 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28756 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28757 MVT::v4i32, 2, 2, 5,
28758 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WPP),
28759 MVT::v512i1, 3, 0, 4, 6,
28760 0,
28761 67,
28762 OPC_CheckChild0Integer, 102|128,27|128,1,
28763 OPC_RecordChild1,
28764 OPC_RecordChild2,
28765 OPC_RecordChild3,
28766 OPC_Scope, 28,
28767 OPC_CheckPatternPredicate, 20,
28768 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28769 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28770 MVT::v4i32, 2, 1, 3,
28771 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28772 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28773 MVT::v4i32, 2, 2, 5,
28774 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2PN),
28775 MVT::v512i1, 3, 0, 4, 6,
28776 28,
28777 OPC_CheckPatternPredicate, 23,
28778 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28779 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28780 MVT::v4i32, 2, 1, 3,
28781 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28782 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28783 MVT::v4i32, 2, 2, 5,
28784 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WPN),
28785 MVT::v512i1, 3, 0, 4, 6,
28786 0,
28787 67,
28788 OPC_CheckChild0Integer, 100|128,27|128,1,
28789 OPC_RecordChild1,
28790 OPC_RecordChild2,
28791 OPC_RecordChild3,
28792 OPC_Scope, 28,
28793 OPC_CheckPatternPredicate, 20,
28794 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28795 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28796 MVT::v4i32, 2, 1, 3,
28797 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28798 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28799 MVT::v4i32, 2, 2, 5,
28800 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2NP),
28801 MVT::v512i1, 3, 0, 4, 6,
28802 28,
28803 OPC_CheckPatternPredicate, 23,
28804 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28805 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28806 MVT::v4i32, 2, 1, 3,
28807 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28808 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28809 MVT::v4i32, 2, 2, 5,
28810 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WNP),
28811 MVT::v512i1, 3, 0, 4, 6,
28812 0,
28813 67,
28814 OPC_CheckChild0Integer, 98|128,27|128,1,
28815 OPC_RecordChild1,
28816 OPC_RecordChild2,
28817 OPC_RecordChild3,
28818 OPC_Scope, 28,
28819 OPC_CheckPatternPredicate, 20,
28820 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28822 MVT::v4i32, 2, 1, 3,
28823 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28824 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28825 MVT::v4i32, 2, 2, 5,
28826 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2NN),
28827 MVT::v512i1, 3, 0, 4, 6,
28828 28,
28829 OPC_CheckPatternPredicate, 23,
28830 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28831 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28832 MVT::v4i32, 2, 1, 3,
28833 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28834 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28835 MVT::v4i32, 2, 2, 5,
28836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF16GER2WNN),
28837 MVT::v512i1, 3, 0, 4, 6,
28838 0,
28839 64,
28840 OPC_CheckChild0Integer, 106|128,27|128,1,
28841 OPC_RecordChild1,
28842 OPC_RecordChild2,
28843 OPC_Scope, 27,
28844 OPC_CheckPatternPredicate, 20,
28845 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28847 MVT::v4i32, 2, 0, 2,
28848 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28849 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28850 MVT::v4i32, 2, 1, 4,
28851 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GER),
28852 MVT::v512i1, 2, 3, 5,
28853 27,
28854 OPC_CheckPatternPredicate, 23,
28855 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28857 MVT::v4i32, 2, 0, 2,
28858 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28859 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28860 MVT::v4i32, 2, 1, 4,
28861 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERW),
28862 MVT::v512i1, 2, 3, 5,
28863 0,
28864 67,
28865 OPC_CheckChild0Integer, 114|128,27|128,1,
28866 OPC_RecordChild1,
28867 OPC_RecordChild2,
28868 OPC_RecordChild3,
28869 OPC_Scope, 28,
28870 OPC_CheckPatternPredicate, 20,
28871 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28873 MVT::v4i32, 2, 1, 3,
28874 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28875 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28876 MVT::v4i32, 2, 2, 5,
28877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERPP),
28878 MVT::v512i1, 3, 0, 4, 6,
28879 28,
28880 OPC_CheckPatternPredicate, 23,
28881 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28882 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28883 MVT::v4i32, 2, 1, 3,
28884 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28885 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28886 MVT::v4i32, 2, 2, 5,
28887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWPP),
28888 MVT::v512i1, 3, 0, 4, 6,
28889 0,
28890 67,
28891 OPC_CheckChild0Integer, 112|128,27|128,1,
28892 OPC_RecordChild1,
28893 OPC_RecordChild2,
28894 OPC_RecordChild3,
28895 OPC_Scope, 28,
28896 OPC_CheckPatternPredicate, 20,
28897 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28898 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28899 MVT::v4i32, 2, 1, 3,
28900 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28901 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28902 MVT::v4i32, 2, 2, 5,
28903 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERPN),
28904 MVT::v512i1, 3, 0, 4, 6,
28905 28,
28906 OPC_CheckPatternPredicate, 23,
28907 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28908 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28909 MVT::v4i32, 2, 1, 3,
28910 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28912 MVT::v4i32, 2, 2, 5,
28913 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWPN),
28914 MVT::v512i1, 3, 0, 4, 6,
28915 0,
28916 67,
28917 OPC_CheckChild0Integer, 110|128,27|128,1,
28918 OPC_RecordChild1,
28919 OPC_RecordChild2,
28920 OPC_RecordChild3,
28921 OPC_Scope, 28,
28922 OPC_CheckPatternPredicate, 20,
28923 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28925 MVT::v4i32, 2, 1, 3,
28926 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28927 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28928 MVT::v4i32, 2, 2, 5,
28929 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERNP),
28930 MVT::v512i1, 3, 0, 4, 6,
28931 28,
28932 OPC_CheckPatternPredicate, 23,
28933 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28934 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28935 MVT::v4i32, 2, 1, 3,
28936 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28937 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28938 MVT::v4i32, 2, 2, 5,
28939 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWNP),
28940 MVT::v512i1, 3, 0, 4, 6,
28941 0,
28942 67,
28943 OPC_CheckChild0Integer, 108|128,27|128,1,
28944 OPC_RecordChild1,
28945 OPC_RecordChild2,
28946 OPC_RecordChild3,
28947 OPC_Scope, 28,
28948 OPC_CheckPatternPredicate, 20,
28949 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28950 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28951 MVT::v4i32, 2, 1, 3,
28952 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28953 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28954 MVT::v4i32, 2, 2, 5,
28955 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERNN),
28956 MVT::v512i1, 3, 0, 4, 6,
28957 28,
28958 OPC_CheckPatternPredicate, 23,
28959 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28961 MVT::v4i32, 2, 1, 3,
28962 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28963 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28964 MVT::v4i32, 2, 2, 5,
28965 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVF32GERWNN),
28966 MVT::v512i1, 3, 0, 4, 6,
28967 0,
28968 64,
28969 OPC_CheckChild0Integer, 86|128,27|128,1,
28970 OPC_RecordChild1,
28971 OPC_RecordChild2,
28972 OPC_Scope, 27,
28973 OPC_CheckPatternPredicate, 20,
28974 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28976 MVT::v4i32, 2, 0, 2,
28977 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28978 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28979 MVT::v4i32, 2, 1, 4,
28980 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2),
28981 MVT::v512i1, 2, 3, 5,
28982 27,
28983 OPC_CheckPatternPredicate, 23,
28984 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28985 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28986 MVT::v4i32, 2, 0, 2,
28987 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
28988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
28989 MVT::v4i32, 2, 1, 4,
28990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2W),
28991 MVT::v512i1, 2, 3, 5,
28992 0,
28993 67,
28994 OPC_CheckChild0Integer, 94|128,27|128,1,
28995 OPC_RecordChild1,
28996 OPC_RecordChild2,
28997 OPC_RecordChild3,
28998 OPC_Scope, 28,
28999 OPC_CheckPatternPredicate, 20,
29000 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29002 MVT::v4i32, 2, 1, 3,
29003 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29005 MVT::v4i32, 2, 2, 5,
29006 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2PP),
29007 MVT::v512i1, 3, 0, 4, 6,
29008 28,
29009 OPC_CheckPatternPredicate, 23,
29010 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29011 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29012 MVT::v4i32, 2, 1, 3,
29013 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29014 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29015 MVT::v4i32, 2, 2, 5,
29016 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WPP),
29017 MVT::v512i1, 3, 0, 4, 6,
29018 0,
29019 67,
29020 OPC_CheckChild0Integer, 92|128,27|128,1,
29021 OPC_RecordChild1,
29022 OPC_RecordChild2,
29023 OPC_RecordChild3,
29024 OPC_Scope, 28,
29025 OPC_CheckPatternPredicate, 20,
29026 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29027 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29028 MVT::v4i32, 2, 1, 3,
29029 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29030 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29031 MVT::v4i32, 2, 2, 5,
29032 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2PN),
29033 MVT::v512i1, 3, 0, 4, 6,
29034 28,
29035 OPC_CheckPatternPredicate, 23,
29036 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29037 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29038 MVT::v4i32, 2, 1, 3,
29039 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29040 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29041 MVT::v4i32, 2, 2, 5,
29042 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WPN),
29043 MVT::v512i1, 3, 0, 4, 6,
29044 0,
29045 67,
29046 OPC_CheckChild0Integer, 90|128,27|128,1,
29047 OPC_RecordChild1,
29048 OPC_RecordChild2,
29049 OPC_RecordChild3,
29050 OPC_Scope, 28,
29051 OPC_CheckPatternPredicate, 20,
29052 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29053 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29054 MVT::v4i32, 2, 1, 3,
29055 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29056 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29057 MVT::v4i32, 2, 2, 5,
29058 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2NP),
29059 MVT::v512i1, 3, 0, 4, 6,
29060 28,
29061 OPC_CheckPatternPredicate, 23,
29062 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29063 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29064 MVT::v4i32, 2, 1, 3,
29065 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29066 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29067 MVT::v4i32, 2, 2, 5,
29068 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WNP),
29069 MVT::v512i1, 3, 0, 4, 6,
29070 0,
29071 67,
29072 OPC_CheckChild0Integer, 88|128,27|128,1,
29073 OPC_RecordChild1,
29074 OPC_RecordChild2,
29075 OPC_RecordChild3,
29076 OPC_Scope, 28,
29077 OPC_CheckPatternPredicate, 20,
29078 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29080 MVT::v4i32, 2, 1, 3,
29081 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29083 MVT::v4i32, 2, 2, 5,
29084 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2NN),
29085 MVT::v512i1, 3, 0, 4, 6,
29086 28,
29087 OPC_CheckPatternPredicate, 23,
29088 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29089 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29090 MVT::v4i32, 2, 1, 3,
29091 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29092 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29093 MVT::v4i32, 2, 2, 5,
29094 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVBF16GER2WNN),
29095 MVT::v512i1, 3, 0, 4, 6,
29096 0,
29097 64,
29098 OPC_CheckChild0Integer, 126|128,27|128,1,
29099 OPC_RecordChild1,
29100 OPC_RecordChild2,
29101 OPC_Scope, 27,
29102 OPC_CheckPatternPredicate, 20,
29103 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29104 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29105 MVT::v4i32, 2, 0, 2,
29106 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29107 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29108 MVT::v4i32, 2, 1, 4,
29109 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2),
29110 MVT::v512i1, 2, 3, 5,
29111 27,
29112 OPC_CheckPatternPredicate, 23,
29113 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29114 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29115 MVT::v4i32, 2, 0, 2,
29116 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29117 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29118 MVT::v4i32, 2, 1, 4,
29119 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2W),
29120 MVT::v512i1, 2, 3, 5,
29121 0,
29122 67,
29123 OPC_CheckChild0Integer, 0|128,28|128,1,
29124 OPC_RecordChild1,
29125 OPC_RecordChild2,
29126 OPC_RecordChild3,
29127 OPC_Scope, 28,
29128 OPC_CheckPatternPredicate, 20,
29129 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29131 MVT::v4i32, 2, 1, 3,
29132 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29133 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29134 MVT::v4i32, 2, 2, 5,
29135 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2PP),
29136 MVT::v512i1, 3, 0, 4, 6,
29137 28,
29138 OPC_CheckPatternPredicate, 23,
29139 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29140 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29141 MVT::v4i32, 2, 1, 3,
29142 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29144 MVT::v4i32, 2, 2, 5,
29145 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI16GER2WPP),
29146 MVT::v512i1, 3, 0, 4, 6,
29147 0,
29148 67,
29149 OPC_CheckChild0Integer, 14|128,28|128,1,
29150 OPC_RecordChild1,
29151 OPC_RecordChild2,
29152 OPC_RecordChild3,
29153 OPC_Scope, 28,
29154 OPC_CheckPatternPredicate, 20,
29155 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29156 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29157 MVT::v4i32, 2, 1, 3,
29158 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29160 MVT::v4i32, 2, 2, 5,
29161 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4SPP),
29162 MVT::v512i1, 3, 0, 4, 6,
29163 28,
29164 OPC_CheckPatternPredicate, 23,
29165 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29167 MVT::v4i32, 2, 1, 3,
29168 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29169 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29170 MVT::v4i32, 2, 2, 5,
29171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVI8GER4WSPP),
29172 MVT::v512i1, 3, 0, 4, 6,
29173 0,
29174 52,
29175 OPC_CheckChild0Integer, 26|128,30|128,1,
29176 OPC_RecordChild1,
29177 OPC_RecordChild2,
29178 OPC_RecordChild3,
29179 OPC_CheckPatternPredicate1,
29180 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29181 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29182 MVT::v4i32, 2, 0, 3,
29183 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29185 MVT::v4i32, 2, 1, 5,
29186 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29188 MVT::v4i32, 2, 2, 7,
29189 OPC_EmitNode1None, TARGET_VAL(PPC::XXBLENDVB),
29190 MVT::v4i32, 3, 4, 6, 8,
29191 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29192 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29193 MVT::v16i8, 2, 9, 10,
29194 52,
29195 OPC_CheckChild0Integer, 30|128,30|128,1,
29196 OPC_RecordChild1,
29197 OPC_RecordChild2,
29198 OPC_RecordChild3,
29199 OPC_CheckPatternPredicate1,
29200 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29202 MVT::v4i32, 2, 0, 3,
29203 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29204 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29205 MVT::v4i32, 2, 1, 5,
29206 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29207 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29208 MVT::v4i32, 2, 2, 7,
29209 OPC_EmitNode1None, TARGET_VAL(PPC::XXBLENDVH),
29210 MVT::v4i32, 3, 4, 6, 8,
29211 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29212 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29213 MVT::v8i16, 2, 9, 10,
29214 44|128,1,
29215 OPC_CheckChild0Integer, 24|128,27|128,1,
29216 OPC_RecordChild1,
29217 OPC_RecordChild2,
29218 OPC_RecordChild3,
29219 OPC_RecordChild4,
29220 OPC_Scope, 59,
29221 OPC_CheckPatternPredicate, 23,
29222 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29223 MVT::v256i1, 0,
29224 OPC_EmitStringInteger32, PPC::sub_vsx1,
29225 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29226 MVT::v256i1, 3, 4, 1, 5,
29227 OPC_EmitStringInteger32, PPC::sub_vsx0,
29228 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29229 MVT::v256i1, 3, 6, 0, 7,
29230 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29231 MVT::v256i1, 0,
29232 OPC_EmitStringInteger32, PPC::sub_vsx1,
29233 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29234 MVT::v256i1, 3, 9, 3, 10,
29235 OPC_EmitStringInteger32, PPC::sub_vsx0,
29236 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29237 MVT::v256i1, 3, 11, 2, 12,
29238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTFDMR512),
29239 MVT::v512i1, 2, 8, 13,
29240 101,
29241 OPC_CheckPatternPredicate, 20,
29242 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29243 MVT::v512i1, 0,
29244 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29245 MVT::v256i1, 0,
29246 OPC_EmitStringInteger32, PPC::sub_vsx1,
29247 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29248 MVT::v256i1, 3, 5, 1, 6,
29249 OPC_EmitStringInteger32, PPC::sub_vsx0,
29250 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29251 MVT::v256i1, 3, 7, 0, 8,
29252 OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
29253 MVT::v256i1, 1, 9,
29254 OPC_EmitStringInteger32, PPC::sub_pair0,
29255 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29256 MVT::v512i1, 3, 4, 10, 11,
29257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29258 MVT::v256i1, 0,
29259 OPC_EmitStringInteger32, PPC::sub_vsx1,
29260 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29261 MVT::v256i1, 3, 13, 3, 14,
29262 OPC_EmitStringInteger32, PPC::sub_vsx0,
29263 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29264 MVT::v256i1, 3, 15, 2, 16,
29265 OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
29266 MVT::v256i1, 1, 17,
29267 OPC_EmitStringInteger32, PPC::sub_pair1,
29268 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29269 MVT::v512i1, 3, 12, 18, 19,
29270 OPC_EmitNode1None, TARGET_VAL(PPC::BUILD_UACC),
29271 MVT::v512i1, 1, 20,
29272 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
29273 MVT::v512i1, 1, 21,
29274 0,
29275 12,
29276 OPC_CheckChild0Integer, 78|128,29|128,1,
29277 OPC_RecordChild1,
29278 OPC_CheckPatternPredicate2,
29279 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSP),
29280 MVT::v4f32, 1, 0,
29281 12,
29282 OPC_CheckChild0Integer, 88|128,29|128,1,
29283 OPC_RecordChild1,
29284 OPC_CheckPatternPredicate2,
29285 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
29286 MVT::v2f64, 1, 0,
29287 12,
29288 OPC_CheckChild0Integer, 96|128,29|128,1,
29289 OPC_RecordChild1,
29290 OPC_CheckPatternPredicate2,
29291 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXDSP),
29292 MVT::v4f32, 1, 0,
29293 12,
29294 OPC_CheckChild0Integer, 100|128,29|128,1,
29295 OPC_RecordChild1,
29296 OPC_CheckPatternPredicate2,
29297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXDSP),
29298 MVT::v4f32, 1, 0,
29299 12,
29300 OPC_CheckChild0Integer, 98|128,29|128,1,
29301 OPC_RecordChild1,
29302 OPC_CheckPatternPredicate2,
29303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
29304 MVT::v2f64, 1, 0,
29305 12,
29306 OPC_CheckChild0Integer, 102|128,29|128,1,
29307 OPC_RecordChild1,
29308 OPC_CheckPatternPredicate2,
29309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
29310 MVT::v2f64, 1, 0,
29311 14,
29312 OPC_CheckChild0Integer, 112|128,29|128,1,
29313 OPC_RecordChild1,
29314 OPC_RecordChild2,
29315 OPC_CheckPatternPredicate2,
29316 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
29317 MVT::v2f64, 2, 0, 1,
29318 14,
29319 OPC_CheckChild0Integer, 116|128,29|128,1,
29320 OPC_RecordChild1,
29321 OPC_RecordChild2,
29322 OPC_CheckPatternPredicate2,
29323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINDP),
29324 MVT::v2f64, 2, 0, 1,
29325 14,
29326 OPC_CheckChild0Integer, 114|128,29|128,1,
29327 OPC_RecordChild1,
29328 OPC_RecordChild2,
29329 OPC_CheckPatternPredicate2,
29330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
29331 MVT::v4f32, 2, 0, 1,
29332 14,
29333 OPC_CheckChild0Integer, 118|128,29|128,1,
29334 OPC_RecordChild1,
29335 OPC_RecordChild2,
29336 OPC_CheckPatternPredicate2,
29337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINSP),
29338 MVT::v4f32, 2, 0, 1,
29339 12,
29340 OPC_CheckChild0Integer, 90|128,29|128,1,
29341 OPC_RecordChild1,
29342 OPC_CheckPatternPredicate7,
29343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPHP),
29344 MVT::v4f32, 1, 0,
29345 14,
29346 OPC_CheckChild0Integer, 108|128,29|128,1,
29347 OPC_RecordChild1,
29348 OPC_RecordChild2,
29349 OPC_CheckPatternPredicate7,
29350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVIEXPDP),
29351 MVT::v2f64, 2, 0, 1,
29352 14,
29353 OPC_CheckChild0Integer, 110|128,29|128,1,
29354 OPC_RecordChild1,
29355 OPC_RecordChild2,
29356 OPC_CheckPatternPredicate7,
29357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVIEXPSP),
29358 MVT::v4f32, 2, 0, 1,
29359 14,
29360 OPC_CheckChild0Integer, 106|128,29|128,1,
29361 OPC_RecordChild1,
29362 OPC_RecordChild2,
29363 OPC_CheckPatternPredicate2,
29364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVSP),
29365 MVT::v4f32, 2, 0, 1,
29366 14,
29367 OPC_CheckChild0Integer, 104|128,29|128,1,
29368 OPC_RecordChild1,
29369 OPC_RecordChild2,
29370 OPC_CheckPatternPredicate2,
29371 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVDP),
29372 MVT::v2f64, 2, 0, 1,
29373 12,
29374 OPC_CheckChild0Integer, 124|128,29|128,1,
29375 OPC_RecordChild1,
29376 OPC_CheckPatternPredicate2,
29377 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRESP),
29378 MVT::v4f32, 1, 0,
29379 12,
29380 OPC_CheckChild0Integer, 122|128,29|128,1,
29381 OPC_RecordChild1,
29382 OPC_CheckPatternPredicate2,
29383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVREDP),
29384 MVT::v2f64, 1, 0,
29385 12,
29386 OPC_CheckChild0Integer, 2|128,30|128,1,
29387 OPC_RecordChild1,
29388 OPC_CheckPatternPredicate2,
29389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTESP),
29390 MVT::v4f32, 1, 0,
29391 12,
29392 OPC_CheckChild0Integer, 0|128,30|128,1,
29393 OPC_RecordChild1,
29394 OPC_CheckPatternPredicate2,
29395 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTEDP),
29396 MVT::v2f64, 1, 0,
29397 21,
29398 OPC_CheckChild0Integer, 84|128,29|128,1,
29399 OPC_RecordChild1,
29400 OPC_CheckPatternPredicate7,
29401 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29402 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29403 MVT::v4i32, 2, 0, 1,
29404 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVHPSP),
29405 MVT::v4f32, 1, 2,
29406 32,
29407 OPC_CheckChild0Integer, 86|128,21|128,1,
29408 OPC_RecordChild1,
29409 OPC_Scope, 9,
29410 OPC_CheckChild2Integer, 0,
29411 OPC_CheckPatternPredicate3,
29412 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX_0),
29413 MVT::v4f32, 1, 0,
29414 14,
29415 OPC_RecordChild2,
29416 OPC_MoveChild2,
29417 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
29418 OPC_MoveParent,
29419 OPC_CheckPatternPredicate3,
29420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX),
29421 MVT::v4f32, 2, 1, 0,
29422 0,
29423 32,
29424 OPC_CheckChild0Integer, 90|128,21|128,1,
29425 OPC_RecordChild1,
29426 OPC_Scope, 9,
29427 OPC_CheckChild2Integer, 0,
29428 OPC_CheckPatternPredicate3,
29429 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX_0),
29430 MVT::v4f32, 1, 0,
29431 14,
29432 OPC_RecordChild2,
29433 OPC_MoveChild2,
29434 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
29435 OPC_MoveParent,
29436 OPC_CheckPatternPredicate3,
29437 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX),
29438 MVT::v4f32, 2, 1, 0,
29439 0,
29440 12,
29441 OPC_CheckChild0Integer, 110|128,22|128,1,
29442 OPC_RecordChild1,
29443 OPC_CheckPatternPredicate3,
29444 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXPTEFP),
29445 MVT::v4f32, 1, 0,
29446 12,
29447 OPC_CheckChild0Integer, 58|128,23|128,1,
29448 OPC_RecordChild1,
29449 OPC_CheckPatternPredicate3,
29450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VLOGEFP),
29451 MVT::v4f32, 1, 0,
29452 14,
29453 OPC_CheckChild0Integer, 62|128,23|128,1,
29454 OPC_RecordChild1,
29455 OPC_RecordChild2,
29456 OPC_CheckPatternPredicate3,
29457 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXFP),
29458 MVT::v4f32, 2, 0, 1,
29459 14,
29460 OPC_CheckChild0Integer, 84|128,23|128,1,
29461 OPC_RecordChild1,
29462 OPC_RecordChild2,
29463 OPC_CheckPatternPredicate3,
29464 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINFP),
29465 MVT::v4f32, 2, 0, 1,
29466 12,
29467 OPC_CheckChild0Integer, 66|128,24|128,1,
29468 OPC_RecordChild1,
29469 OPC_CheckPatternPredicate3,
29470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VREFP),
29471 MVT::v4f32, 1, 0,
29472 12,
29473 OPC_CheckChild0Integer, 68|128,24|128,1,
29474 OPC_RecordChild1,
29475 OPC_CheckPatternPredicate3,
29476 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIM),
29477 MVT::v4f32, 1, 0,
29478 12,
29479 OPC_CheckChild0Integer, 70|128,24|128,1,
29480 OPC_RecordChild1,
29481 OPC_CheckPatternPredicate3,
29482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIN),
29483 MVT::v4f32, 1, 0,
29484 12,
29485 OPC_CheckChild0Integer, 72|128,24|128,1,
29486 OPC_RecordChild1,
29487 OPC_CheckPatternPredicate3,
29488 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIP),
29489 MVT::v4f32, 1, 0,
29490 12,
29491 OPC_CheckChild0Integer, 74|128,24|128,1,
29492 OPC_RecordChild1,
29493 OPC_CheckPatternPredicate3,
29494 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIZ),
29495 MVT::v4f32, 1, 0,
29496 12,
29497 OPC_CheckChild0Integer, 96|128,24|128,1,
29498 OPC_RecordChild1,
29499 OPC_CheckPatternPredicate3,
29500 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRSQRTEFP),
29501 MVT::v4f32, 1, 0,
29502 16,
29503 OPC_CheckChild0Integer, 60|128,23|128,1,
29504 OPC_RecordChild1,
29505 OPC_RecordChild2,
29506 OPC_RecordChild3,
29507 OPC_CheckPatternPredicate3,
29508 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
29509 MVT::v4f32, 3, 0, 1, 2,
29510 16,
29511 OPC_CheckChild0Integer, 32|128,24|128,1,
29512 OPC_RecordChild1,
29513 OPC_RecordChild2,
29514 OPC_RecordChild3,
29515 OPC_CheckPatternPredicate3,
29516 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
29517 MVT::v4f32, 3, 0, 1, 2,
29518 0,
29519 44, TARGET_VAL(PPCISD::FTSQRT),
29520 OPC_RecordChild0,
29521 OPC_Scope, 20,
29522 OPC_CheckChild0Type, MVT::f64,
29523 OPC_Scope, 7,
29524 OPC_CheckPatternPredicate2,
29525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSTSQRTDP),
29526 MVT::i32, 1, 0,
29527 7,
29528 OPC_CheckPatternPredicate0,
29529 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FTSQRT),
29530 MVT::i32, 1, 0,
29531 0,
29532 9,
29533 OPC_CheckChild0Type, MVT::v2f64,
29534 OPC_CheckPatternPredicate2,
29535 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSQRTDP),
29536 MVT::i32, 1, 0,
29537 9,
29538 OPC_CheckChild0Type, MVT::v4f32,
29539 OPC_CheckPatternPredicate2,
29540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVTSQRTSP),
29541 MVT::i32, 1, 0,
29542 0,
29543 25, TARGET_VAL(PPCISD::MFVSR),
29544 OPC_RecordChild0,
29545 OPC_CheckChild0Type, MVT::f64,
29546 OPC_SwitchType , 8, MVT::i64,
29547 OPC_CheckPatternPredicate, 30,
29548 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
29549 MVT::i64, 1, 0,
29550 8, MVT::i32,
29551 OPC_CheckPatternPredicate, 30,
29552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
29553 MVT::i32, 1, 0,
29554 0,
29555 57|128,6, TARGET_VAL(ISD::BITCAST),
29556 OPC_Scope, 57|128,1,
29557 OPC_RecordChild0,
29558 OPC_SwitchType , 10, MVT::i64,
29559 OPC_CheckChild0Type, MVT::f64,
29560 OPC_CheckPatternPredicate, 30,
29561 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
29562 MVT::i64, 1, 0,
29563 25, MVT::i32,
29564 OPC_CheckChild0Type, MVT::f32,
29565 OPC_CheckPatternPredicate, 30,
29566 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
29567 MVT::v4i32, 1, 0,
29568 OPC_EmitStringInteger32, PPC::sub_64,
29569 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29570 MVT::f64, 2, 1, 2,
29571 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
29572 MVT::i32, 1, 3,
29573 9, MVT::f64,
29574 OPC_CheckChild0TypeI64,
29575 OPC_CheckPatternPredicate, 30,
29576 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRD),
29577 MVT::f64, 1, 0,
29578 91, MVT::f32,
29579 OPC_CheckChild0TypeI32,
29580 OPC_CheckPatternPredicate, 30,
29581 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29582 MVT::v2i64, 0,
29583 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29584 MVT::i64, 0,
29585 OPC_EmitStringInteger32, PPC::sub_32,
29586 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29587 MVT::i64, 3, 2, 0, 3,
29588 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
29589 MVT::f64, 1, 4,
29590 OPC_EmitStringInteger32, PPC::sub_64,
29591 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29592 MVT::v2i64, 3, 1, 5, 6,
29593 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29594 MVT::v2i64, 0,
29595 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
29596 MVT::i64, 0,
29597 OPC_EmitStringInteger32, PPC::sub_32,
29598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29599 MVT::i64, 3, 9, 0, 10,
29600 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
29601 MVT::f64, 1, 11,
29602 OPC_EmitStringInteger32, PPC::sub_64,
29603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
29604 MVT::v2i64, 3, 8, 12, 13,
29605 OPC_EmitInteger32, 2,
29606 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
29607 MVT::v4i32, 3, 7, 14, 15,
29608 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
29609 MVT::f32, 1, 16,
29610 37, MVT::f128,
29611 OPC_Scope, 6,
29612 OPC_CheckChild0Type, MVT::v16i8,
29613 OPC_CheckPatternPredicate3,
29614 OPC_CompleteMatch, 1, 0,
29615
29616 6,
29617 OPC_CheckChild0Type, MVT::v8i16,
29618 OPC_CheckPatternPredicate3,
29619 OPC_CompleteMatch, 1, 0,
29620
29621 6,
29622 OPC_CheckChild0Type, MVT::v4i32,
29623 OPC_CheckPatternPredicate3,
29624 OPC_CompleteMatch, 1, 0,
29625
29626 6,
29627 OPC_CheckChild0Type, MVT::v4f32,
29628 OPC_CheckPatternPredicate3,
29629 OPC_CompleteMatch, 1, 0,
29630
29631 6,
29632 OPC_CheckChild0Type, MVT::v2f64,
29633 OPC_CheckPatternPredicate3,
29634 OPC_CompleteMatch, 1, 0,
29635
29636 0,
29637 0,
29638 70,
29639 OPC_MoveChild0,
29640 OPC_CheckImmAllOnesV,
29641 OPC_CheckType, MVT::v16i8,
29642 OPC_MoveParent,
29643 OPC_SwitchType , 7, MVT::v4i32,
29644 OPC_CheckPatternPredicate, 11,
29645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQVOnes),
29646 MVT::v4i32, 0,
29647 16, MVT::v1i128,
29648 OPC_CheckPatternPredicate, 11,
29649 OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
29650 MVT::v4i32, 0,
29651 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29652 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29653 MVT::v1i128, 2, 0, 1,
29654 16, MVT::v2i64,
29655 OPC_CheckPatternPredicate, 11,
29656 OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
29657 MVT::v4i32, 0,
29658 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29659 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29660 MVT::v2i64, 2, 0, 1,
29661 16, MVT::v8i16,
29662 OPC_CheckPatternPredicate, 11,
29663 OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
29664 MVT::v4i32, 0,
29665 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29666 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29667 MVT::v8i16, 2, 0, 1,
29668 0,
29669 51|128,4,
29670 OPC_RecordChild0,
29671 OPC_Scope, 76,
29672 OPC_CheckChild0Type, MVT::v2f64,
29673 OPC_SwitchType , 10, MVT::v4i32,
29674 OPC_CheckPatternPredicate2,
29675 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29676 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29677 MVT::v4i32, 2, 0, 1,
29678 10, MVT::v8i16,
29679 OPC_CheckPatternPredicate2,
29680 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29681 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29682 MVT::v8i16, 2, 0, 1,
29683 10, MVT::v16i8,
29684 OPC_CheckPatternPredicate2,
29685 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29686 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29687 MVT::v16i8, 2, 0, 1,
29688 10, MVT::v2i64,
29689 OPC_CheckPatternPredicate2,
29690 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29691 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29692 MVT::v2i64, 2, 0, 1,
29693 10, MVT::v1i128,
29694 OPC_CheckPatternPredicate2,
29695 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29696 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29697 MVT::v1i128, 2, 0, 1,
29698 10, MVT::v4f32,
29699 OPC_CheckPatternPredicate2,
29700 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29701 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29702 MVT::v4f32, 2, 0, 1,
29703 0,
29704 60,
29705 OPC_CheckChild0Type, MVT::v4f32,
29706 OPC_SwitchType , 18, MVT::v2i64,
29707 OPC_Scope, 10,
29708 OPC_CheckPatternPredicate2,
29709 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29710 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29711 MVT::v2i64, 2, 0, 1,
29712 4,
29713 OPC_CheckPatternPredicate3,
29714 OPC_CompleteMatch, 1, 0,
29715
29716 0,
29717 4, MVT::v16i8,
29718 OPC_CheckPatternPredicate3,
29719 OPC_CompleteMatch, 1, 0,
29720
29721 4, MVT::v8i16,
29722 OPC_CheckPatternPredicate3,
29723 OPC_CompleteMatch, 1, 0,
29724
29725 4, MVT::v4i32,
29726 OPC_CheckPatternPredicate3,
29727 OPC_CompleteMatch, 1, 0,
29728
29729 4, MVT::v1i128,
29730 OPC_CheckPatternPredicate3,
29731 OPC_CompleteMatch, 1, 0,
29732
29733 10, MVT::v2f64,
29734 OPC_CheckPatternPredicate2,
29735 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29736 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29737 MVT::v2f64, 2, 0, 1,
29738 0,
29739 60,
29740 OPC_CheckChild0Type, MVT::v4i32,
29741 OPC_SwitchType , 18, MVT::v2i64,
29742 OPC_Scope, 10,
29743 OPC_CheckPatternPredicate2,
29744 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29745 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29746 MVT::v2i64, 2, 0, 1,
29747 4,
29748 OPC_CheckPatternPredicate3,
29749 OPC_CompleteMatch, 1, 0,
29750
29751 0,
29752 4, MVT::v16i8,
29753 OPC_CheckPatternPredicate3,
29754 OPC_CompleteMatch, 1, 0,
29755
29756 4, MVT::v8i16,
29757 OPC_CheckPatternPredicate3,
29758 OPC_CompleteMatch, 1, 0,
29759
29760 4, MVT::v1i128,
29761 OPC_CheckPatternPredicate3,
29762 OPC_CompleteMatch, 1, 0,
29763
29764 10, MVT::v2f64,
29765 OPC_CheckPatternPredicate2,
29766 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29767 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29768 MVT::v2f64, 2, 0, 1,
29769 4, MVT::v4f32,
29770 OPC_CheckPatternPredicate3,
29771 OPC_CompleteMatch, 1, 0,
29772
29773 0,
29774 60,
29775 OPC_CheckChild0Type, MVT::v8i16,
29776 OPC_SwitchType , 18, MVT::v2i64,
29777 OPC_Scope, 10,
29778 OPC_CheckPatternPredicate2,
29779 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29780 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29781 MVT::v2i64, 2, 0, 1,
29782 4,
29783 OPC_CheckPatternPredicate3,
29784 OPC_CompleteMatch, 1, 0,
29785
29786 0,
29787 4, MVT::v16i8,
29788 OPC_CheckPatternPredicate3,
29789 OPC_CompleteMatch, 1, 0,
29790
29791 4, MVT::v4i32,
29792 OPC_CheckPatternPredicate3,
29793 OPC_CompleteMatch, 1, 0,
29794
29795 4, MVT::v1i128,
29796 OPC_CheckPatternPredicate3,
29797 OPC_CompleteMatch, 1, 0,
29798
29799 10, MVT::v2f64,
29800 OPC_CheckPatternPredicate2,
29801 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29802 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29803 MVT::v2f64, 2, 0, 1,
29804 4, MVT::v4f32,
29805 OPC_CheckPatternPredicate3,
29806 OPC_CompleteMatch, 1, 0,
29807
29808 0,
29809 60,
29810 OPC_CheckChild0Type, MVT::v16i8,
29811 OPC_SwitchType , 18, MVT::v2i64,
29812 OPC_Scope, 10,
29813 OPC_CheckPatternPredicate2,
29814 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29815 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29816 MVT::v2i64, 2, 0, 1,
29817 4,
29818 OPC_CheckPatternPredicate3,
29819 OPC_CompleteMatch, 1, 0,
29820
29821 0,
29822 4, MVT::v8i16,
29823 OPC_CheckPatternPredicate3,
29824 OPC_CompleteMatch, 1, 0,
29825
29826 4, MVT::v4i32,
29827 OPC_CheckPatternPredicate3,
29828 OPC_CompleteMatch, 1, 0,
29829
29830 4, MVT::v1i128,
29831 OPC_CheckPatternPredicate3,
29832 OPC_CompleteMatch, 1, 0,
29833
29834 10, MVT::v2f64,
29835 OPC_CheckPatternPredicate2,
29836 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
29837 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29838 MVT::v2f64, 2, 0, 1,
29839 4, MVT::v4f32,
29840 OPC_CheckPatternPredicate3,
29841 OPC_CompleteMatch, 1, 0,
29842
29843 0,
29844 102,
29845 OPC_CheckChild0Type, MVT::v2i64,
29846 OPC_SwitchType , 18, MVT::v4i32,
29847 OPC_Scope, 10,
29848 OPC_CheckPatternPredicate2,
29849 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29850 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29851 MVT::v4i32, 2, 0, 1,
29852 4,
29853 OPC_CheckPatternPredicate3,
29854 OPC_CompleteMatch, 1, 0,
29855
29856 0,
29857 18, MVT::v8i16,
29858 OPC_Scope, 10,
29859 OPC_CheckPatternPredicate2,
29860 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29861 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29862 MVT::v8i16, 2, 0, 1,
29863 4,
29864 OPC_CheckPatternPredicate3,
29865 OPC_CompleteMatch, 1, 0,
29866
29867 0,
29868 18, MVT::v16i8,
29869 OPC_Scope, 10,
29870 OPC_CheckPatternPredicate2,
29871 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29872 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29873 MVT::v16i8, 2, 0, 1,
29874 4,
29875 OPC_CheckPatternPredicate3,
29876 OPC_CompleteMatch, 1, 0,
29877
29878 0,
29879 4, MVT::v1i128,
29880 OPC_CheckPatternPredicate3,
29881 OPC_CompleteMatch, 1, 0,
29882
29883 18, MVT::v4f32,
29884 OPC_Scope, 10,
29885 OPC_CheckPatternPredicate2,
29886 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29887 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29888 MVT::v4f32, 2, 0, 1,
29889 4,
29890 OPC_CheckPatternPredicate3,
29891 OPC_CompleteMatch, 1, 0,
29892
29893 0,
29894 10, MVT::v2f64,
29895 OPC_CheckPatternPredicate2,
29896 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29897 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29898 MVT::v2f64, 2, 0, 1,
29899 0,
29900 88,
29901 OPC_CheckChild0Type, MVT::f128,
29902 OPC_SwitchType , 10, MVT::v2i64,
29903 OPC_CheckPatternPredicate2,
29904 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29905 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29906 MVT::v2i64, 2, 0, 1,
29907 18, MVT::v4i32,
29908 OPC_Scope, 10,
29909 OPC_CheckPatternPredicate2,
29910 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29911 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29912 MVT::v4i32, 2, 0, 1,
29913 4,
29914 OPC_CheckPatternPredicate3,
29915 OPC_CompleteMatch, 1, 0,
29916
29917 0,
29918 18, MVT::v8i16,
29919 OPC_Scope, 10,
29920 OPC_CheckPatternPredicate2,
29921 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29922 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29923 MVT::v8i16, 2, 0, 1,
29924 4,
29925 OPC_CheckPatternPredicate3,
29926 OPC_CompleteMatch, 1, 0,
29927
29928 0,
29929 18, MVT::v16i8,
29930 OPC_Scope, 10,
29931 OPC_CheckPatternPredicate2,
29932 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29933 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29934 MVT::v16i8, 2, 0, 1,
29935 4,
29936 OPC_CheckPatternPredicate3,
29937 OPC_CompleteMatch, 1, 0,
29938
29939 0,
29940 4, MVT::v4f32,
29941 OPC_CheckPatternPredicate3,
29942 OPC_CompleteMatch, 1, 0,
29943
29944 4, MVT::v2f64,
29945 OPC_CheckPatternPredicate3,
29946 OPC_CompleteMatch, 1, 0,
29947
29948 0,
29949 46,
29950 OPC_CheckChild0Type, MVT::v1i128,
29951 OPC_SwitchType , 4, MVT::v16i8,
29952 OPC_CheckPatternPredicate3,
29953 OPC_CompleteMatch, 1, 0,
29954
29955 4, MVT::v8i16,
29956 OPC_CheckPatternPredicate3,
29957 OPC_CompleteMatch, 1, 0,
29958
29959 4, MVT::v4i32,
29960 OPC_CheckPatternPredicate3,
29961 OPC_CompleteMatch, 1, 0,
29962
29963 4, MVT::v2i64,
29964 OPC_CheckPatternPredicate3,
29965 OPC_CompleteMatch, 1, 0,
29966
29967 10, MVT::v2f64,
29968 OPC_CheckPatternPredicate2,
29969 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
29970 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29971 MVT::v2f64, 2, 0, 1,
29972 4, MVT::v4f32,
29973 OPC_CheckPatternPredicate3,
29974 OPC_CompleteMatch, 1, 0,
29975
29976 0,
29977 0,
29978 0,
29979 47, TARGET_VAL(ISD::LRINT),
29980 OPC_RecordChild0,
29981 OPC_CheckTypeI64,
29982 OPC_Scope, 16,
29983 OPC_CheckChild0Type, MVT::f64,
29984 OPC_CheckPatternPredicate, 30,
29985 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
29986 MVT::f64, 1, 0,
29987 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
29988 MVT::i64, 1, 1,
29989 25,
29990 OPC_CheckChild0Type, MVT::f32,
29991 OPC_CheckPatternPredicate, 30,
29992 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
29993 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
29994 MVT::f64, 2, 0, 1,
29995 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
29996 MVT::f64, 1, 2,
29997 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
29998 MVT::i64, 1, 3,
29999 0,
30000 47, TARGET_VAL(ISD::LLRINT),
30001 OPC_RecordChild0,
30002 OPC_CheckTypeI64,
30003 OPC_Scope, 16,
30004 OPC_CheckChild0Type, MVT::f64,
30005 OPC_CheckPatternPredicate, 30,
30006 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30007 MVT::f64, 1, 0,
30008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30009 MVT::i64, 1, 1,
30010 25,
30011 OPC_CheckChild0Type, MVT::f32,
30012 OPC_CheckPatternPredicate, 30,
30013 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
30014 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30015 MVT::f64, 2, 0, 1,
30016 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30017 MVT::f64, 1, 2,
30018 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30019 MVT::i64, 1, 3,
30020 0,
30021 45, TARGET_VAL(ISD::FP_TO_FP16),
30022 OPC_RecordChild0,
30023 OPC_CheckTypeI32,
30024 OPC_Scope, 15,
30025 OPC_CheckChild0Type, MVT::f64,
30026 OPC_CheckPatternPredicate7,
30027 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPHP),
30028 MVT::f64, 1, 0,
30029 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
30030 MVT::i32, 1, 1,
30031 24,
30032 OPC_CheckChild0Type, MVT::f32,
30033 OPC_CheckPatternPredicate7,
30034 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
30035 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30036 MVT::f64, 2, 0, 1,
30037 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPHP),
30038 MVT::f64, 1, 2,
30039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
30040 MVT::i32, 1, 3,
30041 0,
30042 99, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
30043 OPC_RecordNode,
30044 OPC_RecordChild1,
30045 OPC_Scope, 48,
30046 OPC_CheckChild1Type, MVT::f128,
30047 OPC_SwitchType , 14, MVT::i64,
30048 OPC_CheckPatternPredicate7,
30049 OPC_EmitMergeInputChains1_0,
30050 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPSDZ),
30051 MVT::v4i32, 1, 1,
30052 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFVRD),
30053 MVT::i64, 1, 2,
30054 26, MVT::i32,
30055 OPC_CheckPatternPredicate7,
30056 OPC_EmitMergeInputChains1_0,
30057 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPSWZ),
30058 MVT::f128, 1, 1,
30059 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
30060 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30061 MVT::f64, 2, 2, 3,
30062 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
30063 MVT::i32, 1, 4,
30064 OPC_CompleteMatch, 1, 5,
30065
30066 0,
30067 11,
30068 OPC_CheckChild1Type, MVT::f64,
30069 OPC_CheckTypeI32,
30070 OPC_CheckPatternPredicate5,
30071 OPC_EmitMergeInputChains1_0,
30072 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCTSIZ),
30073 MVT::i32, 1, 1,
30074 11,
30075 OPC_CheckChild1Type, MVT::f32,
30076 OPC_CheckTypeI32,
30077 OPC_CheckPatternPredicate5,
30078 OPC_EmitMergeInputChains1_0,
30079 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCTSIZ),
30080 MVT::i32, 1, 1,
30081 10,
30082 OPC_CheckType, MVT::v2i64,
30083 OPC_CheckPatternPredicate2,
30084 OPC_EmitMergeInputChains1_0,
30085 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
30086 MVT::v2i64, 1, 1,
30087 10,
30088 OPC_CheckType, MVT::v4i32,
30089 OPC_CheckPatternPredicate2,
30090 OPC_EmitMergeInputChains1_0,
30091 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
30092 MVT::v4i32, 1, 1,
30093 0,
30094 103|128,1, TARGET_VAL(ISD::FP_TO_SINT),
30095 OPC_Scope, 69,
30096 OPC_RecordChild0,
30097 OPC_Scope, 43,
30098 OPC_CheckChild0Type, MVT::f128,
30099 OPC_SwitchType , 13, MVT::i64,
30100 OPC_CheckPatternPredicate7,
30101 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPSDZ),
30102 MVT::v4i32, 1, 0,
30103 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVRD),
30104 MVT::i64, 1, 1,
30105 22, MVT::i32,
30106 OPC_CheckPatternPredicate7,
30107 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPSWZ),
30108 MVT::f128, 1, 0,
30109 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
30110 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30111 MVT::f64, 2, 1, 2,
30112 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
30113 MVT::i32, 1, 3,
30114 0,
30115 10,
30116 OPC_CheckChild0Type, MVT::f64,
30117 OPC_CheckTypeI32,
30118 OPC_CheckPatternPredicate5,
30119 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCTSIZ),
30120 MVT::i32, 1, 0,
30121 10,
30122 OPC_CheckChild0Type, MVT::f32,
30123 OPC_CheckTypeI32,
30124 OPC_CheckPatternPredicate5,
30125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCTSIZ),
30126 MVT::i32, 1, 0,
30127 0,
30128 125,
30129 OPC_MoveChild0,
30130 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30131 OPC_MoveChild0,
30132 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30133 OPC_MoveChild0,
30134 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30135 OPC_RecordChild0,
30136 OPC_Scope, 54,
30137 OPC_CheckChild1Integer, 0,
30138 OPC_MoveParent,
30139 OPC_CheckType, MVT::f64,
30140 OPC_MoveSibling1,
30141 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30142 OPC_MoveChild0,
30143 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30144 OPC_CheckChild0Same, 0,
30145 OPC_CheckChild1Integer, 4,
30146 OPC_MoveParent,
30147 OPC_CheckType, MVT::f64,
30148 OPC_MoveParent,
30149 OPC_MoveParent,
30150 OPC_CheckType, MVT::v2i64,
30151 OPC_Scope, 8,
30152 OPC_CheckPatternPredicate, 17,
30153 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
30154 MVT::v2i64, 1, 0,
30155 18,
30156 OPC_CheckPatternPredicate, 13,
30157 OPC_EmitInteger32, 2,
30158 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
30159 MVT::v4i32, 3, 0, 0, 1,
30160 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
30161 MVT::v2i64, 1, 2,
30162 0,
30163 54,
30164 OPC_CheckChild1Integer, 2,
30165 OPC_MoveParent,
30166 OPC_CheckType, MVT::f64,
30167 OPC_MoveSibling1,
30168 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30169 OPC_MoveChild0,
30170 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30171 OPC_CheckChild0Same, 0,
30172 OPC_CheckChild1Integer, 6,
30173 OPC_MoveParent,
30174 OPC_CheckType, MVT::f64,
30175 OPC_MoveParent,
30176 OPC_MoveParent,
30177 OPC_CheckType, MVT::v2i64,
30178 OPC_Scope, 8,
30179 OPC_CheckPatternPredicate, 13,
30180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
30181 MVT::v2i64, 1, 0,
30182 18,
30183 OPC_CheckPatternPredicate, 17,
30184 OPC_EmitInteger32, 2,
30185 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
30186 MVT::v4i32, 3, 0, 0, 1,
30187 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXDS),
30188 MVT::v2i64, 1, 2,
30189 0,
30190 0,
30191 32,
30192 OPC_RecordChild0,
30193 OPC_SwitchType , 7, MVT::v2i64,
30194 OPC_CheckPatternPredicate2,
30195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPSXDS),
30196 MVT::v2i64, 1, 0,
30197 18, MVT::v4i32,
30198 OPC_Scope, 7,
30199 OPC_CheckPatternPredicate2,
30200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPSXWS),
30201 MVT::v4i32, 1, 0,
30202 7,
30203 OPC_CheckPatternPredicate3,
30204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTSXS_0),
30205 MVT::v4i32, 1, 0,
30206 0,
30207 0,
30208 0,
30209 99, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
30210 OPC_RecordNode,
30211 OPC_RecordChild1,
30212 OPC_Scope, 48,
30213 OPC_CheckChild1Type, MVT::f128,
30214 OPC_SwitchType , 14, MVT::i64,
30215 OPC_CheckPatternPredicate7,
30216 OPC_EmitMergeInputChains1_0,
30217 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPUDZ),
30218 MVT::v4i32, 1, 1,
30219 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFVRD),
30220 MVT::i64, 1, 2,
30221 26, MVT::i32,
30222 OPC_CheckPatternPredicate7,
30223 OPC_EmitMergeInputChains1_0,
30224 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVQPUWZ),
30225 MVT::f128, 1, 1,
30226 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
30227 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30228 MVT::f64, 2, 2, 3,
30229 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRWZ),
30230 MVT::i32, 1, 4,
30231 OPC_CompleteMatch, 1, 5,
30232
30233 0,
30234 11,
30235 OPC_CheckChild1Type, MVT::f64,
30236 OPC_CheckTypeI32,
30237 OPC_CheckPatternPredicate5,
30238 OPC_EmitMergeInputChains1_0,
30239 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCTUIZ),
30240 MVT::i32, 1, 1,
30241 11,
30242 OPC_CheckChild1Type, MVT::f32,
30243 OPC_CheckTypeI32,
30244 OPC_CheckPatternPredicate5,
30245 OPC_EmitMergeInputChains1_0,
30246 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCTUIZ),
30247 MVT::i32, 1, 1,
30248 10,
30249 OPC_CheckType, MVT::v2i64,
30250 OPC_CheckPatternPredicate2,
30251 OPC_EmitMergeInputChains1_0,
30252 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
30253 MVT::v2i64, 1, 1,
30254 10,
30255 OPC_CheckType, MVT::v4i32,
30256 OPC_CheckPatternPredicate2,
30257 OPC_EmitMergeInputChains1_0,
30258 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
30259 MVT::v4i32, 1, 1,
30260 0,
30261 103|128,1, TARGET_VAL(ISD::FP_TO_UINT),
30262 OPC_Scope, 69,
30263 OPC_RecordChild0,
30264 OPC_Scope, 43,
30265 OPC_CheckChild0Type, MVT::f128,
30266 OPC_SwitchType , 13, MVT::i64,
30267 OPC_CheckPatternPredicate7,
30268 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPUDZ),
30269 MVT::v4i32, 1, 0,
30270 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVRD),
30271 MVT::i64, 1, 1,
30272 22, MVT::i32,
30273 OPC_CheckPatternPredicate7,
30274 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPUWZ),
30275 MVT::f128, 1, 0,
30276 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
30277 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30278 MVT::f64, 2, 1, 2,
30279 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRWZ),
30280 MVT::i32, 1, 3,
30281 0,
30282 10,
30283 OPC_CheckChild0Type, MVT::f64,
30284 OPC_CheckTypeI32,
30285 OPC_CheckPatternPredicate5,
30286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCTUIZ),
30287 MVT::i32, 1, 0,
30288 10,
30289 OPC_CheckChild0Type, MVT::f32,
30290 OPC_CheckTypeI32,
30291 OPC_CheckPatternPredicate5,
30292 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCTUIZ),
30293 MVT::i32, 1, 0,
30294 0,
30295 125,
30296 OPC_MoveChild0,
30297 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30298 OPC_MoveChild0,
30299 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30300 OPC_MoveChild0,
30301 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30302 OPC_RecordChild0,
30303 OPC_Scope, 54,
30304 OPC_CheckChild1Integer, 0,
30305 OPC_MoveParent,
30306 OPC_CheckType, MVT::f64,
30307 OPC_MoveSibling1,
30308 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30309 OPC_MoveChild0,
30310 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30311 OPC_CheckChild0Same, 0,
30312 OPC_CheckChild1Integer, 4,
30313 OPC_MoveParent,
30314 OPC_CheckType, MVT::f64,
30315 OPC_MoveParent,
30316 OPC_MoveParent,
30317 OPC_CheckType, MVT::v2i64,
30318 OPC_Scope, 8,
30319 OPC_CheckPatternPredicate, 17,
30320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
30321 MVT::v2i64, 1, 0,
30322 18,
30323 OPC_CheckPatternPredicate, 13,
30324 OPC_EmitInteger32, 2,
30325 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
30326 MVT::v4i32, 3, 0, 0, 1,
30327 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
30328 MVT::v2i64, 1, 2,
30329 0,
30330 54,
30331 OPC_CheckChild1Integer, 2,
30332 OPC_MoveParent,
30333 OPC_CheckType, MVT::f64,
30334 OPC_MoveSibling1,
30335 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
30336 OPC_MoveChild0,
30337 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30338 OPC_CheckChild0Same, 0,
30339 OPC_CheckChild1Integer, 6,
30340 OPC_MoveParent,
30341 OPC_CheckType, MVT::f64,
30342 OPC_MoveParent,
30343 OPC_MoveParent,
30344 OPC_CheckType, MVT::v2i64,
30345 OPC_Scope, 8,
30346 OPC_CheckPatternPredicate, 13,
30347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
30348 MVT::v2i64, 1, 0,
30349 18,
30350 OPC_CheckPatternPredicate, 17,
30351 OPC_EmitInteger32, 2,
30352 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
30353 MVT::v4i32, 3, 0, 0, 1,
30354 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXDS),
30355 MVT::v2i64, 1, 2,
30356 0,
30357 0,
30358 32,
30359 OPC_RecordChild0,
30360 OPC_SwitchType , 7, MVT::v2i64,
30361 OPC_CheckPatternPredicate2,
30362 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVDPUXDS),
30363 MVT::v2i64, 1, 0,
30364 18, MVT::v4i32,
30365 OPC_Scope, 7,
30366 OPC_CheckPatternPredicate2,
30367 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPUXWS),
30368 MVT::v4i32, 1, 0,
30369 7,
30370 OPC_CheckPatternPredicate3,
30371 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTUXS_0),
30372 MVT::v4i32, 1, 0,
30373 0,
30374 0,
30375 0,
30376 59, TARGET_VAL(ISD::LROUND),
30377 OPC_RecordChild0,
30378 OPC_CheckTypeI64,
30379 OPC_Scope, 22,
30380 OPC_CheckChild0Type, MVT::f64,
30381 OPC_CheckPatternPredicate, 30,
30382 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
30383 MVT::f64, 1, 0,
30384 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30385 MVT::f64, 1, 1,
30386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30387 MVT::i64, 1, 2,
30388 31,
30389 OPC_CheckChild0Type, MVT::f32,
30390 OPC_CheckPatternPredicate, 30,
30391 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
30392 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30393 MVT::f64, 2, 0, 1,
30394 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
30395 MVT::f64, 1, 2,
30396 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30397 MVT::f64, 1, 3,
30398 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30399 MVT::i64, 1, 4,
30400 0,
30401 59, TARGET_VAL(ISD::LLROUND),
30402 OPC_RecordChild0,
30403 OPC_CheckTypeI64,
30404 OPC_Scope, 22,
30405 OPC_CheckChild0Type, MVT::f64,
30406 OPC_CheckPatternPredicate, 30,
30407 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
30408 MVT::f64, 1, 0,
30409 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30410 MVT::f64, 1, 1,
30411 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30412 MVT::i64, 1, 2,
30413 31,
30414 OPC_CheckChild0Type, MVT::f32,
30415 OPC_CheckPatternPredicate, 30,
30416 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
30417 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
30418 MVT::f64, 2, 0, 1,
30419 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
30420 MVT::f64, 1, 2,
30421 OPC_EmitNode1None, TARGET_VAL(PPC::FCTID),
30422 MVT::f64, 1, 3,
30423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MFVSRD),
30424 MVT::i64, 1, 4,
30425 0,
30426 74, TARGET_VAL(ISD::PREFETCH),
30427 OPC_RecordMemRef,
30428 OPC_RecordNode,
30429 OPC_RecordChild1,
30430 OPC_Scope, 44,
30431 OPC_CheckChild2Integer, 0,
30432 OPC_CheckChild2TypeI32,
30433 OPC_MoveChild3,
30434 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
30435 OPC_MoveParent,
30436 OPC_Scope, 15,
30437 OPC_CheckChild4Integer, 2,
30438 OPC_CheckComplexPat6, /*#*/1,
30439 OPC_EmitMergeInputChains1_0,
30440 OPC_EmitInteger32, 0,
30441 OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBT), 0|OPFL_Chain|OPFL_MemRefs,
30442 3, 4, 2, 3,
30443 17,
30444 OPC_CheckChild4Integer, 0,
30445 OPC_CheckPatternPredicate, 76,
30446 OPC_CheckComplexPat6, /*#*/1,
30447 OPC_EmitMergeInputChains1_0,
30448 OPC_EmitInteger32, 0,
30449 OPC_MorphNodeTo0, TARGET_VAL(PPC::ICBT), 0|OPFL_Chain|OPFL_MemRefs,
30450 3, 4, 2, 3,
30451 0,
30452 23,
30453 OPC_CheckChild2Integer, 2,
30454 OPC_CheckChild2TypeI32,
30455 OPC_MoveChild3,
30456 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
30457 OPC_MoveParent,
30458 OPC_CheckChild4Integer, 2,
30459 OPC_CheckComplexPat6, /*#*/1,
30460 OPC_EmitMergeInputChains1_0,
30461 OPC_EmitInteger32, 0,
30462 OPC_MorphNodeTo0, TARGET_VAL(PPC::DCBTST), 0|OPFL_Chain|OPFL_MemRefs,
30463 3, 4, 2, 3,
30464 0,
30465 42|128,13, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
30466 OPC_RecordNode,
30467 OPC_Scope, 17,
30468 OPC_CheckChild1Integer, 122|128,26|128,1,
30469 OPC_RecordChild2,
30470 OPC_CheckPatternPredicate, 35,
30471 OPC_CheckComplexPat0, /*#*/1,
30472 OPC_EmitMergeInputChains1_0,
30473 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LDBRX),
30474 MVT::i64, 2, 2, 3,
30475 15,
30476 OPC_CheckChild1Integer, 118|128,26|128,1,
30477 OPC_RecordChild2,
30478 OPC_CheckComplexPat0, /*#*/1,
30479 OPC_EmitMergeInputChains1_0,
30480 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LHBRX),
30481 MVT::i32, 2, 2, 3,
30482 15,
30483 OPC_CheckChild1Integer, 120|128,26|128,1,
30484 OPC_RecordChild2,
30485 OPC_CheckComplexPat0, /*#*/1,
30486 OPC_EmitMergeInputChains1_0,
30487 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LWBRX),
30488 MVT::i32, 2, 2, 3,
30489 32,
30490 OPC_CheckChild1Integer, 82|128,28|128,1,
30491 OPC_RecordChild2,
30492 OPC_RecordChild3,
30493 OPC_CheckComplexPat0, /*#*/1,
30494 OPC_EmitMergeInputChains1_0,
30495 OPC_EmitNode1Chain, TARGET_VAL(PPC::STDCX),
30496 MVT::i32, 3, 2, 3, 4,
30497 OPC_EmitInteger32, 62,
30498 OPC_EmitInteger32, 62,
30499 OPC_EmitInteger32, 62,
30500 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
30501 MVT::i32, 4, 5, 6, 7, 8,
30502 32,
30503 OPC_CheckChild1Integer, 94|128,28|128,1,
30504 OPC_RecordChild2,
30505 OPC_RecordChild3,
30506 OPC_CheckComplexPat0, /*#*/1,
30507 OPC_EmitMergeInputChains1_0,
30508 OPC_EmitNode1Chain, TARGET_VAL(PPC::STWCX),
30509 MVT::i32, 3, 2, 3, 4,
30510 OPC_EmitInteger32, 62,
30511 OPC_EmitInteger32, 62,
30512 OPC_EmitInteger32, 62,
30513 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
30514 MVT::i32, 4, 5, 6, 7, 8,
30515 32,
30516 OPC_CheckChild1Integer, 80|128,28|128,1,
30517 OPC_RecordChild2,
30518 OPC_RecordChild3,
30519 OPC_CheckComplexPat0, /*#*/1,
30520 OPC_EmitMergeInputChains1_0,
30521 OPC_EmitNode1Chain, TARGET_VAL(PPC::STBCX),
30522 MVT::i32, 3, 2, 3, 4,
30523 OPC_EmitInteger32, 62,
30524 OPC_EmitInteger32, 62,
30525 OPC_EmitInteger32, 62,
30526 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
30527 MVT::i32, 4, 5, 6, 7, 8,
30528 34,
30529 OPC_CheckChild1Integer, 86|128,28|128,1,
30530 OPC_RecordChild2,
30531 OPC_RecordChild3,
30532 OPC_CheckPatternPredicate, 66,
30533 OPC_CheckComplexPat0, /*#*/1,
30534 OPC_EmitMergeInputChains1_0,
30535 OPC_EmitNode1Chain, TARGET_VAL(PPC::STHCX),
30536 MVT::i32, 3, 2, 3, 4,
30537 OPC_EmitInteger32, 62,
30538 OPC_EmitInteger32, 62,
30539 OPC_EmitInteger32, 62,
30540 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::RLWINM),
30541 MVT::i32, 4, 5, 6, 7, 8,
30542 30,
30543 OPC_CheckChild1Integer, 72|128,25|128,1,
30544 OPC_RecordChild2,
30545 OPC_RecordChild3,
30546 OPC_RecordChild4,
30547 OPC_CheckComplexPat0, /*#*/1,
30548 OPC_EmitMergeInputChains1_0,
30549 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I128), 0|OPFL_Chain,
30550 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30551 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30552 MVT::i64, MVT::i64, 1, 6,
30553 30,
30554 OPC_CheckChild1Integer, 80|128,25|128,1,
30555 OPC_RecordChild2,
30556 OPC_RecordChild3,
30557 OPC_RecordChild4,
30558 OPC_CheckComplexPat0, /*#*/1,
30559 OPC_EmitMergeInputChains1_0,
30560 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I128), 0|OPFL_Chain,
30561 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30562 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30563 MVT::i64, MVT::i64, 1, 6,
30564 30,
30565 OPC_CheckChild1Integer, 84|128,25|128,1,
30566 OPC_RecordChild2,
30567 OPC_RecordChild3,
30568 OPC_RecordChild4,
30569 OPC_CheckComplexPat0, /*#*/1,
30570 OPC_EmitMergeInputChains1_0,
30571 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I128), 0|OPFL_Chain,
30572 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30573 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30574 MVT::i64, MVT::i64, 1, 6,
30575 30,
30576 OPC_CheckChild1Integer, 74|128,25|128,1,
30577 OPC_RecordChild2,
30578 OPC_RecordChild3,
30579 OPC_RecordChild4,
30580 OPC_CheckComplexPat0, /*#*/1,
30581 OPC_EmitMergeInputChains1_0,
30582 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I128), 0|OPFL_Chain,
30583 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30584 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30585 MVT::i64, MVT::i64, 1, 6,
30586 30,
30587 OPC_CheckChild1Integer, 76|128,25|128,1,
30588 OPC_RecordChild2,
30589 OPC_RecordChild3,
30590 OPC_RecordChild4,
30591 OPC_CheckComplexPat0, /*#*/1,
30592 OPC_EmitMergeInputChains1_0,
30593 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I128), 0|OPFL_Chain,
30594 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30595 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30596 MVT::i64, MVT::i64, 1, 6,
30597 30,
30598 OPC_CheckChild1Integer, 78|128,25|128,1,
30599 OPC_RecordChild2,
30600 OPC_RecordChild3,
30601 OPC_RecordChild4,
30602 OPC_CheckComplexPat0, /*#*/1,
30603 OPC_EmitMergeInputChains1_0,
30604 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I128), 0|OPFL_Chain,
30605 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30606 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30607 MVT::i64, MVT::i64, 1, 6,
30608 30,
30609 OPC_CheckChild1Integer, 82|128,25|128,1,
30610 OPC_RecordChild2,
30611 OPC_RecordChild3,
30612 OPC_RecordChild4,
30613 OPC_CheckComplexPat0, /*#*/1,
30614 OPC_EmitMergeInputChains1_0,
30615 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_SWAP_I128), 0|OPFL_Chain,
30616 3, MVT::i128, MVT::i128, MVT::i32, 4, 4, 5, 2, 3,
30617 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30618 MVT::i64, MVT::i64, 1, 6,
30619 34,
30620 OPC_CheckChild1Integer, 106|128,25|128,1,
30621 OPC_RecordChild2,
30622 OPC_RecordChild3,
30623 OPC_RecordChild4,
30624 OPC_RecordChild5,
30625 OPC_RecordChild6,
30626 OPC_CheckComplexPat0, /*#*/1,
30627 OPC_EmitMergeInputChains1_0,
30628 OPC_EmitNode, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I128), 0|OPFL_Chain,
30629 3, MVT::i128, MVT::i128, MVT::i32, 6, 6, 7, 2, 3, 4, 5,
30630 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30631 MVT::i64, MVT::i64, 1, 8,
30632 44,
30633 OPC_CheckChild1Integer, 68|128,25|128,1,
30634 OPC_RecordChild2,
30635 OPC_Scope, 18,
30636 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
30637 OPC_EmitMergeInputChains1_0,
30638 OPC_EmitNode1Chain, TARGET_VAL(PPC::LQ),
30639 MVT::i128, 2, 2, 3,
30640 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30641 MVT::i64, MVT::i64, 1, 4,
30642 17,
30643 OPC_CheckComplexPat0, /*#*/1,
30644 OPC_EmitMergeInputChains1_0,
30645 OPC_EmitNode1Chain, TARGET_VAL(PPC::LQX_PSEUDO),
30646 MVT::i128, 2, 2, 3,
30647 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::SPLIT_QUADWORD),
30648 MVT::i64, MVT::i64, 1, 4,
30649 0,
30650 34,
30651 OPC_CheckChild1Integer, 46|128,3,
30652 OPC_RecordChild2,
30653 OPC_MoveChild2,
30654 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30655 OPC_SwitchType , 10, MVT::i32,
30656 OPC_MoveParent,
30657 OPC_EmitMergeInputChains1_0,
30658 OPC_EmitConvertToTarget1,
30659 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::DecreaseCTRloop),
30660 MVT::i1, MVT::i32, 1, 2,
30661 10, MVT::i64,
30662 OPC_MoveParent,
30663 OPC_EmitMergeInputChains1_0,
30664 OPC_EmitConvertToTarget1,
30665 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::DecreaseCTR8loop),
30666 MVT::i1, MVT::i64, 1, 2,
30667 0,
30668 21,
30669 OPC_CheckChild1Integer, 92|128,20|128,1,
30670 OPC_RecordChild2,
30671 OPC_RecordChild3,
30672 OPC_RecordChild4,
30673 OPC_MoveChild4,
30674 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
30675 OPC_MoveParent,
30676 OPC_EmitMergeInputChains1_0,
30677 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::ADDEX8),
30678 MVT::i64, 3, 1, 2, 3,
30679 30,
30680 OPC_CheckChild1Integer, 14|128,27|128,1,
30681 OPC_RecordChild2,
30682 OPC_MoveChild2,
30683 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
30684 OPC_MoveParent,
30685 OPC_SwitchType , 7, MVT::i64,
30686 OPC_EmitMergeInputChains1_0,
30687 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
30688 MVT::i64, 1, 1,
30689 7, MVT::i32,
30690 OPC_EmitMergeInputChains1_0,
30691 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR),
30692 MVT::i32, 1, 1,
30693 0,
30694 17,
30695 OPC_CheckChild1Integer, 68|128,26|128,1,
30696 OPC_RecordChild2,
30697 OPC_MoveChild2,
30698 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
30699 OPC_MoveParent,
30700 OPC_EmitMergeInputChains1_0,
30701 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::PPCLdFixedAddr),
30702 MVT::i32, 1, 1,
30703 15,
30704 OPC_CheckChild1Integer, 124|128,25|128,1,
30705 OPC_CheckPatternPredicate, 31,
30706 OPC_EmitMergeInputChains1_0,
30707 OPC_EmitInteger32, 2,
30708 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DARN),
30709 MVT::i64, 1, 1,
30710 15,
30711 OPC_CheckChild1Integer, 0|128,26|128,1,
30712 OPC_CheckPatternPredicate, 31,
30713 OPC_EmitMergeInputChains1_0,
30714 OPC_EmitInteger32, 4,
30715 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DARN),
30716 MVT::i64, 1, 1,
30717 18,
30718 OPC_CheckChild1Integer, 116|128,28|128,1,
30719 OPC_RecordChild2,
30720 OPC_CheckPatternPredicate, 29,
30721 OPC_EmitMergeInputChains1_0,
30722 OPC_EmitConvertToTarget1,
30723 OPC_EmitNodeXForm, 2, 2,
30724 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TEND),
30725 MVT::i32, 1, 3,
30726 14,
30727 OPC_CheckChild1Integer, 100|128,28|128,1,
30728 OPC_RecordChild2,
30729 OPC_CheckPatternPredicate, 29,
30730 OPC_EmitMergeInputChains1_0,
30731 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORT),
30732 MVT::i32, 1, 1,
30733 22,
30734 OPC_CheckChild1Integer, 106|128,28|128,1,
30735 OPC_RecordChild2,
30736 OPC_RecordChild3,
30737 OPC_RecordChild4,
30738 OPC_CheckPatternPredicate, 29,
30739 OPC_EmitMergeInputChains1_0,
30740 OPC_EmitConvertToTarget1,
30741 OPC_EmitNodeXForm, 2, 4,
30742 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTWC),
30743 MVT::i32, 3, 5, 2, 3,
30744 26,
30745 OPC_CheckChild1Integer, 108|128,28|128,1,
30746 OPC_RecordChild2,
30747 OPC_RecordChild3,
30748 OPC_RecordChild4,
30749 OPC_CheckPatternPredicate, 29,
30750 OPC_EmitMergeInputChains1_0,
30751 OPC_EmitConvertToTarget1,
30752 OPC_EmitNodeXForm, 2, 4,
30753 OPC_EmitConvertToTarget3,
30754 OPC_EmitNodeXForm, 2, 6,
30755 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTWCI),
30756 MVT::i32, 3, 5, 2, 7,
30757 22,
30758 OPC_CheckChild1Integer, 102|128,28|128,1,
30759 OPC_RecordChild2,
30760 OPC_RecordChild3,
30761 OPC_RecordChild4,
30762 OPC_CheckPatternPredicate, 29,
30763 OPC_EmitMergeInputChains1_0,
30764 OPC_EmitConvertToTarget1,
30765 OPC_EmitNodeXForm, 2, 4,
30766 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTDC),
30767 MVT::i32, 3, 5, 2, 3,
30768 26,
30769 OPC_CheckChild1Integer, 104|128,28|128,1,
30770 OPC_RecordChild2,
30771 OPC_RecordChild3,
30772 OPC_RecordChild4,
30773 OPC_CheckPatternPredicate, 29,
30774 OPC_EmitMergeInputChains1_0,
30775 OPC_EmitConvertToTarget1,
30776 OPC_EmitNodeXForm, 2, 4,
30777 OPC_EmitConvertToTarget3,
30778 OPC_EmitNodeXForm, 2, 6,
30779 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TABORTDCI),
30780 MVT::i32, 3, 5, 2, 7,
30781 14,
30782 OPC_CheckChild1Integer, 0|128,29|128,1,
30783 OPC_RecordChild2,
30784 OPC_CheckPatternPredicate, 29,
30785 OPC_EmitMergeInputChains1_0,
30786 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TRECLAIM),
30787 MVT::i32, 1, 1,
30788 12,
30789 OPC_CheckChild1Integer, 126|128,28|128,1,
30790 OPC_CheckPatternPredicate, 29,
30791 OPC_EmitMergeInputChains1_0,
30792 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TRECHKPT),
30793 MVT::i32, 0,
30794 18,
30795 OPC_CheckChild1Integer, 6|128,29|128,1,
30796 OPC_RecordChild2,
30797 OPC_CheckPatternPredicate, 29,
30798 OPC_EmitMergeInputChains1_0,
30799 OPC_EmitConvertToTarget1,
30800 OPC_EmitNodeXForm, 2, 2,
30801 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
30802 MVT::i32, 1, 3,
30803 16,
30804 OPC_CheckChild1Integer, 98|128,26|128,1,
30805 OPC_CheckPatternPredicate, 29,
30806 OPC_EmitMergeInputChains1_0,
30807 OPC_EmitInteger32, 4|128,2,
30808 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
30809 MVT::i64, 1, 1,
30810 16,
30811 OPC_CheckChild1Integer, 100|128,26|128,1,
30812 OPC_CheckPatternPredicate, 29,
30813 OPC_EmitMergeInputChains1_0,
30814 OPC_EmitInteger32, 6|128,2,
30815 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
30816 MVT::i64, 1, 1,
30817 16,
30818 OPC_CheckChild1Integer, 102|128,26|128,1,
30819 OPC_CheckPatternPredicate, 29,
30820 OPC_EmitMergeInputChains1_0,
30821 OPC_EmitInteger32, 0|128,2,
30822 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
30823 MVT::i64, 1, 1,
30824 16,
30825 OPC_CheckChild1Integer, 104|128,26|128,1,
30826 OPC_CheckPatternPredicate, 29,
30827 OPC_EmitMergeInputChains1_0,
30828 OPC_EmitInteger32, 2|128,2,
30829 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFSPR8),
30830 MVT::i64, 1, 1,
30831 15,
30832 OPC_CheckChild1Integer, 118|128,28|128,1,
30833 OPC_CheckPatternPredicate, 29,
30834 OPC_EmitMergeInputChains1_0,
30835 OPC_EmitInteger32, 2,
30836 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TEND),
30837 MVT::i32, 1, 1,
30838 15,
30839 OPC_CheckChild1Integer, 2|128,29|128,1,
30840 OPC_CheckPatternPredicate, 29,
30841 OPC_EmitMergeInputChains1_0,
30842 OPC_EmitInteger32, 2,
30843 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
30844 MVT::i32, 1, 1,
30845 15,
30846 OPC_CheckChild1Integer, 8|128,29|128,1,
30847 OPC_CheckPatternPredicate, 29,
30848 OPC_EmitMergeInputChains1_0,
30849 OPC_EmitInteger32, 0,
30850 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TSR),
30851 MVT::i32, 1, 1,
30852 24,
30853 OPC_CheckChild1Integer, 126|128,25|128,1,
30854 OPC_CheckPatternPredicate, 31,
30855 OPC_EmitMergeInputChains1_0,
30856 OPC_EmitInteger32, 0,
30857 OPC_EmitNode1Chain, TARGET_VAL(PPC::DARN),
30858 MVT::i64, 1, 1,
30859 OPC_EmitStringInteger32, PPC::sub_32,
30860 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30861 MVT::i32, 2, 2, 3,
30862 42,
30863 OPC_CheckChild1Integer, 10|128,29|128,1,
30864 OPC_CheckPatternPredicate, 29,
30865 OPC_EmitMergeInputChains1_0,
30866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
30867 MVT::i64, 0,
30868 OPC_EmitInteger32, 0,
30869 OPC_EmitInteger32, 0,
30870 OPC_EmitNode1None, TARGET_VAL(PPC::LI),
30871 MVT::i32, 1, 3,
30872 OPC_EmitInteger32, 0,
30873 OPC_EmitNode1Chain, TARGET_VAL(PPC::TABORTWCI),
30874 MVT::i32, 3, 2, 4, 5,
30875 OPC_EmitStringInteger32, PPC::sub_32,
30876 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
30877 MVT::i64, 3, 1, 6, 7,
30878 12,
30879 OPC_CheckChild1Integer, 112|128,28|128,1,
30880 OPC_CheckPatternPredicate, 29,
30881 OPC_EmitMergeInputChains1_0,
30882 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::TCHECK_RET),
30883 MVT::i32, 0,
30884 30,
30885 OPC_CheckChild1Integer, 110|128,28|128,1,
30886 OPC_RecordChild2,
30887 OPC_CheckPatternPredicate, 29,
30888 OPC_EmitMergeInputChains1_0,
30889 OPC_EmitConvertToTarget1,
30890 OPC_EmitNodeXForm, 2, 2,
30891 OPC_EmitNode1Chain, TARGET_VAL(PPC::TBEGIN_RET),
30892 MVT::i32, 1, 3,
30893 OPC_EmitInteger32, 2,
30894 OPC_EmitNode1None, TARGET_VAL(PPC::XORI),
30895 MVT::i32, 2, 4, 5,
30896 OPC_CompleteMatch, 1, 6,
30897
30898 29,
30899 OPC_CheckChild1Integer, 76|128,28|128,1,
30900 OPC_RecordChild2,
30901 OPC_Scope, 13,
30902 OPC_MoveChild2,
30903 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30904 OPC_MoveParent,
30905 OPC_EmitMergeInputChains1_0,
30906 OPC_EmitConvertToTarget1,
30907 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::SETRNDi),
30908 MVT::f64, 1, 2,
30909 7,
30910 OPC_EmitMergeInputChains1_0,
30911 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::SETRND),
30912 MVT::f64, 1, 1,
30913 0,
30914 10,
30915 OPC_CheckChild1Integer, 52|128,28|128,1,
30916 OPC_EmitMergeInputChains1_0,
30917 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFFS),
30918 MVT::f64, 0,
30919 10,
30920 OPC_CheckChild1Integer, 10|128,27|128,1,
30921 OPC_EmitMergeInputChains1_0,
30922 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFFSL),
30923 MVT::f64, 0,
30924 12,
30925 OPC_CheckChild1Integer, 74|128,28|128,1,
30926 OPC_RecordChild2,
30927 OPC_EmitMergeInputChains1_0,
30928 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::SETFLM),
30929 MVT::f64, 1, 1,
30930 16,
30931 OPC_CheckChild1Integer, 32|128,29|128,1,
30932 OPC_RecordChild2,
30933 OPC_CheckPatternPredicate2,
30934 OPC_CheckComplexPat0, /*#*/1,
30935 OPC_EmitMergeInputChains1_0,
30936 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVW4X),
30937 MVT::v4i32, 2, 2, 3,
30938 46,
30939 OPC_CheckChild1Integer, 30|128,29|128,1,
30940 OPC_RecordChild2,
30941 OPC_Scope, 12,
30942 OPC_CheckPatternPredicate, 42,
30943 OPC_CheckComplexPat0, /*#*/1,
30944 OPC_EmitMergeInputChains1_0,
30945 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVW4X),
30946 MVT::v4i32, 2, 2, 3,
30947 25,
30948 OPC_CheckPatternPredicate7,
30949 OPC_Scope, 10,
30950 OPC_CheckComplexPat7, /*#*/1,
30951 OPC_EmitMergeInputChains1_0,
30952 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXV),
30953 MVT::v4i32, 2, 2, 3,
30954 10,
30955 OPC_CheckComplexPat1, /*#*/1,
30956 OPC_EmitMergeInputChains1_0,
30957 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVX),
30958 MVT::v4i32, 2, 2, 3,
30959 0,
30960 0,
30961 18,
30962 OPC_CheckChild1Integer, 24|128,29|128,1,
30963 OPC_RecordChild2,
30964 OPC_RecordChild3,
30965 OPC_CheckPatternPredicate7,
30966 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30967 OPC_EmitMergeInputChains1_0,
30968 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVL),
30969 MVT::v4i32, 2, 3, 2,
30970 18,
30971 OPC_CheckChild1Integer, 26|128,29|128,1,
30972 OPC_RecordChild2,
30973 OPC_RecordChild3,
30974 OPC_CheckPatternPredicate7,
30975 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30976 OPC_EmitMergeInputChains1_0,
30977 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVLL),
30978 MVT::v4i32, 2, 3, 2,
30979 16,
30980 OPC_CheckChild1Integer, 6|128,21|128,1,
30981 OPC_RecordChild2,
30982 OPC_CheckPatternPredicate3,
30983 OPC_CheckComplexPat0, /*#*/1,
30984 OPC_EmitMergeInputChains1_0,
30985 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LVEBX),
30986 MVT::v16i8, 2, 2, 3,
30987 16,
30988 OPC_CheckChild1Integer, 8|128,21|128,1,
30989 OPC_RecordChild2,
30990 OPC_CheckPatternPredicate3,
30991 OPC_CheckComplexPat0, /*#*/1,
30992 OPC_EmitMergeInputChains1_0,
30993 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LVEHX),
30994 MVT::v8i16, 2, 2, 3,
30995 16,
30996 OPC_CheckChild1Integer, 10|128,21|128,1,
30997 OPC_RecordChild2,
30998 OPC_CheckPatternPredicate3,
30999 OPC_CheckComplexPat0, /*#*/1,
31000 OPC_EmitMergeInputChains1_0,
31001 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LVEWX),
31002 MVT::v4i32, 2, 2, 3,
31003 16,
31004 OPC_CheckChild1Integer, 16|128,21|128,1,
31005 OPC_RecordChild2,
31006 OPC_CheckPatternPredicate3,
31007 OPC_CheckComplexPat0, /*#*/1,
31008 OPC_EmitMergeInputChains1_0,
31009 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LVX),
31010 MVT::v4i32, 2, 2, 3,
31011 16,
31012 OPC_CheckChild1Integer, 18|128,21|128,1,
31013 OPC_RecordChild2,
31014 OPC_CheckPatternPredicate3,
31015 OPC_CheckComplexPat0, /*#*/1,
31016 OPC_EmitMergeInputChains1_0,
31017 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LVXL),
31018 MVT::v4i32, 2, 2, 3,
31019 47,
31020 OPC_CheckChild1Integer, 28|128,29|128,1,
31021 OPC_RecordChild2,
31022 OPC_Scope, 26,
31023 OPC_CheckPatternPredicate, 49,
31024 OPC_Scope, 10,
31025 OPC_CheckComplexPat7, /*#*/1,
31026 OPC_EmitMergeInputChains1_0,
31027 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVP),
31028 MVT::v256i1, 2, 2, 3,
31029 10,
31030 OPC_CheckComplexPat1, /*#*/1,
31031 OPC_EmitMergeInputChains1_0,
31032 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVPX),
31033 MVT::v256i1, 2, 2, 3,
31034 0,
31035 12,
31036 OPC_CheckPatternPredicate, 64,
31037 OPC_CheckComplexPat3, /*#*/1,
31038 OPC_EmitMergeInputChains1_0,
31039 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::PLXVP),
31040 MVT::v256i1, 2, 2, 3,
31041 0,
31042 11,
31043 OPC_CheckChild1Integer, 20|128,21|128,1,
31044 OPC_CheckPatternPredicate3,
31045 OPC_EmitMergeInputChains1_0,
31046 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFVSCR),
31047 MVT::v8i16, 0,
31048 17,
31049 OPC_CheckChild1Integer, 80|128,23|128,1,
31050 OPC_RecordChild2,
31051 OPC_RecordChild3,
31052 OPC_RecordChild4,
31053 OPC_CheckPatternPredicate3,
31054 OPC_EmitMergeInputChains1_0,
31055 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VMHADDSHS),
31056 MVT::v8i16, 3, 1, 2, 3,
31057 17,
31058 OPC_CheckChild1Integer, 82|128,23|128,1,
31059 OPC_RecordChild2,
31060 OPC_RecordChild3,
31061 OPC_RecordChild4,
31062 OPC_CheckPatternPredicate3,
31063 OPC_EmitMergeInputChains1_0,
31064 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VMHRADDSHS),
31065 MVT::v8i16, 3, 1, 2, 3,
31066 17,
31067 OPC_CheckChild1Integer, 110|128,23|128,1,
31068 OPC_RecordChild2,
31069 OPC_RecordChild3,
31070 OPC_RecordChild4,
31071 OPC_CheckPatternPredicate3,
31072 OPC_EmitMergeInputChains1_0,
31073 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VMSUMSHS),
31074 MVT::v4i32, 3, 1, 2, 3,
31075 17,
31076 OPC_CheckChild1Integer, 118|128,23|128,1,
31077 OPC_RecordChild2,
31078 OPC_RecordChild3,
31079 OPC_RecordChild4,
31080 OPC_CheckPatternPredicate3,
31081 OPC_EmitMergeInputChains1_0,
31082 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VMSUMUHS),
31083 MVT::v4i32, 3, 1, 2, 3,
31084 15,
31085 OPC_CheckChild1Integer, 50|128,25|128,1,
31086 OPC_RecordChild2,
31087 OPC_RecordChild3,
31088 OPC_CheckPatternPredicate3,
31089 OPC_EmitMergeInputChains1_0,
31090 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSUMSWS),
31091 MVT::v4i32, 2, 1, 2,
31092 15,
31093 OPC_CheckChild1Integer, 42|128,25|128,1,
31094 OPC_RecordChild2,
31095 OPC_RecordChild3,
31096 OPC_CheckPatternPredicate3,
31097 OPC_EmitMergeInputChains1_0,
31098 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSUM2SWS),
31099 MVT::v4i32, 2, 1, 2,
31100 15,
31101 OPC_CheckChild1Integer, 44|128,25|128,1,
31102 OPC_RecordChild2,
31103 OPC_RecordChild3,
31104 OPC_CheckPatternPredicate3,
31105 OPC_EmitMergeInputChains1_0,
31106 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSUM4SBS),
31107 MVT::v4i32, 2, 1, 2,
31108 15,
31109 OPC_CheckChild1Integer, 46|128,25|128,1,
31110 OPC_RecordChild2,
31111 OPC_RecordChild3,
31112 OPC_CheckPatternPredicate3,
31113 OPC_EmitMergeInputChains1_0,
31114 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSUM4SHS),
31115 MVT::v4i32, 2, 1, 2,
31116 15,
31117 OPC_CheckChild1Integer, 48|128,25|128,1,
31118 OPC_RecordChild2,
31119 OPC_RecordChild3,
31120 OPC_CheckPatternPredicate3,
31121 OPC_EmitMergeInputChains1_0,
31122 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSUM4UBS),
31123 MVT::v4i32, 2, 1, 2,
31124 15,
31125 OPC_CheckChild1Integer, 46|128,24|128,1,
31126 OPC_RecordChild2,
31127 OPC_RecordChild3,
31128 OPC_CheckPatternPredicate3,
31129 OPC_EmitMergeInputChains1_0,
31130 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSHSS),
31131 MVT::v16i8, 2, 1, 2,
31132 15,
31133 OPC_CheckChild1Integer, 48|128,24|128,1,
31134 OPC_RecordChild2,
31135 OPC_RecordChild3,
31136 OPC_CheckPatternPredicate3,
31137 OPC_EmitMergeInputChains1_0,
31138 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSHUS),
31139 MVT::v16i8, 2, 1, 2,
31140 15,
31141 OPC_CheckChild1Integer, 50|128,24|128,1,
31142 OPC_RecordChild2,
31143 OPC_RecordChild3,
31144 OPC_CheckPatternPredicate3,
31145 OPC_EmitMergeInputChains1_0,
31146 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSWSS),
31147 MVT::v8i16, 2, 1, 2,
31148 15,
31149 OPC_CheckChild1Integer, 52|128,24|128,1,
31150 OPC_RecordChild2,
31151 OPC_RecordChild3,
31152 OPC_CheckPatternPredicate3,
31153 OPC_EmitMergeInputChains1_0,
31154 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSWUS),
31155 MVT::v8i16, 2, 1, 2,
31156 15,
31157 OPC_CheckChild1Integer, 56|128,24|128,1,
31158 OPC_RecordChild2,
31159 OPC_RecordChild3,
31160 OPC_CheckPatternPredicate3,
31161 OPC_EmitMergeInputChains1_0,
31162 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKUHUS),
31163 MVT::v16i8, 2, 1, 2,
31164 15,
31165 OPC_CheckChild1Integer, 58|128,24|128,1,
31166 OPC_RecordChild2,
31167 OPC_RecordChild3,
31168 OPC_CheckPatternPredicate3,
31169 OPC_EmitMergeInputChains1_0,
31170 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKUWUS),
31171 MVT::v8i16, 2, 1, 2,
31172 16,
31173 OPC_CheckChild1Integer, 42|128,24|128,1,
31174 OPC_RecordChild2,
31175 OPC_RecordChild3,
31176 OPC_CheckPatternPredicate, 12,
31177 OPC_EmitMergeInputChains1_0,
31178 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSDSS),
31179 MVT::v4i32, 2, 1, 2,
31180 16,
31181 OPC_CheckChild1Integer, 44|128,24|128,1,
31182 OPC_RecordChild2,
31183 OPC_RecordChild3,
31184 OPC_CheckPatternPredicate, 12,
31185 OPC_EmitMergeInputChains1_0,
31186 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKSDUS),
31187 MVT::v4i32, 2, 1, 2,
31188 16,
31189 OPC_CheckChild1Integer, 54|128,24|128,1,
31190 OPC_RecordChild2,
31191 OPC_RecordChild3,
31192 OPC_CheckPatternPredicate, 12,
31193 OPC_EmitMergeInputChains1_0,
31194 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VPKUDUS),
31195 MVT::v4i32, 2, 1, 2,
31196 16,
31197 OPC_CheckChild1Integer, 22|128,29|128,1,
31198 OPC_RecordChild2,
31199 OPC_CheckPatternPredicate2,
31200 OPC_CheckComplexPat0, /*#*/1,
31201 OPC_EmitMergeInputChains1_0,
31202 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVD2X),
31203 MVT::v2f64, 2, 2, 3,
31204 46,
31205 OPC_CheckChild1Integer, 20|128,29|128,1,
31206 OPC_RecordChild2,
31207 OPC_Scope, 12,
31208 OPC_CheckPatternPredicate, 55,
31209 OPC_CheckComplexPat0, /*#*/1,
31210 OPC_EmitMergeInputChains1_0,
31211 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVD2X),
31212 MVT::v2f64, 2, 2, 3,
31213 25,
31214 OPC_CheckPatternPredicate7,
31215 OPC_Scope, 10,
31216 OPC_CheckComplexPat7, /*#*/1,
31217 OPC_EmitMergeInputChains1_0,
31218 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXV),
31219 MVT::v2f64, 2, 2, 3,
31220 10,
31221 OPC_CheckComplexPat1, /*#*/1,
31222 OPC_EmitMergeInputChains1_0,
31223 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXVX),
31224 MVT::v2f64, 2, 2, 3,
31225 0,
31226 0,
31227 0,
31228 9|128,1, TARGET_VAL(PPCISD::STORE_COND),
31229 OPC_RecordMemRef,
31230 OPC_RecordNode,
31231 OPC_RecordChild1,
31232 OPC_RecordChild2,
31233 OPC_Scope, 31,
31234 OPC_CheckChild2TypeI64,
31235 OPC_CheckChild3Integer, 16,
31236 OPC_CheckComplexPat0, /*#*/1,
31237 OPC_EmitMergeInputChains1_0,
31238 OPC_EmitNode1, TARGET_VAL(PPC::STDCX), 0|OPFL_Chain|OPFL_MemRefs,
31239 MVT::i32, 3, 2, 3, 4,
31240 OPC_EmitInteger32, 62,
31241 OPC_EmitInteger32, 62,
31242 OPC_EmitInteger32, 62,
31243 OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0|OPFL_Chain|OPFL_GlueOutput,
31244 MVT::i32, 4, 5, 6, 7, 8,
31245 98,
31246 OPC_CheckChild2TypeI32,
31247 OPC_Scope, 30,
31248 OPC_CheckChild3Integer, 8,
31249 OPC_CheckComplexPat0, /*#*/1,
31250 OPC_EmitMergeInputChains1_0,
31251 OPC_EmitNode1, TARGET_VAL(PPC::STWCX), 0|OPFL_Chain|OPFL_MemRefs,
31252 MVT::i32, 3, 2, 3, 4,
31253 OPC_EmitInteger32, 62,
31254 OPC_EmitInteger32, 62,
31255 OPC_EmitInteger32, 62,
31256 OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0|OPFL_Chain|OPFL_GlueOutput,
31257 MVT::i32, 4, 5, 6, 7, 8,
31258 30,
31259 OPC_CheckChild3Integer, 2,
31260 OPC_CheckComplexPat0, /*#*/1,
31261 OPC_EmitMergeInputChains1_0,
31262 OPC_EmitNode1, TARGET_VAL(PPC::STBCX), 0|OPFL_Chain|OPFL_MemRefs,
31263 MVT::i32, 3, 2, 3, 4,
31264 OPC_EmitInteger32, 62,
31265 OPC_EmitInteger32, 62,
31266 OPC_EmitInteger32, 62,
31267 OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0|OPFL_Chain|OPFL_GlueOutput,
31268 MVT::i32, 4, 5, 6, 7, 8,
31269 32,
31270 OPC_CheckChild3Integer, 4,
31271 OPC_CheckPatternPredicate, 66,
31272 OPC_CheckComplexPat0, /*#*/1,
31273 OPC_EmitMergeInputChains1_0,
31274 OPC_EmitNode1, TARGET_VAL(PPC::STHCX), 0|OPFL_Chain|OPFL_MemRefs,
31275 MVT::i32, 3, 2, 3, 4,
31276 OPC_EmitInteger32, 62,
31277 OPC_EmitInteger32, 62,
31278 OPC_EmitInteger32, 62,
31279 OPC_MorphNodeTo1, TARGET_VAL(PPC::RLWINM), 0|OPFL_Chain|OPFL_GlueOutput,
31280 MVT::i32, 4, 5, 6, 7, 8,
31281 0,
31282 0,
31283 95|128,17, TARGET_VAL(ISD::LOAD),
31284 OPC_RecordMemRef,
31285 OPC_RecordNode,
31286 OPC_Scope, 0|128,3,
31287 OPC_MoveChild1,
31288 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
31289 OPC_RecordChild0,
31290 OPC_MoveParent,
31291 OPC_CheckPredicate, 11,
31292 OPC_SwitchType , 26|128,1, MVT::i32,
31293 OPC_Scope, 19,
31294 OPC_CheckPredicate, 13,
31295 OPC_CheckPredicate, 20,
31296 OPC_CheckPatternPredicate, 19,
31297 OPC_CheckComplexPat2, /*#*/1,
31298 OPC_EmitMergeInputChains1_0,
31299 OPC_EmitInteger32, 0,
31300 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
31301 MVT::i32, 2, 2, 4,
31302 19,
31303 OPC_CheckPredicate, 9,
31304 OPC_CheckPredicate, 20,
31305 OPC_CheckPatternPredicate, 19,
31306 OPC_CheckComplexPat2, /*#*/1,
31307 OPC_EmitMergeInputChains1_0,
31308 OPC_EmitInteger32, 0,
31309 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
31310 MVT::i32, 2, 2, 4,
31311 18,
31312 OPC_CheckPredicate, 13,
31313 OPC_CheckPredicate4,
31314 OPC_CheckPatternPredicate, 19,
31315 OPC_CheckComplexPat2, /*#*/1,
31316 OPC_EmitMergeInputChains1_0,
31317 OPC_EmitInteger32, 0,
31318 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
31319 MVT::i32, 2, 2, 4,
31320 18,
31321 OPC_CheckPredicate, 9,
31322 OPC_CheckPredicate4,
31323 OPC_CheckPatternPredicate, 19,
31324 OPC_CheckComplexPat2, /*#*/1,
31325 OPC_EmitMergeInputChains1_0,
31326 OPC_EmitInteger32, 0,
31327 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
31328 MVT::i32, 2, 2, 4,
31329 18,
31330 OPC_CheckPredicate, 19,
31331 OPC_CheckPredicate2,
31332 OPC_CheckPatternPredicate, 19,
31333 OPC_CheckComplexPat2, /*#*/1,
31334 OPC_EmitMergeInputChains1_0,
31335 OPC_EmitInteger32, 0,
31336 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHApc), 0|OPFL_Chain|OPFL_MemRefs,
31337 MVT::i32, 2, 2, 4,
31338 18,
31339 OPC_CheckPredicate, 13,
31340 OPC_CheckPredicate2,
31341 OPC_CheckPatternPredicate, 19,
31342 OPC_CheckComplexPat2, /*#*/1,
31343 OPC_EmitMergeInputChains1_0,
31344 OPC_EmitInteger32, 0,
31345 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
31346 MVT::i32, 2, 2, 4,
31347 18,
31348 OPC_CheckPredicate, 9,
31349 OPC_CheckPredicate2,
31350 OPC_CheckPatternPredicate, 19,
31351 OPC_CheckComplexPat2, /*#*/1,
31352 OPC_EmitMergeInputChains1_0,
31353 OPC_EmitInteger32, 0,
31354 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
31355 MVT::i32, 2, 2, 4,
31356 16,
31357 OPC_CheckPredicate5,
31358 OPC_CheckPatternPredicate, 19,
31359 OPC_CheckComplexPat2, /*#*/1,
31360 OPC_EmitMergeInputChains1_0,
31361 OPC_EmitInteger32, 0,
31362 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZpc), 0|OPFL_Chain|OPFL_MemRefs,
31363 MVT::i32, 2, 2, 4,
31364 0,
31365 86|128,1, MVT::i64,
31366 OPC_Scope, 19,
31367 OPC_CheckPredicate, 13,
31368 OPC_CheckPredicate, 20,
31369 OPC_CheckPatternPredicate, 19,
31370 OPC_CheckComplexPat2, /*#*/1,
31371 OPC_EmitMergeInputChains1_0,
31372 OPC_EmitInteger32, 0,
31373 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31374 MVT::i64, 2, 2, 4,
31375 19,
31376 OPC_CheckPredicate, 9,
31377 OPC_CheckPredicate, 20,
31378 OPC_CheckPatternPredicate, 19,
31379 OPC_CheckComplexPat2, /*#*/1,
31380 OPC_EmitMergeInputChains1_0,
31381 OPC_EmitInteger32, 0,
31382 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31383 MVT::i64, 2, 2, 4,
31384 18,
31385 OPC_CheckPredicate, 13,
31386 OPC_CheckPredicate4,
31387 OPC_CheckPatternPredicate, 19,
31388 OPC_CheckComplexPat2, /*#*/1,
31389 OPC_EmitMergeInputChains1_0,
31390 OPC_EmitInteger32, 0,
31391 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31392 MVT::i64, 2, 2, 4,
31393 18,
31394 OPC_CheckPredicate, 9,
31395 OPC_CheckPredicate4,
31396 OPC_CheckPatternPredicate, 19,
31397 OPC_CheckComplexPat2, /*#*/1,
31398 OPC_EmitMergeInputChains1_0,
31399 OPC_EmitInteger32, 0,
31400 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31401 MVT::i64, 2, 2, 4,
31402 18,
31403 OPC_CheckPredicate, 19,
31404 OPC_CheckPredicate2,
31405 OPC_CheckPatternPredicate, 19,
31406 OPC_CheckComplexPat2, /*#*/1,
31407 OPC_EmitMergeInputChains1_0,
31408 OPC_EmitInteger32, 0,
31409 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA8pc), 0|OPFL_Chain|OPFL_MemRefs,
31410 MVT::i64, 2, 2, 4,
31411 18,
31412 OPC_CheckPredicate, 13,
31413 OPC_CheckPredicate2,
31414 OPC_CheckPatternPredicate, 19,
31415 OPC_CheckComplexPat2, /*#*/1,
31416 OPC_EmitMergeInputChains1_0,
31417 OPC_EmitInteger32, 0,
31418 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31419 MVT::i64, 2, 2, 4,
31420 18,
31421 OPC_CheckPredicate, 9,
31422 OPC_CheckPredicate2,
31423 OPC_CheckPatternPredicate, 19,
31424 OPC_CheckComplexPat2, /*#*/1,
31425 OPC_EmitMergeInputChains1_0,
31426 OPC_EmitInteger32, 0,
31427 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31428 MVT::i64, 2, 2, 4,
31429 19,
31430 OPC_CheckPredicate, 13,
31431 OPC_CheckPredicate, 8,
31432 OPC_CheckPatternPredicate, 19,
31433 OPC_CheckComplexPat2, /*#*/1,
31434 OPC_EmitMergeInputChains1_0,
31435 OPC_EmitInteger32, 0,
31436 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31437 MVT::i64, 2, 2, 4,
31438 19,
31439 OPC_CheckPredicate, 19,
31440 OPC_CheckPredicate, 8,
31441 OPC_CheckPatternPredicate, 19,
31442 OPC_CheckComplexPat2, /*#*/1,
31443 OPC_EmitMergeInputChains1_0,
31444 OPC_EmitInteger32, 0,
31445 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWA8pc), 0|OPFL_Chain|OPFL_MemRefs,
31446 MVT::i64, 2, 2, 4,
31447 19,
31448 OPC_CheckPredicate, 9,
31449 OPC_CheckPredicate, 8,
31450 OPC_CheckPatternPredicate, 19,
31451 OPC_CheckComplexPat2, /*#*/1,
31452 OPC_EmitMergeInputChains1_0,
31453 OPC_EmitInteger32, 0,
31454 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8pc), 0|OPFL_Chain|OPFL_MemRefs,
31455 MVT::i64, 2, 2, 4,
31456 16,
31457 OPC_CheckPredicate5,
31458 OPC_CheckPatternPredicate, 19,
31459 OPC_CheckComplexPat2, /*#*/1,
31460 OPC_EmitMergeInputChains1_0,
31461 OPC_EmitInteger32, 0,
31462 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLDpc), 0|OPFL_Chain|OPFL_MemRefs,
31463 MVT::i64, 2, 2, 4,
31464 0,
31465 0,
31466 24|128,9,
31467 OPC_RecordChild1,
31468 OPC_CheckPredicate, 11,
31469 OPC_Scope, 15,
31470 OPC_CheckPredicate, 13,
31471 OPC_CheckPredicate4,
31472 OPC_CheckTypeI32,
31473 OPC_CheckComplexPat5, /*#*/1,
31474 OPC_EmitMergeInputChains1_0,
31475 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
31476 MVT::i32, 2, 2, 3,
31477 15,
31478 OPC_CheckPredicate, 19,
31479 OPC_CheckPredicate2,
31480 OPC_CheckTypeI32,
31481 OPC_CheckComplexPat5, /*#*/1,
31482 OPC_EmitMergeInputChains1_0,
31483 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHA), 0|OPFL_Chain|OPFL_MemRefs,
31484 MVT::i32, 2, 2, 3,
31485 15,
31486 OPC_CheckPredicate, 13,
31487 OPC_CheckPredicate2,
31488 OPC_CheckTypeI32,
31489 OPC_CheckComplexPat5, /*#*/1,
31490 OPC_EmitMergeInputChains1_0,
31491 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
31492 MVT::i32, 2, 2, 3,
31493 13,
31494 OPC_CheckPredicate5,
31495 OPC_CheckTypeI32,
31496 OPC_CheckComplexPat5, /*#*/1,
31497 OPC_EmitMergeInputChains1_0,
31498 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ), 0|OPFL_Chain|OPFL_MemRefs,
31499 MVT::i32, 2, 2, 3,
31500 15,
31501 OPC_CheckPredicate, 13,
31502 OPC_CheckPredicate4,
31503 OPC_CheckTypeI32,
31504 OPC_CheckComplexPat1, /*#*/1,
31505 OPC_EmitMergeInputChains1_0,
31506 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
31507 MVT::i32, 2, 2, 3,
31508 15,
31509 OPC_CheckPredicate, 19,
31510 OPC_CheckPredicate2,
31511 OPC_CheckTypeI32,
31512 OPC_CheckComplexPat1, /*#*/1,
31513 OPC_EmitMergeInputChains1_0,
31514 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHAX), 0|OPFL_Chain|OPFL_MemRefs,
31515 MVT::i32, 2, 2, 3,
31516 15,
31517 OPC_CheckPredicate, 13,
31518 OPC_CheckPredicate2,
31519 OPC_CheckTypeI32,
31520 OPC_CheckComplexPat1, /*#*/1,
31521 OPC_EmitMergeInputChains1_0,
31522 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
31523 MVT::i32, 2, 2, 3,
31524 13,
31525 OPC_CheckPredicate5,
31526 OPC_CheckTypeI32,
31527 OPC_CheckComplexPat1, /*#*/1,
31528 OPC_EmitMergeInputChains1_0,
31529 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX), 0|OPFL_Chain|OPFL_MemRefs,
31530 MVT::i32, 2, 2, 3,
31531 31,
31532 OPC_CheckPredicate, 13,
31533 OPC_CheckPredicate, 20,
31534 OPC_CheckTypeI32,
31535 OPC_Scope, 11,
31536 OPC_CheckComplexPat5, /*#*/1,
31537 OPC_EmitMergeInputChains1_0,
31538 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
31539 MVT::i32, 2, 2, 3,
31540 11,
31541 OPC_CheckComplexPat1, /*#*/1,
31542 OPC_EmitMergeInputChains1_0,
31543 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
31544 MVT::i32, 2, 2, 3,
31545 0,
31546 90,
31547 OPC_CheckPredicate, 9,
31548 OPC_CheckTypeI32,
31549 OPC_Scope, 28,
31550 OPC_CheckPredicate, 20,
31551 OPC_Scope, 11,
31552 OPC_CheckComplexPat5, /*#*/1,
31553 OPC_EmitMergeInputChains1_0,
31554 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
31555 MVT::i32, 2, 2, 3,
31556 11,
31557 OPC_CheckComplexPat1, /*#*/1,
31558 OPC_EmitMergeInputChains1_0,
31559 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
31560 MVT::i32, 2, 2, 3,
31561 0,
31562 27,
31563 OPC_CheckPredicate4,
31564 OPC_Scope, 11,
31565 OPC_CheckComplexPat5, /*#*/1,
31566 OPC_EmitMergeInputChains1_0,
31567 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
31568 MVT::i32, 2, 2, 3,
31569 11,
31570 OPC_CheckComplexPat1, /*#*/1,
31571 OPC_EmitMergeInputChains1_0,
31572 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
31573 MVT::i32, 2, 2, 3,
31574 0,
31575 27,
31576 OPC_CheckPredicate2,
31577 OPC_Scope, 11,
31578 OPC_CheckComplexPat5, /*#*/1,
31579 OPC_EmitMergeInputChains1_0,
31580 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
31581 MVT::i32, 2, 2, 3,
31582 11,
31583 OPC_CheckComplexPat1, /*#*/1,
31584 OPC_EmitMergeInputChains1_0,
31585 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
31586 MVT::i32, 2, 2, 3,
31587 0,
31588 0,
31589 59,
31590 OPC_CheckPredicate, 19,
31591 OPC_CheckTypeI64,
31592 OPC_Scope, 12,
31593 OPC_CheckPredicate2,
31594 OPC_CheckComplexPat5, /*#*/1,
31595 OPC_EmitMergeInputChains1_0,
31596 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHA8), 0|OPFL_Chain|OPFL_MemRefs,
31597 MVT::i64, 2, 2, 3,
31598 13,
31599 OPC_CheckPredicate, 8,
31600 OPC_CheckComplexPat4, /*#*/1,
31601 OPC_EmitMergeInputChains1_0,
31602 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWA), 0|OPFL_Chain|OPFL_MemRefs,
31603 MVT::i64, 2, 2, 3,
31604 12,
31605 OPC_CheckPredicate2,
31606 OPC_CheckComplexPat1, /*#*/1,
31607 OPC_EmitMergeInputChains1_0,
31608 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHAX8), 0|OPFL_Chain|OPFL_MemRefs,
31609 MVT::i64, 2, 2, 3,
31610 13,
31611 OPC_CheckPredicate, 8,
31612 OPC_CheckComplexPat1, /*#*/1,
31613 OPC_EmitMergeInputChains1_0,
31614 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWAX), 0|OPFL_Chain|OPFL_MemRefs,
31615 MVT::i64, 2, 2, 3,
31616 0,
31617 85,
31618 OPC_CheckPredicate, 13,
31619 OPC_CheckTypeI64,
31620 OPC_Scope, 12,
31621 OPC_CheckPredicate4,
31622 OPC_CheckComplexPat5, /*#*/1,
31623 OPC_EmitMergeInputChains1_0,
31624 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31625 MVT::i64, 2, 2, 3,
31626 12,
31627 OPC_CheckPredicate2,
31628 OPC_CheckComplexPat5, /*#*/1,
31629 OPC_EmitMergeInputChains1_0,
31630 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ8), 0|OPFL_Chain|OPFL_MemRefs,
31631 MVT::i64, 2, 2, 3,
31632 13,
31633 OPC_CheckPredicate, 8,
31634 OPC_CheckComplexPat5, /*#*/1,
31635 OPC_EmitMergeInputChains1_0,
31636 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ8), 0|OPFL_Chain|OPFL_MemRefs,
31637 MVT::i64, 2, 2, 3,
31638 12,
31639 OPC_CheckPredicate4,
31640 OPC_CheckComplexPat1, /*#*/1,
31641 OPC_EmitMergeInputChains1_0,
31642 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
31643 MVT::i64, 2, 2, 3,
31644 12,
31645 OPC_CheckPredicate2,
31646 OPC_CheckComplexPat1, /*#*/1,
31647 OPC_EmitMergeInputChains1_0,
31648 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX8), 0|OPFL_Chain|OPFL_MemRefs,
31649 MVT::i64, 2, 2, 3,
31650 13,
31651 OPC_CheckPredicate, 8,
31652 OPC_CheckComplexPat1, /*#*/1,
31653 OPC_EmitMergeInputChains1_0,
31654 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX8), 0|OPFL_Chain|OPFL_MemRefs,
31655 MVT::i64, 2, 2, 3,
31656 0,
31657 28,
31658 OPC_CheckPredicate5,
31659 OPC_CheckTypeI64,
31660 OPC_Scope, 11,
31661 OPC_CheckComplexPat4, /*#*/1,
31662 OPC_EmitMergeInputChains1_0,
31663 OPC_MorphNodeTo1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
31664 MVT::i64, 2, 2, 3,
31665 11,
31666 OPC_CheckComplexPat1, /*#*/1,
31667 OPC_EmitMergeInputChains1_0,
31668 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
31669 MVT::i64, 2, 2, 3,
31670 0,
31671 31,
31672 OPC_CheckPredicate, 13,
31673 OPC_CheckPredicate, 20,
31674 OPC_CheckTypeI64,
31675 OPC_Scope, 11,
31676 OPC_CheckComplexPat5, /*#*/1,
31677 OPC_EmitMergeInputChains1_0,
31678 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31679 MVT::i64, 2, 2, 3,
31680 11,
31681 OPC_CheckComplexPat1, /*#*/1,
31682 OPC_EmitMergeInputChains1_0,
31683 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
31684 MVT::i64, 2, 2, 3,
31685 0,
31686 11|128,1,
31687 OPC_CheckPredicate, 9,
31688 OPC_SwitchType , 116, MVT::i64,
31689 OPC_Scope, 28,
31690 OPC_CheckPredicate, 20,
31691 OPC_Scope, 11,
31692 OPC_CheckComplexPat5, /*#*/1,
31693 OPC_EmitMergeInputChains1_0,
31694 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31695 MVT::i64, 2, 2, 3,
31696 11,
31697 OPC_CheckComplexPat1, /*#*/1,
31698 OPC_EmitMergeInputChains1_0,
31699 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
31700 MVT::i64, 2, 2, 3,
31701 0,
31702 27,
31703 OPC_CheckPredicate4,
31704 OPC_Scope, 11,
31705 OPC_CheckComplexPat5, /*#*/1,
31706 OPC_EmitMergeInputChains1_0,
31707 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31708 MVT::i64, 2, 2, 3,
31709 11,
31710 OPC_CheckComplexPat1, /*#*/1,
31711 OPC_EmitMergeInputChains1_0,
31712 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX8), 0|OPFL_Chain|OPFL_MemRefs,
31713 MVT::i64, 2, 2, 3,
31714 0,
31715 27,
31716 OPC_CheckPredicate2,
31717 OPC_Scope, 11,
31718 OPC_CheckComplexPat5, /*#*/1,
31719 OPC_EmitMergeInputChains1_0,
31720 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ8), 0|OPFL_Chain|OPFL_MemRefs,
31721 MVT::i64, 2, 2, 3,
31722 11,
31723 OPC_CheckComplexPat1, /*#*/1,
31724 OPC_EmitMergeInputChains1_0,
31725 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX8), 0|OPFL_Chain|OPFL_MemRefs,
31726 MVT::i64, 2, 2, 3,
31727 0,
31728 28,
31729 OPC_CheckPredicate, 8,
31730 OPC_Scope, 11,
31731 OPC_CheckComplexPat5, /*#*/1,
31732 OPC_EmitMergeInputChains1_0,
31733 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ8), 0|OPFL_Chain|OPFL_MemRefs,
31734 MVT::i64, 2, 2, 3,
31735 11,
31736 OPC_CheckComplexPat1, /*#*/1,
31737 OPC_EmitMergeInputChains1_0,
31738 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX8), 0|OPFL_Chain|OPFL_MemRefs,
31739 MVT::i64, 2, 2, 3,
31740 0,
31741 0,
31742 15, MVT::i32,
31743 OPC_CheckPredicate, 20,
31744 OPC_CheckPatternPredicate, 22,
31745 OPC_CheckComplexPat3, /*#*/1,
31746 OPC_EmitMergeInputChains1_0,
31747 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
31748 MVT::i32, 2, 2, 3,
31749 0,
31750 18,
31751 OPC_CheckPredicate, 13,
31752 OPC_CheckPredicate, 20,
31753 OPC_CheckTypeI32,
31754 OPC_CheckPatternPredicate, 22,
31755 OPC_CheckComplexPat3, /*#*/1,
31756 OPC_EmitMergeInputChains1_0,
31757 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
31758 MVT::i32, 2, 2, 3,
31759 17,
31760 OPC_CheckPredicate, 9,
31761 OPC_CheckPredicate4,
31762 OPC_CheckTypeI32,
31763 OPC_CheckPatternPredicate, 22,
31764 OPC_CheckComplexPat3, /*#*/1,
31765 OPC_EmitMergeInputChains1_0,
31766 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
31767 MVT::i32, 2, 2, 3,
31768 17,
31769 OPC_CheckPredicate, 13,
31770 OPC_CheckPredicate4,
31771 OPC_CheckTypeI32,
31772 OPC_CheckPatternPredicate, 22,
31773 OPC_CheckComplexPat3, /*#*/1,
31774 OPC_EmitMergeInputChains1_0,
31775 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
31776 MVT::i32, 2, 2, 3,
31777 17,
31778 OPC_CheckPredicate, 9,
31779 OPC_CheckPredicate2,
31780 OPC_CheckTypeI32,
31781 OPC_CheckPatternPredicate, 22,
31782 OPC_CheckComplexPat3, /*#*/1,
31783 OPC_EmitMergeInputChains1_0,
31784 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
31785 MVT::i32, 2, 2, 3,
31786 17,
31787 OPC_CheckPredicate, 13,
31788 OPC_CheckPredicate2,
31789 OPC_CheckTypeI32,
31790 OPC_CheckPatternPredicate, 22,
31791 OPC_CheckComplexPat3, /*#*/1,
31792 OPC_EmitMergeInputChains1_0,
31793 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
31794 MVT::i32, 2, 2, 3,
31795 17,
31796 OPC_CheckPredicate, 19,
31797 OPC_CheckPredicate2,
31798 OPC_CheckTypeI32,
31799 OPC_CheckPatternPredicate, 22,
31800 OPC_CheckComplexPat3, /*#*/1,
31801 OPC_EmitMergeInputChains1_0,
31802 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA), 0|OPFL_Chain|OPFL_MemRefs,
31803 MVT::i32, 2, 2, 3,
31804 15,
31805 OPC_CheckPredicate5,
31806 OPC_CheckTypeI32,
31807 OPC_CheckPatternPredicate, 22,
31808 OPC_CheckComplexPat3, /*#*/1,
31809 OPC_EmitMergeInputChains1_0,
31810 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ), 0|OPFL_Chain|OPFL_MemRefs,
31811 MVT::i32, 2, 2, 3,
31812 18,
31813 OPC_CheckPredicate, 9,
31814 OPC_CheckPredicate, 20,
31815 OPC_CheckTypeI64,
31816 OPC_CheckPatternPredicate, 22,
31817 OPC_CheckComplexPat3, /*#*/1,
31818 OPC_EmitMergeInputChains1_0,
31819 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31820 MVT::i64, 2, 2, 3,
31821 18,
31822 OPC_CheckPredicate, 13,
31823 OPC_CheckPredicate, 20,
31824 OPC_CheckTypeI64,
31825 OPC_CheckPatternPredicate, 22,
31826 OPC_CheckComplexPat3, /*#*/1,
31827 OPC_EmitMergeInputChains1_0,
31828 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31829 MVT::i64, 2, 2, 3,
31830 17,
31831 OPC_CheckPredicate, 9,
31832 OPC_CheckPredicate4,
31833 OPC_CheckTypeI64,
31834 OPC_CheckPatternPredicate, 22,
31835 OPC_CheckComplexPat3, /*#*/1,
31836 OPC_EmitMergeInputChains1_0,
31837 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31838 MVT::i64, 2, 2, 3,
31839 17,
31840 OPC_CheckPredicate, 13,
31841 OPC_CheckPredicate4,
31842 OPC_CheckTypeI64,
31843 OPC_CheckPatternPredicate, 22,
31844 OPC_CheckComplexPat3, /*#*/1,
31845 OPC_EmitMergeInputChains1_0,
31846 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ8), 0|OPFL_Chain|OPFL_MemRefs,
31847 MVT::i64, 2, 2, 3,
31848 17,
31849 OPC_CheckPredicate, 9,
31850 OPC_CheckPredicate2,
31851 OPC_CheckTypeI64,
31852 OPC_CheckPatternPredicate, 22,
31853 OPC_CheckComplexPat3, /*#*/1,
31854 OPC_EmitMergeInputChains1_0,
31855 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8), 0|OPFL_Chain|OPFL_MemRefs,
31856 MVT::i64, 2, 2, 3,
31857 17,
31858 OPC_CheckPredicate, 13,
31859 OPC_CheckPredicate2,
31860 OPC_CheckTypeI64,
31861 OPC_CheckPatternPredicate, 22,
31862 OPC_CheckComplexPat3, /*#*/1,
31863 OPC_EmitMergeInputChains1_0,
31864 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ8), 0|OPFL_Chain|OPFL_MemRefs,
31865 MVT::i64, 2, 2, 3,
31866 17,
31867 OPC_CheckPredicate, 19,
31868 OPC_CheckPredicate2,
31869 OPC_CheckTypeI64,
31870 OPC_CheckPatternPredicate, 22,
31871 OPC_CheckComplexPat3, /*#*/1,
31872 OPC_EmitMergeInputChains1_0,
31873 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHA8), 0|OPFL_Chain|OPFL_MemRefs,
31874 MVT::i64, 2, 2, 3,
31875 18,
31876 OPC_CheckPredicate, 9,
31877 OPC_CheckPredicate, 8,
31878 OPC_CheckTypeI64,
31879 OPC_CheckPatternPredicate, 22,
31880 OPC_CheckComplexPat3, /*#*/1,
31881 OPC_EmitMergeInputChains1_0,
31882 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8), 0|OPFL_Chain|OPFL_MemRefs,
31883 MVT::i64, 2, 2, 3,
31884 18,
31885 OPC_CheckPredicate, 13,
31886 OPC_CheckPredicate, 8,
31887 OPC_CheckTypeI64,
31888 OPC_CheckPatternPredicate, 22,
31889 OPC_CheckComplexPat3, /*#*/1,
31890 OPC_EmitMergeInputChains1_0,
31891 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ8), 0|OPFL_Chain|OPFL_MemRefs,
31892 MVT::i64, 2, 2, 3,
31893 18,
31894 OPC_CheckPredicate, 19,
31895 OPC_CheckPredicate, 8,
31896 OPC_CheckTypeI64,
31897 OPC_CheckPatternPredicate, 22,
31898 OPC_CheckComplexPat3, /*#*/1,
31899 OPC_EmitMergeInputChains1_0,
31900 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWA8), 0|OPFL_Chain|OPFL_MemRefs,
31901 MVT::i64, 2, 2, 3,
31902 126,
31903 OPC_CheckPredicate5,
31904 OPC_SwitchType , 13, MVT::i64,
31905 OPC_CheckPatternPredicate, 22,
31906 OPC_CheckComplexPat3, /*#*/1,
31907 OPC_EmitMergeInputChains1_0,
31908 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
31909 MVT::i64, 2, 2, 3,
31910 29, MVT::f32,
31911 OPC_Scope, 12,
31912 OPC_CheckPatternPredicate7,
31913 OPC_CheckComplexPat4, /*#*/1,
31914 OPC_EmitMergeInputChains1_0,
31915 OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
31916 MVT::f32, 2, 2, 3,
31917 13,
31918 OPC_CheckPatternPredicate, 11,
31919 OPC_CheckComplexPat1, /*#*/1,
31920 OPC_EmitMergeInputChains1_0,
31921 OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
31922 MVT::f32, 2, 2, 3,
31923 0,
31924 28, MVT::f64,
31925 OPC_Scope, 12,
31926 OPC_CheckPatternPredicate7,
31927 OPC_CheckComplexPat4, /*#*/1,
31928 OPC_EmitMergeInputChains1_0,
31929 OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
31930 MVT::f64, 2, 2, 3,
31931 12,
31932 OPC_CheckPatternPredicate2,
31933 OPC_CheckComplexPat1, /*#*/1,
31934 OPC_EmitMergeInputChains1_0,
31935 OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
31936 MVT::f64, 2, 2, 3,
31937 0,
31938 45, MVT::f128,
31939 OPC_CheckPatternPredicate7,
31940 OPC_Scope, 20,
31941 OPC_CheckComplexPat7, /*#*/1,
31942 OPC_EmitMergeInputChains1_0,
31943 OPC_EmitNode1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
31944 MVT::v4i32, 2, 2, 3,
31945 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
31946 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
31947 MVT::f128, 2, 4, 5,
31948 20,
31949 OPC_CheckComplexPat1, /*#*/1,
31950 OPC_EmitMergeInputChains1_0,
31951 OPC_EmitNode1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
31952 MVT::v4i32, 2, 2, 3,
31953 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
31954 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
31955 MVT::f128, 2, 4, 5,
31956 0,
31957 0,
31958 51,
31959 OPC_CheckPredicate, 9,
31960 OPC_CheckType, MVT::f64,
31961 OPC_Scope, 20,
31962 OPC_CheckPredicate, 25,
31963 OPC_CheckPatternPredicate7,
31964 OPC_CheckComplexPat0, /*#*/1,
31965 OPC_EmitMergeInputChains1_0,
31966 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
31967 MVT::f64, 2, 2, 3,
31968 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVHPDP),
31969 MVT::f64, 1, 4,
31970 23,
31971 OPC_CheckPredicate, 17,
31972 OPC_CheckPatternPredicate7,
31973 OPC_CheckComplexPat4, /*#*/1,
31974 OPC_EmitMergeInputChains1_0,
31975 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
31976 MVT::f32, 2, 2, 3,
31977 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
31978 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
31979 MVT::f64, 2, 4, 5,
31980 0,
31981 24,
31982 OPC_CheckPredicate5,
31983 OPC_CheckType, MVT::f128,
31984 OPC_CheckPatternPredicate1,
31985 OPC_CheckComplexPat3, /*#*/1,
31986 OPC_EmitMergeInputChains1_0,
31987 OPC_EmitNode1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
31988 MVT::v4i32, 2, 2, 3,
31989 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
31990 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
31991 MVT::f128, 2, 4, 5,
31992 61,
31993 OPC_CheckPredicate, 9,
31994 OPC_SwitchType , 24, MVT::f64,
31995 OPC_CheckPredicate, 17,
31996 OPC_CheckPatternPredicate, 11,
31997 OPC_CheckComplexPat1, /*#*/1,
31998 OPC_EmitMergeInputChains1_0,
31999 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
32000 MVT::f32, 2, 2, 3,
32001 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
32002 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32003 MVT::f64, 2, 4, 5,
32004 29, MVT::f32,
32005 OPC_CheckPredicate, 25,
32006 OPC_CheckPatternPredicate7,
32007 OPC_CheckComplexPat0, /*#*/1,
32008 OPC_EmitMergeInputChains1_0,
32009 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
32010 MVT::f64, 2, 2, 3,
32011 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVHPDP),
32012 MVT::f64, 1, 4,
32013 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
32014 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32015 MVT::f32, 2, 5, 6,
32016 0,
32017 0,
32018 107,
32019 OPC_MoveChild1,
32020 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32021 OPC_RecordChild0,
32022 OPC_MoveParent,
32023 OPC_CheckPredicate, 11,
32024 OPC_Scope, 37,
32025 OPC_CheckPredicate5,
32026 OPC_SwitchType , 15, MVT::f32,
32027 OPC_CheckPatternPredicate, 47,
32028 OPC_CheckComplexPat2, /*#*/1,
32029 OPC_EmitMergeInputChains1_0,
32030 OPC_EmitInteger32, 0,
32031 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFSpc), 0|OPFL_Chain|OPFL_MemRefs,
32032 MVT::f32, 2, 2, 4,
32033 15, MVT::f64,
32034 OPC_CheckPatternPredicate, 47,
32035 OPC_CheckComplexPat2, /*#*/1,
32036 OPC_EmitMergeInputChains1_0,
32037 OPC_EmitInteger32, 0,
32038 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFDpc), 0|OPFL_Chain|OPFL_MemRefs,
32039 MVT::f64, 2, 2, 4,
32040 0,
32041 30,
32042 OPC_CheckPredicate, 9,
32043 OPC_CheckPredicate, 17,
32044 OPC_CheckType, MVT::f64,
32045 OPC_CheckPatternPredicate, 47,
32046 OPC_CheckComplexPat2, /*#*/1,
32047 OPC_EmitMergeInputChains1_0,
32048 OPC_EmitInteger32, 0,
32049 OPC_EmitNode1, TARGET_VAL(PPC::PLFSpc), 0|OPFL_Chain|OPFL_MemRefs,
32050 MVT::f32, 2, 2, 4,
32051 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
32052 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32053 MVT::f64, 2, 5, 6,
32054 27,
32055 OPC_CheckPredicate5,
32056 OPC_CheckType, MVT::f128,
32057 OPC_CheckPatternPredicate, 34,
32058 OPC_CheckComplexPat2, /*#*/1,
32059 OPC_EmitMergeInputChains1_0,
32060 OPC_EmitInteger32, 0,
32061 OPC_EmitNode1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
32062 MVT::v4i32, 2, 2, 4,
32063 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
32064 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32065 MVT::f128, 2, 5, 6,
32066 0,
32067 106|128,2,
32068 OPC_RecordChild1,
32069 OPC_CheckPredicate, 11,
32070 OPC_Scope, 27|128,1,
32071 OPC_CheckPredicate5,
32072 OPC_SwitchType , 74, MVT::f32,
32073 OPC_Scope, 27,
32074 OPC_CheckPatternPredicate0,
32075 OPC_Scope, 11,
32076 OPC_CheckComplexPat5, /*#*/1,
32077 OPC_EmitMergeInputChains1_0,
32078 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFS), 0|OPFL_Chain|OPFL_MemRefs,
32079 MVT::f32, 2, 2, 3,
32080 11,
32081 OPC_CheckComplexPat1, /*#*/1,
32082 OPC_EmitMergeInputChains1_0,
32083 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFSX), 0|OPFL_Chain|OPFL_MemRefs,
32084 MVT::f32, 2, 2, 3,
32085 0,
32086 29,
32087 OPC_CheckPatternPredicate5,
32088 OPC_Scope, 12,
32089 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
32090 OPC_EmitMergeInputChains1_0,
32091 OPC_MorphNodeTo1, TARGET_VAL(PPC::SPELWZ), 0|OPFL_Chain|OPFL_MemRefs,
32092 MVT::f32, 2, 2, 3,
32093 12,
32094 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
32095 OPC_EmitMergeInputChains1_0,
32096 OPC_MorphNodeTo1, TARGET_VAL(PPC::SPELWZX), 0|OPFL_Chain|OPFL_MemRefs,
32097 MVT::f32, 2, 2, 3,
32098 0,
32099 13,
32100 OPC_CheckPatternPredicate, 48,
32101 OPC_CheckComplexPat3, /*#*/1,
32102 OPC_EmitMergeInputChains1_0,
32103 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFS), 0|OPFL_Chain|OPFL_MemRefs,
32104 MVT::f32, 2, 2, 3,
32105 0,
32106 74, MVT::f64,
32107 OPC_Scope, 27,
32108 OPC_CheckPatternPredicate0,
32109 OPC_Scope, 11,
32110 OPC_CheckComplexPat5, /*#*/1,
32111 OPC_EmitMergeInputChains1_0,
32112 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFD), 0|OPFL_Chain|OPFL_MemRefs,
32113 MVT::f64, 2, 2, 3,
32114 11,
32115 OPC_CheckComplexPat1, /*#*/1,
32116 OPC_EmitMergeInputChains1_0,
32117 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFDX), 0|OPFL_Chain|OPFL_MemRefs,
32118 MVT::f64, 2, 2, 3,
32119 0,
32120 29,
32121 OPC_CheckPatternPredicate5,
32122 OPC_Scope, 12,
32123 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
32124 OPC_EmitMergeInputChains1_0,
32125 OPC_MorphNodeTo1, TARGET_VAL(PPC::EVLDD), 0|OPFL_Chain|OPFL_MemRefs,
32126 MVT::f64, 2, 2, 3,
32127 12,
32128 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
32129 OPC_EmitMergeInputChains1_0,
32130 OPC_MorphNodeTo1, TARGET_VAL(PPC::EVLDDX), 0|OPFL_Chain|OPFL_MemRefs,
32131 MVT::f64, 2, 2, 3,
32132 0,
32133 13,
32134 OPC_CheckPatternPredicate, 48,
32135 OPC_CheckComplexPat3, /*#*/1,
32136 OPC_EmitMergeInputChains1_0,
32137 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLFD), 0|OPFL_Chain|OPFL_MemRefs,
32138 MVT::f64, 2, 2, 3,
32139 0,
32140 0,
32141 77,
32142 OPC_CheckPredicate, 9,
32143 OPC_CheckPredicate, 17,
32144 OPC_CheckType, MVT::f64,
32145 OPC_Scope, 45,
32146 OPC_CheckPatternPredicate0,
32147 OPC_Scope, 20,
32148 OPC_CheckComplexPat5, /*#*/1,
32149 OPC_EmitMergeInputChains1_0,
32150 OPC_EmitNode1, TARGET_VAL(PPC::LFS), 0|OPFL_Chain|OPFL_MemRefs,
32151 MVT::f32, 2, 2, 3,
32152 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
32153 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32154 MVT::f64, 2, 4, 5,
32155 20,
32156 OPC_CheckComplexPat1, /*#*/1,
32157 OPC_EmitMergeInputChains1_0,
32158 OPC_EmitNode1, TARGET_VAL(PPC::LFSX), 0|OPFL_Chain|OPFL_MemRefs,
32159 MVT::f32, 2, 2, 3,
32160 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
32161 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32162 MVT::f64, 2, 4, 5,
32163 0,
32164 22,
32165 OPC_CheckPatternPredicate, 48,
32166 OPC_CheckComplexPat3, /*#*/1,
32167 OPC_EmitMergeInputChains1_0,
32168 OPC_EmitNode1, TARGET_VAL(PPC::PLFS), 0|OPFL_Chain|OPFL_MemRefs,
32169 MVT::f32, 2, 2, 3,
32170 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
32171 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32172 MVT::f64, 2, 4, 5,
32173 0,
32174 121,
32175 OPC_CheckPredicate5,
32176 OPC_SwitchType , 57, MVT::v2i64,
32177 OPC_Scope, 13,
32178 OPC_CheckPatternPredicate, 42,
32179 OPC_CheckComplexPat0, /*#*/1,
32180 OPC_EmitMergeInputChains1_0,
32181 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
32182 MVT::v2i64, 2, 2, 3,
32183 27,
32184 OPC_CheckPatternPredicate7,
32185 OPC_Scope, 11,
32186 OPC_CheckComplexPat7, /*#*/1,
32187 OPC_EmitMergeInputChains1_0,
32188 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
32189 MVT::v2i64, 2, 2, 3,
32190 11,
32191 OPC_CheckComplexPat1, /*#*/1,
32192 OPC_EmitMergeInputChains1_0,
32193 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
32194 MVT::v2i64, 2, 2, 3,
32195 0,
32196 12,
32197 OPC_CheckPatternPredicate1,
32198 OPC_CheckComplexPat3, /*#*/1,
32199 OPC_EmitMergeInputChains1_0,
32200 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
32201 MVT::v2i64, 2, 2, 3,
32202 0,
32203 57, MVT::v4i32,
32204 OPC_Scope, 13,
32205 OPC_CheckPatternPredicate, 42,
32206 OPC_CheckComplexPat0, /*#*/1,
32207 OPC_EmitMergeInputChains1_0,
32208 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
32209 MVT::v4i32, 2, 2, 3,
32210 27,
32211 OPC_CheckPatternPredicate7,
32212 OPC_Scope, 11,
32213 OPC_CheckComplexPat7, /*#*/1,
32214 OPC_EmitMergeInputChains1_0,
32215 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
32216 MVT::v4i32, 2, 2, 3,
32217 11,
32218 OPC_CheckComplexPat1, /*#*/1,
32219 OPC_EmitMergeInputChains1_0,
32220 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
32221 MVT::v4i32, 2, 2, 3,
32222 0,
32223 12,
32224 OPC_CheckPatternPredicate1,
32225 OPC_CheckComplexPat3, /*#*/1,
32226 OPC_EmitMergeInputChains1_0,
32227 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
32228 MVT::v4i32, 2, 2, 3,
32229 0,
32230 0,
32231 0,
32232 45,
32233 OPC_MoveChild1,
32234 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32235 OPC_RecordChild0,
32236 OPC_MoveParent,
32237 OPC_CheckPredicate, 11,
32238 OPC_CheckPredicate5,
32239 OPC_SwitchType , 15, MVT::v4i32,
32240 OPC_CheckPatternPredicate, 34,
32241 OPC_CheckComplexPat2, /*#*/1,
32242 OPC_EmitMergeInputChains1_0,
32243 OPC_EmitInteger32, 0,
32244 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
32245 MVT::v4i32, 2, 2, 4,
32246 15, MVT::v2i64,
32247 OPC_CheckPatternPredicate, 34,
32248 OPC_CheckComplexPat2, /*#*/1,
32249 OPC_EmitMergeInputChains1_0,
32250 OPC_EmitInteger32, 0,
32251 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
32252 MVT::v2i64, 2, 2, 4,
32253 0,
32254 9|128,1,
32255 OPC_RecordChild1,
32256 OPC_CheckPredicate, 11,
32257 OPC_CheckPredicate5,
32258 OPC_SwitchType , 12, MVT::v4i32,
32259 OPC_CheckPatternPredicate3,
32260 OPC_CheckComplexPat0, /*#*/1,
32261 OPC_EmitMergeInputChains1_0,
32262 OPC_MorphNodeTo1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
32263 MVT::v4i32, 2, 2, 3,
32264 70, MVT::v2f64,
32265 OPC_Scope, 12,
32266 OPC_CheckPatternPredicate7,
32267 OPC_CheckComplexPat1, /*#*/1,
32268 OPC_EmitMergeInputChains1_0,
32269 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
32270 MVT::v2f64, 2, 2, 3,
32271 13,
32272 OPC_CheckPatternPredicate, 42,
32273 OPC_CheckComplexPat0, /*#*/1,
32274 OPC_EmitMergeInputChains1_0,
32275 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
32276 MVT::v2f64, 2, 2, 3,
32277 27,
32278 OPC_CheckPatternPredicate7,
32279 OPC_Scope, 11,
32280 OPC_CheckComplexPat7, /*#*/1,
32281 OPC_EmitMergeInputChains1_0,
32282 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
32283 MVT::v2f64, 2, 2, 3,
32284 11,
32285 OPC_CheckComplexPat1, /*#*/1,
32286 OPC_EmitMergeInputChains1_0,
32287 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
32288 MVT::v2f64, 2, 2, 3,
32289 0,
32290 12,
32291 OPC_CheckPatternPredicate1,
32292 OPC_CheckComplexPat3, /*#*/1,
32293 OPC_EmitMergeInputChains1_0,
32294 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
32295 MVT::v2f64, 2, 2, 3,
32296 0,
32297 43, MVT::v4f32,
32298 OPC_Scope, 27,
32299 OPC_CheckPatternPredicate7,
32300 OPC_Scope, 11,
32301 OPC_CheckComplexPat7, /*#*/1,
32302 OPC_EmitMergeInputChains1_0,
32303 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXV), 0|OPFL_Chain|OPFL_MemRefs,
32304 MVT::v4f32, 2, 2, 3,
32305 11,
32306 OPC_CheckComplexPat1, /*#*/1,
32307 OPC_EmitMergeInputChains1_0,
32308 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVX), 0|OPFL_Chain|OPFL_MemRefs,
32309 MVT::v4f32, 2, 2, 3,
32310 0,
32311 12,
32312 OPC_CheckPatternPredicate1,
32313 OPC_CheckComplexPat3, /*#*/1,
32314 OPC_EmitMergeInputChains1_0,
32315 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXV), 0|OPFL_Chain|OPFL_MemRefs,
32316 MVT::v4f32, 2, 2, 3,
32317 0,
32318 0,
32319 45,
32320 OPC_MoveChild1,
32321 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32322 OPC_RecordChild0,
32323 OPC_MoveParent,
32324 OPC_CheckPredicate, 11,
32325 OPC_CheckPredicate5,
32326 OPC_SwitchType , 15, MVT::v4f32,
32327 OPC_CheckPatternPredicate, 34,
32328 OPC_CheckComplexPat2, /*#*/1,
32329 OPC_EmitMergeInputChains1_0,
32330 OPC_EmitInteger32, 0,
32331 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
32332 MVT::v4f32, 2, 2, 4,
32333 15, MVT::v2f64,
32334 OPC_CheckPatternPredicate, 34,
32335 OPC_CheckComplexPat2, /*#*/1,
32336 OPC_EmitMergeInputChains1_0,
32337 OPC_EmitInteger32, 0,
32338 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLXVpc), 0|OPFL_Chain|OPFL_MemRefs,
32339 MVT::v2f64, 2, 2, 4,
32340 0,
32341 0,
32342 12|128,2, TARGET_VAL(ISD::ATOMIC_LOAD),
32343 OPC_RecordMemRef,
32344 OPC_RecordNode,
32345 OPC_Scope, 83,
32346 OPC_MoveChild1,
32347 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32348 OPC_RecordChild0,
32349 OPC_MoveParent,
32350 OPC_SwitchType , 54, MVT::i32,
32351 OPC_Scope, 16,
32352 OPC_CheckPredicate4,
32353 OPC_CheckPatternPredicate, 19,
32354 OPC_CheckComplexPat2, /*#*/1,
32355 OPC_EmitMergeInputChains1_0,
32356 OPC_EmitInteger32, 0,
32357 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZpc), 0|OPFL_Chain|OPFL_MemRefs,
32358 MVT::i32, 2, 2, 4,
32359 16,
32360 OPC_CheckPredicate2,
32361 OPC_CheckPatternPredicate, 19,
32362 OPC_CheckComplexPat2, /*#*/1,
32363 OPC_EmitMergeInputChains1_0,
32364 OPC_EmitInteger32, 0,
32365 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZpc), 0|OPFL_Chain|OPFL_MemRefs,
32366 MVT::i32, 2, 2, 4,
32367 17,
32368 OPC_CheckPredicate, 8,
32369 OPC_CheckPatternPredicate, 19,
32370 OPC_CheckComplexPat2, /*#*/1,
32371 OPC_EmitMergeInputChains1_0,
32372 OPC_EmitInteger32, 0,
32373 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZpc), 0|OPFL_Chain|OPFL_MemRefs,
32374 MVT::i32, 2, 2, 4,
32375 0,
32376 17, MVT::i64,
32377 OPC_CheckPredicate, 18,
32378 OPC_CheckPatternPredicate, 19,
32379 OPC_CheckComplexPat2, /*#*/1,
32380 OPC_EmitMergeInputChains1_0,
32381 OPC_EmitInteger32, 0,
32382 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLDpc), 0|OPFL_Chain|OPFL_MemRefs,
32383 MVT::i64, 2, 2, 4,
32384 0,
32385 50|128,1,
32386 OPC_RecordChild1,
32387 OPC_SwitchType , 42, MVT::i64,
32388 OPC_CheckPredicate, 18,
32389 OPC_Scope, 11,
32390 OPC_CheckComplexPat4, /*#*/1,
32391 OPC_EmitMergeInputChains1_0,
32392 OPC_MorphNodeTo1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
32393 MVT::i64, 2, 2, 3,
32394 11,
32395 OPC_CheckComplexPat1, /*#*/1,
32396 OPC_EmitMergeInputChains1_0,
32397 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
32398 MVT::i64, 2, 2, 3,
32399 13,
32400 OPC_CheckPatternPredicate, 22,
32401 OPC_CheckComplexPat3, /*#*/1,
32402 OPC_EmitMergeInputChains1_0,
32403 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
32404 MVT::i64, 2, 2, 3,
32405 0,
32406 0|128,1, MVT::i32,
32407 OPC_Scope, 14,
32408 OPC_CheckPredicate4,
32409 OPC_CheckPatternPredicate, 22,
32410 OPC_CheckComplexPat3, /*#*/1,
32411 OPC_EmitMergeInputChains1_0,
32412 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLBZ), 0|OPFL_Chain|OPFL_MemRefs,
32413 MVT::i32, 2, 2, 3,
32414 14,
32415 OPC_CheckPredicate2,
32416 OPC_CheckPatternPredicate, 22,
32417 OPC_CheckComplexPat3, /*#*/1,
32418 OPC_EmitMergeInputChains1_0,
32419 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLHZ), 0|OPFL_Chain|OPFL_MemRefs,
32420 MVT::i32, 2, 2, 3,
32421 15,
32422 OPC_CheckPredicate, 8,
32423 OPC_CheckPatternPredicate, 22,
32424 OPC_CheckComplexPat3, /*#*/1,
32425 OPC_EmitMergeInputChains1_0,
32426 OPC_MorphNodeTo1, TARGET_VAL(PPC::PLWZ), 0|OPFL_Chain|OPFL_MemRefs,
32427 MVT::i32, 2, 2, 3,
32428 12,
32429 OPC_CheckPredicate4,
32430 OPC_CheckComplexPat5, /*#*/1,
32431 OPC_EmitMergeInputChains1_0,
32432 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZ), 0|OPFL_Chain|OPFL_MemRefs,
32433 MVT::i32, 2, 2, 3,
32434 12,
32435 OPC_CheckPredicate2,
32436 OPC_CheckComplexPat5, /*#*/1,
32437 OPC_EmitMergeInputChains1_0,
32438 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZ), 0|OPFL_Chain|OPFL_MemRefs,
32439 MVT::i32, 2, 2, 3,
32440 13,
32441 OPC_CheckPredicate, 8,
32442 OPC_CheckComplexPat5, /*#*/1,
32443 OPC_EmitMergeInputChains1_0,
32444 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZ), 0|OPFL_Chain|OPFL_MemRefs,
32445 MVT::i32, 2, 2, 3,
32446 12,
32447 OPC_CheckPredicate4,
32448 OPC_CheckComplexPat1, /*#*/1,
32449 OPC_EmitMergeInputChains1_0,
32450 OPC_MorphNodeTo1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
32451 MVT::i32, 2, 2, 3,
32452 12,
32453 OPC_CheckPredicate2,
32454 OPC_CheckComplexPat1, /*#*/1,
32455 OPC_EmitMergeInputChains1_0,
32456 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
32457 MVT::i32, 2, 2, 3,
32458 13,
32459 OPC_CheckPredicate, 8,
32460 OPC_CheckComplexPat1, /*#*/1,
32461 OPC_EmitMergeInputChains1_0,
32462 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZX), 0|OPFL_Chain|OPFL_MemRefs,
32463 MVT::i32, 2, 2, 3,
32464 0,
32465 0,
32466 0,
32467 73|128,2, TARGET_VAL(ISD::ATOMIC_STORE),
32468 OPC_RecordMemRef,
32469 OPC_RecordNode,
32470 OPC_RecordChild1,
32471 OPC_Scope, 67|128,1,
32472 OPC_CheckChild1TypeI32,
32473 OPC_Scope, 60,
32474 OPC_MoveChild2,
32475 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32476 OPC_RecordChild0,
32477 OPC_MoveParent,
32478 OPC_Scope, 16,
32479 OPC_CheckPredicate4,
32480 OPC_CheckPatternPredicate, 19,
32481 OPC_CheckComplexPat2, /*#*/2,
32482 OPC_EmitMergeInputChains1_0,
32483 OPC_EmitInteger32, 0,
32484 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTBpc), 0|OPFL_Chain|OPFL_MemRefs,
32485 3, 1, 3, 5,
32486 16,
32487 OPC_CheckPredicate2,
32488 OPC_CheckPatternPredicate, 19,
32489 OPC_CheckComplexPat2, /*#*/2,
32490 OPC_EmitMergeInputChains1_0,
32491 OPC_EmitInteger32, 0,
32492 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTHpc), 0|OPFL_Chain|OPFL_MemRefs,
32493 3, 1, 3, 5,
32494 17,
32495 OPC_CheckPredicate, 8,
32496 OPC_CheckPatternPredicate, 19,
32497 OPC_CheckComplexPat2, /*#*/2,
32498 OPC_EmitMergeInputChains1_0,
32499 OPC_EmitInteger32, 0,
32500 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTWpc), 0|OPFL_Chain|OPFL_MemRefs,
32501 3, 1, 3, 5,
32502 0,
32503 1|128,1,
32504 OPC_RecordChild2,
32505 OPC_Scope, 14,
32506 OPC_CheckPredicate4,
32507 OPC_CheckPatternPredicate, 22,
32508 OPC_CheckComplexPat3, /*#*/2,
32509 OPC_EmitMergeInputChains1_0,
32510 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB), 0|OPFL_Chain|OPFL_MemRefs,
32511 3, 1, 3, 4,
32512 14,
32513 OPC_CheckPredicate2,
32514 OPC_CheckPatternPredicate, 22,
32515 OPC_CheckComplexPat3, /*#*/2,
32516 OPC_EmitMergeInputChains1_0,
32517 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH), 0|OPFL_Chain|OPFL_MemRefs,
32518 3, 1, 3, 4,
32519 15,
32520 OPC_CheckPredicate, 8,
32521 OPC_CheckPatternPredicate, 22,
32522 OPC_CheckComplexPat3, /*#*/2,
32523 OPC_EmitMergeInputChains1_0,
32524 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW), 0|OPFL_Chain|OPFL_MemRefs,
32525 3, 1, 3, 4,
32526 12,
32527 OPC_CheckPredicate4,
32528 OPC_CheckComplexPat5, /*#*/2,
32529 OPC_EmitMergeInputChains1_0,
32530 OPC_MorphNodeTo0, TARGET_VAL(PPC::STB), 0|OPFL_Chain|OPFL_MemRefs,
32531 3, 1, 3, 4,
32532 12,
32533 OPC_CheckPredicate2,
32534 OPC_CheckComplexPat5, /*#*/2,
32535 OPC_EmitMergeInputChains1_0,
32536 OPC_MorphNodeTo0, TARGET_VAL(PPC::STH), 0|OPFL_Chain|OPFL_MemRefs,
32537 3, 1, 3, 4,
32538 13,
32539 OPC_CheckPredicate, 8,
32540 OPC_CheckComplexPat5, /*#*/2,
32541 OPC_EmitMergeInputChains1_0,
32542 OPC_MorphNodeTo0, TARGET_VAL(PPC::STW), 0|OPFL_Chain|OPFL_MemRefs,
32543 3, 1, 3, 4,
32544 12,
32545 OPC_CheckPredicate4,
32546 OPC_CheckComplexPat1, /*#*/2,
32547 OPC_EmitMergeInputChains1_0,
32548 OPC_MorphNodeTo0, TARGET_VAL(PPC::STBX), 0|OPFL_Chain|OPFL_MemRefs,
32549 3, 1, 3, 4,
32550 12,
32551 OPC_CheckPredicate2,
32552 OPC_CheckComplexPat1, /*#*/2,
32553 OPC_EmitMergeInputChains1_0,
32554 OPC_MorphNodeTo0, TARGET_VAL(PPC::STHX), 0|OPFL_Chain|OPFL_MemRefs,
32555 3, 1, 3, 4,
32556 13,
32557 OPC_CheckPredicate, 8,
32558 OPC_CheckComplexPat1, /*#*/2,
32559 OPC_EmitMergeInputChains1_0,
32560 OPC_MorphNodeTo0, TARGET_VAL(PPC::STWX), 0|OPFL_Chain|OPFL_MemRefs,
32561 3, 1, 3, 4,
32562 0,
32563 0,
32564 126,
32565 OPC_CheckChild1TypeI64,
32566 OPC_Scope, 78,
32567 OPC_MoveChild2,
32568 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
32569 OPC_RecordChild0,
32570 OPC_MoveParent,
32571 OPC_Scope, 16,
32572 OPC_CheckPredicate4,
32573 OPC_CheckPatternPredicate, 19,
32574 OPC_CheckComplexPat2, /*#*/2,
32575 OPC_EmitMergeInputChains1_0,
32576 OPC_EmitInteger32, 0,
32577 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTB8pc), 0|OPFL_Chain|OPFL_MemRefs,
32578 3, 1, 3, 5,
32579 16,
32580 OPC_CheckPredicate2,
32581 OPC_CheckPatternPredicate, 19,
32582 OPC_CheckComplexPat2, /*#*/2,
32583 OPC_EmitMergeInputChains1_0,
32584 OPC_EmitInteger32, 0,
32585 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTH8pc), 0|OPFL_Chain|OPFL_MemRefs,
32586 3, 1, 3, 5,
32587 17,
32588 OPC_CheckPredicate, 8,
32589 OPC_CheckPatternPredicate, 19,
32590 OPC_CheckComplexPat2, /*#*/2,
32591 OPC_EmitMergeInputChains1_0,
32592 OPC_EmitInteger32, 0,
32593 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTW8pc), 0|OPFL_Chain|OPFL_MemRefs,
32594 3, 1, 3, 5,
32595 17,
32596 OPC_CheckPredicate, 18,
32597 OPC_CheckPatternPredicate, 19,
32598 OPC_CheckComplexPat2, /*#*/2,
32599 OPC_EmitMergeInputChains1_0,
32600 OPC_EmitInteger32, 0,
32601 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTDpc), 0|OPFL_Chain|OPFL_MemRefs,
32602 3, 1, 3, 5,
32603 0,
32604 43,
32605 OPC_RecordChild2,
32606 OPC_CheckPredicate, 18,
32607 OPC_Scope, 11,
32608 OPC_CheckComplexPat4, /*#*/2,
32609 OPC_EmitMergeInputChains1_0,
32610 OPC_MorphNodeTo0, TARGET_VAL(PPC::STD), 0|OPFL_Chain|OPFL_MemRefs,
32611 3, 1, 3, 4,
32612 11,
32613 OPC_CheckComplexPat1, /*#*/2,
32614 OPC_EmitMergeInputChains1_0,
32615 OPC_MorphNodeTo0, TARGET_VAL(PPC::STDX), 0|OPFL_Chain|OPFL_MemRefs,
32616 3, 1, 3, 4,
32617 13,
32618 OPC_CheckPatternPredicate, 22,
32619 OPC_CheckComplexPat3, /*#*/2,
32620 OPC_EmitMergeInputChains1_0,
32621 OPC_MorphNodeTo0, TARGET_VAL(PPC::PSTD), 0|OPFL_Chain|OPFL_MemRefs,
32622 3, 1, 3, 4,
32623 0,
32624 0,
32625 0,
32626 58|128,43, TARGET_VAL(ISD::XOR),
32627 OPC_Scope, 117|128,7,
32628 OPC_MoveChild0,
32629 OPC_SwitchOpcode , 111|128,6, TARGET_VAL(ISD::SETCC),
32630 OPC_RecordChild0,
32631 OPC_Scope, 51|128,3,
32632 OPC_CheckChild0TypeI32,
32633 OPC_RecordChild1,
32634 OPC_MoveChild1,
32635 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32636 OPC_Scope, 27,
32637 OPC_CheckPredicate0,
32638 OPC_MoveParent,
32639 OPC_CheckChild2CondCode, ISD::SETUGE,
32640 OPC_MoveParent,
32641 OPC_CheckChild1Integer, 3,
32642 OPC_CheckType, MVT::i1,
32643 OPC_CheckPatternPredicate4,
32644 OPC_EmitConvertToTarget1,
32645 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32646 MVT::i32, 2, 0, 2,
32647 OPC_EmitStringInteger32, PPC::sub_lt,
32648 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32649 MVT::i1, 2, 3, 4,
32650 28,
32651 OPC_CheckPredicate, 10,
32652 OPC_MoveParent,
32653 OPC_CheckChild2CondCode, ISD::SETGE,
32654 OPC_MoveParent,
32655 OPC_CheckChild1Integer, 3,
32656 OPC_CheckType, MVT::i1,
32657 OPC_CheckPatternPredicate4,
32658 OPC_EmitConvertToTarget1,
32659 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32660 MVT::i32, 2, 0, 2,
32661 OPC_EmitStringInteger32, PPC::sub_lt,
32662 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32663 MVT::i1, 2, 3, 4,
32664 27,
32665 OPC_CheckPredicate0,
32666 OPC_MoveParent,
32667 OPC_CheckChild2CondCode, ISD::SETULE,
32668 OPC_MoveParent,
32669 OPC_CheckChild1Integer, 3,
32670 OPC_CheckType, MVT::i1,
32671 OPC_CheckPatternPredicate4,
32672 OPC_EmitConvertToTarget1,
32673 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32674 MVT::i32, 2, 0, 2,
32675 OPC_EmitStringInteger32, PPC::sub_gt,
32676 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32677 MVT::i1, 2, 3, 4,
32678 57,
32679 OPC_CheckPredicate, 10,
32680 OPC_MoveParent,
32681 OPC_Scope, 25,
32682 OPC_CheckChild2CondCode, ISD::SETLE,
32683 OPC_MoveParent,
32684 OPC_CheckChild1Integer, 3,
32685 OPC_CheckType, MVT::i1,
32686 OPC_CheckPatternPredicate4,
32687 OPC_EmitConvertToTarget1,
32688 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32689 MVT::i32, 2, 0, 2,
32690 OPC_EmitStringInteger32, PPC::sub_gt,
32691 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32692 MVT::i1, 2, 3, 4,
32693 25,
32694 OPC_CheckChild2CondCode, ISD::SETNE,
32695 OPC_MoveParent,
32696 OPC_CheckChild1Integer, 3,
32697 OPC_CheckType, MVT::i1,
32698 OPC_CheckPatternPredicate4,
32699 OPC_EmitConvertToTarget1,
32700 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32701 MVT::i32, 2, 0, 2,
32702 OPC_EmitStringInteger32, PPC::sub_eq,
32703 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32704 MVT::i1, 2, 3, 4,
32705 0,
32706 57,
32707 OPC_CheckPredicate0,
32708 OPC_MoveParent,
32709 OPC_Scope, 25,
32710 OPC_CheckChild2CondCode, ISD::SETNE,
32711 OPC_MoveParent,
32712 OPC_CheckChild1Integer, 3,
32713 OPC_CheckType, MVT::i1,
32714 OPC_CheckPatternPredicate4,
32715 OPC_EmitConvertToTarget1,
32716 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32717 MVT::i32, 2, 0, 2,
32718 OPC_EmitStringInteger32, PPC::sub_eq,
32719 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32720 MVT::i1, 2, 3, 4,
32721 26,
32722 OPC_CheckChild2CondCode, ISD::SETUGE,
32723 OPC_MoveParent,
32724 OPC_CheckChild1Integer, 3,
32725 OPC_CheckType, MVT::i1,
32726 OPC_CheckPatternPredicate, 8,
32727 OPC_EmitConvertToTarget1,
32728 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32729 MVT::i32, 2, 0, 2,
32730 OPC_EmitStringInteger32, PPC::sub_lt,
32731 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32732 MVT::i1, 2, 3, 4,
32733 0,
32734 29,
32735 OPC_CheckPredicate, 10,
32736 OPC_MoveParent,
32737 OPC_CheckChild2CondCode, ISD::SETGE,
32738 OPC_MoveParent,
32739 OPC_CheckChild1Integer, 3,
32740 OPC_CheckType, MVT::i1,
32741 OPC_CheckPatternPredicate, 8,
32742 OPC_EmitConvertToTarget1,
32743 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32744 MVT::i32, 2, 0, 2,
32745 OPC_EmitStringInteger32, PPC::sub_lt,
32746 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32747 MVT::i1, 2, 3, 4,
32748 28,
32749 OPC_CheckPredicate0,
32750 OPC_MoveParent,
32751 OPC_CheckChild2CondCode, ISD::SETULE,
32752 OPC_MoveParent,
32753 OPC_CheckChild1Integer, 3,
32754 OPC_CheckType, MVT::i1,
32755 OPC_CheckPatternPredicate, 8,
32756 OPC_EmitConvertToTarget1,
32757 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32758 MVT::i32, 2, 0, 2,
32759 OPC_EmitStringInteger32, PPC::sub_gt,
32760 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32761 MVT::i1, 2, 3, 4,
32762 59,
32763 OPC_CheckPredicate, 10,
32764 OPC_MoveParent,
32765 OPC_Scope, 26,
32766 OPC_CheckChild2CondCode, ISD::SETLE,
32767 OPC_MoveParent,
32768 OPC_CheckChild1Integer, 3,
32769 OPC_CheckType, MVT::i1,
32770 OPC_CheckPatternPredicate, 8,
32771 OPC_EmitConvertToTarget1,
32772 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32773 MVT::i32, 2, 0, 2,
32774 OPC_EmitStringInteger32, PPC::sub_gt,
32775 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32776 MVT::i1, 2, 3, 4,
32777 26,
32778 OPC_CheckChild2CondCode, ISD::SETNE,
32779 OPC_MoveParent,
32780 OPC_CheckChild1Integer, 3,
32781 OPC_CheckType, MVT::i1,
32782 OPC_CheckPatternPredicate, 8,
32783 OPC_EmitConvertToTarget1,
32784 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
32785 MVT::i32, 2, 0, 2,
32786 OPC_EmitStringInteger32, PPC::sub_eq,
32787 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32788 MVT::i1, 2, 3, 4,
32789 0,
32790 28,
32791 OPC_CheckPredicate0,
32792 OPC_MoveParent,
32793 OPC_CheckChild2CondCode, ISD::SETNE,
32794 OPC_MoveParent,
32795 OPC_CheckChild1Integer, 3,
32796 OPC_CheckType, MVT::i1,
32797 OPC_CheckPatternPredicate, 8,
32798 OPC_EmitConvertToTarget1,
32799 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32800 MVT::i32, 2, 0, 2,
32801 OPC_EmitStringInteger32, PPC::sub_eq,
32802 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32803 MVT::i1, 2, 3, 4,
32804 77,
32805 OPC_MoveParent,
32806 OPC_CheckChild2CondCode, ISD::SETNE,
32807 OPC_MoveParent,
32808 OPC_CheckChild1Integer, 3,
32809 OPC_CheckType, MVT::i1,
32810 OPC_Scope, 32,
32811 OPC_CheckPatternPredicate4,
32812 OPC_EmitConvertToTarget1,
32813 OPC_EmitNodeXForm, 0, 2,
32814 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
32815 MVT::i32, 2, 0, 3,
32816 OPC_EmitConvertToTarget1,
32817 OPC_EmitNodeXForm, 1, 5,
32818 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32819 MVT::i32, 2, 4, 6,
32820 OPC_EmitStringInteger32, PPC::sub_eq,
32821 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32822 MVT::i1, 2, 7, 8,
32823 33,
32824 OPC_CheckPatternPredicate, 8,
32825 OPC_EmitConvertToTarget1,
32826 OPC_EmitNodeXForm, 0, 2,
32827 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
32828 MVT::i32, 2, 0, 3,
32829 OPC_EmitConvertToTarget1,
32830 OPC_EmitNodeXForm, 1, 5,
32831 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
32832 MVT::i32, 2, 4, 6,
32833 OPC_EmitStringInteger32, PPC::sub_eq,
32834 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32835 MVT::i1, 2, 7, 8,
32836 0,
32837 0,
32838 53|128,3,
32839 OPC_CheckChild0TypeI64,
32840 OPC_RecordChild1,
32841 OPC_MoveChild1,
32842 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32843 OPC_Scope, 27,
32844 OPC_CheckPredicate0,
32845 OPC_MoveParent,
32846 OPC_CheckChild2CondCode, ISD::SETUGE,
32847 OPC_MoveParent,
32848 OPC_CheckChild1Integer, 3,
32849 OPC_CheckType, MVT::i1,
32850 OPC_CheckPatternPredicate4,
32851 OPC_EmitConvertToTarget1,
32852 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
32853 MVT::i32, 2, 0, 2,
32854 OPC_EmitStringInteger32, PPC::sub_lt,
32855 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32856 MVT::i1, 2, 3, 4,
32857 28,
32858 OPC_CheckPredicate, 12,
32859 OPC_MoveParent,
32860 OPC_CheckChild2CondCode, ISD::SETGE,
32861 OPC_MoveParent,
32862 OPC_CheckChild1Integer, 3,
32863 OPC_CheckType, MVT::i1,
32864 OPC_CheckPatternPredicate4,
32865 OPC_EmitConvertToTarget1,
32866 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32867 MVT::i32, 2, 0, 2,
32868 OPC_EmitStringInteger32, PPC::sub_lt,
32869 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32870 MVT::i1, 2, 3, 4,
32871 27,
32872 OPC_CheckPredicate0,
32873 OPC_MoveParent,
32874 OPC_CheckChild2CondCode, ISD::SETULE,
32875 OPC_MoveParent,
32876 OPC_CheckChild1Integer, 3,
32877 OPC_CheckType, MVT::i1,
32878 OPC_CheckPatternPredicate4,
32879 OPC_EmitConvertToTarget1,
32880 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
32881 MVT::i32, 2, 0, 2,
32882 OPC_EmitStringInteger32, PPC::sub_gt,
32883 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32884 MVT::i1, 2, 3, 4,
32885 57,
32886 OPC_CheckPredicate, 12,
32887 OPC_MoveParent,
32888 OPC_Scope, 25,
32889 OPC_CheckChild2CondCode, ISD::SETLE,
32890 OPC_MoveParent,
32891 OPC_CheckChild1Integer, 3,
32892 OPC_CheckType, MVT::i1,
32893 OPC_CheckPatternPredicate4,
32894 OPC_EmitConvertToTarget1,
32895 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32896 MVT::i32, 2, 0, 2,
32897 OPC_EmitStringInteger32, PPC::sub_gt,
32898 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32899 MVT::i1, 2, 3, 4,
32900 25,
32901 OPC_CheckChild2CondCode, ISD::SETNE,
32902 OPC_MoveParent,
32903 OPC_CheckChild1Integer, 3,
32904 OPC_CheckType, MVT::i1,
32905 OPC_CheckPatternPredicate4,
32906 OPC_EmitConvertToTarget1,
32907 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32908 MVT::i32, 2, 0, 2,
32909 OPC_EmitStringInteger32, PPC::sub_eq,
32910 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32911 MVT::i1, 2, 3, 4,
32912 0,
32913 57,
32914 OPC_CheckPredicate0,
32915 OPC_MoveParent,
32916 OPC_Scope, 25,
32917 OPC_CheckChild2CondCode, ISD::SETNE,
32918 OPC_MoveParent,
32919 OPC_CheckChild1Integer, 3,
32920 OPC_CheckType, MVT::i1,
32921 OPC_CheckPatternPredicate4,
32922 OPC_EmitConvertToTarget1,
32923 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
32924 MVT::i32, 2, 0, 2,
32925 OPC_EmitStringInteger32, PPC::sub_eq,
32926 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32927 MVT::i1, 2, 3, 4,
32928 26,
32929 OPC_CheckChild2CondCode, ISD::SETUGE,
32930 OPC_MoveParent,
32931 OPC_CheckChild1Integer, 3,
32932 OPC_CheckType, MVT::i1,
32933 OPC_CheckPatternPredicate, 8,
32934 OPC_EmitConvertToTarget1,
32935 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
32936 MVT::i32, 2, 0, 2,
32937 OPC_EmitStringInteger32, PPC::sub_lt,
32938 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32939 MVT::i1, 2, 3, 4,
32940 0,
32941 29,
32942 OPC_CheckPredicate, 12,
32943 OPC_MoveParent,
32944 OPC_CheckChild2CondCode, ISD::SETGE,
32945 OPC_MoveParent,
32946 OPC_CheckChild1Integer, 3,
32947 OPC_CheckType, MVT::i1,
32948 OPC_CheckPatternPredicate, 8,
32949 OPC_EmitConvertToTarget1,
32950 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32951 MVT::i32, 2, 0, 2,
32952 OPC_EmitStringInteger32, PPC::sub_lt,
32953 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32954 MVT::i1, 2, 3, 4,
32955 28,
32956 OPC_CheckPredicate0,
32957 OPC_MoveParent,
32958 OPC_CheckChild2CondCode, ISD::SETULE,
32959 OPC_MoveParent,
32960 OPC_CheckChild1Integer, 3,
32961 OPC_CheckType, MVT::i1,
32962 OPC_CheckPatternPredicate, 8,
32963 OPC_EmitConvertToTarget1,
32964 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
32965 MVT::i32, 2, 0, 2,
32966 OPC_EmitStringInteger32, PPC::sub_gt,
32967 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32968 MVT::i1, 2, 3, 4,
32969 59,
32970 OPC_CheckPredicate, 12,
32971 OPC_MoveParent,
32972 OPC_Scope, 26,
32973 OPC_CheckChild2CondCode, ISD::SETLE,
32974 OPC_MoveParent,
32975 OPC_CheckChild1Integer, 3,
32976 OPC_CheckType, MVT::i1,
32977 OPC_CheckPatternPredicate, 8,
32978 OPC_EmitConvertToTarget1,
32979 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32980 MVT::i32, 2, 0, 2,
32981 OPC_EmitStringInteger32, PPC::sub_gt,
32982 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32983 MVT::i1, 2, 3, 4,
32984 26,
32985 OPC_CheckChild2CondCode, ISD::SETNE,
32986 OPC_MoveParent,
32987 OPC_CheckChild1Integer, 3,
32988 OPC_CheckType, MVT::i1,
32989 OPC_CheckPatternPredicate, 8,
32990 OPC_EmitConvertToTarget1,
32991 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
32992 MVT::i32, 2, 0, 2,
32993 OPC_EmitStringInteger32, PPC::sub_eq,
32994 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32995 MVT::i1, 2, 3, 4,
32996 0,
32997 28,
32998 OPC_CheckPredicate0,
32999 OPC_MoveParent,
33000 OPC_CheckChild2CondCode, ISD::SETNE,
33001 OPC_MoveParent,
33002 OPC_CheckChild1Integer, 3,
33003 OPC_CheckType, MVT::i1,
33004 OPC_CheckPatternPredicate, 8,
33005 OPC_EmitConvertToTarget1,
33006 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
33007 MVT::i32, 2, 0, 2,
33008 OPC_EmitStringInteger32, PPC::sub_eq,
33009 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33010 MVT::i1, 2, 3, 4,
33011 79,
33012 OPC_CheckPredicate, 22,
33013 OPC_MoveParent,
33014 OPC_CheckChild2CondCode, ISD::SETNE,
33015 OPC_MoveParent,
33016 OPC_CheckChild1Integer, 3,
33017 OPC_CheckType, MVT::i1,
33018 OPC_Scope, 32,
33019 OPC_CheckPatternPredicate4,
33020 OPC_EmitConvertToTarget1,
33021 OPC_EmitNodeXForm, 0, 2,
33022 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
33023 MVT::i64, 2, 0, 3,
33024 OPC_EmitConvertToTarget1,
33025 OPC_EmitNodeXForm, 1, 5,
33026 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
33027 MVT::i32, 2, 4, 6,
33028 OPC_EmitStringInteger32, PPC::sub_eq,
33029 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33030 MVT::i1, 2, 7, 8,
33031 33,
33032 OPC_CheckPatternPredicate, 8,
33033 OPC_EmitConvertToTarget1,
33034 OPC_EmitNodeXForm, 0, 2,
33035 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
33036 MVT::i64, 2, 0, 3,
33037 OPC_EmitConvertToTarget1,
33038 OPC_EmitNodeXForm, 1, 5,
33039 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
33040 MVT::i32, 2, 4, 6,
33041 OPC_EmitStringInteger32, PPC::sub_eq,
33042 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33043 MVT::i1, 2, 7, 8,
33044 0,
33045 0,
33046 0,
33047 34, TARGET_VAL(ISD::AND),
33048 OPC_RecordChild0,
33049 OPC_RecordChild1,
33050 OPC_MoveParent,
33051 OPC_CheckChild1Integer, 3,
33052 OPC_SwitchType , 7, MVT::i32,
33053 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NAND),
33054 MVT::i32, 2, 0, 1,
33055 7, MVT::i1,
33056 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNAND),
33057 MVT::i1, 2, 0, 1,
33058 7, MVT::i64,
33059 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NAND8),
33060 MVT::i64, 2, 0, 1,
33061 0,
33062 34, TARGET_VAL(ISD::OR),
33063 OPC_RecordChild0,
33064 OPC_RecordChild1,
33065 OPC_MoveParent,
33066 OPC_CheckChild1Integer, 3,
33067 OPC_SwitchType , 7, MVT::i32,
33068 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NOR),
33069 MVT::i32, 2, 0, 1,
33070 7, MVT::i1,
33071 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOR),
33072 MVT::i1, 2, 0, 1,
33073 7, MVT::i64,
33074 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NOR8),
33075 MVT::i64, 2, 0, 1,
33076 0,
33077 50, TARGET_VAL(ISD::XOR),
33078 OPC_RecordChild0,
33079 OPC_Scope, 33,
33080 OPC_RecordChild1,
33081 OPC_MoveParent,
33082 OPC_CheckChild1Integer, 3,
33083 OPC_SwitchType , 7, MVT::i32,
33084 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV),
33085 MVT::i32, 2, 0, 1,
33086 7, MVT::i1,
33087 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CREQV),
33088 MVT::i1, 2, 0, 1,
33089 7, MVT::i64,
33090 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV8),
33091 MVT::i64, 2, 0, 1,
33092 0,
33093 12,
33094 OPC_CheckChild1Integer, 3,
33095 OPC_MoveParent,
33096 OPC_RecordChild1,
33097 OPC_CheckTypeI32,
33098 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV),
33099 MVT::i32, 2, 0, 1,
33100 0,
33101 0,
33102 17,
33103 OPC_RecordChild0,
33104 OPC_MoveChild1,
33105 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
33106 OPC_RecordChild0,
33107 OPC_CheckChild1Integer, 3,
33108 OPC_MoveParent,
33109 OPC_CheckTypeI32,
33110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV),
33111 MVT::i32, 2, 1, 0,
33112 18,
33113 OPC_MoveChild0,
33114 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
33115 OPC_RecordChild0,
33116 OPC_CheckChild1Integer, 3,
33117 OPC_MoveParent,
33118 OPC_RecordChild1,
33119 OPC_CheckType, MVT::i1,
33120 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CREQV),
33121 MVT::i1, 2, 0, 1,
33122 18,
33123 OPC_RecordChild0,
33124 OPC_MoveChild1,
33125 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
33126 OPC_RecordChild0,
33127 OPC_CheckChild1Integer, 3,
33128 OPC_MoveParent,
33129 OPC_CheckType, MVT::i1,
33130 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CREQV),
33131 MVT::i1, 2, 1, 0,
33132 17,
33133 OPC_MoveChild0,
33134 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
33135 OPC_RecordChild0,
33136 OPC_CheckChild1Integer, 3,
33137 OPC_MoveParent,
33138 OPC_RecordChild1,
33139 OPC_CheckTypeI64,
33140 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV8),
33141 MVT::i64, 2, 0, 1,
33142 17,
33143 OPC_RecordChild0,
33144 OPC_MoveChild1,
33145 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
33146 OPC_RecordChild0,
33147 OPC_CheckChild1Integer, 3,
33148 OPC_MoveParent,
33149 OPC_CheckTypeI64,
33150 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EQV8),
33151 MVT::i64, 2, 1, 0,
33152 14|128,25,
33153 OPC_MoveChild0,
33154 OPC_SwitchOpcode , 45|128,13, TARGET_VAL(ISD::SETCC),
33155 OPC_RecordChild0,
33156 OPC_Scope, 111|128,1,
33157 OPC_CheckChild0TypeI32,
33158 OPC_RecordChild1,
33159 OPC_Scope, 46,
33160 OPC_CheckChild2CondCode, ISD::SETUGE,
33161 OPC_MoveParent,
33162 OPC_CheckChild1Integer, 3,
33163 OPC_CheckType, MVT::i1,
33164 OPC_Scope, 17,
33165 OPC_CheckPatternPredicate4,
33166 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
33167 MVT::i32, 2, 0, 1,
33168 OPC_EmitStringInteger32, PPC::sub_lt,
33169 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33170 MVT::i1, 2, 2, 3,
33171 18,
33172 OPC_CheckPatternPredicate, 8,
33173 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
33174 MVT::i32, 2, 0, 1,
33175 OPC_EmitStringInteger32, PPC::sub_lt,
33176 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33177 MVT::i1, 2, 2, 3,
33178 0,
33179 46,
33180 OPC_CheckChild2CondCode, ISD::SETGE,
33181 OPC_MoveParent,
33182 OPC_CheckChild1Integer, 3,
33183 OPC_CheckType, MVT::i1,
33184 OPC_Scope, 17,
33185 OPC_CheckPatternPredicate4,
33186 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33187 MVT::i32, 2, 0, 1,
33188 OPC_EmitStringInteger32, PPC::sub_lt,
33189 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33190 MVT::i1, 2, 2, 3,
33191 18,
33192 OPC_CheckPatternPredicate, 8,
33193 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33194 MVT::i32, 2, 0, 1,
33195 OPC_EmitStringInteger32, PPC::sub_lt,
33196 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33197 MVT::i1, 2, 2, 3,
33198 0,
33199 46,
33200 OPC_CheckChild2CondCode, ISD::SETULE,
33201 OPC_MoveParent,
33202 OPC_CheckChild1Integer, 3,
33203 OPC_CheckType, MVT::i1,
33204 OPC_Scope, 17,
33205 OPC_CheckPatternPredicate4,
33206 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
33207 MVT::i32, 2, 0, 1,
33208 OPC_EmitStringInteger32, PPC::sub_gt,
33209 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33210 MVT::i1, 2, 2, 3,
33211 18,
33212 OPC_CheckPatternPredicate, 8,
33213 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
33214 MVT::i32, 2, 0, 1,
33215 OPC_EmitStringInteger32, PPC::sub_gt,
33216 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33217 MVT::i1, 2, 2, 3,
33218 0,
33219 46,
33220 OPC_CheckChild2CondCode, ISD::SETLE,
33221 OPC_MoveParent,
33222 OPC_CheckChild1Integer, 3,
33223 OPC_CheckType, MVT::i1,
33224 OPC_Scope, 17,
33225 OPC_CheckPatternPredicate4,
33226 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33227 MVT::i32, 2, 0, 1,
33228 OPC_EmitStringInteger32, PPC::sub_gt,
33229 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33230 MVT::i1, 2, 2, 3,
33231 18,
33232 OPC_CheckPatternPredicate, 8,
33233 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33234 MVT::i32, 2, 0, 1,
33235 OPC_EmitStringInteger32, PPC::sub_gt,
33236 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33237 MVT::i1, 2, 2, 3,
33238 0,
33239 46,
33240 OPC_CheckChild2CondCode, ISD::SETNE,
33241 OPC_MoveParent,
33242 OPC_CheckChild1Integer, 3,
33243 OPC_CheckType, MVT::i1,
33244 OPC_Scope, 17,
33245 OPC_CheckPatternPredicate4,
33246 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33247 MVT::i32, 2, 0, 1,
33248 OPC_EmitStringInteger32, PPC::sub_eq,
33249 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33250 MVT::i1, 2, 2, 3,
33251 18,
33252 OPC_CheckPatternPredicate, 8,
33253 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
33254 MVT::i32, 2, 0, 1,
33255 OPC_EmitStringInteger32, PPC::sub_eq,
33256 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33257 MVT::i1, 2, 2, 3,
33258 0,
33259 0,
33260 111|128,1,
33261 OPC_CheckChild0TypeI64,
33262 OPC_RecordChild1,
33263 OPC_Scope, 46,
33264 OPC_CheckChild2CondCode, ISD::SETUGE,
33265 OPC_MoveParent,
33266 OPC_CheckChild1Integer, 3,
33267 OPC_CheckType, MVT::i1,
33268 OPC_Scope, 17,
33269 OPC_CheckPatternPredicate4,
33270 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
33271 MVT::i32, 2, 0, 1,
33272 OPC_EmitStringInteger32, PPC::sub_lt,
33273 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33274 MVT::i1, 2, 2, 3,
33275 18,
33276 OPC_CheckPatternPredicate, 8,
33277 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
33278 MVT::i32, 2, 0, 1,
33279 OPC_EmitStringInteger32, PPC::sub_lt,
33280 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33281 MVT::i1, 2, 2, 3,
33282 0,
33283 46,
33284 OPC_CheckChild2CondCode, ISD::SETGE,
33285 OPC_MoveParent,
33286 OPC_CheckChild1Integer, 3,
33287 OPC_CheckType, MVT::i1,
33288 OPC_Scope, 17,
33289 OPC_CheckPatternPredicate4,
33290 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33291 MVT::i32, 2, 0, 1,
33292 OPC_EmitStringInteger32, PPC::sub_lt,
33293 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33294 MVT::i1, 2, 2, 3,
33295 18,
33296 OPC_CheckPatternPredicate, 8,
33297 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33298 MVT::i32, 2, 0, 1,
33299 OPC_EmitStringInteger32, PPC::sub_lt,
33300 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33301 MVT::i1, 2, 2, 3,
33302 0,
33303 46,
33304 OPC_CheckChild2CondCode, ISD::SETULE,
33305 OPC_MoveParent,
33306 OPC_CheckChild1Integer, 3,
33307 OPC_CheckType, MVT::i1,
33308 OPC_Scope, 17,
33309 OPC_CheckPatternPredicate4,
33310 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
33311 MVT::i32, 2, 0, 1,
33312 OPC_EmitStringInteger32, PPC::sub_gt,
33313 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33314 MVT::i1, 2, 2, 3,
33315 18,
33316 OPC_CheckPatternPredicate, 8,
33317 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
33318 MVT::i32, 2, 0, 1,
33319 OPC_EmitStringInteger32, PPC::sub_gt,
33320 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33321 MVT::i1, 2, 2, 3,
33322 0,
33323 46,
33324 OPC_CheckChild2CondCode, ISD::SETLE,
33325 OPC_MoveParent,
33326 OPC_CheckChild1Integer, 3,
33327 OPC_CheckType, MVT::i1,
33328 OPC_Scope, 17,
33329 OPC_CheckPatternPredicate4,
33330 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33331 MVT::i32, 2, 0, 1,
33332 OPC_EmitStringInteger32, PPC::sub_gt,
33333 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33334 MVT::i1, 2, 2, 3,
33335 18,
33336 OPC_CheckPatternPredicate, 8,
33337 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33338 MVT::i32, 2, 0, 1,
33339 OPC_EmitStringInteger32, PPC::sub_gt,
33340 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33341 MVT::i1, 2, 2, 3,
33342 0,
33343 46,
33344 OPC_CheckChild2CondCode, ISD::SETNE,
33345 OPC_MoveParent,
33346 OPC_CheckChild1Integer, 3,
33347 OPC_CheckType, MVT::i1,
33348 OPC_Scope, 17,
33349 OPC_CheckPatternPredicate4,
33350 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33351 MVT::i32, 2, 0, 1,
33352 OPC_EmitStringInteger32, PPC::sub_eq,
33353 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33354 MVT::i1, 2, 2, 3,
33355 18,
33356 OPC_CheckPatternPredicate, 8,
33357 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
33358 MVT::i32, 2, 0, 1,
33359 OPC_EmitStringInteger32, PPC::sub_eq,
33360 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33361 MVT::i1, 2, 2, 3,
33362 0,
33363 0,
33364 58|128,3,
33365 OPC_CheckChild0Type, MVT::f32,
33366 OPC_RecordChild1,
33367 OPC_Scope, 64,
33368 OPC_CheckChild2CondCode, ISD::SETUGE,
33369 OPC_MoveParent,
33370 OPC_CheckChild1Integer, 3,
33371 OPC_CheckType, MVT::i1,
33372 OPC_Scope, 18,
33373 OPC_CheckPatternPredicate, 10,
33374 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33375 MVT::i32, 2, 0, 1,
33376 OPC_EmitStringInteger32, PPC::sub_lt,
33377 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33378 MVT::i1, 2, 2, 3,
33379 17,
33380 OPC_CheckPatternPredicate0,
33381 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33382 MVT::i32, 2, 0, 1,
33383 OPC_EmitStringInteger32, PPC::sub_lt,
33384 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33385 MVT::i1, 2, 2, 3,
33386 17,
33387 OPC_CheckPatternPredicate5,
33388 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
33389 MVT::i32, 2, 0, 1,
33390 OPC_EmitStringInteger32, PPC::sub_gt,
33391 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33392 MVT::i1, 2, 2, 3,
33393 0,
33394 64,
33395 OPC_CheckChild2CondCode, ISD::SETGE,
33396 OPC_MoveParent,
33397 OPC_CheckChild1Integer, 3,
33398 OPC_CheckType, MVT::i1,
33399 OPC_Scope, 18,
33400 OPC_CheckPatternPredicate, 10,
33401 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33402 MVT::i32, 2, 0, 1,
33403 OPC_EmitStringInteger32, PPC::sub_lt,
33404 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33405 MVT::i1, 2, 2, 3,
33406 17,
33407 OPC_CheckPatternPredicate0,
33408 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33409 MVT::i32, 2, 0, 1,
33410 OPC_EmitStringInteger32, PPC::sub_lt,
33411 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33412 MVT::i1, 2, 2, 3,
33413 17,
33414 OPC_CheckPatternPredicate5,
33415 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
33416 MVT::i32, 2, 0, 1,
33417 OPC_EmitStringInteger32, PPC::sub_gt,
33418 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33419 MVT::i1, 2, 2, 3,
33420 0,
33421 64,
33422 OPC_CheckChild2CondCode, ISD::SETULE,
33423 OPC_MoveParent,
33424 OPC_CheckChild1Integer, 3,
33425 OPC_CheckType, MVT::i1,
33426 OPC_Scope, 18,
33427 OPC_CheckPatternPredicate, 10,
33428 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33429 MVT::i32, 2, 0, 1,
33430 OPC_EmitStringInteger32, PPC::sub_gt,
33431 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33432 MVT::i1, 2, 2, 3,
33433 17,
33434 OPC_CheckPatternPredicate0,
33435 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33436 MVT::i32, 2, 0, 1,
33437 OPC_EmitStringInteger32, PPC::sub_gt,
33438 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33439 MVT::i1, 2, 2, 3,
33440 17,
33441 OPC_CheckPatternPredicate5,
33442 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
33443 MVT::i32, 2, 0, 1,
33444 OPC_EmitStringInteger32, PPC::sub_gt,
33445 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33446 MVT::i1, 2, 2, 3,
33447 0,
33448 64,
33449 OPC_CheckChild2CondCode, ISD::SETLE,
33450 OPC_MoveParent,
33451 OPC_CheckChild1Integer, 3,
33452 OPC_CheckType, MVT::i1,
33453 OPC_Scope, 18,
33454 OPC_CheckPatternPredicate, 10,
33455 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33456 MVT::i32, 2, 0, 1,
33457 OPC_EmitStringInteger32, PPC::sub_gt,
33458 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33459 MVT::i1, 2, 2, 3,
33460 17,
33461 OPC_CheckPatternPredicate0,
33462 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33463 MVT::i32, 2, 0, 1,
33464 OPC_EmitStringInteger32, PPC::sub_gt,
33465 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33466 MVT::i1, 2, 2, 3,
33467 17,
33468 OPC_CheckPatternPredicate5,
33469 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
33470 MVT::i32, 2, 0, 1,
33471 OPC_EmitStringInteger32, PPC::sub_gt,
33472 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33473 MVT::i1, 2, 2, 3,
33474 0,
33475 64,
33476 OPC_CheckChild2CondCode, ISD::SETUNE,
33477 OPC_MoveParent,
33478 OPC_CheckChild1Integer, 3,
33479 OPC_CheckType, MVT::i1,
33480 OPC_Scope, 18,
33481 OPC_CheckPatternPredicate, 10,
33482 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33483 MVT::i32, 2, 0, 1,
33484 OPC_EmitStringInteger32, PPC::sub_eq,
33485 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33486 MVT::i1, 2, 2, 3,
33487 17,
33488 OPC_CheckPatternPredicate0,
33489 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33490 MVT::i32, 2, 0, 1,
33491 OPC_EmitStringInteger32, PPC::sub_eq,
33492 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33493 MVT::i1, 2, 2, 3,
33494 17,
33495 OPC_CheckPatternPredicate5,
33496 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
33497 MVT::i32, 2, 0, 1,
33498 OPC_EmitStringInteger32, PPC::sub_gt,
33499 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33500 MVT::i1, 2, 2, 3,
33501 0,
33502 64,
33503 OPC_CheckChild2CondCode, ISD::SETNE,
33504 OPC_MoveParent,
33505 OPC_CheckChild1Integer, 3,
33506 OPC_CheckType, MVT::i1,
33507 OPC_Scope, 18,
33508 OPC_CheckPatternPredicate, 10,
33509 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33510 MVT::i32, 2, 0, 1,
33511 OPC_EmitStringInteger32, PPC::sub_eq,
33512 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33513 MVT::i1, 2, 2, 3,
33514 17,
33515 OPC_CheckPatternPredicate0,
33516 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33517 MVT::i32, 2, 0, 1,
33518 OPC_EmitStringInteger32, PPC::sub_eq,
33519 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33520 MVT::i1, 2, 2, 3,
33521 17,
33522 OPC_CheckPatternPredicate5,
33523 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
33524 MVT::i32, 2, 0, 1,
33525 OPC_EmitStringInteger32, PPC::sub_gt,
33526 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33527 MVT::i1, 2, 2, 3,
33528 0,
33529 46,
33530 OPC_CheckChild2CondCode, ISD::SETO,
33531 OPC_MoveParent,
33532 OPC_CheckChild1Integer, 3,
33533 OPC_CheckType, MVT::i1,
33534 OPC_Scope, 18,
33535 OPC_CheckPatternPredicate, 10,
33536 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33537 MVT::i32, 2, 0, 1,
33538 OPC_EmitStringInteger32, PPC::sub_un,
33539 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33540 MVT::i1, 2, 2, 3,
33541 17,
33542 OPC_CheckPatternPredicate0,
33543 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33544 MVT::i32, 2, 0, 1,
33545 OPC_EmitStringInteger32, PPC::sub_un,
33546 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33547 MVT::i1, 2, 2, 3,
33548 0,
33549 0,
33550 58|128,3,
33551 OPC_CheckChild0Type, MVT::f64,
33552 OPC_RecordChild1,
33553 OPC_Scope, 64,
33554 OPC_CheckChild2CondCode, ISD::SETUGE,
33555 OPC_MoveParent,
33556 OPC_CheckChild1Integer, 3,
33557 OPC_CheckType, MVT::i1,
33558 OPC_Scope, 18,
33559 OPC_CheckPatternPredicate, 10,
33560 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33561 MVT::i32, 2, 0, 1,
33562 OPC_EmitStringInteger32, PPC::sub_lt,
33563 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33564 MVT::i1, 2, 2, 3,
33565 17,
33566 OPC_CheckPatternPredicate0,
33567 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33568 MVT::i32, 2, 0, 1,
33569 OPC_EmitStringInteger32, PPC::sub_lt,
33570 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33571 MVT::i1, 2, 2, 3,
33572 17,
33573 OPC_CheckPatternPredicate5,
33574 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
33575 MVT::i32, 2, 0, 1,
33576 OPC_EmitStringInteger32, PPC::sub_gt,
33577 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33578 MVT::i1, 2, 2, 3,
33579 0,
33580 64,
33581 OPC_CheckChild2CondCode, ISD::SETGE,
33582 OPC_MoveParent,
33583 OPC_CheckChild1Integer, 3,
33584 OPC_CheckType, MVT::i1,
33585 OPC_Scope, 18,
33586 OPC_CheckPatternPredicate, 10,
33587 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33588 MVT::i32, 2, 0, 1,
33589 OPC_EmitStringInteger32, PPC::sub_lt,
33590 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33591 MVT::i1, 2, 2, 3,
33592 17,
33593 OPC_CheckPatternPredicate0,
33594 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33595 MVT::i32, 2, 0, 1,
33596 OPC_EmitStringInteger32, PPC::sub_lt,
33597 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33598 MVT::i1, 2, 2, 3,
33599 17,
33600 OPC_CheckPatternPredicate5,
33601 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
33602 MVT::i32, 2, 0, 1,
33603 OPC_EmitStringInteger32, PPC::sub_gt,
33604 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33605 MVT::i1, 2, 2, 3,
33606 0,
33607 64,
33608 OPC_CheckChild2CondCode, ISD::SETULE,
33609 OPC_MoveParent,
33610 OPC_CheckChild1Integer, 3,
33611 OPC_CheckType, MVT::i1,
33612 OPC_Scope, 18,
33613 OPC_CheckPatternPredicate, 10,
33614 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33615 MVT::i32, 2, 0, 1,
33616 OPC_EmitStringInteger32, PPC::sub_gt,
33617 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33618 MVT::i1, 2, 2, 3,
33619 17,
33620 OPC_CheckPatternPredicate0,
33621 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33622 MVT::i32, 2, 0, 1,
33623 OPC_EmitStringInteger32, PPC::sub_gt,
33624 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33625 MVT::i1, 2, 2, 3,
33626 17,
33627 OPC_CheckPatternPredicate5,
33628 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
33629 MVT::i32, 2, 0, 1,
33630 OPC_EmitStringInteger32, PPC::sub_gt,
33631 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33632 MVT::i1, 2, 2, 3,
33633 0,
33634 64,
33635 OPC_CheckChild2CondCode, ISD::SETLE,
33636 OPC_MoveParent,
33637 OPC_CheckChild1Integer, 3,
33638 OPC_CheckType, MVT::i1,
33639 OPC_Scope, 18,
33640 OPC_CheckPatternPredicate, 10,
33641 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33642 MVT::i32, 2, 0, 1,
33643 OPC_EmitStringInteger32, PPC::sub_gt,
33644 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33645 MVT::i1, 2, 2, 3,
33646 17,
33647 OPC_CheckPatternPredicate0,
33648 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33649 MVT::i32, 2, 0, 1,
33650 OPC_EmitStringInteger32, PPC::sub_gt,
33651 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33652 MVT::i1, 2, 2, 3,
33653 17,
33654 OPC_CheckPatternPredicate5,
33655 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
33656 MVT::i32, 2, 0, 1,
33657 OPC_EmitStringInteger32, PPC::sub_gt,
33658 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33659 MVT::i1, 2, 2, 3,
33660 0,
33661 64,
33662 OPC_CheckChild2CondCode, ISD::SETUNE,
33663 OPC_MoveParent,
33664 OPC_CheckChild1Integer, 3,
33665 OPC_CheckType, MVT::i1,
33666 OPC_Scope, 18,
33667 OPC_CheckPatternPredicate, 10,
33668 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33669 MVT::i32, 2, 0, 1,
33670 OPC_EmitStringInteger32, PPC::sub_eq,
33671 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33672 MVT::i1, 2, 2, 3,
33673 17,
33674 OPC_CheckPatternPredicate0,
33675 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33676 MVT::i32, 2, 0, 1,
33677 OPC_EmitStringInteger32, PPC::sub_eq,
33678 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33679 MVT::i1, 2, 2, 3,
33680 17,
33681 OPC_CheckPatternPredicate5,
33682 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
33683 MVT::i32, 2, 0, 1,
33684 OPC_EmitStringInteger32, PPC::sub_gt,
33685 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33686 MVT::i1, 2, 2, 3,
33687 0,
33688 64,
33689 OPC_CheckChild2CondCode, ISD::SETNE,
33690 OPC_MoveParent,
33691 OPC_CheckChild1Integer, 3,
33692 OPC_CheckType, MVT::i1,
33693 OPC_Scope, 18,
33694 OPC_CheckPatternPredicate, 10,
33695 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33696 MVT::i32, 2, 0, 1,
33697 OPC_EmitStringInteger32, PPC::sub_eq,
33698 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33699 MVT::i1, 2, 2, 3,
33700 17,
33701 OPC_CheckPatternPredicate0,
33702 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33703 MVT::i32, 2, 0, 1,
33704 OPC_EmitStringInteger32, PPC::sub_eq,
33705 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33706 MVT::i1, 2, 2, 3,
33707 17,
33708 OPC_CheckPatternPredicate5,
33709 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
33710 MVT::i32, 2, 0, 1,
33711 OPC_EmitStringInteger32, PPC::sub_gt,
33712 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33713 MVT::i1, 2, 2, 3,
33714 0,
33715 46,
33716 OPC_CheckChild2CondCode, ISD::SETO,
33717 OPC_MoveParent,
33718 OPC_CheckChild1Integer, 3,
33719 OPC_CheckType, MVT::i1,
33720 OPC_Scope, 18,
33721 OPC_CheckPatternPredicate, 10,
33722 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33723 MVT::i32, 2, 0, 1,
33724 OPC_EmitStringInteger32, PPC::sub_un,
33725 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33726 MVT::i1, 2, 2, 3,
33727 17,
33728 OPC_CheckPatternPredicate0,
33729 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33730 MVT::i32, 2, 0, 1,
33731 OPC_EmitStringInteger32, PPC::sub_un,
33732 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33733 MVT::i1, 2, 2, 3,
33734 0,
33735 0,
33736 78|128,2,
33737 OPC_CheckChild0Type, MVT::f128,
33738 OPC_RecordChild1,
33739 OPC_Scope, 46,
33740 OPC_CheckChild2CondCode, ISD::SETUGE,
33741 OPC_MoveParent,
33742 OPC_CheckChild1Integer, 3,
33743 OPC_CheckType, MVT::i1,
33744 OPC_Scope, 18,
33745 OPC_CheckPatternPredicate, 10,
33746 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33747 MVT::i32, 2, 0, 1,
33748 OPC_EmitStringInteger32, PPC::sub_lt,
33749 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33750 MVT::i1, 2, 2, 3,
33751 17,
33752 OPC_CheckPatternPredicate0,
33753 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33754 MVT::i32, 2, 0, 1,
33755 OPC_EmitStringInteger32, PPC::sub_lt,
33756 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33757 MVT::i1, 2, 2, 3,
33758 0,
33759 46,
33760 OPC_CheckChild2CondCode, ISD::SETGE,
33761 OPC_MoveParent,
33762 OPC_CheckChild1Integer, 3,
33763 OPC_CheckType, MVT::i1,
33764 OPC_Scope, 18,
33765 OPC_CheckPatternPredicate, 10,
33766 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33767 MVT::i32, 2, 0, 1,
33768 OPC_EmitStringInteger32, PPC::sub_lt,
33769 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33770 MVT::i1, 2, 2, 3,
33771 17,
33772 OPC_CheckPatternPredicate0,
33773 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33774 MVT::i32, 2, 0, 1,
33775 OPC_EmitStringInteger32, PPC::sub_lt,
33776 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33777 MVT::i1, 2, 2, 3,
33778 0,
33779 46,
33780 OPC_CheckChild2CondCode, ISD::SETULE,
33781 OPC_MoveParent,
33782 OPC_CheckChild1Integer, 3,
33783 OPC_CheckType, MVT::i1,
33784 OPC_Scope, 18,
33785 OPC_CheckPatternPredicate, 10,
33786 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33787 MVT::i32, 2, 0, 1,
33788 OPC_EmitStringInteger32, PPC::sub_gt,
33789 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33790 MVT::i1, 2, 2, 3,
33791 17,
33792 OPC_CheckPatternPredicate0,
33793 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33794 MVT::i32, 2, 0, 1,
33795 OPC_EmitStringInteger32, PPC::sub_gt,
33796 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33797 MVT::i1, 2, 2, 3,
33798 0,
33799 46,
33800 OPC_CheckChild2CondCode, ISD::SETLE,
33801 OPC_MoveParent,
33802 OPC_CheckChild1Integer, 3,
33803 OPC_CheckType, MVT::i1,
33804 OPC_Scope, 18,
33805 OPC_CheckPatternPredicate, 10,
33806 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33807 MVT::i32, 2, 0, 1,
33808 OPC_EmitStringInteger32, PPC::sub_gt,
33809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33810 MVT::i1, 2, 2, 3,
33811 17,
33812 OPC_CheckPatternPredicate0,
33813 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33814 MVT::i32, 2, 0, 1,
33815 OPC_EmitStringInteger32, PPC::sub_gt,
33816 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33817 MVT::i1, 2, 2, 3,
33818 0,
33819 46,
33820 OPC_CheckChild2CondCode, ISD::SETUNE,
33821 OPC_MoveParent,
33822 OPC_CheckChild1Integer, 3,
33823 OPC_CheckType, MVT::i1,
33824 OPC_Scope, 18,
33825 OPC_CheckPatternPredicate, 10,
33826 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33827 MVT::i32, 2, 0, 1,
33828 OPC_EmitStringInteger32, PPC::sub_eq,
33829 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33830 MVT::i1, 2, 2, 3,
33831 17,
33832 OPC_CheckPatternPredicate0,
33833 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33834 MVT::i32, 2, 0, 1,
33835 OPC_EmitStringInteger32, PPC::sub_eq,
33836 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33837 MVT::i1, 2, 2, 3,
33838 0,
33839 46,
33840 OPC_CheckChild2CondCode, ISD::SETNE,
33841 OPC_MoveParent,
33842 OPC_CheckChild1Integer, 3,
33843 OPC_CheckType, MVT::i1,
33844 OPC_Scope, 18,
33845 OPC_CheckPatternPredicate, 10,
33846 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33847 MVT::i32, 2, 0, 1,
33848 OPC_EmitStringInteger32, PPC::sub_eq,
33849 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33850 MVT::i1, 2, 2, 3,
33851 17,
33852 OPC_CheckPatternPredicate0,
33853 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33854 MVT::i32, 2, 0, 1,
33855 OPC_EmitStringInteger32, PPC::sub_eq,
33856 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33857 MVT::i1, 2, 2, 3,
33858 0,
33859 46,
33860 OPC_CheckChild2CondCode, ISD::SETO,
33861 OPC_MoveParent,
33862 OPC_CheckChild1Integer, 3,
33863 OPC_CheckType, MVT::i1,
33864 OPC_Scope, 18,
33865 OPC_CheckPatternPredicate, 10,
33866 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33867 MVT::i32, 2, 0, 1,
33868 OPC_EmitStringInteger32, PPC::sub_un,
33869 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33870 MVT::i1, 2, 2, 3,
33871 17,
33872 OPC_CheckPatternPredicate0,
33873 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
33874 MVT::i32, 2, 0, 1,
33875 OPC_EmitStringInteger32, PPC::sub_un,
33876 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33877 MVT::i1, 2, 2, 3,
33878 0,
33879 0,
33880 0,
33881 84|128,4, TARGET_VAL(ISD::STRICT_FSETCC),
33882 OPC_RecordNode,
33883 OPC_CheckFoldableChainNode,
33884 OPC_RecordChild1,
33885 OPC_Scope, 67|128,1,
33886 OPC_CheckChild1Type, MVT::f32,
33887 OPC_RecordChild2,
33888 OPC_MoveChild3,
33889 OPC_Scope, 26,
33890 OPC_CheckCondCode, ISD::SETUGE,
33891 OPC_MoveParent,
33892 OPC_MoveParent,
33893 OPC_CheckChild1Integer, 3,
33894 OPC_CheckType, MVT::i1,
33895 OPC_CheckPatternPredicate0,
33896 OPC_EmitMergeInputChains1_0,
33897 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33898 MVT::i32, 2, 1, 2,
33899 OPC_EmitStringInteger32, PPC::sub_lt,
33900 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33901 MVT::i1, 2, 3, 4,
33902 26,
33903 OPC_CheckCondCode, ISD::SETGE,
33904 OPC_MoveParent,
33905 OPC_MoveParent,
33906 OPC_CheckChild1Integer, 3,
33907 OPC_CheckType, MVT::i1,
33908 OPC_CheckPatternPredicate0,
33909 OPC_EmitMergeInputChains1_0,
33910 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33911 MVT::i32, 2, 1, 2,
33912 OPC_EmitStringInteger32, PPC::sub_lt,
33913 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33914 MVT::i1, 2, 3, 4,
33915 26,
33916 OPC_CheckCondCode, ISD::SETULE,
33917 OPC_MoveParent,
33918 OPC_MoveParent,
33919 OPC_CheckChild1Integer, 3,
33920 OPC_CheckType, MVT::i1,
33921 OPC_CheckPatternPredicate0,
33922 OPC_EmitMergeInputChains1_0,
33923 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33924 MVT::i32, 2, 1, 2,
33925 OPC_EmitStringInteger32, PPC::sub_gt,
33926 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33927 MVT::i1, 2, 3, 4,
33928 26,
33929 OPC_CheckCondCode, ISD::SETLE,
33930 OPC_MoveParent,
33931 OPC_MoveParent,
33932 OPC_CheckChild1Integer, 3,
33933 OPC_CheckType, MVT::i1,
33934 OPC_CheckPatternPredicate0,
33935 OPC_EmitMergeInputChains1_0,
33936 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33937 MVT::i32, 2, 1, 2,
33938 OPC_EmitStringInteger32, PPC::sub_gt,
33939 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33940 MVT::i1, 2, 3, 4,
33941 26,
33942 OPC_CheckCondCode, ISD::SETUNE,
33943 OPC_MoveParent,
33944 OPC_MoveParent,
33945 OPC_CheckChild1Integer, 3,
33946 OPC_CheckType, MVT::i1,
33947 OPC_CheckPatternPredicate0,
33948 OPC_EmitMergeInputChains1_0,
33949 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33950 MVT::i32, 2, 1, 2,
33951 OPC_EmitStringInteger32, PPC::sub_eq,
33952 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33953 MVT::i1, 2, 3, 4,
33954 26,
33955 OPC_CheckCondCode, ISD::SETNE,
33956 OPC_MoveParent,
33957 OPC_MoveParent,
33958 OPC_CheckChild1Integer, 3,
33959 OPC_CheckType, MVT::i1,
33960 OPC_CheckPatternPredicate0,
33961 OPC_EmitMergeInputChains1_0,
33962 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33963 MVT::i32, 2, 1, 2,
33964 OPC_EmitStringInteger32, PPC::sub_eq,
33965 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33966 MVT::i1, 2, 3, 4,
33967 26,
33968 OPC_CheckCondCode, ISD::SETO,
33969 OPC_MoveParent,
33970 OPC_MoveParent,
33971 OPC_CheckChild1Integer, 3,
33972 OPC_CheckType, MVT::i1,
33973 OPC_CheckPatternPredicate0,
33974 OPC_EmitMergeInputChains1_0,
33975 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
33976 MVT::i32, 2, 1, 2,
33977 OPC_EmitStringInteger32, PPC::sub_un,
33978 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33979 MVT::i1, 2, 3, 4,
33980 0,
33981 67|128,1,
33982 OPC_CheckChild1Type, MVT::f64,
33983 OPC_RecordChild2,
33984 OPC_MoveChild3,
33985 OPC_Scope, 26,
33986 OPC_CheckCondCode, ISD::SETUGE,
33987 OPC_MoveParent,
33988 OPC_MoveParent,
33989 OPC_CheckChild1Integer, 3,
33990 OPC_CheckType, MVT::i1,
33991 OPC_CheckPatternPredicate0,
33992 OPC_EmitMergeInputChains1_0,
33993 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
33994 MVT::i32, 2, 1, 2,
33995 OPC_EmitStringInteger32, PPC::sub_lt,
33996 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
33997 MVT::i1, 2, 3, 4,
33998 26,
33999 OPC_CheckCondCode, ISD::SETGE,
34000 OPC_MoveParent,
34001 OPC_MoveParent,
34002 OPC_CheckChild1Integer, 3,
34003 OPC_CheckType, MVT::i1,
34004 OPC_CheckPatternPredicate0,
34005 OPC_EmitMergeInputChains1_0,
34006 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34007 MVT::i32, 2, 1, 2,
34008 OPC_EmitStringInteger32, PPC::sub_lt,
34009 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34010 MVT::i1, 2, 3, 4,
34011 26,
34012 OPC_CheckCondCode, ISD::SETULE,
34013 OPC_MoveParent,
34014 OPC_MoveParent,
34015 OPC_CheckChild1Integer, 3,
34016 OPC_CheckType, MVT::i1,
34017 OPC_CheckPatternPredicate0,
34018 OPC_EmitMergeInputChains1_0,
34019 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34020 MVT::i32, 2, 1, 2,
34021 OPC_EmitStringInteger32, PPC::sub_gt,
34022 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34023 MVT::i1, 2, 3, 4,
34024 26,
34025 OPC_CheckCondCode, ISD::SETLE,
34026 OPC_MoveParent,
34027 OPC_MoveParent,
34028 OPC_CheckChild1Integer, 3,
34029 OPC_CheckType, MVT::i1,
34030 OPC_CheckPatternPredicate0,
34031 OPC_EmitMergeInputChains1_0,
34032 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34033 MVT::i32, 2, 1, 2,
34034 OPC_EmitStringInteger32, PPC::sub_gt,
34035 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34036 MVT::i1, 2, 3, 4,
34037 26,
34038 OPC_CheckCondCode, ISD::SETUNE,
34039 OPC_MoveParent,
34040 OPC_MoveParent,
34041 OPC_CheckChild1Integer, 3,
34042 OPC_CheckType, MVT::i1,
34043 OPC_CheckPatternPredicate0,
34044 OPC_EmitMergeInputChains1_0,
34045 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34046 MVT::i32, 2, 1, 2,
34047 OPC_EmitStringInteger32, PPC::sub_eq,
34048 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34049 MVT::i1, 2, 3, 4,
34050 26,
34051 OPC_CheckCondCode, ISD::SETNE,
34052 OPC_MoveParent,
34053 OPC_MoveParent,
34054 OPC_CheckChild1Integer, 3,
34055 OPC_CheckType, MVT::i1,
34056 OPC_CheckPatternPredicate0,
34057 OPC_EmitMergeInputChains1_0,
34058 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34059 MVT::i32, 2, 1, 2,
34060 OPC_EmitStringInteger32, PPC::sub_eq,
34061 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34062 MVT::i1, 2, 3, 4,
34063 26,
34064 OPC_CheckCondCode, ISD::SETO,
34065 OPC_MoveParent,
34066 OPC_MoveParent,
34067 OPC_CheckChild1Integer, 3,
34068 OPC_CheckType, MVT::i1,
34069 OPC_CheckPatternPredicate0,
34070 OPC_EmitMergeInputChains1_0,
34071 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
34072 MVT::i32, 2, 1, 2,
34073 OPC_EmitStringInteger32, PPC::sub_un,
34074 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34075 MVT::i1, 2, 3, 4,
34076 0,
34077 67|128,1,
34078 OPC_CheckChild1Type, MVT::f128,
34079 OPC_RecordChild2,
34080 OPC_MoveChild3,
34081 OPC_Scope, 26,
34082 OPC_CheckCondCode, ISD::SETUGE,
34083 OPC_MoveParent,
34084 OPC_MoveParent,
34085 OPC_CheckChild1Integer, 3,
34086 OPC_CheckType, MVT::i1,
34087 OPC_CheckPatternPredicate0,
34088 OPC_EmitMergeInputChains1_0,
34089 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34090 MVT::i32, 2, 1, 2,
34091 OPC_EmitStringInteger32, PPC::sub_lt,
34092 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34093 MVT::i1, 2, 3, 4,
34094 26,
34095 OPC_CheckCondCode, ISD::SETGE,
34096 OPC_MoveParent,
34097 OPC_MoveParent,
34098 OPC_CheckChild1Integer, 3,
34099 OPC_CheckType, MVT::i1,
34100 OPC_CheckPatternPredicate0,
34101 OPC_EmitMergeInputChains1_0,
34102 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34103 MVT::i32, 2, 1, 2,
34104 OPC_EmitStringInteger32, PPC::sub_lt,
34105 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34106 MVT::i1, 2, 3, 4,
34107 26,
34108 OPC_CheckCondCode, ISD::SETULE,
34109 OPC_MoveParent,
34110 OPC_MoveParent,
34111 OPC_CheckChild1Integer, 3,
34112 OPC_CheckType, MVT::i1,
34113 OPC_CheckPatternPredicate0,
34114 OPC_EmitMergeInputChains1_0,
34115 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34116 MVT::i32, 2, 1, 2,
34117 OPC_EmitStringInteger32, PPC::sub_gt,
34118 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34119 MVT::i1, 2, 3, 4,
34120 26,
34121 OPC_CheckCondCode, ISD::SETLE,
34122 OPC_MoveParent,
34123 OPC_MoveParent,
34124 OPC_CheckChild1Integer, 3,
34125 OPC_CheckType, MVT::i1,
34126 OPC_CheckPatternPredicate0,
34127 OPC_EmitMergeInputChains1_0,
34128 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34129 MVT::i32, 2, 1, 2,
34130 OPC_EmitStringInteger32, PPC::sub_gt,
34131 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34132 MVT::i1, 2, 3, 4,
34133 26,
34134 OPC_CheckCondCode, ISD::SETUNE,
34135 OPC_MoveParent,
34136 OPC_MoveParent,
34137 OPC_CheckChild1Integer, 3,
34138 OPC_CheckType, MVT::i1,
34139 OPC_CheckPatternPredicate0,
34140 OPC_EmitMergeInputChains1_0,
34141 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34142 MVT::i32, 2, 1, 2,
34143 OPC_EmitStringInteger32, PPC::sub_eq,
34144 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34145 MVT::i1, 2, 3, 4,
34146 26,
34147 OPC_CheckCondCode, ISD::SETNE,
34148 OPC_MoveParent,
34149 OPC_MoveParent,
34150 OPC_CheckChild1Integer, 3,
34151 OPC_CheckType, MVT::i1,
34152 OPC_CheckPatternPredicate0,
34153 OPC_EmitMergeInputChains1_0,
34154 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34155 MVT::i32, 2, 1, 2,
34156 OPC_EmitStringInteger32, PPC::sub_eq,
34157 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34158 MVT::i1, 2, 3, 4,
34159 26,
34160 OPC_CheckCondCode, ISD::SETO,
34161 OPC_MoveParent,
34162 OPC_MoveParent,
34163 OPC_CheckChild1Integer, 3,
34164 OPC_CheckType, MVT::i1,
34165 OPC_CheckPatternPredicate0,
34166 OPC_EmitMergeInputChains1_0,
34167 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
34168 MVT::i32, 2, 1, 2,
34169 OPC_EmitStringInteger32, PPC::sub_un,
34170 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34171 MVT::i1, 2, 3, 4,
34172 0,
34173 0,
34174 92|128,6, TARGET_VAL(ISD::STRICT_FSETCCS),
34175 OPC_RecordNode,
34176 OPC_CheckFoldableChainNode,
34177 OPC_RecordChild1,
34178 OPC_Scope, 71|128,2,
34179 OPC_CheckChild1Type, MVT::f32,
34180 OPC_RecordChild2,
34181 OPC_MoveChild3,
34182 OPC_Scope, 48,
34183 OPC_CheckCondCode, ISD::SETUGE,
34184 OPC_MoveParent,
34185 OPC_MoveParent,
34186 OPC_CheckChild1Integer, 3,
34187 OPC_CheckType, MVT::i1,
34188 OPC_Scope, 18,
34189 OPC_CheckPatternPredicate0,
34190 OPC_EmitMergeInputChains1_0,
34191 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34192 MVT::i32, 2, 1, 2,
34193 OPC_EmitStringInteger32, PPC::sub_lt,
34194 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34195 MVT::i1, 2, 3, 4,
34196 18,
34197 OPC_CheckPatternPredicate5,
34198 OPC_EmitMergeInputChains1_0,
34199 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
34200 MVT::i32, 2, 1, 2,
34201 OPC_EmitStringInteger32, PPC::sub_gt,
34202 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34203 MVT::i1, 2, 3, 4,
34204 0,
34205 48,
34206 OPC_CheckCondCode, ISD::SETGE,
34207 OPC_MoveParent,
34208 OPC_MoveParent,
34209 OPC_CheckChild1Integer, 3,
34210 OPC_CheckType, MVT::i1,
34211 OPC_Scope, 18,
34212 OPC_CheckPatternPredicate0,
34213 OPC_EmitMergeInputChains1_0,
34214 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34215 MVT::i32, 2, 1, 2,
34216 OPC_EmitStringInteger32, PPC::sub_lt,
34217 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34218 MVT::i1, 2, 3, 4,
34219 18,
34220 OPC_CheckPatternPredicate5,
34221 OPC_EmitMergeInputChains1_0,
34222 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
34223 MVT::i32, 2, 1, 2,
34224 OPC_EmitStringInteger32, PPC::sub_gt,
34225 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34226 MVT::i1, 2, 3, 4,
34227 0,
34228 48,
34229 OPC_CheckCondCode, ISD::SETULE,
34230 OPC_MoveParent,
34231 OPC_MoveParent,
34232 OPC_CheckChild1Integer, 3,
34233 OPC_CheckType, MVT::i1,
34234 OPC_Scope, 18,
34235 OPC_CheckPatternPredicate0,
34236 OPC_EmitMergeInputChains1_0,
34237 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34238 MVT::i32, 2, 1, 2,
34239 OPC_EmitStringInteger32, PPC::sub_gt,
34240 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34241 MVT::i1, 2, 3, 4,
34242 18,
34243 OPC_CheckPatternPredicate5,
34244 OPC_EmitMergeInputChains1_0,
34245 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
34246 MVT::i32, 2, 1, 2,
34247 OPC_EmitStringInteger32, PPC::sub_gt,
34248 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34249 MVT::i1, 2, 3, 4,
34250 0,
34251 48,
34252 OPC_CheckCondCode, ISD::SETLE,
34253 OPC_MoveParent,
34254 OPC_MoveParent,
34255 OPC_CheckChild1Integer, 3,
34256 OPC_CheckType, MVT::i1,
34257 OPC_Scope, 18,
34258 OPC_CheckPatternPredicate0,
34259 OPC_EmitMergeInputChains1_0,
34260 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34261 MVT::i32, 2, 1, 2,
34262 OPC_EmitStringInteger32, PPC::sub_gt,
34263 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34264 MVT::i1, 2, 3, 4,
34265 18,
34266 OPC_CheckPatternPredicate5,
34267 OPC_EmitMergeInputChains1_0,
34268 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
34269 MVT::i32, 2, 1, 2,
34270 OPC_EmitStringInteger32, PPC::sub_gt,
34271 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34272 MVT::i1, 2, 3, 4,
34273 0,
34274 48,
34275 OPC_CheckCondCode, ISD::SETUNE,
34276 OPC_MoveParent,
34277 OPC_MoveParent,
34278 OPC_CheckChild1Integer, 3,
34279 OPC_CheckType, MVT::i1,
34280 OPC_Scope, 18,
34281 OPC_CheckPatternPredicate0,
34282 OPC_EmitMergeInputChains1_0,
34283 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34284 MVT::i32, 2, 1, 2,
34285 OPC_EmitStringInteger32, PPC::sub_eq,
34286 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34287 MVT::i1, 2, 3, 4,
34288 18,
34289 OPC_CheckPatternPredicate5,
34290 OPC_EmitMergeInputChains1_0,
34291 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
34292 MVT::i32, 2, 1, 2,
34293 OPC_EmitStringInteger32, PPC::sub_gt,
34294 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34295 MVT::i1, 2, 3, 4,
34296 0,
34297 48,
34298 OPC_CheckCondCode, ISD::SETNE,
34299 OPC_MoveParent,
34300 OPC_MoveParent,
34301 OPC_CheckChild1Integer, 3,
34302 OPC_CheckType, MVT::i1,
34303 OPC_Scope, 18,
34304 OPC_CheckPatternPredicate0,
34305 OPC_EmitMergeInputChains1_0,
34306 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34307 MVT::i32, 2, 1, 2,
34308 OPC_EmitStringInteger32, PPC::sub_eq,
34309 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34310 MVT::i1, 2, 3, 4,
34311 18,
34312 OPC_CheckPatternPredicate5,
34313 OPC_EmitMergeInputChains1_0,
34314 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
34315 MVT::i32, 2, 1, 2,
34316 OPC_EmitStringInteger32, PPC::sub_gt,
34317 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34318 MVT::i1, 2, 3, 4,
34319 0,
34320 26,
34321 OPC_CheckCondCode, ISD::SETO,
34322 OPC_MoveParent,
34323 OPC_MoveParent,
34324 OPC_CheckChild1Integer, 3,
34325 OPC_CheckType, MVT::i1,
34326 OPC_CheckPatternPredicate0,
34327 OPC_EmitMergeInputChains1_0,
34328 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
34329 MVT::i32, 2, 1, 2,
34330 OPC_EmitStringInteger32, PPC::sub_un,
34331 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34332 MVT::i1, 2, 3, 4,
34333 0,
34334 71|128,2,
34335 OPC_CheckChild1Type, MVT::f64,
34336 OPC_RecordChild2,
34337 OPC_MoveChild3,
34338 OPC_Scope, 48,
34339 OPC_CheckCondCode, ISD::SETUGE,
34340 OPC_MoveParent,
34341 OPC_MoveParent,
34342 OPC_CheckChild1Integer, 3,
34343 OPC_CheckType, MVT::i1,
34344 OPC_Scope, 18,
34345 OPC_CheckPatternPredicate0,
34346 OPC_EmitMergeInputChains1_0,
34347 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34348 MVT::i32, 2, 1, 2,
34349 OPC_EmitStringInteger32, PPC::sub_lt,
34350 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34351 MVT::i1, 2, 3, 4,
34352 18,
34353 OPC_CheckPatternPredicate5,
34354 OPC_EmitMergeInputChains1_0,
34355 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
34356 MVT::i32, 2, 1, 2,
34357 OPC_EmitStringInteger32, PPC::sub_gt,
34358 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34359 MVT::i1, 2, 3, 4,
34360 0,
34361 48,
34362 OPC_CheckCondCode, ISD::SETGE,
34363 OPC_MoveParent,
34364 OPC_MoveParent,
34365 OPC_CheckChild1Integer, 3,
34366 OPC_CheckType, MVT::i1,
34367 OPC_Scope, 18,
34368 OPC_CheckPatternPredicate0,
34369 OPC_EmitMergeInputChains1_0,
34370 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34371 MVT::i32, 2, 1, 2,
34372 OPC_EmitStringInteger32, PPC::sub_lt,
34373 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34374 MVT::i1, 2, 3, 4,
34375 18,
34376 OPC_CheckPatternPredicate5,
34377 OPC_EmitMergeInputChains1_0,
34378 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
34379 MVT::i32, 2, 1, 2,
34380 OPC_EmitStringInteger32, PPC::sub_gt,
34381 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34382 MVT::i1, 2, 3, 4,
34383 0,
34384 48,
34385 OPC_CheckCondCode, ISD::SETULE,
34386 OPC_MoveParent,
34387 OPC_MoveParent,
34388 OPC_CheckChild1Integer, 3,
34389 OPC_CheckType, MVT::i1,
34390 OPC_Scope, 18,
34391 OPC_CheckPatternPredicate0,
34392 OPC_EmitMergeInputChains1_0,
34393 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34394 MVT::i32, 2, 1, 2,
34395 OPC_EmitStringInteger32, PPC::sub_gt,
34396 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34397 MVT::i1, 2, 3, 4,
34398 18,
34399 OPC_CheckPatternPredicate5,
34400 OPC_EmitMergeInputChains1_0,
34401 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
34402 MVT::i32, 2, 1, 2,
34403 OPC_EmitStringInteger32, PPC::sub_gt,
34404 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34405 MVT::i1, 2, 3, 4,
34406 0,
34407 48,
34408 OPC_CheckCondCode, ISD::SETLE,
34409 OPC_MoveParent,
34410 OPC_MoveParent,
34411 OPC_CheckChild1Integer, 3,
34412 OPC_CheckType, MVT::i1,
34413 OPC_Scope, 18,
34414 OPC_CheckPatternPredicate0,
34415 OPC_EmitMergeInputChains1_0,
34416 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34417 MVT::i32, 2, 1, 2,
34418 OPC_EmitStringInteger32, PPC::sub_gt,
34419 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34420 MVT::i1, 2, 3, 4,
34421 18,
34422 OPC_CheckPatternPredicate5,
34423 OPC_EmitMergeInputChains1_0,
34424 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
34425 MVT::i32, 2, 1, 2,
34426 OPC_EmitStringInteger32, PPC::sub_gt,
34427 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34428 MVT::i1, 2, 3, 4,
34429 0,
34430 48,
34431 OPC_CheckCondCode, ISD::SETUNE,
34432 OPC_MoveParent,
34433 OPC_MoveParent,
34434 OPC_CheckChild1Integer, 3,
34435 OPC_CheckType, MVT::i1,
34436 OPC_Scope, 18,
34437 OPC_CheckPatternPredicate0,
34438 OPC_EmitMergeInputChains1_0,
34439 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34440 MVT::i32, 2, 1, 2,
34441 OPC_EmitStringInteger32, PPC::sub_eq,
34442 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34443 MVT::i1, 2, 3, 4,
34444 18,
34445 OPC_CheckPatternPredicate5,
34446 OPC_EmitMergeInputChains1_0,
34447 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
34448 MVT::i32, 2, 1, 2,
34449 OPC_EmitStringInteger32, PPC::sub_gt,
34450 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34451 MVT::i1, 2, 3, 4,
34452 0,
34453 48,
34454 OPC_CheckCondCode, ISD::SETNE,
34455 OPC_MoveParent,
34456 OPC_MoveParent,
34457 OPC_CheckChild1Integer, 3,
34458 OPC_CheckType, MVT::i1,
34459 OPC_Scope, 18,
34460 OPC_CheckPatternPredicate0,
34461 OPC_EmitMergeInputChains1_0,
34462 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34463 MVT::i32, 2, 1, 2,
34464 OPC_EmitStringInteger32, PPC::sub_eq,
34465 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34466 MVT::i1, 2, 3, 4,
34467 18,
34468 OPC_CheckPatternPredicate5,
34469 OPC_EmitMergeInputChains1_0,
34470 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
34471 MVT::i32, 2, 1, 2,
34472 OPC_EmitStringInteger32, PPC::sub_gt,
34473 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34474 MVT::i1, 2, 3, 4,
34475 0,
34476 26,
34477 OPC_CheckCondCode, ISD::SETO,
34478 OPC_MoveParent,
34479 OPC_MoveParent,
34480 OPC_CheckChild1Integer, 3,
34481 OPC_CheckType, MVT::i1,
34482 OPC_CheckPatternPredicate0,
34483 OPC_EmitMergeInputChains1_0,
34484 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
34485 MVT::i32, 2, 1, 2,
34486 OPC_EmitStringInteger32, PPC::sub_un,
34487 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34488 MVT::i1, 2, 3, 4,
34489 0,
34490 67|128,1,
34491 OPC_CheckChild1Type, MVT::f128,
34492 OPC_RecordChild2,
34493 OPC_MoveChild3,
34494 OPC_Scope, 26,
34495 OPC_CheckCondCode, ISD::SETUGE,
34496 OPC_MoveParent,
34497 OPC_MoveParent,
34498 OPC_CheckChild1Integer, 3,
34499 OPC_CheckType, MVT::i1,
34500 OPC_CheckPatternPredicate0,
34501 OPC_EmitMergeInputChains1_0,
34502 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34503 MVT::i32, 2, 1, 2,
34504 OPC_EmitStringInteger32, PPC::sub_lt,
34505 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34506 MVT::i1, 2, 3, 4,
34507 26,
34508 OPC_CheckCondCode, ISD::SETGE,
34509 OPC_MoveParent,
34510 OPC_MoveParent,
34511 OPC_CheckChild1Integer, 3,
34512 OPC_CheckType, MVT::i1,
34513 OPC_CheckPatternPredicate0,
34514 OPC_EmitMergeInputChains1_0,
34515 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34516 MVT::i32, 2, 1, 2,
34517 OPC_EmitStringInteger32, PPC::sub_lt,
34518 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34519 MVT::i1, 2, 3, 4,
34520 26,
34521 OPC_CheckCondCode, ISD::SETULE,
34522 OPC_MoveParent,
34523 OPC_MoveParent,
34524 OPC_CheckChild1Integer, 3,
34525 OPC_CheckType, MVT::i1,
34526 OPC_CheckPatternPredicate0,
34527 OPC_EmitMergeInputChains1_0,
34528 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34529 MVT::i32, 2, 1, 2,
34530 OPC_EmitStringInteger32, PPC::sub_gt,
34531 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34532 MVT::i1, 2, 3, 4,
34533 26,
34534 OPC_CheckCondCode, ISD::SETLE,
34535 OPC_MoveParent,
34536 OPC_MoveParent,
34537 OPC_CheckChild1Integer, 3,
34538 OPC_CheckType, MVT::i1,
34539 OPC_CheckPatternPredicate0,
34540 OPC_EmitMergeInputChains1_0,
34541 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34542 MVT::i32, 2, 1, 2,
34543 OPC_EmitStringInteger32, PPC::sub_gt,
34544 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34545 MVT::i1, 2, 3, 4,
34546 26,
34547 OPC_CheckCondCode, ISD::SETUNE,
34548 OPC_MoveParent,
34549 OPC_MoveParent,
34550 OPC_CheckChild1Integer, 3,
34551 OPC_CheckType, MVT::i1,
34552 OPC_CheckPatternPredicate0,
34553 OPC_EmitMergeInputChains1_0,
34554 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34555 MVT::i32, 2, 1, 2,
34556 OPC_EmitStringInteger32, PPC::sub_eq,
34557 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34558 MVT::i1, 2, 3, 4,
34559 26,
34560 OPC_CheckCondCode, ISD::SETNE,
34561 OPC_MoveParent,
34562 OPC_MoveParent,
34563 OPC_CheckChild1Integer, 3,
34564 OPC_CheckType, MVT::i1,
34565 OPC_CheckPatternPredicate0,
34566 OPC_EmitMergeInputChains1_0,
34567 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34568 MVT::i32, 2, 1, 2,
34569 OPC_EmitStringInteger32, PPC::sub_eq,
34570 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34571 MVT::i1, 2, 3, 4,
34572 26,
34573 OPC_CheckCondCode, ISD::SETO,
34574 OPC_MoveParent,
34575 OPC_MoveParent,
34576 OPC_CheckChild1Integer, 3,
34577 OPC_CheckType, MVT::i1,
34578 OPC_CheckPatternPredicate0,
34579 OPC_EmitMergeInputChains1_0,
34580 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
34581 MVT::i32, 2, 1, 2,
34582 OPC_EmitStringInteger32, PPC::sub_un,
34583 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
34584 MVT::i1, 2, 3, 4,
34585 0,
34586 0,
34587 31, TARGET_VAL(ISD::TRUNCATE),
34588 OPC_RecordChild0,
34589 OPC_Scope, 13,
34590 OPC_CheckChild0TypeI32,
34591 OPC_MoveParent,
34592 OPC_CheckChild1Integer, 3,
34593 OPC_CheckType, MVT::i1,
34594 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT),
34595 MVT::i1, MVT::i32, 1, 0,
34596 13,
34597 OPC_CheckChild0TypeI64,
34598 OPC_MoveParent,
34599 OPC_CheckChild1Integer, 3,
34600 OPC_CheckType, MVT::i1,
34601 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT8),
34602 MVT::i1, MVT::i32, 1, 0,
34603 0,
34604 0,
34605 32|128,1,
34606 OPC_RecordChild0,
34607 OPC_Scope, 30,
34608 OPC_CheckChild1Integer, 3,
34609 OPC_SwitchType , 6, MVT::i1,
34610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
34611 MVT::i1, 1, 0,
34612 7, MVT::i32,
34613 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NOR),
34614 MVT::i32, 2, 0, 0,
34615 7, MVT::i64,
34616 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NOR8),
34617 MVT::i64, 2, 0, 0,
34618 0,
34619 125,
34620 OPC_RecordChild1,
34621 OPC_Scope, 93,
34622 OPC_MoveChild1,
34623 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
34624 OPC_Scope, 14,
34625 OPC_CheckPredicate0,
34626 OPC_MoveParent,
34627 OPC_CheckTypeI32,
34628 OPC_EmitConvertToTarget1,
34629 OPC_EmitNodeXForm, 1, 2,
34630 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XORI),
34631 MVT::i32, 2, 0, 3,
34632 15,
34633 OPC_CheckPredicate, 23,
34634 OPC_MoveParent,
34635 OPC_CheckTypeI32,
34636 OPC_EmitConvertToTarget1,
34637 OPC_EmitNodeXForm, 0, 2,
34638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XORIS),
34639 MVT::i32, 2, 0, 3,
34640 14,
34641 OPC_CheckPredicate0,
34642 OPC_MoveParent,
34643 OPC_CheckTypeI64,
34644 OPC_EmitConvertToTarget1,
34645 OPC_EmitNodeXForm, 1, 2,
34646 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XORI8),
34647 MVT::i64, 2, 0, 3,
34648 15,
34649 OPC_CheckPredicate, 23,
34650 OPC_MoveParent,
34651 OPC_CheckTypeI64,
34652 OPC_EmitConvertToTarget1,
34653 OPC_EmitNodeXForm, 0, 2,
34654 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XORIS8),
34655 MVT::i64, 2, 0, 3,
34656 24,
34657 OPC_MoveParent,
34658 OPC_CheckTypeI32,
34659 OPC_EmitConvertToTarget1,
34660 OPC_EmitNodeXForm, 1, 2,
34661 OPC_EmitNode1None, TARGET_VAL(PPC::XORI),
34662 MVT::i32, 2, 0, 3,
34663 OPC_EmitConvertToTarget1,
34664 OPC_EmitNodeXForm, 0, 5,
34665 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XORIS),
34666 MVT::i32, 2, 4, 6,
34667 0,
34668 8,
34669 OPC_CheckTypeI32,
34670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XOR),
34671 MVT::i32, 2, 0, 1,
34672 9,
34673 OPC_CheckType, MVT::i1,
34674 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRXOR),
34675 MVT::i1, 2, 0, 1,
34676 8,
34677 OPC_CheckTypeI64,
34678 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XOR8),
34679 MVT::i64, 2, 0, 1,
34680 0,
34681 0,
34682 27|128,3,
34683 OPC_MoveChild0,
34684 OPC_SwitchOpcode , 57|128,1, TARGET_VAL(ISD::AND),
34685 OPC_Scope, 76,
34686 OPC_RecordChild0,
34687 OPC_MoveChild1,
34688 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::AND),
34689 OPC_RecordChild0,
34690 OPC_RecordChild1,
34691 OPC_MoveParent,
34692 OPC_MoveSibling1,
34693 OPC_CheckImmAllOnesV,
34694 OPC_MoveParent,
34695 OPC_CheckType, MVT::v4i32,
34696 OPC_CheckPatternPredicate1,
34697 OPC_EmitInteger32, 124|128,3,
34698 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34699 MVT::v4i32, 4, 0, 1, 2, 3,
34700 21, TARGET_VAL(ISD::XOR),
34701 OPC_RecordChild0,
34702 OPC_RecordChild1,
34703 OPC_MoveParent,
34704 OPC_MoveSibling1,
34705 OPC_CheckImmAllOnesV,
34706 OPC_MoveParent,
34707 OPC_CheckType, MVT::v4i32,
34708 OPC_CheckPatternPredicate1,
34709 OPC_EmitInteger32, 114|128,3,
34710 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34711 MVT::v4i32, 4, 0, 1, 2, 3,
34712 21, TARGET_VAL(ISD::OR),
34713 OPC_RecordChild0,
34714 OPC_RecordChild1,
34715 OPC_MoveParent,
34716 OPC_MoveSibling1,
34717 OPC_CheckImmAllOnesV,
34718 OPC_MoveParent,
34719 OPC_CheckType, MVT::v4i32,
34720 OPC_CheckPatternPredicate1,
34721 OPC_EmitInteger32, 112|128,3,
34722 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34723 MVT::v4i32, 4, 0, 1, 2, 3,
34724 0,
34725 78,
34726 OPC_MoveChild0,
34727 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::AND),
34728 OPC_RecordChild0,
34729 OPC_RecordChild1,
34730 OPC_MoveParent,
34731 OPC_RecordChild1,
34732 OPC_MoveSibling1,
34733 OPC_CheckImmAllOnesV,
34734 OPC_MoveParent,
34735 OPC_CheckType, MVT::v4i32,
34736 OPC_CheckPatternPredicate1,
34737 OPC_EmitInteger32, 124|128,3,
34738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34739 MVT::v4i32, 4, 0, 1, 2, 3,
34740 22, TARGET_VAL(ISD::XOR),
34741 OPC_RecordChild0,
34742 OPC_RecordChild1,
34743 OPC_MoveParent,
34744 OPC_RecordChild1,
34745 OPC_MoveSibling1,
34746 OPC_CheckImmAllOnesV,
34747 OPC_MoveParent,
34748 OPC_CheckType, MVT::v4i32,
34749 OPC_CheckPatternPredicate1,
34750 OPC_EmitInteger32, 114|128,3,
34751 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34752 MVT::v4i32, 4, 2, 0, 1, 3,
34753 22, TARGET_VAL(ISD::OR),
34754 OPC_RecordChild0,
34755 OPC_RecordChild1,
34756 OPC_MoveParent,
34757 OPC_RecordChild1,
34758 OPC_MoveSibling1,
34759 OPC_CheckImmAllOnesV,
34760 OPC_MoveParent,
34761 OPC_CheckType, MVT::v4i32,
34762 OPC_CheckPatternPredicate1,
34763 OPC_EmitInteger32, 112|128,3,
34764 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34765 MVT::v4i32, 4, 2, 0, 1, 3,
34766 0,
34767 26,
34768 OPC_RecordChild0,
34769 OPC_RecordChild1,
34770 OPC_MoveSibling1,
34771 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
34772 OPC_RecordChild0,
34773 OPC_MoveChild1,
34774 OPC_CheckImmAllOnesV,
34775 OPC_MoveParent,
34776 OPC_MoveParent,
34777 OPC_CheckType, MVT::v4i32,
34778 OPC_CheckPatternPredicate1,
34779 OPC_EmitInteger32, 66|128,3,
34780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34781 MVT::v4i32, 4, 2, 0, 1, 3,
34782 0,
34783 8|128,1, TARGET_VAL(ISD::XOR),
34784 OPC_Scope, 52,
34785 OPC_RecordChild0,
34786 OPC_MoveChild1,
34787 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::AND),
34788 OPC_RecordChild0,
34789 OPC_RecordChild1,
34790 OPC_MoveParent,
34791 OPC_MoveSibling1,
34792 OPC_CheckImmAllOnesV,
34793 OPC_MoveParent,
34794 OPC_CheckType, MVT::v4i32,
34795 OPC_CheckPatternPredicate1,
34796 OPC_EmitInteger32, 66|128,3,
34797 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34798 MVT::v4i32, 4, 0, 1, 2, 3,
34799 21, TARGET_VAL(ISD::OR),
34800 OPC_RecordChild0,
34801 OPC_RecordChild1,
34802 OPC_MoveParent,
34803 OPC_MoveSibling1,
34804 OPC_CheckImmAllOnesV,
34805 OPC_MoveParent,
34806 OPC_CheckType, MVT::v4i32,
34807 OPC_CheckPatternPredicate1,
34808 OPC_EmitInteger32, 14|128,2,
34809 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34810 MVT::v4i32, 4, 0, 1, 2, 3,
34811 0,
34812 26,
34813 OPC_MoveChild0,
34814 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
34815 OPC_RecordChild0,
34816 OPC_RecordChild1,
34817 OPC_MoveParent,
34818 OPC_RecordChild1,
34819 OPC_MoveSibling1,
34820 OPC_CheckImmAllOnesV,
34821 OPC_MoveParent,
34822 OPC_CheckType, MVT::v4i32,
34823 OPC_CheckPatternPredicate1,
34824 OPC_EmitInteger32, 66|128,3,
34825 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34826 MVT::v4i32, 4, 2, 0, 1, 3,
34827 26,
34828 OPC_RecordChild0,
34829 OPC_MoveChild1,
34830 OPC_CheckImmAllOnesV,
34831 OPC_MoveParent,
34832 OPC_MoveSibling1,
34833 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
34834 OPC_RecordChild0,
34835 OPC_RecordChild1,
34836 OPC_MoveParent,
34837 OPC_CheckType, MVT::v4i32,
34838 OPC_CheckPatternPredicate1,
34839 OPC_EmitInteger32, 66|128,3,
34840 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34841 MVT::v4i32, 4, 0, 1, 2, 3,
34842 26,
34843 OPC_MoveChild0,
34844 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
34845 OPC_RecordChild0,
34846 OPC_RecordChild1,
34847 OPC_MoveSibling1,
34848 OPC_CheckImmAllOnesV,
34849 OPC_MoveParent,
34850 OPC_MoveParent,
34851 OPC_RecordChild1,
34852 OPC_CheckType, MVT::v4i32,
34853 OPC_CheckPatternPredicate1,
34854 OPC_EmitInteger32, 66|128,3,
34855 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34856 MVT::v4i32, 4, 2, 0, 1, 3,
34857 0,
34858 76, TARGET_VAL(ISD::OR),
34859 OPC_RecordChild0,
34860 OPC_MoveChild1,
34861 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::OR),
34862 OPC_RecordChild0,
34863 OPC_RecordChild1,
34864 OPC_MoveParent,
34865 OPC_MoveSibling1,
34866 OPC_CheckImmAllOnesV,
34867 OPC_MoveParent,
34868 OPC_CheckType, MVT::v4i32,
34869 OPC_CheckPatternPredicate1,
34870 OPC_EmitInteger32, 0|128,2,
34871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34872 MVT::v4i32, 4, 0, 1, 2, 3,
34873 21, TARGET_VAL(ISD::AND),
34874 OPC_RecordChild0,
34875 OPC_RecordChild1,
34876 OPC_MoveParent,
34877 OPC_MoveSibling1,
34878 OPC_CheckImmAllOnesV,
34879 OPC_MoveParent,
34880 OPC_CheckType, MVT::v4i32,
34881 OPC_CheckPatternPredicate1,
34882 OPC_EmitInteger32, 64|128,3,
34883 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34884 MVT::v4i32, 4, 0, 1, 2, 3,
34885 21, TARGET_VAL(ISD::XOR),
34886 OPC_RecordChild0,
34887 OPC_RecordChild1,
34888 OPC_MoveParent,
34889 OPC_MoveSibling1,
34890 OPC_CheckImmAllOnesV,
34891 OPC_MoveParent,
34892 OPC_CheckType, MVT::v4i32,
34893 OPC_CheckPatternPredicate1,
34894 OPC_EmitInteger32, 32|128,2,
34895 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34896 MVT::v4i32, 4, 0, 1, 2, 3,
34897 0,
34898 0,
34899 30,
34900 OPC_RecordChild0,
34901 OPC_MoveChild1,
34902 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
34903 OPC_MoveChild0,
34904 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
34905 OPC_RecordChild0,
34906 OPC_RecordChild1,
34907 OPC_MoveSibling1,
34908 OPC_CheckImmAllOnesV,
34909 OPC_MoveParent,
34910 OPC_MoveParent,
34911 OPC_CheckType, MVT::v4i32,
34912 OPC_CheckPatternPredicate1,
34913 OPC_EmitInteger32, 66|128,3,
34914 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34915 MVT::v4i32, 4, 0, 1, 2, 3,
34916 118,
34917 OPC_MoveChild0,
34918 OPC_SwitchOpcode , 83, TARGET_VAL(ISD::XOR),
34919 OPC_Scope, 26,
34920 OPC_MoveChild0,
34921 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
34922 OPC_RecordChild0,
34923 OPC_RecordChild1,
34924 OPC_MoveParent,
34925 OPC_RecordChild1,
34926 OPC_MoveSibling1,
34927 OPC_CheckImmAllOnesV,
34928 OPC_MoveParent,
34929 OPC_CheckType, MVT::v4i32,
34930 OPC_CheckPatternPredicate1,
34931 OPC_EmitInteger32, 14|128,2,
34932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34933 MVT::v4i32, 4, 2, 0, 1, 3,
34934 26,
34935 OPC_RecordChild0,
34936 OPC_MoveChild1,
34937 OPC_CheckImmAllOnesV,
34938 OPC_MoveParent,
34939 OPC_MoveSibling1,
34940 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
34941 OPC_RecordChild0,
34942 OPC_RecordChild1,
34943 OPC_MoveParent,
34944 OPC_CheckType, MVT::v4i32,
34945 OPC_CheckPatternPredicate1,
34946 OPC_EmitInteger32, 14|128,2,
34947 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34948 MVT::v4i32, 4, 0, 1, 2, 3,
34949 26,
34950 OPC_MoveChild0,
34951 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
34952 OPC_RecordChild0,
34953 OPC_RecordChild1,
34954 OPC_MoveSibling1,
34955 OPC_CheckImmAllOnesV,
34956 OPC_MoveParent,
34957 OPC_MoveParent,
34958 OPC_RecordChild1,
34959 OPC_CheckType, MVT::v4i32,
34960 OPC_CheckPatternPredicate1,
34961 OPC_EmitInteger32, 14|128,2,
34962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34963 MVT::v4i32, 4, 2, 0, 1, 3,
34964 0,
34965 26, TARGET_VAL(ISD::OR),
34966 OPC_RecordChild0,
34967 OPC_RecordChild1,
34968 OPC_MoveSibling1,
34969 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
34970 OPC_RecordChild0,
34971 OPC_MoveChild1,
34972 OPC_CheckImmAllOnesV,
34973 OPC_MoveParent,
34974 OPC_MoveParent,
34975 OPC_CheckType, MVT::v4i32,
34976 OPC_CheckPatternPredicate1,
34977 OPC_EmitInteger32, 14|128,2,
34978 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34979 MVT::v4i32, 4, 2, 0, 1, 3,
34980 0,
34981 30,
34982 OPC_RecordChild0,
34983 OPC_MoveChild1,
34984 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
34985 OPC_MoveChild0,
34986 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
34987 OPC_RecordChild0,
34988 OPC_RecordChild1,
34989 OPC_MoveSibling1,
34990 OPC_CheckImmAllOnesV,
34991 OPC_MoveParent,
34992 OPC_MoveParent,
34993 OPC_CheckType, MVT::v4i32,
34994 OPC_CheckPatternPredicate1,
34995 OPC_EmitInteger32, 14|128,2,
34996 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
34997 MVT::v4i32, 4, 0, 1, 2, 3,
34998 33|128,1,
34999 OPC_MoveChild0,
35000 OPC_SwitchOpcode , 97, TARGET_VAL(ISD::OR),
35001 OPC_Scope, 78,
35002 OPC_MoveChild0,
35003 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::OR),
35004 OPC_RecordChild0,
35005 OPC_RecordChild1,
35006 OPC_MoveParent,
35007 OPC_RecordChild1,
35008 OPC_MoveSibling1,
35009 OPC_CheckImmAllOnesV,
35010 OPC_MoveParent,
35011 OPC_CheckType, MVT::v4i32,
35012 OPC_CheckPatternPredicate1,
35013 OPC_EmitInteger32, 0|128,2,
35014 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35015 MVT::v4i32, 4, 0, 1, 2, 3,
35016 22, TARGET_VAL(ISD::AND),
35017 OPC_RecordChild0,
35018 OPC_RecordChild1,
35019 OPC_MoveParent,
35020 OPC_RecordChild1,
35021 OPC_MoveSibling1,
35022 OPC_CheckImmAllOnesV,
35023 OPC_MoveParent,
35024 OPC_CheckType, MVT::v4i32,
35025 OPC_CheckPatternPredicate1,
35026 OPC_EmitInteger32, 64|128,3,
35027 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35028 MVT::v4i32, 4, 2, 0, 1, 3,
35029 22, TARGET_VAL(ISD::XOR),
35030 OPC_RecordChild0,
35031 OPC_RecordChild1,
35032 OPC_MoveParent,
35033 OPC_RecordChild1,
35034 OPC_MoveSibling1,
35035 OPC_CheckImmAllOnesV,
35036 OPC_MoveParent,
35037 OPC_CheckType, MVT::v4i32,
35038 OPC_CheckPatternPredicate1,
35039 OPC_EmitInteger32, 32|128,2,
35040 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35041 MVT::v4i32, 4, 2, 0, 1, 3,
35042 0,
35043 15,
35044 OPC_RecordChild0,
35045 OPC_RecordChild1,
35046 OPC_MoveSibling1,
35047 OPC_CheckImmAllOnesV,
35048 OPC_MoveParent,
35049 OPC_CheckType, MVT::v4i32,
35050 OPC_CheckPatternPredicate2,
35051 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLNOR),
35052 MVT::v4i32, 2, 0, 1,
35053 0,
35054 36, TARGET_VAL(ISD::XOR),
35055 OPC_RecordChild0,
35056 OPC_Scope, 15,
35057 OPC_RecordChild1,
35058 OPC_MoveSibling1,
35059 OPC_CheckImmAllOnesV,
35060 OPC_MoveParent,
35061 OPC_CheckType, MVT::v4i32,
35062 OPC_CheckPatternPredicate, 11,
35063 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQV),
35064 MVT::v4i32, 2, 0, 1,
35065 16,
35066 OPC_MoveChild1,
35067 OPC_CheckImmAllOnesV,
35068 OPC_MoveParent,
35069 OPC_MoveParent,
35070 OPC_RecordChild1,
35071 OPC_CheckType, MVT::v4i32,
35072 OPC_CheckPatternPredicate, 11,
35073 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQV),
35074 MVT::v4i32, 2, 0, 1,
35075 0,
35076 16, TARGET_VAL(ISD::AND),
35077 OPC_RecordChild0,
35078 OPC_RecordChild1,
35079 OPC_MoveSibling1,
35080 OPC_CheckImmAllOnesV,
35081 OPC_MoveParent,
35082 OPC_CheckType, MVT::v4i32,
35083 OPC_CheckPatternPredicate, 11,
35084 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLNAND),
35085 MVT::v4i32, 2, 0, 1,
35086 0,
35087 102,
35088 OPC_RecordChild0,
35089 OPC_MoveChild1,
35090 OPC_Scope, 19,
35091 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
35092 OPC_RecordChild0,
35093 OPC_MoveChild1,
35094 OPC_CheckImmAllOnesV,
35095 OPC_MoveParent,
35096 OPC_MoveParent,
35097 OPC_CheckType, MVT::v4i32,
35098 OPC_CheckPatternPredicate, 11,
35099 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLEQV),
35100 MVT::v4i32, 2, 1, 0,
35101 12,
35102 OPC_CheckImmAllOnesV,
35103 OPC_MoveParent,
35104 OPC_CheckType, MVT::v4i32,
35105 OPC_CheckPatternPredicate2,
35106 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLNOR),
35107 MVT::v4i32, 2, 0, 0,
35108 21,
35109 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
35110 OPC_RecordChild0,
35111 OPC_RecordChild1,
35112 OPC_MoveParent,
35113 OPC_CheckType, MVT::v4i32,
35114 OPC_CheckPatternPredicate1,
35115 OPC_EmitInteger32, 82|128,1,
35116 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35117 MVT::v4i32, 4, 0, 1, 2, 3,
35118 20,
35119 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
35120 OPC_RecordChild0,
35121 OPC_RecordChild1,
35122 OPC_MoveParent,
35123 OPC_CheckType, MVT::v4i32,
35124 OPC_CheckPatternPredicate1,
35125 OPC_EmitInteger32, 60,
35126 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35127 MVT::v4i32, 4, 0, 1, 2, 3,
35128 21,
35129 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
35130 OPC_RecordChild0,
35131 OPC_RecordChild1,
35132 OPC_MoveParent,
35133 OPC_CheckType, MVT::v4i32,
35134 OPC_CheckPatternPredicate1,
35135 OPC_EmitInteger32, 112|128,1,
35136 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35137 MVT::v4i32, 4, 0, 1, 2, 3,
35138 0,
35139 68,
35140 OPC_MoveChild0,
35141 OPC_SwitchOpcode , 19, TARGET_VAL(ISD::XOR),
35142 OPC_RecordChild0,
35143 OPC_RecordChild1,
35144 OPC_MoveParent,
35145 OPC_RecordChild1,
35146 OPC_CheckType, MVT::v4i32,
35147 OPC_CheckPatternPredicate1,
35148 OPC_EmitInteger32, 82|128,1,
35149 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35150 MVT::v4i32, 4, 0, 1, 2, 3,
35151 18, TARGET_VAL(ISD::AND),
35152 OPC_RecordChild0,
35153 OPC_RecordChild1,
35154 OPC_MoveParent,
35155 OPC_RecordChild1,
35156 OPC_CheckType, MVT::v4i32,
35157 OPC_CheckPatternPredicate1,
35158 OPC_EmitInteger32, 60,
35159 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35160 MVT::v4i32, 4, 2, 0, 1, 3,
35161 19, TARGET_VAL(ISD::OR),
35162 OPC_RecordChild0,
35163 OPC_RecordChild1,
35164 OPC_MoveParent,
35165 OPC_RecordChild1,
35166 OPC_CheckType, MVT::v4i32,
35167 OPC_CheckPatternPredicate1,
35168 OPC_EmitInteger32, 112|128,1,
35169 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
35170 MVT::v4i32, 4, 2, 0, 1, 3,
35171 0,
35172 12,
35173 OPC_RecordChild0,
35174 OPC_RecordChild1,
35175 OPC_CheckType, MVT::v4i32,
35176 OPC_CheckPatternPredicate2,
35177 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXOR),
35178 MVT::v4i32, 2, 0, 1,
35179 79,
35180 OPC_MoveChild0,
35181 OPC_SwitchOpcode , 15, TARGET_VAL(ISD::OR),
35182 OPC_RecordChild0,
35183 OPC_RecordChild1,
35184 OPC_MoveSibling1,
35185 OPC_CheckImmAllOnesV,
35186 OPC_MoveParent,
35187 OPC_CheckType, MVT::v4i32,
35188 OPC_CheckPatternPredicate3,
35189 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNOR),
35190 MVT::v4i32, 2, 0, 1,
35191 36, TARGET_VAL(ISD::XOR),
35192 OPC_RecordChild0,
35193 OPC_Scope, 15,
35194 OPC_RecordChild1,
35195 OPC_MoveSibling1,
35196 OPC_CheckImmAllOnesV,
35197 OPC_MoveParent,
35198 OPC_CheckType, MVT::v4i32,
35199 OPC_CheckPatternPredicate, 12,
35200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEQV),
35201 MVT::v4i32, 2, 0, 1,
35202 16,
35203 OPC_MoveChild1,
35204 OPC_CheckImmAllOnesV,
35205 OPC_MoveParent,
35206 OPC_MoveParent,
35207 OPC_RecordChild1,
35208 OPC_CheckType, MVT::v4i32,
35209 OPC_CheckPatternPredicate, 12,
35210 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEQV),
35211 MVT::v4i32, 2, 0, 1,
35212 0,
35213 16, TARGET_VAL(ISD::AND),
35214 OPC_RecordChild0,
35215 OPC_RecordChild1,
35216 OPC_MoveSibling1,
35217 OPC_CheckImmAllOnesV,
35218 OPC_MoveParent,
35219 OPC_CheckType, MVT::v4i32,
35220 OPC_CheckPatternPredicate, 12,
35221 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNAND),
35222 MVT::v4i32, 2, 0, 1,
35223 0,
35224 52,
35225 OPC_RecordChild0,
35226 OPC_Scope, 36,
35227 OPC_MoveChild1,
35228 OPC_Scope, 19,
35229 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
35230 OPC_RecordChild0,
35231 OPC_MoveChild1,
35232 OPC_CheckImmAllOnesV,
35233 OPC_MoveParent,
35234 OPC_MoveParent,
35235 OPC_CheckType, MVT::v4i32,
35236 OPC_CheckPatternPredicate, 12,
35237 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEQV),
35238 MVT::v4i32, 2, 1, 0,
35239 12,
35240 OPC_CheckImmAllOnesV,
35241 OPC_MoveParent,
35242 OPC_CheckType, MVT::v4i32,
35243 OPC_CheckPatternPredicate3,
35244 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNOR),
35245 MVT::v4i32, 2, 0, 0,
35246 0,
35247 11,
35248 OPC_RecordChild1,
35249 OPC_CheckType, MVT::v4i32,
35250 OPC_CheckPatternPredicate3,
35251 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VXOR),
35252 MVT::v4i32, 2, 0, 1,
35253 0,
35254 0,
35255 31|128,5, TARGET_VAL(ISD::ADD),
35256 OPC_Scope, 23|128,1,
35257 OPC_RecordChild0,
35258 OPC_MoveChild1,
35259 OPC_SwitchOpcode , 29, TARGET_VAL(PPCISD::Lo),
35260 OPC_RecordChild0,
35261 OPC_MoveChild0,
35262 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
35263 OPC_MoveParent,
35264 OPC_CheckChild1Integer, 0,
35265 OPC_MoveParent,
35266 OPC_SwitchType , 7, MVT::i32,
35267 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LA),
35268 MVT::i32, 2, 0, 1,
35269 7, MVT::i64,
35270 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LA8),
35271 MVT::i64, 2, 0, 1,
35272 0,
35273 112, TARGET_VAL(PPCISD::Hi),
35274 OPC_RecordChild0,
35275 OPC_MoveChild0,
35276 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::TargetGlobalAddress),
35277 OPC_MoveParent,
35278 OPC_CheckChild1Integer, 0,
35279 OPC_MoveParent,
35280 OPC_SwitchType , 7, MVT::i32,
35281 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35282 MVT::i32, 2, 0, 1,
35283 7, MVT::i64,
35284 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35285 MVT::i64, 2, 0, 1,
35286 0,
35287 24, TARGET_VAL(ISD::TargetConstantPool),
35288 OPC_MoveParent,
35289 OPC_CheckChild1Integer, 0,
35290 OPC_MoveParent,
35291 OPC_SwitchType , 7, MVT::i32,
35292 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35293 MVT::i32, 2, 0, 1,
35294 7, MVT::i64,
35295 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35296 MVT::i64, 2, 0, 1,
35297 0,
35298 24, TARGET_VAL(ISD::TargetJumpTable),
35299 OPC_MoveParent,
35300 OPC_CheckChild1Integer, 0,
35301 OPC_MoveParent,
35302 OPC_SwitchType , 7, MVT::i32,
35303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35304 MVT::i32, 2, 0, 1,
35305 7, MVT::i64,
35306 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35307 MVT::i64, 2, 0, 1,
35308 0,
35309 24, TARGET_VAL(ISD::TargetBlockAddress),
35310 OPC_MoveParent,
35311 OPC_CheckChild1Integer, 0,
35312 OPC_MoveParent,
35313 OPC_SwitchType , 7, MVT::i32,
35314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35315 MVT::i32, 2, 0, 1,
35316 7, MVT::i64,
35317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35318 MVT::i64, 2, 0, 1,
35319 0,
35320 0,
35321 0,
35322 64|128,1,
35323 OPC_MoveChild0,
35324 OPC_SwitchOpcode , 30, TARGET_VAL(PPCISD::Lo),
35325 OPC_RecordChild0,
35326 OPC_MoveChild0,
35327 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
35328 OPC_MoveParent,
35329 OPC_CheckChild1Integer, 0,
35330 OPC_MoveParent,
35331 OPC_RecordChild1,
35332 OPC_SwitchType , 7, MVT::i32,
35333 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LA),
35334 MVT::i32, 2, 1, 0,
35335 7, MVT::i64,
35336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LA8),
35337 MVT::i64, 2, 1, 0,
35338 0,
35339 116, TARGET_VAL(PPCISD::Hi),
35340 OPC_RecordChild0,
35341 OPC_MoveChild0,
35342 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
35343 OPC_MoveParent,
35344 OPC_CheckChild1Integer, 0,
35345 OPC_MoveParent,
35346 OPC_RecordChild1,
35347 OPC_SwitchType , 7, MVT::i32,
35348 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35349 MVT::i32, 2, 1, 0,
35350 7, MVT::i64,
35351 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35352 MVT::i64, 2, 1, 0,
35353 0,
35354 25, TARGET_VAL(ISD::TargetConstantPool),
35355 OPC_MoveParent,
35356 OPC_CheckChild1Integer, 0,
35357 OPC_MoveParent,
35358 OPC_RecordChild1,
35359 OPC_SwitchType , 7, MVT::i32,
35360 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35361 MVT::i32, 2, 1, 0,
35362 7, MVT::i64,
35363 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35364 MVT::i64, 2, 1, 0,
35365 0,
35366 25, TARGET_VAL(ISD::TargetJumpTable),
35367 OPC_MoveParent,
35368 OPC_CheckChild1Integer, 0,
35369 OPC_MoveParent,
35370 OPC_RecordChild1,
35371 OPC_SwitchType , 7, MVT::i32,
35372 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35373 MVT::i32, 2, 1, 0,
35374 7, MVT::i64,
35375 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35376 MVT::i64, 2, 1, 0,
35377 0,
35378 25, TARGET_VAL(ISD::TargetBlockAddress),
35379 OPC_MoveParent,
35380 OPC_CheckChild1Integer, 0,
35381 OPC_MoveParent,
35382 OPC_RecordChild1,
35383 OPC_SwitchType , 7, MVT::i32,
35384 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35385 MVT::i32, 2, 1, 0,
35386 7, MVT::i64,
35387 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35388 MVT::i64, 2, 1, 0,
35389 0,
35390 0,
35391 34, TARGET_VAL(ISD::MUL),
35392 OPC_RecordChild0,
35393 OPC_RecordChild1,
35394 OPC_CheckPredicate, 27,
35395 OPC_MoveParent,
35396 OPC_RecordChild1,
35397 OPC_CheckPredicate, 27,
35398 OPC_SwitchType , 10, MVT::i32,
35399 OPC_CheckPatternPredicate, 31,
35400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD),
35401 MVT::i32, 3, 0, 1, 2,
35402 10, MVT::i64,
35403 OPC_CheckPatternPredicate, 31,
35404 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD8),
35405 MVT::i64, 3, 0, 1, 2,
35406 0,
35407 0,
35408 93|128,1,
35409 OPC_RecordChild0,
35410 OPC_Scope, 37,
35411 OPC_MoveChild1,
35412 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
35413 OPC_RecordChild0,
35414 OPC_RecordChild1,
35415 OPC_CheckPredicate, 27,
35416 OPC_MoveParent,
35417 OPC_CheckPredicate, 27,
35418 OPC_SwitchType , 10, MVT::i32,
35419 OPC_CheckPatternPredicate, 31,
35420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD),
35421 MVT::i32, 3, 1, 2, 0,
35422 10, MVT::i64,
35423 OPC_CheckPatternPredicate, 31,
35424 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MADDLD8),
35425 MVT::i64, 3, 1, 2, 0,
35426 0,
35427 91,
35428 OPC_RecordChild1,
35429 OPC_MoveChild1,
35430 OPC_SwitchOpcode , 60, TARGET_VAL(ISD::Constant),
35431 OPC_Scope, 12,
35432 OPC_CheckPredicate, 10,
35433 OPC_MoveParent,
35434 OPC_CheckTypeI32,
35435 OPC_EmitConvertToTarget1,
35436 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDI),
35437 MVT::i32, 2, 0, 2,
35438 15,
35439 OPC_CheckPredicate, 28,
35440 OPC_MoveParent,
35441 OPC_CheckTypeI32,
35442 OPC_EmitConvertToTarget1,
35443 OPC_EmitNodeXForm, 0, 2,
35444 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35445 MVT::i32, 2, 0, 3,
35446 12,
35447 OPC_CheckPredicate, 12,
35448 OPC_MoveParent,
35449 OPC_CheckTypeI64,
35450 OPC_EmitConvertToTarget1,
35451 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDI8),
35452 MVT::i64, 2, 0, 2,
35453 15,
35454 OPC_CheckPredicate, 28,
35455 OPC_MoveParent,
35456 OPC_CheckTypeI64,
35457 OPC_EmitConvertToTarget1,
35458 OPC_EmitNodeXForm, 0, 2,
35459 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
35460 MVT::i64, 2, 0, 3,
35461 0,
35462 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
35463 OPC_MoveParent,
35464 OPC_SwitchType , 7, MVT::i32,
35465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD4TLS),
35466 MVT::i32, 2, 0, 1,
35467 7, MVT::i64,
35468 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD8TLS),
35469 MVT::i64, 2, 0, 1,
35470 0,
35471 0,
35472 26,
35473 OPC_MoveChild0,
35474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
35475 OPC_MoveParent,
35476 OPC_RecordChild1,
35477 OPC_SwitchType , 7, MVT::i32,
35478 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD4TLS),
35479 MVT::i32, 2, 1, 0,
35480 7, MVT::i64,
35481 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD8TLS),
35482 MVT::i64, 2, 1, 0,
35483 0,
35484 60,
35485 OPC_RecordChild1,
35486 OPC_Scope, 28,
35487 OPC_MoveChild1,
35488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
35489 OPC_MoveParent,
35490 OPC_CheckTypeI32,
35491 OPC_EmitConvertToTarget1,
35492 OPC_EmitNodeXForm, 1, 2,
35493 OPC_EmitNode1None, TARGET_VAL(PPC::ADDI),
35494 MVT::i32, 2, 0, 3,
35495 OPC_EmitConvertToTarget1,
35496 OPC_EmitNodeXForm, 3, 5,
35497 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
35498 MVT::i32, 2, 4, 6,
35499 8,
35500 OPC_CheckTypeI32,
35501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD4),
35502 MVT::i32, 2, 0, 1,
35503 8,
35504 OPC_CheckTypeI64,
35505 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD8),
35506 MVT::i64, 2, 0, 1,
35507 9,
35508 OPC_CheckType, MVT::i1,
35509 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRXOR),
35510 MVT::i1, 2, 0, 1,
35511 0,
35512 0,
35513 19,
35514 OPC_MoveChild0,
35515 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
35516 OPC_RecordChild0,
35517 OPC_RecordChild1,
35518 OPC_MoveParent,
35519 OPC_RecordChild1,
35520 OPC_CheckType, MVT::v8i16,
35521 OPC_CheckPatternPredicate3,
35522 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMLADDUHM),
35523 MVT::v8i16, 3, 0, 1, 2,
35524 78,
35525 OPC_RecordChild0,
35526 OPC_Scope, 18,
35527 OPC_MoveChild1,
35528 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
35529 OPC_RecordChild0,
35530 OPC_RecordChild1,
35531 OPC_MoveParent,
35532 OPC_CheckType, MVT::v8i16,
35533 OPC_CheckPatternPredicate3,
35534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMLADDUHM),
35535 MVT::v8i16, 3, 1, 2, 0,
35536 55,
35537 OPC_RecordChild1,
35538 OPC_SwitchType , 8, MVT::v16i8,
35539 OPC_CheckPatternPredicate3,
35540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBM),
35541 MVT::v16i8, 2, 0, 1,
35542 8, MVT::v8i16,
35543 OPC_CheckPatternPredicate3,
35544 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHM),
35545 MVT::v8i16, 2, 0, 1,
35546 8, MVT::v4i32,
35547 OPC_CheckPatternPredicate3,
35548 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWM),
35549 MVT::v4i32, 2, 0, 1,
35550 9, MVT::v2i64,
35551 OPC_CheckPatternPredicate, 12,
35552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUDM),
35553 MVT::v2i64, 2, 0, 1,
35554 9, MVT::v1i128,
35555 OPC_CheckPatternPredicate, 12,
35556 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUQM),
35557 MVT::v1i128, 2, 0, 1,
35558 0,
35559 0,
35560 0,
35561 73, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
35562 OPC_RecordMemRef,
35563 OPC_RecordNode,
35564 OPC_RecordChild1,
35565 OPC_RecordChild2,
35566 OPC_SwitchType , 48, MVT::i32,
35567 OPC_Scope, 14,
35568 OPC_CheckPredicate4,
35569 OPC_CheckComplexPat0, /*#*/1,
35570 OPC_EmitMergeInputChains1_0,
35571 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
35572 MVT::i32, MVT::i32, 3, 3, 4, 2,
35573 14,
35574 OPC_CheckPredicate2,
35575 OPC_CheckComplexPat0, /*#*/1,
35576 OPC_EmitMergeInputChains1_0,
35577 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
35578 MVT::i32, MVT::i32, 3, 3, 4, 2,
35579 15,
35580 OPC_CheckPredicate, 8,
35581 OPC_CheckComplexPat0, /*#*/1,
35582 OPC_EmitMergeInputChains1_0,
35583 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
35584 MVT::i32, MVT::i32, 3, 3, 4, 2,
35585 0,
35586 15, MVT::i64,
35587 OPC_CheckPredicate, 18,
35588 OPC_CheckComplexPat0, /*#*/1,
35589 OPC_EmitMergeInputChains1_0,
35590 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
35591 MVT::i64, MVT::i32, 3, 3, 4, 2,
35592 0,
35593 73, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
35594 OPC_RecordMemRef,
35595 OPC_RecordNode,
35596 OPC_RecordChild1,
35597 OPC_RecordChild2,
35598 OPC_SwitchType , 48, MVT::i32,
35599 OPC_Scope, 14,
35600 OPC_CheckPredicate4,
35601 OPC_CheckComplexPat0, /*#*/1,
35602 OPC_EmitMergeInputChains1_0,
35603 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
35604 MVT::i32, MVT::i32, 3, 3, 4, 2,
35605 14,
35606 OPC_CheckPredicate2,
35607 OPC_CheckComplexPat0, /*#*/1,
35608 OPC_EmitMergeInputChains1_0,
35609 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
35610 MVT::i32, MVT::i32, 3, 3, 4, 2,
35611 15,
35612 OPC_CheckPredicate, 8,
35613 OPC_CheckComplexPat0, /*#*/1,
35614 OPC_EmitMergeInputChains1_0,
35615 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
35616 MVT::i32, MVT::i32, 3, 3, 4, 2,
35617 0,
35618 15, MVT::i64,
35619 OPC_CheckPredicate, 18,
35620 OPC_CheckComplexPat0, /*#*/1,
35621 OPC_EmitMergeInputChains1_0,
35622 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
35623 MVT::i64, MVT::i32, 3, 3, 4, 2,
35624 0,
35625 73, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
35626 OPC_RecordMemRef,
35627 OPC_RecordNode,
35628 OPC_RecordChild1,
35629 OPC_RecordChild2,
35630 OPC_SwitchType , 48, MVT::i32,
35631 OPC_Scope, 14,
35632 OPC_CheckPredicate4,
35633 OPC_CheckComplexPat0, /*#*/1,
35634 OPC_EmitMergeInputChains1_0,
35635 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
35636 MVT::i32, MVT::i32, 3, 3, 4, 2,
35637 14,
35638 OPC_CheckPredicate2,
35639 OPC_CheckComplexPat0, /*#*/1,
35640 OPC_EmitMergeInputChains1_0,
35641 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
35642 MVT::i32, MVT::i32, 3, 3, 4, 2,
35643 15,
35644 OPC_CheckPredicate, 8,
35645 OPC_CheckComplexPat0, /*#*/1,
35646 OPC_EmitMergeInputChains1_0,
35647 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
35648 MVT::i32, MVT::i32, 3, 3, 4, 2,
35649 0,
35650 15, MVT::i64,
35651 OPC_CheckPredicate, 18,
35652 OPC_CheckComplexPat0, /*#*/1,
35653 OPC_EmitMergeInputChains1_0,
35654 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
35655 MVT::i64, MVT::i32, 3, 3, 4, 2,
35656 0,
35657 73, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
35658 OPC_RecordMemRef,
35659 OPC_RecordNode,
35660 OPC_RecordChild1,
35661 OPC_RecordChild2,
35662 OPC_SwitchType , 48, MVT::i32,
35663 OPC_Scope, 14,
35664 OPC_CheckPredicate4,
35665 OPC_CheckComplexPat0, /*#*/1,
35666 OPC_EmitMergeInputChains1_0,
35667 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
35668 MVT::i32, MVT::i32, 3, 3, 4, 2,
35669 14,
35670 OPC_CheckPredicate2,
35671 OPC_CheckComplexPat0, /*#*/1,
35672 OPC_EmitMergeInputChains1_0,
35673 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
35674 MVT::i32, MVT::i32, 3, 3, 4, 2,
35675 15,
35676 OPC_CheckPredicate, 8,
35677 OPC_CheckComplexPat0, /*#*/1,
35678 OPC_EmitMergeInputChains1_0,
35679 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
35680 MVT::i32, MVT::i32, 3, 3, 4, 2,
35681 0,
35682 15, MVT::i64,
35683 OPC_CheckPredicate, 18,
35684 OPC_CheckComplexPat0, /*#*/1,
35685 OPC_EmitMergeInputChains1_0,
35686 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
35687 MVT::i64, MVT::i32, 3, 3, 4, 2,
35688 0,
35689 73, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
35690 OPC_RecordMemRef,
35691 OPC_RecordNode,
35692 OPC_RecordChild1,
35693 OPC_RecordChild2,
35694 OPC_SwitchType , 48, MVT::i32,
35695 OPC_Scope, 14,
35696 OPC_CheckPredicate4,
35697 OPC_CheckComplexPat0, /*#*/1,
35698 OPC_EmitMergeInputChains1_0,
35699 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
35700 MVT::i32, MVT::i32, 3, 3, 4, 2,
35701 14,
35702 OPC_CheckPredicate2,
35703 OPC_CheckComplexPat0, /*#*/1,
35704 OPC_EmitMergeInputChains1_0,
35705 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
35706 MVT::i32, MVT::i32, 3, 3, 4, 2,
35707 15,
35708 OPC_CheckPredicate, 8,
35709 OPC_CheckComplexPat0, /*#*/1,
35710 OPC_EmitMergeInputChains1_0,
35711 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
35712 MVT::i32, MVT::i32, 3, 3, 4, 2,
35713 0,
35714 15, MVT::i64,
35715 OPC_CheckPredicate, 18,
35716 OPC_CheckComplexPat0, /*#*/1,
35717 OPC_EmitMergeInputChains1_0,
35718 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
35719 MVT::i64, MVT::i32, 3, 3, 4, 2,
35720 0,
35721 73, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
35722 OPC_RecordMemRef,
35723 OPC_RecordNode,
35724 OPC_RecordChild1,
35725 OPC_RecordChild2,
35726 OPC_SwitchType , 48, MVT::i32,
35727 OPC_Scope, 14,
35728 OPC_CheckPredicate4,
35729 OPC_CheckComplexPat0, /*#*/1,
35730 OPC_EmitMergeInputChains1_0,
35731 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
35732 MVT::i32, MVT::i32, 3, 3, 4, 2,
35733 14,
35734 OPC_CheckPredicate2,
35735 OPC_CheckComplexPat0, /*#*/1,
35736 OPC_EmitMergeInputChains1_0,
35737 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
35738 MVT::i32, MVT::i32, 3, 3, 4, 2,
35739 15,
35740 OPC_CheckPredicate, 8,
35741 OPC_CheckComplexPat0, /*#*/1,
35742 OPC_EmitMergeInputChains1_0,
35743 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
35744 MVT::i32, MVT::i32, 3, 3, 4, 2,
35745 0,
35746 15, MVT::i64,
35747 OPC_CheckPredicate, 18,
35748 OPC_CheckComplexPat0, /*#*/1,
35749 OPC_EmitMergeInputChains1_0,
35750 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
35751 MVT::i64, MVT::i32, 3, 3, 4, 2,
35752 0,
35753 73, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
35754 OPC_RecordMemRef,
35755 OPC_RecordNode,
35756 OPC_RecordChild1,
35757 OPC_RecordChild2,
35758 OPC_SwitchType , 48, MVT::i32,
35759 OPC_Scope, 14,
35760 OPC_CheckPredicate4,
35761 OPC_CheckComplexPat0, /*#*/1,
35762 OPC_EmitMergeInputChains1_0,
35763 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
35764 MVT::i32, MVT::i32, 3, 3, 4, 2,
35765 14,
35766 OPC_CheckPredicate2,
35767 OPC_CheckComplexPat0, /*#*/1,
35768 OPC_EmitMergeInputChains1_0,
35769 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
35770 MVT::i32, MVT::i32, 3, 3, 4, 2,
35771 15,
35772 OPC_CheckPredicate, 8,
35773 OPC_CheckComplexPat0, /*#*/1,
35774 OPC_EmitMergeInputChains1_0,
35775 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
35776 MVT::i32, MVT::i32, 3, 3, 4, 2,
35777 0,
35778 15, MVT::i64,
35779 OPC_CheckPredicate, 18,
35780 OPC_CheckComplexPat0, /*#*/1,
35781 OPC_EmitMergeInputChains1_0,
35782 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
35783 MVT::i64, MVT::i32, 3, 3, 4, 2,
35784 0,
35785 73, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
35786 OPC_RecordMemRef,
35787 OPC_RecordNode,
35788 OPC_RecordChild1,
35789 OPC_RecordChild2,
35790 OPC_SwitchType , 48, MVT::i32,
35791 OPC_Scope, 14,
35792 OPC_CheckPredicate4,
35793 OPC_CheckComplexPat0, /*#*/1,
35794 OPC_EmitMergeInputChains1_0,
35795 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
35796 MVT::i32, MVT::i32, 3, 3, 4, 2,
35797 14,
35798 OPC_CheckPredicate2,
35799 OPC_CheckComplexPat0, /*#*/1,
35800 OPC_EmitMergeInputChains1_0,
35801 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
35802 MVT::i32, MVT::i32, 3, 3, 4, 2,
35803 15,
35804 OPC_CheckPredicate, 8,
35805 OPC_CheckComplexPat0, /*#*/1,
35806 OPC_EmitMergeInputChains1_0,
35807 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
35808 MVT::i32, MVT::i32, 3, 3, 4, 2,
35809 0,
35810 15, MVT::i64,
35811 OPC_CheckPredicate, 18,
35812 OPC_CheckComplexPat0, /*#*/1,
35813 OPC_EmitMergeInputChains1_0,
35814 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
35815 MVT::i64, MVT::i32, 3, 3, 4, 2,
35816 0,
35817 73, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
35818 OPC_RecordMemRef,
35819 OPC_RecordNode,
35820 OPC_RecordChild1,
35821 OPC_RecordChild2,
35822 OPC_SwitchType , 48, MVT::i32,
35823 OPC_Scope, 14,
35824 OPC_CheckPredicate4,
35825 OPC_CheckComplexPat0, /*#*/1,
35826 OPC_EmitMergeInputChains1_0,
35827 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
35828 MVT::i32, MVT::i32, 3, 3, 4, 2,
35829 14,
35830 OPC_CheckPredicate2,
35831 OPC_CheckComplexPat0, /*#*/1,
35832 OPC_EmitMergeInputChains1_0,
35833 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
35834 MVT::i32, MVT::i32, 3, 3, 4, 2,
35835 15,
35836 OPC_CheckPredicate, 8,
35837 OPC_CheckComplexPat0, /*#*/1,
35838 OPC_EmitMergeInputChains1_0,
35839 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
35840 MVT::i32, MVT::i32, 3, 3, 4, 2,
35841 0,
35842 15, MVT::i64,
35843 OPC_CheckPredicate, 18,
35844 OPC_CheckComplexPat0, /*#*/1,
35845 OPC_EmitMergeInputChains1_0,
35846 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
35847 MVT::i64, MVT::i32, 3, 3, 4, 2,
35848 0,
35849 73, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
35850 OPC_RecordMemRef,
35851 OPC_RecordNode,
35852 OPC_RecordChild1,
35853 OPC_RecordChild2,
35854 OPC_SwitchType , 48, MVT::i32,
35855 OPC_Scope, 14,
35856 OPC_CheckPredicate4,
35857 OPC_CheckComplexPat0, /*#*/1,
35858 OPC_EmitMergeInputChains1_0,
35859 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
35860 MVT::i32, MVT::i32, 3, 3, 4, 2,
35861 14,
35862 OPC_CheckPredicate2,
35863 OPC_CheckComplexPat0, /*#*/1,
35864 OPC_EmitMergeInputChains1_0,
35865 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
35866 MVT::i32, MVT::i32, 3, 3, 4, 2,
35867 15,
35868 OPC_CheckPredicate, 8,
35869 OPC_CheckComplexPat0, /*#*/1,
35870 OPC_EmitMergeInputChains1_0,
35871 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
35872 MVT::i32, MVT::i32, 3, 3, 4, 2,
35873 0,
35874 15, MVT::i64,
35875 OPC_CheckPredicate, 18,
35876 OPC_CheckComplexPat0, /*#*/1,
35877 OPC_EmitMergeInputChains1_0,
35878 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
35879 MVT::i64, MVT::i32, 3, 3, 4, 2,
35880 0,
35881 78, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
35882 OPC_RecordMemRef,
35883 OPC_RecordNode,
35884 OPC_RecordChild1,
35885 OPC_RecordChild2,
35886 OPC_RecordChild3,
35887 OPC_SwitchType , 51, MVT::i32,
35888 OPC_Scope, 15,
35889 OPC_CheckPredicate4,
35890 OPC_CheckComplexPat0, /*#*/1,
35891 OPC_EmitMergeInputChains1_0,
35892 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
35893 MVT::i32, MVT::i32, 4, 4, 5, 2, 3,
35894 15,
35895 OPC_CheckPredicate2,
35896 OPC_CheckComplexPat0, /*#*/1,
35897 OPC_EmitMergeInputChains1_0,
35898 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
35899 MVT::i32, MVT::i32, 4, 4, 5, 2, 3,
35900 16,
35901 OPC_CheckPredicate, 8,
35902 OPC_CheckComplexPat0, /*#*/1,
35903 OPC_EmitMergeInputChains1_0,
35904 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
35905 MVT::i32, MVT::i32, 4, 4, 5, 2, 3,
35906 0,
35907 16, MVT::i64,
35908 OPC_CheckPredicate, 18,
35909 OPC_CheckComplexPat0, /*#*/1,
35910 OPC_EmitMergeInputChains1_0,
35911 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
35912 MVT::i64, MVT::i32, 4, 4, 5, 2, 3,
35913 0,
35914 73, TARGET_VAL(ISD::ATOMIC_SWAP),
35915 OPC_RecordMemRef,
35916 OPC_RecordNode,
35917 OPC_RecordChild1,
35918 OPC_RecordChild2,
35919 OPC_SwitchType , 48, MVT::i32,
35920 OPC_Scope, 14,
35921 OPC_CheckPredicate4,
35922 OPC_CheckComplexPat0, /*#*/1,
35923 OPC_EmitMergeInputChains1_0,
35924 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
35925 MVT::i32, MVT::i32, 3, 3, 4, 2,
35926 14,
35927 OPC_CheckPredicate2,
35928 OPC_CheckComplexPat0, /*#*/1,
35929 OPC_EmitMergeInputChains1_0,
35930 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
35931 MVT::i32, MVT::i32, 3, 3, 4, 2,
35932 15,
35933 OPC_CheckPredicate, 8,
35934 OPC_CheckComplexPat0, /*#*/1,
35935 OPC_EmitMergeInputChains1_0,
35936 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
35937 MVT::i32, MVT::i32, 3, 3, 4, 2,
35938 0,
35939 15, MVT::i64,
35940 OPC_CheckPredicate, 18,
35941 OPC_CheckComplexPat0, /*#*/1,
35942 OPC_EmitMergeInputChains1_0,
35943 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
35944 MVT::i64, MVT::i32, 3, 3, 4, 2,
35945 0,
35946 40, TARGET_VAL(PPCISD::DYNALLOC),
35947 OPC_RecordNode,
35948 OPC_RecordChild1,
35949 OPC_SwitchType , 16, MVT::i32,
35950 OPC_CheckChild1TypeI32,
35951 OPC_RecordChild2,
35952 OPC_CheckChild2Type, MVT::iPTR,
35953 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
35954 OPC_EmitMergeInputChains1_0,
35955 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DYNALLOC),
35956 MVT::i32, 3, 1, 3, 4,
35957 16, MVT::i64,
35958 OPC_CheckChild1TypeI64,
35959 OPC_RecordChild2,
35960 OPC_CheckChild2Type, MVT::iPTR,
35961 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
35962 OPC_EmitMergeInputChains1_0,
35963 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DYNALLOC8),
35964 MVT::i64, 3, 1, 3, 4,
35965 0,
35966 32, TARGET_VAL(PPCISD::DYNAREAOFFSET),
35967 OPC_RecordNode,
35968 OPC_RecordChild1,
35969 OPC_CheckChild1Type, MVT::iPTR,
35970 OPC_SwitchType , 11, MVT::i32,
35971 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
35972 OPC_EmitMergeInputChains1_0,
35973 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DYNAREAOFFSET),
35974 MVT::i32, 2, 2, 3,
35975 11, MVT::i64,
35976 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
35977 OPC_EmitMergeInputChains1_0,
35978 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::DYNAREAOFFSET8),
35979 MVT::i64, 2, 2, 3,
35980 0,
35981 37, TARGET_VAL(PPCISD::BCTRL_LOAD_TOC),
35982 OPC_RecordNode,
35983 OPC_CaptureGlueInput,
35984 OPC_RecordChild1,
35985 OPC_CheckChild1Type, MVT::iPTR,
35986 OPC_Scope, 14,
35987 OPC_CheckPatternPredicate, 43,
35988 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
35989 OPC_EmitMergeInputChains1_0,
35990 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_LWZinto_toc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
35991 MVT::i32, 2, 2, 3,
35992 14,
35993 OPC_CheckPatternPredicate, 35,
35994 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
35995 OPC_EmitMergeInputChains1_0,
35996 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_LDinto_toc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
35997 MVT::i64, 2, 2, 3,
35998 0,
35999 37, TARGET_VAL(PPCISD::BCTRL_LOAD_TOC_RM),
36000 OPC_RecordNode,
36001 OPC_CaptureGlueInput,
36002 OPC_RecordChild1,
36003 OPC_CheckChild1Type, MVT::iPTR,
36004 OPC_Scope, 14,
36005 OPC_CheckPatternPredicate, 43,
36006 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
36007 OPC_EmitMergeInputChains1_0,
36008 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_LWZinto_toc_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
36009 MVT::i32, 2, 2, 3,
36010 14,
36011 OPC_CheckPatternPredicate, 35,
36012 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
36013 OPC_EmitMergeInputChains1_0,
36014 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_LDinto_toc_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
36015 MVT::i64, 2, 2, 3,
36016 0,
36017 56, TARGET_VAL(PPCISD::LBRX),
36018 OPC_RecordMemRef,
36019 OPC_RecordNode,
36020 OPC_RecordChild1,
36021 OPC_MoveChild2,
36022 OPC_Scope, 15,
36023 OPC_CheckValueType, MVT::i16,
36024 OPC_MoveParent,
36025 OPC_CheckTypeI32,
36026 OPC_CheckComplexPat0, /*#*/1,
36027 OPC_EmitMergeInputChains1_0,
36028 OPC_MorphNodeTo1, TARGET_VAL(PPC::LHBRX), 0|OPFL_Chain|OPFL_MemRefs,
36029 MVT::i32, 2, 2, 3,
36030 15,
36031 OPC_CheckValueType, MVT::i32,
36032 OPC_MoveParent,
36033 OPC_CheckTypeI32,
36034 OPC_CheckComplexPat0, /*#*/1,
36035 OPC_EmitMergeInputChains1_0,
36036 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWBRX), 0|OPFL_Chain|OPFL_MemRefs,
36037 MVT::i32, 2, 2, 3,
36038 17,
36039 OPC_CheckValueType, MVT::i64,
36040 OPC_MoveParent,
36041 OPC_CheckTypeI64,
36042 OPC_CheckPatternPredicate, 67,
36043 OPC_CheckComplexPat0, /*#*/1,
36044 OPC_EmitMergeInputChains1_0,
36045 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDBRX), 0|OPFL_Chain|OPFL_MemRefs,
36046 MVT::i64, 2, 2, 3,
36047 0,
36048 57, TARGET_VAL(PPCISD::STBRX),
36049 OPC_RecordNode,
36050 OPC_RecordChild1,
36051 OPC_Scope, 33,
36052 OPC_CheckChild1TypeI32,
36053 OPC_RecordChild2,
36054 OPC_MoveChild3,
36055 OPC_Scope, 13,
36056 OPC_CheckValueType, MVT::i16,
36057 OPC_MoveParent,
36058 OPC_CheckComplexPat0, /*#*/2,
36059 OPC_EmitMergeInputChains1_0,
36060 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STHBRX),
36061 3, 1, 3, 4,
36062 13,
36063 OPC_CheckValueType, MVT::i32,
36064 OPC_MoveParent,
36065 OPC_CheckComplexPat0, /*#*/2,
36066 OPC_EmitMergeInputChains1_0,
36067 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STWBRX),
36068 3, 1, 3, 4,
36069 0,
36070 18,
36071 OPC_CheckChild1TypeI64,
36072 OPC_RecordChild2,
36073 OPC_MoveChild3,
36074 OPC_CheckValueType, MVT::i64,
36075 OPC_MoveParent,
36076 OPC_CheckPatternPredicate, 67,
36077 OPC_CheckComplexPat0, /*#*/2,
36078 OPC_EmitMergeInputChains1_0,
36079 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::STDBRX),
36080 3, 1, 3, 4,
36081 0,
36082 15, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
36083 OPC_RecordChild0,
36084 OPC_CheckTypeI64,
36085 OPC_CheckPatternPredicate, 19,
36086 OPC_CheckComplexPat2, /*#*/0,
36087 OPC_EmitInteger32, 0,
36088 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PADDI8pc),
36089 MVT::i64, 2, 3, 1,
36090 15, TARGET_VAL(PPCISD::TLS_DYNAMIC_MAT_PCREL_ADDR),
36091 OPC_RecordChild0,
36092 OPC_CheckTypeI64,
36093 OPC_CheckPatternPredicate, 19,
36094 OPC_CheckComplexPat2, /*#*/0,
36095 OPC_EmitInteger32, 0,
36096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PADDI8pc),
36097 MVT::i64, 2, 3, 1,
36098 40, TARGET_VAL(PPCISD::PROBED_ALLOCA),
36099 OPC_RecordNode,
36100 OPC_RecordChild1,
36101 OPC_SwitchType , 16, MVT::i32,
36102 OPC_CheckChild1TypeI32,
36103 OPC_RecordChild2,
36104 OPC_CheckChild2Type, MVT::iPTR,
36105 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
36106 OPC_EmitMergeInputChains1_0,
36107 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::PROBED_ALLOCA_32),
36108 MVT::i32, 3, 1, 3, 4,
36109 16, MVT::i64,
36110 OPC_CheckChild1TypeI64,
36111 OPC_RecordChild2,
36112 OPC_CheckChild2Type, MVT::iPTR,
36113 OPC_CheckComplexPat, /*CP*/8, /*#*/2,
36114 OPC_EmitMergeInputChains1_0,
36115 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::PROBED_ALLOCA_64),
36116 MVT::i64, 3, 1, 3, 4,
36117 0,
36118 20, TARGET_VAL(PPCISD::ATOMIC_CMP_SWAP_8),
36119 OPC_RecordMemRef,
36120 OPC_RecordNode,
36121 OPC_RecordChild1,
36122 OPC_RecordChild2,
36123 OPC_RecordChild3,
36124 OPC_CheckTypeI32,
36125 OPC_CheckComplexPat0, /*#*/1,
36126 OPC_EmitMergeInputChains1_0,
36127 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
36128 MVT::i32, MVT::i32, 4, 4, 5, 2, 3,
36129 20, TARGET_VAL(PPCISD::ATOMIC_CMP_SWAP_16),
36130 OPC_RecordMemRef,
36131 OPC_RecordNode,
36132 OPC_RecordChild1,
36133 OPC_RecordChild2,
36134 OPC_RecordChild3,
36135 OPC_CheckTypeI32,
36136 OPC_CheckComplexPat0, /*#*/1,
36137 OPC_EmitMergeInputChains1_0,
36138 OPC_MorphNodeTo2, TARGET_VAL(PPC::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
36139 MVT::i32, MVT::i32, 4, 4, 5, 2, 3,
36140 43, TARGET_VAL(ISD::BRCOND),
36141 OPC_RecordNode,
36142 OPC_Scope, 22,
36143 OPC_MoveChild1,
36144 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36145 OPC_RecordChild0,
36146 OPC_CheckChild1Integer, 3,
36147 OPC_CheckType, MVT::i1,
36148 OPC_MoveSibling2,
36149 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
36150 OPC_RecordNode,
36151 OPC_MoveParent,
36152 OPC_EmitMergeInputChains1_0,
36153 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::BCn),
36154 2, 1, 2,
36155 16,
36156 OPC_RecordChild1,
36157 OPC_CheckChild1Type, MVT::i1,
36158 OPC_RecordChild2,
36159 OPC_MoveChild2,
36160 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
36161 OPC_MoveParent,
36162 OPC_EmitMergeInputChains1_0,
36163 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::BC),
36164 2, 1, 2,
36165 0,
36166 4|128,8, TARGET_VAL(ISD::AND),
36167 OPC_Scope, 38,
36168 OPC_RecordChild0,
36169 OPC_MoveChild1,
36170 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36171 OPC_RecordChild0,
36172 OPC_CheckChild1Integer, 3,
36173 OPC_MoveParent,
36174 OPC_SwitchType , 7, MVT::i32,
36175 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ANDC),
36176 MVT::i32, 2, 0, 1,
36177 7, MVT::i1,
36178 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
36179 MVT::i1, 2, 0, 1,
36180 7, MVT::i64,
36181 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ANDC8),
36182 MVT::i64, 2, 0, 1,
36183 0,
36184 72,
36185 OPC_MoveChild0,
36186 OPC_SwitchOpcode , 34, TARGET_VAL(ISD::XOR),
36187 OPC_RecordChild0,
36188 OPC_CheckChild1Integer, 3,
36189 OPC_MoveParent,
36190 OPC_RecordChild1,
36191 OPC_SwitchType , 7, MVT::i32,
36192 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ANDC),
36193 MVT::i32, 2, 1, 0,
36194 7, MVT::i1,
36195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
36196 MVT::i1, 2, 1, 0,
36197 7, MVT::i64,
36198 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ANDC8),
36199 MVT::i64, 2, 1, 0,
36200 0,
36201 29, TARGET_VAL(ISD::ROTL),
36202 OPC_RecordChild0,
36203 OPC_RecordChild1,
36204 OPC_CheckChild1TypeI32,
36205 OPC_MoveSibling1,
36206 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36207 OPC_RecordNode,
36208 OPC_CheckPredicate, 38,
36209 OPC_MoveParent,
36210 OPC_CheckTypeI32,
36211 OPC_EmitConvertToTarget2,
36212 OPC_EmitNodeXForm, 4, 3,
36213 OPC_EmitConvertToTarget2,
36214 OPC_EmitNodeXForm, 5, 5,
36215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
36216 MVT::i32, 4, 0, 1, 4, 6,
36217 0,
36218 57|128,1,
36219 OPC_RecordChild0,
36220 OPC_Scope, 104,
36221 OPC_RecordChild1,
36222 OPC_Scope, 72,
36223 OPC_MoveChild1,
36224 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36225 OPC_Scope, 15,
36226 OPC_CheckPredicate0,
36227 OPC_MoveParent,
36228 OPC_CheckTypeI32,
36229 OPC_EmitConvertToTarget1,
36230 OPC_EmitNodeXForm, 1, 2,
36231 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec),
36232 MVT::i32, MVT::i32, 2, 0, 3,
36233 16,
36234 OPC_CheckPredicate, 23,
36235 OPC_MoveParent,
36236 OPC_CheckTypeI32,
36237 OPC_EmitConvertToTarget1,
36238 OPC_EmitNodeXForm, 0, 2,
36239 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDIS_rec),
36240 MVT::i32, MVT::i32, 2, 0, 3,
36241 15,
36242 OPC_CheckPredicate0,
36243 OPC_MoveParent,
36244 OPC_CheckTypeI64,
36245 OPC_EmitConvertToTarget1,
36246 OPC_EmitNodeXForm, 1, 2,
36247 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI8_rec),
36248 MVT::i64, MVT::i32, 2, 0, 3,
36249 16,
36250 OPC_CheckPredicate, 23,
36251 OPC_MoveParent,
36252 OPC_CheckTypeI64,
36253 OPC_EmitConvertToTarget1,
36254 OPC_EmitNodeXForm, 0, 2,
36255 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDIS8_rec),
36256 MVT::i64, MVT::i32, 2, 0, 3,
36257 0,
36258 8,
36259 OPC_CheckTypeI32,
36260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::AND),
36261 MVT::i32, 2, 0, 1,
36262 9,
36263 OPC_CheckType, MVT::i1,
36264 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRAND),
36265 MVT::i1, 2, 0, 1,
36266 8,
36267 OPC_CheckTypeI64,
36268 OPC_MorphNodeTo1None, TARGET_VAL(PPC::AND8),
36269 MVT::i64, 2, 0, 1,
36270 0,
36271 76,
36272 OPC_MoveChild1,
36273 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36274 OPC_MoveChild0,
36275 OPC_SwitchOpcode , 20, TARGET_VAL(ISD::OR),
36276 OPC_RecordChild0,
36277 OPC_RecordChild1,
36278 OPC_MoveSibling1,
36279 OPC_CheckImmAllOnesV,
36280 OPC_MoveParent,
36281 OPC_MoveParent,
36282 OPC_CheckType, MVT::v4i32,
36283 OPC_CheckPatternPredicate1,
36284 OPC_EmitInteger32, 16,
36285 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36286 MVT::v4i32, 4, 0, 1, 2, 3,
36287 20, TARGET_VAL(ISD::XOR),
36288 OPC_RecordChild0,
36289 OPC_RecordChild1,
36290 OPC_MoveSibling1,
36291 OPC_CheckImmAllOnesV,
36292 OPC_MoveParent,
36293 OPC_MoveParent,
36294 OPC_CheckType, MVT::v4i32,
36295 OPC_CheckPatternPredicate1,
36296 OPC_EmitInteger32, 18,
36297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36298 MVT::v4i32, 4, 0, 1, 2, 3,
36299 20, TARGET_VAL(ISD::AND),
36300 OPC_RecordChild0,
36301 OPC_RecordChild1,
36302 OPC_MoveSibling1,
36303 OPC_CheckImmAllOnesV,
36304 OPC_MoveParent,
36305 OPC_MoveParent,
36306 OPC_CheckType, MVT::v4i32,
36307 OPC_CheckPatternPredicate1,
36308 OPC_EmitInteger32, 28,
36309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36310 MVT::v4i32, 4, 0, 1, 2, 3,
36311 0,
36312 0,
36313 102,
36314 OPC_MoveChild0,
36315 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36316 OPC_Scope, 69,
36317 OPC_RecordChild0,
36318 OPC_MoveChild1,
36319 OPC_CheckImmAllOnesV,
36320 OPC_MoveParent,
36321 OPC_MoveSibling1,
36322 OPC_SwitchOpcode , 18, TARGET_VAL(ISD::XOR),
36323 OPC_RecordChild0,
36324 OPC_RecordChild1,
36325 OPC_MoveParent,
36326 OPC_CheckType, MVT::v4i32,
36327 OPC_CheckPatternPredicate1,
36328 OPC_EmitInteger32, 64|128,1,
36329 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36330 MVT::v4i32, 4, 0, 1, 2, 3,
36331 17, TARGET_VAL(ISD::AND),
36332 OPC_RecordChild0,
36333 OPC_RecordChild1,
36334 OPC_MoveParent,
36335 OPC_CheckType, MVT::v4i32,
36336 OPC_CheckPatternPredicate1,
36337 OPC_EmitInteger32, 32,
36338 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36339 MVT::v4i32, 4, 0, 1, 2, 3,
36340 18, TARGET_VAL(ISD::OR),
36341 OPC_RecordChild0,
36342 OPC_RecordChild1,
36343 OPC_MoveParent,
36344 OPC_CheckType, MVT::v4i32,
36345 OPC_CheckPatternPredicate1,
36346 OPC_EmitInteger32, 96|128,1,
36347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36348 MVT::v4i32, 4, 0, 1, 2, 3,
36349 0,
36350 25,
36351 OPC_MoveChild0,
36352 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36353 OPC_RecordChild0,
36354 OPC_RecordChild1,
36355 OPC_MoveSibling1,
36356 OPC_CheckImmAllOnesV,
36357 OPC_MoveParent,
36358 OPC_MoveParent,
36359 OPC_RecordChild1,
36360 OPC_CheckType, MVT::v4i32,
36361 OPC_CheckPatternPredicate1,
36362 OPC_EmitInteger32, 16,
36363 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36364 MVT::v4i32, 4, 2, 0, 1, 3,
36365 0,
36366 59,
36367 OPC_RecordChild0,
36368 OPC_MoveChild1,
36369 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36370 OPC_Scope, 25,
36371 OPC_MoveChild0,
36372 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36373 OPC_RecordChild0,
36374 OPC_MoveChild1,
36375 OPC_CheckImmAllOnesV,
36376 OPC_MoveParent,
36377 OPC_MoveParent,
36378 OPC_RecordChild1,
36379 OPC_MoveParent,
36380 OPC_CheckType, MVT::v4i32,
36381 OPC_CheckPatternPredicate1,
36382 OPC_EmitInteger32, 18,
36383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36384 MVT::v4i32, 4, 0, 1, 2, 3,
36385 25,
36386 OPC_RecordChild0,
36387 OPC_MoveChild1,
36388 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36389 OPC_RecordChild0,
36390 OPC_MoveChild1,
36391 OPC_CheckImmAllOnesV,
36392 OPC_MoveParent,
36393 OPC_MoveParent,
36394 OPC_MoveParent,
36395 OPC_CheckType, MVT::v4i32,
36396 OPC_CheckPatternPredicate1,
36397 OPC_EmitInteger32, 18,
36398 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36399 MVT::v4i32, 4, 0, 2, 1, 3,
36400 0,
36401 99|128,1,
36402 OPC_MoveChild0,
36403 OPC_SwitchOpcode , 5|128,1, TARGET_VAL(ISD::XOR),
36404 OPC_Scope, 50,
36405 OPC_MoveChild0,
36406 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36407 OPC_RecordChild0,
36408 OPC_Scope, 20,
36409 OPC_RecordChild1,
36410 OPC_MoveSibling1,
36411 OPC_CheckImmAllOnesV,
36412 OPC_MoveParent,
36413 OPC_MoveParent,
36414 OPC_RecordChild1,
36415 OPC_CheckType, MVT::v4i32,
36416 OPC_CheckPatternPredicate1,
36417 OPC_EmitInteger32, 18,
36418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36419 MVT::v4i32, 4, 2, 0, 1, 3,
36420 21,
36421 OPC_MoveChild1,
36422 OPC_CheckImmAllOnesV,
36423 OPC_MoveParent,
36424 OPC_MoveParent,
36425 OPC_RecordChild1,
36426 OPC_MoveParent,
36427 OPC_RecordChild1,
36428 OPC_CheckType, MVT::v4i32,
36429 OPC_CheckPatternPredicate1,
36430 OPC_EmitInteger32, 18,
36431 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36432 MVT::v4i32, 4, 2, 0, 1, 3,
36433 0,
36434 26,
36435 OPC_RecordChild0,
36436 OPC_MoveChild1,
36437 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36438 OPC_RecordChild0,
36439 OPC_MoveChild1,
36440 OPC_CheckImmAllOnesV,
36441 OPC_MoveParent,
36442 OPC_MoveParent,
36443 OPC_MoveParent,
36444 OPC_RecordChild1,
36445 OPC_CheckType, MVT::v4i32,
36446 OPC_CheckPatternPredicate1,
36447 OPC_EmitInteger32, 18,
36448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36449 MVT::v4i32, 4, 2, 1, 0, 3,
36450 25,
36451 OPC_MoveChild0,
36452 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
36453 OPC_RecordChild0,
36454 OPC_RecordChild1,
36455 OPC_MoveSibling1,
36456 OPC_CheckImmAllOnesV,
36457 OPC_MoveParent,
36458 OPC_MoveParent,
36459 OPC_RecordChild1,
36460 OPC_CheckType, MVT::v4i32,
36461 OPC_CheckPatternPredicate1,
36462 OPC_EmitInteger32, 28,
36463 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36464 MVT::v4i32, 4, 2, 0, 1, 3,
36465 26,
36466 OPC_RecordChild0,
36467 OPC_RecordChild1,
36468 OPC_MoveSibling1,
36469 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36470 OPC_RecordChild0,
36471 OPC_MoveChild1,
36472 OPC_CheckImmAllOnesV,
36473 OPC_MoveParent,
36474 OPC_MoveParent,
36475 OPC_CheckType, MVT::v4i32,
36476 OPC_CheckPatternPredicate1,
36477 OPC_EmitInteger32, 64|128,1,
36478 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36479 MVT::v4i32, 4, 2, 0, 1, 3,
36480 0,
36481 84, TARGET_VAL(ISD::AND),
36482 OPC_Scope, 26,
36483 OPC_MoveChild0,
36484 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36485 OPC_RecordChild0,
36486 OPC_MoveChild1,
36487 OPC_CheckImmAllOnesV,
36488 OPC_MoveParent,
36489 OPC_MoveParent,
36490 OPC_RecordChild1,
36491 OPC_MoveParent,
36492 OPC_RecordChild1,
36493 OPC_CheckType, MVT::v4i32,
36494 OPC_CheckPatternPredicate1,
36495 OPC_EmitInteger32, 32,
36496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36497 MVT::v4i32, 4, 0, 1, 2, 3,
36498 54,
36499 OPC_RecordChild0,
36500 OPC_Scope, 25,
36501 OPC_MoveChild1,
36502 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36503 OPC_RecordChild0,
36504 OPC_MoveChild1,
36505 OPC_CheckImmAllOnesV,
36506 OPC_MoveParent,
36507 OPC_MoveParent,
36508 OPC_MoveParent,
36509 OPC_RecordChild1,
36510 OPC_CheckType, MVT::v4i32,
36511 OPC_CheckPatternPredicate1,
36512 OPC_EmitInteger32, 32,
36513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36514 MVT::v4i32, 4, 1, 0, 2, 3,
36515 24,
36516 OPC_RecordChild1,
36517 OPC_MoveSibling1,
36518 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36519 OPC_RecordChild0,
36520 OPC_MoveChild1,
36521 OPC_CheckImmAllOnesV,
36522 OPC_MoveParent,
36523 OPC_MoveParent,
36524 OPC_CheckType, MVT::v4i32,
36525 OPC_CheckPatternPredicate1,
36526 OPC_EmitInteger32, 32,
36527 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36528 MVT::v4i32, 4, 2, 0, 1, 3,
36529 0,
36530 0,
36531 0,
36532 59,
36533 OPC_RecordChild0,
36534 OPC_MoveChild1,
36535 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
36536 OPC_Scope, 25,
36537 OPC_MoveChild0,
36538 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36539 OPC_RecordChild0,
36540 OPC_MoveChild1,
36541 OPC_CheckImmAllOnesV,
36542 OPC_MoveParent,
36543 OPC_MoveParent,
36544 OPC_RecordChild1,
36545 OPC_MoveParent,
36546 OPC_CheckType, MVT::v4i32,
36547 OPC_CheckPatternPredicate1,
36548 OPC_EmitInteger32, 32,
36549 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36550 MVT::v4i32, 4, 1, 2, 0, 3,
36551 25,
36552 OPC_RecordChild0,
36553 OPC_MoveChild1,
36554 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36555 OPC_RecordChild0,
36556 OPC_MoveChild1,
36557 OPC_CheckImmAllOnesV,
36558 OPC_MoveParent,
36559 OPC_MoveParent,
36560 OPC_MoveParent,
36561 OPC_CheckType, MVT::v4i32,
36562 OPC_CheckPatternPredicate1,
36563 OPC_EmitInteger32, 32,
36564 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36565 MVT::v4i32, 4, 2, 1, 0, 3,
36566 0,
36567 30,
36568 OPC_MoveChild0,
36569 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36570 OPC_RecordChild0,
36571 OPC_RecordChild1,
36572 OPC_MoveSibling1,
36573 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36574 OPC_RecordChild0,
36575 OPC_MoveChild1,
36576 OPC_CheckImmAllOnesV,
36577 OPC_MoveParent,
36578 OPC_MoveParent,
36579 OPC_CheckType, MVT::v4i32,
36580 OPC_CheckPatternPredicate1,
36581 OPC_EmitInteger32, 96|128,1,
36582 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36583 MVT::v4i32, 4, 2, 0, 1, 3,
36584 20,
36585 OPC_RecordChild0,
36586 OPC_MoveChild1,
36587 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36588 OPC_RecordChild0,
36589 OPC_MoveChild1,
36590 OPC_CheckImmAllOnesV,
36591 OPC_MoveParent,
36592 OPC_MoveParent,
36593 OPC_CheckType, MVT::v4i32,
36594 OPC_CheckPatternPredicate2,
36595 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLANDC),
36596 MVT::v4i32, 2, 0, 1,
36597 20,
36598 OPC_MoveChild0,
36599 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36600 OPC_RecordChild0,
36601 OPC_MoveChild1,
36602 OPC_CheckImmAllOnesV,
36603 OPC_MoveParent,
36604 OPC_MoveParent,
36605 OPC_RecordChild1,
36606 OPC_CheckType, MVT::v4i32,
36607 OPC_CheckPatternPredicate2,
36608 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLANDC),
36609 MVT::v4i32, 2, 1, 0,
36610 64,
36611 OPC_RecordChild0,
36612 OPC_MoveChild1,
36613 OPC_SwitchOpcode , 17, TARGET_VAL(ISD::AND),
36614 OPC_RecordChild0,
36615 OPC_RecordChild1,
36616 OPC_MoveParent,
36617 OPC_CheckType, MVT::v4i32,
36618 OPC_CheckPatternPredicate1,
36619 OPC_EmitInteger32, 2,
36620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36621 MVT::v4i32, 4, 0, 1, 2, 3,
36622 17, TARGET_VAL(ISD::XOR),
36623 OPC_RecordChild0,
36624 OPC_RecordChild1,
36625 OPC_MoveParent,
36626 OPC_CheckType, MVT::v4i32,
36627 OPC_CheckPatternPredicate1,
36628 OPC_EmitInteger32, 12,
36629 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36630 MVT::v4i32, 4, 0, 1, 2, 3,
36631 17, TARGET_VAL(ISD::OR),
36632 OPC_RecordChild0,
36633 OPC_RecordChild1,
36634 OPC_MoveParent,
36635 OPC_CheckType, MVT::v4i32,
36636 OPC_CheckPatternPredicate1,
36637 OPC_EmitInteger32, 14,
36638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36639 MVT::v4i32, 4, 0, 1, 2, 3,
36640 0,
36641 66,
36642 OPC_MoveChild0,
36643 OPC_SwitchOpcode , 18, TARGET_VAL(ISD::AND),
36644 OPC_RecordChild0,
36645 OPC_RecordChild1,
36646 OPC_MoveParent,
36647 OPC_RecordChild1,
36648 OPC_CheckType, MVT::v4i32,
36649 OPC_CheckPatternPredicate1,
36650 OPC_EmitInteger32, 2,
36651 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36652 MVT::v4i32, 4, 0, 1, 2, 3,
36653 18, TARGET_VAL(ISD::XOR),
36654 OPC_RecordChild0,
36655 OPC_RecordChild1,
36656 OPC_MoveParent,
36657 OPC_RecordChild1,
36658 OPC_CheckType, MVT::v4i32,
36659 OPC_CheckPatternPredicate1,
36660 OPC_EmitInteger32, 12,
36661 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36662 MVT::v4i32, 4, 2, 0, 1, 3,
36663 18, TARGET_VAL(ISD::OR),
36664 OPC_RecordChild0,
36665 OPC_RecordChild1,
36666 OPC_MoveParent,
36667 OPC_RecordChild1,
36668 OPC_CheckType, MVT::v4i32,
36669 OPC_CheckPatternPredicate1,
36670 OPC_EmitInteger32, 14,
36671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36672 MVT::v4i32, 4, 2, 0, 1, 3,
36673 0,
36674 35,
36675 OPC_RecordChild0,
36676 OPC_Scope, 11,
36677 OPC_RecordChild1,
36678 OPC_CheckType, MVT::v4i32,
36679 OPC_CheckPatternPredicate2,
36680 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLAND),
36681 MVT::v4i32, 2, 0, 1,
36682 19,
36683 OPC_MoveChild1,
36684 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36685 OPC_RecordChild0,
36686 OPC_MoveChild1,
36687 OPC_CheckImmAllOnesV,
36688 OPC_MoveParent,
36689 OPC_MoveParent,
36690 OPC_CheckType, MVT::v4i32,
36691 OPC_CheckPatternPredicate3,
36692 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VANDC),
36693 MVT::v4i32, 2, 0, 1,
36694 0,
36695 20,
36696 OPC_MoveChild0,
36697 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36698 OPC_RecordChild0,
36699 OPC_MoveChild1,
36700 OPC_CheckImmAllOnesV,
36701 OPC_MoveParent,
36702 OPC_MoveParent,
36703 OPC_RecordChild1,
36704 OPC_CheckType, MVT::v4i32,
36705 OPC_CheckPatternPredicate3,
36706 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VANDC),
36707 MVT::v4i32, 2, 1, 0,
36708 12,
36709 OPC_RecordChild0,
36710 OPC_RecordChild1,
36711 OPC_CheckType, MVT::v4i32,
36712 OPC_CheckPatternPredicate3,
36713 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAND),
36714 MVT::v4i32, 2, 0, 1,
36715 0,
36716 40|128,72, TARGET_VAL(ISD::OR),
36717 OPC_Scope, 38,
36718 OPC_RecordChild0,
36719 OPC_MoveChild1,
36720 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36721 OPC_RecordChild0,
36722 OPC_CheckChild1Integer, 3,
36723 OPC_MoveParent,
36724 OPC_SwitchType , 7, MVT::i32,
36725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORC),
36726 MVT::i32, 2, 0, 1,
36727 7, MVT::i1,
36728 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
36729 MVT::i1, 2, 0, 1,
36730 7, MVT::i64,
36731 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORC8),
36732 MVT::i64, 2, 0, 1,
36733 0,
36734 38,
36735 OPC_MoveChild0,
36736 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36737 OPC_RecordChild0,
36738 OPC_CheckChild1Integer, 3,
36739 OPC_MoveParent,
36740 OPC_RecordChild1,
36741 OPC_SwitchType , 7, MVT::i32,
36742 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORC),
36743 MVT::i32, 2, 1, 0,
36744 7, MVT::i1,
36745 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
36746 MVT::i1, 2, 1, 0,
36747 7, MVT::i64,
36748 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORC8),
36749 MVT::i64, 2, 1, 0,
36750 0,
36751 126,
36752 OPC_RecordChild0,
36753 OPC_RecordChild1,
36754 OPC_Scope, 93,
36755 OPC_MoveChild1,
36756 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36757 OPC_Scope, 14,
36758 OPC_CheckPredicate0,
36759 OPC_MoveParent,
36760 OPC_CheckTypeI32,
36761 OPC_EmitConvertToTarget1,
36762 OPC_EmitNodeXForm, 1, 2,
36763 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORI),
36764 MVT::i32, 2, 0, 3,
36765 15,
36766 OPC_CheckPredicate, 23,
36767 OPC_MoveParent,
36768 OPC_CheckTypeI32,
36769 OPC_EmitConvertToTarget1,
36770 OPC_EmitNodeXForm, 0, 2,
36771 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORIS),
36772 MVT::i32, 2, 0, 3,
36773 14,
36774 OPC_CheckPredicate0,
36775 OPC_MoveParent,
36776 OPC_CheckTypeI64,
36777 OPC_EmitConvertToTarget1,
36778 OPC_EmitNodeXForm, 1, 2,
36779 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORI8),
36780 MVT::i64, 2, 0, 3,
36781 15,
36782 OPC_CheckPredicate, 23,
36783 OPC_MoveParent,
36784 OPC_CheckTypeI64,
36785 OPC_EmitConvertToTarget1,
36786 OPC_EmitNodeXForm, 0, 2,
36787 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORIS8),
36788 MVT::i64, 2, 0, 3,
36789 24,
36790 OPC_MoveParent,
36791 OPC_CheckTypeI32,
36792 OPC_EmitConvertToTarget1,
36793 OPC_EmitNodeXForm, 1, 2,
36794 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
36795 MVT::i32, 2, 0, 3,
36796 OPC_EmitConvertToTarget1,
36797 OPC_EmitNodeXForm, 0, 5,
36798 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORIS),
36799 MVT::i32, 2, 4, 6,
36800 0,
36801 8,
36802 OPC_CheckTypeI32,
36803 OPC_MorphNodeTo1None, TARGET_VAL(PPC::OR),
36804 MVT::i32, 2, 0, 1,
36805 9,
36806 OPC_CheckType, MVT::i1,
36807 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
36808 MVT::i1, 2, 0, 1,
36809 8,
36810 OPC_CheckTypeI64,
36811 OPC_MorphNodeTo1None, TARGET_VAL(PPC::OR8),
36812 MVT::i64, 2, 0, 1,
36813 0,
36814 101|128,64,
36815 OPC_MoveChild0,
36816 OPC_SwitchOpcode , 79|128,34, TARGET_VAL(ISD::AND),
36817 OPC_Scope, 46,
36818 OPC_RecordChild0,
36819 OPC_MoveChild1,
36820 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
36821 OPC_RecordChild0,
36822 OPC_RecordChild1,
36823 OPC_MoveParent,
36824 OPC_MoveSibling1,
36825 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36826 OPC_MoveChild0,
36827 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36828 OPC_CheckChild0Same, 0,
36829 OPC_MoveChild1,
36830 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36831 OPC_CheckChild0Same, 1,
36832 OPC_CheckChild1Same, 2,
36833 OPC_MoveParent,
36834 OPC_MoveSibling1,
36835 OPC_CheckImmAllOnesV,
36836 OPC_MoveParent,
36837 OPC_MoveParent,
36838 OPC_CheckType, MVT::v4i32,
36839 OPC_CheckPatternPredicate1,
36840 OPC_EmitInteger32, 44|128,2,
36841 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36842 MVT::v4i32, 4, 0, 1, 2, 3,
36843 52|128,16,
36844 OPC_MoveChild0,
36845 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
36846 OPC_RecordChild0,
36847 OPC_RecordChild1,
36848 OPC_MoveParent,
36849 OPC_RecordChild1,
36850 OPC_MoveSibling1,
36851 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
36852 OPC_MoveChild0,
36853 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36854 OPC_Scope, 40|128,1,
36855 OPC_MoveChild0,
36856 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36857 OPC_Scope, 26,
36858 OPC_CheckChild0Same, 0,
36859 OPC_CheckChild1Same, 1,
36860 OPC_MoveParent,
36861 OPC_CheckChild1Same, 2,
36862 OPC_MoveSibling1,
36863 OPC_CheckImmAllOnesV,
36864 OPC_MoveParent,
36865 OPC_MoveParent,
36866 OPC_CheckType, MVT::v4i32,
36867 OPC_CheckPatternPredicate1,
36868 OPC_EmitInteger32, 44|128,2,
36869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36870 MVT::v4i32, 4, 0, 1, 2, 3,
36871 26,
36872 OPC_CheckChild0Same, 1,
36873 OPC_CheckChild1Same, 0,
36874 OPC_MoveParent,
36875 OPC_CheckChild1Same, 2,
36876 OPC_MoveSibling1,
36877 OPC_CheckImmAllOnesV,
36878 OPC_MoveParent,
36879 OPC_MoveParent,
36880 OPC_CheckType, MVT::v4i32,
36881 OPC_CheckPatternPredicate1,
36882 OPC_EmitInteger32, 44|128,2,
36883 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36884 MVT::v4i32, 4, 0, 1, 2, 3,
36885 26,
36886 OPC_CheckChild0Same, 0,
36887 OPC_CheckChild1Same, 2,
36888 OPC_MoveParent,
36889 OPC_CheckChild1Same, 1,
36890 OPC_MoveSibling1,
36891 OPC_CheckImmAllOnesV,
36892 OPC_MoveParent,
36893 OPC_MoveParent,
36894 OPC_CheckType, MVT::v4i32,
36895 OPC_CheckPatternPredicate1,
36896 OPC_EmitInteger32, 44|128,2,
36897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36898 MVT::v4i32, 4, 0, 1, 2, 3,
36899 26,
36900 OPC_CheckChild0Same, 2,
36901 OPC_CheckChild1Same, 0,
36902 OPC_MoveParent,
36903 OPC_CheckChild1Same, 1,
36904 OPC_MoveSibling1,
36905 OPC_CheckImmAllOnesV,
36906 OPC_MoveParent,
36907 OPC_MoveParent,
36908 OPC_CheckType, MVT::v4i32,
36909 OPC_CheckPatternPredicate1,
36910 OPC_EmitInteger32, 44|128,2,
36911 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36912 MVT::v4i32, 4, 0, 1, 2, 3,
36913 26,
36914 OPC_CheckChild0Same, 1,
36915 OPC_CheckChild1Same, 2,
36916 OPC_MoveParent,
36917 OPC_CheckChild1Same, 0,
36918 OPC_MoveSibling1,
36919 OPC_CheckImmAllOnesV,
36920 OPC_MoveParent,
36921 OPC_MoveParent,
36922 OPC_CheckType, MVT::v4i32,
36923 OPC_CheckPatternPredicate1,
36924 OPC_EmitInteger32, 44|128,2,
36925 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36926 MVT::v4i32, 4, 0, 1, 2, 3,
36927 26,
36928 OPC_CheckChild0Same, 2,
36929 OPC_CheckChild1Same, 1,
36930 OPC_MoveParent,
36931 OPC_CheckChild1Same, 0,
36932 OPC_MoveSibling1,
36933 OPC_CheckImmAllOnesV,
36934 OPC_MoveParent,
36935 OPC_MoveParent,
36936 OPC_CheckType, MVT::v4i32,
36937 OPC_CheckPatternPredicate1,
36938 OPC_EmitInteger32, 44|128,2,
36939 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36940 MVT::v4i32, 4, 0, 1, 2, 3,
36941 0,
36942 58,
36943 OPC_CheckChild0Same, 2,
36944 OPC_MoveChild1,
36945 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36946 OPC_Scope, 24,
36947 OPC_CheckChild0Same, 0,
36948 OPC_CheckChild1Same, 1,
36949 OPC_MoveParent,
36950 OPC_MoveSibling1,
36951 OPC_CheckImmAllOnesV,
36952 OPC_MoveParent,
36953 OPC_MoveParent,
36954 OPC_CheckType, MVT::v4i32,
36955 OPC_CheckPatternPredicate1,
36956 OPC_EmitInteger32, 44|128,2,
36957 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36958 MVT::v4i32, 4, 0, 1, 2, 3,
36959 24,
36960 OPC_CheckChild0Same, 1,
36961 OPC_CheckChild1Same, 0,
36962 OPC_MoveParent,
36963 OPC_MoveSibling1,
36964 OPC_CheckImmAllOnesV,
36965 OPC_MoveParent,
36966 OPC_MoveParent,
36967 OPC_CheckType, MVT::v4i32,
36968 OPC_CheckPatternPredicate1,
36969 OPC_EmitInteger32, 44|128,2,
36970 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36971 MVT::v4i32, 4, 0, 1, 2, 3,
36972 0,
36973 58,
36974 OPC_CheckChild0Same, 1,
36975 OPC_MoveChild1,
36976 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
36977 OPC_Scope, 24,
36978 OPC_CheckChild0Same, 0,
36979 OPC_CheckChild1Same, 2,
36980 OPC_MoveParent,
36981 OPC_MoveSibling1,
36982 OPC_CheckImmAllOnesV,
36983 OPC_MoveParent,
36984 OPC_MoveParent,
36985 OPC_CheckType, MVT::v4i32,
36986 OPC_CheckPatternPredicate1,
36987 OPC_EmitInteger32, 44|128,2,
36988 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
36989 MVT::v4i32, 4, 0, 1, 2, 3,
36990 24,
36991 OPC_CheckChild0Same, 2,
36992 OPC_CheckChild1Same, 0,
36993 OPC_MoveParent,
36994 OPC_MoveSibling1,
36995 OPC_CheckImmAllOnesV,
36996 OPC_MoveParent,
36997 OPC_MoveParent,
36998 OPC_CheckType, MVT::v4i32,
36999 OPC_CheckPatternPredicate1,
37000 OPC_EmitInteger32, 44|128,2,
37001 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37002 MVT::v4i32, 4, 0, 1, 2, 3,
37003 0,
37004 58,
37005 OPC_CheckChild0Same, 0,
37006 OPC_MoveChild1,
37007 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37008 OPC_Scope, 24,
37009 OPC_CheckChild0Same, 1,
37010 OPC_CheckChild1Same, 2,
37011 OPC_MoveParent,
37012 OPC_MoveSibling1,
37013 OPC_CheckImmAllOnesV,
37014 OPC_MoveParent,
37015 OPC_MoveParent,
37016 OPC_CheckType, MVT::v4i32,
37017 OPC_CheckPatternPredicate1,
37018 OPC_EmitInteger32, 44|128,2,
37019 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37020 MVT::v4i32, 4, 0, 1, 2, 3,
37021 24,
37022 OPC_CheckChild0Same, 2,
37023 OPC_CheckChild1Same, 1,
37024 OPC_MoveParent,
37025 OPC_MoveSibling1,
37026 OPC_CheckImmAllOnesV,
37027 OPC_MoveParent,
37028 OPC_MoveParent,
37029 OPC_CheckType, MVT::v4i32,
37030 OPC_CheckPatternPredicate1,
37031 OPC_EmitInteger32, 44|128,2,
37032 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37033 MVT::v4i32, 4, 0, 1, 2, 3,
37034 0,
37035 40|128,1,
37036 OPC_MoveChild0,
37037 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37038 OPC_Scope, 26,
37039 OPC_CheckChild0Same, 1,
37040 OPC_CheckChild1Same, 0,
37041 OPC_MoveParent,
37042 OPC_CheckChild1Same, 2,
37043 OPC_MoveSibling1,
37044 OPC_CheckImmAllOnesV,
37045 OPC_MoveParent,
37046 OPC_MoveParent,
37047 OPC_CheckType, MVT::v4i32,
37048 OPC_CheckPatternPredicate1,
37049 OPC_EmitInteger32, 44|128,2,
37050 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37051 MVT::v4i32, 4, 1, 0, 2, 3,
37052 26,
37053 OPC_CheckChild0Same, 0,
37054 OPC_CheckChild1Same, 1,
37055 OPC_MoveParent,
37056 OPC_CheckChild1Same, 2,
37057 OPC_MoveSibling1,
37058 OPC_CheckImmAllOnesV,
37059 OPC_MoveParent,
37060 OPC_MoveParent,
37061 OPC_CheckType, MVT::v4i32,
37062 OPC_CheckPatternPredicate1,
37063 OPC_EmitInteger32, 44|128,2,
37064 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37065 MVT::v4i32, 4, 1, 0, 2, 3,
37066 26,
37067 OPC_CheckChild0Same, 1,
37068 OPC_CheckChild1Same, 2,
37069 OPC_MoveParent,
37070 OPC_CheckChild1Same, 0,
37071 OPC_MoveSibling1,
37072 OPC_CheckImmAllOnesV,
37073 OPC_MoveParent,
37074 OPC_MoveParent,
37075 OPC_CheckType, MVT::v4i32,
37076 OPC_CheckPatternPredicate1,
37077 OPC_EmitInteger32, 44|128,2,
37078 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37079 MVT::v4i32, 4, 1, 0, 2, 3,
37080 26,
37081 OPC_CheckChild0Same, 2,
37082 OPC_CheckChild1Same, 1,
37083 OPC_MoveParent,
37084 OPC_CheckChild1Same, 0,
37085 OPC_MoveSibling1,
37086 OPC_CheckImmAllOnesV,
37087 OPC_MoveParent,
37088 OPC_MoveParent,
37089 OPC_CheckType, MVT::v4i32,
37090 OPC_CheckPatternPredicate1,
37091 OPC_EmitInteger32, 44|128,2,
37092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37093 MVT::v4i32, 4, 1, 0, 2, 3,
37094 26,
37095 OPC_CheckChild0Same, 0,
37096 OPC_CheckChild1Same, 2,
37097 OPC_MoveParent,
37098 OPC_CheckChild1Same, 1,
37099 OPC_MoveSibling1,
37100 OPC_CheckImmAllOnesV,
37101 OPC_MoveParent,
37102 OPC_MoveParent,
37103 OPC_CheckType, MVT::v4i32,
37104 OPC_CheckPatternPredicate1,
37105 OPC_EmitInteger32, 44|128,2,
37106 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37107 MVT::v4i32, 4, 1, 0, 2, 3,
37108 26,
37109 OPC_CheckChild0Same, 2,
37110 OPC_CheckChild1Same, 0,
37111 OPC_MoveParent,
37112 OPC_CheckChild1Same, 1,
37113 OPC_MoveSibling1,
37114 OPC_CheckImmAllOnesV,
37115 OPC_MoveParent,
37116 OPC_MoveParent,
37117 OPC_CheckType, MVT::v4i32,
37118 OPC_CheckPatternPredicate1,
37119 OPC_EmitInteger32, 44|128,2,
37120 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37121 MVT::v4i32, 4, 1, 0, 2, 3,
37122 0,
37123 58,
37124 OPC_CheckChild0Same, 2,
37125 OPC_MoveChild1,
37126 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37127 OPC_Scope, 24,
37128 OPC_CheckChild0Same, 1,
37129 OPC_CheckChild1Same, 0,
37130 OPC_MoveParent,
37131 OPC_MoveSibling1,
37132 OPC_CheckImmAllOnesV,
37133 OPC_MoveParent,
37134 OPC_MoveParent,
37135 OPC_CheckType, MVT::v4i32,
37136 OPC_CheckPatternPredicate1,
37137 OPC_EmitInteger32, 44|128,2,
37138 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37139 MVT::v4i32, 4, 1, 0, 2, 3,
37140 24,
37141 OPC_CheckChild0Same, 0,
37142 OPC_CheckChild1Same, 1,
37143 OPC_MoveParent,
37144 OPC_MoveSibling1,
37145 OPC_CheckImmAllOnesV,
37146 OPC_MoveParent,
37147 OPC_MoveParent,
37148 OPC_CheckType, MVT::v4i32,
37149 OPC_CheckPatternPredicate1,
37150 OPC_EmitInteger32, 44|128,2,
37151 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37152 MVT::v4i32, 4, 1, 0, 2, 3,
37153 0,
37154 58,
37155 OPC_CheckChild0Same, 0,
37156 OPC_MoveChild1,
37157 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37158 OPC_Scope, 24,
37159 OPC_CheckChild0Same, 1,
37160 OPC_CheckChild1Same, 2,
37161 OPC_MoveParent,
37162 OPC_MoveSibling1,
37163 OPC_CheckImmAllOnesV,
37164 OPC_MoveParent,
37165 OPC_MoveParent,
37166 OPC_CheckType, MVT::v4i32,
37167 OPC_CheckPatternPredicate1,
37168 OPC_EmitInteger32, 44|128,2,
37169 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37170 MVT::v4i32, 4, 1, 0, 2, 3,
37171 24,
37172 OPC_CheckChild0Same, 2,
37173 OPC_CheckChild1Same, 1,
37174 OPC_MoveParent,
37175 OPC_MoveSibling1,
37176 OPC_CheckImmAllOnesV,
37177 OPC_MoveParent,
37178 OPC_MoveParent,
37179 OPC_CheckType, MVT::v4i32,
37180 OPC_CheckPatternPredicate1,
37181 OPC_EmitInteger32, 44|128,2,
37182 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37183 MVT::v4i32, 4, 1, 0, 2, 3,
37184 0,
37185 58,
37186 OPC_CheckChild0Same, 1,
37187 OPC_MoveChild1,
37188 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37189 OPC_Scope, 24,
37190 OPC_CheckChild0Same, 0,
37191 OPC_CheckChild1Same, 2,
37192 OPC_MoveParent,
37193 OPC_MoveSibling1,
37194 OPC_CheckImmAllOnesV,
37195 OPC_MoveParent,
37196 OPC_MoveParent,
37197 OPC_CheckType, MVT::v4i32,
37198 OPC_CheckPatternPredicate1,
37199 OPC_EmitInteger32, 44|128,2,
37200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37201 MVT::v4i32, 4, 1, 0, 2, 3,
37202 24,
37203 OPC_CheckChild0Same, 2,
37204 OPC_CheckChild1Same, 0,
37205 OPC_MoveParent,
37206 OPC_MoveSibling1,
37207 OPC_CheckImmAllOnesV,
37208 OPC_MoveParent,
37209 OPC_MoveParent,
37210 OPC_CheckType, MVT::v4i32,
37211 OPC_CheckPatternPredicate1,
37212 OPC_EmitInteger32, 44|128,2,
37213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37214 MVT::v4i32, 4, 1, 0, 2, 3,
37215 0,
37216 40|128,1,
37217 OPC_MoveChild0,
37218 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37219 OPC_Scope, 26,
37220 OPC_CheckChild0Same, 0,
37221 OPC_CheckChild1Same, 2,
37222 OPC_MoveParent,
37223 OPC_CheckChild1Same, 1,
37224 OPC_MoveSibling1,
37225 OPC_CheckImmAllOnesV,
37226 OPC_MoveParent,
37227 OPC_MoveParent,
37228 OPC_CheckType, MVT::v4i32,
37229 OPC_CheckPatternPredicate1,
37230 OPC_EmitInteger32, 44|128,2,
37231 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37232 MVT::v4i32, 4, 0, 2, 1, 3,
37233 26,
37234 OPC_CheckChild0Same, 2,
37235 OPC_CheckChild1Same, 0,
37236 OPC_MoveParent,
37237 OPC_CheckChild1Same, 1,
37238 OPC_MoveSibling1,
37239 OPC_CheckImmAllOnesV,
37240 OPC_MoveParent,
37241 OPC_MoveParent,
37242 OPC_CheckType, MVT::v4i32,
37243 OPC_CheckPatternPredicate1,
37244 OPC_EmitInteger32, 44|128,2,
37245 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37246 MVT::v4i32, 4, 0, 2, 1, 3,
37247 26,
37248 OPC_CheckChild0Same, 0,
37249 OPC_CheckChild1Same, 1,
37250 OPC_MoveParent,
37251 OPC_CheckChild1Same, 2,
37252 OPC_MoveSibling1,
37253 OPC_CheckImmAllOnesV,
37254 OPC_MoveParent,
37255 OPC_MoveParent,
37256 OPC_CheckType, MVT::v4i32,
37257 OPC_CheckPatternPredicate1,
37258 OPC_EmitInteger32, 44|128,2,
37259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37260 MVT::v4i32, 4, 0, 2, 1, 3,
37261 26,
37262 OPC_CheckChild0Same, 1,
37263 OPC_CheckChild1Same, 0,
37264 OPC_MoveParent,
37265 OPC_CheckChild1Same, 2,
37266 OPC_MoveSibling1,
37267 OPC_CheckImmAllOnesV,
37268 OPC_MoveParent,
37269 OPC_MoveParent,
37270 OPC_CheckType, MVT::v4i32,
37271 OPC_CheckPatternPredicate1,
37272 OPC_EmitInteger32, 44|128,2,
37273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37274 MVT::v4i32, 4, 0, 2, 1, 3,
37275 26,
37276 OPC_CheckChild0Same, 2,
37277 OPC_CheckChild1Same, 1,
37278 OPC_MoveParent,
37279 OPC_CheckChild1Same, 0,
37280 OPC_MoveSibling1,
37281 OPC_CheckImmAllOnesV,
37282 OPC_MoveParent,
37283 OPC_MoveParent,
37284 OPC_CheckType, MVT::v4i32,
37285 OPC_CheckPatternPredicate1,
37286 OPC_EmitInteger32, 44|128,2,
37287 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37288 MVT::v4i32, 4, 0, 2, 1, 3,
37289 26,
37290 OPC_CheckChild0Same, 1,
37291 OPC_CheckChild1Same, 2,
37292 OPC_MoveParent,
37293 OPC_CheckChild1Same, 0,
37294 OPC_MoveSibling1,
37295 OPC_CheckImmAllOnesV,
37296 OPC_MoveParent,
37297 OPC_MoveParent,
37298 OPC_CheckType, MVT::v4i32,
37299 OPC_CheckPatternPredicate1,
37300 OPC_EmitInteger32, 44|128,2,
37301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37302 MVT::v4i32, 4, 0, 2, 1, 3,
37303 0,
37304 58,
37305 OPC_CheckChild0Same, 1,
37306 OPC_MoveChild1,
37307 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37308 OPC_Scope, 24,
37309 OPC_CheckChild0Same, 0,
37310 OPC_CheckChild1Same, 2,
37311 OPC_MoveParent,
37312 OPC_MoveSibling1,
37313 OPC_CheckImmAllOnesV,
37314 OPC_MoveParent,
37315 OPC_MoveParent,
37316 OPC_CheckType, MVT::v4i32,
37317 OPC_CheckPatternPredicate1,
37318 OPC_EmitInteger32, 44|128,2,
37319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37320 MVT::v4i32, 4, 0, 2, 1, 3,
37321 24,
37322 OPC_CheckChild0Same, 2,
37323 OPC_CheckChild1Same, 0,
37324 OPC_MoveParent,
37325 OPC_MoveSibling1,
37326 OPC_CheckImmAllOnesV,
37327 OPC_MoveParent,
37328 OPC_MoveParent,
37329 OPC_CheckType, MVT::v4i32,
37330 OPC_CheckPatternPredicate1,
37331 OPC_EmitInteger32, 44|128,2,
37332 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37333 MVT::v4i32, 4, 0, 2, 1, 3,
37334 0,
37335 58,
37336 OPC_CheckChild0Same, 2,
37337 OPC_MoveChild1,
37338 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37339 OPC_Scope, 24,
37340 OPC_CheckChild0Same, 0,
37341 OPC_CheckChild1Same, 1,
37342 OPC_MoveParent,
37343 OPC_MoveSibling1,
37344 OPC_CheckImmAllOnesV,
37345 OPC_MoveParent,
37346 OPC_MoveParent,
37347 OPC_CheckType, MVT::v4i32,
37348 OPC_CheckPatternPredicate1,
37349 OPC_EmitInteger32, 44|128,2,
37350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37351 MVT::v4i32, 4, 0, 2, 1, 3,
37352 24,
37353 OPC_CheckChild0Same, 1,
37354 OPC_CheckChild1Same, 0,
37355 OPC_MoveParent,
37356 OPC_MoveSibling1,
37357 OPC_CheckImmAllOnesV,
37358 OPC_MoveParent,
37359 OPC_MoveParent,
37360 OPC_CheckType, MVT::v4i32,
37361 OPC_CheckPatternPredicate1,
37362 OPC_EmitInteger32, 44|128,2,
37363 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37364 MVT::v4i32, 4, 0, 2, 1, 3,
37365 0,
37366 58,
37367 OPC_CheckChild0Same, 0,
37368 OPC_MoveChild1,
37369 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37370 OPC_Scope, 24,
37371 OPC_CheckChild0Same, 2,
37372 OPC_CheckChild1Same, 1,
37373 OPC_MoveParent,
37374 OPC_MoveSibling1,
37375 OPC_CheckImmAllOnesV,
37376 OPC_MoveParent,
37377 OPC_MoveParent,
37378 OPC_CheckType, MVT::v4i32,
37379 OPC_CheckPatternPredicate1,
37380 OPC_EmitInteger32, 44|128,2,
37381 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37382 MVT::v4i32, 4, 0, 2, 1, 3,
37383 24,
37384 OPC_CheckChild0Same, 1,
37385 OPC_CheckChild1Same, 2,
37386 OPC_MoveParent,
37387 OPC_MoveSibling1,
37388 OPC_CheckImmAllOnesV,
37389 OPC_MoveParent,
37390 OPC_MoveParent,
37391 OPC_CheckType, MVT::v4i32,
37392 OPC_CheckPatternPredicate1,
37393 OPC_EmitInteger32, 44|128,2,
37394 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37395 MVT::v4i32, 4, 0, 2, 1, 3,
37396 0,
37397 40|128,1,
37398 OPC_MoveChild0,
37399 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37400 OPC_Scope, 26,
37401 OPC_CheckChild0Same, 1,
37402 OPC_CheckChild1Same, 2,
37403 OPC_MoveParent,
37404 OPC_CheckChild1Same, 0,
37405 OPC_MoveSibling1,
37406 OPC_CheckImmAllOnesV,
37407 OPC_MoveParent,
37408 OPC_MoveParent,
37409 OPC_CheckType, MVT::v4i32,
37410 OPC_CheckPatternPredicate1,
37411 OPC_EmitInteger32, 44|128,2,
37412 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37413 MVT::v4i32, 4, 1, 2, 0, 3,
37414 26,
37415 OPC_CheckChild0Same, 2,
37416 OPC_CheckChild1Same, 1,
37417 OPC_MoveParent,
37418 OPC_CheckChild1Same, 0,
37419 OPC_MoveSibling1,
37420 OPC_CheckImmAllOnesV,
37421 OPC_MoveParent,
37422 OPC_MoveParent,
37423 OPC_CheckType, MVT::v4i32,
37424 OPC_CheckPatternPredicate1,
37425 OPC_EmitInteger32, 44|128,2,
37426 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37427 MVT::v4i32, 4, 1, 2, 0, 3,
37428 26,
37429 OPC_CheckChild0Same, 1,
37430 OPC_CheckChild1Same, 0,
37431 OPC_MoveParent,
37432 OPC_CheckChild1Same, 2,
37433 OPC_MoveSibling1,
37434 OPC_CheckImmAllOnesV,
37435 OPC_MoveParent,
37436 OPC_MoveParent,
37437 OPC_CheckType, MVT::v4i32,
37438 OPC_CheckPatternPredicate1,
37439 OPC_EmitInteger32, 44|128,2,
37440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37441 MVT::v4i32, 4, 1, 2, 0, 3,
37442 26,
37443 OPC_CheckChild0Same, 0,
37444 OPC_CheckChild1Same, 1,
37445 OPC_MoveParent,
37446 OPC_CheckChild1Same, 2,
37447 OPC_MoveSibling1,
37448 OPC_CheckImmAllOnesV,
37449 OPC_MoveParent,
37450 OPC_MoveParent,
37451 OPC_CheckType, MVT::v4i32,
37452 OPC_CheckPatternPredicate1,
37453 OPC_EmitInteger32, 44|128,2,
37454 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37455 MVT::v4i32, 4, 1, 2, 0, 3,
37456 26,
37457 OPC_CheckChild0Same, 2,
37458 OPC_CheckChild1Same, 0,
37459 OPC_MoveParent,
37460 OPC_CheckChild1Same, 1,
37461 OPC_MoveSibling1,
37462 OPC_CheckImmAllOnesV,
37463 OPC_MoveParent,
37464 OPC_MoveParent,
37465 OPC_CheckType, MVT::v4i32,
37466 OPC_CheckPatternPredicate1,
37467 OPC_EmitInteger32, 44|128,2,
37468 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37469 MVT::v4i32, 4, 1, 2, 0, 3,
37470 26,
37471 OPC_CheckChild0Same, 0,
37472 OPC_CheckChild1Same, 2,
37473 OPC_MoveParent,
37474 OPC_CheckChild1Same, 1,
37475 OPC_MoveSibling1,
37476 OPC_CheckImmAllOnesV,
37477 OPC_MoveParent,
37478 OPC_MoveParent,
37479 OPC_CheckType, MVT::v4i32,
37480 OPC_CheckPatternPredicate1,
37481 OPC_EmitInteger32, 44|128,2,
37482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37483 MVT::v4i32, 4, 1, 2, 0, 3,
37484 0,
37485 58,
37486 OPC_CheckChild0Same, 0,
37487 OPC_MoveChild1,
37488 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37489 OPC_Scope, 24,
37490 OPC_CheckChild0Same, 1,
37491 OPC_CheckChild1Same, 2,
37492 OPC_MoveParent,
37493 OPC_MoveSibling1,
37494 OPC_CheckImmAllOnesV,
37495 OPC_MoveParent,
37496 OPC_MoveParent,
37497 OPC_CheckType, MVT::v4i32,
37498 OPC_CheckPatternPredicate1,
37499 OPC_EmitInteger32, 44|128,2,
37500 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37501 MVT::v4i32, 4, 1, 2, 0, 3,
37502 24,
37503 OPC_CheckChild0Same, 2,
37504 OPC_CheckChild1Same, 1,
37505 OPC_MoveParent,
37506 OPC_MoveSibling1,
37507 OPC_CheckImmAllOnesV,
37508 OPC_MoveParent,
37509 OPC_MoveParent,
37510 OPC_CheckType, MVT::v4i32,
37511 OPC_CheckPatternPredicate1,
37512 OPC_EmitInteger32, 44|128,2,
37513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37514 MVT::v4i32, 4, 1, 2, 0, 3,
37515 0,
37516 58,
37517 OPC_CheckChild0Same, 2,
37518 OPC_MoveChild1,
37519 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37520 OPC_Scope, 24,
37521 OPC_CheckChild0Same, 1,
37522 OPC_CheckChild1Same, 0,
37523 OPC_MoveParent,
37524 OPC_MoveSibling1,
37525 OPC_CheckImmAllOnesV,
37526 OPC_MoveParent,
37527 OPC_MoveParent,
37528 OPC_CheckType, MVT::v4i32,
37529 OPC_CheckPatternPredicate1,
37530 OPC_EmitInteger32, 44|128,2,
37531 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37532 MVT::v4i32, 4, 1, 2, 0, 3,
37533 24,
37534 OPC_CheckChild0Same, 0,
37535 OPC_CheckChild1Same, 1,
37536 OPC_MoveParent,
37537 OPC_MoveSibling1,
37538 OPC_CheckImmAllOnesV,
37539 OPC_MoveParent,
37540 OPC_MoveParent,
37541 OPC_CheckType, MVT::v4i32,
37542 OPC_CheckPatternPredicate1,
37543 OPC_EmitInteger32, 44|128,2,
37544 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37545 MVT::v4i32, 4, 1, 2, 0, 3,
37546 0,
37547 58,
37548 OPC_CheckChild0Same, 1,
37549 OPC_MoveChild1,
37550 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37551 OPC_Scope, 24,
37552 OPC_CheckChild0Same, 2,
37553 OPC_CheckChild1Same, 0,
37554 OPC_MoveParent,
37555 OPC_MoveSibling1,
37556 OPC_CheckImmAllOnesV,
37557 OPC_MoveParent,
37558 OPC_MoveParent,
37559 OPC_CheckType, MVT::v4i32,
37560 OPC_CheckPatternPredicate1,
37561 OPC_EmitInteger32, 44|128,2,
37562 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37563 MVT::v4i32, 4, 1, 2, 0, 3,
37564 24,
37565 OPC_CheckChild0Same, 0,
37566 OPC_CheckChild1Same, 2,
37567 OPC_MoveParent,
37568 OPC_MoveSibling1,
37569 OPC_CheckImmAllOnesV,
37570 OPC_MoveParent,
37571 OPC_MoveParent,
37572 OPC_CheckType, MVT::v4i32,
37573 OPC_CheckPatternPredicate1,
37574 OPC_EmitInteger32, 44|128,2,
37575 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37576 MVT::v4i32, 4, 1, 2, 0, 3,
37577 0,
37578 40|128,1,
37579 OPC_MoveChild0,
37580 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37581 OPC_Scope, 26,
37582 OPC_CheckChild0Same, 2,
37583 OPC_CheckChild1Same, 0,
37584 OPC_MoveParent,
37585 OPC_CheckChild1Same, 1,
37586 OPC_MoveSibling1,
37587 OPC_CheckImmAllOnesV,
37588 OPC_MoveParent,
37589 OPC_MoveParent,
37590 OPC_CheckType, MVT::v4i32,
37591 OPC_CheckPatternPredicate1,
37592 OPC_EmitInteger32, 44|128,2,
37593 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37594 MVT::v4i32, 4, 2, 0, 1, 3,
37595 26,
37596 OPC_CheckChild0Same, 0,
37597 OPC_CheckChild1Same, 2,
37598 OPC_MoveParent,
37599 OPC_CheckChild1Same, 1,
37600 OPC_MoveSibling1,
37601 OPC_CheckImmAllOnesV,
37602 OPC_MoveParent,
37603 OPC_MoveParent,
37604 OPC_CheckType, MVT::v4i32,
37605 OPC_CheckPatternPredicate1,
37606 OPC_EmitInteger32, 44|128,2,
37607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37608 MVT::v4i32, 4, 2, 0, 1, 3,
37609 26,
37610 OPC_CheckChild0Same, 2,
37611 OPC_CheckChild1Same, 1,
37612 OPC_MoveParent,
37613 OPC_CheckChild1Same, 0,
37614 OPC_MoveSibling1,
37615 OPC_CheckImmAllOnesV,
37616 OPC_MoveParent,
37617 OPC_MoveParent,
37618 OPC_CheckType, MVT::v4i32,
37619 OPC_CheckPatternPredicate1,
37620 OPC_EmitInteger32, 44|128,2,
37621 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37622 MVT::v4i32, 4, 2, 0, 1, 3,
37623 26,
37624 OPC_CheckChild0Same, 1,
37625 OPC_CheckChild1Same, 2,
37626 OPC_MoveParent,
37627 OPC_CheckChild1Same, 0,
37628 OPC_MoveSibling1,
37629 OPC_CheckImmAllOnesV,
37630 OPC_MoveParent,
37631 OPC_MoveParent,
37632 OPC_CheckType, MVT::v4i32,
37633 OPC_CheckPatternPredicate1,
37634 OPC_EmitInteger32, 44|128,2,
37635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37636 MVT::v4i32, 4, 2, 0, 1, 3,
37637 26,
37638 OPC_CheckChild0Same, 0,
37639 OPC_CheckChild1Same, 1,
37640 OPC_MoveParent,
37641 OPC_CheckChild1Same, 2,
37642 OPC_MoveSibling1,
37643 OPC_CheckImmAllOnesV,
37644 OPC_MoveParent,
37645 OPC_MoveParent,
37646 OPC_CheckType, MVT::v4i32,
37647 OPC_CheckPatternPredicate1,
37648 OPC_EmitInteger32, 44|128,2,
37649 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37650 MVT::v4i32, 4, 2, 0, 1, 3,
37651 26,
37652 OPC_CheckChild0Same, 1,
37653 OPC_CheckChild1Same, 0,
37654 OPC_MoveParent,
37655 OPC_CheckChild1Same, 2,
37656 OPC_MoveSibling1,
37657 OPC_CheckImmAllOnesV,
37658 OPC_MoveParent,
37659 OPC_MoveParent,
37660 OPC_CheckType, MVT::v4i32,
37661 OPC_CheckPatternPredicate1,
37662 OPC_EmitInteger32, 44|128,2,
37663 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37664 MVT::v4i32, 4, 2, 0, 1, 3,
37665 0,
37666 58,
37667 OPC_CheckChild0Same, 1,
37668 OPC_MoveChild1,
37669 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37670 OPC_Scope, 24,
37671 OPC_CheckChild0Same, 2,
37672 OPC_CheckChild1Same, 0,
37673 OPC_MoveParent,
37674 OPC_MoveSibling1,
37675 OPC_CheckImmAllOnesV,
37676 OPC_MoveParent,
37677 OPC_MoveParent,
37678 OPC_CheckType, MVT::v4i32,
37679 OPC_CheckPatternPredicate1,
37680 OPC_EmitInteger32, 44|128,2,
37681 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37682 MVT::v4i32, 4, 2, 0, 1, 3,
37683 24,
37684 OPC_CheckChild0Same, 0,
37685 OPC_CheckChild1Same, 2,
37686 OPC_MoveParent,
37687 OPC_MoveSibling1,
37688 OPC_CheckImmAllOnesV,
37689 OPC_MoveParent,
37690 OPC_MoveParent,
37691 OPC_CheckType, MVT::v4i32,
37692 OPC_CheckPatternPredicate1,
37693 OPC_EmitInteger32, 44|128,2,
37694 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37695 MVT::v4i32, 4, 2, 0, 1, 3,
37696 0,
37697 58,
37698 OPC_CheckChild0Same, 0,
37699 OPC_MoveChild1,
37700 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37701 OPC_Scope, 24,
37702 OPC_CheckChild0Same, 2,
37703 OPC_CheckChild1Same, 1,
37704 OPC_MoveParent,
37705 OPC_MoveSibling1,
37706 OPC_CheckImmAllOnesV,
37707 OPC_MoveParent,
37708 OPC_MoveParent,
37709 OPC_CheckType, MVT::v4i32,
37710 OPC_CheckPatternPredicate1,
37711 OPC_EmitInteger32, 44|128,2,
37712 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37713 MVT::v4i32, 4, 2, 0, 1, 3,
37714 24,
37715 OPC_CheckChild0Same, 1,
37716 OPC_CheckChild1Same, 2,
37717 OPC_MoveParent,
37718 OPC_MoveSibling1,
37719 OPC_CheckImmAllOnesV,
37720 OPC_MoveParent,
37721 OPC_MoveParent,
37722 OPC_CheckType, MVT::v4i32,
37723 OPC_CheckPatternPredicate1,
37724 OPC_EmitInteger32, 44|128,2,
37725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37726 MVT::v4i32, 4, 2, 0, 1, 3,
37727 0,
37728 58,
37729 OPC_CheckChild0Same, 2,
37730 OPC_MoveChild1,
37731 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37732 OPC_Scope, 24,
37733 OPC_CheckChild0Same, 0,
37734 OPC_CheckChild1Same, 1,
37735 OPC_MoveParent,
37736 OPC_MoveSibling1,
37737 OPC_CheckImmAllOnesV,
37738 OPC_MoveParent,
37739 OPC_MoveParent,
37740 OPC_CheckType, MVT::v4i32,
37741 OPC_CheckPatternPredicate1,
37742 OPC_EmitInteger32, 44|128,2,
37743 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37744 MVT::v4i32, 4, 2, 0, 1, 3,
37745 24,
37746 OPC_CheckChild0Same, 1,
37747 OPC_CheckChild1Same, 0,
37748 OPC_MoveParent,
37749 OPC_MoveSibling1,
37750 OPC_CheckImmAllOnesV,
37751 OPC_MoveParent,
37752 OPC_MoveParent,
37753 OPC_CheckType, MVT::v4i32,
37754 OPC_CheckPatternPredicate1,
37755 OPC_EmitInteger32, 44|128,2,
37756 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37757 MVT::v4i32, 4, 2, 0, 1, 3,
37758 0,
37759 40|128,1,
37760 OPC_MoveChild0,
37761 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37762 OPC_Scope, 26,
37763 OPC_CheckChild0Same, 2,
37764 OPC_CheckChild1Same, 1,
37765 OPC_MoveParent,
37766 OPC_CheckChild1Same, 0,
37767 OPC_MoveSibling1,
37768 OPC_CheckImmAllOnesV,
37769 OPC_MoveParent,
37770 OPC_MoveParent,
37771 OPC_CheckType, MVT::v4i32,
37772 OPC_CheckPatternPredicate1,
37773 OPC_EmitInteger32, 44|128,2,
37774 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37775 MVT::v4i32, 4, 2, 1, 0, 3,
37776 26,
37777 OPC_CheckChild0Same, 1,
37778 OPC_CheckChild1Same, 2,
37779 OPC_MoveParent,
37780 OPC_CheckChild1Same, 0,
37781 OPC_MoveSibling1,
37782 OPC_CheckImmAllOnesV,
37783 OPC_MoveParent,
37784 OPC_MoveParent,
37785 OPC_CheckType, MVT::v4i32,
37786 OPC_CheckPatternPredicate1,
37787 OPC_EmitInteger32, 44|128,2,
37788 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37789 MVT::v4i32, 4, 2, 1, 0, 3,
37790 26,
37791 OPC_CheckChild0Same, 2,
37792 OPC_CheckChild1Same, 0,
37793 OPC_MoveParent,
37794 OPC_CheckChild1Same, 1,
37795 OPC_MoveSibling1,
37796 OPC_CheckImmAllOnesV,
37797 OPC_MoveParent,
37798 OPC_MoveParent,
37799 OPC_CheckType, MVT::v4i32,
37800 OPC_CheckPatternPredicate1,
37801 OPC_EmitInteger32, 44|128,2,
37802 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37803 MVT::v4i32, 4, 2, 1, 0, 3,
37804 26,
37805 OPC_CheckChild0Same, 0,
37806 OPC_CheckChild1Same, 2,
37807 OPC_MoveParent,
37808 OPC_CheckChild1Same, 1,
37809 OPC_MoveSibling1,
37810 OPC_CheckImmAllOnesV,
37811 OPC_MoveParent,
37812 OPC_MoveParent,
37813 OPC_CheckType, MVT::v4i32,
37814 OPC_CheckPatternPredicate1,
37815 OPC_EmitInteger32, 44|128,2,
37816 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37817 MVT::v4i32, 4, 2, 1, 0, 3,
37818 26,
37819 OPC_CheckChild0Same, 1,
37820 OPC_CheckChild1Same, 0,
37821 OPC_MoveParent,
37822 OPC_CheckChild1Same, 2,
37823 OPC_MoveSibling1,
37824 OPC_CheckImmAllOnesV,
37825 OPC_MoveParent,
37826 OPC_MoveParent,
37827 OPC_CheckType, MVT::v4i32,
37828 OPC_CheckPatternPredicate1,
37829 OPC_EmitInteger32, 44|128,2,
37830 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37831 MVT::v4i32, 4, 2, 1, 0, 3,
37832 26,
37833 OPC_CheckChild0Same, 0,
37834 OPC_CheckChild1Same, 1,
37835 OPC_MoveParent,
37836 OPC_CheckChild1Same, 2,
37837 OPC_MoveSibling1,
37838 OPC_CheckImmAllOnesV,
37839 OPC_MoveParent,
37840 OPC_MoveParent,
37841 OPC_CheckType, MVT::v4i32,
37842 OPC_CheckPatternPredicate1,
37843 OPC_EmitInteger32, 44|128,2,
37844 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37845 MVT::v4i32, 4, 2, 1, 0, 3,
37846 0,
37847 58,
37848 OPC_CheckChild0Same, 0,
37849 OPC_MoveChild1,
37850 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37851 OPC_Scope, 24,
37852 OPC_CheckChild0Same, 2,
37853 OPC_CheckChild1Same, 1,
37854 OPC_MoveParent,
37855 OPC_MoveSibling1,
37856 OPC_CheckImmAllOnesV,
37857 OPC_MoveParent,
37858 OPC_MoveParent,
37859 OPC_CheckType, MVT::v4i32,
37860 OPC_CheckPatternPredicate1,
37861 OPC_EmitInteger32, 44|128,2,
37862 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37863 MVT::v4i32, 4, 2, 1, 0, 3,
37864 24,
37865 OPC_CheckChild0Same, 1,
37866 OPC_CheckChild1Same, 2,
37867 OPC_MoveParent,
37868 OPC_MoveSibling1,
37869 OPC_CheckImmAllOnesV,
37870 OPC_MoveParent,
37871 OPC_MoveParent,
37872 OPC_CheckType, MVT::v4i32,
37873 OPC_CheckPatternPredicate1,
37874 OPC_EmitInteger32, 44|128,2,
37875 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37876 MVT::v4i32, 4, 2, 1, 0, 3,
37877 0,
37878 58,
37879 OPC_CheckChild0Same, 1,
37880 OPC_MoveChild1,
37881 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37882 OPC_Scope, 24,
37883 OPC_CheckChild0Same, 2,
37884 OPC_CheckChild1Same, 0,
37885 OPC_MoveParent,
37886 OPC_MoveSibling1,
37887 OPC_CheckImmAllOnesV,
37888 OPC_MoveParent,
37889 OPC_MoveParent,
37890 OPC_CheckType, MVT::v4i32,
37891 OPC_CheckPatternPredicate1,
37892 OPC_EmitInteger32, 44|128,2,
37893 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37894 MVT::v4i32, 4, 2, 1, 0, 3,
37895 24,
37896 OPC_CheckChild0Same, 0,
37897 OPC_CheckChild1Same, 2,
37898 OPC_MoveParent,
37899 OPC_MoveSibling1,
37900 OPC_CheckImmAllOnesV,
37901 OPC_MoveParent,
37902 OPC_MoveParent,
37903 OPC_CheckType, MVT::v4i32,
37904 OPC_CheckPatternPredicate1,
37905 OPC_EmitInteger32, 44|128,2,
37906 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37907 MVT::v4i32, 4, 2, 1, 0, 3,
37908 0,
37909 58,
37910 OPC_CheckChild0Same, 2,
37911 OPC_MoveChild1,
37912 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37913 OPC_Scope, 24,
37914 OPC_CheckChild0Same, 1,
37915 OPC_CheckChild1Same, 0,
37916 OPC_MoveParent,
37917 OPC_MoveSibling1,
37918 OPC_CheckImmAllOnesV,
37919 OPC_MoveParent,
37920 OPC_MoveParent,
37921 OPC_CheckType, MVT::v4i32,
37922 OPC_CheckPatternPredicate1,
37923 OPC_EmitInteger32, 44|128,2,
37924 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37925 MVT::v4i32, 4, 2, 1, 0, 3,
37926 24,
37927 OPC_CheckChild0Same, 0,
37928 OPC_CheckChild1Same, 1,
37929 OPC_MoveParent,
37930 OPC_MoveSibling1,
37931 OPC_CheckImmAllOnesV,
37932 OPC_MoveParent,
37933 OPC_MoveParent,
37934 OPC_CheckType, MVT::v4i32,
37935 OPC_CheckPatternPredicate1,
37936 OPC_EmitInteger32, 44|128,2,
37937 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37938 MVT::v4i32, 4, 2, 1, 0, 3,
37939 0,
37940 0,
37941 24|128,16,
37942 OPC_RecordChild0,
37943 OPC_MoveChild1,
37944 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
37945 OPC_RecordChild0,
37946 OPC_RecordChild1,
37947 OPC_MoveParent,
37948 OPC_MoveSibling1,
37949 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
37950 OPC_MoveChild0,
37951 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37952 OPC_Scope, 40|128,1,
37953 OPC_MoveChild0,
37954 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
37955 OPC_Scope, 26,
37956 OPC_CheckChild0Same, 1,
37957 OPC_CheckChild1Same, 2,
37958 OPC_MoveParent,
37959 OPC_CheckChild1Same, 0,
37960 OPC_MoveSibling1,
37961 OPC_CheckImmAllOnesV,
37962 OPC_MoveParent,
37963 OPC_MoveParent,
37964 OPC_CheckType, MVT::v4i32,
37965 OPC_CheckPatternPredicate1,
37966 OPC_EmitInteger32, 44|128,2,
37967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37968 MVT::v4i32, 4, 1, 2, 0, 3,
37969 26,
37970 OPC_CheckChild0Same, 2,
37971 OPC_CheckChild1Same, 1,
37972 OPC_MoveParent,
37973 OPC_CheckChild1Same, 0,
37974 OPC_MoveSibling1,
37975 OPC_CheckImmAllOnesV,
37976 OPC_MoveParent,
37977 OPC_MoveParent,
37978 OPC_CheckType, MVT::v4i32,
37979 OPC_CheckPatternPredicate1,
37980 OPC_EmitInteger32, 44|128,2,
37981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37982 MVT::v4i32, 4, 1, 2, 0, 3,
37983 26,
37984 OPC_CheckChild0Same, 1,
37985 OPC_CheckChild1Same, 0,
37986 OPC_MoveParent,
37987 OPC_CheckChild1Same, 2,
37988 OPC_MoveSibling1,
37989 OPC_CheckImmAllOnesV,
37990 OPC_MoveParent,
37991 OPC_MoveParent,
37992 OPC_CheckType, MVT::v4i32,
37993 OPC_CheckPatternPredicate1,
37994 OPC_EmitInteger32, 44|128,2,
37995 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
37996 MVT::v4i32, 4, 1, 2, 0, 3,
37997 26,
37998 OPC_CheckChild0Same, 0,
37999 OPC_CheckChild1Same, 1,
38000 OPC_MoveParent,
38001 OPC_CheckChild1Same, 2,
38002 OPC_MoveSibling1,
38003 OPC_CheckImmAllOnesV,
38004 OPC_MoveParent,
38005 OPC_MoveParent,
38006 OPC_CheckType, MVT::v4i32,
38007 OPC_CheckPatternPredicate1,
38008 OPC_EmitInteger32, 44|128,2,
38009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38010 MVT::v4i32, 4, 1, 2, 0, 3,
38011 26,
38012 OPC_CheckChild0Same, 2,
38013 OPC_CheckChild1Same, 0,
38014 OPC_MoveParent,
38015 OPC_CheckChild1Same, 1,
38016 OPC_MoveSibling1,
38017 OPC_CheckImmAllOnesV,
38018 OPC_MoveParent,
38019 OPC_MoveParent,
38020 OPC_CheckType, MVT::v4i32,
38021 OPC_CheckPatternPredicate1,
38022 OPC_EmitInteger32, 44|128,2,
38023 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38024 MVT::v4i32, 4, 1, 2, 0, 3,
38025 26,
38026 OPC_CheckChild0Same, 0,
38027 OPC_CheckChild1Same, 2,
38028 OPC_MoveParent,
38029 OPC_CheckChild1Same, 1,
38030 OPC_MoveSibling1,
38031 OPC_CheckImmAllOnesV,
38032 OPC_MoveParent,
38033 OPC_MoveParent,
38034 OPC_CheckType, MVT::v4i32,
38035 OPC_CheckPatternPredicate1,
38036 OPC_EmitInteger32, 44|128,2,
38037 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38038 MVT::v4i32, 4, 1, 2, 0, 3,
38039 0,
38040 58,
38041 OPC_CheckChild0Same, 0,
38042 OPC_MoveChild1,
38043 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38044 OPC_Scope, 24,
38045 OPC_CheckChild0Same, 1,
38046 OPC_CheckChild1Same, 2,
38047 OPC_MoveParent,
38048 OPC_MoveSibling1,
38049 OPC_CheckImmAllOnesV,
38050 OPC_MoveParent,
38051 OPC_MoveParent,
38052 OPC_CheckType, MVT::v4i32,
38053 OPC_CheckPatternPredicate1,
38054 OPC_EmitInteger32, 44|128,2,
38055 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38056 MVT::v4i32, 4, 1, 2, 0, 3,
38057 24,
38058 OPC_CheckChild0Same, 2,
38059 OPC_CheckChild1Same, 1,
38060 OPC_MoveParent,
38061 OPC_MoveSibling1,
38062 OPC_CheckImmAllOnesV,
38063 OPC_MoveParent,
38064 OPC_MoveParent,
38065 OPC_CheckType, MVT::v4i32,
38066 OPC_CheckPatternPredicate1,
38067 OPC_EmitInteger32, 44|128,2,
38068 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38069 MVT::v4i32, 4, 1, 2, 0, 3,
38070 0,
38071 58,
38072 OPC_CheckChild0Same, 2,
38073 OPC_MoveChild1,
38074 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38075 OPC_Scope, 24,
38076 OPC_CheckChild0Same, 1,
38077 OPC_CheckChild1Same, 0,
38078 OPC_MoveParent,
38079 OPC_MoveSibling1,
38080 OPC_CheckImmAllOnesV,
38081 OPC_MoveParent,
38082 OPC_MoveParent,
38083 OPC_CheckType, MVT::v4i32,
38084 OPC_CheckPatternPredicate1,
38085 OPC_EmitInteger32, 44|128,2,
38086 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38087 MVT::v4i32, 4, 1, 2, 0, 3,
38088 24,
38089 OPC_CheckChild0Same, 0,
38090 OPC_CheckChild1Same, 1,
38091 OPC_MoveParent,
38092 OPC_MoveSibling1,
38093 OPC_CheckImmAllOnesV,
38094 OPC_MoveParent,
38095 OPC_MoveParent,
38096 OPC_CheckType, MVT::v4i32,
38097 OPC_CheckPatternPredicate1,
38098 OPC_EmitInteger32, 44|128,2,
38099 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38100 MVT::v4i32, 4, 1, 2, 0, 3,
38101 0,
38102 58,
38103 OPC_CheckChild0Same, 1,
38104 OPC_MoveChild1,
38105 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38106 OPC_Scope, 24,
38107 OPC_CheckChild0Same, 2,
38108 OPC_CheckChild1Same, 0,
38109 OPC_MoveParent,
38110 OPC_MoveSibling1,
38111 OPC_CheckImmAllOnesV,
38112 OPC_MoveParent,
38113 OPC_MoveParent,
38114 OPC_CheckType, MVT::v4i32,
38115 OPC_CheckPatternPredicate1,
38116 OPC_EmitInteger32, 44|128,2,
38117 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38118 MVT::v4i32, 4, 1, 2, 0, 3,
38119 24,
38120 OPC_CheckChild0Same, 0,
38121 OPC_CheckChild1Same, 2,
38122 OPC_MoveParent,
38123 OPC_MoveSibling1,
38124 OPC_CheckImmAllOnesV,
38125 OPC_MoveParent,
38126 OPC_MoveParent,
38127 OPC_CheckType, MVT::v4i32,
38128 OPC_CheckPatternPredicate1,
38129 OPC_EmitInteger32, 44|128,2,
38130 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38131 MVT::v4i32, 4, 1, 2, 0, 3,
38132 0,
38133 40|128,1,
38134 OPC_MoveChild0,
38135 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38136 OPC_Scope, 26,
38137 OPC_CheckChild0Same, 2,
38138 OPC_CheckChild1Same, 1,
38139 OPC_MoveParent,
38140 OPC_CheckChild1Same, 0,
38141 OPC_MoveSibling1,
38142 OPC_CheckImmAllOnesV,
38143 OPC_MoveParent,
38144 OPC_MoveParent,
38145 OPC_CheckType, MVT::v4i32,
38146 OPC_CheckPatternPredicate1,
38147 OPC_EmitInteger32, 44|128,2,
38148 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38149 MVT::v4i32, 4, 2, 1, 0, 3,
38150 26,
38151 OPC_CheckChild0Same, 1,
38152 OPC_CheckChild1Same, 2,
38153 OPC_MoveParent,
38154 OPC_CheckChild1Same, 0,
38155 OPC_MoveSibling1,
38156 OPC_CheckImmAllOnesV,
38157 OPC_MoveParent,
38158 OPC_MoveParent,
38159 OPC_CheckType, MVT::v4i32,
38160 OPC_CheckPatternPredicate1,
38161 OPC_EmitInteger32, 44|128,2,
38162 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38163 MVT::v4i32, 4, 2, 1, 0, 3,
38164 26,
38165 OPC_CheckChild0Same, 2,
38166 OPC_CheckChild1Same, 0,
38167 OPC_MoveParent,
38168 OPC_CheckChild1Same, 1,
38169 OPC_MoveSibling1,
38170 OPC_CheckImmAllOnesV,
38171 OPC_MoveParent,
38172 OPC_MoveParent,
38173 OPC_CheckType, MVT::v4i32,
38174 OPC_CheckPatternPredicate1,
38175 OPC_EmitInteger32, 44|128,2,
38176 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38177 MVT::v4i32, 4, 2, 1, 0, 3,
38178 26,
38179 OPC_CheckChild0Same, 0,
38180 OPC_CheckChild1Same, 2,
38181 OPC_MoveParent,
38182 OPC_CheckChild1Same, 1,
38183 OPC_MoveSibling1,
38184 OPC_CheckImmAllOnesV,
38185 OPC_MoveParent,
38186 OPC_MoveParent,
38187 OPC_CheckType, MVT::v4i32,
38188 OPC_CheckPatternPredicate1,
38189 OPC_EmitInteger32, 44|128,2,
38190 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38191 MVT::v4i32, 4, 2, 1, 0, 3,
38192 26,
38193 OPC_CheckChild0Same, 1,
38194 OPC_CheckChild1Same, 0,
38195 OPC_MoveParent,
38196 OPC_CheckChild1Same, 2,
38197 OPC_MoveSibling1,
38198 OPC_CheckImmAllOnesV,
38199 OPC_MoveParent,
38200 OPC_MoveParent,
38201 OPC_CheckType, MVT::v4i32,
38202 OPC_CheckPatternPredicate1,
38203 OPC_EmitInteger32, 44|128,2,
38204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38205 MVT::v4i32, 4, 2, 1, 0, 3,
38206 26,
38207 OPC_CheckChild0Same, 0,
38208 OPC_CheckChild1Same, 1,
38209 OPC_MoveParent,
38210 OPC_CheckChild1Same, 2,
38211 OPC_MoveSibling1,
38212 OPC_CheckImmAllOnesV,
38213 OPC_MoveParent,
38214 OPC_MoveParent,
38215 OPC_CheckType, MVT::v4i32,
38216 OPC_CheckPatternPredicate1,
38217 OPC_EmitInteger32, 44|128,2,
38218 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38219 MVT::v4i32, 4, 2, 1, 0, 3,
38220 0,
38221 58,
38222 OPC_CheckChild0Same, 0,
38223 OPC_MoveChild1,
38224 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38225 OPC_Scope, 24,
38226 OPC_CheckChild0Same, 2,
38227 OPC_CheckChild1Same, 1,
38228 OPC_MoveParent,
38229 OPC_MoveSibling1,
38230 OPC_CheckImmAllOnesV,
38231 OPC_MoveParent,
38232 OPC_MoveParent,
38233 OPC_CheckType, MVT::v4i32,
38234 OPC_CheckPatternPredicate1,
38235 OPC_EmitInteger32, 44|128,2,
38236 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38237 MVT::v4i32, 4, 2, 1, 0, 3,
38238 24,
38239 OPC_CheckChild0Same, 1,
38240 OPC_CheckChild1Same, 2,
38241 OPC_MoveParent,
38242 OPC_MoveSibling1,
38243 OPC_CheckImmAllOnesV,
38244 OPC_MoveParent,
38245 OPC_MoveParent,
38246 OPC_CheckType, MVT::v4i32,
38247 OPC_CheckPatternPredicate1,
38248 OPC_EmitInteger32, 44|128,2,
38249 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38250 MVT::v4i32, 4, 2, 1, 0, 3,
38251 0,
38252 58,
38253 OPC_CheckChild0Same, 1,
38254 OPC_MoveChild1,
38255 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38256 OPC_Scope, 24,
38257 OPC_CheckChild0Same, 2,
38258 OPC_CheckChild1Same, 0,
38259 OPC_MoveParent,
38260 OPC_MoveSibling1,
38261 OPC_CheckImmAllOnesV,
38262 OPC_MoveParent,
38263 OPC_MoveParent,
38264 OPC_CheckType, MVT::v4i32,
38265 OPC_CheckPatternPredicate1,
38266 OPC_EmitInteger32, 44|128,2,
38267 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38268 MVT::v4i32, 4, 2, 1, 0, 3,
38269 24,
38270 OPC_CheckChild0Same, 0,
38271 OPC_CheckChild1Same, 2,
38272 OPC_MoveParent,
38273 OPC_MoveSibling1,
38274 OPC_CheckImmAllOnesV,
38275 OPC_MoveParent,
38276 OPC_MoveParent,
38277 OPC_CheckType, MVT::v4i32,
38278 OPC_CheckPatternPredicate1,
38279 OPC_EmitInteger32, 44|128,2,
38280 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38281 MVT::v4i32, 4, 2, 1, 0, 3,
38282 0,
38283 58,
38284 OPC_CheckChild0Same, 2,
38285 OPC_MoveChild1,
38286 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38287 OPC_Scope, 24,
38288 OPC_CheckChild0Same, 1,
38289 OPC_CheckChild1Same, 0,
38290 OPC_MoveParent,
38291 OPC_MoveSibling1,
38292 OPC_CheckImmAllOnesV,
38293 OPC_MoveParent,
38294 OPC_MoveParent,
38295 OPC_CheckType, MVT::v4i32,
38296 OPC_CheckPatternPredicate1,
38297 OPC_EmitInteger32, 44|128,2,
38298 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38299 MVT::v4i32, 4, 2, 1, 0, 3,
38300 24,
38301 OPC_CheckChild0Same, 0,
38302 OPC_CheckChild1Same, 1,
38303 OPC_MoveParent,
38304 OPC_MoveSibling1,
38305 OPC_CheckImmAllOnesV,
38306 OPC_MoveParent,
38307 OPC_MoveParent,
38308 OPC_CheckType, MVT::v4i32,
38309 OPC_CheckPatternPredicate1,
38310 OPC_EmitInteger32, 44|128,2,
38311 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38312 MVT::v4i32, 4, 2, 1, 0, 3,
38313 0,
38314 40|128,1,
38315 OPC_MoveChild0,
38316 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38317 OPC_Scope, 26,
38318 OPC_CheckChild0Same, 1,
38319 OPC_CheckChild1Same, 0,
38320 OPC_MoveParent,
38321 OPC_CheckChild1Same, 2,
38322 OPC_MoveSibling1,
38323 OPC_CheckImmAllOnesV,
38324 OPC_MoveParent,
38325 OPC_MoveParent,
38326 OPC_CheckType, MVT::v4i32,
38327 OPC_CheckPatternPredicate1,
38328 OPC_EmitInteger32, 44|128,2,
38329 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38330 MVT::v4i32, 4, 1, 0, 2, 3,
38331 26,
38332 OPC_CheckChild0Same, 0,
38333 OPC_CheckChild1Same, 1,
38334 OPC_MoveParent,
38335 OPC_CheckChild1Same, 2,
38336 OPC_MoveSibling1,
38337 OPC_CheckImmAllOnesV,
38338 OPC_MoveParent,
38339 OPC_MoveParent,
38340 OPC_CheckType, MVT::v4i32,
38341 OPC_CheckPatternPredicate1,
38342 OPC_EmitInteger32, 44|128,2,
38343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38344 MVT::v4i32, 4, 1, 0, 2, 3,
38345 26,
38346 OPC_CheckChild0Same, 1,
38347 OPC_CheckChild1Same, 2,
38348 OPC_MoveParent,
38349 OPC_CheckChild1Same, 0,
38350 OPC_MoveSibling1,
38351 OPC_CheckImmAllOnesV,
38352 OPC_MoveParent,
38353 OPC_MoveParent,
38354 OPC_CheckType, MVT::v4i32,
38355 OPC_CheckPatternPredicate1,
38356 OPC_EmitInteger32, 44|128,2,
38357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38358 MVT::v4i32, 4, 1, 0, 2, 3,
38359 26,
38360 OPC_CheckChild0Same, 2,
38361 OPC_CheckChild1Same, 1,
38362 OPC_MoveParent,
38363 OPC_CheckChild1Same, 0,
38364 OPC_MoveSibling1,
38365 OPC_CheckImmAllOnesV,
38366 OPC_MoveParent,
38367 OPC_MoveParent,
38368 OPC_CheckType, MVT::v4i32,
38369 OPC_CheckPatternPredicate1,
38370 OPC_EmitInteger32, 44|128,2,
38371 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38372 MVT::v4i32, 4, 1, 0, 2, 3,
38373 26,
38374 OPC_CheckChild0Same, 0,
38375 OPC_CheckChild1Same, 2,
38376 OPC_MoveParent,
38377 OPC_CheckChild1Same, 1,
38378 OPC_MoveSibling1,
38379 OPC_CheckImmAllOnesV,
38380 OPC_MoveParent,
38381 OPC_MoveParent,
38382 OPC_CheckType, MVT::v4i32,
38383 OPC_CheckPatternPredicate1,
38384 OPC_EmitInteger32, 44|128,2,
38385 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38386 MVT::v4i32, 4, 1, 0, 2, 3,
38387 26,
38388 OPC_CheckChild0Same, 2,
38389 OPC_CheckChild1Same, 0,
38390 OPC_MoveParent,
38391 OPC_CheckChild1Same, 1,
38392 OPC_MoveSibling1,
38393 OPC_CheckImmAllOnesV,
38394 OPC_MoveParent,
38395 OPC_MoveParent,
38396 OPC_CheckType, MVT::v4i32,
38397 OPC_CheckPatternPredicate1,
38398 OPC_EmitInteger32, 44|128,2,
38399 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38400 MVT::v4i32, 4, 1, 0, 2, 3,
38401 0,
38402 58,
38403 OPC_CheckChild0Same, 2,
38404 OPC_MoveChild1,
38405 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38406 OPC_Scope, 24,
38407 OPC_CheckChild0Same, 1,
38408 OPC_CheckChild1Same, 0,
38409 OPC_MoveParent,
38410 OPC_MoveSibling1,
38411 OPC_CheckImmAllOnesV,
38412 OPC_MoveParent,
38413 OPC_MoveParent,
38414 OPC_CheckType, MVT::v4i32,
38415 OPC_CheckPatternPredicate1,
38416 OPC_EmitInteger32, 44|128,2,
38417 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38418 MVT::v4i32, 4, 1, 0, 2, 3,
38419 24,
38420 OPC_CheckChild0Same, 0,
38421 OPC_CheckChild1Same, 1,
38422 OPC_MoveParent,
38423 OPC_MoveSibling1,
38424 OPC_CheckImmAllOnesV,
38425 OPC_MoveParent,
38426 OPC_MoveParent,
38427 OPC_CheckType, MVT::v4i32,
38428 OPC_CheckPatternPredicate1,
38429 OPC_EmitInteger32, 44|128,2,
38430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38431 MVT::v4i32, 4, 1, 0, 2, 3,
38432 0,
38433 58,
38434 OPC_CheckChild0Same, 0,
38435 OPC_MoveChild1,
38436 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38437 OPC_Scope, 24,
38438 OPC_CheckChild0Same, 1,
38439 OPC_CheckChild1Same, 2,
38440 OPC_MoveParent,
38441 OPC_MoveSibling1,
38442 OPC_CheckImmAllOnesV,
38443 OPC_MoveParent,
38444 OPC_MoveParent,
38445 OPC_CheckType, MVT::v4i32,
38446 OPC_CheckPatternPredicate1,
38447 OPC_EmitInteger32, 44|128,2,
38448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38449 MVT::v4i32, 4, 1, 0, 2, 3,
38450 24,
38451 OPC_CheckChild0Same, 2,
38452 OPC_CheckChild1Same, 1,
38453 OPC_MoveParent,
38454 OPC_MoveSibling1,
38455 OPC_CheckImmAllOnesV,
38456 OPC_MoveParent,
38457 OPC_MoveParent,
38458 OPC_CheckType, MVT::v4i32,
38459 OPC_CheckPatternPredicate1,
38460 OPC_EmitInteger32, 44|128,2,
38461 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38462 MVT::v4i32, 4, 1, 0, 2, 3,
38463 0,
38464 58,
38465 OPC_CheckChild0Same, 1,
38466 OPC_MoveChild1,
38467 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38468 OPC_Scope, 24,
38469 OPC_CheckChild0Same, 0,
38470 OPC_CheckChild1Same, 2,
38471 OPC_MoveParent,
38472 OPC_MoveSibling1,
38473 OPC_CheckImmAllOnesV,
38474 OPC_MoveParent,
38475 OPC_MoveParent,
38476 OPC_CheckType, MVT::v4i32,
38477 OPC_CheckPatternPredicate1,
38478 OPC_EmitInteger32, 44|128,2,
38479 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38480 MVT::v4i32, 4, 1, 0, 2, 3,
38481 24,
38482 OPC_CheckChild0Same, 2,
38483 OPC_CheckChild1Same, 0,
38484 OPC_MoveParent,
38485 OPC_MoveSibling1,
38486 OPC_CheckImmAllOnesV,
38487 OPC_MoveParent,
38488 OPC_MoveParent,
38489 OPC_CheckType, MVT::v4i32,
38490 OPC_CheckPatternPredicate1,
38491 OPC_EmitInteger32, 44|128,2,
38492 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38493 MVT::v4i32, 4, 1, 0, 2, 3,
38494 0,
38495 40|128,1,
38496 OPC_MoveChild0,
38497 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38498 OPC_Scope, 26,
38499 OPC_CheckChild0Same, 2,
38500 OPC_CheckChild1Same, 0,
38501 OPC_MoveParent,
38502 OPC_CheckChild1Same, 1,
38503 OPC_MoveSibling1,
38504 OPC_CheckImmAllOnesV,
38505 OPC_MoveParent,
38506 OPC_MoveParent,
38507 OPC_CheckType, MVT::v4i32,
38508 OPC_CheckPatternPredicate1,
38509 OPC_EmitInteger32, 44|128,2,
38510 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38511 MVT::v4i32, 4, 2, 0, 1, 3,
38512 26,
38513 OPC_CheckChild0Same, 0,
38514 OPC_CheckChild1Same, 2,
38515 OPC_MoveParent,
38516 OPC_CheckChild1Same, 1,
38517 OPC_MoveSibling1,
38518 OPC_CheckImmAllOnesV,
38519 OPC_MoveParent,
38520 OPC_MoveParent,
38521 OPC_CheckType, MVT::v4i32,
38522 OPC_CheckPatternPredicate1,
38523 OPC_EmitInteger32, 44|128,2,
38524 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38525 MVT::v4i32, 4, 2, 0, 1, 3,
38526 26,
38527 OPC_CheckChild0Same, 2,
38528 OPC_CheckChild1Same, 1,
38529 OPC_MoveParent,
38530 OPC_CheckChild1Same, 0,
38531 OPC_MoveSibling1,
38532 OPC_CheckImmAllOnesV,
38533 OPC_MoveParent,
38534 OPC_MoveParent,
38535 OPC_CheckType, MVT::v4i32,
38536 OPC_CheckPatternPredicate1,
38537 OPC_EmitInteger32, 44|128,2,
38538 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38539 MVT::v4i32, 4, 2, 0, 1, 3,
38540 26,
38541 OPC_CheckChild0Same, 1,
38542 OPC_CheckChild1Same, 2,
38543 OPC_MoveParent,
38544 OPC_CheckChild1Same, 0,
38545 OPC_MoveSibling1,
38546 OPC_CheckImmAllOnesV,
38547 OPC_MoveParent,
38548 OPC_MoveParent,
38549 OPC_CheckType, MVT::v4i32,
38550 OPC_CheckPatternPredicate1,
38551 OPC_EmitInteger32, 44|128,2,
38552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38553 MVT::v4i32, 4, 2, 0, 1, 3,
38554 26,
38555 OPC_CheckChild0Same, 0,
38556 OPC_CheckChild1Same, 1,
38557 OPC_MoveParent,
38558 OPC_CheckChild1Same, 2,
38559 OPC_MoveSibling1,
38560 OPC_CheckImmAllOnesV,
38561 OPC_MoveParent,
38562 OPC_MoveParent,
38563 OPC_CheckType, MVT::v4i32,
38564 OPC_CheckPatternPredicate1,
38565 OPC_EmitInteger32, 44|128,2,
38566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38567 MVT::v4i32, 4, 2, 0, 1, 3,
38568 26,
38569 OPC_CheckChild0Same, 1,
38570 OPC_CheckChild1Same, 0,
38571 OPC_MoveParent,
38572 OPC_CheckChild1Same, 2,
38573 OPC_MoveSibling1,
38574 OPC_CheckImmAllOnesV,
38575 OPC_MoveParent,
38576 OPC_MoveParent,
38577 OPC_CheckType, MVT::v4i32,
38578 OPC_CheckPatternPredicate1,
38579 OPC_EmitInteger32, 44|128,2,
38580 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38581 MVT::v4i32, 4, 2, 0, 1, 3,
38582 0,
38583 58,
38584 OPC_CheckChild0Same, 1,
38585 OPC_MoveChild1,
38586 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38587 OPC_Scope, 24,
38588 OPC_CheckChild0Same, 2,
38589 OPC_CheckChild1Same, 0,
38590 OPC_MoveParent,
38591 OPC_MoveSibling1,
38592 OPC_CheckImmAllOnesV,
38593 OPC_MoveParent,
38594 OPC_MoveParent,
38595 OPC_CheckType, MVT::v4i32,
38596 OPC_CheckPatternPredicate1,
38597 OPC_EmitInteger32, 44|128,2,
38598 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38599 MVT::v4i32, 4, 2, 0, 1, 3,
38600 24,
38601 OPC_CheckChild0Same, 0,
38602 OPC_CheckChild1Same, 2,
38603 OPC_MoveParent,
38604 OPC_MoveSibling1,
38605 OPC_CheckImmAllOnesV,
38606 OPC_MoveParent,
38607 OPC_MoveParent,
38608 OPC_CheckType, MVT::v4i32,
38609 OPC_CheckPatternPredicate1,
38610 OPC_EmitInteger32, 44|128,2,
38611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38612 MVT::v4i32, 4, 2, 0, 1, 3,
38613 0,
38614 58,
38615 OPC_CheckChild0Same, 0,
38616 OPC_MoveChild1,
38617 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38618 OPC_Scope, 24,
38619 OPC_CheckChild0Same, 2,
38620 OPC_CheckChild1Same, 1,
38621 OPC_MoveParent,
38622 OPC_MoveSibling1,
38623 OPC_CheckImmAllOnesV,
38624 OPC_MoveParent,
38625 OPC_MoveParent,
38626 OPC_CheckType, MVT::v4i32,
38627 OPC_CheckPatternPredicate1,
38628 OPC_EmitInteger32, 44|128,2,
38629 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38630 MVT::v4i32, 4, 2, 0, 1, 3,
38631 24,
38632 OPC_CheckChild0Same, 1,
38633 OPC_CheckChild1Same, 2,
38634 OPC_MoveParent,
38635 OPC_MoveSibling1,
38636 OPC_CheckImmAllOnesV,
38637 OPC_MoveParent,
38638 OPC_MoveParent,
38639 OPC_CheckType, MVT::v4i32,
38640 OPC_CheckPatternPredicate1,
38641 OPC_EmitInteger32, 44|128,2,
38642 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38643 MVT::v4i32, 4, 2, 0, 1, 3,
38644 0,
38645 58,
38646 OPC_CheckChild0Same, 2,
38647 OPC_MoveChild1,
38648 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38649 OPC_Scope, 24,
38650 OPC_CheckChild0Same, 0,
38651 OPC_CheckChild1Same, 1,
38652 OPC_MoveParent,
38653 OPC_MoveSibling1,
38654 OPC_CheckImmAllOnesV,
38655 OPC_MoveParent,
38656 OPC_MoveParent,
38657 OPC_CheckType, MVT::v4i32,
38658 OPC_CheckPatternPredicate1,
38659 OPC_EmitInteger32, 44|128,2,
38660 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38661 MVT::v4i32, 4, 2, 0, 1, 3,
38662 24,
38663 OPC_CheckChild0Same, 1,
38664 OPC_CheckChild1Same, 0,
38665 OPC_MoveParent,
38666 OPC_MoveSibling1,
38667 OPC_CheckImmAllOnesV,
38668 OPC_MoveParent,
38669 OPC_MoveParent,
38670 OPC_CheckType, MVT::v4i32,
38671 OPC_CheckPatternPredicate1,
38672 OPC_EmitInteger32, 44|128,2,
38673 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38674 MVT::v4i32, 4, 2, 0, 1, 3,
38675 0,
38676 40|128,1,
38677 OPC_MoveChild0,
38678 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38679 OPC_Scope, 26,
38680 OPC_CheckChild0Same, 0,
38681 OPC_CheckChild1Same, 1,
38682 OPC_MoveParent,
38683 OPC_CheckChild1Same, 2,
38684 OPC_MoveSibling1,
38685 OPC_CheckImmAllOnesV,
38686 OPC_MoveParent,
38687 OPC_MoveParent,
38688 OPC_CheckType, MVT::v4i32,
38689 OPC_CheckPatternPredicate1,
38690 OPC_EmitInteger32, 44|128,2,
38691 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38692 MVT::v4i32, 4, 0, 1, 2, 3,
38693 26,
38694 OPC_CheckChild0Same, 1,
38695 OPC_CheckChild1Same, 0,
38696 OPC_MoveParent,
38697 OPC_CheckChild1Same, 2,
38698 OPC_MoveSibling1,
38699 OPC_CheckImmAllOnesV,
38700 OPC_MoveParent,
38701 OPC_MoveParent,
38702 OPC_CheckType, MVT::v4i32,
38703 OPC_CheckPatternPredicate1,
38704 OPC_EmitInteger32, 44|128,2,
38705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38706 MVT::v4i32, 4, 0, 1, 2, 3,
38707 26,
38708 OPC_CheckChild0Same, 0,
38709 OPC_CheckChild1Same, 2,
38710 OPC_MoveParent,
38711 OPC_CheckChild1Same, 1,
38712 OPC_MoveSibling1,
38713 OPC_CheckImmAllOnesV,
38714 OPC_MoveParent,
38715 OPC_MoveParent,
38716 OPC_CheckType, MVT::v4i32,
38717 OPC_CheckPatternPredicate1,
38718 OPC_EmitInteger32, 44|128,2,
38719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38720 MVT::v4i32, 4, 0, 1, 2, 3,
38721 26,
38722 OPC_CheckChild0Same, 2,
38723 OPC_CheckChild1Same, 0,
38724 OPC_MoveParent,
38725 OPC_CheckChild1Same, 1,
38726 OPC_MoveSibling1,
38727 OPC_CheckImmAllOnesV,
38728 OPC_MoveParent,
38729 OPC_MoveParent,
38730 OPC_CheckType, MVT::v4i32,
38731 OPC_CheckPatternPredicate1,
38732 OPC_EmitInteger32, 44|128,2,
38733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38734 MVT::v4i32, 4, 0, 1, 2, 3,
38735 26,
38736 OPC_CheckChild0Same, 1,
38737 OPC_CheckChild1Same, 2,
38738 OPC_MoveParent,
38739 OPC_CheckChild1Same, 0,
38740 OPC_MoveSibling1,
38741 OPC_CheckImmAllOnesV,
38742 OPC_MoveParent,
38743 OPC_MoveParent,
38744 OPC_CheckType, MVT::v4i32,
38745 OPC_CheckPatternPredicate1,
38746 OPC_EmitInteger32, 44|128,2,
38747 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38748 MVT::v4i32, 4, 0, 1, 2, 3,
38749 26,
38750 OPC_CheckChild0Same, 2,
38751 OPC_CheckChild1Same, 1,
38752 OPC_MoveParent,
38753 OPC_CheckChild1Same, 0,
38754 OPC_MoveSibling1,
38755 OPC_CheckImmAllOnesV,
38756 OPC_MoveParent,
38757 OPC_MoveParent,
38758 OPC_CheckType, MVT::v4i32,
38759 OPC_CheckPatternPredicate1,
38760 OPC_EmitInteger32, 44|128,2,
38761 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38762 MVT::v4i32, 4, 0, 1, 2, 3,
38763 0,
38764 58,
38765 OPC_CheckChild0Same, 2,
38766 OPC_MoveChild1,
38767 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38768 OPC_Scope, 24,
38769 OPC_CheckChild0Same, 0,
38770 OPC_CheckChild1Same, 1,
38771 OPC_MoveParent,
38772 OPC_MoveSibling1,
38773 OPC_CheckImmAllOnesV,
38774 OPC_MoveParent,
38775 OPC_MoveParent,
38776 OPC_CheckType, MVT::v4i32,
38777 OPC_CheckPatternPredicate1,
38778 OPC_EmitInteger32, 44|128,2,
38779 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38780 MVT::v4i32, 4, 0, 1, 2, 3,
38781 24,
38782 OPC_CheckChild0Same, 1,
38783 OPC_CheckChild1Same, 0,
38784 OPC_MoveParent,
38785 OPC_MoveSibling1,
38786 OPC_CheckImmAllOnesV,
38787 OPC_MoveParent,
38788 OPC_MoveParent,
38789 OPC_CheckType, MVT::v4i32,
38790 OPC_CheckPatternPredicate1,
38791 OPC_EmitInteger32, 44|128,2,
38792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38793 MVT::v4i32, 4, 0, 1, 2, 3,
38794 0,
38795 58,
38796 OPC_CheckChild0Same, 1,
38797 OPC_MoveChild1,
38798 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38799 OPC_Scope, 24,
38800 OPC_CheckChild0Same, 0,
38801 OPC_CheckChild1Same, 2,
38802 OPC_MoveParent,
38803 OPC_MoveSibling1,
38804 OPC_CheckImmAllOnesV,
38805 OPC_MoveParent,
38806 OPC_MoveParent,
38807 OPC_CheckType, MVT::v4i32,
38808 OPC_CheckPatternPredicate1,
38809 OPC_EmitInteger32, 44|128,2,
38810 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38811 MVT::v4i32, 4, 0, 1, 2, 3,
38812 24,
38813 OPC_CheckChild0Same, 2,
38814 OPC_CheckChild1Same, 0,
38815 OPC_MoveParent,
38816 OPC_MoveSibling1,
38817 OPC_CheckImmAllOnesV,
38818 OPC_MoveParent,
38819 OPC_MoveParent,
38820 OPC_CheckType, MVT::v4i32,
38821 OPC_CheckPatternPredicate1,
38822 OPC_EmitInteger32, 44|128,2,
38823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38824 MVT::v4i32, 4, 0, 1, 2, 3,
38825 0,
38826 30,
38827 OPC_CheckChild0Same, 0,
38828 OPC_MoveChild1,
38829 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38830 OPC_CheckChild0Same, 2,
38831 OPC_CheckChild1Same, 1,
38832 OPC_MoveParent,
38833 OPC_MoveSibling1,
38834 OPC_CheckImmAllOnesV,
38835 OPC_MoveParent,
38836 OPC_MoveParent,
38837 OPC_CheckType, MVT::v4i32,
38838 OPC_CheckPatternPredicate1,
38839 OPC_EmitInteger32, 44|128,2,
38840 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38841 MVT::v4i32, 4, 0, 1, 2, 3,
38842 40|128,1,
38843 OPC_MoveChild0,
38844 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38845 OPC_Scope, 26,
38846 OPC_CheckChild0Same, 0,
38847 OPC_CheckChild1Same, 2,
38848 OPC_MoveParent,
38849 OPC_CheckChild1Same, 1,
38850 OPC_MoveSibling1,
38851 OPC_CheckImmAllOnesV,
38852 OPC_MoveParent,
38853 OPC_MoveParent,
38854 OPC_CheckType, MVT::v4i32,
38855 OPC_CheckPatternPredicate1,
38856 OPC_EmitInteger32, 44|128,2,
38857 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38858 MVT::v4i32, 4, 0, 2, 1, 3,
38859 26,
38860 OPC_CheckChild0Same, 2,
38861 OPC_CheckChild1Same, 0,
38862 OPC_MoveParent,
38863 OPC_CheckChild1Same, 1,
38864 OPC_MoveSibling1,
38865 OPC_CheckImmAllOnesV,
38866 OPC_MoveParent,
38867 OPC_MoveParent,
38868 OPC_CheckType, MVT::v4i32,
38869 OPC_CheckPatternPredicate1,
38870 OPC_EmitInteger32, 44|128,2,
38871 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38872 MVT::v4i32, 4, 0, 2, 1, 3,
38873 26,
38874 OPC_CheckChild0Same, 0,
38875 OPC_CheckChild1Same, 1,
38876 OPC_MoveParent,
38877 OPC_CheckChild1Same, 2,
38878 OPC_MoveSibling1,
38879 OPC_CheckImmAllOnesV,
38880 OPC_MoveParent,
38881 OPC_MoveParent,
38882 OPC_CheckType, MVT::v4i32,
38883 OPC_CheckPatternPredicate1,
38884 OPC_EmitInteger32, 44|128,2,
38885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38886 MVT::v4i32, 4, 0, 2, 1, 3,
38887 26,
38888 OPC_CheckChild0Same, 1,
38889 OPC_CheckChild1Same, 0,
38890 OPC_MoveParent,
38891 OPC_CheckChild1Same, 2,
38892 OPC_MoveSibling1,
38893 OPC_CheckImmAllOnesV,
38894 OPC_MoveParent,
38895 OPC_MoveParent,
38896 OPC_CheckType, MVT::v4i32,
38897 OPC_CheckPatternPredicate1,
38898 OPC_EmitInteger32, 44|128,2,
38899 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38900 MVT::v4i32, 4, 0, 2, 1, 3,
38901 26,
38902 OPC_CheckChild0Same, 2,
38903 OPC_CheckChild1Same, 1,
38904 OPC_MoveParent,
38905 OPC_CheckChild1Same, 0,
38906 OPC_MoveSibling1,
38907 OPC_CheckImmAllOnesV,
38908 OPC_MoveParent,
38909 OPC_MoveParent,
38910 OPC_CheckType, MVT::v4i32,
38911 OPC_CheckPatternPredicate1,
38912 OPC_EmitInteger32, 44|128,2,
38913 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38914 MVT::v4i32, 4, 0, 2, 1, 3,
38915 26,
38916 OPC_CheckChild0Same, 1,
38917 OPC_CheckChild1Same, 2,
38918 OPC_MoveParent,
38919 OPC_CheckChild1Same, 0,
38920 OPC_MoveSibling1,
38921 OPC_CheckImmAllOnesV,
38922 OPC_MoveParent,
38923 OPC_MoveParent,
38924 OPC_CheckType, MVT::v4i32,
38925 OPC_CheckPatternPredicate1,
38926 OPC_EmitInteger32, 44|128,2,
38927 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38928 MVT::v4i32, 4, 0, 2, 1, 3,
38929 0,
38930 58,
38931 OPC_CheckChild0Same, 1,
38932 OPC_MoveChild1,
38933 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38934 OPC_Scope, 24,
38935 OPC_CheckChild0Same, 0,
38936 OPC_CheckChild1Same, 2,
38937 OPC_MoveParent,
38938 OPC_MoveSibling1,
38939 OPC_CheckImmAllOnesV,
38940 OPC_MoveParent,
38941 OPC_MoveParent,
38942 OPC_CheckType, MVT::v4i32,
38943 OPC_CheckPatternPredicate1,
38944 OPC_EmitInteger32, 44|128,2,
38945 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38946 MVT::v4i32, 4, 0, 2, 1, 3,
38947 24,
38948 OPC_CheckChild0Same, 2,
38949 OPC_CheckChild1Same, 0,
38950 OPC_MoveParent,
38951 OPC_MoveSibling1,
38952 OPC_CheckImmAllOnesV,
38953 OPC_MoveParent,
38954 OPC_MoveParent,
38955 OPC_CheckType, MVT::v4i32,
38956 OPC_CheckPatternPredicate1,
38957 OPC_EmitInteger32, 44|128,2,
38958 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38959 MVT::v4i32, 4, 0, 2, 1, 3,
38960 0,
38961 58,
38962 OPC_CheckChild0Same, 2,
38963 OPC_MoveChild1,
38964 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38965 OPC_Scope, 24,
38966 OPC_CheckChild0Same, 0,
38967 OPC_CheckChild1Same, 1,
38968 OPC_MoveParent,
38969 OPC_MoveSibling1,
38970 OPC_CheckImmAllOnesV,
38971 OPC_MoveParent,
38972 OPC_MoveParent,
38973 OPC_CheckType, MVT::v4i32,
38974 OPC_CheckPatternPredicate1,
38975 OPC_EmitInteger32, 44|128,2,
38976 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38977 MVT::v4i32, 4, 0, 2, 1, 3,
38978 24,
38979 OPC_CheckChild0Same, 1,
38980 OPC_CheckChild1Same, 0,
38981 OPC_MoveParent,
38982 OPC_MoveSibling1,
38983 OPC_CheckImmAllOnesV,
38984 OPC_MoveParent,
38985 OPC_MoveParent,
38986 OPC_CheckType, MVT::v4i32,
38987 OPC_CheckPatternPredicate1,
38988 OPC_EmitInteger32, 44|128,2,
38989 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
38990 MVT::v4i32, 4, 0, 2, 1, 3,
38991 0,
38992 58,
38993 OPC_CheckChild0Same, 0,
38994 OPC_MoveChild1,
38995 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
38996 OPC_Scope, 24,
38997 OPC_CheckChild0Same, 2,
38998 OPC_CheckChild1Same, 1,
38999 OPC_MoveParent,
39000 OPC_MoveSibling1,
39001 OPC_CheckImmAllOnesV,
39002 OPC_MoveParent,
39003 OPC_MoveParent,
39004 OPC_CheckType, MVT::v4i32,
39005 OPC_CheckPatternPredicate1,
39006 OPC_EmitInteger32, 44|128,2,
39007 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39008 MVT::v4i32, 4, 0, 2, 1, 3,
39009 24,
39010 OPC_CheckChild0Same, 1,
39011 OPC_CheckChild1Same, 2,
39012 OPC_MoveParent,
39013 OPC_MoveSibling1,
39014 OPC_CheckImmAllOnesV,
39015 OPC_MoveParent,
39016 OPC_MoveParent,
39017 OPC_CheckType, MVT::v4i32,
39018 OPC_CheckPatternPredicate1,
39019 OPC_EmitInteger32, 44|128,2,
39020 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39021 MVT::v4i32, 4, 0, 2, 1, 3,
39022 0,
39023 0,
39024 48,
39025 OPC_MoveChild0,
39026 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39027 OPC_RecordChild0,
39028 OPC_MoveChild1,
39029 OPC_CheckImmAllOnesV,
39030 OPC_MoveParent,
39031 OPC_MoveParent,
39032 OPC_RecordChild1,
39033 OPC_MoveSibling1,
39034 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39035 OPC_Scope, 15,
39036 OPC_RecordChild0,
39037 OPC_CheckChild1Same, 0,
39038 OPC_MoveParent,
39039 OPC_CheckType, MVT::v4i32,
39040 OPC_CheckPatternPredicate2,
39041 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39042 MVT::v4i32, 3, 1, 2, 0,
39043 15,
39044 OPC_CheckChild0Same, 0,
39045 OPC_RecordChild1,
39046 OPC_MoveParent,
39047 OPC_CheckType, MVT::v4i32,
39048 OPC_CheckPatternPredicate2,
39049 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39050 MVT::v4i32, 3, 1, 2, 0,
39051 0,
39052 27|128,1,
39053 OPC_RecordChild0,
39054 OPC_Scope, 47,
39055 OPC_MoveChild1,
39056 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39057 OPC_RecordChild0,
39058 OPC_MoveChild1,
39059 OPC_CheckImmAllOnesV,
39060 OPC_MoveParent,
39061 OPC_MoveParent,
39062 OPC_MoveSibling1,
39063 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39064 OPC_Scope, 15,
39065 OPC_RecordChild0,
39066 OPC_CheckChild1Same, 1,
39067 OPC_MoveParent,
39068 OPC_CheckType, MVT::v4i32,
39069 OPC_CheckPatternPredicate2,
39070 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39071 MVT::v4i32, 3, 0, 2, 1,
39072 15,
39073 OPC_CheckChild0Same, 1,
39074 OPC_RecordChild1,
39075 OPC_MoveParent,
39076 OPC_CheckType, MVT::v4i32,
39077 OPC_CheckPatternPredicate2,
39078 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39079 MVT::v4i32, 3, 0, 2, 1,
39080 0,
39081 103,
39082 OPC_RecordChild1,
39083 OPC_MoveSibling1,
39084 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39085 OPC_Scope, 23,
39086 OPC_MoveChild0,
39087 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39088 OPC_CheckChild0Same, 1,
39089 OPC_MoveChild1,
39090 OPC_CheckImmAllOnesV,
39091 OPC_MoveParent,
39092 OPC_MoveParent,
39093 OPC_RecordChild1,
39094 OPC_MoveParent,
39095 OPC_CheckType, MVT::v4i32,
39096 OPC_CheckPatternPredicate2,
39097 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39098 MVT::v4i32, 3, 2, 0, 1,
39099 23,
39100 OPC_RecordChild0,
39101 OPC_MoveChild1,
39102 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39103 OPC_CheckChild0Same, 1,
39104 OPC_MoveChild1,
39105 OPC_CheckImmAllOnesV,
39106 OPC_MoveParent,
39107 OPC_MoveParent,
39108 OPC_MoveParent,
39109 OPC_CheckType, MVT::v4i32,
39110 OPC_CheckPatternPredicate2,
39111 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39112 MVT::v4i32, 3, 2, 0, 1,
39113 23,
39114 OPC_MoveChild0,
39115 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39116 OPC_CheckChild0Same, 0,
39117 OPC_MoveChild1,
39118 OPC_CheckImmAllOnesV,
39119 OPC_MoveParent,
39120 OPC_MoveParent,
39121 OPC_RecordChild1,
39122 OPC_MoveParent,
39123 OPC_CheckType, MVT::v4i32,
39124 OPC_CheckPatternPredicate2,
39125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39126 MVT::v4i32, 3, 2, 1, 0,
39127 23,
39128 OPC_RecordChild0,
39129 OPC_MoveChild1,
39130 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
39131 OPC_CheckChild0Same, 0,
39132 OPC_MoveChild1,
39133 OPC_CheckImmAllOnesV,
39134 OPC_MoveParent,
39135 OPC_MoveParent,
39136 OPC_MoveParent,
39137 OPC_CheckType, MVT::v4i32,
39138 OPC_CheckPatternPredicate2,
39139 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
39140 MVT::v4i32, 3, 2, 1, 0,
39141 0,
39142 0,
39143 0,
39144 11|128,30, TARGET_VAL(ISD::XOR),
39145 OPC_Scope, 64|128,29,
39146 OPC_MoveChild0,
39147 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
39148 OPC_Scope, 91|128,14,
39149 OPC_MoveChild0,
39150 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
39151 OPC_RecordChild0,
39152 OPC_RecordChild1,
39153 OPC_MoveParent,
39154 OPC_RecordChild1,
39155 OPC_MoveSibling1,
39156 OPC_CheckImmAllOnesV,
39157 OPC_MoveParent,
39158 OPC_MoveSibling1,
39159 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39160 OPC_Scope, 22|128,1,
39161 OPC_MoveChild0,
39162 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39163 OPC_Scope, 23,
39164 OPC_CheckChild0Same, 0,
39165 OPC_CheckChild1Same, 1,
39166 OPC_MoveParent,
39167 OPC_CheckChild1Same, 2,
39168 OPC_MoveParent,
39169 OPC_CheckType, MVT::v4i32,
39170 OPC_CheckPatternPredicate1,
39171 OPC_EmitInteger32, 44|128,2,
39172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39173 MVT::v4i32, 4, 0, 1, 2, 3,
39174 23,
39175 OPC_CheckChild0Same, 1,
39176 OPC_CheckChild1Same, 0,
39177 OPC_MoveParent,
39178 OPC_CheckChild1Same, 2,
39179 OPC_MoveParent,
39180 OPC_CheckType, MVT::v4i32,
39181 OPC_CheckPatternPredicate1,
39182 OPC_EmitInteger32, 44|128,2,
39183 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39184 MVT::v4i32, 4, 0, 1, 2, 3,
39185 23,
39186 OPC_CheckChild0Same, 0,
39187 OPC_CheckChild1Same, 2,
39188 OPC_MoveParent,
39189 OPC_CheckChild1Same, 1,
39190 OPC_MoveParent,
39191 OPC_CheckType, MVT::v4i32,
39192 OPC_CheckPatternPredicate1,
39193 OPC_EmitInteger32, 44|128,2,
39194 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39195 MVT::v4i32, 4, 0, 1, 2, 3,
39196 23,
39197 OPC_CheckChild0Same, 2,
39198 OPC_CheckChild1Same, 0,
39199 OPC_MoveParent,
39200 OPC_CheckChild1Same, 1,
39201 OPC_MoveParent,
39202 OPC_CheckType, MVT::v4i32,
39203 OPC_CheckPatternPredicate1,
39204 OPC_EmitInteger32, 44|128,2,
39205 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39206 MVT::v4i32, 4, 0, 1, 2, 3,
39207 23,
39208 OPC_CheckChild0Same, 1,
39209 OPC_CheckChild1Same, 2,
39210 OPC_MoveParent,
39211 OPC_CheckChild1Same, 0,
39212 OPC_MoveParent,
39213 OPC_CheckType, MVT::v4i32,
39214 OPC_CheckPatternPredicate1,
39215 OPC_EmitInteger32, 44|128,2,
39216 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39217 MVT::v4i32, 4, 0, 1, 2, 3,
39218 23,
39219 OPC_CheckChild0Same, 2,
39220 OPC_CheckChild1Same, 1,
39221 OPC_MoveParent,
39222 OPC_CheckChild1Same, 0,
39223 OPC_MoveParent,
39224 OPC_CheckType, MVT::v4i32,
39225 OPC_CheckPatternPredicate1,
39226 OPC_EmitInteger32, 44|128,2,
39227 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39228 MVT::v4i32, 4, 0, 1, 2, 3,
39229 0,
39230 52,
39231 OPC_CheckChild0Same, 2,
39232 OPC_MoveChild1,
39233 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39234 OPC_Scope, 21,
39235 OPC_CheckChild0Same, 0,
39236 OPC_CheckChild1Same, 1,
39237 OPC_MoveParent,
39238 OPC_MoveParent,
39239 OPC_CheckType, MVT::v4i32,
39240 OPC_CheckPatternPredicate1,
39241 OPC_EmitInteger32, 44|128,2,
39242 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39243 MVT::v4i32, 4, 0, 1, 2, 3,
39244 21,
39245 OPC_CheckChild0Same, 1,
39246 OPC_CheckChild1Same, 0,
39247 OPC_MoveParent,
39248 OPC_MoveParent,
39249 OPC_CheckType, MVT::v4i32,
39250 OPC_CheckPatternPredicate1,
39251 OPC_EmitInteger32, 44|128,2,
39252 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39253 MVT::v4i32, 4, 0, 1, 2, 3,
39254 0,
39255 52,
39256 OPC_CheckChild0Same, 1,
39257 OPC_MoveChild1,
39258 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39259 OPC_Scope, 21,
39260 OPC_CheckChild0Same, 0,
39261 OPC_CheckChild1Same, 2,
39262 OPC_MoveParent,
39263 OPC_MoveParent,
39264 OPC_CheckType, MVT::v4i32,
39265 OPC_CheckPatternPredicate1,
39266 OPC_EmitInteger32, 44|128,2,
39267 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39268 MVT::v4i32, 4, 0, 1, 2, 3,
39269 21,
39270 OPC_CheckChild0Same, 2,
39271 OPC_CheckChild1Same, 0,
39272 OPC_MoveParent,
39273 OPC_MoveParent,
39274 OPC_CheckType, MVT::v4i32,
39275 OPC_CheckPatternPredicate1,
39276 OPC_EmitInteger32, 44|128,2,
39277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39278 MVT::v4i32, 4, 0, 1, 2, 3,
39279 0,
39280 52,
39281 OPC_CheckChild0Same, 0,
39282 OPC_MoveChild1,
39283 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39284 OPC_Scope, 21,
39285 OPC_CheckChild0Same, 1,
39286 OPC_CheckChild1Same, 2,
39287 OPC_MoveParent,
39288 OPC_MoveParent,
39289 OPC_CheckType, MVT::v4i32,
39290 OPC_CheckPatternPredicate1,
39291 OPC_EmitInteger32, 44|128,2,
39292 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39293 MVT::v4i32, 4, 0, 1, 2, 3,
39294 21,
39295 OPC_CheckChild0Same, 2,
39296 OPC_CheckChild1Same, 1,
39297 OPC_MoveParent,
39298 OPC_MoveParent,
39299 OPC_CheckType, MVT::v4i32,
39300 OPC_CheckPatternPredicate1,
39301 OPC_EmitInteger32, 44|128,2,
39302 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39303 MVT::v4i32, 4, 0, 1, 2, 3,
39304 0,
39305 22|128,1,
39306 OPC_MoveChild0,
39307 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39308 OPC_Scope, 23,
39309 OPC_CheckChild0Same, 1,
39310 OPC_CheckChild1Same, 0,
39311 OPC_MoveParent,
39312 OPC_CheckChild1Same, 2,
39313 OPC_MoveParent,
39314 OPC_CheckType, MVT::v4i32,
39315 OPC_CheckPatternPredicate1,
39316 OPC_EmitInteger32, 44|128,2,
39317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39318 MVT::v4i32, 4, 1, 0, 2, 3,
39319 23,
39320 OPC_CheckChild0Same, 0,
39321 OPC_CheckChild1Same, 1,
39322 OPC_MoveParent,
39323 OPC_CheckChild1Same, 2,
39324 OPC_MoveParent,
39325 OPC_CheckType, MVT::v4i32,
39326 OPC_CheckPatternPredicate1,
39327 OPC_EmitInteger32, 44|128,2,
39328 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39329 MVT::v4i32, 4, 1, 0, 2, 3,
39330 23,
39331 OPC_CheckChild0Same, 1,
39332 OPC_CheckChild1Same, 2,
39333 OPC_MoveParent,
39334 OPC_CheckChild1Same, 0,
39335 OPC_MoveParent,
39336 OPC_CheckType, MVT::v4i32,
39337 OPC_CheckPatternPredicate1,
39338 OPC_EmitInteger32, 44|128,2,
39339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39340 MVT::v4i32, 4, 1, 0, 2, 3,
39341 23,
39342 OPC_CheckChild0Same, 2,
39343 OPC_CheckChild1Same, 1,
39344 OPC_MoveParent,
39345 OPC_CheckChild1Same, 0,
39346 OPC_MoveParent,
39347 OPC_CheckType, MVT::v4i32,
39348 OPC_CheckPatternPredicate1,
39349 OPC_EmitInteger32, 44|128,2,
39350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39351 MVT::v4i32, 4, 1, 0, 2, 3,
39352 23,
39353 OPC_CheckChild0Same, 0,
39354 OPC_CheckChild1Same, 2,
39355 OPC_MoveParent,
39356 OPC_CheckChild1Same, 1,
39357 OPC_MoveParent,
39358 OPC_CheckType, MVT::v4i32,
39359 OPC_CheckPatternPredicate1,
39360 OPC_EmitInteger32, 44|128,2,
39361 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39362 MVT::v4i32, 4, 1, 0, 2, 3,
39363 23,
39364 OPC_CheckChild0Same, 2,
39365 OPC_CheckChild1Same, 0,
39366 OPC_MoveParent,
39367 OPC_CheckChild1Same, 1,
39368 OPC_MoveParent,
39369 OPC_CheckType, MVT::v4i32,
39370 OPC_CheckPatternPredicate1,
39371 OPC_EmitInteger32, 44|128,2,
39372 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39373 MVT::v4i32, 4, 1, 0, 2, 3,
39374 0,
39375 52,
39376 OPC_CheckChild0Same, 2,
39377 OPC_MoveChild1,
39378 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39379 OPC_Scope, 21,
39380 OPC_CheckChild0Same, 1,
39381 OPC_CheckChild1Same, 0,
39382 OPC_MoveParent,
39383 OPC_MoveParent,
39384 OPC_CheckType, MVT::v4i32,
39385 OPC_CheckPatternPredicate1,
39386 OPC_EmitInteger32, 44|128,2,
39387 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39388 MVT::v4i32, 4, 1, 0, 2, 3,
39389 21,
39390 OPC_CheckChild0Same, 0,
39391 OPC_CheckChild1Same, 1,
39392 OPC_MoveParent,
39393 OPC_MoveParent,
39394 OPC_CheckType, MVT::v4i32,
39395 OPC_CheckPatternPredicate1,
39396 OPC_EmitInteger32, 44|128,2,
39397 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39398 MVT::v4i32, 4, 1, 0, 2, 3,
39399 0,
39400 52,
39401 OPC_CheckChild0Same, 0,
39402 OPC_MoveChild1,
39403 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39404 OPC_Scope, 21,
39405 OPC_CheckChild0Same, 1,
39406 OPC_CheckChild1Same, 2,
39407 OPC_MoveParent,
39408 OPC_MoveParent,
39409 OPC_CheckType, MVT::v4i32,
39410 OPC_CheckPatternPredicate1,
39411 OPC_EmitInteger32, 44|128,2,
39412 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39413 MVT::v4i32, 4, 1, 0, 2, 3,
39414 21,
39415 OPC_CheckChild0Same, 2,
39416 OPC_CheckChild1Same, 1,
39417 OPC_MoveParent,
39418 OPC_MoveParent,
39419 OPC_CheckType, MVT::v4i32,
39420 OPC_CheckPatternPredicate1,
39421 OPC_EmitInteger32, 44|128,2,
39422 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39423 MVT::v4i32, 4, 1, 0, 2, 3,
39424 0,
39425 52,
39426 OPC_CheckChild0Same, 1,
39427 OPC_MoveChild1,
39428 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39429 OPC_Scope, 21,
39430 OPC_CheckChild0Same, 0,
39431 OPC_CheckChild1Same, 2,
39432 OPC_MoveParent,
39433 OPC_MoveParent,
39434 OPC_CheckType, MVT::v4i32,
39435 OPC_CheckPatternPredicate1,
39436 OPC_EmitInteger32, 44|128,2,
39437 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39438 MVT::v4i32, 4, 1, 0, 2, 3,
39439 21,
39440 OPC_CheckChild0Same, 2,
39441 OPC_CheckChild1Same, 0,
39442 OPC_MoveParent,
39443 OPC_MoveParent,
39444 OPC_CheckType, MVT::v4i32,
39445 OPC_CheckPatternPredicate1,
39446 OPC_EmitInteger32, 44|128,2,
39447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39448 MVT::v4i32, 4, 1, 0, 2, 3,
39449 0,
39450 22|128,1,
39451 OPC_MoveChild0,
39452 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39453 OPC_Scope, 23,
39454 OPC_CheckChild0Same, 0,
39455 OPC_CheckChild1Same, 2,
39456 OPC_MoveParent,
39457 OPC_CheckChild1Same, 1,
39458 OPC_MoveParent,
39459 OPC_CheckType, MVT::v4i32,
39460 OPC_CheckPatternPredicate1,
39461 OPC_EmitInteger32, 44|128,2,
39462 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39463 MVT::v4i32, 4, 0, 2, 1, 3,
39464 23,
39465 OPC_CheckChild0Same, 2,
39466 OPC_CheckChild1Same, 0,
39467 OPC_MoveParent,
39468 OPC_CheckChild1Same, 1,
39469 OPC_MoveParent,
39470 OPC_CheckType, MVT::v4i32,
39471 OPC_CheckPatternPredicate1,
39472 OPC_EmitInteger32, 44|128,2,
39473 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39474 MVT::v4i32, 4, 0, 2, 1, 3,
39475 23,
39476 OPC_CheckChild0Same, 0,
39477 OPC_CheckChild1Same, 1,
39478 OPC_MoveParent,
39479 OPC_CheckChild1Same, 2,
39480 OPC_MoveParent,
39481 OPC_CheckType, MVT::v4i32,
39482 OPC_CheckPatternPredicate1,
39483 OPC_EmitInteger32, 44|128,2,
39484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39485 MVT::v4i32, 4, 0, 2, 1, 3,
39486 23,
39487 OPC_CheckChild0Same, 1,
39488 OPC_CheckChild1Same, 0,
39489 OPC_MoveParent,
39490 OPC_CheckChild1Same, 2,
39491 OPC_MoveParent,
39492 OPC_CheckType, MVT::v4i32,
39493 OPC_CheckPatternPredicate1,
39494 OPC_EmitInteger32, 44|128,2,
39495 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39496 MVT::v4i32, 4, 0, 2, 1, 3,
39497 23,
39498 OPC_CheckChild0Same, 2,
39499 OPC_CheckChild1Same, 1,
39500 OPC_MoveParent,
39501 OPC_CheckChild1Same, 0,
39502 OPC_MoveParent,
39503 OPC_CheckType, MVT::v4i32,
39504 OPC_CheckPatternPredicate1,
39505 OPC_EmitInteger32, 44|128,2,
39506 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39507 MVT::v4i32, 4, 0, 2, 1, 3,
39508 23,
39509 OPC_CheckChild0Same, 1,
39510 OPC_CheckChild1Same, 2,
39511 OPC_MoveParent,
39512 OPC_CheckChild1Same, 0,
39513 OPC_MoveParent,
39514 OPC_CheckType, MVT::v4i32,
39515 OPC_CheckPatternPredicate1,
39516 OPC_EmitInteger32, 44|128,2,
39517 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39518 MVT::v4i32, 4, 0, 2, 1, 3,
39519 0,
39520 52,
39521 OPC_CheckChild0Same, 1,
39522 OPC_MoveChild1,
39523 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39524 OPC_Scope, 21,
39525 OPC_CheckChild0Same, 0,
39526 OPC_CheckChild1Same, 2,
39527 OPC_MoveParent,
39528 OPC_MoveParent,
39529 OPC_CheckType, MVT::v4i32,
39530 OPC_CheckPatternPredicate1,
39531 OPC_EmitInteger32, 44|128,2,
39532 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39533 MVT::v4i32, 4, 0, 2, 1, 3,
39534 21,
39535 OPC_CheckChild0Same, 2,
39536 OPC_CheckChild1Same, 0,
39537 OPC_MoveParent,
39538 OPC_MoveParent,
39539 OPC_CheckType, MVT::v4i32,
39540 OPC_CheckPatternPredicate1,
39541 OPC_EmitInteger32, 44|128,2,
39542 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39543 MVT::v4i32, 4, 0, 2, 1, 3,
39544 0,
39545 52,
39546 OPC_CheckChild0Same, 2,
39547 OPC_MoveChild1,
39548 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39549 OPC_Scope, 21,
39550 OPC_CheckChild0Same, 0,
39551 OPC_CheckChild1Same, 1,
39552 OPC_MoveParent,
39553 OPC_MoveParent,
39554 OPC_CheckType, MVT::v4i32,
39555 OPC_CheckPatternPredicate1,
39556 OPC_EmitInteger32, 44|128,2,
39557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39558 MVT::v4i32, 4, 0, 2, 1, 3,
39559 21,
39560 OPC_CheckChild0Same, 1,
39561 OPC_CheckChild1Same, 0,
39562 OPC_MoveParent,
39563 OPC_MoveParent,
39564 OPC_CheckType, MVT::v4i32,
39565 OPC_CheckPatternPredicate1,
39566 OPC_EmitInteger32, 44|128,2,
39567 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39568 MVT::v4i32, 4, 0, 2, 1, 3,
39569 0,
39570 52,
39571 OPC_CheckChild0Same, 0,
39572 OPC_MoveChild1,
39573 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39574 OPC_Scope, 21,
39575 OPC_CheckChild0Same, 2,
39576 OPC_CheckChild1Same, 1,
39577 OPC_MoveParent,
39578 OPC_MoveParent,
39579 OPC_CheckType, MVT::v4i32,
39580 OPC_CheckPatternPredicate1,
39581 OPC_EmitInteger32, 44|128,2,
39582 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39583 MVT::v4i32, 4, 0, 2, 1, 3,
39584 21,
39585 OPC_CheckChild0Same, 1,
39586 OPC_CheckChild1Same, 2,
39587 OPC_MoveParent,
39588 OPC_MoveParent,
39589 OPC_CheckType, MVT::v4i32,
39590 OPC_CheckPatternPredicate1,
39591 OPC_EmitInteger32, 44|128,2,
39592 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39593 MVT::v4i32, 4, 0, 2, 1, 3,
39594 0,
39595 22|128,1,
39596 OPC_MoveChild0,
39597 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39598 OPC_Scope, 23,
39599 OPC_CheckChild0Same, 1,
39600 OPC_CheckChild1Same, 2,
39601 OPC_MoveParent,
39602 OPC_CheckChild1Same, 0,
39603 OPC_MoveParent,
39604 OPC_CheckType, MVT::v4i32,
39605 OPC_CheckPatternPredicate1,
39606 OPC_EmitInteger32, 44|128,2,
39607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39608 MVT::v4i32, 4, 1, 2, 0, 3,
39609 23,
39610 OPC_CheckChild0Same, 2,
39611 OPC_CheckChild1Same, 1,
39612 OPC_MoveParent,
39613 OPC_CheckChild1Same, 0,
39614 OPC_MoveParent,
39615 OPC_CheckType, MVT::v4i32,
39616 OPC_CheckPatternPredicate1,
39617 OPC_EmitInteger32, 44|128,2,
39618 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39619 MVT::v4i32, 4, 1, 2, 0, 3,
39620 23,
39621 OPC_CheckChild0Same, 1,
39622 OPC_CheckChild1Same, 0,
39623 OPC_MoveParent,
39624 OPC_CheckChild1Same, 2,
39625 OPC_MoveParent,
39626 OPC_CheckType, MVT::v4i32,
39627 OPC_CheckPatternPredicate1,
39628 OPC_EmitInteger32, 44|128,2,
39629 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39630 MVT::v4i32, 4, 1, 2, 0, 3,
39631 23,
39632 OPC_CheckChild0Same, 0,
39633 OPC_CheckChild1Same, 1,
39634 OPC_MoveParent,
39635 OPC_CheckChild1Same, 2,
39636 OPC_MoveParent,
39637 OPC_CheckType, MVT::v4i32,
39638 OPC_CheckPatternPredicate1,
39639 OPC_EmitInteger32, 44|128,2,
39640 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39641 MVT::v4i32, 4, 1, 2, 0, 3,
39642 23,
39643 OPC_CheckChild0Same, 2,
39644 OPC_CheckChild1Same, 0,
39645 OPC_MoveParent,
39646 OPC_CheckChild1Same, 1,
39647 OPC_MoveParent,
39648 OPC_CheckType, MVT::v4i32,
39649 OPC_CheckPatternPredicate1,
39650 OPC_EmitInteger32, 44|128,2,
39651 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39652 MVT::v4i32, 4, 1, 2, 0, 3,
39653 23,
39654 OPC_CheckChild0Same, 0,
39655 OPC_CheckChild1Same, 2,
39656 OPC_MoveParent,
39657 OPC_CheckChild1Same, 1,
39658 OPC_MoveParent,
39659 OPC_CheckType, MVT::v4i32,
39660 OPC_CheckPatternPredicate1,
39661 OPC_EmitInteger32, 44|128,2,
39662 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39663 MVT::v4i32, 4, 1, 2, 0, 3,
39664 0,
39665 52,
39666 OPC_CheckChild0Same, 0,
39667 OPC_MoveChild1,
39668 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39669 OPC_Scope, 21,
39670 OPC_CheckChild0Same, 1,
39671 OPC_CheckChild1Same, 2,
39672 OPC_MoveParent,
39673 OPC_MoveParent,
39674 OPC_CheckType, MVT::v4i32,
39675 OPC_CheckPatternPredicate1,
39676 OPC_EmitInteger32, 44|128,2,
39677 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39678 MVT::v4i32, 4, 1, 2, 0, 3,
39679 21,
39680 OPC_CheckChild0Same, 2,
39681 OPC_CheckChild1Same, 1,
39682 OPC_MoveParent,
39683 OPC_MoveParent,
39684 OPC_CheckType, MVT::v4i32,
39685 OPC_CheckPatternPredicate1,
39686 OPC_EmitInteger32, 44|128,2,
39687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39688 MVT::v4i32, 4, 1, 2, 0, 3,
39689 0,
39690 52,
39691 OPC_CheckChild0Same, 2,
39692 OPC_MoveChild1,
39693 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39694 OPC_Scope, 21,
39695 OPC_CheckChild0Same, 1,
39696 OPC_CheckChild1Same, 0,
39697 OPC_MoveParent,
39698 OPC_MoveParent,
39699 OPC_CheckType, MVT::v4i32,
39700 OPC_CheckPatternPredicate1,
39701 OPC_EmitInteger32, 44|128,2,
39702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39703 MVT::v4i32, 4, 1, 2, 0, 3,
39704 21,
39705 OPC_CheckChild0Same, 0,
39706 OPC_CheckChild1Same, 1,
39707 OPC_MoveParent,
39708 OPC_MoveParent,
39709 OPC_CheckType, MVT::v4i32,
39710 OPC_CheckPatternPredicate1,
39711 OPC_EmitInteger32, 44|128,2,
39712 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39713 MVT::v4i32, 4, 1, 2, 0, 3,
39714 0,
39715 52,
39716 OPC_CheckChild0Same, 1,
39717 OPC_MoveChild1,
39718 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39719 OPC_Scope, 21,
39720 OPC_CheckChild0Same, 2,
39721 OPC_CheckChild1Same, 0,
39722 OPC_MoveParent,
39723 OPC_MoveParent,
39724 OPC_CheckType, MVT::v4i32,
39725 OPC_CheckPatternPredicate1,
39726 OPC_EmitInteger32, 44|128,2,
39727 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39728 MVT::v4i32, 4, 1, 2, 0, 3,
39729 21,
39730 OPC_CheckChild0Same, 0,
39731 OPC_CheckChild1Same, 2,
39732 OPC_MoveParent,
39733 OPC_MoveParent,
39734 OPC_CheckType, MVT::v4i32,
39735 OPC_CheckPatternPredicate1,
39736 OPC_EmitInteger32, 44|128,2,
39737 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39738 MVT::v4i32, 4, 1, 2, 0, 3,
39739 0,
39740 22|128,1,
39741 OPC_MoveChild0,
39742 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39743 OPC_Scope, 23,
39744 OPC_CheckChild0Same, 2,
39745 OPC_CheckChild1Same, 0,
39746 OPC_MoveParent,
39747 OPC_CheckChild1Same, 1,
39748 OPC_MoveParent,
39749 OPC_CheckType, MVT::v4i32,
39750 OPC_CheckPatternPredicate1,
39751 OPC_EmitInteger32, 44|128,2,
39752 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39753 MVT::v4i32, 4, 2, 0, 1, 3,
39754 23,
39755 OPC_CheckChild0Same, 0,
39756 OPC_CheckChild1Same, 2,
39757 OPC_MoveParent,
39758 OPC_CheckChild1Same, 1,
39759 OPC_MoveParent,
39760 OPC_CheckType, MVT::v4i32,
39761 OPC_CheckPatternPredicate1,
39762 OPC_EmitInteger32, 44|128,2,
39763 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39764 MVT::v4i32, 4, 2, 0, 1, 3,
39765 23,
39766 OPC_CheckChild0Same, 2,
39767 OPC_CheckChild1Same, 1,
39768 OPC_MoveParent,
39769 OPC_CheckChild1Same, 0,
39770 OPC_MoveParent,
39771 OPC_CheckType, MVT::v4i32,
39772 OPC_CheckPatternPredicate1,
39773 OPC_EmitInteger32, 44|128,2,
39774 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39775 MVT::v4i32, 4, 2, 0, 1, 3,
39776 23,
39777 OPC_CheckChild0Same, 1,
39778 OPC_CheckChild1Same, 2,
39779 OPC_MoveParent,
39780 OPC_CheckChild1Same, 0,
39781 OPC_MoveParent,
39782 OPC_CheckType, MVT::v4i32,
39783 OPC_CheckPatternPredicate1,
39784 OPC_EmitInteger32, 44|128,2,
39785 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39786 MVT::v4i32, 4, 2, 0, 1, 3,
39787 23,
39788 OPC_CheckChild0Same, 0,
39789 OPC_CheckChild1Same, 1,
39790 OPC_MoveParent,
39791 OPC_CheckChild1Same, 2,
39792 OPC_MoveParent,
39793 OPC_CheckType, MVT::v4i32,
39794 OPC_CheckPatternPredicate1,
39795 OPC_EmitInteger32, 44|128,2,
39796 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39797 MVT::v4i32, 4, 2, 0, 1, 3,
39798 23,
39799 OPC_CheckChild0Same, 1,
39800 OPC_CheckChild1Same, 0,
39801 OPC_MoveParent,
39802 OPC_CheckChild1Same, 2,
39803 OPC_MoveParent,
39804 OPC_CheckType, MVT::v4i32,
39805 OPC_CheckPatternPredicate1,
39806 OPC_EmitInteger32, 44|128,2,
39807 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39808 MVT::v4i32, 4, 2, 0, 1, 3,
39809 0,
39810 52,
39811 OPC_CheckChild0Same, 1,
39812 OPC_MoveChild1,
39813 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39814 OPC_Scope, 21,
39815 OPC_CheckChild0Same, 2,
39816 OPC_CheckChild1Same, 0,
39817 OPC_MoveParent,
39818 OPC_MoveParent,
39819 OPC_CheckType, MVT::v4i32,
39820 OPC_CheckPatternPredicate1,
39821 OPC_EmitInteger32, 44|128,2,
39822 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39823 MVT::v4i32, 4, 2, 0, 1, 3,
39824 21,
39825 OPC_CheckChild0Same, 0,
39826 OPC_CheckChild1Same, 2,
39827 OPC_MoveParent,
39828 OPC_MoveParent,
39829 OPC_CheckType, MVT::v4i32,
39830 OPC_CheckPatternPredicate1,
39831 OPC_EmitInteger32, 44|128,2,
39832 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39833 MVT::v4i32, 4, 2, 0, 1, 3,
39834 0,
39835 52,
39836 OPC_CheckChild0Same, 0,
39837 OPC_MoveChild1,
39838 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39839 OPC_Scope, 21,
39840 OPC_CheckChild0Same, 2,
39841 OPC_CheckChild1Same, 1,
39842 OPC_MoveParent,
39843 OPC_MoveParent,
39844 OPC_CheckType, MVT::v4i32,
39845 OPC_CheckPatternPredicate1,
39846 OPC_EmitInteger32, 44|128,2,
39847 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39848 MVT::v4i32, 4, 2, 0, 1, 3,
39849 21,
39850 OPC_CheckChild0Same, 1,
39851 OPC_CheckChild1Same, 2,
39852 OPC_MoveParent,
39853 OPC_MoveParent,
39854 OPC_CheckType, MVT::v4i32,
39855 OPC_CheckPatternPredicate1,
39856 OPC_EmitInteger32, 44|128,2,
39857 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39858 MVT::v4i32, 4, 2, 0, 1, 3,
39859 0,
39860 52,
39861 OPC_CheckChild0Same, 2,
39862 OPC_MoveChild1,
39863 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39864 OPC_Scope, 21,
39865 OPC_CheckChild0Same, 0,
39866 OPC_CheckChild1Same, 1,
39867 OPC_MoveParent,
39868 OPC_MoveParent,
39869 OPC_CheckType, MVT::v4i32,
39870 OPC_CheckPatternPredicate1,
39871 OPC_EmitInteger32, 44|128,2,
39872 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39873 MVT::v4i32, 4, 2, 0, 1, 3,
39874 21,
39875 OPC_CheckChild0Same, 1,
39876 OPC_CheckChild1Same, 0,
39877 OPC_MoveParent,
39878 OPC_MoveParent,
39879 OPC_CheckType, MVT::v4i32,
39880 OPC_CheckPatternPredicate1,
39881 OPC_EmitInteger32, 44|128,2,
39882 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39883 MVT::v4i32, 4, 2, 0, 1, 3,
39884 0,
39885 22|128,1,
39886 OPC_MoveChild0,
39887 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39888 OPC_Scope, 23,
39889 OPC_CheckChild0Same, 2,
39890 OPC_CheckChild1Same, 1,
39891 OPC_MoveParent,
39892 OPC_CheckChild1Same, 0,
39893 OPC_MoveParent,
39894 OPC_CheckType, MVT::v4i32,
39895 OPC_CheckPatternPredicate1,
39896 OPC_EmitInteger32, 44|128,2,
39897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39898 MVT::v4i32, 4, 2, 1, 0, 3,
39899 23,
39900 OPC_CheckChild0Same, 1,
39901 OPC_CheckChild1Same, 2,
39902 OPC_MoveParent,
39903 OPC_CheckChild1Same, 0,
39904 OPC_MoveParent,
39905 OPC_CheckType, MVT::v4i32,
39906 OPC_CheckPatternPredicate1,
39907 OPC_EmitInteger32, 44|128,2,
39908 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39909 MVT::v4i32, 4, 2, 1, 0, 3,
39910 23,
39911 OPC_CheckChild0Same, 2,
39912 OPC_CheckChild1Same, 0,
39913 OPC_MoveParent,
39914 OPC_CheckChild1Same, 1,
39915 OPC_MoveParent,
39916 OPC_CheckType, MVT::v4i32,
39917 OPC_CheckPatternPredicate1,
39918 OPC_EmitInteger32, 44|128,2,
39919 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39920 MVT::v4i32, 4, 2, 1, 0, 3,
39921 23,
39922 OPC_CheckChild0Same, 0,
39923 OPC_CheckChild1Same, 2,
39924 OPC_MoveParent,
39925 OPC_CheckChild1Same, 1,
39926 OPC_MoveParent,
39927 OPC_CheckType, MVT::v4i32,
39928 OPC_CheckPatternPredicate1,
39929 OPC_EmitInteger32, 44|128,2,
39930 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39931 MVT::v4i32, 4, 2, 1, 0, 3,
39932 23,
39933 OPC_CheckChild0Same, 1,
39934 OPC_CheckChild1Same, 0,
39935 OPC_MoveParent,
39936 OPC_CheckChild1Same, 2,
39937 OPC_MoveParent,
39938 OPC_CheckType, MVT::v4i32,
39939 OPC_CheckPatternPredicate1,
39940 OPC_EmitInteger32, 44|128,2,
39941 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39942 MVT::v4i32, 4, 2, 1, 0, 3,
39943 23,
39944 OPC_CheckChild0Same, 0,
39945 OPC_CheckChild1Same, 1,
39946 OPC_MoveParent,
39947 OPC_CheckChild1Same, 2,
39948 OPC_MoveParent,
39949 OPC_CheckType, MVT::v4i32,
39950 OPC_CheckPatternPredicate1,
39951 OPC_EmitInteger32, 44|128,2,
39952 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39953 MVT::v4i32, 4, 2, 1, 0, 3,
39954 0,
39955 52,
39956 OPC_CheckChild0Same, 0,
39957 OPC_MoveChild1,
39958 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39959 OPC_Scope, 21,
39960 OPC_CheckChild0Same, 2,
39961 OPC_CheckChild1Same, 1,
39962 OPC_MoveParent,
39963 OPC_MoveParent,
39964 OPC_CheckType, MVT::v4i32,
39965 OPC_CheckPatternPredicate1,
39966 OPC_EmitInteger32, 44|128,2,
39967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39968 MVT::v4i32, 4, 2, 1, 0, 3,
39969 21,
39970 OPC_CheckChild0Same, 1,
39971 OPC_CheckChild1Same, 2,
39972 OPC_MoveParent,
39973 OPC_MoveParent,
39974 OPC_CheckType, MVT::v4i32,
39975 OPC_CheckPatternPredicate1,
39976 OPC_EmitInteger32, 44|128,2,
39977 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39978 MVT::v4i32, 4, 2, 1, 0, 3,
39979 0,
39980 52,
39981 OPC_CheckChild0Same, 1,
39982 OPC_MoveChild1,
39983 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
39984 OPC_Scope, 21,
39985 OPC_CheckChild0Same, 2,
39986 OPC_CheckChild1Same, 0,
39987 OPC_MoveParent,
39988 OPC_MoveParent,
39989 OPC_CheckType, MVT::v4i32,
39990 OPC_CheckPatternPredicate1,
39991 OPC_EmitInteger32, 44|128,2,
39992 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
39993 MVT::v4i32, 4, 2, 1, 0, 3,
39994 21,
39995 OPC_CheckChild0Same, 0,
39996 OPC_CheckChild1Same, 2,
39997 OPC_MoveParent,
39998 OPC_MoveParent,
39999 OPC_CheckType, MVT::v4i32,
40000 OPC_CheckPatternPredicate1,
40001 OPC_EmitInteger32, 44|128,2,
40002 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40003 MVT::v4i32, 4, 2, 1, 0, 3,
40004 0,
40005 52,
40006 OPC_CheckChild0Same, 2,
40007 OPC_MoveChild1,
40008 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40009 OPC_Scope, 21,
40010 OPC_CheckChild0Same, 1,
40011 OPC_CheckChild1Same, 0,
40012 OPC_MoveParent,
40013 OPC_MoveParent,
40014 OPC_CheckType, MVT::v4i32,
40015 OPC_CheckPatternPredicate1,
40016 OPC_EmitInteger32, 44|128,2,
40017 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40018 MVT::v4i32, 4, 2, 1, 0, 3,
40019 21,
40020 OPC_CheckChild0Same, 0,
40021 OPC_CheckChild1Same, 1,
40022 OPC_MoveParent,
40023 OPC_MoveParent,
40024 OPC_CheckType, MVT::v4i32,
40025 OPC_CheckPatternPredicate1,
40026 OPC_EmitInteger32, 44|128,2,
40027 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40028 MVT::v4i32, 4, 2, 1, 0, 3,
40029 0,
40030 0,
40031 91|128,14,
40032 OPC_RecordChild0,
40033 OPC_MoveChild1,
40034 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
40035 OPC_RecordChild0,
40036 OPC_RecordChild1,
40037 OPC_MoveParent,
40038 OPC_MoveSibling1,
40039 OPC_CheckImmAllOnesV,
40040 OPC_MoveParent,
40041 OPC_MoveSibling1,
40042 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40043 OPC_Scope, 22|128,1,
40044 OPC_MoveChild0,
40045 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40046 OPC_Scope, 23,
40047 OPC_CheckChild0Same, 1,
40048 OPC_CheckChild1Same, 2,
40049 OPC_MoveParent,
40050 OPC_CheckChild1Same, 0,
40051 OPC_MoveParent,
40052 OPC_CheckType, MVT::v4i32,
40053 OPC_CheckPatternPredicate1,
40054 OPC_EmitInteger32, 44|128,2,
40055 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40056 MVT::v4i32, 4, 1, 2, 0, 3,
40057 23,
40058 OPC_CheckChild0Same, 2,
40059 OPC_CheckChild1Same, 1,
40060 OPC_MoveParent,
40061 OPC_CheckChild1Same, 0,
40062 OPC_MoveParent,
40063 OPC_CheckType, MVT::v4i32,
40064 OPC_CheckPatternPredicate1,
40065 OPC_EmitInteger32, 44|128,2,
40066 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40067 MVT::v4i32, 4, 1, 2, 0, 3,
40068 23,
40069 OPC_CheckChild0Same, 1,
40070 OPC_CheckChild1Same, 0,
40071 OPC_MoveParent,
40072 OPC_CheckChild1Same, 2,
40073 OPC_MoveParent,
40074 OPC_CheckType, MVT::v4i32,
40075 OPC_CheckPatternPredicate1,
40076 OPC_EmitInteger32, 44|128,2,
40077 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40078 MVT::v4i32, 4, 1, 2, 0, 3,
40079 23,
40080 OPC_CheckChild0Same, 0,
40081 OPC_CheckChild1Same, 1,
40082 OPC_MoveParent,
40083 OPC_CheckChild1Same, 2,
40084 OPC_MoveParent,
40085 OPC_CheckType, MVT::v4i32,
40086 OPC_CheckPatternPredicate1,
40087 OPC_EmitInteger32, 44|128,2,
40088 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40089 MVT::v4i32, 4, 1, 2, 0, 3,
40090 23,
40091 OPC_CheckChild0Same, 2,
40092 OPC_CheckChild1Same, 0,
40093 OPC_MoveParent,
40094 OPC_CheckChild1Same, 1,
40095 OPC_MoveParent,
40096 OPC_CheckType, MVT::v4i32,
40097 OPC_CheckPatternPredicate1,
40098 OPC_EmitInteger32, 44|128,2,
40099 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40100 MVT::v4i32, 4, 1, 2, 0, 3,
40101 23,
40102 OPC_CheckChild0Same, 0,
40103 OPC_CheckChild1Same, 2,
40104 OPC_MoveParent,
40105 OPC_CheckChild1Same, 1,
40106 OPC_MoveParent,
40107 OPC_CheckType, MVT::v4i32,
40108 OPC_CheckPatternPredicate1,
40109 OPC_EmitInteger32, 44|128,2,
40110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40111 MVT::v4i32, 4, 1, 2, 0, 3,
40112 0,
40113 52,
40114 OPC_CheckChild0Same, 0,
40115 OPC_MoveChild1,
40116 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40117 OPC_Scope, 21,
40118 OPC_CheckChild0Same, 1,
40119 OPC_CheckChild1Same, 2,
40120 OPC_MoveParent,
40121 OPC_MoveParent,
40122 OPC_CheckType, MVT::v4i32,
40123 OPC_CheckPatternPredicate1,
40124 OPC_EmitInteger32, 44|128,2,
40125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40126 MVT::v4i32, 4, 1, 2, 0, 3,
40127 21,
40128 OPC_CheckChild0Same, 2,
40129 OPC_CheckChild1Same, 1,
40130 OPC_MoveParent,
40131 OPC_MoveParent,
40132 OPC_CheckType, MVT::v4i32,
40133 OPC_CheckPatternPredicate1,
40134 OPC_EmitInteger32, 44|128,2,
40135 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40136 MVT::v4i32, 4, 1, 2, 0, 3,
40137 0,
40138 52,
40139 OPC_CheckChild0Same, 2,
40140 OPC_MoveChild1,
40141 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40142 OPC_Scope, 21,
40143 OPC_CheckChild0Same, 1,
40144 OPC_CheckChild1Same, 0,
40145 OPC_MoveParent,
40146 OPC_MoveParent,
40147 OPC_CheckType, MVT::v4i32,
40148 OPC_CheckPatternPredicate1,
40149 OPC_EmitInteger32, 44|128,2,
40150 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40151 MVT::v4i32, 4, 1, 2, 0, 3,
40152 21,
40153 OPC_CheckChild0Same, 0,
40154 OPC_CheckChild1Same, 1,
40155 OPC_MoveParent,
40156 OPC_MoveParent,
40157 OPC_CheckType, MVT::v4i32,
40158 OPC_CheckPatternPredicate1,
40159 OPC_EmitInteger32, 44|128,2,
40160 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40161 MVT::v4i32, 4, 1, 2, 0, 3,
40162 0,
40163 52,
40164 OPC_CheckChild0Same, 1,
40165 OPC_MoveChild1,
40166 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40167 OPC_Scope, 21,
40168 OPC_CheckChild0Same, 2,
40169 OPC_CheckChild1Same, 0,
40170 OPC_MoveParent,
40171 OPC_MoveParent,
40172 OPC_CheckType, MVT::v4i32,
40173 OPC_CheckPatternPredicate1,
40174 OPC_EmitInteger32, 44|128,2,
40175 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40176 MVT::v4i32, 4, 1, 2, 0, 3,
40177 21,
40178 OPC_CheckChild0Same, 0,
40179 OPC_CheckChild1Same, 2,
40180 OPC_MoveParent,
40181 OPC_MoveParent,
40182 OPC_CheckType, MVT::v4i32,
40183 OPC_CheckPatternPredicate1,
40184 OPC_EmitInteger32, 44|128,2,
40185 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40186 MVT::v4i32, 4, 1, 2, 0, 3,
40187 0,
40188 22|128,1,
40189 OPC_MoveChild0,
40190 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40191 OPC_Scope, 23,
40192 OPC_CheckChild0Same, 2,
40193 OPC_CheckChild1Same, 1,
40194 OPC_MoveParent,
40195 OPC_CheckChild1Same, 0,
40196 OPC_MoveParent,
40197 OPC_CheckType, MVT::v4i32,
40198 OPC_CheckPatternPredicate1,
40199 OPC_EmitInteger32, 44|128,2,
40200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40201 MVT::v4i32, 4, 2, 1, 0, 3,
40202 23,
40203 OPC_CheckChild0Same, 1,
40204 OPC_CheckChild1Same, 2,
40205 OPC_MoveParent,
40206 OPC_CheckChild1Same, 0,
40207 OPC_MoveParent,
40208 OPC_CheckType, MVT::v4i32,
40209 OPC_CheckPatternPredicate1,
40210 OPC_EmitInteger32, 44|128,2,
40211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40212 MVT::v4i32, 4, 2, 1, 0, 3,
40213 23,
40214 OPC_CheckChild0Same, 2,
40215 OPC_CheckChild1Same, 0,
40216 OPC_MoveParent,
40217 OPC_CheckChild1Same, 1,
40218 OPC_MoveParent,
40219 OPC_CheckType, MVT::v4i32,
40220 OPC_CheckPatternPredicate1,
40221 OPC_EmitInteger32, 44|128,2,
40222 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40223 MVT::v4i32, 4, 2, 1, 0, 3,
40224 23,
40225 OPC_CheckChild0Same, 0,
40226 OPC_CheckChild1Same, 2,
40227 OPC_MoveParent,
40228 OPC_CheckChild1Same, 1,
40229 OPC_MoveParent,
40230 OPC_CheckType, MVT::v4i32,
40231 OPC_CheckPatternPredicate1,
40232 OPC_EmitInteger32, 44|128,2,
40233 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40234 MVT::v4i32, 4, 2, 1, 0, 3,
40235 23,
40236 OPC_CheckChild0Same, 1,
40237 OPC_CheckChild1Same, 0,
40238 OPC_MoveParent,
40239 OPC_CheckChild1Same, 2,
40240 OPC_MoveParent,
40241 OPC_CheckType, MVT::v4i32,
40242 OPC_CheckPatternPredicate1,
40243 OPC_EmitInteger32, 44|128,2,
40244 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40245 MVT::v4i32, 4, 2, 1, 0, 3,
40246 23,
40247 OPC_CheckChild0Same, 0,
40248 OPC_CheckChild1Same, 1,
40249 OPC_MoveParent,
40250 OPC_CheckChild1Same, 2,
40251 OPC_MoveParent,
40252 OPC_CheckType, MVT::v4i32,
40253 OPC_CheckPatternPredicate1,
40254 OPC_EmitInteger32, 44|128,2,
40255 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40256 MVT::v4i32, 4, 2, 1, 0, 3,
40257 0,
40258 52,
40259 OPC_CheckChild0Same, 0,
40260 OPC_MoveChild1,
40261 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40262 OPC_Scope, 21,
40263 OPC_CheckChild0Same, 2,
40264 OPC_CheckChild1Same, 1,
40265 OPC_MoveParent,
40266 OPC_MoveParent,
40267 OPC_CheckType, MVT::v4i32,
40268 OPC_CheckPatternPredicate1,
40269 OPC_EmitInteger32, 44|128,2,
40270 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40271 MVT::v4i32, 4, 2, 1, 0, 3,
40272 21,
40273 OPC_CheckChild0Same, 1,
40274 OPC_CheckChild1Same, 2,
40275 OPC_MoveParent,
40276 OPC_MoveParent,
40277 OPC_CheckType, MVT::v4i32,
40278 OPC_CheckPatternPredicate1,
40279 OPC_EmitInteger32, 44|128,2,
40280 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40281 MVT::v4i32, 4, 2, 1, 0, 3,
40282 0,
40283 52,
40284 OPC_CheckChild0Same, 1,
40285 OPC_MoveChild1,
40286 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40287 OPC_Scope, 21,
40288 OPC_CheckChild0Same, 2,
40289 OPC_CheckChild1Same, 0,
40290 OPC_MoveParent,
40291 OPC_MoveParent,
40292 OPC_CheckType, MVT::v4i32,
40293 OPC_CheckPatternPredicate1,
40294 OPC_EmitInteger32, 44|128,2,
40295 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40296 MVT::v4i32, 4, 2, 1, 0, 3,
40297 21,
40298 OPC_CheckChild0Same, 0,
40299 OPC_CheckChild1Same, 2,
40300 OPC_MoveParent,
40301 OPC_MoveParent,
40302 OPC_CheckType, MVT::v4i32,
40303 OPC_CheckPatternPredicate1,
40304 OPC_EmitInteger32, 44|128,2,
40305 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40306 MVT::v4i32, 4, 2, 1, 0, 3,
40307 0,
40308 52,
40309 OPC_CheckChild0Same, 2,
40310 OPC_MoveChild1,
40311 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40312 OPC_Scope, 21,
40313 OPC_CheckChild0Same, 1,
40314 OPC_CheckChild1Same, 0,
40315 OPC_MoveParent,
40316 OPC_MoveParent,
40317 OPC_CheckType, MVT::v4i32,
40318 OPC_CheckPatternPredicate1,
40319 OPC_EmitInteger32, 44|128,2,
40320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40321 MVT::v4i32, 4, 2, 1, 0, 3,
40322 21,
40323 OPC_CheckChild0Same, 0,
40324 OPC_CheckChild1Same, 1,
40325 OPC_MoveParent,
40326 OPC_MoveParent,
40327 OPC_CheckType, MVT::v4i32,
40328 OPC_CheckPatternPredicate1,
40329 OPC_EmitInteger32, 44|128,2,
40330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40331 MVT::v4i32, 4, 2, 1, 0, 3,
40332 0,
40333 22|128,1,
40334 OPC_MoveChild0,
40335 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40336 OPC_Scope, 23,
40337 OPC_CheckChild0Same, 1,
40338 OPC_CheckChild1Same, 0,
40339 OPC_MoveParent,
40340 OPC_CheckChild1Same, 2,
40341 OPC_MoveParent,
40342 OPC_CheckType, MVT::v4i32,
40343 OPC_CheckPatternPredicate1,
40344 OPC_EmitInteger32, 44|128,2,
40345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40346 MVT::v4i32, 4, 1, 0, 2, 3,
40347 23,
40348 OPC_CheckChild0Same, 0,
40349 OPC_CheckChild1Same, 1,
40350 OPC_MoveParent,
40351 OPC_CheckChild1Same, 2,
40352 OPC_MoveParent,
40353 OPC_CheckType, MVT::v4i32,
40354 OPC_CheckPatternPredicate1,
40355 OPC_EmitInteger32, 44|128,2,
40356 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40357 MVT::v4i32, 4, 1, 0, 2, 3,
40358 23,
40359 OPC_CheckChild0Same, 1,
40360 OPC_CheckChild1Same, 2,
40361 OPC_MoveParent,
40362 OPC_CheckChild1Same, 0,
40363 OPC_MoveParent,
40364 OPC_CheckType, MVT::v4i32,
40365 OPC_CheckPatternPredicate1,
40366 OPC_EmitInteger32, 44|128,2,
40367 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40368 MVT::v4i32, 4, 1, 0, 2, 3,
40369 23,
40370 OPC_CheckChild0Same, 2,
40371 OPC_CheckChild1Same, 1,
40372 OPC_MoveParent,
40373 OPC_CheckChild1Same, 0,
40374 OPC_MoveParent,
40375 OPC_CheckType, MVT::v4i32,
40376 OPC_CheckPatternPredicate1,
40377 OPC_EmitInteger32, 44|128,2,
40378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40379 MVT::v4i32, 4, 1, 0, 2, 3,
40380 23,
40381 OPC_CheckChild0Same, 0,
40382 OPC_CheckChild1Same, 2,
40383 OPC_MoveParent,
40384 OPC_CheckChild1Same, 1,
40385 OPC_MoveParent,
40386 OPC_CheckType, MVT::v4i32,
40387 OPC_CheckPatternPredicate1,
40388 OPC_EmitInteger32, 44|128,2,
40389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40390 MVT::v4i32, 4, 1, 0, 2, 3,
40391 23,
40392 OPC_CheckChild0Same, 2,
40393 OPC_CheckChild1Same, 0,
40394 OPC_MoveParent,
40395 OPC_CheckChild1Same, 1,
40396 OPC_MoveParent,
40397 OPC_CheckType, MVT::v4i32,
40398 OPC_CheckPatternPredicate1,
40399 OPC_EmitInteger32, 44|128,2,
40400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40401 MVT::v4i32, 4, 1, 0, 2, 3,
40402 0,
40403 52,
40404 OPC_CheckChild0Same, 2,
40405 OPC_MoveChild1,
40406 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40407 OPC_Scope, 21,
40408 OPC_CheckChild0Same, 1,
40409 OPC_CheckChild1Same, 0,
40410 OPC_MoveParent,
40411 OPC_MoveParent,
40412 OPC_CheckType, MVT::v4i32,
40413 OPC_CheckPatternPredicate1,
40414 OPC_EmitInteger32, 44|128,2,
40415 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40416 MVT::v4i32, 4, 1, 0, 2, 3,
40417 21,
40418 OPC_CheckChild0Same, 0,
40419 OPC_CheckChild1Same, 1,
40420 OPC_MoveParent,
40421 OPC_MoveParent,
40422 OPC_CheckType, MVT::v4i32,
40423 OPC_CheckPatternPredicate1,
40424 OPC_EmitInteger32, 44|128,2,
40425 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40426 MVT::v4i32, 4, 1, 0, 2, 3,
40427 0,
40428 52,
40429 OPC_CheckChild0Same, 0,
40430 OPC_MoveChild1,
40431 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40432 OPC_Scope, 21,
40433 OPC_CheckChild0Same, 1,
40434 OPC_CheckChild1Same, 2,
40435 OPC_MoveParent,
40436 OPC_MoveParent,
40437 OPC_CheckType, MVT::v4i32,
40438 OPC_CheckPatternPredicate1,
40439 OPC_EmitInteger32, 44|128,2,
40440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40441 MVT::v4i32, 4, 1, 0, 2, 3,
40442 21,
40443 OPC_CheckChild0Same, 2,
40444 OPC_CheckChild1Same, 1,
40445 OPC_MoveParent,
40446 OPC_MoveParent,
40447 OPC_CheckType, MVT::v4i32,
40448 OPC_CheckPatternPredicate1,
40449 OPC_EmitInteger32, 44|128,2,
40450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40451 MVT::v4i32, 4, 1, 0, 2, 3,
40452 0,
40453 52,
40454 OPC_CheckChild0Same, 1,
40455 OPC_MoveChild1,
40456 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40457 OPC_Scope, 21,
40458 OPC_CheckChild0Same, 0,
40459 OPC_CheckChild1Same, 2,
40460 OPC_MoveParent,
40461 OPC_MoveParent,
40462 OPC_CheckType, MVT::v4i32,
40463 OPC_CheckPatternPredicate1,
40464 OPC_EmitInteger32, 44|128,2,
40465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40466 MVT::v4i32, 4, 1, 0, 2, 3,
40467 21,
40468 OPC_CheckChild0Same, 2,
40469 OPC_CheckChild1Same, 0,
40470 OPC_MoveParent,
40471 OPC_MoveParent,
40472 OPC_CheckType, MVT::v4i32,
40473 OPC_CheckPatternPredicate1,
40474 OPC_EmitInteger32, 44|128,2,
40475 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40476 MVT::v4i32, 4, 1, 0, 2, 3,
40477 0,
40478 22|128,1,
40479 OPC_MoveChild0,
40480 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40481 OPC_Scope, 23,
40482 OPC_CheckChild0Same, 2,
40483 OPC_CheckChild1Same, 0,
40484 OPC_MoveParent,
40485 OPC_CheckChild1Same, 1,
40486 OPC_MoveParent,
40487 OPC_CheckType, MVT::v4i32,
40488 OPC_CheckPatternPredicate1,
40489 OPC_EmitInteger32, 44|128,2,
40490 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40491 MVT::v4i32, 4, 2, 0, 1, 3,
40492 23,
40493 OPC_CheckChild0Same, 0,
40494 OPC_CheckChild1Same, 2,
40495 OPC_MoveParent,
40496 OPC_CheckChild1Same, 1,
40497 OPC_MoveParent,
40498 OPC_CheckType, MVT::v4i32,
40499 OPC_CheckPatternPredicate1,
40500 OPC_EmitInteger32, 44|128,2,
40501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40502 MVT::v4i32, 4, 2, 0, 1, 3,
40503 23,
40504 OPC_CheckChild0Same, 2,
40505 OPC_CheckChild1Same, 1,
40506 OPC_MoveParent,
40507 OPC_CheckChild1Same, 0,
40508 OPC_MoveParent,
40509 OPC_CheckType, MVT::v4i32,
40510 OPC_CheckPatternPredicate1,
40511 OPC_EmitInteger32, 44|128,2,
40512 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40513 MVT::v4i32, 4, 2, 0, 1, 3,
40514 23,
40515 OPC_CheckChild0Same, 1,
40516 OPC_CheckChild1Same, 2,
40517 OPC_MoveParent,
40518 OPC_CheckChild1Same, 0,
40519 OPC_MoveParent,
40520 OPC_CheckType, MVT::v4i32,
40521 OPC_CheckPatternPredicate1,
40522 OPC_EmitInteger32, 44|128,2,
40523 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40524 MVT::v4i32, 4, 2, 0, 1, 3,
40525 23,
40526 OPC_CheckChild0Same, 0,
40527 OPC_CheckChild1Same, 1,
40528 OPC_MoveParent,
40529 OPC_CheckChild1Same, 2,
40530 OPC_MoveParent,
40531 OPC_CheckType, MVT::v4i32,
40532 OPC_CheckPatternPredicate1,
40533 OPC_EmitInteger32, 44|128,2,
40534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40535 MVT::v4i32, 4, 2, 0, 1, 3,
40536 23,
40537 OPC_CheckChild0Same, 1,
40538 OPC_CheckChild1Same, 0,
40539 OPC_MoveParent,
40540 OPC_CheckChild1Same, 2,
40541 OPC_MoveParent,
40542 OPC_CheckType, MVT::v4i32,
40543 OPC_CheckPatternPredicate1,
40544 OPC_EmitInteger32, 44|128,2,
40545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40546 MVT::v4i32, 4, 2, 0, 1, 3,
40547 0,
40548 52,
40549 OPC_CheckChild0Same, 1,
40550 OPC_MoveChild1,
40551 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40552 OPC_Scope, 21,
40553 OPC_CheckChild0Same, 2,
40554 OPC_CheckChild1Same, 0,
40555 OPC_MoveParent,
40556 OPC_MoveParent,
40557 OPC_CheckType, MVT::v4i32,
40558 OPC_CheckPatternPredicate1,
40559 OPC_EmitInteger32, 44|128,2,
40560 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40561 MVT::v4i32, 4, 2, 0, 1, 3,
40562 21,
40563 OPC_CheckChild0Same, 0,
40564 OPC_CheckChild1Same, 2,
40565 OPC_MoveParent,
40566 OPC_MoveParent,
40567 OPC_CheckType, MVT::v4i32,
40568 OPC_CheckPatternPredicate1,
40569 OPC_EmitInteger32, 44|128,2,
40570 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40571 MVT::v4i32, 4, 2, 0, 1, 3,
40572 0,
40573 52,
40574 OPC_CheckChild0Same, 0,
40575 OPC_MoveChild1,
40576 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40577 OPC_Scope, 21,
40578 OPC_CheckChild0Same, 2,
40579 OPC_CheckChild1Same, 1,
40580 OPC_MoveParent,
40581 OPC_MoveParent,
40582 OPC_CheckType, MVT::v4i32,
40583 OPC_CheckPatternPredicate1,
40584 OPC_EmitInteger32, 44|128,2,
40585 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40586 MVT::v4i32, 4, 2, 0, 1, 3,
40587 21,
40588 OPC_CheckChild0Same, 1,
40589 OPC_CheckChild1Same, 2,
40590 OPC_MoveParent,
40591 OPC_MoveParent,
40592 OPC_CheckType, MVT::v4i32,
40593 OPC_CheckPatternPredicate1,
40594 OPC_EmitInteger32, 44|128,2,
40595 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40596 MVT::v4i32, 4, 2, 0, 1, 3,
40597 0,
40598 52,
40599 OPC_CheckChild0Same, 2,
40600 OPC_MoveChild1,
40601 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40602 OPC_Scope, 21,
40603 OPC_CheckChild0Same, 0,
40604 OPC_CheckChild1Same, 1,
40605 OPC_MoveParent,
40606 OPC_MoveParent,
40607 OPC_CheckType, MVT::v4i32,
40608 OPC_CheckPatternPredicate1,
40609 OPC_EmitInteger32, 44|128,2,
40610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40611 MVT::v4i32, 4, 2, 0, 1, 3,
40612 21,
40613 OPC_CheckChild0Same, 1,
40614 OPC_CheckChild1Same, 0,
40615 OPC_MoveParent,
40616 OPC_MoveParent,
40617 OPC_CheckType, MVT::v4i32,
40618 OPC_CheckPatternPredicate1,
40619 OPC_EmitInteger32, 44|128,2,
40620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40621 MVT::v4i32, 4, 2, 0, 1, 3,
40622 0,
40623 22|128,1,
40624 OPC_MoveChild0,
40625 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40626 OPC_Scope, 23,
40627 OPC_CheckChild0Same, 0,
40628 OPC_CheckChild1Same, 1,
40629 OPC_MoveParent,
40630 OPC_CheckChild1Same, 2,
40631 OPC_MoveParent,
40632 OPC_CheckType, MVT::v4i32,
40633 OPC_CheckPatternPredicate1,
40634 OPC_EmitInteger32, 44|128,2,
40635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40636 MVT::v4i32, 4, 0, 1, 2, 3,
40637 23,
40638 OPC_CheckChild0Same, 1,
40639 OPC_CheckChild1Same, 0,
40640 OPC_MoveParent,
40641 OPC_CheckChild1Same, 2,
40642 OPC_MoveParent,
40643 OPC_CheckType, MVT::v4i32,
40644 OPC_CheckPatternPredicate1,
40645 OPC_EmitInteger32, 44|128,2,
40646 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40647 MVT::v4i32, 4, 0, 1, 2, 3,
40648 23,
40649 OPC_CheckChild0Same, 0,
40650 OPC_CheckChild1Same, 2,
40651 OPC_MoveParent,
40652 OPC_CheckChild1Same, 1,
40653 OPC_MoveParent,
40654 OPC_CheckType, MVT::v4i32,
40655 OPC_CheckPatternPredicate1,
40656 OPC_EmitInteger32, 44|128,2,
40657 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40658 MVT::v4i32, 4, 0, 1, 2, 3,
40659 23,
40660 OPC_CheckChild0Same, 2,
40661 OPC_CheckChild1Same, 0,
40662 OPC_MoveParent,
40663 OPC_CheckChild1Same, 1,
40664 OPC_MoveParent,
40665 OPC_CheckType, MVT::v4i32,
40666 OPC_CheckPatternPredicate1,
40667 OPC_EmitInteger32, 44|128,2,
40668 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40669 MVT::v4i32, 4, 0, 1, 2, 3,
40670 23,
40671 OPC_CheckChild0Same, 1,
40672 OPC_CheckChild1Same, 2,
40673 OPC_MoveParent,
40674 OPC_CheckChild1Same, 0,
40675 OPC_MoveParent,
40676 OPC_CheckType, MVT::v4i32,
40677 OPC_CheckPatternPredicate1,
40678 OPC_EmitInteger32, 44|128,2,
40679 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40680 MVT::v4i32, 4, 0, 1, 2, 3,
40681 23,
40682 OPC_CheckChild0Same, 2,
40683 OPC_CheckChild1Same, 1,
40684 OPC_MoveParent,
40685 OPC_CheckChild1Same, 0,
40686 OPC_MoveParent,
40687 OPC_CheckType, MVT::v4i32,
40688 OPC_CheckPatternPredicate1,
40689 OPC_EmitInteger32, 44|128,2,
40690 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40691 MVT::v4i32, 4, 0, 1, 2, 3,
40692 0,
40693 52,
40694 OPC_CheckChild0Same, 2,
40695 OPC_MoveChild1,
40696 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40697 OPC_Scope, 21,
40698 OPC_CheckChild0Same, 0,
40699 OPC_CheckChild1Same, 1,
40700 OPC_MoveParent,
40701 OPC_MoveParent,
40702 OPC_CheckType, MVT::v4i32,
40703 OPC_CheckPatternPredicate1,
40704 OPC_EmitInteger32, 44|128,2,
40705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40706 MVT::v4i32, 4, 0, 1, 2, 3,
40707 21,
40708 OPC_CheckChild0Same, 1,
40709 OPC_CheckChild1Same, 0,
40710 OPC_MoveParent,
40711 OPC_MoveParent,
40712 OPC_CheckType, MVT::v4i32,
40713 OPC_CheckPatternPredicate1,
40714 OPC_EmitInteger32, 44|128,2,
40715 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40716 MVT::v4i32, 4, 0, 1, 2, 3,
40717 0,
40718 52,
40719 OPC_CheckChild0Same, 1,
40720 OPC_MoveChild1,
40721 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40722 OPC_Scope, 21,
40723 OPC_CheckChild0Same, 0,
40724 OPC_CheckChild1Same, 2,
40725 OPC_MoveParent,
40726 OPC_MoveParent,
40727 OPC_CheckType, MVT::v4i32,
40728 OPC_CheckPatternPredicate1,
40729 OPC_EmitInteger32, 44|128,2,
40730 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40731 MVT::v4i32, 4, 0, 1, 2, 3,
40732 21,
40733 OPC_CheckChild0Same, 2,
40734 OPC_CheckChild1Same, 0,
40735 OPC_MoveParent,
40736 OPC_MoveParent,
40737 OPC_CheckType, MVT::v4i32,
40738 OPC_CheckPatternPredicate1,
40739 OPC_EmitInteger32, 44|128,2,
40740 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40741 MVT::v4i32, 4, 0, 1, 2, 3,
40742 0,
40743 52,
40744 OPC_CheckChild0Same, 0,
40745 OPC_MoveChild1,
40746 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40747 OPC_Scope, 21,
40748 OPC_CheckChild0Same, 1,
40749 OPC_CheckChild1Same, 2,
40750 OPC_MoveParent,
40751 OPC_MoveParent,
40752 OPC_CheckType, MVT::v4i32,
40753 OPC_CheckPatternPredicate1,
40754 OPC_EmitInteger32, 44|128,2,
40755 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40756 MVT::v4i32, 4, 0, 1, 2, 3,
40757 21,
40758 OPC_CheckChild0Same, 2,
40759 OPC_CheckChild1Same, 1,
40760 OPC_MoveParent,
40761 OPC_MoveParent,
40762 OPC_CheckType, MVT::v4i32,
40763 OPC_CheckPatternPredicate1,
40764 OPC_EmitInteger32, 44|128,2,
40765 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40766 MVT::v4i32, 4, 0, 1, 2, 3,
40767 0,
40768 22|128,1,
40769 OPC_MoveChild0,
40770 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40771 OPC_Scope, 23,
40772 OPC_CheckChild0Same, 0,
40773 OPC_CheckChild1Same, 2,
40774 OPC_MoveParent,
40775 OPC_CheckChild1Same, 1,
40776 OPC_MoveParent,
40777 OPC_CheckType, MVT::v4i32,
40778 OPC_CheckPatternPredicate1,
40779 OPC_EmitInteger32, 44|128,2,
40780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40781 MVT::v4i32, 4, 0, 2, 1, 3,
40782 23,
40783 OPC_CheckChild0Same, 2,
40784 OPC_CheckChild1Same, 0,
40785 OPC_MoveParent,
40786 OPC_CheckChild1Same, 1,
40787 OPC_MoveParent,
40788 OPC_CheckType, MVT::v4i32,
40789 OPC_CheckPatternPredicate1,
40790 OPC_EmitInteger32, 44|128,2,
40791 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40792 MVT::v4i32, 4, 0, 2, 1, 3,
40793 23,
40794 OPC_CheckChild0Same, 0,
40795 OPC_CheckChild1Same, 1,
40796 OPC_MoveParent,
40797 OPC_CheckChild1Same, 2,
40798 OPC_MoveParent,
40799 OPC_CheckType, MVT::v4i32,
40800 OPC_CheckPatternPredicate1,
40801 OPC_EmitInteger32, 44|128,2,
40802 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40803 MVT::v4i32, 4, 0, 2, 1, 3,
40804 23,
40805 OPC_CheckChild0Same, 1,
40806 OPC_CheckChild1Same, 0,
40807 OPC_MoveParent,
40808 OPC_CheckChild1Same, 2,
40809 OPC_MoveParent,
40810 OPC_CheckType, MVT::v4i32,
40811 OPC_CheckPatternPredicate1,
40812 OPC_EmitInteger32, 44|128,2,
40813 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40814 MVT::v4i32, 4, 0, 2, 1, 3,
40815 23,
40816 OPC_CheckChild0Same, 2,
40817 OPC_CheckChild1Same, 1,
40818 OPC_MoveParent,
40819 OPC_CheckChild1Same, 0,
40820 OPC_MoveParent,
40821 OPC_CheckType, MVT::v4i32,
40822 OPC_CheckPatternPredicate1,
40823 OPC_EmitInteger32, 44|128,2,
40824 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40825 MVT::v4i32, 4, 0, 2, 1, 3,
40826 23,
40827 OPC_CheckChild0Same, 1,
40828 OPC_CheckChild1Same, 2,
40829 OPC_MoveParent,
40830 OPC_CheckChild1Same, 0,
40831 OPC_MoveParent,
40832 OPC_CheckType, MVT::v4i32,
40833 OPC_CheckPatternPredicate1,
40834 OPC_EmitInteger32, 44|128,2,
40835 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40836 MVT::v4i32, 4, 0, 2, 1, 3,
40837 0,
40838 52,
40839 OPC_CheckChild0Same, 1,
40840 OPC_MoveChild1,
40841 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40842 OPC_Scope, 21,
40843 OPC_CheckChild0Same, 0,
40844 OPC_CheckChild1Same, 2,
40845 OPC_MoveParent,
40846 OPC_MoveParent,
40847 OPC_CheckType, MVT::v4i32,
40848 OPC_CheckPatternPredicate1,
40849 OPC_EmitInteger32, 44|128,2,
40850 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40851 MVT::v4i32, 4, 0, 2, 1, 3,
40852 21,
40853 OPC_CheckChild0Same, 2,
40854 OPC_CheckChild1Same, 0,
40855 OPC_MoveParent,
40856 OPC_MoveParent,
40857 OPC_CheckType, MVT::v4i32,
40858 OPC_CheckPatternPredicate1,
40859 OPC_EmitInteger32, 44|128,2,
40860 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40861 MVT::v4i32, 4, 0, 2, 1, 3,
40862 0,
40863 52,
40864 OPC_CheckChild0Same, 2,
40865 OPC_MoveChild1,
40866 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40867 OPC_Scope, 21,
40868 OPC_CheckChild0Same, 0,
40869 OPC_CheckChild1Same, 1,
40870 OPC_MoveParent,
40871 OPC_MoveParent,
40872 OPC_CheckType, MVT::v4i32,
40873 OPC_CheckPatternPredicate1,
40874 OPC_EmitInteger32, 44|128,2,
40875 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40876 MVT::v4i32, 4, 0, 2, 1, 3,
40877 21,
40878 OPC_CheckChild0Same, 1,
40879 OPC_CheckChild1Same, 0,
40880 OPC_MoveParent,
40881 OPC_MoveParent,
40882 OPC_CheckType, MVT::v4i32,
40883 OPC_CheckPatternPredicate1,
40884 OPC_EmitInteger32, 44|128,2,
40885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40886 MVT::v4i32, 4, 0, 2, 1, 3,
40887 0,
40888 52,
40889 OPC_CheckChild0Same, 0,
40890 OPC_MoveChild1,
40891 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
40892 OPC_Scope, 21,
40893 OPC_CheckChild0Same, 2,
40894 OPC_CheckChild1Same, 1,
40895 OPC_MoveParent,
40896 OPC_MoveParent,
40897 OPC_CheckType, MVT::v4i32,
40898 OPC_CheckPatternPredicate1,
40899 OPC_EmitInteger32, 44|128,2,
40900 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40901 MVT::v4i32, 4, 0, 2, 1, 3,
40902 21,
40903 OPC_CheckChild0Same, 1,
40904 OPC_CheckChild1Same, 2,
40905 OPC_MoveParent,
40906 OPC_MoveParent,
40907 OPC_CheckType, MVT::v4i32,
40908 OPC_CheckPatternPredicate1,
40909 OPC_EmitInteger32, 44|128,2,
40910 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40911 MVT::v4i32, 4, 0, 2, 1, 3,
40912 0,
40913 0,
40914 0,
40915 70,
40916 OPC_RecordChild0,
40917 OPC_MoveChild1,
40918 OPC_CheckImmAllOnesV,
40919 OPC_MoveParent,
40920 OPC_MoveSibling1,
40921 OPC_SwitchOpcode , 18, TARGET_VAL(ISD::OR),
40922 OPC_RecordChild0,
40923 OPC_RecordChild1,
40924 OPC_MoveParent,
40925 OPC_CheckType, MVT::v4i32,
40926 OPC_CheckPatternPredicate1,
40927 OPC_EmitInteger32, 110|128,3,
40928 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40929 MVT::v4i32, 4, 0, 1, 2, 3,
40930 18, TARGET_VAL(ISD::XOR),
40931 OPC_RecordChild0,
40932 OPC_RecordChild1,
40933 OPC_MoveParent,
40934 OPC_CheckType, MVT::v4i32,
40935 OPC_CheckPatternPredicate1,
40936 OPC_EmitInteger32, 108|128,3,
40937 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40938 MVT::v4i32, 4, 0, 1, 2, 3,
40939 18, TARGET_VAL(ISD::AND),
40940 OPC_RecordChild0,
40941 OPC_RecordChild1,
40942 OPC_MoveParent,
40943 OPC_CheckType, MVT::v4i32,
40944 OPC_CheckPatternPredicate1,
40945 OPC_EmitInteger32, 98|128,3,
40946 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40947 MVT::v4i32, 4, 0, 1, 2, 3,
40948 0,
40949 0,
40950 0,
40951 80,
40952 OPC_RecordChild0,
40953 OPC_MoveChild1,
40954 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
40955 OPC_MoveChild0,
40956 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::XOR),
40957 OPC_RecordChild0,
40958 OPC_RecordChild1,
40959 OPC_MoveSibling1,
40960 OPC_CheckImmAllOnesV,
40961 OPC_MoveParent,
40962 OPC_MoveParent,
40963 OPC_CheckType, MVT::v4i32,
40964 OPC_CheckPatternPredicate1,
40965 OPC_EmitInteger32, 62|128,2,
40966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40967 MVT::v4i32, 4, 0, 1, 2, 3,
40968 21, TARGET_VAL(ISD::AND),
40969 OPC_RecordChild0,
40970 OPC_RecordChild1,
40971 OPC_MoveSibling1,
40972 OPC_CheckImmAllOnesV,
40973 OPC_MoveParent,
40974 OPC_MoveParent,
40975 OPC_CheckType, MVT::v4i32,
40976 OPC_CheckPatternPredicate1,
40977 OPC_EmitInteger32, 94|128,3,
40978 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40979 MVT::v4i32, 4, 0, 1, 2, 3,
40980 21, TARGET_VAL(ISD::OR),
40981 OPC_RecordChild0,
40982 OPC_RecordChild1,
40983 OPC_MoveSibling1,
40984 OPC_CheckImmAllOnesV,
40985 OPC_MoveParent,
40986 OPC_MoveParent,
40987 OPC_CheckType, MVT::v4i32,
40988 OPC_CheckPatternPredicate1,
40989 OPC_EmitInteger32, 30|128,2,
40990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
40991 MVT::v4i32, 4, 0, 1, 2, 3,
40992 0,
40993 91,
40994 OPC_MoveChild0,
40995 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
40996 OPC_Scope, 27,
40997 OPC_MoveChild0,
40998 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
40999 OPC_RecordChild0,
41000 OPC_MoveChild1,
41001 OPC_CheckImmAllOnesV,
41002 OPC_MoveParent,
41003 OPC_MoveParent,
41004 OPC_RecordChild1,
41005 OPC_MoveParent,
41006 OPC_RecordChild1,
41007 OPC_CheckType, MVT::v4i32,
41008 OPC_CheckPatternPredicate1,
41009 OPC_EmitInteger32, 110|128,3,
41010 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41011 MVT::v4i32, 4, 0, 1, 2, 3,
41012 56,
41013 OPC_RecordChild0,
41014 OPC_Scope, 26,
41015 OPC_MoveChild1,
41016 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41017 OPC_RecordChild0,
41018 OPC_MoveChild1,
41019 OPC_CheckImmAllOnesV,
41020 OPC_MoveParent,
41021 OPC_MoveParent,
41022 OPC_MoveParent,
41023 OPC_RecordChild1,
41024 OPC_CheckType, MVT::v4i32,
41025 OPC_CheckPatternPredicate1,
41026 OPC_EmitInteger32, 110|128,3,
41027 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41028 MVT::v4i32, 4, 1, 0, 2, 3,
41029 25,
41030 OPC_RecordChild1,
41031 OPC_MoveSibling1,
41032 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41033 OPC_RecordChild0,
41034 OPC_MoveChild1,
41035 OPC_CheckImmAllOnesV,
41036 OPC_MoveParent,
41037 OPC_MoveParent,
41038 OPC_CheckType, MVT::v4i32,
41039 OPC_CheckPatternPredicate1,
41040 OPC_EmitInteger32, 110|128,3,
41041 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41042 MVT::v4i32, 4, 2, 0, 1, 3,
41043 0,
41044 0,
41045 61,
41046 OPC_RecordChild0,
41047 OPC_MoveChild1,
41048 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
41049 OPC_Scope, 26,
41050 OPC_MoveChild0,
41051 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41052 OPC_RecordChild0,
41053 OPC_MoveChild1,
41054 OPC_CheckImmAllOnesV,
41055 OPC_MoveParent,
41056 OPC_MoveParent,
41057 OPC_RecordChild1,
41058 OPC_MoveParent,
41059 OPC_CheckType, MVT::v4i32,
41060 OPC_CheckPatternPredicate1,
41061 OPC_EmitInteger32, 110|128,3,
41062 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41063 MVT::v4i32, 4, 1, 2, 0, 3,
41064 26,
41065 OPC_RecordChild0,
41066 OPC_MoveChild1,
41067 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41068 OPC_RecordChild0,
41069 OPC_MoveChild1,
41070 OPC_CheckImmAllOnesV,
41071 OPC_MoveParent,
41072 OPC_MoveParent,
41073 OPC_MoveParent,
41074 OPC_CheckType, MVT::v4i32,
41075 OPC_CheckPatternPredicate1,
41076 OPC_EmitInteger32, 110|128,3,
41077 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41078 MVT::v4i32, 4, 2, 1, 0, 3,
41079 0,
41080 61,
41081 OPC_MoveChild0,
41082 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::XOR),
41083 OPC_RecordChild0,
41084 OPC_RecordChild1,
41085 OPC_MoveSibling1,
41086 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41087 OPC_RecordChild0,
41088 OPC_MoveChild1,
41089 OPC_CheckImmAllOnesV,
41090 OPC_MoveParent,
41091 OPC_MoveParent,
41092 OPC_CheckType, MVT::v4i32,
41093 OPC_CheckPatternPredicate1,
41094 OPC_EmitInteger32, 108|128,3,
41095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41096 MVT::v4i32, 4, 2, 0, 1, 3,
41097 26, TARGET_VAL(ISD::AND),
41098 OPC_RecordChild0,
41099 OPC_RecordChild1,
41100 OPC_MoveSibling1,
41101 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41102 OPC_RecordChild0,
41103 OPC_MoveChild1,
41104 OPC_CheckImmAllOnesV,
41105 OPC_MoveParent,
41106 OPC_MoveParent,
41107 OPC_CheckType, MVT::v4i32,
41108 OPC_CheckPatternPredicate1,
41109 OPC_EmitInteger32, 98|128,3,
41110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41111 MVT::v4i32, 4, 2, 0, 1, 3,
41112 0,
41113 61,
41114 OPC_RecordChild0,
41115 OPC_MoveChild1,
41116 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41117 OPC_Scope, 26,
41118 OPC_MoveChild0,
41119 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41120 OPC_RecordChild0,
41121 OPC_MoveChild1,
41122 OPC_CheckImmAllOnesV,
41123 OPC_MoveParent,
41124 OPC_MoveParent,
41125 OPC_RecordChild1,
41126 OPC_MoveParent,
41127 OPC_CheckType, MVT::v4i32,
41128 OPC_CheckPatternPredicate1,
41129 OPC_EmitInteger32, 62|128,2,
41130 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41131 MVT::v4i32, 4, 0, 1, 2, 3,
41132 26,
41133 OPC_RecordChild0,
41134 OPC_MoveChild1,
41135 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41136 OPC_RecordChild0,
41137 OPC_MoveChild1,
41138 OPC_CheckImmAllOnesV,
41139 OPC_MoveParent,
41140 OPC_MoveParent,
41141 OPC_MoveParent,
41142 OPC_CheckType, MVT::v4i32,
41143 OPC_CheckPatternPredicate1,
41144 OPC_EmitInteger32, 62|128,2,
41145 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41146 MVT::v4i32, 4, 0, 2, 1, 3,
41147 0,
41148 13|128,1,
41149 OPC_MoveChild0,
41150 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41151 OPC_Scope, 52,
41152 OPC_MoveChild0,
41153 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41154 OPC_RecordChild0,
41155 OPC_Scope, 21,
41156 OPC_RecordChild1,
41157 OPC_MoveSibling1,
41158 OPC_CheckImmAllOnesV,
41159 OPC_MoveParent,
41160 OPC_MoveParent,
41161 OPC_RecordChild1,
41162 OPC_CheckType, MVT::v4i32,
41163 OPC_CheckPatternPredicate1,
41164 OPC_EmitInteger32, 62|128,2,
41165 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41166 MVT::v4i32, 4, 2, 0, 1, 3,
41167 22,
41168 OPC_MoveChild1,
41169 OPC_CheckImmAllOnesV,
41170 OPC_MoveParent,
41171 OPC_MoveParent,
41172 OPC_RecordChild1,
41173 OPC_MoveParent,
41174 OPC_RecordChild1,
41175 OPC_CheckType, MVT::v4i32,
41176 OPC_CheckPatternPredicate1,
41177 OPC_EmitInteger32, 62|128,2,
41178 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41179 MVT::v4i32, 4, 2, 0, 1, 3,
41180 0,
41181 27,
41182 OPC_RecordChild0,
41183 OPC_MoveChild1,
41184 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41185 OPC_RecordChild0,
41186 OPC_MoveChild1,
41187 OPC_CheckImmAllOnesV,
41188 OPC_MoveParent,
41189 OPC_MoveParent,
41190 OPC_MoveParent,
41191 OPC_RecordChild1,
41192 OPC_CheckType, MVT::v4i32,
41193 OPC_CheckPatternPredicate1,
41194 OPC_EmitInteger32, 62|128,2,
41195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41196 MVT::v4i32, 4, 2, 1, 0, 3,
41197 53,
41198 OPC_MoveChild0,
41199 OPC_SwitchOpcode , 22, TARGET_VAL(ISD::AND),
41200 OPC_RecordChild0,
41201 OPC_RecordChild1,
41202 OPC_MoveSibling1,
41203 OPC_CheckImmAllOnesV,
41204 OPC_MoveParent,
41205 OPC_MoveParent,
41206 OPC_RecordChild1,
41207 OPC_CheckType, MVT::v4i32,
41208 OPC_CheckPatternPredicate1,
41209 OPC_EmitInteger32, 94|128,3,
41210 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41211 MVT::v4i32, 4, 2, 0, 1, 3,
41212 22, TARGET_VAL(ISD::OR),
41213 OPC_RecordChild0,
41214 OPC_RecordChild1,
41215 OPC_MoveSibling1,
41216 OPC_CheckImmAllOnesV,
41217 OPC_MoveParent,
41218 OPC_MoveParent,
41219 OPC_RecordChild1,
41220 OPC_CheckType, MVT::v4i32,
41221 OPC_CheckPatternPredicate1,
41222 OPC_EmitInteger32, 30|128,2,
41223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41224 MVT::v4i32, 4, 2, 0, 1, 3,
41225 0,
41226 0,
41227 21,
41228 OPC_RecordChild0,
41229 OPC_MoveChild1,
41230 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41231 OPC_RecordChild0,
41232 OPC_MoveChild1,
41233 OPC_CheckImmAllOnesV,
41234 OPC_MoveParent,
41235 OPC_MoveParent,
41236 OPC_CheckType, MVT::v4i32,
41237 OPC_CheckPatternPredicate, 11,
41238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLORC),
41239 MVT::v4i32, 2, 0, 1,
41240 21,
41241 OPC_MoveChild0,
41242 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41243 OPC_RecordChild0,
41244 OPC_MoveChild1,
41245 OPC_CheckImmAllOnesV,
41246 OPC_MoveParent,
41247 OPC_MoveParent,
41248 OPC_RecordChild1,
41249 OPC_CheckType, MVT::v4i32,
41250 OPC_CheckPatternPredicate, 11,
41251 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLORC),
41252 MVT::v4i32, 2, 1, 0,
41253 66,
41254 OPC_RecordChild0,
41255 OPC_MoveChild1,
41256 OPC_SwitchOpcode , 18, TARGET_VAL(ISD::OR),
41257 OPC_RecordChild0,
41258 OPC_RecordChild1,
41259 OPC_MoveParent,
41260 OPC_CheckType, MVT::v4i32,
41261 OPC_CheckPatternPredicate1,
41262 OPC_EmitInteger32, 126|128,1,
41263 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41264 MVT::v4i32, 4, 0, 1, 2, 3,
41265 17, TARGET_VAL(ISD::AND),
41266 OPC_RecordChild0,
41267 OPC_RecordChild1,
41268 OPC_MoveParent,
41269 OPC_CheckType, MVT::v4i32,
41270 OPC_CheckPatternPredicate1,
41271 OPC_EmitInteger32, 62,
41272 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41273 MVT::v4i32, 4, 0, 1, 2, 3,
41274 18, TARGET_VAL(ISD::XOR),
41275 OPC_RecordChild0,
41276 OPC_RecordChild1,
41277 OPC_MoveParent,
41278 OPC_CheckType, MVT::v4i32,
41279 OPC_CheckPatternPredicate1,
41280 OPC_EmitInteger32, 94|128,1,
41281 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41282 MVT::v4i32, 4, 0, 1, 2, 3,
41283 0,
41284 68,
41285 OPC_MoveChild0,
41286 OPC_SwitchOpcode , 19, TARGET_VAL(ISD::OR),
41287 OPC_RecordChild0,
41288 OPC_RecordChild1,
41289 OPC_MoveParent,
41290 OPC_RecordChild1,
41291 OPC_CheckType, MVT::v4i32,
41292 OPC_CheckPatternPredicate1,
41293 OPC_EmitInteger32, 126|128,1,
41294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41295 MVT::v4i32, 4, 0, 1, 2, 3,
41296 18, TARGET_VAL(ISD::AND),
41297 OPC_RecordChild0,
41298 OPC_RecordChild1,
41299 OPC_MoveParent,
41300 OPC_RecordChild1,
41301 OPC_CheckType, MVT::v4i32,
41302 OPC_CheckPatternPredicate1,
41303 OPC_EmitInteger32, 62,
41304 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41305 MVT::v4i32, 4, 2, 0, 1, 3,
41306 19, TARGET_VAL(ISD::XOR),
41307 OPC_RecordChild0,
41308 OPC_RecordChild1,
41309 OPC_MoveParent,
41310 OPC_RecordChild1,
41311 OPC_CheckType, MVT::v4i32,
41312 OPC_CheckPatternPredicate1,
41313 OPC_EmitInteger32, 94|128,1,
41314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXEVAL),
41315 MVT::v4i32, 4, 2, 0, 1, 3,
41316 0,
41317 36,
41318 OPC_RecordChild0,
41319 OPC_Scope, 11,
41320 OPC_RecordChild1,
41321 OPC_CheckType, MVT::v4i32,
41322 OPC_CheckPatternPredicate2,
41323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLOR),
41324 MVT::v4i32, 2, 0, 1,
41325 20,
41326 OPC_MoveChild1,
41327 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41328 OPC_RecordChild0,
41329 OPC_MoveChild1,
41330 OPC_CheckImmAllOnesV,
41331 OPC_MoveParent,
41332 OPC_MoveParent,
41333 OPC_CheckType, MVT::v4i32,
41334 OPC_CheckPatternPredicate, 12,
41335 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VORC),
41336 MVT::v4i32, 2, 0, 1,
41337 0,
41338 21,
41339 OPC_MoveChild0,
41340 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41341 OPC_RecordChild0,
41342 OPC_MoveChild1,
41343 OPC_CheckImmAllOnesV,
41344 OPC_MoveParent,
41345 OPC_MoveParent,
41346 OPC_RecordChild1,
41347 OPC_CheckType, MVT::v4i32,
41348 OPC_CheckPatternPredicate, 12,
41349 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VORC),
41350 MVT::v4i32, 2, 1, 0,
41351 12,
41352 OPC_RecordChild0,
41353 OPC_RecordChild1,
41354 OPC_CheckType, MVT::v4i32,
41355 OPC_CheckPatternPredicate3,
41356 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VOR),
41357 MVT::v4i32, 2, 0, 1,
41358 0,
41359 125, TARGET_VAL(PPCISD::Hi),
41360 OPC_RecordChild0,
41361 OPC_MoveChild0,
41362 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::TargetGlobalAddress),
41363 OPC_MoveParent,
41364 OPC_CheckChild1Integer, 0,
41365 OPC_SwitchType , 6, MVT::i32,
41366 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS),
41367 MVT::i32, 1, 0,
41368 6, MVT::i64,
41369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS8),
41370 MVT::i64, 1, 0,
41371 0,
41372 21, TARGET_VAL(ISD::TargetConstantPool),
41373 OPC_MoveParent,
41374 OPC_CheckChild1Integer, 0,
41375 OPC_SwitchType , 6, MVT::i32,
41376 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS),
41377 MVT::i32, 1, 0,
41378 6, MVT::i64,
41379 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS8),
41380 MVT::i64, 1, 0,
41381 0,
41382 21, TARGET_VAL(ISD::TargetJumpTable),
41383 OPC_MoveParent,
41384 OPC_CheckChild1Integer, 0,
41385 OPC_SwitchType , 6, MVT::i32,
41386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS),
41387 MVT::i32, 1, 0,
41388 6, MVT::i64,
41389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS8),
41390 MVT::i64, 1, 0,
41391 0,
41392 21, TARGET_VAL(ISD::TargetBlockAddress),
41393 OPC_MoveParent,
41394 OPC_CheckChild1Integer, 0,
41395 OPC_SwitchType , 6, MVT::i32,
41396 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS),
41397 MVT::i32, 1, 0,
41398 6, MVT::i64,
41399 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS8),
41400 MVT::i64, 1, 0,
41401 0,
41402 22, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41403 OPC_MoveParent,
41404 OPC_RecordChild1,
41405 OPC_SwitchType , 7, MVT::i32,
41406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS),
41407 MVT::i32, 2, 1, 0,
41408 7, MVT::i64,
41409 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIS8),
41410 MVT::i64, 2, 1, 0,
41411 0,
41412 0,
41413 125, TARGET_VAL(PPCISD::Lo),
41414 OPC_RecordChild0,
41415 OPC_MoveChild0,
41416 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::TargetGlobalAddress),
41417 OPC_MoveParent,
41418 OPC_CheckChild1Integer, 0,
41419 OPC_SwitchType , 6, MVT::i32,
41420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI),
41421 MVT::i32, 1, 0,
41422 6, MVT::i64,
41423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI8),
41424 MVT::i64, 1, 0,
41425 0,
41426 21, TARGET_VAL(ISD::TargetConstantPool),
41427 OPC_MoveParent,
41428 OPC_CheckChild1Integer, 0,
41429 OPC_SwitchType , 6, MVT::i32,
41430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI),
41431 MVT::i32, 1, 0,
41432 6, MVT::i64,
41433 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI8),
41434 MVT::i64, 1, 0,
41435 0,
41436 21, TARGET_VAL(ISD::TargetJumpTable),
41437 OPC_MoveParent,
41438 OPC_CheckChild1Integer, 0,
41439 OPC_SwitchType , 6, MVT::i32,
41440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI),
41441 MVT::i32, 1, 0,
41442 6, MVT::i64,
41443 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI8),
41444 MVT::i64, 1, 0,
41445 0,
41446 21, TARGET_VAL(ISD::TargetBlockAddress),
41447 OPC_MoveParent,
41448 OPC_CheckChild1Integer, 0,
41449 OPC_SwitchType , 6, MVT::i32,
41450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI),
41451 MVT::i32, 1, 0,
41452 6, MVT::i64,
41453 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI8),
41454 MVT::i64, 1, 0,
41455 0,
41456 22, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41457 OPC_MoveParent,
41458 OPC_RecordChild1,
41459 OPC_SwitchType , 7, MVT::i32,
41460 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDI),
41461 MVT::i32, 2, 1, 0,
41462 7, MVT::i64,
41463 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDI8),
41464 MVT::i64, 2, 1, 0,
41465 0,
41466 0,
41467 73, TARGET_VAL(ISD::ATOMIC_FENCE),
41468 OPC_RecordNode,
41469 OPC_Scope, 38,
41470 OPC_CheckChild1Integer, 14,
41471 OPC_Scope, 16,
41472 OPC_CheckChild1TypeI64,
41473 OPC_MoveChild2,
41474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41475 OPC_MoveParent,
41476 OPC_CheckPatternPredicate, 44,
41477 OPC_EmitMergeInputChains1_0,
41478 OPC_EmitInteger32, 0,
41479 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
41480 1, 1,
41481 16,
41482 OPC_CheckChild1TypeI32,
41483 OPC_MoveChild2,
41484 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41485 OPC_MoveParent,
41486 OPC_CheckPatternPredicate, 44,
41487 OPC_EmitMergeInputChains1_0,
41488 OPC_EmitInteger32, 0,
41489 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
41490 1, 1,
41491 0,
41492 30,
41493 OPC_MoveChild1,
41494 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41495 OPC_MoveSibling2,
41496 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41497 OPC_MoveParent,
41498 OPC_Scope, 10,
41499 OPC_CheckPatternPredicate, 44,
41500 OPC_EmitMergeInputChains1_0,
41501 OPC_EmitInteger32, 2,
41502 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SYNC),
41503 1, 1,
41504 7,
41505 OPC_CheckPatternPredicate, 51,
41506 OPC_EmitMergeInputChains1_0,
41507 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::MSYNC),
41508 0,
41509 0,
41510 0,
41511 54|128,2, TARGET_VAL(ISD::SRL),
41512 OPC_Scope, 29,
41513 OPC_MoveChild0,
41514 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
41515 OPC_RecordChild0,
41516 OPC_MoveParent,
41517 OPC_CheckChild1Integer, 32,
41518 OPC_CheckChild1TypeI32,
41519 OPC_CheckTypeI32,
41520 OPC_CheckPatternPredicate4,
41521 OPC_EmitNode1None, TARGET_VAL(PPC::BRH),
41522 MVT::i32, 1, 0,
41523 OPC_EmitInteger32, 0,
41524 OPC_EmitInteger32, 96,
41525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL_32),
41526 MVT::i32, 3, 1, 2, 3,
41527 110,
41528 OPC_RecordChild0,
41529 OPC_RecordChild1,
41530 OPC_Scope, 41,
41531 OPC_MoveChild1,
41532 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41533 OPC_CheckTypeI32,
41534 OPC_MoveParent,
41535 OPC_SwitchType , 16, MVT::i32,
41536 OPC_EmitConvertToTarget1,
41537 OPC_EmitNodeXForm, 6, 2,
41538 OPC_EmitConvertToTarget1,
41539 OPC_EmitInteger32, 62,
41540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
41541 MVT::i32, 4, 0, 3, 4, 5,
41542 13, MVT::i64,
41543 OPC_EmitConvertToTarget1,
41544 OPC_EmitNodeXForm, 7, 2,
41545 OPC_EmitConvertToTarget1,
41546 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
41547 MVT::i64, 3, 0, 3, 4,
41548 0,
41549 21,
41550 OPC_CheckChild1TypeI32,
41551 OPC_SwitchType , 7, MVT::i32,
41552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SRW),
41553 MVT::i32, 2, 0, 1,
41554 7, MVT::i64,
41555 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SRD),
41556 MVT::i64, 2, 0, 1,
41557 0,
41558 41,
41559 OPC_CheckChild1Type, MVT::v1i128,
41560 OPC_CheckType, MVT::v1i128,
41561 OPC_CheckPatternPredicate, 39,
41562 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
41563 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
41564 MVT::v4i32, 2, 1, 2,
41565 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
41566 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
41567 MVT::v4i32, 2, 1, 4,
41568 OPC_EmitInteger32, 4,
41569 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
41570 MVT::v4i32, 3, 3, 5, 6,
41571 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRQ),
41572 MVT::v1i128, 2, 0, 7,
41573 0,
41574 84,
41575 OPC_MoveChild0,
41576 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
41577 OPC_RecordChild0,
41578 OPC_MoveChild1,
41579 OPC_SwitchOpcode , 46, TARGET_VAL(ISD::BITCAST),
41580 OPC_MoveChild0,
41581 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41582 OPC_RecordChild0,
41583 OPC_MoveChild1,
41584 OPC_CheckImmAllOnesV,
41585 OPC_MoveParent,
41586 OPC_CheckType, MVT::v4i32,
41587 OPC_MoveParent,
41588 OPC_MoveParent,
41589 OPC_MoveSibling1,
41590 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
41591 OPC_CheckPredicate, 24,
41592 OPC_SwitchType , 11, MVT::v8i16,
41593 OPC_MoveParent,
41594 OPC_CheckType, MVT::v8i16,
41595 OPC_CheckPatternPredicate3,
41596 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUH),
41597 MVT::v8i16, 2, 0, 1,
41598 11, MVT::v16i8,
41599 OPC_MoveParent,
41600 OPC_CheckType, MVT::v16i8,
41601 OPC_CheckPatternPredicate3,
41602 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUB),
41603 MVT::v16i8, 2, 0, 1,
41604 0,
41605 24, TARGET_VAL(ISD::XOR),
41606 OPC_RecordChild0,
41607 OPC_MoveChild1,
41608 OPC_CheckImmAllOnesV,
41609 OPC_MoveParent,
41610 OPC_MoveParent,
41611 OPC_MoveSibling1,
41612 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
41613 OPC_CheckPredicate, 24,
41614 OPC_CheckType, MVT::v4i32,
41615 OPC_MoveParent,
41616 OPC_CheckType, MVT::v4i32,
41617 OPC_CheckPatternPredicate3,
41618 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGUW),
41619 MVT::v4i32, 2, 0, 1,
41620 0,
41621 81,
41622 OPC_RecordChild0,
41623 OPC_RecordChild1,
41624 OPC_SwitchType , 10, MVT::v16i8,
41625 OPC_CheckChild1Type, MVT::v16i8,
41626 OPC_CheckPatternPredicate3,
41627 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRB),
41628 MVT::v16i8, 2, 0, 1,
41629 10, MVT::v8i16,
41630 OPC_CheckChild1Type, MVT::v8i16,
41631 OPC_CheckPatternPredicate3,
41632 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRH),
41633 MVT::v8i16, 2, 0, 1,
41634 10, MVT::v4i32,
41635 OPC_CheckChild1Type, MVT::v4i32,
41636 OPC_CheckPatternPredicate3,
41637 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRW),
41638 MVT::v4i32, 2, 0, 1,
41639 11, MVT::v2i64,
41640 OPC_CheckChild1Type, MVT::v2i64,
41641 OPC_CheckPatternPredicate, 12,
41642 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRD),
41643 MVT::v2i64, 2, 0, 1,
41644 26, MVT::v1i128,
41645 OPC_CheckChild1Type, MVT::v1i128,
41646 OPC_CheckPatternPredicate3,
41647 OPC_EmitNode1None, TARGET_VAL(PPC::VSRO),
41648 MVT::v16i8, 2, 0, 1,
41649 OPC_EmitInteger32, 30,
41650 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
41651 MVT::v16i8, 2, 3, 1,
41652 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSR),
41653 MVT::v1i128, 2, 2, 4,
41654 0,
41655 0,
41656 75, TARGET_VAL(ISD::TRUNCATE),
41657 OPC_Scope, 33,
41658 OPC_MoveChild0,
41659 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
41660 OPC_RecordChild0,
41661 OPC_CheckChild1Integer, 3,
41662 OPC_SwitchType , 10, MVT::i32,
41663 OPC_MoveParent,
41664 OPC_CheckType, MVT::i1,
41665 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT),
41666 MVT::i1, MVT::i32, 1, 0,
41667 10, MVT::i64,
41668 OPC_MoveParent,
41669 OPC_CheckType, MVT::i1,
41670 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_EQ_BIT8),
41671 MVT::i1, MVT::i32, 1, 0,
41672 0,
41673 38,
41674 OPC_RecordChild0,
41675 OPC_Scope, 23,
41676 OPC_CheckChild0TypeI64,
41677 OPC_SwitchType , 9, MVT::i32,
41678 OPC_EmitStringInteger32, PPC::sub_32,
41679 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41680 MVT::i32, 2, 0, 1,
41681 7, MVT::i1,
41682 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_GT_BIT8),
41683 MVT::i1, MVT::i32, 1, 0,
41684 0,
41685 10,
41686 OPC_CheckChild0TypeI32,
41687 OPC_CheckType, MVT::i1,
41688 OPC_MorphNodeTo2None, TARGET_VAL(PPC::ANDI_rec_1_GT_BIT),
41689 MVT::i1, MVT::i32, 1, 0,
41690 0,
41691 0,
41692 20, TARGET_VAL(ISD::CALLSEQ_START),
41693 OPC_RecordNode,
41694 OPC_RecordChild1,
41695 OPC_MoveChild1,
41696 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41697 OPC_MoveSibling2,
41698 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41699 OPC_RecordNode,
41700 OPC_MoveParent,
41701 OPC_EmitMergeInputChains1_0,
41702 OPC_MorphNodeTo0, TARGET_VAL(PPC::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
41703 2, 1, 2,
41704 21, TARGET_VAL(ISD::CALLSEQ_END),
41705 OPC_RecordNode,
41706 OPC_CaptureGlueInput,
41707 OPC_RecordChild1,
41708 OPC_MoveChild1,
41709 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41710 OPC_MoveSibling2,
41711 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
41712 OPC_RecordNode,
41713 OPC_MoveParent,
41714 OPC_EmitMergeInputChains1_0,
41715 OPC_MorphNodeTo0, TARGET_VAL(PPC::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
41716 2, 1, 2,
41717 34|128,1, TARGET_VAL(PPCISD::TC_RETURN),
41718 OPC_RecordNode,
41719 OPC_CaptureGlueInput,
41720 OPC_RecordChild1,
41721 OPC_Scope, 122,
41722 OPC_MoveChild1,
41723 OPC_SwitchOpcode , 38, TARGET_VAL(ISD::Constant),
41724 OPC_SwitchType , 16, MVT::i32,
41725 OPC_MoveSibling2,
41726 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41727 OPC_RecordNode,
41728 OPC_MoveParent,
41729 OPC_EmitMergeInputChains1_0,
41730 OPC_EmitConvertToTarget1,
41731 OPC_EmitConvertToTarget2,
41732 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNai), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41733 2, 3, 4,
41734 16, MVT::i64,
41735 OPC_MoveSibling2,
41736 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41737 OPC_RecordNode,
41738 OPC_MoveParent,
41739 OPC_EmitMergeInputChains1_0,
41740 OPC_EmitConvertToTarget1,
41741 OPC_EmitConvertToTarget2,
41742 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNai8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41743 2, 3, 4,
41744 0,
41745 36, TARGET_VAL(ISD::TargetGlobalAddress),
41746 OPC_SwitchType , 15, MVT::i32,
41747 OPC_MoveSibling2,
41748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41749 OPC_RecordNode,
41750 OPC_MoveParent,
41751 OPC_EmitMergeInputChains1_0,
41752 OPC_EmitConvertToTarget2,
41753 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41754 2, 1, 3,
41755 15, MVT::i64,
41756 OPC_MoveSibling2,
41757 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41758 OPC_RecordNode,
41759 OPC_MoveParent,
41760 OPC_EmitMergeInputChains1_0,
41761 OPC_EmitConvertToTarget2,
41762 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41763 2, 1, 3,
41764 0,
41765 36, TARGET_VAL(ISD::TargetExternalSymbol),
41766 OPC_SwitchType , 15, MVT::i32,
41767 OPC_MoveSibling2,
41768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41769 OPC_RecordNode,
41770 OPC_MoveParent,
41771 OPC_EmitMergeInputChains1_0,
41772 OPC_EmitConvertToTarget2,
41773 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41774 2, 1, 3,
41775 15, MVT::i64,
41776 OPC_MoveSibling2,
41777 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41778 OPC_RecordNode,
41779 OPC_MoveParent,
41780 OPC_EmitMergeInputChains1_0,
41781 OPC_EmitConvertToTarget2,
41782 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNdi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41783 2, 1, 3,
41784 0,
41785 0,
41786 16,
41787 OPC_CheckChild1TypeI32,
41788 OPC_RecordChild2,
41789 OPC_MoveChild2,
41790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41791 OPC_MoveParent,
41792 OPC_EmitMergeInputChains1_0,
41793 OPC_EmitConvertToTarget2,
41794 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41795 2, 1, 3,
41796 16,
41797 OPC_CheckChild1TypeI64,
41798 OPC_RecordChild2,
41799 OPC_MoveChild2,
41800 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41801 OPC_MoveParent,
41802 OPC_EmitMergeInputChains1_0,
41803 OPC_EmitConvertToTarget2,
41804 OPC_MorphNodeTo0, TARGET_VAL(PPC::TCRETURNri8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
41805 2, 1, 3,
41806 0,
41807 23, TARGET_VAL(PPCISD::MFBHRBE),
41808 OPC_RecordNode,
41809 OPC_RecordChild1,
41810 OPC_MoveChild1,
41811 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41812 OPC_MoveSibling2,
41813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41814 OPC_RecordNode,
41815 OPC_MoveParent,
41816 OPC_CheckTypeI32,
41817 OPC_EmitMergeInputChains1_0,
41818 OPC_EmitConvertToTarget1,
41819 OPC_EmitConvertToTarget2,
41820 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFBHRBE),
41821 MVT::i32, 2, 3, 4,
41822 34, TARGET_VAL(PPCISD::ADDI_TLSGD_L_ADDR),
41823 OPC_RecordChild0,
41824 OPC_RecordChild1,
41825 OPC_MoveChild1,
41826 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41827 OPC_MoveSibling2,
41828 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41829 OPC_RecordNode,
41830 OPC_MoveParent,
41831 OPC_SwitchType , 8, MVT::i32,
41832 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsgdLADDR32),
41833 MVT::i32, 3, 0, 1, 2,
41834 8, MVT::i64,
41835 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsgdLADDR),
41836 MVT::i64, 3, 0, 1, 2,
41837 0,
41838 34, TARGET_VAL(PPCISD::ADDI_TLSLD_L_ADDR),
41839 OPC_RecordChild0,
41840 OPC_RecordChild1,
41841 OPC_MoveChild1,
41842 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41843 OPC_MoveSibling2,
41844 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41845 OPC_RecordNode,
41846 OPC_MoveParent,
41847 OPC_SwitchType , 8, MVT::i32,
41848 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsldLADDR32),
41849 MVT::i32, 3, 0, 1, 2,
41850 8, MVT::i64,
41851 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsldLADDR),
41852 MVT::i64, 3, 0, 1, 2,
41853 0,
41854 73, TARGET_VAL(PPCISD::ADD_TLS),
41855 OPC_RecordChild0,
41856 OPC_Scope, 21,
41857 OPC_MoveChild1,
41858 OPC_CheckOpcode, TARGET_VAL(PPCISD::TLS_LOCAL_EXEC_MAT_ADDR),
41859 OPC_RecordChild0,
41860 OPC_MoveChild0,
41861 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41862 OPC_MoveParent,
41863 OPC_MoveParent,
41864 OPC_CheckTypeI64,
41865 OPC_CheckPatternPredicate, 19,
41866 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PADDI8),
41867 MVT::i64, 2, 0, 1,
41868 47,
41869 OPC_RecordChild1,
41870 OPC_Scope, 25,
41871 OPC_MoveChild1,
41872 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
41873 OPC_MoveParent,
41874 OPC_SwitchType , 7, MVT::i32,
41875 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD4TLS),
41876 MVT::i32, 2, 0, 1,
41877 7, MVT::i64,
41878 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD8TLS),
41879 MVT::i64, 2, 0, 1,
41880 0,
41881 8,
41882 OPC_CheckTypeI32,
41883 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD4TLS),
41884 MVT::i32, 2, 0, 1,
41885 8,
41886 OPC_CheckTypeI64,
41887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADD8TLS),
41888 MVT::i64, 2, 0, 1,
41889 0,
41890 0,
41891 33, TARGET_VAL(PPCISD::EH_SJLJ_SETJMP),
41892 OPC_RecordNode,
41893 OPC_RecordChild1,
41894 OPC_CheckTypeI32,
41895 OPC_Scope, 13,
41896 OPC_CheckPatternPredicate, 43,
41897 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
41898 OPC_EmitMergeInputChains1_0,
41899 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::EH_SjLj_SetJmp32),
41900 MVT::i32, MVT::i32, 1, 2,
41901 13,
41902 OPC_CheckPatternPredicate, 35,
41903 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
41904 OPC_EmitMergeInputChains1_0,
41905 OPC_MorphNodeTo2Chain, TARGET_VAL(PPC::EH_SjLj_SetJmp64),
41906 MVT::i32, MVT::i64, 1, 2,
41907 0,
41908 28, TARGET_VAL(PPCISD::EH_SJLJ_LONGJMP),
41909 OPC_RecordNode,
41910 OPC_RecordChild1,
41911 OPC_Scope, 11,
41912 OPC_CheckPatternPredicate, 43,
41913 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
41914 OPC_EmitMergeInputChains1_0,
41915 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::EH_SjLj_LongJmp32),
41916 1, 2,
41917 11,
41918 OPC_CheckPatternPredicate, 35,
41919 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
41920 OPC_EmitMergeInputChains1_0,
41921 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::EH_SjLj_LongJmp64),
41922 1, 2,
41923 0,
41924 52|128,1, TARGET_VAL(ISD::SUB),
41925 OPC_Scope, 21,
41926 OPC_CheckChild0Integer, 0,
41927 OPC_RecordChild1,
41928 OPC_SwitchType , 6, MVT::i32,
41929 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NEG),
41930 MVT::i32, 1, 0,
41931 6, MVT::i64,
41932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::NEG8),
41933 MVT::i64, 1, 0,
41934 0,
41935 71,
41936 OPC_RecordChild0,
41937 OPC_Scope, 36,
41938 OPC_MoveChild0,
41939 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41940 OPC_Scope, 14,
41941 OPC_CheckPredicate, 10,
41942 OPC_MoveParent,
41943 OPC_RecordChild1,
41944 OPC_CheckTypeI32,
41945 OPC_EmitConvertToTarget0,
41946 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SUBFIC),
41947 MVT::i32, MVT::i32, 2, 1, 2,
41948 14,
41949 OPC_CheckPredicate, 12,
41950 OPC_MoveParent,
41951 OPC_RecordChild1,
41952 OPC_CheckTypeI64,
41953 OPC_EmitConvertToTarget0,
41954 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SUBFIC8),
41955 MVT::i64, MVT::i32, 2, 1, 2,
41956 0,
41957 30,
41958 OPC_RecordChild1,
41959 OPC_SwitchType , 7, MVT::i32,
41960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SUBF),
41961 MVT::i32, 2, 1, 0,
41962 7, MVT::i64,
41963 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SUBF8),
41964 MVT::i64, 2, 1, 0,
41965 7, MVT::i1,
41966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRXOR),
41967 MVT::i1, 2, 0, 1,
41968 0,
41969 0,
41970 26,
41971 OPC_MoveChild0,
41972 OPC_CheckImmAllZerosV,
41973 OPC_MoveParent,
41974 OPC_RecordChild1,
41975 OPC_SwitchType , 8, MVT::v4i32,
41976 OPC_CheckPatternPredicate, 18,
41977 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNEGW),
41978 MVT::v4i32, 1, 0,
41979 8, MVT::v2i64,
41980 OPC_CheckPatternPredicate, 18,
41981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNEGD),
41982 MVT::v2i64, 1, 0,
41983 0,
41984 56,
41985 OPC_RecordChild0,
41986 OPC_RecordChild1,
41987 OPC_SwitchType , 8, MVT::v16i8,
41988 OPC_CheckPatternPredicate3,
41989 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUBM),
41990 MVT::v16i8, 2, 0, 1,
41991 8, MVT::v8i16,
41992 OPC_CheckPatternPredicate3,
41993 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUHM),
41994 MVT::v8i16, 2, 0, 1,
41995 8, MVT::v4i32,
41996 OPC_CheckPatternPredicate3,
41997 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUWM),
41998 MVT::v4i32, 2, 0, 1,
41999 9, MVT::v2i64,
42000 OPC_CheckPatternPredicate, 12,
42001 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUDM),
42002 MVT::v2i64, 2, 0, 1,
42003 9, MVT::v1i128,
42004 OPC_CheckPatternPredicate, 12,
42005 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUQM),
42006 MVT::v1i128, 2, 0, 1,
42007 0,
42008 0,
42009 80, TARGET_VAL(ISD::ADDE),
42010 OPC_CaptureGlueInput,
42011 OPC_RecordChild0,
42012 OPC_Scope, 24,
42013 OPC_CheckChild1Integer, 3,
42014 OPC_SwitchType , 8, MVT::i32,
42015 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDME), 0|OPFL_GlueInput|OPFL_GlueOutput,
42016 MVT::i32, MVT::i32, 1, 0,
42017 8, MVT::i64,
42018 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDME8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42019 MVT::i64, MVT::i32, 1, 0,
42020 0,
42021 24,
42022 OPC_CheckChild1Integer, 0,
42023 OPC_SwitchType , 8, MVT::i32,
42024 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDZE), 0|OPFL_GlueInput|OPFL_GlueOutput,
42025 MVT::i32, MVT::i32, 1, 0,
42026 8, MVT::i64,
42027 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDZE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42028 MVT::i64, MVT::i32, 1, 0,
42029 0,
42030 25,
42031 OPC_RecordChild1,
42032 OPC_SwitchType , 9, MVT::i32,
42033 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDE), 0|OPFL_GlueInput|OPFL_GlueOutput,
42034 MVT::i32, MVT::i32, 2, 0, 1,
42035 9, MVT::i64,
42036 OPC_MorphNodeTo2, TARGET_VAL(PPC::ADDE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42037 MVT::i64, MVT::i32, 2, 0, 1,
42038 0,
42039 0,
42040 82, TARGET_VAL(ISD::SUBE),
42041 OPC_CaptureGlueInput,
42042 OPC_Scope, 25,
42043 OPC_CheckChild0Integer, 3,
42044 OPC_RecordChild1,
42045 OPC_SwitchType , 8, MVT::i32,
42046 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFME), 0|OPFL_GlueInput|OPFL_GlueOutput,
42047 MVT::i32, MVT::i32, 1, 0,
42048 8, MVT::i64,
42049 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFME8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42050 MVT::i64, MVT::i32, 1, 0,
42051 0,
42052 25,
42053 OPC_CheckChild0Integer, 0,
42054 OPC_RecordChild1,
42055 OPC_SwitchType , 8, MVT::i32,
42056 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFZE), 0|OPFL_GlueInput|OPFL_GlueOutput,
42057 MVT::i32, MVT::i32, 1, 0,
42058 8, MVT::i64,
42059 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFZE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42060 MVT::i64, MVT::i32, 1, 0,
42061 0,
42062 26,
42063 OPC_RecordChild0,
42064 OPC_RecordChild1,
42065 OPC_SwitchType , 9, MVT::i32,
42066 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFE), 0|OPFL_GlueInput|OPFL_GlueOutput,
42067 MVT::i32, MVT::i32, 2, 1, 0,
42068 9, MVT::i64,
42069 OPC_MorphNodeTo2, TARGET_VAL(PPC::SUBFE8), 0|OPFL_GlueInput|OPFL_GlueOutput,
42070 MVT::i64, MVT::i32, 2, 1, 0,
42071 0,
42072 0,
42073 36, TARGET_VAL(PPCISD::EXTRACT_SPE),
42074 OPC_RecordChild0,
42075 OPC_Scope, 12,
42076 OPC_CheckChild1Integer, 0,
42077 OPC_CheckPatternPredicate5,
42078 OPC_EmitStringInteger32, PPC::sub_32,
42079 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42080 MVT::i32, 2, 0, 1,
42081 19,
42082 OPC_CheckChild1Integer, 2,
42083 OPC_CheckPatternPredicate5,
42084 OPC_EmitNode1None, TARGET_VAL(PPC::EVMERGEHI),
42085 MVT::f64, 2, 0, 0,
42086 OPC_EmitStringInteger32, PPC::sub_32,
42087 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42088 MVT::i32, 2, 1, 2,
42089 0,
42090 59, TARGET_VAL(ISD::ADDC),
42091 OPC_RecordChild0,
42092 OPC_RecordChild1,
42093 OPC_Scope, 34,
42094 OPC_MoveChild1,
42095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
42096 OPC_Scope, 13,
42097 OPC_CheckPredicate, 10,
42098 OPC_MoveParent,
42099 OPC_CheckTypeI32,
42100 OPC_EmitConvertToTarget1,
42101 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::ADDIC),
42102 MVT::i32, MVT::i32, 2, 0, 2,
42103 13,
42104 OPC_CheckPredicate, 12,
42105 OPC_MoveParent,
42106 OPC_CheckTypeI64,
42107 OPC_EmitConvertToTarget1,
42108 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::ADDIC8),
42109 MVT::i64, MVT::i32, 2, 0, 2,
42110 0,
42111 9,
42112 OPC_CheckTypeI32,
42113 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::ADDC),
42114 MVT::i32, MVT::i32, 2, 0, 1,
42115 9,
42116 OPC_CheckTypeI64,
42117 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::ADDC8),
42118 MVT::i64, MVT::i32, 2, 0, 1,
42119 0,
42120 105, TARGET_VAL(ISD::MUL),
42121 OPC_RecordChild0,
42122 OPC_RecordChild1,
42123 OPC_Scope, 32,
42124 OPC_MoveChild1,
42125 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
42126 OPC_Scope, 12,
42127 OPC_CheckPredicate, 10,
42128 OPC_MoveParent,
42129 OPC_CheckTypeI32,
42130 OPC_EmitConvertToTarget1,
42131 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULLI),
42132 MVT::i32, 2, 0, 2,
42133 12,
42134 OPC_CheckPredicate, 12,
42135 OPC_MoveParent,
42136 OPC_CheckTypeI64,
42137 OPC_EmitConvertToTarget1,
42138 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULLI8),
42139 MVT::i64, 2, 0, 2,
42140 0,
42141 8,
42142 OPC_CheckTypeI32,
42143 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULLW),
42144 MVT::i32, 2, 0, 1,
42145 8,
42146 OPC_CheckTypeI64,
42147 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULLD),
42148 MVT::i64, 2, 0, 1,
42149 9,
42150 OPC_CheckType, MVT::i1,
42151 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRAND),
42152 MVT::i1, 2, 0, 1,
42153 11,
42154 OPC_CheckType, MVT::v4i32,
42155 OPC_CheckPatternPredicate, 12,
42156 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULUWM),
42157 MVT::v4i32, 2, 0, 1,
42158 10,
42159 OPC_CheckType, MVT::v2i64,
42160 OPC_CheckPatternPredicate4,
42161 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULLD),
42162 MVT::v2i64, 2, 0, 1,
42163 16,
42164 OPC_CheckType, MVT::v8i16,
42165 OPC_CheckPatternPredicate3,
42166 OPC_EmitNode1None, TARGET_VAL(PPC::V_SET0H),
42167 MVT::v8i16, 0,
42168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMLADDUHM),
42169 MVT::v8i16, 3, 0, 1, 2,
42170 0,
42171 64, TARGET_VAL(ISD::SUBC),
42172 OPC_RecordChild0,
42173 OPC_Scope, 36,
42174 OPC_MoveChild0,
42175 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
42176 OPC_Scope, 14,
42177 OPC_CheckPredicate, 10,
42178 OPC_MoveParent,
42179 OPC_RecordChild1,
42180 OPC_CheckTypeI32,
42181 OPC_EmitConvertToTarget0,
42182 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::SUBFIC),
42183 MVT::i32, MVT::i32, 2, 1, 2,
42184 14,
42185 OPC_CheckPredicate, 12,
42186 OPC_MoveParent,
42187 OPC_RecordChild1,
42188 OPC_CheckTypeI64,
42189 OPC_EmitConvertToTarget0,
42190 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::SUBFIC8),
42191 MVT::i64, MVT::i32, 2, 1, 2,
42192 0,
42193 23,
42194 OPC_RecordChild1,
42195 OPC_SwitchType , 8, MVT::i32,
42196 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::SUBFC),
42197 MVT::i32, MVT::i32, 2, 1, 0,
42198 8, MVT::i64,
42199 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::SUBFC8),
42200 MVT::i64, MVT::i32, 2, 1, 0,
42201 0,
42202 0,
42203 105|128,33, TARGET_VAL(ISD::SETCC),
42204 OPC_RecordChild0,
42205 OPC_Scope, 20|128,8,
42206 OPC_CheckChild0TypeI32,
42207 OPC_RecordChild1,
42208 OPC_Scope, 13|128,5,
42209 OPC_MoveChild1,
42210 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
42211 OPC_Scope, 23,
42212 OPC_CheckPredicate0,
42213 OPC_MoveParent,
42214 OPC_CheckChild2CondCode, ISD::SETULT,
42215 OPC_CheckType, MVT::i1,
42216 OPC_EmitConvertToTarget1,
42217 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42218 MVT::i32, 2, 0, 2,
42219 OPC_EmitStringInteger32, PPC::sub_lt,
42220 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42221 MVT::i1, 2, 3, 4,
42222 24,
42223 OPC_CheckPredicate, 10,
42224 OPC_MoveParent,
42225 OPC_CheckChild2CondCode, ISD::SETLT,
42226 OPC_CheckType, MVT::i1,
42227 OPC_EmitConvertToTarget1,
42228 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42229 MVT::i32, 2, 0, 2,
42230 OPC_EmitStringInteger32, PPC::sub_lt,
42231 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42232 MVT::i1, 2, 3, 4,
42233 23,
42234 OPC_CheckPredicate0,
42235 OPC_MoveParent,
42236 OPC_CheckChild2CondCode, ISD::SETUGT,
42237 OPC_CheckType, MVT::i1,
42238 OPC_EmitConvertToTarget1,
42239 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42240 MVT::i32, 2, 0, 2,
42241 OPC_EmitStringInteger32, PPC::sub_gt,
42242 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42243 MVT::i1, 2, 3, 4,
42244 47,
42245 OPC_CheckPredicate, 10,
42246 OPC_MoveParent,
42247 OPC_CheckType, MVT::i1,
42248 OPC_Scope, 19,
42249 OPC_CheckChild2CondCode, ISD::SETGT,
42250 OPC_EmitConvertToTarget1,
42251 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42252 MVT::i32, 2, 0, 2,
42253 OPC_EmitStringInteger32, PPC::sub_gt,
42254 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42255 MVT::i1, 2, 3, 4,
42256 19,
42257 OPC_CheckChild2CondCode, ISD::SETEQ,
42258 OPC_EmitConvertToTarget1,
42259 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42260 MVT::i32, 2, 0, 2,
42261 OPC_EmitStringInteger32, PPC::sub_eq,
42262 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42263 MVT::i1, 2, 3, 4,
42264 0,
42265 53,
42266 OPC_CheckPredicate0,
42267 OPC_MoveParent,
42268 OPC_CheckType, MVT::i1,
42269 OPC_Scope, 19,
42270 OPC_CheckChild2CondCode, ISD::SETEQ,
42271 OPC_EmitConvertToTarget1,
42272 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42273 MVT::i32, 2, 0, 2,
42274 OPC_EmitStringInteger32, PPC::sub_eq,
42275 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42276 MVT::i1, 2, 3, 4,
42277 26,
42278 OPC_CheckChild2CondCode, ISD::SETUGE,
42279 OPC_CheckPatternPredicate4,
42280 OPC_EmitConvertToTarget1,
42281 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42282 MVT::i32, 2, 0, 2,
42283 OPC_EmitStringInteger32, PPC::sub_lt,
42284 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42285 MVT::i1, 2, 3, 4,
42286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42287 MVT::i1, 1, 5,
42288 0,
42289 31,
42290 OPC_CheckPredicate, 10,
42291 OPC_MoveParent,
42292 OPC_CheckChild2CondCode, ISD::SETGE,
42293 OPC_CheckType, MVT::i1,
42294 OPC_CheckPatternPredicate4,
42295 OPC_EmitConvertToTarget1,
42296 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42297 MVT::i32, 2, 0, 2,
42298 OPC_EmitStringInteger32, PPC::sub_lt,
42299 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42300 MVT::i1, 2, 3, 4,
42301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42302 MVT::i1, 1, 5,
42303 30,
42304 OPC_CheckPredicate0,
42305 OPC_MoveParent,
42306 OPC_CheckChild2CondCode, ISD::SETULE,
42307 OPC_CheckType, MVT::i1,
42308 OPC_CheckPatternPredicate4,
42309 OPC_EmitConvertToTarget1,
42310 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42311 MVT::i32, 2, 0, 2,
42312 OPC_EmitStringInteger32, PPC::sub_gt,
42313 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42314 MVT::i1, 2, 3, 4,
42315 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42316 MVT::i1, 1, 5,
42317 61,
42318 OPC_CheckPredicate, 10,
42319 OPC_MoveParent,
42320 OPC_CheckType, MVT::i1,
42321 OPC_Scope, 26,
42322 OPC_CheckChild2CondCode, ISD::SETLE,
42323 OPC_CheckPatternPredicate4,
42324 OPC_EmitConvertToTarget1,
42325 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42326 MVT::i32, 2, 0, 2,
42327 OPC_EmitStringInteger32, PPC::sub_gt,
42328 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42329 MVT::i1, 2, 3, 4,
42330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42331 MVT::i1, 1, 5,
42332 26,
42333 OPC_CheckChild2CondCode, ISD::SETNE,
42334 OPC_CheckPatternPredicate4,
42335 OPC_EmitConvertToTarget1,
42336 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42337 MVT::i32, 2, 0, 2,
42338 OPC_EmitStringInteger32, PPC::sub_eq,
42339 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42340 MVT::i1, 2, 3, 4,
42341 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42342 MVT::i1, 1, 5,
42343 0,
42344 61,
42345 OPC_CheckPredicate0,
42346 OPC_MoveParent,
42347 OPC_CheckType, MVT::i1,
42348 OPC_Scope, 26,
42349 OPC_CheckChild2CondCode, ISD::SETNE,
42350 OPC_CheckPatternPredicate4,
42351 OPC_EmitConvertToTarget1,
42352 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42353 MVT::i32, 2, 0, 2,
42354 OPC_EmitStringInteger32, PPC::sub_eq,
42355 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42356 MVT::i1, 2, 3, 4,
42357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42358 MVT::i1, 1, 5,
42359 27,
42360 OPC_CheckChild2CondCode, ISD::SETUGE,
42361 OPC_CheckPatternPredicate, 8,
42362 OPC_EmitConvertToTarget1,
42363 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42364 MVT::i32, 2, 0, 2,
42365 OPC_EmitStringInteger32, PPC::sub_lt,
42366 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42367 MVT::i1, 2, 3, 4,
42368 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42369 MVT::i1, 1, 5,
42370 0,
42371 32,
42372 OPC_CheckPredicate, 10,
42373 OPC_MoveParent,
42374 OPC_CheckChild2CondCode, ISD::SETGE,
42375 OPC_CheckType, MVT::i1,
42376 OPC_CheckPatternPredicate, 8,
42377 OPC_EmitConvertToTarget1,
42378 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42379 MVT::i32, 2, 0, 2,
42380 OPC_EmitStringInteger32, PPC::sub_lt,
42381 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42382 MVT::i1, 2, 3, 4,
42383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42384 MVT::i1, 1, 5,
42385 31,
42386 OPC_CheckPredicate0,
42387 OPC_MoveParent,
42388 OPC_CheckChild2CondCode, ISD::SETULE,
42389 OPC_CheckType, MVT::i1,
42390 OPC_CheckPatternPredicate, 8,
42391 OPC_EmitConvertToTarget1,
42392 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42393 MVT::i32, 2, 0, 2,
42394 OPC_EmitStringInteger32, PPC::sub_gt,
42395 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42396 MVT::i1, 2, 3, 4,
42397 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42398 MVT::i1, 1, 5,
42399 63,
42400 OPC_CheckPredicate, 10,
42401 OPC_MoveParent,
42402 OPC_CheckType, MVT::i1,
42403 OPC_Scope, 27,
42404 OPC_CheckChild2CondCode, ISD::SETLE,
42405 OPC_CheckPatternPredicate, 8,
42406 OPC_EmitConvertToTarget1,
42407 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42408 MVT::i32, 2, 0, 2,
42409 OPC_EmitStringInteger32, PPC::sub_gt,
42410 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42411 MVT::i1, 2, 3, 4,
42412 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42413 MVT::i1, 1, 5,
42414 27,
42415 OPC_CheckChild2CondCode, ISD::SETNE,
42416 OPC_CheckPatternPredicate, 8,
42417 OPC_EmitConvertToTarget1,
42418 OPC_EmitNode1None, TARGET_VAL(PPC::CMPWI),
42419 MVT::i32, 2, 0, 2,
42420 OPC_EmitStringInteger32, PPC::sub_eq,
42421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42422 MVT::i1, 2, 3, 4,
42423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42424 MVT::i1, 1, 5,
42425 0,
42426 31,
42427 OPC_CheckPredicate0,
42428 OPC_MoveParent,
42429 OPC_CheckChild2CondCode, ISD::SETNE,
42430 OPC_CheckType, MVT::i1,
42431 OPC_CheckPatternPredicate, 8,
42432 OPC_EmitConvertToTarget1,
42433 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42434 MVT::i32, 2, 0, 2,
42435 OPC_EmitStringInteger32, PPC::sub_eq,
42436 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42437 MVT::i1, 2, 3, 4,
42438 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42439 MVT::i1, 1, 5,
42440 123,
42441 OPC_MoveParent,
42442 OPC_CheckType, MVT::i1,
42443 OPC_Scope, 33,
42444 OPC_CheckChild2CondCode, ISD::SETEQ,
42445 OPC_EmitConvertToTarget1,
42446 OPC_EmitNodeXForm, 0, 2,
42447 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
42448 MVT::i32, 2, 0, 3,
42449 OPC_EmitConvertToTarget1,
42450 OPC_EmitNodeXForm, 1, 5,
42451 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42452 MVT::i32, 2, 4, 6,
42453 OPC_EmitStringInteger32, PPC::sub_eq,
42454 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42455 MVT::i1, 2, 7, 8,
42456 83,
42457 OPC_CheckChild2CondCode, ISD::SETNE,
42458 OPC_Scope, 38,
42459 OPC_CheckPatternPredicate4,
42460 OPC_EmitConvertToTarget1,
42461 OPC_EmitNodeXForm, 0, 2,
42462 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
42463 MVT::i32, 2, 0, 3,
42464 OPC_EmitConvertToTarget1,
42465 OPC_EmitNodeXForm, 1, 5,
42466 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42467 MVT::i32, 2, 4, 6,
42468 OPC_EmitStringInteger32, PPC::sub_eq,
42469 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42470 MVT::i1, 2, 7, 8,
42471 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42472 MVT::i1, 1, 9,
42473 39,
42474 OPC_CheckPatternPredicate, 8,
42475 OPC_EmitConvertToTarget1,
42476 OPC_EmitNodeXForm, 0, 2,
42477 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS),
42478 MVT::i32, 2, 0, 3,
42479 OPC_EmitConvertToTarget1,
42480 OPC_EmitNodeXForm, 1, 5,
42481 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLWI),
42482 MVT::i32, 2, 4, 6,
42483 OPC_EmitStringInteger32, PPC::sub_eq,
42484 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42485 MVT::i1, 2, 7, 8,
42486 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42487 MVT::i1, 1, 9,
42488 0,
42489 0,
42490 0,
42491 20,
42492 OPC_CheckChild2CondCode, ISD::SETULT,
42493 OPC_CheckType, MVT::i1,
42494 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42495 MVT::i32, 2, 0, 1,
42496 OPC_EmitStringInteger32, PPC::sub_lt,
42497 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42498 MVT::i1, 2, 2, 3,
42499 20,
42500 OPC_CheckChild2CondCode, ISD::SETLT,
42501 OPC_CheckType, MVT::i1,
42502 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42503 MVT::i32, 2, 0, 1,
42504 OPC_EmitStringInteger32, PPC::sub_lt,
42505 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42506 MVT::i1, 2, 2, 3,
42507 20,
42508 OPC_CheckChild2CondCode, ISD::SETUGT,
42509 OPC_CheckType, MVT::i1,
42510 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42511 MVT::i32, 2, 0, 1,
42512 OPC_EmitStringInteger32, PPC::sub_gt,
42513 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42514 MVT::i1, 2, 2, 3,
42515 20,
42516 OPC_CheckChild2CondCode, ISD::SETGT,
42517 OPC_CheckType, MVT::i1,
42518 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42519 MVT::i32, 2, 0, 1,
42520 OPC_EmitStringInteger32, PPC::sub_gt,
42521 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42522 MVT::i1, 2, 2, 3,
42523 20,
42524 OPC_CheckChild2CondCode, ISD::SETEQ,
42525 OPC_CheckType, MVT::i1,
42526 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42527 MVT::i32, 2, 0, 1,
42528 OPC_EmitStringInteger32, PPC::sub_eq,
42529 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42530 MVT::i1, 2, 2, 3,
42531 55,
42532 OPC_CheckChild2CondCode, ISD::SETUGE,
42533 OPC_CheckType, MVT::i1,
42534 OPC_Scope, 23,
42535 OPC_CheckPatternPredicate4,
42536 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42537 MVT::i32, 2, 0, 1,
42538 OPC_EmitStringInteger32, PPC::sub_lt,
42539 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42540 MVT::i1, 2, 2, 3,
42541 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42542 MVT::i1, 1, 4,
42543 24,
42544 OPC_CheckPatternPredicate, 8,
42545 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42546 MVT::i32, 2, 0, 1,
42547 OPC_EmitStringInteger32, PPC::sub_lt,
42548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42549 MVT::i1, 2, 2, 3,
42550 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42551 MVT::i1, 1, 4,
42552 0,
42553 55,
42554 OPC_CheckChild2CondCode, ISD::SETGE,
42555 OPC_CheckType, MVT::i1,
42556 OPC_Scope, 23,
42557 OPC_CheckPatternPredicate4,
42558 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42559 MVT::i32, 2, 0, 1,
42560 OPC_EmitStringInteger32, PPC::sub_lt,
42561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42562 MVT::i1, 2, 2, 3,
42563 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42564 MVT::i1, 1, 4,
42565 24,
42566 OPC_CheckPatternPredicate, 8,
42567 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42568 MVT::i32, 2, 0, 1,
42569 OPC_EmitStringInteger32, PPC::sub_lt,
42570 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42571 MVT::i1, 2, 2, 3,
42572 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42573 MVT::i1, 1, 4,
42574 0,
42575 55,
42576 OPC_CheckChild2CondCode, ISD::SETULE,
42577 OPC_CheckType, MVT::i1,
42578 OPC_Scope, 23,
42579 OPC_CheckPatternPredicate4,
42580 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42581 MVT::i32, 2, 0, 1,
42582 OPC_EmitStringInteger32, PPC::sub_gt,
42583 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42584 MVT::i1, 2, 2, 3,
42585 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42586 MVT::i1, 1, 4,
42587 24,
42588 OPC_CheckPatternPredicate, 8,
42589 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLW),
42590 MVT::i32, 2, 0, 1,
42591 OPC_EmitStringInteger32, PPC::sub_gt,
42592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42593 MVT::i1, 2, 2, 3,
42594 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42595 MVT::i1, 1, 4,
42596 0,
42597 55,
42598 OPC_CheckChild2CondCode, ISD::SETLE,
42599 OPC_CheckType, MVT::i1,
42600 OPC_Scope, 23,
42601 OPC_CheckPatternPredicate4,
42602 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42603 MVT::i32, 2, 0, 1,
42604 OPC_EmitStringInteger32, PPC::sub_gt,
42605 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42606 MVT::i1, 2, 2, 3,
42607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42608 MVT::i1, 1, 4,
42609 24,
42610 OPC_CheckPatternPredicate, 8,
42611 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42612 MVT::i32, 2, 0, 1,
42613 OPC_EmitStringInteger32, PPC::sub_gt,
42614 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42615 MVT::i1, 2, 2, 3,
42616 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42617 MVT::i1, 1, 4,
42618 0,
42619 55,
42620 OPC_CheckChild2CondCode, ISD::SETNE,
42621 OPC_CheckType, MVT::i1,
42622 OPC_Scope, 23,
42623 OPC_CheckPatternPredicate4,
42624 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42625 MVT::i32, 2, 0, 1,
42626 OPC_EmitStringInteger32, PPC::sub_eq,
42627 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42628 MVT::i1, 2, 2, 3,
42629 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42630 MVT::i1, 1, 4,
42631 24,
42632 OPC_CheckPatternPredicate, 8,
42633 OPC_EmitNode1None, TARGET_VAL(PPC::CMPW),
42634 MVT::i32, 2, 0, 1,
42635 OPC_EmitStringInteger32, PPC::sub_eq,
42636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42637 MVT::i1, 2, 2, 3,
42638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42639 MVT::i1, 1, 4,
42640 0,
42641 0,
42642 25|128,8,
42643 OPC_CheckChild0TypeI64,
42644 OPC_RecordChild1,
42645 OPC_Scope, 18|128,5,
42646 OPC_MoveChild1,
42647 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
42648 OPC_Scope, 23,
42649 OPC_CheckPredicate0,
42650 OPC_MoveParent,
42651 OPC_CheckChild2CondCode, ISD::SETULT,
42652 OPC_CheckType, MVT::i1,
42653 OPC_EmitConvertToTarget1,
42654 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42655 MVT::i32, 2, 0, 2,
42656 OPC_EmitStringInteger32, PPC::sub_lt,
42657 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42658 MVT::i1, 2, 3, 4,
42659 24,
42660 OPC_CheckPredicate, 12,
42661 OPC_MoveParent,
42662 OPC_CheckChild2CondCode, ISD::SETLT,
42663 OPC_CheckType, MVT::i1,
42664 OPC_EmitConvertToTarget1,
42665 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42666 MVT::i32, 2, 0, 2,
42667 OPC_EmitStringInteger32, PPC::sub_lt,
42668 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42669 MVT::i1, 2, 3, 4,
42670 23,
42671 OPC_CheckPredicate0,
42672 OPC_MoveParent,
42673 OPC_CheckChild2CondCode, ISD::SETUGT,
42674 OPC_CheckType, MVT::i1,
42675 OPC_EmitConvertToTarget1,
42676 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42677 MVT::i32, 2, 0, 2,
42678 OPC_EmitStringInteger32, PPC::sub_gt,
42679 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42680 MVT::i1, 2, 3, 4,
42681 47,
42682 OPC_CheckPredicate, 12,
42683 OPC_MoveParent,
42684 OPC_CheckType, MVT::i1,
42685 OPC_Scope, 19,
42686 OPC_CheckChild2CondCode, ISD::SETGT,
42687 OPC_EmitConvertToTarget1,
42688 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42689 MVT::i32, 2, 0, 2,
42690 OPC_EmitStringInteger32, PPC::sub_gt,
42691 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42692 MVT::i1, 2, 3, 4,
42693 19,
42694 OPC_CheckChild2CondCode, ISD::SETEQ,
42695 OPC_EmitConvertToTarget1,
42696 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42697 MVT::i32, 2, 0, 2,
42698 OPC_EmitStringInteger32, PPC::sub_eq,
42699 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42700 MVT::i1, 2, 3, 4,
42701 0,
42702 53,
42703 OPC_CheckPredicate0,
42704 OPC_MoveParent,
42705 OPC_CheckType, MVT::i1,
42706 OPC_Scope, 19,
42707 OPC_CheckChild2CondCode, ISD::SETEQ,
42708 OPC_EmitConvertToTarget1,
42709 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42710 MVT::i32, 2, 0, 2,
42711 OPC_EmitStringInteger32, PPC::sub_eq,
42712 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42713 MVT::i1, 2, 3, 4,
42714 26,
42715 OPC_CheckChild2CondCode, ISD::SETUGE,
42716 OPC_CheckPatternPredicate4,
42717 OPC_EmitConvertToTarget1,
42718 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42719 MVT::i32, 2, 0, 2,
42720 OPC_EmitStringInteger32, PPC::sub_lt,
42721 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42722 MVT::i1, 2, 3, 4,
42723 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42724 MVT::i1, 1, 5,
42725 0,
42726 31,
42727 OPC_CheckPredicate, 12,
42728 OPC_MoveParent,
42729 OPC_CheckChild2CondCode, ISD::SETGE,
42730 OPC_CheckType, MVT::i1,
42731 OPC_CheckPatternPredicate4,
42732 OPC_EmitConvertToTarget1,
42733 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42734 MVT::i32, 2, 0, 2,
42735 OPC_EmitStringInteger32, PPC::sub_lt,
42736 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42737 MVT::i1, 2, 3, 4,
42738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42739 MVT::i1, 1, 5,
42740 30,
42741 OPC_CheckPredicate0,
42742 OPC_MoveParent,
42743 OPC_CheckChild2CondCode, ISD::SETULE,
42744 OPC_CheckType, MVT::i1,
42745 OPC_CheckPatternPredicate4,
42746 OPC_EmitConvertToTarget1,
42747 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42748 MVT::i32, 2, 0, 2,
42749 OPC_EmitStringInteger32, PPC::sub_gt,
42750 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42751 MVT::i1, 2, 3, 4,
42752 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42753 MVT::i1, 1, 5,
42754 61,
42755 OPC_CheckPredicate, 12,
42756 OPC_MoveParent,
42757 OPC_CheckType, MVT::i1,
42758 OPC_Scope, 26,
42759 OPC_CheckChild2CondCode, ISD::SETLE,
42760 OPC_CheckPatternPredicate4,
42761 OPC_EmitConvertToTarget1,
42762 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42763 MVT::i32, 2, 0, 2,
42764 OPC_EmitStringInteger32, PPC::sub_gt,
42765 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42766 MVT::i1, 2, 3, 4,
42767 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42768 MVT::i1, 1, 5,
42769 26,
42770 OPC_CheckChild2CondCode, ISD::SETNE,
42771 OPC_CheckPatternPredicate4,
42772 OPC_EmitConvertToTarget1,
42773 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42774 MVT::i32, 2, 0, 2,
42775 OPC_EmitStringInteger32, PPC::sub_eq,
42776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42777 MVT::i1, 2, 3, 4,
42778 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42779 MVT::i1, 1, 5,
42780 0,
42781 30,
42782 OPC_CheckPredicate0,
42783 OPC_MoveParent,
42784 OPC_CheckChild2CondCode, ISD::SETNE,
42785 OPC_CheckType, MVT::i1,
42786 OPC_CheckPatternPredicate4,
42787 OPC_EmitConvertToTarget1,
42788 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42789 MVT::i32, 2, 0, 2,
42790 OPC_EmitStringInteger32, PPC::sub_eq,
42791 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42792 MVT::i1, 2, 3, 4,
42793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42794 MVT::i1, 1, 5,
42795 38,
42796 OPC_CheckPredicate, 22,
42797 OPC_MoveParent,
42798 OPC_CheckChild2CondCode, ISD::SETEQ,
42799 OPC_CheckType, MVT::i1,
42800 OPC_EmitConvertToTarget1,
42801 OPC_EmitNodeXForm, 0, 2,
42802 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
42803 MVT::i64, 2, 0, 3,
42804 OPC_EmitConvertToTarget1,
42805 OPC_EmitNodeXForm, 1, 5,
42806 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42807 MVT::i32, 2, 4, 6,
42808 OPC_EmitStringInteger32, PPC::sub_eq,
42809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42810 MVT::i1, 2, 7, 8,
42811 31,
42812 OPC_CheckPredicate0,
42813 OPC_MoveParent,
42814 OPC_CheckChild2CondCode, ISD::SETUGE,
42815 OPC_CheckType, MVT::i1,
42816 OPC_CheckPatternPredicate, 8,
42817 OPC_EmitConvertToTarget1,
42818 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42819 MVT::i32, 2, 0, 2,
42820 OPC_EmitStringInteger32, PPC::sub_lt,
42821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42822 MVT::i1, 2, 3, 4,
42823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42824 MVT::i1, 1, 5,
42825 32,
42826 OPC_CheckPredicate, 12,
42827 OPC_MoveParent,
42828 OPC_CheckChild2CondCode, ISD::SETGE,
42829 OPC_CheckType, MVT::i1,
42830 OPC_CheckPatternPredicate, 8,
42831 OPC_EmitConvertToTarget1,
42832 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42833 MVT::i32, 2, 0, 2,
42834 OPC_EmitStringInteger32, PPC::sub_lt,
42835 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42836 MVT::i1, 2, 3, 4,
42837 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42838 MVT::i1, 1, 5,
42839 31,
42840 OPC_CheckPredicate0,
42841 OPC_MoveParent,
42842 OPC_CheckChild2CondCode, ISD::SETULE,
42843 OPC_CheckType, MVT::i1,
42844 OPC_CheckPatternPredicate, 8,
42845 OPC_EmitConvertToTarget1,
42846 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42847 MVT::i32, 2, 0, 2,
42848 OPC_EmitStringInteger32, PPC::sub_gt,
42849 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42850 MVT::i1, 2, 3, 4,
42851 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42852 MVT::i1, 1, 5,
42853 63,
42854 OPC_CheckPredicate, 12,
42855 OPC_MoveParent,
42856 OPC_CheckType, MVT::i1,
42857 OPC_Scope, 27,
42858 OPC_CheckChild2CondCode, ISD::SETLE,
42859 OPC_CheckPatternPredicate, 8,
42860 OPC_EmitConvertToTarget1,
42861 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42862 MVT::i32, 2, 0, 2,
42863 OPC_EmitStringInteger32, PPC::sub_gt,
42864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42865 MVT::i1, 2, 3, 4,
42866 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42867 MVT::i1, 1, 5,
42868 27,
42869 OPC_CheckChild2CondCode, ISD::SETNE,
42870 OPC_CheckPatternPredicate, 8,
42871 OPC_EmitConvertToTarget1,
42872 OPC_EmitNode1None, TARGET_VAL(PPC::CMPDI),
42873 MVT::i32, 2, 0, 2,
42874 OPC_EmitStringInteger32, PPC::sub_eq,
42875 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42876 MVT::i1, 2, 3, 4,
42877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42878 MVT::i1, 1, 5,
42879 0,
42880 31,
42881 OPC_CheckPredicate0,
42882 OPC_MoveParent,
42883 OPC_CheckChild2CondCode, ISD::SETNE,
42884 OPC_CheckType, MVT::i1,
42885 OPC_CheckPatternPredicate, 8,
42886 OPC_EmitConvertToTarget1,
42887 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42888 MVT::i32, 2, 0, 2,
42889 OPC_EmitStringInteger32, PPC::sub_eq,
42890 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42891 MVT::i1, 2, 3, 4,
42892 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42893 MVT::i1, 1, 5,
42894 88,
42895 OPC_CheckPredicate, 22,
42896 OPC_MoveParent,
42897 OPC_CheckChild2CondCode, ISD::SETNE,
42898 OPC_CheckType, MVT::i1,
42899 OPC_Scope, 38,
42900 OPC_CheckPatternPredicate4,
42901 OPC_EmitConvertToTarget1,
42902 OPC_EmitNodeXForm, 0, 2,
42903 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
42904 MVT::i64, 2, 0, 3,
42905 OPC_EmitConvertToTarget1,
42906 OPC_EmitNodeXForm, 1, 5,
42907 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42908 MVT::i32, 2, 4, 6,
42909 OPC_EmitStringInteger32, PPC::sub_eq,
42910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42911 MVT::i1, 2, 7, 8,
42912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42913 MVT::i1, 1, 9,
42914 39,
42915 OPC_CheckPatternPredicate, 8,
42916 OPC_EmitConvertToTarget1,
42917 OPC_EmitNodeXForm, 0, 2,
42918 OPC_EmitNode1None, TARGET_VAL(PPC::XORIS8),
42919 MVT::i64, 2, 0, 3,
42920 OPC_EmitConvertToTarget1,
42921 OPC_EmitNodeXForm, 1, 5,
42922 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLDI),
42923 MVT::i32, 2, 4, 6,
42924 OPC_EmitStringInteger32, PPC::sub_eq,
42925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42926 MVT::i1, 2, 7, 8,
42927 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42928 MVT::i1, 1, 9,
42929 0,
42930 0,
42931 20,
42932 OPC_CheckChild2CondCode, ISD::SETULT,
42933 OPC_CheckType, MVT::i1,
42934 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
42935 MVT::i32, 2, 0, 1,
42936 OPC_EmitStringInteger32, PPC::sub_lt,
42937 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42938 MVT::i1, 2, 2, 3,
42939 20,
42940 OPC_CheckChild2CondCode, ISD::SETLT,
42941 OPC_CheckType, MVT::i1,
42942 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
42943 MVT::i32, 2, 0, 1,
42944 OPC_EmitStringInteger32, PPC::sub_lt,
42945 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42946 MVT::i1, 2, 2, 3,
42947 20,
42948 OPC_CheckChild2CondCode, ISD::SETUGT,
42949 OPC_CheckType, MVT::i1,
42950 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
42951 MVT::i32, 2, 0, 1,
42952 OPC_EmitStringInteger32, PPC::sub_gt,
42953 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42954 MVT::i1, 2, 2, 3,
42955 20,
42956 OPC_CheckChild2CondCode, ISD::SETGT,
42957 OPC_CheckType, MVT::i1,
42958 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
42959 MVT::i32, 2, 0, 1,
42960 OPC_EmitStringInteger32, PPC::sub_gt,
42961 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42962 MVT::i1, 2, 2, 3,
42963 20,
42964 OPC_CheckChild2CondCode, ISD::SETEQ,
42965 OPC_CheckType, MVT::i1,
42966 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
42967 MVT::i32, 2, 0, 1,
42968 OPC_EmitStringInteger32, PPC::sub_eq,
42969 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42970 MVT::i1, 2, 2, 3,
42971 55,
42972 OPC_CheckChild2CondCode, ISD::SETUGE,
42973 OPC_CheckType, MVT::i1,
42974 OPC_Scope, 23,
42975 OPC_CheckPatternPredicate4,
42976 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
42977 MVT::i32, 2, 0, 1,
42978 OPC_EmitStringInteger32, PPC::sub_lt,
42979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42980 MVT::i1, 2, 2, 3,
42981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42982 MVT::i1, 1, 4,
42983 24,
42984 OPC_CheckPatternPredicate, 8,
42985 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
42986 MVT::i32, 2, 0, 1,
42987 OPC_EmitStringInteger32, PPC::sub_lt,
42988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42989 MVT::i1, 2, 2, 3,
42990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
42991 MVT::i1, 1, 4,
42992 0,
42993 55,
42994 OPC_CheckChild2CondCode, ISD::SETGE,
42995 OPC_CheckType, MVT::i1,
42996 OPC_Scope, 23,
42997 OPC_CheckPatternPredicate4,
42998 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
42999 MVT::i32, 2, 0, 1,
43000 OPC_EmitStringInteger32, PPC::sub_lt,
43001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43002 MVT::i1, 2, 2, 3,
43003 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43004 MVT::i1, 1, 4,
43005 24,
43006 OPC_CheckPatternPredicate, 8,
43007 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
43008 MVT::i32, 2, 0, 1,
43009 OPC_EmitStringInteger32, PPC::sub_lt,
43010 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43011 MVT::i1, 2, 2, 3,
43012 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43013 MVT::i1, 1, 4,
43014 0,
43015 55,
43016 OPC_CheckChild2CondCode, ISD::SETULE,
43017 OPC_CheckType, MVT::i1,
43018 OPC_Scope, 23,
43019 OPC_CheckPatternPredicate4,
43020 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
43021 MVT::i32, 2, 0, 1,
43022 OPC_EmitStringInteger32, PPC::sub_gt,
43023 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43024 MVT::i1, 2, 2, 3,
43025 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43026 MVT::i1, 1, 4,
43027 24,
43028 OPC_CheckPatternPredicate, 8,
43029 OPC_EmitNode1None, TARGET_VAL(PPC::CMPLD),
43030 MVT::i32, 2, 0, 1,
43031 OPC_EmitStringInteger32, PPC::sub_gt,
43032 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43033 MVT::i1, 2, 2, 3,
43034 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43035 MVT::i1, 1, 4,
43036 0,
43037 55,
43038 OPC_CheckChild2CondCode, ISD::SETLE,
43039 OPC_CheckType, MVT::i1,
43040 OPC_Scope, 23,
43041 OPC_CheckPatternPredicate4,
43042 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
43043 MVT::i32, 2, 0, 1,
43044 OPC_EmitStringInteger32, PPC::sub_gt,
43045 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43046 MVT::i1, 2, 2, 3,
43047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43048 MVT::i1, 1, 4,
43049 24,
43050 OPC_CheckPatternPredicate, 8,
43051 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
43052 MVT::i32, 2, 0, 1,
43053 OPC_EmitStringInteger32, PPC::sub_gt,
43054 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43055 MVT::i1, 2, 2, 3,
43056 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43057 MVT::i1, 1, 4,
43058 0,
43059 55,
43060 OPC_CheckChild2CondCode, ISD::SETNE,
43061 OPC_CheckType, MVT::i1,
43062 OPC_Scope, 23,
43063 OPC_CheckPatternPredicate4,
43064 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
43065 MVT::i32, 2, 0, 1,
43066 OPC_EmitStringInteger32, PPC::sub_eq,
43067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43068 MVT::i1, 2, 2, 3,
43069 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43070 MVT::i1, 1, 4,
43071 24,
43072 OPC_CheckPatternPredicate, 8,
43073 OPC_EmitNode1None, TARGET_VAL(PPC::CMPD),
43074 MVT::i32, 2, 0, 1,
43075 OPC_EmitStringInteger32, PPC::sub_eq,
43076 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43077 MVT::i1, 2, 2, 3,
43078 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43079 MVT::i1, 1, 4,
43080 0,
43081 0,
43082 107,
43083 OPC_CheckChild0Type, MVT::i1,
43084 OPC_RecordChild1,
43085 OPC_CheckType, MVT::i1,
43086 OPC_Scope, 9,
43087 OPC_CheckChild2CondCode, ISD::SETLT,
43088 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
43089 MVT::i1, 2, 0, 1,
43090 9,
43091 OPC_CheckChild2CondCode, ISD::SETULT,
43092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
43093 MVT::i1, 2, 1, 0,
43094 9,
43095 OPC_CheckChild2CondCode, ISD::SETLE,
43096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
43097 MVT::i1, 2, 0, 1,
43098 9,
43099 OPC_CheckChild2CondCode, ISD::SETULE,
43100 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
43101 MVT::i1, 2, 1, 0,
43102 9,
43103 OPC_CheckChild2CondCode, ISD::SETEQ,
43104 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CREQV),
43105 MVT::i1, 2, 0, 1,
43106 9,
43107 OPC_CheckChild2CondCode, ISD::SETGE,
43108 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
43109 MVT::i1, 2, 1, 0,
43110 9,
43111 OPC_CheckChild2CondCode, ISD::SETUGE,
43112 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRORC),
43113 MVT::i1, 2, 0, 1,
43114 9,
43115 OPC_CheckChild2CondCode, ISD::SETGT,
43116 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
43117 MVT::i1, 2, 1, 0,
43118 9,
43119 OPC_CheckChild2CondCode, ISD::SETUGT,
43120 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRANDC),
43121 MVT::i1, 2, 0, 1,
43122 9,
43123 OPC_CheckChild2CondCode, ISD::SETNE,
43124 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRXOR),
43125 MVT::i1, 2, 0, 1,
43126 0,
43127 27|128,6,
43128 OPC_CheckChild0Type, MVT::f32,
43129 OPC_RecordChild1,
43130 OPC_CheckType, MVT::i1,
43131 OPC_Scope, 40,
43132 OPC_CheckChild2CondCode, ISD::SETOLT,
43133 OPC_Scope, 17,
43134 OPC_CheckPatternPredicate0,
43135 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43136 MVT::i32, 2, 0, 1,
43137 OPC_EmitStringInteger32, PPC::sub_lt,
43138 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43139 MVT::i1, 2, 2, 3,
43140 17,
43141 OPC_CheckPatternPredicate5,
43142 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
43143 MVT::i32, 2, 0, 1,
43144 OPC_EmitStringInteger32, PPC::sub_gt,
43145 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43146 MVT::i1, 2, 2, 3,
43147 0,
43148 40,
43149 OPC_CheckChild2CondCode, ISD::SETLT,
43150 OPC_Scope, 17,
43151 OPC_CheckPatternPredicate0,
43152 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43153 MVT::i32, 2, 0, 1,
43154 OPC_EmitStringInteger32, PPC::sub_lt,
43155 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43156 MVT::i1, 2, 2, 3,
43157 17,
43158 OPC_CheckPatternPredicate5,
43159 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
43160 MVT::i32, 2, 0, 1,
43161 OPC_EmitStringInteger32, PPC::sub_gt,
43162 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43163 MVT::i1, 2, 2, 3,
43164 0,
43165 40,
43166 OPC_CheckChild2CondCode, ISD::SETOGT,
43167 OPC_Scope, 17,
43168 OPC_CheckPatternPredicate0,
43169 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43170 MVT::i32, 2, 0, 1,
43171 OPC_EmitStringInteger32, PPC::sub_gt,
43172 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43173 MVT::i1, 2, 2, 3,
43174 17,
43175 OPC_CheckPatternPredicate5,
43176 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
43177 MVT::i32, 2, 0, 1,
43178 OPC_EmitStringInteger32, PPC::sub_gt,
43179 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43180 MVT::i1, 2, 2, 3,
43181 0,
43182 40,
43183 OPC_CheckChild2CondCode, ISD::SETGT,
43184 OPC_Scope, 17,
43185 OPC_CheckPatternPredicate0,
43186 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43187 MVT::i32, 2, 0, 1,
43188 OPC_EmitStringInteger32, PPC::sub_gt,
43189 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43190 MVT::i1, 2, 2, 3,
43191 17,
43192 OPC_CheckPatternPredicate5,
43193 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
43194 MVT::i32, 2, 0, 1,
43195 OPC_EmitStringInteger32, PPC::sub_gt,
43196 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43197 MVT::i1, 2, 2, 3,
43198 0,
43199 40,
43200 OPC_CheckChild2CondCode, ISD::SETOEQ,
43201 OPC_Scope, 17,
43202 OPC_CheckPatternPredicate0,
43203 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43204 MVT::i32, 2, 0, 1,
43205 OPC_EmitStringInteger32, PPC::sub_eq,
43206 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43207 MVT::i1, 2, 2, 3,
43208 17,
43209 OPC_CheckPatternPredicate5,
43210 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
43211 MVT::i32, 2, 0, 1,
43212 OPC_EmitStringInteger32, PPC::sub_gt,
43213 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43214 MVT::i1, 2, 2, 3,
43215 0,
43216 40,
43217 OPC_CheckChild2CondCode, ISD::SETEQ,
43218 OPC_Scope, 17,
43219 OPC_CheckPatternPredicate0,
43220 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43221 MVT::i32, 2, 0, 1,
43222 OPC_EmitStringInteger32, PPC::sub_eq,
43223 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43224 MVT::i1, 2, 2, 3,
43225 17,
43226 OPC_CheckPatternPredicate5,
43227 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
43228 MVT::i32, 2, 0, 1,
43229 OPC_EmitStringInteger32, PPC::sub_gt,
43230 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43231 MVT::i1, 2, 2, 3,
43232 0,
43233 19,
43234 OPC_CheckChild2CondCode, ISD::SETUO,
43235 OPC_CheckPatternPredicate0,
43236 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43237 MVT::i32, 2, 0, 1,
43238 OPC_EmitStringInteger32, PPC::sub_un,
43239 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43240 MVT::i1, 2, 2, 3,
43241 77,
43242 OPC_CheckChild2CondCode, ISD::SETUGE,
43243 OPC_Scope, 24,
43244 OPC_CheckPatternPredicate, 10,
43245 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43246 MVT::i32, 2, 0, 1,
43247 OPC_EmitStringInteger32, PPC::sub_lt,
43248 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43249 MVT::i1, 2, 2, 3,
43250 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43251 MVT::i1, 1, 4,
43252 23,
43253 OPC_CheckPatternPredicate0,
43254 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43255 MVT::i32, 2, 0, 1,
43256 OPC_EmitStringInteger32, PPC::sub_lt,
43257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43258 MVT::i1, 2, 2, 3,
43259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43260 MVT::i1, 1, 4,
43261 23,
43262 OPC_CheckPatternPredicate5,
43263 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
43264 MVT::i32, 2, 0, 1,
43265 OPC_EmitStringInteger32, PPC::sub_gt,
43266 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43267 MVT::i1, 2, 2, 3,
43268 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43269 MVT::i1, 1, 4,
43270 0,
43271 77,
43272 OPC_CheckChild2CondCode, ISD::SETGE,
43273 OPC_Scope, 24,
43274 OPC_CheckPatternPredicate, 10,
43275 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43276 MVT::i32, 2, 0, 1,
43277 OPC_EmitStringInteger32, PPC::sub_lt,
43278 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43279 MVT::i1, 2, 2, 3,
43280 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43281 MVT::i1, 1, 4,
43282 23,
43283 OPC_CheckPatternPredicate0,
43284 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43285 MVT::i32, 2, 0, 1,
43286 OPC_EmitStringInteger32, PPC::sub_lt,
43287 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43288 MVT::i1, 2, 2, 3,
43289 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43290 MVT::i1, 1, 4,
43291 23,
43292 OPC_CheckPatternPredicate5,
43293 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPLT),
43294 MVT::i32, 2, 0, 1,
43295 OPC_EmitStringInteger32, PPC::sub_gt,
43296 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43297 MVT::i1, 2, 2, 3,
43298 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43299 MVT::i1, 1, 4,
43300 0,
43301 77,
43302 OPC_CheckChild2CondCode, ISD::SETULE,
43303 OPC_Scope, 24,
43304 OPC_CheckPatternPredicate, 10,
43305 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43306 MVT::i32, 2, 0, 1,
43307 OPC_EmitStringInteger32, PPC::sub_gt,
43308 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43309 MVT::i1, 2, 2, 3,
43310 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43311 MVT::i1, 1, 4,
43312 23,
43313 OPC_CheckPatternPredicate0,
43314 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43315 MVT::i32, 2, 0, 1,
43316 OPC_EmitStringInteger32, PPC::sub_gt,
43317 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43318 MVT::i1, 2, 2, 3,
43319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43320 MVT::i1, 1, 4,
43321 23,
43322 OPC_CheckPatternPredicate5,
43323 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
43324 MVT::i32, 2, 0, 1,
43325 OPC_EmitStringInteger32, PPC::sub_gt,
43326 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43327 MVT::i1, 2, 2, 3,
43328 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43329 MVT::i1, 1, 4,
43330 0,
43331 77,
43332 OPC_CheckChild2CondCode, ISD::SETLE,
43333 OPC_Scope, 24,
43334 OPC_CheckPatternPredicate, 10,
43335 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43336 MVT::i32, 2, 0, 1,
43337 OPC_EmitStringInteger32, PPC::sub_gt,
43338 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43339 MVT::i1, 2, 2, 3,
43340 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43341 MVT::i1, 1, 4,
43342 23,
43343 OPC_CheckPatternPredicate0,
43344 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43345 MVT::i32, 2, 0, 1,
43346 OPC_EmitStringInteger32, PPC::sub_gt,
43347 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43348 MVT::i1, 2, 2, 3,
43349 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43350 MVT::i1, 1, 4,
43351 23,
43352 OPC_CheckPatternPredicate5,
43353 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPGT),
43354 MVT::i32, 2, 0, 1,
43355 OPC_EmitStringInteger32, PPC::sub_gt,
43356 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43357 MVT::i1, 2, 2, 3,
43358 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43359 MVT::i1, 1, 4,
43360 0,
43361 77,
43362 OPC_CheckChild2CondCode, ISD::SETUNE,
43363 OPC_Scope, 24,
43364 OPC_CheckPatternPredicate, 10,
43365 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43366 MVT::i32, 2, 0, 1,
43367 OPC_EmitStringInteger32, PPC::sub_eq,
43368 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43369 MVT::i1, 2, 2, 3,
43370 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43371 MVT::i1, 1, 4,
43372 23,
43373 OPC_CheckPatternPredicate0,
43374 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43375 MVT::i32, 2, 0, 1,
43376 OPC_EmitStringInteger32, PPC::sub_eq,
43377 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43378 MVT::i1, 2, 2, 3,
43379 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43380 MVT::i1, 1, 4,
43381 23,
43382 OPC_CheckPatternPredicate5,
43383 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
43384 MVT::i32, 2, 0, 1,
43385 OPC_EmitStringInteger32, PPC::sub_gt,
43386 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43387 MVT::i1, 2, 2, 3,
43388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43389 MVT::i1, 1, 4,
43390 0,
43391 77,
43392 OPC_CheckChild2CondCode, ISD::SETNE,
43393 OPC_Scope, 24,
43394 OPC_CheckPatternPredicate, 10,
43395 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43396 MVT::i32, 2, 0, 1,
43397 OPC_EmitStringInteger32, PPC::sub_eq,
43398 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43399 MVT::i1, 2, 2, 3,
43400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43401 MVT::i1, 1, 4,
43402 23,
43403 OPC_CheckPatternPredicate0,
43404 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43405 MVT::i32, 2, 0, 1,
43406 OPC_EmitStringInteger32, PPC::sub_eq,
43407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43408 MVT::i1, 2, 2, 3,
43409 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43410 MVT::i1, 1, 4,
43411 23,
43412 OPC_CheckPatternPredicate5,
43413 OPC_EmitNode1None, TARGET_VAL(PPC::EFSCMPEQ),
43414 MVT::i32, 2, 0, 1,
43415 OPC_EmitStringInteger32, PPC::sub_gt,
43416 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43417 MVT::i1, 2, 2, 3,
43418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43419 MVT::i1, 1, 4,
43420 0,
43421 53,
43422 OPC_CheckChild2CondCode, ISD::SETO,
43423 OPC_Scope, 24,
43424 OPC_CheckPatternPredicate, 10,
43425 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43426 MVT::i32, 2, 0, 1,
43427 OPC_EmitStringInteger32, PPC::sub_un,
43428 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43429 MVT::i1, 2, 2, 3,
43430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43431 MVT::i1, 1, 4,
43432 23,
43433 OPC_CheckPatternPredicate0,
43434 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
43435 MVT::i32, 2, 0, 1,
43436 OPC_EmitStringInteger32, PPC::sub_un,
43437 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43438 MVT::i1, 2, 2, 3,
43439 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43440 MVT::i1, 1, 4,
43441 0,
43442 0,
43443 27|128,6,
43444 OPC_CheckChild0Type, MVT::f64,
43445 OPC_RecordChild1,
43446 OPC_CheckType, MVT::i1,
43447 OPC_Scope, 40,
43448 OPC_CheckChild2CondCode, ISD::SETOLT,
43449 OPC_Scope, 17,
43450 OPC_CheckPatternPredicate0,
43451 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43452 MVT::i32, 2, 0, 1,
43453 OPC_EmitStringInteger32, PPC::sub_lt,
43454 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43455 MVT::i1, 2, 2, 3,
43456 17,
43457 OPC_CheckPatternPredicate5,
43458 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
43459 MVT::i32, 2, 0, 1,
43460 OPC_EmitStringInteger32, PPC::sub_gt,
43461 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43462 MVT::i1, 2, 2, 3,
43463 0,
43464 40,
43465 OPC_CheckChild2CondCode, ISD::SETLT,
43466 OPC_Scope, 17,
43467 OPC_CheckPatternPredicate0,
43468 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43469 MVT::i32, 2, 0, 1,
43470 OPC_EmitStringInteger32, PPC::sub_lt,
43471 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43472 MVT::i1, 2, 2, 3,
43473 17,
43474 OPC_CheckPatternPredicate5,
43475 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
43476 MVT::i32, 2, 0, 1,
43477 OPC_EmitStringInteger32, PPC::sub_gt,
43478 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43479 MVT::i1, 2, 2, 3,
43480 0,
43481 40,
43482 OPC_CheckChild2CondCode, ISD::SETOGT,
43483 OPC_Scope, 17,
43484 OPC_CheckPatternPredicate0,
43485 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43486 MVT::i32, 2, 0, 1,
43487 OPC_EmitStringInteger32, PPC::sub_gt,
43488 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43489 MVT::i1, 2, 2, 3,
43490 17,
43491 OPC_CheckPatternPredicate5,
43492 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
43493 MVT::i32, 2, 0, 1,
43494 OPC_EmitStringInteger32, PPC::sub_gt,
43495 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43496 MVT::i1, 2, 2, 3,
43497 0,
43498 40,
43499 OPC_CheckChild2CondCode, ISD::SETGT,
43500 OPC_Scope, 17,
43501 OPC_CheckPatternPredicate0,
43502 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43503 MVT::i32, 2, 0, 1,
43504 OPC_EmitStringInteger32, PPC::sub_gt,
43505 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43506 MVT::i1, 2, 2, 3,
43507 17,
43508 OPC_CheckPatternPredicate5,
43509 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
43510 MVT::i32, 2, 0, 1,
43511 OPC_EmitStringInteger32, PPC::sub_gt,
43512 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43513 MVT::i1, 2, 2, 3,
43514 0,
43515 40,
43516 OPC_CheckChild2CondCode, ISD::SETOEQ,
43517 OPC_Scope, 17,
43518 OPC_CheckPatternPredicate0,
43519 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43520 MVT::i32, 2, 0, 1,
43521 OPC_EmitStringInteger32, PPC::sub_eq,
43522 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43523 MVT::i1, 2, 2, 3,
43524 17,
43525 OPC_CheckPatternPredicate5,
43526 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
43527 MVT::i32, 2, 0, 1,
43528 OPC_EmitStringInteger32, PPC::sub_gt,
43529 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43530 MVT::i1, 2, 2, 3,
43531 0,
43532 40,
43533 OPC_CheckChild2CondCode, ISD::SETEQ,
43534 OPC_Scope, 17,
43535 OPC_CheckPatternPredicate0,
43536 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43537 MVT::i32, 2, 0, 1,
43538 OPC_EmitStringInteger32, PPC::sub_eq,
43539 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43540 MVT::i1, 2, 2, 3,
43541 17,
43542 OPC_CheckPatternPredicate5,
43543 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
43544 MVT::i32, 2, 0, 1,
43545 OPC_EmitStringInteger32, PPC::sub_gt,
43546 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43547 MVT::i1, 2, 2, 3,
43548 0,
43549 19,
43550 OPC_CheckChild2CondCode, ISD::SETUO,
43551 OPC_CheckPatternPredicate0,
43552 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43553 MVT::i32, 2, 0, 1,
43554 OPC_EmitStringInteger32, PPC::sub_un,
43555 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43556 MVT::i1, 2, 2, 3,
43557 77,
43558 OPC_CheckChild2CondCode, ISD::SETUGE,
43559 OPC_Scope, 24,
43560 OPC_CheckPatternPredicate, 10,
43561 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43562 MVT::i32, 2, 0, 1,
43563 OPC_EmitStringInteger32, PPC::sub_lt,
43564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43565 MVT::i1, 2, 2, 3,
43566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43567 MVT::i1, 1, 4,
43568 23,
43569 OPC_CheckPatternPredicate0,
43570 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43571 MVT::i32, 2, 0, 1,
43572 OPC_EmitStringInteger32, PPC::sub_lt,
43573 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43574 MVT::i1, 2, 2, 3,
43575 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43576 MVT::i1, 1, 4,
43577 23,
43578 OPC_CheckPatternPredicate5,
43579 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
43580 MVT::i32, 2, 0, 1,
43581 OPC_EmitStringInteger32, PPC::sub_gt,
43582 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43583 MVT::i1, 2, 2, 3,
43584 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43585 MVT::i1, 1, 4,
43586 0,
43587 77,
43588 OPC_CheckChild2CondCode, ISD::SETGE,
43589 OPC_Scope, 24,
43590 OPC_CheckPatternPredicate, 10,
43591 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43592 MVT::i32, 2, 0, 1,
43593 OPC_EmitStringInteger32, PPC::sub_lt,
43594 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43595 MVT::i1, 2, 2, 3,
43596 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43597 MVT::i1, 1, 4,
43598 23,
43599 OPC_CheckPatternPredicate0,
43600 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43601 MVT::i32, 2, 0, 1,
43602 OPC_EmitStringInteger32, PPC::sub_lt,
43603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43604 MVT::i1, 2, 2, 3,
43605 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43606 MVT::i1, 1, 4,
43607 23,
43608 OPC_CheckPatternPredicate5,
43609 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPLT),
43610 MVT::i32, 2, 0, 1,
43611 OPC_EmitStringInteger32, PPC::sub_gt,
43612 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43613 MVT::i1, 2, 2, 3,
43614 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43615 MVT::i1, 1, 4,
43616 0,
43617 77,
43618 OPC_CheckChild2CondCode, ISD::SETULE,
43619 OPC_Scope, 24,
43620 OPC_CheckPatternPredicate, 10,
43621 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43622 MVT::i32, 2, 0, 1,
43623 OPC_EmitStringInteger32, PPC::sub_gt,
43624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43625 MVT::i1, 2, 2, 3,
43626 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43627 MVT::i1, 1, 4,
43628 23,
43629 OPC_CheckPatternPredicate0,
43630 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43631 MVT::i32, 2, 0, 1,
43632 OPC_EmitStringInteger32, PPC::sub_gt,
43633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43634 MVT::i1, 2, 2, 3,
43635 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43636 MVT::i1, 1, 4,
43637 23,
43638 OPC_CheckPatternPredicate5,
43639 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
43640 MVT::i32, 2, 0, 1,
43641 OPC_EmitStringInteger32, PPC::sub_gt,
43642 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43643 MVT::i1, 2, 2, 3,
43644 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43645 MVT::i1, 1, 4,
43646 0,
43647 77,
43648 OPC_CheckChild2CondCode, ISD::SETLE,
43649 OPC_Scope, 24,
43650 OPC_CheckPatternPredicate, 10,
43651 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43652 MVT::i32, 2, 0, 1,
43653 OPC_EmitStringInteger32, PPC::sub_gt,
43654 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43655 MVT::i1, 2, 2, 3,
43656 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43657 MVT::i1, 1, 4,
43658 23,
43659 OPC_CheckPatternPredicate0,
43660 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43661 MVT::i32, 2, 0, 1,
43662 OPC_EmitStringInteger32, PPC::sub_gt,
43663 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43664 MVT::i1, 2, 2, 3,
43665 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43666 MVT::i1, 1, 4,
43667 23,
43668 OPC_CheckPatternPredicate5,
43669 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPGT),
43670 MVT::i32, 2, 0, 1,
43671 OPC_EmitStringInteger32, PPC::sub_gt,
43672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43673 MVT::i1, 2, 2, 3,
43674 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43675 MVT::i1, 1, 4,
43676 0,
43677 77,
43678 OPC_CheckChild2CondCode, ISD::SETUNE,
43679 OPC_Scope, 24,
43680 OPC_CheckPatternPredicate, 10,
43681 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43682 MVT::i32, 2, 0, 1,
43683 OPC_EmitStringInteger32, PPC::sub_eq,
43684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43685 MVT::i1, 2, 2, 3,
43686 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43687 MVT::i1, 1, 4,
43688 23,
43689 OPC_CheckPatternPredicate0,
43690 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43691 MVT::i32, 2, 0, 1,
43692 OPC_EmitStringInteger32, PPC::sub_eq,
43693 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43694 MVT::i1, 2, 2, 3,
43695 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43696 MVT::i1, 1, 4,
43697 23,
43698 OPC_CheckPatternPredicate5,
43699 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
43700 MVT::i32, 2, 0, 1,
43701 OPC_EmitStringInteger32, PPC::sub_gt,
43702 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43703 MVT::i1, 2, 2, 3,
43704 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43705 MVT::i1, 1, 4,
43706 0,
43707 77,
43708 OPC_CheckChild2CondCode, ISD::SETNE,
43709 OPC_Scope, 24,
43710 OPC_CheckPatternPredicate, 10,
43711 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43712 MVT::i32, 2, 0, 1,
43713 OPC_EmitStringInteger32, PPC::sub_eq,
43714 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43715 MVT::i1, 2, 2, 3,
43716 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43717 MVT::i1, 1, 4,
43718 23,
43719 OPC_CheckPatternPredicate0,
43720 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43721 MVT::i32, 2, 0, 1,
43722 OPC_EmitStringInteger32, PPC::sub_eq,
43723 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43724 MVT::i1, 2, 2, 3,
43725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43726 MVT::i1, 1, 4,
43727 23,
43728 OPC_CheckPatternPredicate5,
43729 OPC_EmitNode1None, TARGET_VAL(PPC::EFDCMPEQ),
43730 MVT::i32, 2, 0, 1,
43731 OPC_EmitStringInteger32, PPC::sub_gt,
43732 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43733 MVT::i1, 2, 2, 3,
43734 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43735 MVT::i1, 1, 4,
43736 0,
43737 53,
43738 OPC_CheckChild2CondCode, ISD::SETO,
43739 OPC_Scope, 24,
43740 OPC_CheckPatternPredicate, 10,
43741 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43742 MVT::i32, 2, 0, 1,
43743 OPC_EmitStringInteger32, PPC::sub_un,
43744 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43745 MVT::i1, 2, 2, 3,
43746 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43747 MVT::i1, 1, 4,
43748 23,
43749 OPC_CheckPatternPredicate0,
43750 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
43751 MVT::i32, 2, 0, 1,
43752 OPC_EmitStringInteger32, PPC::sub_un,
43753 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43754 MVT::i1, 2, 2, 3,
43755 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43756 MVT::i1, 1, 4,
43757 0,
43758 0,
43759 13|128,4,
43760 OPC_CheckChild0Type, MVT::f128,
43761 OPC_RecordChild1,
43762 OPC_CheckType, MVT::i1,
43763 OPC_Scope, 19,
43764 OPC_CheckChild2CondCode, ISD::SETOLT,
43765 OPC_CheckPatternPredicate0,
43766 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43767 MVT::i32, 2, 0, 1,
43768 OPC_EmitStringInteger32, PPC::sub_lt,
43769 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43770 MVT::i1, 2, 2, 3,
43771 19,
43772 OPC_CheckChild2CondCode, ISD::SETLT,
43773 OPC_CheckPatternPredicate0,
43774 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43775 MVT::i32, 2, 0, 1,
43776 OPC_EmitStringInteger32, PPC::sub_lt,
43777 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43778 MVT::i1, 2, 2, 3,
43779 19,
43780 OPC_CheckChild2CondCode, ISD::SETOGT,
43781 OPC_CheckPatternPredicate0,
43782 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43783 MVT::i32, 2, 0, 1,
43784 OPC_EmitStringInteger32, PPC::sub_gt,
43785 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43786 MVT::i1, 2, 2, 3,
43787 19,
43788 OPC_CheckChild2CondCode, ISD::SETGT,
43789 OPC_CheckPatternPredicate0,
43790 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43791 MVT::i32, 2, 0, 1,
43792 OPC_EmitStringInteger32, PPC::sub_gt,
43793 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43794 MVT::i1, 2, 2, 3,
43795 19,
43796 OPC_CheckChild2CondCode, ISD::SETOEQ,
43797 OPC_CheckPatternPredicate0,
43798 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43799 MVT::i32, 2, 0, 1,
43800 OPC_EmitStringInteger32, PPC::sub_eq,
43801 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43802 MVT::i1, 2, 2, 3,
43803 19,
43804 OPC_CheckChild2CondCode, ISD::SETEQ,
43805 OPC_CheckPatternPredicate0,
43806 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43807 MVT::i32, 2, 0, 1,
43808 OPC_EmitStringInteger32, PPC::sub_eq,
43809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43810 MVT::i1, 2, 2, 3,
43811 19,
43812 OPC_CheckChild2CondCode, ISD::SETUO,
43813 OPC_CheckPatternPredicate0,
43814 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43815 MVT::i32, 2, 0, 1,
43816 OPC_EmitStringInteger32, PPC::sub_un,
43817 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43818 MVT::i1, 2, 2, 3,
43819 53,
43820 OPC_CheckChild2CondCode, ISD::SETUGE,
43821 OPC_Scope, 24,
43822 OPC_CheckPatternPredicate, 10,
43823 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43824 MVT::i32, 2, 0, 1,
43825 OPC_EmitStringInteger32, PPC::sub_lt,
43826 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43827 MVT::i1, 2, 2, 3,
43828 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43829 MVT::i1, 1, 4,
43830 23,
43831 OPC_CheckPatternPredicate0,
43832 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43833 MVT::i32, 2, 0, 1,
43834 OPC_EmitStringInteger32, PPC::sub_lt,
43835 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43836 MVT::i1, 2, 2, 3,
43837 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43838 MVT::i1, 1, 4,
43839 0,
43840 53,
43841 OPC_CheckChild2CondCode, ISD::SETGE,
43842 OPC_Scope, 24,
43843 OPC_CheckPatternPredicate, 10,
43844 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43845 MVT::i32, 2, 0, 1,
43846 OPC_EmitStringInteger32, PPC::sub_lt,
43847 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43848 MVT::i1, 2, 2, 3,
43849 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43850 MVT::i1, 1, 4,
43851 23,
43852 OPC_CheckPatternPredicate0,
43853 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43854 MVT::i32, 2, 0, 1,
43855 OPC_EmitStringInteger32, PPC::sub_lt,
43856 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43857 MVT::i1, 2, 2, 3,
43858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43859 MVT::i1, 1, 4,
43860 0,
43861 53,
43862 OPC_CheckChild2CondCode, ISD::SETULE,
43863 OPC_Scope, 24,
43864 OPC_CheckPatternPredicate, 10,
43865 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43866 MVT::i32, 2, 0, 1,
43867 OPC_EmitStringInteger32, PPC::sub_gt,
43868 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43869 MVT::i1, 2, 2, 3,
43870 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43871 MVT::i1, 1, 4,
43872 23,
43873 OPC_CheckPatternPredicate0,
43874 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43875 MVT::i32, 2, 0, 1,
43876 OPC_EmitStringInteger32, PPC::sub_gt,
43877 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43878 MVT::i1, 2, 2, 3,
43879 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43880 MVT::i1, 1, 4,
43881 0,
43882 53,
43883 OPC_CheckChild2CondCode, ISD::SETLE,
43884 OPC_Scope, 24,
43885 OPC_CheckPatternPredicate, 10,
43886 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43887 MVT::i32, 2, 0, 1,
43888 OPC_EmitStringInteger32, PPC::sub_gt,
43889 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43890 MVT::i1, 2, 2, 3,
43891 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43892 MVT::i1, 1, 4,
43893 23,
43894 OPC_CheckPatternPredicate0,
43895 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43896 MVT::i32, 2, 0, 1,
43897 OPC_EmitStringInteger32, PPC::sub_gt,
43898 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43899 MVT::i1, 2, 2, 3,
43900 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43901 MVT::i1, 1, 4,
43902 0,
43903 53,
43904 OPC_CheckChild2CondCode, ISD::SETUNE,
43905 OPC_Scope, 24,
43906 OPC_CheckPatternPredicate, 10,
43907 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43908 MVT::i32, 2, 0, 1,
43909 OPC_EmitStringInteger32, PPC::sub_eq,
43910 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43911 MVT::i1, 2, 2, 3,
43912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43913 MVT::i1, 1, 4,
43914 23,
43915 OPC_CheckPatternPredicate0,
43916 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43917 MVT::i32, 2, 0, 1,
43918 OPC_EmitStringInteger32, PPC::sub_eq,
43919 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43920 MVT::i1, 2, 2, 3,
43921 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43922 MVT::i1, 1, 4,
43923 0,
43924 53,
43925 OPC_CheckChild2CondCode, ISD::SETNE,
43926 OPC_Scope, 24,
43927 OPC_CheckPatternPredicate, 10,
43928 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43929 MVT::i32, 2, 0, 1,
43930 OPC_EmitStringInteger32, PPC::sub_eq,
43931 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43932 MVT::i1, 2, 2, 3,
43933 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43934 MVT::i1, 1, 4,
43935 23,
43936 OPC_CheckPatternPredicate0,
43937 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43938 MVT::i32, 2, 0, 1,
43939 OPC_EmitStringInteger32, PPC::sub_eq,
43940 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43941 MVT::i1, 2, 2, 3,
43942 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43943 MVT::i1, 1, 4,
43944 0,
43945 53,
43946 OPC_CheckChild2CondCode, ISD::SETO,
43947 OPC_Scope, 24,
43948 OPC_CheckPatternPredicate, 10,
43949 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43950 MVT::i32, 2, 0, 1,
43951 OPC_EmitStringInteger32, PPC::sub_un,
43952 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43953 MVT::i1, 2, 2, 3,
43954 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43955 MVT::i1, 1, 4,
43956 23,
43957 OPC_CheckPatternPredicate0,
43958 OPC_EmitNode1None, TARGET_VAL(PPC::XSCMPUQP),
43959 MVT::i32, 2, 0, 1,
43960 OPC_EmitStringInteger32, PPC::sub_un,
43961 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43962 MVT::i1, 2, 2, 3,
43963 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRNOT),
43964 MVT::i1, 1, 4,
43965 0,
43966 0,
43967 0,
43968 116, TARGET_VAL(PPCISD::CALL),
43969 OPC_RecordNode,
43970 OPC_CaptureGlueInput,
43971 OPC_RecordChild1,
43972 OPC_MoveChild1,
43973 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::Constant),
43974 OPC_SwitchType , 10, MVT::i32,
43975 OPC_MoveParent,
43976 OPC_EmitMergeInputChains1_0,
43977 OPC_EmitConvertToTarget1,
43978 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
43979 MVT::i32, 1, 2,
43980 10, MVT::i64,
43981 OPC_MoveParent,
43982 OPC_EmitMergeInputChains1_0,
43983 OPC_EmitConvertToTarget1,
43984 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
43985 MVT::i64, 1, 2,
43986 0,
43987 24, TARGET_VAL(ISD::TargetGlobalAddress),
43988 OPC_SwitchType , 9, MVT::i32,
43989 OPC_MoveParent,
43990 OPC_EmitMergeInputChains1_0,
43991 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
43992 MVT::i32, 1, 1,
43993 9, MVT::i64,
43994 OPC_MoveParent,
43995 OPC_EmitMergeInputChains1_0,
43996 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
43997 MVT::i64, 1, 1,
43998 0,
43999 24, TARGET_VAL(ISD::TargetExternalSymbol),
44000 OPC_SwitchType , 9, MVT::i32,
44001 OPC_MoveParent,
44002 OPC_EmitMergeInputChains1_0,
44003 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44004 MVT::i32, 1, 1,
44005 9, MVT::i64,
44006 OPC_MoveParent,
44007 OPC_EmitMergeInputChains1_0,
44008 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44009 MVT::i64, 1, 1,
44010 0,
44011 24, TARGET_VAL(ISD::MCSymbol),
44012 OPC_SwitchType , 9, MVT::i32,
44013 OPC_MoveParent,
44014 OPC_EmitMergeInputChains1_0,
44015 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44016 MVT::i32, 1, 1,
44017 9, MVT::i64,
44018 OPC_MoveParent,
44019 OPC_EmitMergeInputChains1_0,
44020 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44021 MVT::i64, 1, 1,
44022 0,
44023 0,
44024 116, TARGET_VAL(PPCISD::CALL_RM),
44025 OPC_RecordNode,
44026 OPC_CaptureGlueInput,
44027 OPC_RecordChild1,
44028 OPC_MoveChild1,
44029 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::Constant),
44030 OPC_SwitchType , 10, MVT::i32,
44031 OPC_MoveParent,
44032 OPC_EmitMergeInputChains1_0,
44033 OPC_EmitConvertToTarget1,
44034 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44035 MVT::i32, 1, 2,
44036 10, MVT::i64,
44037 OPC_MoveParent,
44038 OPC_EmitMergeInputChains1_0,
44039 OPC_EmitConvertToTarget1,
44040 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44041 MVT::i64, 1, 2,
44042 0,
44043 24, TARGET_VAL(ISD::TargetGlobalAddress),
44044 OPC_SwitchType , 9, MVT::i32,
44045 OPC_MoveParent,
44046 OPC_EmitMergeInputChains1_0,
44047 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44048 MVT::i32, 1, 1,
44049 9, MVT::i64,
44050 OPC_MoveParent,
44051 OPC_EmitMergeInputChains1_0,
44052 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44053 MVT::i64, 1, 1,
44054 0,
44055 24, TARGET_VAL(ISD::TargetExternalSymbol),
44056 OPC_SwitchType , 9, MVT::i32,
44057 OPC_MoveParent,
44058 OPC_EmitMergeInputChains1_0,
44059 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44060 MVT::i32, 1, 1,
44061 9, MVT::i64,
44062 OPC_MoveParent,
44063 OPC_EmitMergeInputChains1_0,
44064 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44065 MVT::i64, 1, 1,
44066 0,
44067 24, TARGET_VAL(ISD::MCSymbol),
44068 OPC_SwitchType , 9, MVT::i32,
44069 OPC_MoveParent,
44070 OPC_EmitMergeInputChains1_0,
44071 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44072 MVT::i32, 1, 1,
44073 9, MVT::i64,
44074 OPC_MoveParent,
44075 OPC_EmitMergeInputChains1_0,
44076 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44077 MVT::i64, 1, 1,
44078 0,
44079 0,
44080 15, TARGET_VAL(PPCISD::SC),
44081 OPC_RecordNode,
44082 OPC_RecordChild1,
44083 OPC_MoveChild1,
44084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44085 OPC_CheckTypeI32,
44086 OPC_MoveParent,
44087 OPC_EmitMergeInputChains1_0,
44088 OPC_EmitConvertToTarget1,
44089 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::SC),
44090 1, 2,
44091 15, TARGET_VAL(PPCISD::RFEBB),
44092 OPC_RecordNode,
44093 OPC_RecordChild1,
44094 OPC_MoveChild1,
44095 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44096 OPC_CheckTypeI32,
44097 OPC_MoveParent,
44098 OPC_EmitMergeInputChains1_0,
44099 OPC_EmitConvertToTarget1,
44100 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::RFEBB),
44101 1, 2,
44102 115|128,1, TARGET_VAL(ISD::SRA),
44103 OPC_Scope, 101,
44104 OPC_RecordChild0,
44105 OPC_RecordChild1,
44106 OPC_Scope, 30,
44107 OPC_MoveChild1,
44108 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44109 OPC_CheckTypeI32,
44110 OPC_MoveParent,
44111 OPC_SwitchType , 9, MVT::i32,
44112 OPC_EmitConvertToTarget1,
44113 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRAWI),
44114 MVT::i32, MVT::i32, 2, 0, 2,
44115 9, MVT::i64,
44116 OPC_EmitConvertToTarget1,
44117 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRADI),
44118 MVT::i64, MVT::i32, 2, 0, 2,
44119 0,
44120 23,
44121 OPC_CheckChild1TypeI32,
44122 OPC_SwitchType , 8, MVT::i32,
44123 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRAW),
44124 MVT::i32, MVT::i32, 2, 0, 1,
44125 8, MVT::i64,
44126 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRAD),
44127 MVT::i64, MVT::i32, 2, 0, 1,
44128 0,
44129 41,
44130 OPC_CheckChild1Type, MVT::v1i128,
44131 OPC_CheckType, MVT::v1i128,
44132 OPC_CheckPatternPredicate, 39,
44133 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44134 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44135 MVT::v4i32, 2, 1, 2,
44136 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44137 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44138 MVT::v4i32, 2, 1, 4,
44139 OPC_EmitInteger32, 4,
44140 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
44141 MVT::v4i32, 3, 3, 5, 6,
44142 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAQ),
44143 MVT::v1i128, 2, 0, 7,
44144 0,
44145 84,
44146 OPC_MoveChild0,
44147 OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
44148 OPC_RecordChild0,
44149 OPC_MoveChild1,
44150 OPC_SwitchOpcode , 46, TARGET_VAL(ISD::BITCAST),
44151 OPC_MoveChild0,
44152 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
44153 OPC_RecordChild0,
44154 OPC_MoveChild1,
44155 OPC_CheckImmAllOnesV,
44156 OPC_MoveParent,
44157 OPC_CheckType, MVT::v4i32,
44158 OPC_MoveParent,
44159 OPC_MoveParent,
44160 OPC_MoveSibling1,
44161 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
44162 OPC_CheckPredicate, 24,
44163 OPC_SwitchType , 11, MVT::v8i16,
44164 OPC_MoveParent,
44165 OPC_CheckType, MVT::v8i16,
44166 OPC_CheckPatternPredicate3,
44167 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSH),
44168 MVT::v8i16, 2, 0, 1,
44169 11, MVT::v16i8,
44170 OPC_MoveParent,
44171 OPC_CheckType, MVT::v16i8,
44172 OPC_CheckPatternPredicate3,
44173 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSB),
44174 MVT::v16i8, 2, 0, 1,
44175 0,
44176 24, TARGET_VAL(ISD::XOR),
44177 OPC_RecordChild0,
44178 OPC_MoveChild1,
44179 OPC_CheckImmAllOnesV,
44180 OPC_MoveParent,
44181 OPC_MoveParent,
44182 OPC_MoveSibling1,
44183 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
44184 OPC_CheckPredicate, 24,
44185 OPC_CheckType, MVT::v4i32,
44186 OPC_MoveParent,
44187 OPC_CheckType, MVT::v4i32,
44188 OPC_CheckPatternPredicate3,
44189 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VAVGSW),
44190 MVT::v4i32, 2, 0, 1,
44191 0,
44192 53,
44193 OPC_RecordChild0,
44194 OPC_RecordChild1,
44195 OPC_SwitchType , 10, MVT::v16i8,
44196 OPC_CheckChild1Type, MVT::v16i8,
44197 OPC_CheckPatternPredicate3,
44198 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAB),
44199 MVT::v16i8, 2, 0, 1,
44200 10, MVT::v8i16,
44201 OPC_CheckChild1Type, MVT::v8i16,
44202 OPC_CheckPatternPredicate3,
44203 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAH),
44204 MVT::v8i16, 2, 0, 1,
44205 10, MVT::v4i32,
44206 OPC_CheckChild1Type, MVT::v4i32,
44207 OPC_CheckPatternPredicate3,
44208 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAW),
44209 MVT::v4i32, 2, 0, 1,
44210 11, MVT::v2i64,
44211 OPC_CheckChild1Type, MVT::v2i64,
44212 OPC_CheckPatternPredicate, 12,
44213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAD),
44214 MVT::v2i64, 2, 0, 1,
44215 0,
44216 0,
44217 114|128,1, TARGET_VAL(ISD::SHL),
44218 OPC_RecordChild0,
44219 OPC_Scope, 109,
44220 OPC_RecordChild1,
44221 OPC_Scope, 41,
44222 OPC_MoveChild1,
44223 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44224 OPC_CheckTypeI32,
44225 OPC_MoveParent,
44226 OPC_SwitchType , 16, MVT::i32,
44227 OPC_EmitConvertToTarget1,
44228 OPC_EmitInteger32, 0,
44229 OPC_EmitConvertToTarget1,
44230 OPC_EmitNodeXForm, 8, 4,
44231 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
44232 MVT::i32, 4, 0, 2, 3, 5,
44233 13, MVT::i64,
44234 OPC_EmitConvertToTarget1,
44235 OPC_EmitConvertToTarget1,
44236 OPC_EmitNodeXForm, 9, 3,
44237 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICR),
44238 MVT::i64, 3, 0, 2, 4,
44239 0,
44240 21,
44241 OPC_CheckChild1TypeI32,
44242 OPC_SwitchType , 7, MVT::i32,
44243 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SLW),
44244 MVT::i32, 2, 0, 1,
44245 7, MVT::i64,
44246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SLD),
44247 MVT::i64, 2, 0, 1,
44248 0,
44249 41,
44250 OPC_CheckChild1Type, MVT::v1i128,
44251 OPC_CheckType, MVT::v1i128,
44252 OPC_CheckPatternPredicate, 39,
44253 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44254 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44255 MVT::v4i32, 2, 1, 2,
44256 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44257 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44258 MVT::v4i32, 2, 1, 4,
44259 OPC_EmitInteger32, 4,
44260 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
44261 MVT::v4i32, 3, 3, 5, 6,
44262 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLQ),
44263 MVT::v1i128, 2, 0, 7,
44264 0,
44265 47,
44266 OPC_MoveChild1,
44267 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
44268 OPC_CheckPredicate, 24,
44269 OPC_SwitchType , 11, MVT::v16i8,
44270 OPC_MoveParent,
44271 OPC_CheckType, MVT::v16i8,
44272 OPC_CheckPatternPredicate3,
44273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBM),
44274 MVT::v16i8, 2, 0, 0,
44275 11, MVT::v8i16,
44276 OPC_MoveParent,
44277 OPC_CheckType, MVT::v8i16,
44278 OPC_CheckPatternPredicate3,
44279 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHM),
44280 MVT::v8i16, 2, 0, 0,
44281 11, MVT::v4i32,
44282 OPC_MoveParent,
44283 OPC_CheckType, MVT::v4i32,
44284 OPC_CheckPatternPredicate3,
44285 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWM),
44286 MVT::v4i32, 2, 0, 0,
44287 0,
44288 80,
44289 OPC_RecordChild1,
44290 OPC_SwitchType , 10, MVT::v16i8,
44291 OPC_CheckChild1Type, MVT::v16i8,
44292 OPC_CheckPatternPredicate3,
44293 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLB),
44294 MVT::v16i8, 2, 0, 1,
44295 10, MVT::v8i16,
44296 OPC_CheckChild1Type, MVT::v8i16,
44297 OPC_CheckPatternPredicate3,
44298 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLH),
44299 MVT::v8i16, 2, 0, 1,
44300 10, MVT::v4i32,
44301 OPC_CheckChild1Type, MVT::v4i32,
44302 OPC_CheckPatternPredicate3,
44303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLW),
44304 MVT::v4i32, 2, 0, 1,
44305 11, MVT::v2i64,
44306 OPC_CheckChild1Type, MVT::v2i64,
44307 OPC_CheckPatternPredicate, 12,
44308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLD),
44309 MVT::v2i64, 2, 0, 1,
44310 26, MVT::v1i128,
44311 OPC_CheckChild1Type, MVT::v1i128,
44312 OPC_CheckPatternPredicate3,
44313 OPC_EmitNode1None, TARGET_VAL(PPC::VSLO),
44314 MVT::v16i8, 2, 0, 1,
44315 OPC_EmitInteger32, 30,
44316 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
44317 MVT::v16i8, 2, 3, 1,
44318 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSL),
44319 MVT::v1i128, 2, 2, 4,
44320 0,
44321 0,
44322 11|128,1, TARGET_VAL(ISD::ROTL),
44323 OPC_RecordChild0,
44324 OPC_RecordChild1,
44325 OPC_Scope, 37,
44326 OPC_MoveChild1,
44327 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44328 OPC_CheckTypeI32,
44329 OPC_MoveParent,
44330 OPC_SwitchType , 14, MVT::i32,
44331 OPC_EmitConvertToTarget1,
44332 OPC_EmitInteger32, 0,
44333 OPC_EmitInteger32, 62,
44334 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWINM),
44335 MVT::i32, 4, 0, 2, 3, 4,
44336 11, MVT::i64,
44337 OPC_EmitConvertToTarget1,
44338 OPC_EmitInteger32, 0,
44339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL),
44340 MVT::i64, 3, 0, 2, 3,
44341 0,
44342 30,
44343 OPC_CheckChild1TypeI32,
44344 OPC_SwitchType , 13, MVT::i32,
44345 OPC_EmitInteger32, 0,
44346 OPC_EmitInteger32, 62,
44347 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWNM),
44348 MVT::i32, 4, 0, 1, 2, 3,
44349 10, MVT::i64,
44350 OPC_EmitInteger32, 0,
44351 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDCL),
44352 MVT::i64, 3, 0, 1, 2,
44353 0,
44354 12,
44355 OPC_CheckChild1Type, MVT::v16i8,
44356 OPC_CheckType, MVT::v16i8,
44357 OPC_CheckPatternPredicate3,
44358 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLB),
44359 MVT::v16i8, 2, 0, 1,
44360 12,
44361 OPC_CheckChild1Type, MVT::v8i16,
44362 OPC_CheckType, MVT::v8i16,
44363 OPC_CheckPatternPredicate3,
44364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLH),
44365 MVT::v8i16, 2, 0, 1,
44366 12,
44367 OPC_CheckChild1Type, MVT::v4i32,
44368 OPC_CheckType, MVT::v4i32,
44369 OPC_CheckPatternPredicate3,
44370 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLW),
44371 MVT::v4i32, 2, 0, 1,
44372 13,
44373 OPC_CheckChild1Type, MVT::v2i64,
44374 OPC_CheckType, MVT::v2i64,
44375 OPC_CheckPatternPredicate, 12,
44376 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLD),
44377 MVT::v2i64, 2, 0, 1,
44378 12,
44379 OPC_CheckChild1Type, MVT::v1i128,
44380 OPC_CheckType, MVT::v1i128,
44381 OPC_CheckPatternPredicate4,
44382 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRLQ),
44383 MVT::v1i128, 2, 0, 1,
44384 0,
44385 87, TARGET_VAL(PPCISD::CALL_NOP),
44386 OPC_RecordNode,
44387 OPC_CaptureGlueInput,
44388 OPC_RecordChild1,
44389 OPC_MoveChild1,
44390 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::MCSymbol),
44391 OPC_SwitchType , 9, MVT::i32,
44392 OPC_MoveParent,
44393 OPC_EmitMergeInputChains1_0,
44394 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44395 MVT::i32, 1, 1,
44396 9, MVT::i64,
44397 OPC_MoveParent,
44398 OPC_EmitMergeInputChains1_0,
44399 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44400 MVT::i64, 1, 1,
44401 0,
44402 24, TARGET_VAL(ISD::TargetExternalSymbol),
44403 OPC_SwitchType , 9, MVT::i32,
44404 OPC_MoveParent,
44405 OPC_EmitMergeInputChains1_0,
44406 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44407 MVT::i32, 1, 1,
44408 9, MVT::i64,
44409 OPC_MoveParent,
44410 OPC_EmitMergeInputChains1_0,
44411 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44412 MVT::i64, 1, 1,
44413 0,
44414 11, TARGET_VAL(ISD::Constant),
44415 OPC_CheckTypeI64,
44416 OPC_MoveParent,
44417 OPC_EmitMergeInputChains1_0,
44418 OPC_EmitConvertToTarget1,
44419 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44420 MVT::i64, 1, 2,
44421 10, TARGET_VAL(ISD::TargetGlobalAddress),
44422 OPC_CheckTypeI64,
44423 OPC_MoveParent,
44424 OPC_EmitMergeInputChains1_0,
44425 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44426 MVT::i64, 1, 1,
44427 0,
44428 87, TARGET_VAL(PPCISD::CALL_NOP_RM),
44429 OPC_RecordNode,
44430 OPC_CaptureGlueInput,
44431 OPC_RecordChild1,
44432 OPC_MoveChild1,
44433 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::MCSymbol),
44434 OPC_SwitchType , 9, MVT::i32,
44435 OPC_MoveParent,
44436 OPC_EmitMergeInputChains1_0,
44437 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44438 MVT::i32, 1, 1,
44439 9, MVT::i64,
44440 OPC_MoveParent,
44441 OPC_EmitMergeInputChains1_0,
44442 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44443 MVT::i64, 1, 1,
44444 0,
44445 24, TARGET_VAL(ISD::TargetExternalSymbol),
44446 OPC_SwitchType , 9, MVT::i32,
44447 OPC_MoveParent,
44448 OPC_EmitMergeInputChains1_0,
44449 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44450 MVT::i32, 1, 1,
44451 9, MVT::i64,
44452 OPC_MoveParent,
44453 OPC_EmitMergeInputChains1_0,
44454 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44455 MVT::i64, 1, 1,
44456 0,
44457 11, TARGET_VAL(ISD::Constant),
44458 OPC_CheckTypeI64,
44459 OPC_MoveParent,
44460 OPC_EmitMergeInputChains1_0,
44461 OPC_EmitConvertToTarget1,
44462 OPC_MorphNodeTo1, TARGET_VAL(PPC::BLA8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44463 MVT::i64, 1, 2,
44464 10, TARGET_VAL(ISD::TargetGlobalAddress),
44465 OPC_CheckTypeI64,
44466 OPC_MoveParent,
44467 OPC_EmitMergeInputChains1_0,
44468 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOP_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44469 MVT::i64, 1, 1,
44470 0,
44471 27, TARGET_VAL(PPCISD::LD_GOT_TPREL_L),
44472 OPC_RecordChild0,
44473 OPC_MoveChild0,
44474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44475 OPC_MoveParent,
44476 OPC_RecordChild1,
44477 OPC_SwitchType , 7, MVT::i32,
44478 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LDgotTprelL32),
44479 MVT::i32, 2, 0, 1,
44480 7, MVT::i64,
44481 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LDgotTprelL),
44482 MVT::i64, 2, 0, 1,
44483 0,
44484 27, TARGET_VAL(PPCISD::ADDI_TLSGD_L),
44485 OPC_RecordChild0,
44486 OPC_RecordChild1,
44487 OPC_MoveChild1,
44488 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44489 OPC_MoveParent,
44490 OPC_SwitchType , 7, MVT::i32,
44491 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsgdL32),
44492 MVT::i32, 2, 0, 1,
44493 7, MVT::i64,
44494 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsgdL),
44495 MVT::i64, 2, 0, 1,
44496 0,
44497 59, TARGET_VAL(PPCISD::GET_TLS_ADDR),
44498 OPC_RecordChild0,
44499 OPC_RecordChild1,
44500 OPC_Scope, 36,
44501 OPC_MoveChild1,
44502 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44503 OPC_MoveParent,
44504 OPC_SwitchType , 7, MVT::i32,
44505 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsADDR32),
44506 MVT::i32, 2, 0, 1,
44507 18, MVT::i64,
44508 OPC_Scope, 7,
44509 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsADDR),
44510 MVT::i64, 2, 0, 1,
44511 7,
44512 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsADDRPCREL),
44513 MVT::i64, 2, 0, 1,
44514 0,
44515 0,
44516 8,
44517 OPC_CheckTypeI32,
44518 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsADDR32AIX),
44519 MVT::i32, 2, 0, 1,
44520 8,
44521 OPC_CheckTypeI64,
44522 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsADDR64AIX),
44523 MVT::i64, 2, 0, 1,
44524 0,
44525 27, TARGET_VAL(PPCISD::ADDI_TLSLD_L),
44526 OPC_RecordChild0,
44527 OPC_RecordChild1,
44528 OPC_MoveChild1,
44529 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44530 OPC_MoveParent,
44531 OPC_SwitchType , 7, MVT::i32,
44532 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsldL32),
44533 MVT::i32, 2, 0, 1,
44534 7, MVT::i64,
44535 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDItlsldL),
44536 MVT::i64, 2, 0, 1,
44537 0,
44538 38, TARGET_VAL(PPCISD::GET_TLSLD_ADDR),
44539 OPC_RecordChild0,
44540 OPC_RecordChild1,
44541 OPC_MoveChild1,
44542 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44543 OPC_MoveParent,
44544 OPC_SwitchType , 7, MVT::i32,
44545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsldADDR32),
44546 MVT::i32, 2, 0, 1,
44547 18, MVT::i64,
44548 OPC_Scope, 7,
44549 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsldADDR),
44550 MVT::i64, 2, 0, 1,
44551 7,
44552 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsldADDRPCREL),
44553 MVT::i64, 2, 0, 1,
44554 0,
44555 0,
44556 27, TARGET_VAL(PPCISD::ADDI_DTPREL_L),
44557 OPC_RecordChild0,
44558 OPC_RecordChild1,
44559 OPC_MoveChild1,
44560 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44561 OPC_MoveParent,
44562 OPC_SwitchType , 7, MVT::i32,
44563 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIdtprelL32),
44564 MVT::i32, 2, 0, 1,
44565 7, MVT::i64,
44566 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIdtprelL),
44567 MVT::i64, 2, 0, 1,
44568 0,
44569 27, TARGET_VAL(PPCISD::ADDIS_DTPREL_HA),
44570 OPC_RecordChild0,
44571 OPC_RecordChild1,
44572 OPC_MoveChild1,
44573 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44574 OPC_MoveParent,
44575 OPC_SwitchType , 7, MVT::i32,
44576 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDISdtprelHA32),
44577 MVT::i32, 2, 0, 1,
44578 7, MVT::i64,
44579 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDISdtprelHA),
44580 MVT::i64, 2, 0, 1,
44581 0,
44582 100, TARGET_VAL(PPCISD::TOC_ENTRY),
44583 OPC_RecordMemRef,
44584 OPC_RecordChild0,
44585 OPC_MoveChild0,
44586 OPC_SwitchOpcode , 36, TARGET_VAL(ISD::TargetGlobalAddress),
44587 OPC_MoveParent,
44588 OPC_RecordChild1,
44589 OPC_SwitchType , 20, MVT::i32,
44590 OPC_Scope, 8,
44591 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZtoc), 0|OPFL_MemRefs,
44592 MVT::i32, 2, 0, 1,
44593 8,
44594 OPC_MorphNodeTo1, TARGET_VAL(PPC::LWZtocL), 0|OPFL_MemRefs,
44595 MVT::i32, 2, 0, 1,
44596 0,
44597 8, MVT::i64,
44598 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtoc), 0|OPFL_MemRefs,
44599 MVT::i64, 2, 0, 1,
44600 0,
44601 11, TARGET_VAL(ISD::TargetJumpTable),
44602 OPC_MoveParent,
44603 OPC_RecordChild1,
44604 OPC_CheckTypeI64,
44605 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocJTI), 0|OPFL_MemRefs,
44606 MVT::i64, 2, 0, 1,
44607 11, TARGET_VAL(ISD::TargetConstantPool),
44608 OPC_MoveParent,
44609 OPC_RecordChild1,
44610 OPC_CheckTypeI64,
44611 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocCPT), 0|OPFL_MemRefs,
44612 MVT::i64, 2, 0, 1,
44613 11, TARGET_VAL(ISD::TargetBlockAddress),
44614 OPC_MoveParent,
44615 OPC_RecordChild1,
44616 OPC_CheckTypeI64,
44617 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtocBA), 0|OPFL_MemRefs,
44618 MVT::i64, 2, 0, 1,
44619 11, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44620 OPC_MoveParent,
44621 OPC_RecordChild1,
44622 OPC_CheckTypeI64,
44623 OPC_MorphNodeTo1, TARGET_VAL(PPC::LDtoc), 0|OPFL_MemRefs,
44624 MVT::i64, 2, 0, 1,
44625 0,
44626 32, TARGET_VAL(PPCISD::CALL_NOTOC),
44627 OPC_RecordNode,
44628 OPC_CaptureGlueInput,
44629 OPC_RecordChild1,
44630 OPC_MoveChild1,
44631 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
44632 OPC_CheckTypeI64,
44633 OPC_MoveParent,
44634 OPC_EmitMergeInputChains1_0,
44635 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44636 MVT::i64, 1, 1,
44637 10, TARGET_VAL(ISD::TargetExternalSymbol),
44638 OPC_CheckTypeI64,
44639 OPC_MoveParent,
44640 OPC_EmitMergeInputChains1_0,
44641 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44642 MVT::i64, 1, 1,
44643 0,
44644 32, TARGET_VAL(PPCISD::CALL_NOTOC_RM),
44645 OPC_RecordNode,
44646 OPC_CaptureGlueInput,
44647 OPC_RecordChild1,
44648 OPC_MoveChild1,
44649 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
44650 OPC_CheckTypeI64,
44651 OPC_MoveParent,
44652 OPC_EmitMergeInputChains1_0,
44653 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44654 MVT::i64, 1, 1,
44655 10, TARGET_VAL(ISD::TargetExternalSymbol),
44656 OPC_CheckTypeI64,
44657 OPC_MoveParent,
44658 OPC_EmitMergeInputChains1_0,
44659 OPC_MorphNodeTo1, TARGET_VAL(PPC::BL8_NOTOC_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
44660 MVT::i64, 1, 1,
44661 0,
44662 20, TARGET_VAL(PPCISD::EXTSWSLI),
44663 OPC_RecordChild0,
44664 OPC_CheckChild0TypeI32,
44665 OPC_RecordChild1,
44666 OPC_MoveChild1,
44667 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
44668 OPC_CheckTypeI32,
44669 OPC_MoveParent,
44670 OPC_CheckTypeI64,
44671 OPC_CheckPatternPredicate, 31,
44672 OPC_EmitConvertToTarget1,
44673 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSWSLI_32_64),
44674 MVT::i64, 2, 0, 2,
44675 15, TARGET_VAL(PPCISD::ADDIS_GOT_TPREL_HA),
44676 OPC_RecordChild0,
44677 OPC_RecordChild1,
44678 OPC_MoveChild1,
44679 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44680 OPC_MoveParent,
44681 OPC_CheckTypeI64,
44682 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDISgotTprelHA),
44683 MVT::i64, 2, 0, 1,
44684 15, TARGET_VAL(PPCISD::ADDIS_TLSGD_HA),
44685 OPC_RecordChild0,
44686 OPC_RecordChild1,
44687 OPC_MoveChild1,
44688 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44689 OPC_MoveParent,
44690 OPC_CheckTypeI64,
44691 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIStlsgdHA),
44692 MVT::i64, 2, 0, 1,
44693 15, TARGET_VAL(PPCISD::ADDIS_TLSLD_HA),
44694 OPC_RecordChild0,
44695 OPC_RecordChild1,
44696 OPC_MoveChild1,
44697 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44698 OPC_MoveParent,
44699 OPC_CheckTypeI64,
44700 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ADDIStlsldHA),
44701 MVT::i64, 2, 0, 1,
44702 15, TARGET_VAL(PPCISD::PADDI_DTPREL),
44703 OPC_RecordChild0,
44704 OPC_RecordChild1,
44705 OPC_MoveChild1,
44706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
44707 OPC_MoveParent,
44708 OPC_CheckTypeI64,
44709 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PADDIdtprel),
44710 MVT::i64, 2, 0, 1,
44711 12|128,1, TARGET_VAL(ISD::Constant),
44712 OPC_Scope, 9,
44713 OPC_CheckInteger, 2,
44714 OPC_CheckType, MVT::i1,
44715 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRSET),
44716 MVT::i1, 0,
44717 9,
44718 OPC_CheckInteger, 0,
44719 OPC_CheckType, MVT::i1,
44720 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRUNSET),
44721 MVT::i1, 0,
44722 9,
44723 OPC_CheckInteger, 3,
44724 OPC_CheckType, MVT::i1,
44725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CRSET),
44726 MVT::i1, 0,
44727 107,
44728 OPC_RecordNode,
44729 OPC_Scope, 10,
44730 OPC_CheckPredicate, 10,
44731 OPC_CheckTypeI32,
44732 OPC_EmitConvertToTarget0,
44733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI),
44734 MVT::i32, 1, 1,
44735 13,
44736 OPC_CheckPredicate, 28,
44737 OPC_CheckTypeI32,
44738 OPC_EmitConvertToTarget0,
44739 OPC_EmitNodeXForm, 0, 1,
44740 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS),
44741 MVT::i32, 1, 2,
44742 10,
44743 OPC_CheckPredicate, 12,
44744 OPC_CheckTypeI64,
44745 OPC_EmitConvertToTarget0,
44746 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LI8),
44747 MVT::i64, 1, 1,
44748 13,
44749 OPC_CheckPredicate, 28,
44750 OPC_CheckTypeI64,
44751 OPC_EmitConvertToTarget0,
44752 OPC_EmitNodeXForm, 0, 1,
44753 OPC_MorphNodeTo1None, TARGET_VAL(PPC::LIS8),
44754 MVT::i64, 1, 2,
44755 30,
44756 OPC_CheckPredicate, 39,
44757 OPC_SwitchType , 11, MVT::i32,
44758 OPC_CheckPatternPredicate1,
44759 OPC_EmitConvertToTarget0,
44760 OPC_EmitNodeXForm, 10, 1,
44761 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PLI),
44762 MVT::i32, 1, 2,
44763 11, MVT::i64,
44764 OPC_CheckPatternPredicate1,
44765 OPC_EmitConvertToTarget0,
44766 OPC_EmitNodeXForm, 10, 1,
44767 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PLI8),
44768 MVT::i64, 1, 2,
44769 0,
44770 22,
44771 OPC_CheckTypeI32,
44772 OPC_EmitConvertToTarget0,
44773 OPC_EmitNodeXForm, 0, 1,
44774 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
44775 MVT::i32, 1, 2,
44776 OPC_EmitConvertToTarget0,
44777 OPC_EmitNodeXForm, 1, 4,
44778 OPC_MorphNodeTo1None, TARGET_VAL(PPC::ORI),
44779 MVT::i32, 2, 3, 5,
44780 0,
44781 0,
44782 22, TARGET_VAL(PPCISD::RET_GLUE),
44783 OPC_RecordNode,
44784 OPC_CaptureGlueInput,
44785 OPC_Scope, 8,
44786 OPC_CheckPatternPredicate, 43,
44787 OPC_EmitMergeInputChains1_0,
44788 OPC_MorphNodeTo0, TARGET_VAL(PPC::BLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
44789 0,
44790 8,
44791 OPC_CheckPatternPredicate, 35,
44792 OPC_EmitMergeInputChains1_0,
44793 OPC_MorphNodeTo0, TARGET_VAL(PPC::BLR8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
44794 0,
44795 0,
44796 13, TARGET_VAL(ISD::BR),
44797 OPC_RecordNode,
44798 OPC_RecordChild1,
44799 OPC_MoveChild1,
44800 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
44801 OPC_MoveParent,
44802 OPC_EmitMergeInputChains1_0,
44803 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::B),
44804 1, 1,
44805 24, TARGET_VAL(PPCISD::BCTRL),
44806 OPC_RecordNode,
44807 OPC_CaptureGlueInput,
44808 OPC_Scope, 9,
44809 OPC_CheckPatternPredicate, 43,
44810 OPC_EmitMergeInputChains1_0,
44811 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
44812 MVT::i32, 0,
44813 9,
44814 OPC_CheckPatternPredicate, 35,
44815 OPC_EmitMergeInputChains1_0,
44816 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
44817 MVT::i64, 0,
44818 0,
44819 24, TARGET_VAL(PPCISD::BCTRL_RM),
44820 OPC_RecordNode,
44821 OPC_CaptureGlueInput,
44822 OPC_Scope, 9,
44823 OPC_CheckPatternPredicate, 43,
44824 OPC_EmitMergeInputChains1_0,
44825 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
44826 MVT::i32, 0,
44827 9,
44828 OPC_CheckPatternPredicate, 35,
44829 OPC_EmitMergeInputChains1_0,
44830 OPC_MorphNodeTo1, TARGET_VAL(PPC::BCTRL8_RM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic0,
44831 MVT::i64, 0,
44832 0,
44833 6, TARGET_VAL(PPCISD::CLRBHRB),
44834 OPC_RecordNode,
44835 OPC_EmitMergeInputChains1_0,
44836 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::CLRBHRB),
44837 0,
44838 6, TARGET_VAL(ISD::TRAP),
44839 OPC_RecordNode,
44840 OPC_EmitMergeInputChains1_0,
44841 OPC_MorphNodeTo0Chain, TARGET_VAL(PPC::TRAP),
44842 0,
44843 21|128,1, TARGET_VAL(PPCISD::SHL),
44844 OPC_RecordChild0,
44845 OPC_RecordChild1,
44846 OPC_Scope, 21,
44847 OPC_CheckChild1TypeI32,
44848 OPC_SwitchType , 7, MVT::i32,
44849 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SLW),
44850 MVT::i32, 2, 0, 1,
44851 7, MVT::i64,
44852 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SLD),
44853 MVT::i64, 2, 0, 1,
44854 0,
44855 69,
44856 OPC_CheckChild1Type, MVT::v1i128,
44857 OPC_CheckType, MVT::v1i128,
44858 OPC_Scope, 37,
44859 OPC_CheckPatternPredicate, 39,
44860 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44861 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44862 MVT::v4i32, 2, 1, 2,
44863 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44865 MVT::v4i32, 2, 1, 4,
44866 OPC_EmitInteger32, 4,
44867 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
44868 MVT::v4i32, 3, 3, 5, 6,
44869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLQ),
44870 MVT::v1i128, 2, 0, 7,
44871 24,
44872 OPC_CheckPatternPredicate3,
44873 OPC_EmitNode1None, TARGET_VAL(PPC::VSLO),
44874 MVT::v16i8, 2, 0, 1,
44875 OPC_EmitInteger32, 30,
44876 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
44877 MVT::v16i8, 2, 3, 1,
44878 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSL),
44879 MVT::v1i128, 2, 2, 4,
44880 0,
44881 12,
44882 OPC_CheckChild1Type, MVT::v16i8,
44883 OPC_CheckType, MVT::v16i8,
44884 OPC_CheckPatternPredicate3,
44885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLB),
44886 MVT::v16i8, 2, 0, 1,
44887 12,
44888 OPC_CheckChild1Type, MVT::v8i16,
44889 OPC_CheckType, MVT::v8i16,
44890 OPC_CheckPatternPredicate3,
44891 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLH),
44892 MVT::v8i16, 2, 0, 1,
44893 12,
44894 OPC_CheckChild1Type, MVT::v4i32,
44895 OPC_CheckType, MVT::v4i32,
44896 OPC_CheckPatternPredicate3,
44897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLW),
44898 MVT::v4i32, 2, 0, 1,
44899 13,
44900 OPC_CheckChild1Type, MVT::v2i64,
44901 OPC_CheckType, MVT::v2i64,
44902 OPC_CheckPatternPredicate, 12,
44903 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLD),
44904 MVT::v2i64, 2, 0, 1,
44905 0,
44906 21|128,1, TARGET_VAL(PPCISD::SRL),
44907 OPC_RecordChild0,
44908 OPC_RecordChild1,
44909 OPC_Scope, 21,
44910 OPC_CheckChild1TypeI32,
44911 OPC_SwitchType , 7, MVT::i32,
44912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SRW),
44913 MVT::i32, 2, 0, 1,
44914 7, MVT::i64,
44915 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SRD),
44916 MVT::i64, 2, 0, 1,
44917 0,
44918 69,
44919 OPC_CheckChild1Type, MVT::v1i128,
44920 OPC_CheckType, MVT::v1i128,
44921 OPC_Scope, 37,
44922 OPC_CheckPatternPredicate, 39,
44923 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44925 MVT::v4i32, 2, 1, 2,
44926 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44927 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44928 MVT::v4i32, 2, 1, 4,
44929 OPC_EmitInteger32, 4,
44930 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
44931 MVT::v4i32, 3, 3, 5, 6,
44932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRQ),
44933 MVT::v1i128, 2, 0, 7,
44934 24,
44935 OPC_CheckPatternPredicate3,
44936 OPC_EmitNode1None, TARGET_VAL(PPC::VSRO),
44937 MVT::v16i8, 2, 0, 1,
44938 OPC_EmitInteger32, 30,
44939 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
44940 MVT::v16i8, 2, 3, 1,
44941 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSR),
44942 MVT::v1i128, 2, 2, 4,
44943 0,
44944 12,
44945 OPC_CheckChild1Type, MVT::v16i8,
44946 OPC_CheckType, MVT::v16i8,
44947 OPC_CheckPatternPredicate3,
44948 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRB),
44949 MVT::v16i8, 2, 0, 1,
44950 12,
44951 OPC_CheckChild1Type, MVT::v8i16,
44952 OPC_CheckType, MVT::v8i16,
44953 OPC_CheckPatternPredicate3,
44954 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRH),
44955 MVT::v8i16, 2, 0, 1,
44956 12,
44957 OPC_CheckChild1Type, MVT::v4i32,
44958 OPC_CheckType, MVT::v4i32,
44959 OPC_CheckPatternPredicate3,
44960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRW),
44961 MVT::v4i32, 2, 0, 1,
44962 13,
44963 OPC_CheckChild1Type, MVT::v2i64,
44964 OPC_CheckType, MVT::v2i64,
44965 OPC_CheckPatternPredicate, 12,
44966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRD),
44967 MVT::v2i64, 2, 0, 1,
44968 0,
44969 123, TARGET_VAL(PPCISD::SRA),
44970 OPC_RecordChild0,
44971 OPC_RecordChild1,
44972 OPC_Scope, 23,
44973 OPC_CheckChild1TypeI32,
44974 OPC_SwitchType , 8, MVT::i32,
44975 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRAW),
44976 MVT::i32, MVT::i32, 2, 0, 1,
44977 8, MVT::i64,
44978 OPC_MorphNodeTo2None, TARGET_VAL(PPC::SRAD),
44979 MVT::i64, MVT::i32, 2, 0, 1,
44980 0,
44981 41,
44982 OPC_CheckChild1Type, MVT::v1i128,
44983 OPC_CheckType, MVT::v1i128,
44984 OPC_CheckPatternPredicate, 39,
44985 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44987 MVT::v4i32, 2, 1, 2,
44988 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
44989 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
44990 MVT::v4i32, 2, 1, 4,
44991 OPC_EmitInteger32, 4,
44992 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
44993 MVT::v4i32, 3, 3, 5, 6,
44994 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAQ),
44995 MVT::v1i128, 2, 0, 7,
44996 12,
44997 OPC_CheckChild1Type, MVT::v16i8,
44998 OPC_CheckType, MVT::v16i8,
44999 OPC_CheckPatternPredicate3,
45000 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAB),
45001 MVT::v16i8, 2, 0, 1,
45002 12,
45003 OPC_CheckChild1Type, MVT::v8i16,
45004 OPC_CheckType, MVT::v8i16,
45005 OPC_CheckPatternPredicate3,
45006 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAH),
45007 MVT::v8i16, 2, 0, 1,
45008 12,
45009 OPC_CheckChild1Type, MVT::v4i32,
45010 OPC_CheckType, MVT::v4i32,
45011 OPC_CheckPatternPredicate3,
45012 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAW),
45013 MVT::v4i32, 2, 0, 1,
45014 13,
45015 OPC_CheckChild1Type, MVT::v2i64,
45016 OPC_CheckType, MVT::v2i64,
45017 OPC_CheckPatternPredicate, 12,
45018 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSRAD),
45019 MVT::v2i64, 2, 0, 1,
45020 0,
45021 69, TARGET_VAL(ISD::CTLZ),
45022 OPC_RecordChild0,
45023 OPC_SwitchType , 7, MVT::i32,
45024 OPC_CheckChild0TypeI32,
45025 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTLZW),
45026 MVT::i32, 1, 0,
45027 7, MVT::i64,
45028 OPC_CheckChild0TypeI64,
45029 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTLZD),
45030 MVT::i64, 1, 0,
45031 10, MVT::v16i8,
45032 OPC_CheckChild0Type, MVT::v16i8,
45033 OPC_CheckPatternPredicate, 12,
45034 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZB),
45035 MVT::v16i8, 1, 0,
45036 10, MVT::v8i16,
45037 OPC_CheckChild0Type, MVT::v8i16,
45038 OPC_CheckPatternPredicate, 12,
45039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZH),
45040 MVT::v8i16, 1, 0,
45041 10, MVT::v4i32,
45042 OPC_CheckChild0Type, MVT::v4i32,
45043 OPC_CheckPatternPredicate, 12,
45044 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZW),
45045 MVT::v4i32, 1, 0,
45046 10, MVT::v2i64,
45047 OPC_CheckChild0Type, MVT::v2i64,
45048 OPC_CheckPatternPredicate, 12,
45049 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCLZD),
45050 MVT::v2i64, 1, 0,
45051 0,
45052 73, TARGET_VAL(ISD::CTTZ),
45053 OPC_RecordChild0,
45054 OPC_SwitchType , 9, MVT::i32,
45055 OPC_CheckChild0TypeI32,
45056 OPC_CheckPatternPredicate, 31,
45057 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTTZW),
45058 MVT::i32, 1, 0,
45059 9, MVT::i64,
45060 OPC_CheckChild0TypeI64,
45061 OPC_CheckPatternPredicate, 31,
45062 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CNTTZD),
45063 MVT::i64, 1, 0,
45064 10, MVT::v16i8,
45065 OPC_CheckChild0Type, MVT::v16i8,
45066 OPC_CheckPatternPredicate, 18,
45067 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZB),
45068 MVT::v16i8, 1, 0,
45069 10, MVT::v8i16,
45070 OPC_CheckChild0Type, MVT::v8i16,
45071 OPC_CheckPatternPredicate, 18,
45072 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZH),
45073 MVT::v8i16, 1, 0,
45074 10, MVT::v4i32,
45075 OPC_CheckChild0Type, MVT::v4i32,
45076 OPC_CheckPatternPredicate, 18,
45077 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZW),
45078 MVT::v4i32, 1, 0,
45079 10, MVT::v2i64,
45080 OPC_CheckChild0Type, MVT::v2i64,
45081 OPC_CheckPatternPredicate, 18,
45082 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCTZD),
45083 MVT::v2i64, 1, 0,
45084 0,
45085 1|128,1, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
45086 OPC_RecordChild0,
45087 OPC_MoveChild1,
45088 OPC_Scope, 21,
45089 OPC_CheckValueType, MVT::i8,
45090 OPC_MoveParent,
45091 OPC_SwitchType , 6, MVT::i32,
45092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSB),
45093 MVT::i32, 1, 0,
45094 6, MVT::i64,
45095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSB8),
45096 MVT::i64, 1, 0,
45097 0,
45098 21,
45099 OPC_CheckValueType, MVT::i16,
45100 OPC_MoveParent,
45101 OPC_SwitchType , 6, MVT::i32,
45102 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSH),
45103 MVT::i32, 1, 0,
45104 6, MVT::i64,
45105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSH8),
45106 MVT::i64, 1, 0,
45107 0,
45108 10,
45109 OPC_CheckValueType, MVT::i32,
45110 OPC_MoveParent,
45111 OPC_CheckTypeI64,
45112 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EXTSW),
45113 MVT::i64, 1, 0,
45114 13,
45115 OPC_CheckValueType, MVT::v4i8,
45116 OPC_MoveParent,
45117 OPC_CheckType, MVT::v4i32,
45118 OPC_CheckPatternPredicate, 18,
45119 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
45120 MVT::v4i32, 1, 0,
45121 13,
45122 OPC_CheckValueType, MVT::v4i16,
45123 OPC_MoveParent,
45124 OPC_CheckType, MVT::v4i32,
45125 OPC_CheckPatternPredicate, 18,
45126 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
45127 MVT::v4i32, 1, 0,
45128 13,
45129 OPC_CheckValueType, MVT::v2i8,
45130 OPC_MoveParent,
45131 OPC_CheckType, MVT::v2i64,
45132 OPC_CheckPatternPredicate, 18,
45133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
45134 MVT::v2i64, 1, 0,
45135 13,
45136 OPC_CheckValueType, MVT::v2i16,
45137 OPC_MoveParent,
45138 OPC_CheckType, MVT::v2i64,
45139 OPC_CheckPatternPredicate, 18,
45140 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
45141 MVT::v2i64, 1, 0,
45142 13,
45143 OPC_CheckValueType, MVT::v2i32,
45144 OPC_MoveParent,
45145 OPC_CheckType, MVT::v2i64,
45146 OPC_CheckPatternPredicate, 18,
45147 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
45148 MVT::v2i64, 1, 0,
45149 0,
45150 22, TARGET_VAL(PPCISD::CMPB),
45151 OPC_RecordChild0,
45152 OPC_RecordChild1,
45153 OPC_SwitchType , 7, MVT::i32,
45154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB),
45155 MVT::i32, 2, 0, 1,
45156 7, MVT::i64,
45157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CMPB8),
45158 MVT::i64, 2, 0, 1,
45159 0,
45160 9, TARGET_VAL(PPCISD::CR6SET),
45161 OPC_RecordNode,
45162 OPC_CaptureGlueInput,
45163 OPC_EmitMergeInputChains1_0,
45164 OPC_MorphNodeTo1, TARGET_VAL(PPC::CR6SET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
45165 MVT::i1, 0,
45166 9, TARGET_VAL(PPCISD::CR6UNSET),
45167 OPC_RecordNode,
45168 OPC_CaptureGlueInput,
45169 OPC_EmitMergeInputChains1_0,
45170 OPC_MorphNodeTo1, TARGET_VAL(PPC::CR6UNSET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
45171 MVT::i1, 0,
45172 25, TARGET_VAL(PPCISD::MTCTR),
45173 OPC_RecordNode,
45174 OPC_CaptureGlueInput,
45175 OPC_RecordChild1,
45176 OPC_Scope, 9,
45177 OPC_CheckChild1TypeI32,
45178 OPC_EmitMergeInputChains1_0,
45179 OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
45180 MVT::i32, 1, 1,
45181 9,
45182 OPC_CheckChild1TypeI64,
45183 OPC_EmitMergeInputChains1_0,
45184 OPC_MorphNodeTo1, TARGET_VAL(PPC::MTCTR8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
45185 MVT::i64, 1, 1,
45186 0,
45187 56, TARGET_VAL(ISD::SREM),
45188 OPC_RecordChild0,
45189 OPC_RecordChild1,
45190 OPC_SwitchType , 9, MVT::i32,
45191 OPC_CheckPatternPredicate, 31,
45192 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MODSW),
45193 MVT::i32, 2, 0, 1,
45194 9, MVT::i64,
45195 OPC_CheckPatternPredicate, 31,
45196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MODSD),
45197 MVT::i64, 2, 0, 1,
45198 8, MVT::v4i32,
45199 OPC_CheckPatternPredicate4,
45200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODSW),
45201 MVT::v4i32, 2, 0, 1,
45202 8, MVT::v2i64,
45203 OPC_CheckPatternPredicate4,
45204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODSD),
45205 MVT::v2i64, 2, 0, 1,
45206 8, MVT::v1i128,
45207 OPC_CheckPatternPredicate4,
45208 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODSQ),
45209 MVT::v1i128, 2, 0, 1,
45210 0,
45211 56, TARGET_VAL(ISD::UREM),
45212 OPC_RecordChild0,
45213 OPC_RecordChild1,
45214 OPC_SwitchType , 9, MVT::i32,
45215 OPC_CheckPatternPredicate, 31,
45216 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MODUW),
45217 MVT::i32, 2, 0, 1,
45218 9, MVT::i64,
45219 OPC_CheckPatternPredicate, 31,
45220 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MODUD),
45221 MVT::i64, 2, 0, 1,
45222 8, MVT::v4i32,
45223 OPC_CheckPatternPredicate4,
45224 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODUW),
45225 MVT::v4i32, 2, 0, 1,
45226 8, MVT::v2i64,
45227 OPC_CheckPatternPredicate4,
45228 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODUD),
45229 MVT::v2i64, 2, 0, 1,
45230 8, MVT::v1i128,
45231 OPC_CheckPatternPredicate4,
45232 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMODUQ),
45233 MVT::v1i128, 2, 0, 1,
45234 0,
45235 52, TARGET_VAL(ISD::SDIV),
45236 OPC_RecordChild0,
45237 OPC_RecordChild1,
45238 OPC_SwitchType , 7, MVT::i32,
45239 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVW),
45240 MVT::i32, 2, 0, 1,
45241 7, MVT::i64,
45242 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVD),
45243 MVT::i64, 2, 0, 1,
45244 8, MVT::v4i32,
45245 OPC_CheckPatternPredicate4,
45246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVSW),
45247 MVT::v4i32, 2, 0, 1,
45248 8, MVT::v2i64,
45249 OPC_CheckPatternPredicate4,
45250 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVSD),
45251 MVT::v2i64, 2, 0, 1,
45252 8, MVT::v1i128,
45253 OPC_CheckPatternPredicate4,
45254 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVSQ),
45255 MVT::v1i128, 2, 0, 1,
45256 0,
45257 52, TARGET_VAL(ISD::UDIV),
45258 OPC_RecordChild0,
45259 OPC_RecordChild1,
45260 OPC_SwitchType , 7, MVT::i32,
45261 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVWU),
45262 MVT::i32, 2, 0, 1,
45263 7, MVT::i64,
45264 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DIVDU),
45265 MVT::i64, 2, 0, 1,
45266 8, MVT::v4i32,
45267 OPC_CheckPatternPredicate4,
45268 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVUW),
45269 MVT::v4i32, 2, 0, 1,
45270 8, MVT::v2i64,
45271 OPC_CheckPatternPredicate4,
45272 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVUD),
45273 MVT::v2i64, 2, 0, 1,
45274 8, MVT::v1i128,
45275 OPC_CheckPatternPredicate4,
45276 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VDIVUQ),
45277 MVT::v1i128, 2, 0, 1,
45278 0,
45279 42, TARGET_VAL(ISD::MULHS),
45280 OPC_RecordChild0,
45281 OPC_RecordChild1,
45282 OPC_SwitchType , 7, MVT::i32,
45283 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHW),
45284 MVT::i32, 2, 0, 1,
45285 7, MVT::i64,
45286 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHD),
45287 MVT::i64, 2, 0, 1,
45288 8, MVT::v4i32,
45289 OPC_CheckPatternPredicate4,
45290 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSW),
45291 MVT::v4i32, 2, 0, 1,
45292 8, MVT::v2i64,
45293 OPC_CheckPatternPredicate4,
45294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHSD),
45295 MVT::v2i64, 2, 0, 1,
45296 0,
45297 42, TARGET_VAL(ISD::MULHU),
45298 OPC_RecordChild0,
45299 OPC_RecordChild1,
45300 OPC_SwitchType , 7, MVT::i32,
45301 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHWU),
45302 MVT::i32, 2, 0, 1,
45303 7, MVT::i64,
45304 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MULHDU),
45305 MVT::i64, 2, 0, 1,
45306 8, MVT::v4i32,
45307 OPC_CheckPatternPredicate4,
45308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUW),
45309 MVT::v4i32, 2, 0, 1,
45310 8, MVT::v2i64,
45311 OPC_CheckPatternPredicate4,
45312 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMULHUD),
45313 MVT::v2i64, 2, 0, 1,
45314 0,
45315 6, TARGET_VAL(PPCISD::PPC32_GOT),
45316 OPC_CheckTypeI32,
45317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::PPC32GOT),
45318 MVT::i32, 0,
45319 19, TARGET_VAL(PPCISD::GET_TLS_MOD_AIX),
45320 OPC_RecordChild0,
45321 OPC_SwitchType , 6, MVT::i32,
45322 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsMOD32AIX),
45323 MVT::i32, 1, 0,
45324 6, MVT::i64,
45325 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsMOD64AIX),
45326 MVT::i64, 1, 0,
45327 0,
45328 6, TARGET_VAL(PPCISD::GET_TPOINTER),
45329 OPC_CheckTypeI32,
45330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::GETtlsTpointer32AIX),
45331 MVT::i32, 0,
45332 22, TARGET_VAL(PPCISD::TLSGD_AIX),
45333 OPC_RecordChild0,
45334 OPC_RecordChild1,
45335 OPC_SwitchType , 7, MVT::i32,
45336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::TLSGDAIX),
45337 MVT::i32, 2, 0, 1,
45338 7, MVT::i64,
45339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::TLSGDAIX8),
45340 MVT::i64, 2, 0, 1,
45341 0,
45342 19, TARGET_VAL(PPCISD::TLSLD_AIX),
45343 OPC_RecordChild0,
45344 OPC_SwitchType , 6, MVT::i32,
45345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::TLSLDAIX),
45346 MVT::i32, 1, 0,
45347 6, MVT::i64,
45348 OPC_MorphNodeTo1None, TARGET_VAL(PPC::TLSLDAIX8),
45349 MVT::i64, 1, 0,
45350 0,
45351 8, TARGET_VAL(ISD::READCYCLECOUNTER),
45352 OPC_RecordNode,
45353 OPC_CheckTypeI64,
45354 OPC_EmitMergeInputChains1_0,
45355 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFTB8),
45356 MVT::i64, 0,
45357 69, TARGET_VAL(ISD::CTPOP),
45358 OPC_RecordChild0,
45359 OPC_SwitchType , 7, MVT::i64,
45360 OPC_CheckChild0TypeI64,
45361 OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTD),
45362 MVT::i64, 1, 0,
45363 7, MVT::i32,
45364 OPC_CheckChild0TypeI32,
45365 OPC_MorphNodeTo1None, TARGET_VAL(PPC::POPCNTW),
45366 MVT::i32, 1, 0,
45367 10, MVT::v16i8,
45368 OPC_CheckChild0Type, MVT::v16i8,
45369 OPC_CheckPatternPredicate, 12,
45370 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPOPCNTB),
45371 MVT::v16i8, 1, 0,
45372 10, MVT::v8i16,
45373 OPC_CheckChild0Type, MVT::v8i16,
45374 OPC_CheckPatternPredicate, 12,
45375 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPOPCNTH),
45376 MVT::v8i16, 1, 0,
45377 10, MVT::v4i32,
45378 OPC_CheckChild0Type, MVT::v4i32,
45379 OPC_CheckPatternPredicate, 12,
45380 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPOPCNTW),
45381 MVT::v4i32, 1, 0,
45382 10, MVT::v2i64,
45383 OPC_CheckChild0Type, MVT::v2i64,
45384 OPC_CheckPatternPredicate, 12,
45385 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPOPCNTD),
45386 MVT::v2i64, 1, 0,
45387 0,
45388 93, TARGET_VAL(ISD::BSWAP),
45389 OPC_RecordChild0,
45390 OPC_SwitchType , 7, MVT::i32,
45391 OPC_CheckPatternPredicate4,
45392 OPC_MorphNodeTo1None, TARGET_VAL(PPC::BRW),
45393 MVT::i32, 1, 0,
45394 7, MVT::i64,
45395 OPC_CheckPatternPredicate4,
45396 OPC_MorphNodeTo1None, TARGET_VAL(PPC::BRD),
45397 MVT::i64, 1, 0,
45398 7, MVT::v4i32,
45399 OPC_CheckPatternPredicate7,
45400 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBRW),
45401 MVT::v4i32, 1, 0,
45402 7, MVT::v2i64,
45403 OPC_CheckPatternPredicate7,
45404 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXBRD),
45405 MVT::v2i64, 1, 0,
45406 25, MVT::v8i16,
45407 OPC_CheckPatternPredicate7,
45408 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
45409 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
45410 MVT::v4i32, 2, 0, 1,
45411 OPC_EmitNode1None, TARGET_VAL(PPC::XXBRH),
45412 MVT::v4i32, 1, 2,
45413 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
45414 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
45415 MVT::v8i16, 2, 3, 4,
45416 25, MVT::v1i128,
45417 OPC_CheckPatternPredicate7,
45418 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
45419 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
45420 MVT::v4i32, 2, 0, 1,
45421 OPC_EmitNode1None, TARGET_VAL(PPC::XXBRQ),
45422 MVT::v4i32, 1, 2,
45423 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
45424 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
45425 MVT::v1i128, 2, 3, 4,
45426 0,
45427 73|128,9, TARGET_VAL(ISD::STRICT_FSETCC),
45428 OPC_RecordNode,
45429 OPC_RecordChild1,
45430 OPC_Scope, 21|128,3,
45431 OPC_CheckChild1Type, MVT::f32,
45432 OPC_RecordChild2,
45433 OPC_MoveChild3,
45434 OPC_Scope, 23,
45435 OPC_CheckCondCode, ISD::SETOLT,
45436 OPC_MoveParent,
45437 OPC_CheckType, MVT::i1,
45438 OPC_CheckPatternPredicate0,
45439 OPC_EmitMergeInputChains1_0,
45440 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45441 MVT::i32, 2, 1, 2,
45442 OPC_EmitStringInteger32, PPC::sub_lt,
45443 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45444 MVT::i1, 2, 3, 4,
45445 23,
45446 OPC_CheckCondCode, ISD::SETLT,
45447 OPC_MoveParent,
45448 OPC_CheckType, MVT::i1,
45449 OPC_CheckPatternPredicate0,
45450 OPC_EmitMergeInputChains1_0,
45451 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45452 MVT::i32, 2, 1, 2,
45453 OPC_EmitStringInteger32, PPC::sub_lt,
45454 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45455 MVT::i1, 2, 3, 4,
45456 23,
45457 OPC_CheckCondCode, ISD::SETOGT,
45458 OPC_MoveParent,
45459 OPC_CheckType, MVT::i1,
45460 OPC_CheckPatternPredicate0,
45461 OPC_EmitMergeInputChains1_0,
45462 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45463 MVT::i32, 2, 1, 2,
45464 OPC_EmitStringInteger32, PPC::sub_gt,
45465 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45466 MVT::i1, 2, 3, 4,
45467 23,
45468 OPC_CheckCondCode, ISD::SETGT,
45469 OPC_MoveParent,
45470 OPC_CheckType, MVT::i1,
45471 OPC_CheckPatternPredicate0,
45472 OPC_EmitMergeInputChains1_0,
45473 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45474 MVT::i32, 2, 1, 2,
45475 OPC_EmitStringInteger32, PPC::sub_gt,
45476 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45477 MVT::i1, 2, 3, 4,
45478 23,
45479 OPC_CheckCondCode, ISD::SETOEQ,
45480 OPC_MoveParent,
45481 OPC_CheckType, MVT::i1,
45482 OPC_CheckPatternPredicate0,
45483 OPC_EmitMergeInputChains1_0,
45484 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45485 MVT::i32, 2, 1, 2,
45486 OPC_EmitStringInteger32, PPC::sub_eq,
45487 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45488 MVT::i1, 2, 3, 4,
45489 23,
45490 OPC_CheckCondCode, ISD::SETEQ,
45491 OPC_MoveParent,
45492 OPC_CheckType, MVT::i1,
45493 OPC_CheckPatternPredicate0,
45494 OPC_EmitMergeInputChains1_0,
45495 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45496 MVT::i32, 2, 1, 2,
45497 OPC_EmitStringInteger32, PPC::sub_eq,
45498 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45499 MVT::i1, 2, 3, 4,
45500 23,
45501 OPC_CheckCondCode, ISD::SETUO,
45502 OPC_MoveParent,
45503 OPC_CheckType, MVT::i1,
45504 OPC_CheckPatternPredicate0,
45505 OPC_EmitMergeInputChains1_0,
45506 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45507 MVT::i32, 2, 1, 2,
45508 OPC_EmitStringInteger32, PPC::sub_un,
45509 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45510 MVT::i1, 2, 3, 4,
45511 32,
45512 OPC_CheckCondCode, ISD::SETUGE,
45513 OPC_MoveParent,
45514 OPC_CheckType, MVT::i1,
45515 OPC_CheckPatternPredicate0,
45516 OPC_EmitMergeInputChains1_0,
45517 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45518 MVT::i32, 2, 1, 2,
45519 OPC_EmitStringInteger32, PPC::sub_lt,
45520 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45521 MVT::i1, 2, 3, 4,
45522 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45523 MVT::i1, 1, 5,
45524 OPC_CompleteMatch, 1, 6,
45525
45526 32,
45527 OPC_CheckCondCode, ISD::SETGE,
45528 OPC_MoveParent,
45529 OPC_CheckType, MVT::i1,
45530 OPC_CheckPatternPredicate0,
45531 OPC_EmitMergeInputChains1_0,
45532 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45533 MVT::i32, 2, 1, 2,
45534 OPC_EmitStringInteger32, PPC::sub_lt,
45535 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45536 MVT::i1, 2, 3, 4,
45537 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45538 MVT::i1, 1, 5,
45539 OPC_CompleteMatch, 1, 6,
45540
45541 32,
45542 OPC_CheckCondCode, ISD::SETULE,
45543 OPC_MoveParent,
45544 OPC_CheckType, MVT::i1,
45545 OPC_CheckPatternPredicate0,
45546 OPC_EmitMergeInputChains1_0,
45547 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45548 MVT::i32, 2, 1, 2,
45549 OPC_EmitStringInteger32, PPC::sub_gt,
45550 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45551 MVT::i1, 2, 3, 4,
45552 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45553 MVT::i1, 1, 5,
45554 OPC_CompleteMatch, 1, 6,
45555
45556 32,
45557 OPC_CheckCondCode, ISD::SETLE,
45558 OPC_MoveParent,
45559 OPC_CheckType, MVT::i1,
45560 OPC_CheckPatternPredicate0,
45561 OPC_EmitMergeInputChains1_0,
45562 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45563 MVT::i32, 2, 1, 2,
45564 OPC_EmitStringInteger32, PPC::sub_gt,
45565 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45566 MVT::i1, 2, 3, 4,
45567 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45568 MVT::i1, 1, 5,
45569 OPC_CompleteMatch, 1, 6,
45570
45571 32,
45572 OPC_CheckCondCode, ISD::SETUNE,
45573 OPC_MoveParent,
45574 OPC_CheckType, MVT::i1,
45575 OPC_CheckPatternPredicate0,
45576 OPC_EmitMergeInputChains1_0,
45577 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45578 MVT::i32, 2, 1, 2,
45579 OPC_EmitStringInteger32, PPC::sub_eq,
45580 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45581 MVT::i1, 2, 3, 4,
45582 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45583 MVT::i1, 1, 5,
45584 OPC_CompleteMatch, 1, 6,
45585
45586 32,
45587 OPC_CheckCondCode, ISD::SETNE,
45588 OPC_MoveParent,
45589 OPC_CheckType, MVT::i1,
45590 OPC_CheckPatternPredicate0,
45591 OPC_EmitMergeInputChains1_0,
45592 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45593 MVT::i32, 2, 1, 2,
45594 OPC_EmitStringInteger32, PPC::sub_eq,
45595 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45596 MVT::i1, 2, 3, 4,
45597 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45598 MVT::i1, 1, 5,
45599 OPC_CompleteMatch, 1, 6,
45600
45601 32,
45602 OPC_CheckCondCode, ISD::SETO,
45603 OPC_MoveParent,
45604 OPC_CheckType, MVT::i1,
45605 OPC_CheckPatternPredicate0,
45606 OPC_EmitMergeInputChains1_0,
45607 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUS),
45608 MVT::i32, 2, 1, 2,
45609 OPC_EmitStringInteger32, PPC::sub_un,
45610 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45611 MVT::i1, 2, 3, 4,
45612 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45613 MVT::i1, 1, 5,
45614 OPC_CompleteMatch, 1, 6,
45615
45616 0,
45617 21|128,3,
45618 OPC_CheckChild1Type, MVT::f64,
45619 OPC_RecordChild2,
45620 OPC_MoveChild3,
45621 OPC_Scope, 23,
45622 OPC_CheckCondCode, ISD::SETOLT,
45623 OPC_MoveParent,
45624 OPC_CheckType, MVT::i1,
45625 OPC_CheckPatternPredicate0,
45626 OPC_EmitMergeInputChains1_0,
45627 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45628 MVT::i32, 2, 1, 2,
45629 OPC_EmitStringInteger32, PPC::sub_lt,
45630 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45631 MVT::i1, 2, 3, 4,
45632 23,
45633 OPC_CheckCondCode, ISD::SETLT,
45634 OPC_MoveParent,
45635 OPC_CheckType, MVT::i1,
45636 OPC_CheckPatternPredicate0,
45637 OPC_EmitMergeInputChains1_0,
45638 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45639 MVT::i32, 2, 1, 2,
45640 OPC_EmitStringInteger32, PPC::sub_lt,
45641 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45642 MVT::i1, 2, 3, 4,
45643 23,
45644 OPC_CheckCondCode, ISD::SETOGT,
45645 OPC_MoveParent,
45646 OPC_CheckType, MVT::i1,
45647 OPC_CheckPatternPredicate0,
45648 OPC_EmitMergeInputChains1_0,
45649 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45650 MVT::i32, 2, 1, 2,
45651 OPC_EmitStringInteger32, PPC::sub_gt,
45652 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45653 MVT::i1, 2, 3, 4,
45654 23,
45655 OPC_CheckCondCode, ISD::SETGT,
45656 OPC_MoveParent,
45657 OPC_CheckType, MVT::i1,
45658 OPC_CheckPatternPredicate0,
45659 OPC_EmitMergeInputChains1_0,
45660 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45661 MVT::i32, 2, 1, 2,
45662 OPC_EmitStringInteger32, PPC::sub_gt,
45663 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45664 MVT::i1, 2, 3, 4,
45665 23,
45666 OPC_CheckCondCode, ISD::SETOEQ,
45667 OPC_MoveParent,
45668 OPC_CheckType, MVT::i1,
45669 OPC_CheckPatternPredicate0,
45670 OPC_EmitMergeInputChains1_0,
45671 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45672 MVT::i32, 2, 1, 2,
45673 OPC_EmitStringInteger32, PPC::sub_eq,
45674 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45675 MVT::i1, 2, 3, 4,
45676 23,
45677 OPC_CheckCondCode, ISD::SETEQ,
45678 OPC_MoveParent,
45679 OPC_CheckType, MVT::i1,
45680 OPC_CheckPatternPredicate0,
45681 OPC_EmitMergeInputChains1_0,
45682 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45683 MVT::i32, 2, 1, 2,
45684 OPC_EmitStringInteger32, PPC::sub_eq,
45685 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45686 MVT::i1, 2, 3, 4,
45687 23,
45688 OPC_CheckCondCode, ISD::SETUO,
45689 OPC_MoveParent,
45690 OPC_CheckType, MVT::i1,
45691 OPC_CheckPatternPredicate0,
45692 OPC_EmitMergeInputChains1_0,
45693 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45694 MVT::i32, 2, 1, 2,
45695 OPC_EmitStringInteger32, PPC::sub_un,
45696 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45697 MVT::i1, 2, 3, 4,
45698 32,
45699 OPC_CheckCondCode, ISD::SETUGE,
45700 OPC_MoveParent,
45701 OPC_CheckType, MVT::i1,
45702 OPC_CheckPatternPredicate0,
45703 OPC_EmitMergeInputChains1_0,
45704 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45705 MVT::i32, 2, 1, 2,
45706 OPC_EmitStringInteger32, PPC::sub_lt,
45707 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45708 MVT::i1, 2, 3, 4,
45709 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45710 MVT::i1, 1, 5,
45711 OPC_CompleteMatch, 1, 6,
45712
45713 32,
45714 OPC_CheckCondCode, ISD::SETGE,
45715 OPC_MoveParent,
45716 OPC_CheckType, MVT::i1,
45717 OPC_CheckPatternPredicate0,
45718 OPC_EmitMergeInputChains1_0,
45719 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45720 MVT::i32, 2, 1, 2,
45721 OPC_EmitStringInteger32, PPC::sub_lt,
45722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45723 MVT::i1, 2, 3, 4,
45724 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45725 MVT::i1, 1, 5,
45726 OPC_CompleteMatch, 1, 6,
45727
45728 32,
45729 OPC_CheckCondCode, ISD::SETULE,
45730 OPC_MoveParent,
45731 OPC_CheckType, MVT::i1,
45732 OPC_CheckPatternPredicate0,
45733 OPC_EmitMergeInputChains1_0,
45734 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45735 MVT::i32, 2, 1, 2,
45736 OPC_EmitStringInteger32, PPC::sub_gt,
45737 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45738 MVT::i1, 2, 3, 4,
45739 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45740 MVT::i1, 1, 5,
45741 OPC_CompleteMatch, 1, 6,
45742
45743 32,
45744 OPC_CheckCondCode, ISD::SETLE,
45745 OPC_MoveParent,
45746 OPC_CheckType, MVT::i1,
45747 OPC_CheckPatternPredicate0,
45748 OPC_EmitMergeInputChains1_0,
45749 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45750 MVT::i32, 2, 1, 2,
45751 OPC_EmitStringInteger32, PPC::sub_gt,
45752 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45753 MVT::i1, 2, 3, 4,
45754 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45755 MVT::i1, 1, 5,
45756 OPC_CompleteMatch, 1, 6,
45757
45758 32,
45759 OPC_CheckCondCode, ISD::SETUNE,
45760 OPC_MoveParent,
45761 OPC_CheckType, MVT::i1,
45762 OPC_CheckPatternPredicate0,
45763 OPC_EmitMergeInputChains1_0,
45764 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45765 MVT::i32, 2, 1, 2,
45766 OPC_EmitStringInteger32, PPC::sub_eq,
45767 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45768 MVT::i1, 2, 3, 4,
45769 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45770 MVT::i1, 1, 5,
45771 OPC_CompleteMatch, 1, 6,
45772
45773 32,
45774 OPC_CheckCondCode, ISD::SETNE,
45775 OPC_MoveParent,
45776 OPC_CheckType, MVT::i1,
45777 OPC_CheckPatternPredicate0,
45778 OPC_EmitMergeInputChains1_0,
45779 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45780 MVT::i32, 2, 1, 2,
45781 OPC_EmitStringInteger32, PPC::sub_eq,
45782 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45783 MVT::i1, 2, 3, 4,
45784 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45785 MVT::i1, 1, 5,
45786 OPC_CompleteMatch, 1, 6,
45787
45788 32,
45789 OPC_CheckCondCode, ISD::SETO,
45790 OPC_MoveParent,
45791 OPC_CheckType, MVT::i1,
45792 OPC_CheckPatternPredicate0,
45793 OPC_EmitMergeInputChains1_0,
45794 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPUD),
45795 MVT::i32, 2, 1, 2,
45796 OPC_EmitStringInteger32, PPC::sub_un,
45797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45798 MVT::i1, 2, 3, 4,
45799 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45800 MVT::i1, 1, 5,
45801 OPC_CompleteMatch, 1, 6,
45802
45803 0,
45804 21|128,3,
45805 OPC_CheckChild1Type, MVT::f128,
45806 OPC_RecordChild2,
45807 OPC_MoveChild3,
45808 OPC_Scope, 23,
45809 OPC_CheckCondCode, ISD::SETOLT,
45810 OPC_MoveParent,
45811 OPC_CheckType, MVT::i1,
45812 OPC_CheckPatternPredicate0,
45813 OPC_EmitMergeInputChains1_0,
45814 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45815 MVT::i32, 2, 1, 2,
45816 OPC_EmitStringInteger32, PPC::sub_lt,
45817 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45818 MVT::i1, 2, 3, 4,
45819 23,
45820 OPC_CheckCondCode, ISD::SETLT,
45821 OPC_MoveParent,
45822 OPC_CheckType, MVT::i1,
45823 OPC_CheckPatternPredicate0,
45824 OPC_EmitMergeInputChains1_0,
45825 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45826 MVT::i32, 2, 1, 2,
45827 OPC_EmitStringInteger32, PPC::sub_lt,
45828 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45829 MVT::i1, 2, 3, 4,
45830 23,
45831 OPC_CheckCondCode, ISD::SETOGT,
45832 OPC_MoveParent,
45833 OPC_CheckType, MVT::i1,
45834 OPC_CheckPatternPredicate0,
45835 OPC_EmitMergeInputChains1_0,
45836 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45837 MVT::i32, 2, 1, 2,
45838 OPC_EmitStringInteger32, PPC::sub_gt,
45839 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45840 MVT::i1, 2, 3, 4,
45841 23,
45842 OPC_CheckCondCode, ISD::SETGT,
45843 OPC_MoveParent,
45844 OPC_CheckType, MVT::i1,
45845 OPC_CheckPatternPredicate0,
45846 OPC_EmitMergeInputChains1_0,
45847 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45848 MVT::i32, 2, 1, 2,
45849 OPC_EmitStringInteger32, PPC::sub_gt,
45850 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45851 MVT::i1, 2, 3, 4,
45852 23,
45853 OPC_CheckCondCode, ISD::SETOEQ,
45854 OPC_MoveParent,
45855 OPC_CheckType, MVT::i1,
45856 OPC_CheckPatternPredicate0,
45857 OPC_EmitMergeInputChains1_0,
45858 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45859 MVT::i32, 2, 1, 2,
45860 OPC_EmitStringInteger32, PPC::sub_eq,
45861 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45862 MVT::i1, 2, 3, 4,
45863 23,
45864 OPC_CheckCondCode, ISD::SETEQ,
45865 OPC_MoveParent,
45866 OPC_CheckType, MVT::i1,
45867 OPC_CheckPatternPredicate0,
45868 OPC_EmitMergeInputChains1_0,
45869 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45870 MVT::i32, 2, 1, 2,
45871 OPC_EmitStringInteger32, PPC::sub_eq,
45872 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45873 MVT::i1, 2, 3, 4,
45874 23,
45875 OPC_CheckCondCode, ISD::SETUO,
45876 OPC_MoveParent,
45877 OPC_CheckType, MVT::i1,
45878 OPC_CheckPatternPredicate0,
45879 OPC_EmitMergeInputChains1_0,
45880 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45881 MVT::i32, 2, 1, 2,
45882 OPC_EmitStringInteger32, PPC::sub_un,
45883 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45884 MVT::i1, 2, 3, 4,
45885 32,
45886 OPC_CheckCondCode, ISD::SETUGE,
45887 OPC_MoveParent,
45888 OPC_CheckType, MVT::i1,
45889 OPC_CheckPatternPredicate0,
45890 OPC_EmitMergeInputChains1_0,
45891 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45892 MVT::i32, 2, 1, 2,
45893 OPC_EmitStringInteger32, PPC::sub_lt,
45894 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45895 MVT::i1, 2, 3, 4,
45896 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45897 MVT::i1, 1, 5,
45898 OPC_CompleteMatch, 1, 6,
45899
45900 32,
45901 OPC_CheckCondCode, ISD::SETGE,
45902 OPC_MoveParent,
45903 OPC_CheckType, MVT::i1,
45904 OPC_CheckPatternPredicate0,
45905 OPC_EmitMergeInputChains1_0,
45906 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45907 MVT::i32, 2, 1, 2,
45908 OPC_EmitStringInteger32, PPC::sub_lt,
45909 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45910 MVT::i1, 2, 3, 4,
45911 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45912 MVT::i1, 1, 5,
45913 OPC_CompleteMatch, 1, 6,
45914
45915 32,
45916 OPC_CheckCondCode, ISD::SETULE,
45917 OPC_MoveParent,
45918 OPC_CheckType, MVT::i1,
45919 OPC_CheckPatternPredicate0,
45920 OPC_EmitMergeInputChains1_0,
45921 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45922 MVT::i32, 2, 1, 2,
45923 OPC_EmitStringInteger32, PPC::sub_gt,
45924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45925 MVT::i1, 2, 3, 4,
45926 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45927 MVT::i1, 1, 5,
45928 OPC_CompleteMatch, 1, 6,
45929
45930 32,
45931 OPC_CheckCondCode, ISD::SETLE,
45932 OPC_MoveParent,
45933 OPC_CheckType, MVT::i1,
45934 OPC_CheckPatternPredicate0,
45935 OPC_EmitMergeInputChains1_0,
45936 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45937 MVT::i32, 2, 1, 2,
45938 OPC_EmitStringInteger32, PPC::sub_gt,
45939 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45940 MVT::i1, 2, 3, 4,
45941 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45942 MVT::i1, 1, 5,
45943 OPC_CompleteMatch, 1, 6,
45944
45945 32,
45946 OPC_CheckCondCode, ISD::SETUNE,
45947 OPC_MoveParent,
45948 OPC_CheckType, MVT::i1,
45949 OPC_CheckPatternPredicate0,
45950 OPC_EmitMergeInputChains1_0,
45951 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45952 MVT::i32, 2, 1, 2,
45953 OPC_EmitStringInteger32, PPC::sub_eq,
45954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45955 MVT::i1, 2, 3, 4,
45956 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45957 MVT::i1, 1, 5,
45958 OPC_CompleteMatch, 1, 6,
45959
45960 32,
45961 OPC_CheckCondCode, ISD::SETNE,
45962 OPC_MoveParent,
45963 OPC_CheckType, MVT::i1,
45964 OPC_CheckPatternPredicate0,
45965 OPC_EmitMergeInputChains1_0,
45966 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45967 MVT::i32, 2, 1, 2,
45968 OPC_EmitStringInteger32, PPC::sub_eq,
45969 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45970 MVT::i1, 2, 3, 4,
45971 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45972 MVT::i1, 1, 5,
45973 OPC_CompleteMatch, 1, 6,
45974
45975 32,
45976 OPC_CheckCondCode, ISD::SETO,
45977 OPC_MoveParent,
45978 OPC_CheckType, MVT::i1,
45979 OPC_CheckPatternPredicate0,
45980 OPC_EmitMergeInputChains1_0,
45981 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPUQP),
45982 MVT::i32, 2, 1, 2,
45983 OPC_EmitStringInteger32, PPC::sub_un,
45984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
45985 MVT::i1, 2, 3, 4,
45986 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
45987 MVT::i1, 1, 5,
45988 OPC_CompleteMatch, 1, 6,
45989
45990 0,
45991 0,
45992 69|128,14, TARGET_VAL(ISD::STRICT_FSETCCS),
45993 OPC_RecordNode,
45994 OPC_RecordChild1,
45995 OPC_Scope, 83|128,5,
45996 OPC_CheckChild1Type, MVT::f32,
45997 OPC_RecordChild2,
45998 OPC_MoveChild3,
45999 OPC_Scope, 45,
46000 OPC_CheckCondCode, ISD::SETOLT,
46001 OPC_MoveParent,
46002 OPC_CheckType, MVT::i1,
46003 OPC_Scope, 18,
46004 OPC_CheckPatternPredicate0,
46005 OPC_EmitMergeInputChains1_0,
46006 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46007 MVT::i32, 2, 1, 2,
46008 OPC_EmitStringInteger32, PPC::sub_lt,
46009 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46010 MVT::i1, 2, 3, 4,
46011 18,
46012 OPC_CheckPatternPredicate5,
46013 OPC_EmitMergeInputChains1_0,
46014 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
46015 MVT::i32, 2, 1, 2,
46016 OPC_EmitStringInteger32, PPC::sub_gt,
46017 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46018 MVT::i1, 2, 3, 4,
46019 0,
46020 45,
46021 OPC_CheckCondCode, ISD::SETLT,
46022 OPC_MoveParent,
46023 OPC_CheckType, MVT::i1,
46024 OPC_Scope, 18,
46025 OPC_CheckPatternPredicate0,
46026 OPC_EmitMergeInputChains1_0,
46027 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46028 MVT::i32, 2, 1, 2,
46029 OPC_EmitStringInteger32, PPC::sub_lt,
46030 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46031 MVT::i1, 2, 3, 4,
46032 18,
46033 OPC_CheckPatternPredicate5,
46034 OPC_EmitMergeInputChains1_0,
46035 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
46036 MVT::i32, 2, 1, 2,
46037 OPC_EmitStringInteger32, PPC::sub_gt,
46038 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46039 MVT::i1, 2, 3, 4,
46040 0,
46041 45,
46042 OPC_CheckCondCode, ISD::SETOGT,
46043 OPC_MoveParent,
46044 OPC_CheckType, MVT::i1,
46045 OPC_Scope, 18,
46046 OPC_CheckPatternPredicate0,
46047 OPC_EmitMergeInputChains1_0,
46048 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46049 MVT::i32, 2, 1, 2,
46050 OPC_EmitStringInteger32, PPC::sub_gt,
46051 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46052 MVT::i1, 2, 3, 4,
46053 18,
46054 OPC_CheckPatternPredicate5,
46055 OPC_EmitMergeInputChains1_0,
46056 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
46057 MVT::i32, 2, 1, 2,
46058 OPC_EmitStringInteger32, PPC::sub_gt,
46059 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46060 MVT::i1, 2, 3, 4,
46061 0,
46062 45,
46063 OPC_CheckCondCode, ISD::SETGT,
46064 OPC_MoveParent,
46065 OPC_CheckType, MVT::i1,
46066 OPC_Scope, 18,
46067 OPC_CheckPatternPredicate0,
46068 OPC_EmitMergeInputChains1_0,
46069 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46070 MVT::i32, 2, 1, 2,
46071 OPC_EmitStringInteger32, PPC::sub_gt,
46072 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46073 MVT::i1, 2, 3, 4,
46074 18,
46075 OPC_CheckPatternPredicate5,
46076 OPC_EmitMergeInputChains1_0,
46077 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
46078 MVT::i32, 2, 1, 2,
46079 OPC_EmitStringInteger32, PPC::sub_gt,
46080 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46081 MVT::i1, 2, 3, 4,
46082 0,
46083 45,
46084 OPC_CheckCondCode, ISD::SETOEQ,
46085 OPC_MoveParent,
46086 OPC_CheckType, MVT::i1,
46087 OPC_Scope, 18,
46088 OPC_CheckPatternPredicate0,
46089 OPC_EmitMergeInputChains1_0,
46090 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46091 MVT::i32, 2, 1, 2,
46092 OPC_EmitStringInteger32, PPC::sub_eq,
46093 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46094 MVT::i1, 2, 3, 4,
46095 18,
46096 OPC_CheckPatternPredicate5,
46097 OPC_EmitMergeInputChains1_0,
46098 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
46099 MVT::i32, 2, 1, 2,
46100 OPC_EmitStringInteger32, PPC::sub_gt,
46101 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46102 MVT::i1, 2, 3, 4,
46103 0,
46104 45,
46105 OPC_CheckCondCode, ISD::SETEQ,
46106 OPC_MoveParent,
46107 OPC_CheckType, MVT::i1,
46108 OPC_Scope, 18,
46109 OPC_CheckPatternPredicate0,
46110 OPC_EmitMergeInputChains1_0,
46111 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46112 MVT::i32, 2, 1, 2,
46113 OPC_EmitStringInteger32, PPC::sub_eq,
46114 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46115 MVT::i1, 2, 3, 4,
46116 18,
46117 OPC_CheckPatternPredicate5,
46118 OPC_EmitMergeInputChains1_0,
46119 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
46120 MVT::i32, 2, 1, 2,
46121 OPC_EmitStringInteger32, PPC::sub_gt,
46122 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46123 MVT::i1, 2, 3, 4,
46124 0,
46125 23,
46126 OPC_CheckCondCode, ISD::SETUO,
46127 OPC_MoveParent,
46128 OPC_CheckType, MVT::i1,
46129 OPC_CheckPatternPredicate0,
46130 OPC_EmitMergeInputChains1_0,
46131 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46132 MVT::i32, 2, 1, 2,
46133 OPC_EmitStringInteger32, PPC::sub_un,
46134 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46135 MVT::i1, 2, 3, 4,
46136 63,
46137 OPC_CheckCondCode, ISD::SETUGE,
46138 OPC_MoveParent,
46139 OPC_CheckType, MVT::i1,
46140 OPC_Scope, 27,
46141 OPC_CheckPatternPredicate0,
46142 OPC_EmitMergeInputChains1_0,
46143 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46144 MVT::i32, 2, 1, 2,
46145 OPC_EmitStringInteger32, PPC::sub_lt,
46146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46147 MVT::i1, 2, 3, 4,
46148 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46149 MVT::i1, 1, 5,
46150 OPC_CompleteMatch, 1, 6,
46151
46152 27,
46153 OPC_CheckPatternPredicate5,
46154 OPC_EmitMergeInputChains1_0,
46155 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
46156 MVT::i32, 2, 1, 2,
46157 OPC_EmitStringInteger32, PPC::sub_gt,
46158 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46159 MVT::i1, 2, 3, 4,
46160 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46161 MVT::i1, 1, 5,
46162 OPC_CompleteMatch, 1, 6,
46163
46164 0,
46165 63,
46166 OPC_CheckCondCode, ISD::SETGE,
46167 OPC_MoveParent,
46168 OPC_CheckType, MVT::i1,
46169 OPC_Scope, 27,
46170 OPC_CheckPatternPredicate0,
46171 OPC_EmitMergeInputChains1_0,
46172 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46173 MVT::i32, 2, 1, 2,
46174 OPC_EmitStringInteger32, PPC::sub_lt,
46175 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46176 MVT::i1, 2, 3, 4,
46177 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46178 MVT::i1, 1, 5,
46179 OPC_CompleteMatch, 1, 6,
46180
46181 27,
46182 OPC_CheckPatternPredicate5,
46183 OPC_EmitMergeInputChains1_0,
46184 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPLT),
46185 MVT::i32, 2, 1, 2,
46186 OPC_EmitStringInteger32, PPC::sub_gt,
46187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46188 MVT::i1, 2, 3, 4,
46189 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46190 MVT::i1, 1, 5,
46191 OPC_CompleteMatch, 1, 6,
46192
46193 0,
46194 63,
46195 OPC_CheckCondCode, ISD::SETULE,
46196 OPC_MoveParent,
46197 OPC_CheckType, MVT::i1,
46198 OPC_Scope, 27,
46199 OPC_CheckPatternPredicate0,
46200 OPC_EmitMergeInputChains1_0,
46201 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46202 MVT::i32, 2, 1, 2,
46203 OPC_EmitStringInteger32, PPC::sub_gt,
46204 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46205 MVT::i1, 2, 3, 4,
46206 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46207 MVT::i1, 1, 5,
46208 OPC_CompleteMatch, 1, 6,
46209
46210 27,
46211 OPC_CheckPatternPredicate5,
46212 OPC_EmitMergeInputChains1_0,
46213 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
46214 MVT::i32, 2, 1, 2,
46215 OPC_EmitStringInteger32, PPC::sub_gt,
46216 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46217 MVT::i1, 2, 3, 4,
46218 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46219 MVT::i1, 1, 5,
46220 OPC_CompleteMatch, 1, 6,
46221
46222 0,
46223 63,
46224 OPC_CheckCondCode, ISD::SETLE,
46225 OPC_MoveParent,
46226 OPC_CheckType, MVT::i1,
46227 OPC_Scope, 27,
46228 OPC_CheckPatternPredicate0,
46229 OPC_EmitMergeInputChains1_0,
46230 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46231 MVT::i32, 2, 1, 2,
46232 OPC_EmitStringInteger32, PPC::sub_gt,
46233 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46234 MVT::i1, 2, 3, 4,
46235 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46236 MVT::i1, 1, 5,
46237 OPC_CompleteMatch, 1, 6,
46238
46239 27,
46240 OPC_CheckPatternPredicate5,
46241 OPC_EmitMergeInputChains1_0,
46242 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPGT),
46243 MVT::i32, 2, 1, 2,
46244 OPC_EmitStringInteger32, PPC::sub_gt,
46245 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46246 MVT::i1, 2, 3, 4,
46247 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46248 MVT::i1, 1, 5,
46249 OPC_CompleteMatch, 1, 6,
46250
46251 0,
46252 63,
46253 OPC_CheckCondCode, ISD::SETUNE,
46254 OPC_MoveParent,
46255 OPC_CheckType, MVT::i1,
46256 OPC_Scope, 27,
46257 OPC_CheckPatternPredicate0,
46258 OPC_EmitMergeInputChains1_0,
46259 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46260 MVT::i32, 2, 1, 2,
46261 OPC_EmitStringInteger32, PPC::sub_eq,
46262 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46263 MVT::i1, 2, 3, 4,
46264 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46265 MVT::i1, 1, 5,
46266 OPC_CompleteMatch, 1, 6,
46267
46268 27,
46269 OPC_CheckPatternPredicate5,
46270 OPC_EmitMergeInputChains1_0,
46271 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
46272 MVT::i32, 2, 1, 2,
46273 OPC_EmitStringInteger32, PPC::sub_gt,
46274 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46275 MVT::i1, 2, 3, 4,
46276 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46277 MVT::i1, 1, 5,
46278 OPC_CompleteMatch, 1, 6,
46279
46280 0,
46281 63,
46282 OPC_CheckCondCode, ISD::SETNE,
46283 OPC_MoveParent,
46284 OPC_CheckType, MVT::i1,
46285 OPC_Scope, 27,
46286 OPC_CheckPatternPredicate0,
46287 OPC_EmitMergeInputChains1_0,
46288 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46289 MVT::i32, 2, 1, 2,
46290 OPC_EmitStringInteger32, PPC::sub_eq,
46291 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46292 MVT::i1, 2, 3, 4,
46293 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46294 MVT::i1, 1, 5,
46295 OPC_CompleteMatch, 1, 6,
46296
46297 27,
46298 OPC_CheckPatternPredicate5,
46299 OPC_EmitMergeInputChains1_0,
46300 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFSCMPEQ),
46301 MVT::i32, 2, 1, 2,
46302 OPC_EmitStringInteger32, PPC::sub_gt,
46303 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46304 MVT::i1, 2, 3, 4,
46305 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46306 MVT::i1, 1, 5,
46307 OPC_CompleteMatch, 1, 6,
46308
46309 0,
46310 32,
46311 OPC_CheckCondCode, ISD::SETO,
46312 OPC_MoveParent,
46313 OPC_CheckType, MVT::i1,
46314 OPC_CheckPatternPredicate0,
46315 OPC_EmitMergeInputChains1_0,
46316 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOS),
46317 MVT::i32, 2, 1, 2,
46318 OPC_EmitStringInteger32, PPC::sub_un,
46319 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46320 MVT::i1, 2, 3, 4,
46321 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46322 MVT::i1, 1, 5,
46323 OPC_CompleteMatch, 1, 6,
46324
46325 0,
46326 83|128,5,
46327 OPC_CheckChild1Type, MVT::f64,
46328 OPC_RecordChild2,
46329 OPC_MoveChild3,
46330 OPC_Scope, 45,
46331 OPC_CheckCondCode, ISD::SETOLT,
46332 OPC_MoveParent,
46333 OPC_CheckType, MVT::i1,
46334 OPC_Scope, 18,
46335 OPC_CheckPatternPredicate0,
46336 OPC_EmitMergeInputChains1_0,
46337 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46338 MVT::i32, 2, 1, 2,
46339 OPC_EmitStringInteger32, PPC::sub_lt,
46340 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46341 MVT::i1, 2, 3, 4,
46342 18,
46343 OPC_CheckPatternPredicate5,
46344 OPC_EmitMergeInputChains1_0,
46345 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
46346 MVT::i32, 2, 1, 2,
46347 OPC_EmitStringInteger32, PPC::sub_gt,
46348 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46349 MVT::i1, 2, 3, 4,
46350 0,
46351 45,
46352 OPC_CheckCondCode, ISD::SETLT,
46353 OPC_MoveParent,
46354 OPC_CheckType, MVT::i1,
46355 OPC_Scope, 18,
46356 OPC_CheckPatternPredicate0,
46357 OPC_EmitMergeInputChains1_0,
46358 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46359 MVT::i32, 2, 1, 2,
46360 OPC_EmitStringInteger32, PPC::sub_lt,
46361 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46362 MVT::i1, 2, 3, 4,
46363 18,
46364 OPC_CheckPatternPredicate5,
46365 OPC_EmitMergeInputChains1_0,
46366 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
46367 MVT::i32, 2, 1, 2,
46368 OPC_EmitStringInteger32, PPC::sub_gt,
46369 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46370 MVT::i1, 2, 3, 4,
46371 0,
46372 45,
46373 OPC_CheckCondCode, ISD::SETOGT,
46374 OPC_MoveParent,
46375 OPC_CheckType, MVT::i1,
46376 OPC_Scope, 18,
46377 OPC_CheckPatternPredicate0,
46378 OPC_EmitMergeInputChains1_0,
46379 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46380 MVT::i32, 2, 1, 2,
46381 OPC_EmitStringInteger32, PPC::sub_gt,
46382 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46383 MVT::i1, 2, 3, 4,
46384 18,
46385 OPC_CheckPatternPredicate5,
46386 OPC_EmitMergeInputChains1_0,
46387 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
46388 MVT::i32, 2, 1, 2,
46389 OPC_EmitStringInteger32, PPC::sub_gt,
46390 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46391 MVT::i1, 2, 3, 4,
46392 0,
46393 45,
46394 OPC_CheckCondCode, ISD::SETGT,
46395 OPC_MoveParent,
46396 OPC_CheckType, MVT::i1,
46397 OPC_Scope, 18,
46398 OPC_CheckPatternPredicate0,
46399 OPC_EmitMergeInputChains1_0,
46400 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46401 MVT::i32, 2, 1, 2,
46402 OPC_EmitStringInteger32, PPC::sub_gt,
46403 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46404 MVT::i1, 2, 3, 4,
46405 18,
46406 OPC_CheckPatternPredicate5,
46407 OPC_EmitMergeInputChains1_0,
46408 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
46409 MVT::i32, 2, 1, 2,
46410 OPC_EmitStringInteger32, PPC::sub_gt,
46411 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46412 MVT::i1, 2, 3, 4,
46413 0,
46414 45,
46415 OPC_CheckCondCode, ISD::SETOEQ,
46416 OPC_MoveParent,
46417 OPC_CheckType, MVT::i1,
46418 OPC_Scope, 18,
46419 OPC_CheckPatternPredicate0,
46420 OPC_EmitMergeInputChains1_0,
46421 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46422 MVT::i32, 2, 1, 2,
46423 OPC_EmitStringInteger32, PPC::sub_eq,
46424 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46425 MVT::i1, 2, 3, 4,
46426 18,
46427 OPC_CheckPatternPredicate5,
46428 OPC_EmitMergeInputChains1_0,
46429 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
46430 MVT::i32, 2, 1, 2,
46431 OPC_EmitStringInteger32, PPC::sub_gt,
46432 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46433 MVT::i1, 2, 3, 4,
46434 0,
46435 45,
46436 OPC_CheckCondCode, ISD::SETEQ,
46437 OPC_MoveParent,
46438 OPC_CheckType, MVT::i1,
46439 OPC_Scope, 18,
46440 OPC_CheckPatternPredicate0,
46441 OPC_EmitMergeInputChains1_0,
46442 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46443 MVT::i32, 2, 1, 2,
46444 OPC_EmitStringInteger32, PPC::sub_eq,
46445 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46446 MVT::i1, 2, 3, 4,
46447 18,
46448 OPC_CheckPatternPredicate5,
46449 OPC_EmitMergeInputChains1_0,
46450 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
46451 MVT::i32, 2, 1, 2,
46452 OPC_EmitStringInteger32, PPC::sub_gt,
46453 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46454 MVT::i1, 2, 3, 4,
46455 0,
46456 23,
46457 OPC_CheckCondCode, ISD::SETUO,
46458 OPC_MoveParent,
46459 OPC_CheckType, MVT::i1,
46460 OPC_CheckPatternPredicate0,
46461 OPC_EmitMergeInputChains1_0,
46462 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46463 MVT::i32, 2, 1, 2,
46464 OPC_EmitStringInteger32, PPC::sub_un,
46465 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46466 MVT::i1, 2, 3, 4,
46467 63,
46468 OPC_CheckCondCode, ISD::SETUGE,
46469 OPC_MoveParent,
46470 OPC_CheckType, MVT::i1,
46471 OPC_Scope, 27,
46472 OPC_CheckPatternPredicate0,
46473 OPC_EmitMergeInputChains1_0,
46474 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46475 MVT::i32, 2, 1, 2,
46476 OPC_EmitStringInteger32, PPC::sub_lt,
46477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46478 MVT::i1, 2, 3, 4,
46479 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46480 MVT::i1, 1, 5,
46481 OPC_CompleteMatch, 1, 6,
46482
46483 27,
46484 OPC_CheckPatternPredicate5,
46485 OPC_EmitMergeInputChains1_0,
46486 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
46487 MVT::i32, 2, 1, 2,
46488 OPC_EmitStringInteger32, PPC::sub_gt,
46489 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46490 MVT::i1, 2, 3, 4,
46491 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46492 MVT::i1, 1, 5,
46493 OPC_CompleteMatch, 1, 6,
46494
46495 0,
46496 63,
46497 OPC_CheckCondCode, ISD::SETGE,
46498 OPC_MoveParent,
46499 OPC_CheckType, MVT::i1,
46500 OPC_Scope, 27,
46501 OPC_CheckPatternPredicate0,
46502 OPC_EmitMergeInputChains1_0,
46503 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46504 MVT::i32, 2, 1, 2,
46505 OPC_EmitStringInteger32, PPC::sub_lt,
46506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46507 MVT::i1, 2, 3, 4,
46508 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46509 MVT::i1, 1, 5,
46510 OPC_CompleteMatch, 1, 6,
46511
46512 27,
46513 OPC_CheckPatternPredicate5,
46514 OPC_EmitMergeInputChains1_0,
46515 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPLT),
46516 MVT::i32, 2, 1, 2,
46517 OPC_EmitStringInteger32, PPC::sub_gt,
46518 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46519 MVT::i1, 2, 3, 4,
46520 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46521 MVT::i1, 1, 5,
46522 OPC_CompleteMatch, 1, 6,
46523
46524 0,
46525 63,
46526 OPC_CheckCondCode, ISD::SETULE,
46527 OPC_MoveParent,
46528 OPC_CheckType, MVT::i1,
46529 OPC_Scope, 27,
46530 OPC_CheckPatternPredicate0,
46531 OPC_EmitMergeInputChains1_0,
46532 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46533 MVT::i32, 2, 1, 2,
46534 OPC_EmitStringInteger32, PPC::sub_gt,
46535 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46536 MVT::i1, 2, 3, 4,
46537 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46538 MVT::i1, 1, 5,
46539 OPC_CompleteMatch, 1, 6,
46540
46541 27,
46542 OPC_CheckPatternPredicate5,
46543 OPC_EmitMergeInputChains1_0,
46544 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
46545 MVT::i32, 2, 1, 2,
46546 OPC_EmitStringInteger32, PPC::sub_gt,
46547 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46548 MVT::i1, 2, 3, 4,
46549 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46550 MVT::i1, 1, 5,
46551 OPC_CompleteMatch, 1, 6,
46552
46553 0,
46554 63,
46555 OPC_CheckCondCode, ISD::SETLE,
46556 OPC_MoveParent,
46557 OPC_CheckType, MVT::i1,
46558 OPC_Scope, 27,
46559 OPC_CheckPatternPredicate0,
46560 OPC_EmitMergeInputChains1_0,
46561 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46562 MVT::i32, 2, 1, 2,
46563 OPC_EmitStringInteger32, PPC::sub_gt,
46564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46565 MVT::i1, 2, 3, 4,
46566 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46567 MVT::i1, 1, 5,
46568 OPC_CompleteMatch, 1, 6,
46569
46570 27,
46571 OPC_CheckPatternPredicate5,
46572 OPC_EmitMergeInputChains1_0,
46573 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPGT),
46574 MVT::i32, 2, 1, 2,
46575 OPC_EmitStringInteger32, PPC::sub_gt,
46576 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46577 MVT::i1, 2, 3, 4,
46578 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46579 MVT::i1, 1, 5,
46580 OPC_CompleteMatch, 1, 6,
46581
46582 0,
46583 63,
46584 OPC_CheckCondCode, ISD::SETUNE,
46585 OPC_MoveParent,
46586 OPC_CheckType, MVT::i1,
46587 OPC_Scope, 27,
46588 OPC_CheckPatternPredicate0,
46589 OPC_EmitMergeInputChains1_0,
46590 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46591 MVT::i32, 2, 1, 2,
46592 OPC_EmitStringInteger32, PPC::sub_eq,
46593 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46594 MVT::i1, 2, 3, 4,
46595 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46596 MVT::i1, 1, 5,
46597 OPC_CompleteMatch, 1, 6,
46598
46599 27,
46600 OPC_CheckPatternPredicate5,
46601 OPC_EmitMergeInputChains1_0,
46602 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
46603 MVT::i32, 2, 1, 2,
46604 OPC_EmitStringInteger32, PPC::sub_gt,
46605 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46606 MVT::i1, 2, 3, 4,
46607 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46608 MVT::i1, 1, 5,
46609 OPC_CompleteMatch, 1, 6,
46610
46611 0,
46612 63,
46613 OPC_CheckCondCode, ISD::SETNE,
46614 OPC_MoveParent,
46615 OPC_CheckType, MVT::i1,
46616 OPC_Scope, 27,
46617 OPC_CheckPatternPredicate0,
46618 OPC_EmitMergeInputChains1_0,
46619 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46620 MVT::i32, 2, 1, 2,
46621 OPC_EmitStringInteger32, PPC::sub_eq,
46622 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46623 MVT::i1, 2, 3, 4,
46624 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46625 MVT::i1, 1, 5,
46626 OPC_CompleteMatch, 1, 6,
46627
46628 27,
46629 OPC_CheckPatternPredicate5,
46630 OPC_EmitMergeInputChains1_0,
46631 OPC_EmitNode1Chain, TARGET_VAL(PPC::EFDCMPEQ),
46632 MVT::i32, 2, 1, 2,
46633 OPC_EmitStringInteger32, PPC::sub_gt,
46634 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46635 MVT::i1, 2, 3, 4,
46636 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46637 MVT::i1, 1, 5,
46638 OPC_CompleteMatch, 1, 6,
46639
46640 0,
46641 32,
46642 OPC_CheckCondCode, ISD::SETO,
46643 OPC_MoveParent,
46644 OPC_CheckType, MVT::i1,
46645 OPC_CheckPatternPredicate0,
46646 OPC_EmitMergeInputChains1_0,
46647 OPC_EmitNode1None, TARGET_VAL(PPC::FCMPOD),
46648 MVT::i32, 2, 1, 2,
46649 OPC_EmitStringInteger32, PPC::sub_un,
46650 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46651 MVT::i1, 2, 3, 4,
46652 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46653 MVT::i1, 1, 5,
46654 OPC_CompleteMatch, 1, 6,
46655
46656 0,
46657 21|128,3,
46658 OPC_CheckChild1Type, MVT::f128,
46659 OPC_RecordChild2,
46660 OPC_MoveChild3,
46661 OPC_Scope, 23,
46662 OPC_CheckCondCode, ISD::SETOLT,
46663 OPC_MoveParent,
46664 OPC_CheckType, MVT::i1,
46665 OPC_CheckPatternPredicate0,
46666 OPC_EmitMergeInputChains1_0,
46667 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46668 MVT::i32, 2, 1, 2,
46669 OPC_EmitStringInteger32, PPC::sub_lt,
46670 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46671 MVT::i1, 2, 3, 4,
46672 23,
46673 OPC_CheckCondCode, ISD::SETLT,
46674 OPC_MoveParent,
46675 OPC_CheckType, MVT::i1,
46676 OPC_CheckPatternPredicate0,
46677 OPC_EmitMergeInputChains1_0,
46678 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46679 MVT::i32, 2, 1, 2,
46680 OPC_EmitStringInteger32, PPC::sub_lt,
46681 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46682 MVT::i1, 2, 3, 4,
46683 23,
46684 OPC_CheckCondCode, ISD::SETOGT,
46685 OPC_MoveParent,
46686 OPC_CheckType, MVT::i1,
46687 OPC_CheckPatternPredicate0,
46688 OPC_EmitMergeInputChains1_0,
46689 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46690 MVT::i32, 2, 1, 2,
46691 OPC_EmitStringInteger32, PPC::sub_gt,
46692 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46693 MVT::i1, 2, 3, 4,
46694 23,
46695 OPC_CheckCondCode, ISD::SETGT,
46696 OPC_MoveParent,
46697 OPC_CheckType, MVT::i1,
46698 OPC_CheckPatternPredicate0,
46699 OPC_EmitMergeInputChains1_0,
46700 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46701 MVT::i32, 2, 1, 2,
46702 OPC_EmitStringInteger32, PPC::sub_gt,
46703 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46704 MVT::i1, 2, 3, 4,
46705 23,
46706 OPC_CheckCondCode, ISD::SETOEQ,
46707 OPC_MoveParent,
46708 OPC_CheckType, MVT::i1,
46709 OPC_CheckPatternPredicate0,
46710 OPC_EmitMergeInputChains1_0,
46711 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46712 MVT::i32, 2, 1, 2,
46713 OPC_EmitStringInteger32, PPC::sub_eq,
46714 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46715 MVT::i1, 2, 3, 4,
46716 23,
46717 OPC_CheckCondCode, ISD::SETEQ,
46718 OPC_MoveParent,
46719 OPC_CheckType, MVT::i1,
46720 OPC_CheckPatternPredicate0,
46721 OPC_EmitMergeInputChains1_0,
46722 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46723 MVT::i32, 2, 1, 2,
46724 OPC_EmitStringInteger32, PPC::sub_eq,
46725 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46726 MVT::i1, 2, 3, 4,
46727 23,
46728 OPC_CheckCondCode, ISD::SETUO,
46729 OPC_MoveParent,
46730 OPC_CheckType, MVT::i1,
46731 OPC_CheckPatternPredicate0,
46732 OPC_EmitMergeInputChains1_0,
46733 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46734 MVT::i32, 2, 1, 2,
46735 OPC_EmitStringInteger32, PPC::sub_un,
46736 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46737 MVT::i1, 2, 3, 4,
46738 32,
46739 OPC_CheckCondCode, ISD::SETUGE,
46740 OPC_MoveParent,
46741 OPC_CheckType, MVT::i1,
46742 OPC_CheckPatternPredicate0,
46743 OPC_EmitMergeInputChains1_0,
46744 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46745 MVT::i32, 2, 1, 2,
46746 OPC_EmitStringInteger32, PPC::sub_lt,
46747 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46748 MVT::i1, 2, 3, 4,
46749 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46750 MVT::i1, 1, 5,
46751 OPC_CompleteMatch, 1, 6,
46752
46753 32,
46754 OPC_CheckCondCode, ISD::SETGE,
46755 OPC_MoveParent,
46756 OPC_CheckType, MVT::i1,
46757 OPC_CheckPatternPredicate0,
46758 OPC_EmitMergeInputChains1_0,
46759 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46760 MVT::i32, 2, 1, 2,
46761 OPC_EmitStringInteger32, PPC::sub_lt,
46762 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46763 MVT::i1, 2, 3, 4,
46764 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46765 MVT::i1, 1, 5,
46766 OPC_CompleteMatch, 1, 6,
46767
46768 32,
46769 OPC_CheckCondCode, ISD::SETULE,
46770 OPC_MoveParent,
46771 OPC_CheckType, MVT::i1,
46772 OPC_CheckPatternPredicate0,
46773 OPC_EmitMergeInputChains1_0,
46774 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46775 MVT::i32, 2, 1, 2,
46776 OPC_EmitStringInteger32, PPC::sub_gt,
46777 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46778 MVT::i1, 2, 3, 4,
46779 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46780 MVT::i1, 1, 5,
46781 OPC_CompleteMatch, 1, 6,
46782
46783 32,
46784 OPC_CheckCondCode, ISD::SETLE,
46785 OPC_MoveParent,
46786 OPC_CheckType, MVT::i1,
46787 OPC_CheckPatternPredicate0,
46788 OPC_EmitMergeInputChains1_0,
46789 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46790 MVT::i32, 2, 1, 2,
46791 OPC_EmitStringInteger32, PPC::sub_gt,
46792 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46793 MVT::i1, 2, 3, 4,
46794 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46795 MVT::i1, 1, 5,
46796 OPC_CompleteMatch, 1, 6,
46797
46798 32,
46799 OPC_CheckCondCode, ISD::SETUNE,
46800 OPC_MoveParent,
46801 OPC_CheckType, MVT::i1,
46802 OPC_CheckPatternPredicate0,
46803 OPC_EmitMergeInputChains1_0,
46804 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46805 MVT::i32, 2, 1, 2,
46806 OPC_EmitStringInteger32, PPC::sub_eq,
46807 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46808 MVT::i1, 2, 3, 4,
46809 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46810 MVT::i1, 1, 5,
46811 OPC_CompleteMatch, 1, 6,
46812
46813 32,
46814 OPC_CheckCondCode, ISD::SETNE,
46815 OPC_MoveParent,
46816 OPC_CheckType, MVT::i1,
46817 OPC_CheckPatternPredicate0,
46818 OPC_EmitMergeInputChains1_0,
46819 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46820 MVT::i32, 2, 1, 2,
46821 OPC_EmitStringInteger32, PPC::sub_eq,
46822 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46823 MVT::i1, 2, 3, 4,
46824 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46825 MVT::i1, 1, 5,
46826 OPC_CompleteMatch, 1, 6,
46827
46828 32,
46829 OPC_CheckCondCode, ISD::SETO,
46830 OPC_MoveParent,
46831 OPC_CheckType, MVT::i1,
46832 OPC_CheckPatternPredicate0,
46833 OPC_EmitMergeInputChains1_0,
46834 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCMPOQP),
46835 MVT::i32, 2, 1, 2,
46836 OPC_EmitStringInteger32, PPC::sub_un,
46837 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
46838 MVT::i1, 2, 3, 4,
46839 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46840 MVT::i1, 1, 5,
46841 OPC_CompleteMatch, 1, 6,
46842
46843 0,
46844 0,
46845 28|128,1, TARGET_VAL(ISD::SELECT),
46846 OPC_RecordChild0,
46847 OPC_CheckChild0Type, MVT::i1,
46848 OPC_RecordChild1,
46849 OPC_RecordChild2,
46850 OPC_SwitchType , 27, MVT::i1,
46851 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
46852 MVT::i1, 2, 0, 1,
46853 OPC_EmitNode1None, TARGET_VAL(PPC::CRNOT),
46854 MVT::i1, 1, 0,
46855 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
46856 MVT::i1, 2, 4, 2,
46857 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
46858 MVT::i1, 2, 3, 5,
46859 8, MVT::i32,
46860 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
46861 MVT::i32, 3, 0, 1, 2,
46862 8, MVT::i64,
46863 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
46864 MVT::i64, 3, 0, 1, 2,
46865 32, MVT::f64,
46866 OPC_Scope, 9,
46867 OPC_CheckPatternPredicate2,
46868 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
46869 MVT::f64, 3, 0, 1, 2,
46870 9,
46871 OPC_CheckPatternPredicate0,
46872 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
46873 MVT::f64, 3, 0, 1, 2,
46874 9,
46875 OPC_CheckPatternPredicate5,
46876 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
46877 MVT::f64, 3, 0, 1, 2,
46878 0,
46879 32, MVT::f32,
46880 OPC_Scope, 9,
46881 OPC_CheckPatternPredicate2,
46882 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
46883 MVT::f32, 3, 0, 1, 2,
46884 9,
46885 OPC_CheckPatternPredicate0,
46886 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
46887 MVT::f32, 3, 0, 1, 2,
46888 9,
46889 OPC_CheckPatternPredicate5,
46890 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
46891 MVT::f32, 3, 0, 1, 2,
46892 0,
46893 9, MVT::f128,
46894 OPC_CheckPatternPredicate0,
46895 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
46896 MVT::f128, 3, 0, 1, 2,
46897 8, MVT::v4i32,
46898 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
46899 MVT::v4i32, 3, 0, 1, 2,
46900 9, MVT::v2f64,
46901 OPC_CheckPatternPredicate2,
46902 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
46903 MVT::v2f64, 3, 0, 1, 2,
46904 0,
46905 115|128,18, TARGET_VAL(ISD::SELECT_CC),
46906 OPC_RecordChild0,
46907 OPC_CheckChild0Type, MVT::i1,
46908 OPC_RecordChild1,
46909 OPC_RecordChild2,
46910 OPC_RecordChild3,
46911 OPC_MoveChild4,
46912 OPC_Scope, 111|128,1,
46913 OPC_CheckCondCode, ISD::SETLT,
46914 OPC_MoveParent,
46915 OPC_SwitchType , 35, MVT::i1,
46916 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46917 MVT::i1, 2, 0, 1,
46918 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
46919 MVT::i1, 2, 4, 2,
46920 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
46921 MVT::i1, 2, 1, 0,
46922 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
46923 MVT::i1, 2, 6, 3,
46924 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
46925 MVT::i1, 2, 5, 7,
46926 15, MVT::i32,
46927 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46928 MVT::i1, 2, 0, 1,
46929 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
46930 MVT::i32, 3, 4, 2, 3,
46931 15, MVT::i64,
46932 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46933 MVT::i1, 2, 0, 1,
46934 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
46935 MVT::i64, 3, 4, 2, 3,
46936 53, MVT::f64,
46937 OPC_Scope, 16,
46938 OPC_CheckPatternPredicate2,
46939 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46940 MVT::i1, 2, 0, 1,
46941 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
46942 MVT::f64, 3, 4, 2, 3,
46943 16,
46944 OPC_CheckPatternPredicate5,
46945 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46946 MVT::i1, 2, 0, 1,
46947 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
46948 MVT::f64, 3, 4, 2, 3,
46949 16,
46950 OPC_CheckPatternPredicate0,
46951 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46952 MVT::i1, 2, 0, 1,
46953 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
46954 MVT::f64, 3, 4, 2, 3,
46955 0,
46956 54, MVT::f32,
46957 OPC_Scope, 17,
46958 OPC_CheckPatternPredicate, 11,
46959 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46960 MVT::i1, 2, 0, 1,
46961 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
46962 MVT::f32, 3, 4, 2, 3,
46963 16,
46964 OPC_CheckPatternPredicate5,
46965 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46966 MVT::i1, 2, 0, 1,
46967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
46968 MVT::f32, 3, 4, 2, 3,
46969 16,
46970 OPC_CheckPatternPredicate0,
46971 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46972 MVT::i1, 2, 0, 1,
46973 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
46974 MVT::f32, 3, 4, 2, 3,
46975 0,
46976 15, MVT::f128,
46977 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46978 MVT::i1, 2, 0, 1,
46979 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
46980 MVT::f128, 3, 4, 2, 3,
46981 15, MVT::v4i32,
46982 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46983 MVT::i1, 2, 0, 1,
46984 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
46985 MVT::v4i32, 3, 4, 2, 3,
46986 16, MVT::v2f64,
46987 OPC_CheckPatternPredicate2,
46988 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46989 MVT::i1, 2, 0, 1,
46990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
46991 MVT::v2f64, 3, 4, 2, 3,
46992 0,
46993 111|128,1,
46994 OPC_CheckCondCode, ISD::SETULT,
46995 OPC_MoveParent,
46996 OPC_SwitchType , 35, MVT::i1,
46997 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
46998 MVT::i1, 2, 1, 0,
46999 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47000 MVT::i1, 2, 4, 2,
47001 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47002 MVT::i1, 2, 0, 1,
47003 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47004 MVT::i1, 2, 6, 3,
47005 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47006 MVT::i1, 2, 5, 7,
47007 15, MVT::i32,
47008 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47009 MVT::i1, 2, 1, 0,
47010 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47011 MVT::i32, 3, 4, 2, 3,
47012 15, MVT::i64,
47013 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47014 MVT::i1, 2, 1, 0,
47015 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47016 MVT::i64, 3, 4, 2, 3,
47017 53, MVT::f64,
47018 OPC_Scope, 16,
47019 OPC_CheckPatternPredicate2,
47020 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47021 MVT::i1, 2, 1, 0,
47022 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47023 MVT::f64, 3, 4, 2, 3,
47024 16,
47025 OPC_CheckPatternPredicate5,
47026 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47027 MVT::i1, 2, 1, 0,
47028 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47029 MVT::f64, 3, 4, 2, 3,
47030 16,
47031 OPC_CheckPatternPredicate0,
47032 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47033 MVT::i1, 2, 1, 0,
47034 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47035 MVT::f64, 3, 4, 2, 3,
47036 0,
47037 54, MVT::f32,
47038 OPC_Scope, 17,
47039 OPC_CheckPatternPredicate, 11,
47040 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47041 MVT::i1, 2, 1, 0,
47042 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47043 MVT::f32, 3, 4, 2, 3,
47044 16,
47045 OPC_CheckPatternPredicate5,
47046 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47047 MVT::i1, 2, 1, 0,
47048 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47049 MVT::f32, 3, 4, 2, 3,
47050 16,
47051 OPC_CheckPatternPredicate0,
47052 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47053 MVT::i1, 2, 1, 0,
47054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47055 MVT::f32, 3, 4, 2, 3,
47056 0,
47057 15, MVT::f128,
47058 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47059 MVT::i1, 2, 1, 0,
47060 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47061 MVT::f128, 3, 4, 2, 3,
47062 15, MVT::v4i32,
47063 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47064 MVT::i1, 2, 1, 0,
47065 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47066 MVT::v4i32, 3, 4, 2, 3,
47067 16, MVT::v2f64,
47068 OPC_CheckPatternPredicate2,
47069 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47070 MVT::i1, 2, 1, 0,
47071 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47072 MVT::v2f64, 3, 4, 2, 3,
47073 0,
47074 111|128,1,
47075 OPC_CheckCondCode, ISD::SETLE,
47076 OPC_MoveParent,
47077 OPC_SwitchType , 35, MVT::i1,
47078 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47079 MVT::i1, 2, 0, 1,
47080 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47081 MVT::i1, 2, 4, 2,
47082 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47083 MVT::i1, 2, 1, 0,
47084 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47085 MVT::i1, 2, 6, 3,
47086 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47087 MVT::i1, 2, 5, 7,
47088 15, MVT::i32,
47089 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47090 MVT::i1, 2, 0, 1,
47091 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47092 MVT::i32, 3, 4, 2, 3,
47093 15, MVT::i64,
47094 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47095 MVT::i1, 2, 0, 1,
47096 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47097 MVT::i64, 3, 4, 2, 3,
47098 53, MVT::f64,
47099 OPC_Scope, 16,
47100 OPC_CheckPatternPredicate2,
47101 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47102 MVT::i1, 2, 0, 1,
47103 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47104 MVT::f64, 3, 4, 2, 3,
47105 16,
47106 OPC_CheckPatternPredicate5,
47107 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47108 MVT::i1, 2, 0, 1,
47109 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47110 MVT::f64, 3, 4, 2, 3,
47111 16,
47112 OPC_CheckPatternPredicate0,
47113 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47114 MVT::i1, 2, 0, 1,
47115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47116 MVT::f64, 3, 4, 2, 3,
47117 0,
47118 54, MVT::f32,
47119 OPC_Scope, 17,
47120 OPC_CheckPatternPredicate, 11,
47121 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47122 MVT::i1, 2, 0, 1,
47123 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47124 MVT::f32, 3, 4, 2, 3,
47125 16,
47126 OPC_CheckPatternPredicate5,
47127 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47128 MVT::i1, 2, 0, 1,
47129 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47130 MVT::f32, 3, 4, 2, 3,
47131 16,
47132 OPC_CheckPatternPredicate0,
47133 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47134 MVT::i1, 2, 0, 1,
47135 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47136 MVT::f32, 3, 4, 2, 3,
47137 0,
47138 15, MVT::f128,
47139 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47140 MVT::i1, 2, 0, 1,
47141 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47142 MVT::f128, 3, 4, 2, 3,
47143 15, MVT::v4i32,
47144 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47145 MVT::i1, 2, 0, 1,
47146 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47147 MVT::v4i32, 3, 4, 2, 3,
47148 16, MVT::v2f64,
47149 OPC_CheckPatternPredicate2,
47150 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47151 MVT::i1, 2, 0, 1,
47152 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47153 MVT::v2f64, 3, 4, 2, 3,
47154 0,
47155 111|128,1,
47156 OPC_CheckCondCode, ISD::SETULE,
47157 OPC_MoveParent,
47158 OPC_SwitchType , 35, MVT::i1,
47159 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47160 MVT::i1, 2, 1, 0,
47161 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47162 MVT::i1, 2, 4, 2,
47163 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47164 MVT::i1, 2, 0, 1,
47165 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47166 MVT::i1, 2, 6, 3,
47167 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47168 MVT::i1, 2, 5, 7,
47169 15, MVT::i32,
47170 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47171 MVT::i1, 2, 1, 0,
47172 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47173 MVT::i32, 3, 4, 2, 3,
47174 15, MVT::i64,
47175 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47176 MVT::i1, 2, 1, 0,
47177 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47178 MVT::i64, 3, 4, 2, 3,
47179 53, MVT::f64,
47180 OPC_Scope, 16,
47181 OPC_CheckPatternPredicate2,
47182 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47183 MVT::i1, 2, 1, 0,
47184 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47185 MVT::f64, 3, 4, 2, 3,
47186 16,
47187 OPC_CheckPatternPredicate5,
47188 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47189 MVT::i1, 2, 1, 0,
47190 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47191 MVT::f64, 3, 4, 2, 3,
47192 16,
47193 OPC_CheckPatternPredicate0,
47194 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47195 MVT::i1, 2, 1, 0,
47196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47197 MVT::f64, 3, 4, 2, 3,
47198 0,
47199 54, MVT::f32,
47200 OPC_Scope, 17,
47201 OPC_CheckPatternPredicate, 11,
47202 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47203 MVT::i1, 2, 1, 0,
47204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47205 MVT::f32, 3, 4, 2, 3,
47206 16,
47207 OPC_CheckPatternPredicate5,
47208 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47209 MVT::i1, 2, 1, 0,
47210 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47211 MVT::f32, 3, 4, 2, 3,
47212 16,
47213 OPC_CheckPatternPredicate0,
47214 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47215 MVT::i1, 2, 1, 0,
47216 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47217 MVT::f32, 3, 4, 2, 3,
47218 0,
47219 15, MVT::f128,
47220 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47221 MVT::i1, 2, 1, 0,
47222 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47223 MVT::f128, 3, 4, 2, 3,
47224 15, MVT::v4i32,
47225 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47226 MVT::i1, 2, 1, 0,
47227 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47228 MVT::v4i32, 3, 4, 2, 3,
47229 16, MVT::v2f64,
47230 OPC_CheckPatternPredicate2,
47231 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47232 MVT::i1, 2, 1, 0,
47233 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47234 MVT::v2f64, 3, 4, 2, 3,
47235 0,
47236 111|128,1,
47237 OPC_CheckCondCode, ISD::SETEQ,
47238 OPC_MoveParent,
47239 OPC_SwitchType , 35, MVT::i1,
47240 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47241 MVT::i1, 2, 0, 1,
47242 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47243 MVT::i1, 2, 4, 2,
47244 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47245 MVT::i1, 2, 0, 1,
47246 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47247 MVT::i1, 2, 6, 3,
47248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47249 MVT::i1, 2, 5, 7,
47250 15, MVT::i32,
47251 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47252 MVT::i1, 2, 0, 1,
47253 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47254 MVT::i32, 3, 4, 2, 3,
47255 15, MVT::i64,
47256 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47257 MVT::i1, 2, 0, 1,
47258 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47259 MVT::i64, 3, 4, 2, 3,
47260 53, MVT::f64,
47261 OPC_Scope, 16,
47262 OPC_CheckPatternPredicate2,
47263 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47264 MVT::i1, 2, 0, 1,
47265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47266 MVT::f64, 3, 4, 2, 3,
47267 16,
47268 OPC_CheckPatternPredicate5,
47269 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47270 MVT::i1, 2, 0, 1,
47271 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47272 MVT::f64, 3, 4, 2, 3,
47273 16,
47274 OPC_CheckPatternPredicate0,
47275 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47276 MVT::i1, 2, 0, 1,
47277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47278 MVT::f64, 3, 4, 2, 3,
47279 0,
47280 54, MVT::f32,
47281 OPC_Scope, 17,
47282 OPC_CheckPatternPredicate, 11,
47283 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47284 MVT::i1, 2, 0, 1,
47285 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47286 MVT::f32, 3, 4, 2, 3,
47287 16,
47288 OPC_CheckPatternPredicate5,
47289 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47290 MVT::i1, 2, 0, 1,
47291 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47292 MVT::f32, 3, 4, 2, 3,
47293 16,
47294 OPC_CheckPatternPredicate0,
47295 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47296 MVT::i1, 2, 0, 1,
47297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47298 MVT::f32, 3, 4, 2, 3,
47299 0,
47300 15, MVT::f128,
47301 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47302 MVT::i1, 2, 0, 1,
47303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47304 MVT::f128, 3, 4, 2, 3,
47305 15, MVT::v4i32,
47306 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47307 MVT::i1, 2, 0, 1,
47308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47309 MVT::v4i32, 3, 4, 2, 3,
47310 16, MVT::v2f64,
47311 OPC_CheckPatternPredicate2,
47312 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47313 MVT::i1, 2, 0, 1,
47314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47315 MVT::v2f64, 3, 4, 2, 3,
47316 0,
47317 111|128,1,
47318 OPC_CheckCondCode, ISD::SETGE,
47319 OPC_MoveParent,
47320 OPC_SwitchType , 35, MVT::i1,
47321 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47322 MVT::i1, 2, 1, 0,
47323 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47324 MVT::i1, 2, 4, 2,
47325 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47326 MVT::i1, 2, 0, 1,
47327 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47328 MVT::i1, 2, 6, 3,
47329 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47330 MVT::i1, 2, 5, 7,
47331 15, MVT::i32,
47332 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47333 MVT::i1, 2, 1, 0,
47334 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47335 MVT::i32, 3, 4, 2, 3,
47336 15, MVT::i64,
47337 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47338 MVT::i1, 2, 1, 0,
47339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47340 MVT::i64, 3, 4, 2, 3,
47341 53, MVT::f64,
47342 OPC_Scope, 16,
47343 OPC_CheckPatternPredicate2,
47344 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47345 MVT::i1, 2, 1, 0,
47346 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47347 MVT::f64, 3, 4, 2, 3,
47348 16,
47349 OPC_CheckPatternPredicate5,
47350 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47351 MVT::i1, 2, 1, 0,
47352 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47353 MVT::f64, 3, 4, 2, 3,
47354 16,
47355 OPC_CheckPatternPredicate0,
47356 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47357 MVT::i1, 2, 1, 0,
47358 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47359 MVT::f64, 3, 4, 2, 3,
47360 0,
47361 54, MVT::f32,
47362 OPC_Scope, 17,
47363 OPC_CheckPatternPredicate, 11,
47364 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47365 MVT::i1, 2, 1, 0,
47366 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47367 MVT::f32, 3, 4, 2, 3,
47368 16,
47369 OPC_CheckPatternPredicate5,
47370 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47371 MVT::i1, 2, 1, 0,
47372 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47373 MVT::f32, 3, 4, 2, 3,
47374 16,
47375 OPC_CheckPatternPredicate0,
47376 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47377 MVT::i1, 2, 1, 0,
47378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47379 MVT::f32, 3, 4, 2, 3,
47380 0,
47381 15, MVT::f128,
47382 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47383 MVT::i1, 2, 1, 0,
47384 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47385 MVT::f128, 3, 4, 2, 3,
47386 15, MVT::v4i32,
47387 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47388 MVT::i1, 2, 1, 0,
47389 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47390 MVT::v4i32, 3, 4, 2, 3,
47391 16, MVT::v2f64,
47392 OPC_CheckPatternPredicate2,
47393 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47394 MVT::i1, 2, 1, 0,
47395 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47396 MVT::v2f64, 3, 4, 2, 3,
47397 0,
47398 111|128,1,
47399 OPC_CheckCondCode, ISD::SETUGE,
47400 OPC_MoveParent,
47401 OPC_SwitchType , 35, MVT::i1,
47402 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47403 MVT::i1, 2, 0, 1,
47404 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47405 MVT::i1, 2, 4, 2,
47406 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47407 MVT::i1, 2, 1, 0,
47408 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47409 MVT::i1, 2, 6, 3,
47410 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47411 MVT::i1, 2, 5, 7,
47412 15, MVT::i32,
47413 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47414 MVT::i1, 2, 0, 1,
47415 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47416 MVT::i32, 3, 4, 2, 3,
47417 15, MVT::i64,
47418 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47419 MVT::i1, 2, 0, 1,
47420 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47421 MVT::i64, 3, 4, 2, 3,
47422 53, MVT::f64,
47423 OPC_Scope, 16,
47424 OPC_CheckPatternPredicate2,
47425 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47426 MVT::i1, 2, 0, 1,
47427 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47428 MVT::f64, 3, 4, 2, 3,
47429 16,
47430 OPC_CheckPatternPredicate5,
47431 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47432 MVT::i1, 2, 0, 1,
47433 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47434 MVT::f64, 3, 4, 2, 3,
47435 16,
47436 OPC_CheckPatternPredicate0,
47437 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47438 MVT::i1, 2, 0, 1,
47439 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47440 MVT::f64, 3, 4, 2, 3,
47441 0,
47442 54, MVT::f32,
47443 OPC_Scope, 17,
47444 OPC_CheckPatternPredicate, 11,
47445 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47446 MVT::i1, 2, 0, 1,
47447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47448 MVT::f32, 3, 4, 2, 3,
47449 16,
47450 OPC_CheckPatternPredicate5,
47451 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47452 MVT::i1, 2, 0, 1,
47453 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47454 MVT::f32, 3, 4, 2, 3,
47455 16,
47456 OPC_CheckPatternPredicate0,
47457 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47458 MVT::i1, 2, 0, 1,
47459 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47460 MVT::f32, 3, 4, 2, 3,
47461 0,
47462 15, MVT::f128,
47463 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47464 MVT::i1, 2, 0, 1,
47465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47466 MVT::f128, 3, 4, 2, 3,
47467 15, MVT::v4i32,
47468 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47469 MVT::i1, 2, 0, 1,
47470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47471 MVT::v4i32, 3, 4, 2, 3,
47472 16, MVT::v2f64,
47473 OPC_CheckPatternPredicate2,
47474 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47475 MVT::i1, 2, 0, 1,
47476 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47477 MVT::v2f64, 3, 4, 2, 3,
47478 0,
47479 111|128,1,
47480 OPC_CheckCondCode, ISD::SETGT,
47481 OPC_MoveParent,
47482 OPC_SwitchType , 35, MVT::i1,
47483 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47484 MVT::i1, 2, 1, 0,
47485 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47486 MVT::i1, 2, 4, 2,
47487 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47488 MVT::i1, 2, 0, 1,
47489 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47490 MVT::i1, 2, 6, 3,
47491 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47492 MVT::i1, 2, 5, 7,
47493 15, MVT::i32,
47494 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47495 MVT::i1, 2, 1, 0,
47496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47497 MVT::i32, 3, 4, 2, 3,
47498 15, MVT::i64,
47499 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47500 MVT::i1, 2, 1, 0,
47501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47502 MVT::i64, 3, 4, 2, 3,
47503 53, MVT::f64,
47504 OPC_Scope, 16,
47505 OPC_CheckPatternPredicate2,
47506 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47507 MVT::i1, 2, 1, 0,
47508 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47509 MVT::f64, 3, 4, 2, 3,
47510 16,
47511 OPC_CheckPatternPredicate5,
47512 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47513 MVT::i1, 2, 1, 0,
47514 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47515 MVT::f64, 3, 4, 2, 3,
47516 16,
47517 OPC_CheckPatternPredicate0,
47518 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47519 MVT::i1, 2, 1, 0,
47520 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47521 MVT::f64, 3, 4, 2, 3,
47522 0,
47523 54, MVT::f32,
47524 OPC_Scope, 17,
47525 OPC_CheckPatternPredicate, 11,
47526 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47527 MVT::i1, 2, 1, 0,
47528 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47529 MVT::f32, 3, 4, 2, 3,
47530 16,
47531 OPC_CheckPatternPredicate5,
47532 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47533 MVT::i1, 2, 1, 0,
47534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47535 MVT::f32, 3, 4, 2, 3,
47536 16,
47537 OPC_CheckPatternPredicate0,
47538 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47539 MVT::i1, 2, 1, 0,
47540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47541 MVT::f32, 3, 4, 2, 3,
47542 0,
47543 15, MVT::f128,
47544 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47545 MVT::i1, 2, 1, 0,
47546 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47547 MVT::f128, 3, 4, 2, 3,
47548 15, MVT::v4i32,
47549 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47550 MVT::i1, 2, 1, 0,
47551 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47552 MVT::v4i32, 3, 4, 2, 3,
47553 16, MVT::v2f64,
47554 OPC_CheckPatternPredicate2,
47555 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47556 MVT::i1, 2, 1, 0,
47557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47558 MVT::v2f64, 3, 4, 2, 3,
47559 0,
47560 111|128,1,
47561 OPC_CheckCondCode, ISD::SETUGT,
47562 OPC_MoveParent,
47563 OPC_SwitchType , 35, MVT::i1,
47564 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47565 MVT::i1, 2, 0, 1,
47566 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47567 MVT::i1, 2, 4, 2,
47568 OPC_EmitNode1None, TARGET_VAL(PPC::CRORC),
47569 MVT::i1, 2, 1, 0,
47570 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47571 MVT::i1, 2, 6, 3,
47572 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47573 MVT::i1, 2, 5, 7,
47574 15, MVT::i32,
47575 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47576 MVT::i1, 2, 0, 1,
47577 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47578 MVT::i32, 3, 4, 2, 3,
47579 15, MVT::i64,
47580 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47581 MVT::i1, 2, 0, 1,
47582 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47583 MVT::i64, 3, 4, 2, 3,
47584 53, MVT::f64,
47585 OPC_Scope, 16,
47586 OPC_CheckPatternPredicate2,
47587 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47588 MVT::i1, 2, 0, 1,
47589 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47590 MVT::f64, 3, 4, 2, 3,
47591 16,
47592 OPC_CheckPatternPredicate5,
47593 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47594 MVT::i1, 2, 0, 1,
47595 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47596 MVT::f64, 3, 4, 2, 3,
47597 16,
47598 OPC_CheckPatternPredicate0,
47599 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47600 MVT::i1, 2, 0, 1,
47601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47602 MVT::f64, 3, 4, 2, 3,
47603 0,
47604 54, MVT::f32,
47605 OPC_Scope, 17,
47606 OPC_CheckPatternPredicate, 11,
47607 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47608 MVT::i1, 2, 0, 1,
47609 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47610 MVT::f32, 3, 4, 2, 3,
47611 16,
47612 OPC_CheckPatternPredicate5,
47613 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47614 MVT::i1, 2, 0, 1,
47615 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47616 MVT::f32, 3, 4, 2, 3,
47617 16,
47618 OPC_CheckPatternPredicate0,
47619 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47620 MVT::i1, 2, 0, 1,
47621 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47622 MVT::f32, 3, 4, 2, 3,
47623 0,
47624 15, MVT::f128,
47625 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47626 MVT::i1, 2, 0, 1,
47627 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47628 MVT::f128, 3, 4, 2, 3,
47629 15, MVT::v4i32,
47630 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47631 MVT::i1, 2, 0, 1,
47632 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47633 MVT::v4i32, 3, 4, 2, 3,
47634 16, MVT::v2f64,
47635 OPC_CheckPatternPredicate2,
47636 OPC_EmitNode1None, TARGET_VAL(PPC::CRANDC),
47637 MVT::i1, 2, 0, 1,
47638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47639 MVT::v2f64, 3, 4, 2, 3,
47640 0,
47641 111|128,1,
47642 OPC_CheckCondCode, ISD::SETNE,
47643 OPC_MoveParent,
47644 OPC_SwitchType , 35, MVT::i1,
47645 OPC_EmitNode1None, TARGET_VAL(PPC::CREQV),
47646 MVT::i1, 2, 0, 1,
47647 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47648 MVT::i1, 2, 4, 3,
47649 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47650 MVT::i1, 2, 0, 1,
47651 OPC_EmitNode1None, TARGET_VAL(PPC::CRAND),
47652 MVT::i1, 2, 6, 2,
47653 OPC_MorphNodeTo1None, TARGET_VAL(PPC::CROR),
47654 MVT::i1, 2, 5, 7,
47655 15, MVT::i32,
47656 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47657 MVT::i1, 2, 0, 1,
47658 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I4),
47659 MVT::i32, 3, 4, 2, 3,
47660 15, MVT::i64,
47661 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47662 MVT::i1, 2, 0, 1,
47663 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_I8),
47664 MVT::i64, 3, 4, 2, 3,
47665 53, MVT::f64,
47666 OPC_Scope, 16,
47667 OPC_CheckPatternPredicate2,
47668 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47669 MVT::i1, 2, 0, 1,
47670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSFRC),
47671 MVT::f64, 3, 4, 2, 3,
47672 16,
47673 OPC_CheckPatternPredicate5,
47674 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47675 MVT::i1, 2, 0, 1,
47676 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE),
47677 MVT::f64, 3, 4, 2, 3,
47678 16,
47679 OPC_CheckPatternPredicate0,
47680 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47681 MVT::i1, 2, 0, 1,
47682 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F8),
47683 MVT::f64, 3, 4, 2, 3,
47684 0,
47685 54, MVT::f32,
47686 OPC_Scope, 17,
47687 OPC_CheckPatternPredicate, 11,
47688 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47689 MVT::i1, 2, 0, 1,
47690 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSSRC),
47691 MVT::f32, 3, 4, 2, 3,
47692 16,
47693 OPC_CheckPatternPredicate5,
47694 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47695 MVT::i1, 2, 0, 1,
47696 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_SPE4),
47697 MVT::f32, 3, 4, 2, 3,
47698 16,
47699 OPC_CheckPatternPredicate0,
47700 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47701 MVT::i1, 2, 0, 1,
47702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F4),
47703 MVT::f32, 3, 4, 2, 3,
47704 0,
47705 15, MVT::f128,
47706 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47707 MVT::i1, 2, 0, 1,
47708 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_F16),
47709 MVT::f128, 3, 4, 2, 3,
47710 15, MVT::v4i32,
47711 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47712 MVT::i1, 2, 0, 1,
47713 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VRRC),
47714 MVT::v4i32, 3, 4, 2, 3,
47715 16, MVT::v2f64,
47716 OPC_CheckPatternPredicate2,
47717 OPC_EmitNode1None, TARGET_VAL(PPC::CRXOR),
47718 MVT::i1, 2, 0, 1,
47719 OPC_MorphNodeTo1None, TARGET_VAL(PPC::SELECT_VSRC),
47720 MVT::v2f64, 3, 4, 2, 3,
47721 0,
47722 0,
47723 96|128,109, TARGET_VAL(ISD::BITREVERSE),
47724 OPC_RecordChild0,
47725 OPC_SwitchType , 99|128,35, MVT::i32,
47726 OPC_Scope, 103|128,17,
47727 OPC_CheckPatternPredicate, 43,
47728 OPC_EmitInteger32, 62,
47729 OPC_EmitInteger32, 2,
47730 OPC_EmitInteger32, 62,
47731 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47732 MVT::i32, 4, 0, 1, 2, 3,
47733 OPC_EmitInteger32, 42|128,85|128,2,
47734 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47735 MVT::i32, 1, 5,
47736 OPC_EmitInteger32, 42|128,85|128,2,
47737 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47738 MVT::i32, 2, 6, 7,
47739 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47740 MVT::i32, 2, 4, 8,
47741 OPC_EmitInteger32, 2,
47742 OPC_EmitInteger32, 0,
47743 OPC_EmitInteger32, 60,
47744 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47745 MVT::i32, 4, 0, 10, 11, 12,
47746 OPC_EmitInteger32, 84|128,42|128,5,
47747 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47748 MVT::i32, 1, 14,
47749 OPC_EmitInteger32, 84|128,42|128,5,
47750 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47751 MVT::i32, 2, 15, 16,
47752 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47753 MVT::i32, 2, 13, 17,
47754 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47755 MVT::i32, 2, 9, 18,
47756 OPC_EmitInteger32, 60,
47757 OPC_EmitInteger32, 4,
47758 OPC_EmitInteger32, 62,
47759 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47760 MVT::i32, 4, 19, 20, 21, 22,
47761 OPC_EmitInteger32, 102|128,76|128,1,
47762 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47763 MVT::i32, 1, 24,
47764 OPC_EmitInteger32, 102|128,76|128,1,
47765 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47766 MVT::i32, 2, 25, 26,
47767 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47768 MVT::i32, 2, 23, 27,
47769 OPC_EmitInteger32, 62,
47770 OPC_EmitInteger32, 2,
47771 OPC_EmitInteger32, 62,
47772 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47773 MVT::i32, 4, 0, 29, 30, 31,
47774 OPC_EmitInteger32, 42|128,85|128,2,
47775 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47776 MVT::i32, 1, 33,
47777 OPC_EmitInteger32, 42|128,85|128,2,
47778 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47779 MVT::i32, 2, 34, 35,
47780 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47781 MVT::i32, 2, 32, 36,
47782 OPC_EmitInteger32, 2,
47783 OPC_EmitInteger32, 0,
47784 OPC_EmitInteger32, 60,
47785 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47786 MVT::i32, 4, 0, 38, 39, 40,
47787 OPC_EmitInteger32, 84|128,42|128,5,
47788 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47789 MVT::i32, 1, 42,
47790 OPC_EmitInteger32, 84|128,42|128,5,
47791 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47792 MVT::i32, 2, 43, 44,
47793 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47794 MVT::i32, 2, 41, 45,
47795 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47796 MVT::i32, 2, 37, 46,
47797 OPC_EmitInteger32, 4,
47798 OPC_EmitInteger32, 0,
47799 OPC_EmitInteger32, 58,
47800 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47801 MVT::i32, 4, 47, 48, 49, 50,
47802 OPC_EmitInteger32, 24|128,51|128,6,
47803 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47804 MVT::i32, 1, 52,
47805 OPC_EmitInteger32, 24|128,51|128,6,
47806 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47807 MVT::i32, 2, 53, 54,
47808 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47809 MVT::i32, 2, 51, 55,
47810 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47811 MVT::i32, 2, 28, 56,
47812 OPC_EmitInteger32, 56,
47813 OPC_EmitInteger32, 8,
47814 OPC_EmitInteger32, 62,
47815 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47816 MVT::i32, 4, 57, 58, 59, 60,
47817 OPC_EmitInteger32, 30|128,60,
47818 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47819 MVT::i32, 1, 62,
47820 OPC_EmitInteger32, 30|128,60,
47821 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47822 MVT::i32, 2, 63, 64,
47823 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47824 MVT::i32, 2, 61, 65,
47825 OPC_EmitInteger32, 62,
47826 OPC_EmitInteger32, 2,
47827 OPC_EmitInteger32, 62,
47828 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47829 MVT::i32, 4, 0, 67, 68, 69,
47830 OPC_EmitInteger32, 42|128,85|128,2,
47831 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47832 MVT::i32, 1, 71,
47833 OPC_EmitInteger32, 42|128,85|128,2,
47834 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47835 MVT::i32, 2, 72, 73,
47836 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47837 MVT::i32, 2, 70, 74,
47838 OPC_EmitInteger32, 2,
47839 OPC_EmitInteger32, 0,
47840 OPC_EmitInteger32, 60,
47841 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47842 MVT::i32, 4, 0, 76, 77, 78,
47843 OPC_EmitInteger32, 84|128,42|128,5,
47844 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47845 MVT::i32, 1, 80,
47846 OPC_EmitInteger32, 84|128,42|128,5,
47847 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47848 MVT::i32, 2, 81, 82,
47849 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47850 MVT::i32, 2, 79, 83,
47851 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47852 MVT::i32, 2, 75, 84,
47853 OPC_EmitInteger32, 60,
47854 OPC_EmitInteger32, 4,
47855 OPC_EmitInteger32, 62,
47856 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47857 MVT::i32, 4, 85, 86, 87, 88,
47858 OPC_EmitInteger32, 102|128,76|128,1,
47859 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47860 MVT::i32, 1, 90,
47861 OPC_EmitInteger32, 102|128,76|128,1,
47862 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47863 MVT::i32, 2, 91, 92,
47864 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47865 MVT::i32, 2, 89, 93,
47866 OPC_EmitInteger32, 62,
47867 OPC_EmitInteger32, 2,
47868 OPC_EmitInteger32, 62,
47869 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47870 MVT::i32, 4, 0, 95, 96, 97,
47871 OPC_EmitInteger32, 42|128,85|128,2,
47872 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47873 MVT::i32, 1, 99,
47874 OPC_EmitInteger32, 42|128,85|128,2,
47875 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47876 MVT::i32, 2, 100, 101,
47877 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47878 MVT::i32, 2, 98, 102,
47879 OPC_EmitInteger32, 2,
47880 OPC_EmitInteger32, 0,
47881 OPC_EmitInteger32, 60,
47882 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47883 MVT::i32, 4, 0, 104, 105, 106,
47884 OPC_EmitInteger32, 84|128,42|128,5,
47885 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47886 MVT::i32, 1, 108,
47887 OPC_EmitInteger32, 84|128,42|128,5,
47888 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47889 MVT::i32, 2, 109, 110,
47890 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47891 MVT::i32, 2, 107, 111,
47892 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47893 MVT::i32, 2, 103, 112,
47894 OPC_EmitInteger32, 4,
47895 OPC_EmitInteger32, 0,
47896 OPC_EmitInteger32, 58,
47897 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47898 MVT::i32, 4, 113, 114, 115, 116,
47899 OPC_EmitInteger32, 24|128,51|128,6,
47900 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47901 MVT::i32, 1, 118,
47902 OPC_EmitInteger32, 24|128,51|128,6,
47903 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47904 MVT::i32, 2, 119, 120,
47905 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47906 MVT::i32, 2, 117, 121,
47907 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47908 MVT::i32, 2, 94, 122,
47909 OPC_EmitInteger32, 8,
47910 OPC_EmitInteger32, 0,
47911 OPC_EmitInteger32, 54,
47912 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47913 MVT::i32, 4, 123, 124, 125, 126,
47914 OPC_EmitInteger32, 96|128,67|128,7,
47915 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47916 MVT::i32, 1, 0|128,1,
47917 OPC_EmitInteger32, 96|128,67|128,7,
47918 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47919 MVT::i32, 2, 1|128,1, 2|128,1,
47920 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47921 MVT::i32, 2, 127, 3|128,1,
47922 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47923 MVT::i32, 2, 66, 4|128,1,
47924 OPC_EmitInteger32, 48,
47925 OPC_EmitInteger32, 0,
47926 OPC_EmitInteger32, 62,
47927 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47928 MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1,
47929 OPC_EmitInteger32, 62,
47930 OPC_EmitInteger32, 2,
47931 OPC_EmitInteger32, 62,
47932 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47933 MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1,
47934 OPC_EmitInteger32, 42|128,85|128,2,
47935 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47936 MVT::i32, 1, 14|128,1,
47937 OPC_EmitInteger32, 42|128,85|128,2,
47938 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47939 MVT::i32, 2, 15|128,1, 16|128,1,
47940 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47941 MVT::i32, 2, 13|128,1, 17|128,1,
47942 OPC_EmitInteger32, 2,
47943 OPC_EmitInteger32, 0,
47944 OPC_EmitInteger32, 60,
47945 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47946 MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1,
47947 OPC_EmitInteger32, 84|128,42|128,5,
47948 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47949 MVT::i32, 1, 23|128,1,
47950 OPC_EmitInteger32, 84|128,42|128,5,
47951 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47952 MVT::i32, 2, 24|128,1, 25|128,1,
47953 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47954 MVT::i32, 2, 22|128,1, 26|128,1,
47955 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47956 MVT::i32, 2, 18|128,1, 27|128,1,
47957 OPC_EmitInteger32, 60,
47958 OPC_EmitInteger32, 4,
47959 OPC_EmitInteger32, 62,
47960 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47961 MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1,
47962 OPC_EmitInteger32, 102|128,76|128,1,
47963 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47964 MVT::i32, 1, 33|128,1,
47965 OPC_EmitInteger32, 102|128,76|128,1,
47966 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47967 MVT::i32, 2, 34|128,1, 35|128,1,
47968 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47969 MVT::i32, 2, 32|128,1, 36|128,1,
47970 OPC_EmitInteger32, 62,
47971 OPC_EmitInteger32, 2,
47972 OPC_EmitInteger32, 62,
47973 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47974 MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1,
47975 OPC_EmitInteger32, 42|128,85|128,2,
47976 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47977 MVT::i32, 1, 42|128,1,
47978 OPC_EmitInteger32, 42|128,85|128,2,
47979 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47980 MVT::i32, 2, 43|128,1, 44|128,1,
47981 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47982 MVT::i32, 2, 41|128,1, 45|128,1,
47983 OPC_EmitInteger32, 2,
47984 OPC_EmitInteger32, 0,
47985 OPC_EmitInteger32, 60,
47986 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
47987 MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1,
47988 OPC_EmitInteger32, 84|128,42|128,5,
47989 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
47990 MVT::i32, 1, 51|128,1,
47991 OPC_EmitInteger32, 84|128,42|128,5,
47992 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
47993 MVT::i32, 2, 52|128,1, 53|128,1,
47994 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
47995 MVT::i32, 2, 50|128,1, 54|128,1,
47996 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
47997 MVT::i32, 2, 46|128,1, 55|128,1,
47998 OPC_EmitInteger32, 4,
47999 OPC_EmitInteger32, 0,
48000 OPC_EmitInteger32, 58,
48001 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48002 MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1,
48003 OPC_EmitInteger32, 24|128,51|128,6,
48004 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48005 MVT::i32, 1, 61|128,1,
48006 OPC_EmitInteger32, 24|128,51|128,6,
48007 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48008 MVT::i32, 2, 62|128,1, 63|128,1,
48009 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48010 MVT::i32, 2, 60|128,1, 64|128,1,
48011 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48012 MVT::i32, 2, 37|128,1, 65|128,1,
48013 OPC_EmitInteger32, 56,
48014 OPC_EmitInteger32, 8,
48015 OPC_EmitInteger32, 62,
48016 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48017 MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1,
48018 OPC_EmitInteger32, 30|128,60,
48019 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48020 MVT::i32, 1, 71|128,1,
48021 OPC_EmitInteger32, 30|128,60,
48022 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48023 MVT::i32, 2, 72|128,1, 73|128,1,
48024 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48025 MVT::i32, 2, 70|128,1, 74|128,1,
48026 OPC_EmitInteger32, 62,
48027 OPC_EmitInteger32, 2,
48028 OPC_EmitInteger32, 62,
48029 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48030 MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1,
48031 OPC_EmitInteger32, 42|128,85|128,2,
48032 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48033 MVT::i32, 1, 80|128,1,
48034 OPC_EmitInteger32, 42|128,85|128,2,
48035 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48036 MVT::i32, 2, 81|128,1, 82|128,1,
48037 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48038 MVT::i32, 2, 79|128,1, 83|128,1,
48039 OPC_EmitInteger32, 2,
48040 OPC_EmitInteger32, 0,
48041 OPC_EmitInteger32, 60,
48042 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48043 MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1,
48044 OPC_EmitInteger32, 84|128,42|128,5,
48045 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48046 MVT::i32, 1, 89|128,1,
48047 OPC_EmitInteger32, 84|128,42|128,5,
48048 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48049 MVT::i32, 2, 90|128,1, 91|128,1,
48050 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48051 MVT::i32, 2, 88|128,1, 92|128,1,
48052 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48053 MVT::i32, 2, 84|128,1, 93|128,1,
48054 OPC_EmitInteger32, 60,
48055 OPC_EmitInteger32, 4,
48056 OPC_EmitInteger32, 62,
48057 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48058 MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1,
48059 OPC_EmitInteger32, 102|128,76|128,1,
48060 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48061 MVT::i32, 1, 99|128,1,
48062 OPC_EmitInteger32, 102|128,76|128,1,
48063 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48064 MVT::i32, 2, 100|128,1, 101|128,1,
48065 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48066 MVT::i32, 2, 98|128,1, 102|128,1,
48067 OPC_EmitInteger32, 62,
48068 OPC_EmitInteger32, 2,
48069 OPC_EmitInteger32, 62,
48070 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48071 MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1,
48072 OPC_EmitInteger32, 42|128,85|128,2,
48073 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48074 MVT::i32, 1, 108|128,1,
48075 OPC_EmitInteger32, 42|128,85|128,2,
48076 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48077 MVT::i32, 2, 109|128,1, 110|128,1,
48078 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48079 MVT::i32, 2, 107|128,1, 111|128,1,
48080 OPC_EmitInteger32, 2,
48081 OPC_EmitInteger32, 0,
48082 OPC_EmitInteger32, 60,
48083 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48084 MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1,
48085 OPC_EmitInteger32, 84|128,42|128,5,
48086 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48087 MVT::i32, 1, 117|128,1,
48088 OPC_EmitInteger32, 84|128,42|128,5,
48089 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48090 MVT::i32, 2, 118|128,1, 119|128,1,
48091 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48092 MVT::i32, 2, 116|128,1, 120|128,1,
48093 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48094 MVT::i32, 2, 112|128,1, 121|128,1,
48095 OPC_EmitInteger32, 4,
48096 OPC_EmitInteger32, 0,
48097 OPC_EmitInteger32, 58,
48098 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48099 MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1,
48100 OPC_EmitInteger32, 24|128,51|128,6,
48101 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48102 MVT::i32, 1, 127|128,1,
48103 OPC_EmitInteger32, 24|128,51|128,6,
48104 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48105 MVT::i32, 2, 0|128,2, 1|128,2,
48106 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48107 MVT::i32, 2, 126|128,1, 2|128,2,
48108 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48109 MVT::i32, 2, 103|128,1, 3|128,2,
48110 OPC_EmitInteger32, 8,
48111 OPC_EmitInteger32, 0,
48112 OPC_EmitInteger32, 54,
48113 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48114 MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2,
48115 OPC_EmitInteger32, 96|128,67|128,7,
48116 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48117 MVT::i32, 1, 9|128,2,
48118 OPC_EmitInteger32, 96|128,67|128,7,
48119 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48120 MVT::i32, 2, 10|128,2, 11|128,2,
48121 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48122 MVT::i32, 2, 8|128,2, 12|128,2,
48123 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48124 MVT::i32, 2, 75|128,1, 13|128,2,
48125 OPC_EmitInteger32, 16,
48126 OPC_EmitInteger32, 16,
48127 OPC_EmitInteger32, 30,
48128 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
48129 MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2,
48130 OPC_EmitInteger32, 62,
48131 OPC_EmitInteger32, 2,
48132 OPC_EmitInteger32, 62,
48133 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48134 MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2,
48135 OPC_EmitInteger32, 42|128,85|128,2,
48136 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48137 MVT::i32, 1, 23|128,2,
48138 OPC_EmitInteger32, 42|128,85|128,2,
48139 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48140 MVT::i32, 2, 24|128,2, 25|128,2,
48141 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48142 MVT::i32, 2, 22|128,2, 26|128,2,
48143 OPC_EmitInteger32, 2,
48144 OPC_EmitInteger32, 0,
48145 OPC_EmitInteger32, 60,
48146 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48147 MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2,
48148 OPC_EmitInteger32, 84|128,42|128,5,
48149 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48150 MVT::i32, 1, 32|128,2,
48151 OPC_EmitInteger32, 84|128,42|128,5,
48152 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48153 MVT::i32, 2, 33|128,2, 34|128,2,
48154 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48155 MVT::i32, 2, 31|128,2, 35|128,2,
48156 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48157 MVT::i32, 2, 27|128,2, 36|128,2,
48158 OPC_EmitInteger32, 60,
48159 OPC_EmitInteger32, 4,
48160 OPC_EmitInteger32, 62,
48161 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48162 MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2,
48163 OPC_EmitInteger32, 102|128,76|128,1,
48164 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48165 MVT::i32, 1, 42|128,2,
48166 OPC_EmitInteger32, 102|128,76|128,1,
48167 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48168 MVT::i32, 2, 43|128,2, 44|128,2,
48169 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48170 MVT::i32, 2, 41|128,2, 45|128,2,
48171 OPC_EmitInteger32, 62,
48172 OPC_EmitInteger32, 2,
48173 OPC_EmitInteger32, 62,
48174 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48175 MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2,
48176 OPC_EmitInteger32, 42|128,85|128,2,
48177 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48178 MVT::i32, 1, 51|128,2,
48179 OPC_EmitInteger32, 42|128,85|128,2,
48180 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48181 MVT::i32, 2, 52|128,2, 53|128,2,
48182 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48183 MVT::i32, 2, 50|128,2, 54|128,2,
48184 OPC_EmitInteger32, 2,
48185 OPC_EmitInteger32, 0,
48186 OPC_EmitInteger32, 60,
48187 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48188 MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2,
48189 OPC_EmitInteger32, 84|128,42|128,5,
48190 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48191 MVT::i32, 1, 60|128,2,
48192 OPC_EmitInteger32, 84|128,42|128,5,
48193 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48194 MVT::i32, 2, 61|128,2, 62|128,2,
48195 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48196 MVT::i32, 2, 59|128,2, 63|128,2,
48197 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48198 MVT::i32, 2, 55|128,2, 64|128,2,
48199 OPC_EmitInteger32, 4,
48200 OPC_EmitInteger32, 0,
48201 OPC_EmitInteger32, 58,
48202 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48203 MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2,
48204 OPC_EmitInteger32, 24|128,51|128,6,
48205 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48206 MVT::i32, 1, 70|128,2,
48207 OPC_EmitInteger32, 24|128,51|128,6,
48208 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48209 MVT::i32, 2, 71|128,2, 72|128,2,
48210 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48211 MVT::i32, 2, 69|128,2, 73|128,2,
48212 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48213 MVT::i32, 2, 46|128,2, 74|128,2,
48214 OPC_EmitInteger32, 56,
48215 OPC_EmitInteger32, 8,
48216 OPC_EmitInteger32, 62,
48217 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48218 MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2,
48219 OPC_EmitInteger32, 30|128,60,
48220 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48221 MVT::i32, 1, 80|128,2,
48222 OPC_EmitInteger32, 30|128,60,
48223 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48224 MVT::i32, 2, 81|128,2, 82|128,2,
48225 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48226 MVT::i32, 2, 79|128,2, 83|128,2,
48227 OPC_EmitInteger32, 62,
48228 OPC_EmitInteger32, 2,
48229 OPC_EmitInteger32, 62,
48230 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48231 MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2,
48232 OPC_EmitInteger32, 42|128,85|128,2,
48233 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48234 MVT::i32, 1, 89|128,2,
48235 OPC_EmitInteger32, 42|128,85|128,2,
48236 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48237 MVT::i32, 2, 90|128,2, 91|128,2,
48238 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48239 MVT::i32, 2, 88|128,2, 92|128,2,
48240 OPC_EmitInteger32, 2,
48241 OPC_EmitInteger32, 0,
48242 OPC_EmitInteger32, 60,
48243 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48244 MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2,
48245 OPC_EmitInteger32, 84|128,42|128,5,
48246 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48247 MVT::i32, 1, 98|128,2,
48248 OPC_EmitInteger32, 84|128,42|128,5,
48249 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48250 MVT::i32, 2, 99|128,2, 100|128,2,
48251 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48252 MVT::i32, 2, 97|128,2, 101|128,2,
48253 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48254 MVT::i32, 2, 93|128,2, 102|128,2,
48255 OPC_EmitInteger32, 60,
48256 OPC_EmitInteger32, 4,
48257 OPC_EmitInteger32, 62,
48258 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48259 MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2,
48260 OPC_EmitInteger32, 102|128,76|128,1,
48261 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48262 MVT::i32, 1, 108|128,2,
48263 OPC_EmitInteger32, 102|128,76|128,1,
48264 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48265 MVT::i32, 2, 109|128,2, 110|128,2,
48266 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48267 MVT::i32, 2, 107|128,2, 111|128,2,
48268 OPC_EmitInteger32, 62,
48269 OPC_EmitInteger32, 2,
48270 OPC_EmitInteger32, 62,
48271 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48272 MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2,
48273 OPC_EmitInteger32, 42|128,85|128,2,
48274 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48275 MVT::i32, 1, 117|128,2,
48276 OPC_EmitInteger32, 42|128,85|128,2,
48277 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48278 MVT::i32, 2, 118|128,2, 119|128,2,
48279 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48280 MVT::i32, 2, 116|128,2, 120|128,2,
48281 OPC_EmitInteger32, 2,
48282 OPC_EmitInteger32, 0,
48283 OPC_EmitInteger32, 60,
48284 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48285 MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2,
48286 OPC_EmitInteger32, 84|128,42|128,5,
48287 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48288 MVT::i32, 1, 126|128,2,
48289 OPC_EmitInteger32, 84|128,42|128,5,
48290 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48291 MVT::i32, 2, 127|128,2, 0|128,3,
48292 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48293 MVT::i32, 2, 125|128,2, 1|128,3,
48294 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48295 MVT::i32, 2, 121|128,2, 2|128,3,
48296 OPC_EmitInteger32, 4,
48297 OPC_EmitInteger32, 0,
48298 OPC_EmitInteger32, 58,
48299 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48300 MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3,
48301 OPC_EmitInteger32, 24|128,51|128,6,
48302 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48303 MVT::i32, 1, 8|128,3,
48304 OPC_EmitInteger32, 24|128,51|128,6,
48305 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48306 MVT::i32, 2, 9|128,3, 10|128,3,
48307 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48308 MVT::i32, 2, 7|128,3, 11|128,3,
48309 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48310 MVT::i32, 2, 112|128,2, 12|128,3,
48311 OPC_EmitInteger32, 8,
48312 OPC_EmitInteger32, 0,
48313 OPC_EmitInteger32, 54,
48314 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48315 MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3,
48316 OPC_EmitInteger32, 96|128,67|128,7,
48317 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48318 MVT::i32, 1, 18|128,3,
48319 OPC_EmitInteger32, 96|128,67|128,7,
48320 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48321 MVT::i32, 2, 19|128,3, 20|128,3,
48322 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48323 MVT::i32, 2, 17|128,3, 21|128,3,
48324 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48325 MVT::i32, 2, 84|128,2, 22|128,3,
48326 OPC_EmitInteger32, 16,
48327 OPC_EmitInteger32, 48,
48328 OPC_EmitInteger32, 62,
48329 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLWIMI),
48330 MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3,
48331 118|128,17,
48332 OPC_CheckPatternPredicate, 35,
48333 OPC_EmitInteger32, 62,
48334 OPC_EmitInteger32, 2,
48335 OPC_EmitInteger32, 62,
48336 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48337 MVT::i32, 4, 0, 1, 2, 3,
48338 OPC_EmitInteger32, 42|128,85|128,2,
48339 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48340 MVT::i32, 1, 5,
48341 OPC_EmitInteger32, 42|128,85|128,2,
48342 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48343 MVT::i32, 2, 6, 7,
48344 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48345 MVT::i32, 2, 4, 8,
48346 OPC_EmitInteger32, 2,
48347 OPC_EmitInteger32, 0,
48348 OPC_EmitInteger32, 60,
48349 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48350 MVT::i32, 4, 0, 10, 11, 12,
48351 OPC_EmitInteger32, 84|128,42|128,5,
48352 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48353 MVT::i32, 1, 14,
48354 OPC_EmitInteger32, 84|128,42|128,5,
48355 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48356 MVT::i32, 2, 15, 16,
48357 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48358 MVT::i32, 2, 13, 17,
48359 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48360 MVT::i32, 2, 9, 18,
48361 OPC_EmitInteger32, 60,
48362 OPC_EmitInteger32, 4,
48363 OPC_EmitInteger32, 62,
48364 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48365 MVT::i32, 4, 19, 20, 21, 22,
48366 OPC_EmitInteger32, 102|128,76|128,1,
48367 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48368 MVT::i32, 1, 24,
48369 OPC_EmitInteger32, 102|128,76|128,1,
48370 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48371 MVT::i32, 2, 25, 26,
48372 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48373 MVT::i32, 2, 23, 27,
48374 OPC_EmitInteger32, 62,
48375 OPC_EmitInteger32, 2,
48376 OPC_EmitInteger32, 62,
48377 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48378 MVT::i32, 4, 0, 29, 30, 31,
48379 OPC_EmitInteger32, 42|128,85|128,2,
48380 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48381 MVT::i32, 1, 33,
48382 OPC_EmitInteger32, 42|128,85|128,2,
48383 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48384 MVT::i32, 2, 34, 35,
48385 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48386 MVT::i32, 2, 32, 36,
48387 OPC_EmitInteger32, 2,
48388 OPC_EmitInteger32, 0,
48389 OPC_EmitInteger32, 60,
48390 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48391 MVT::i32, 4, 0, 38, 39, 40,
48392 OPC_EmitInteger32, 84|128,42|128,5,
48393 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48394 MVT::i32, 1, 42,
48395 OPC_EmitInteger32, 84|128,42|128,5,
48396 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48397 MVT::i32, 2, 43, 44,
48398 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48399 MVT::i32, 2, 41, 45,
48400 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48401 MVT::i32, 2, 37, 46,
48402 OPC_EmitInteger32, 4,
48403 OPC_EmitInteger32, 0,
48404 OPC_EmitInteger32, 58,
48405 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48406 MVT::i32, 4, 47, 48, 49, 50,
48407 OPC_EmitInteger32, 24|128,51|128,6,
48408 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48409 MVT::i32, 1, 52,
48410 OPC_EmitInteger32, 24|128,51|128,6,
48411 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48412 MVT::i32, 2, 53, 54,
48413 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48414 MVT::i32, 2, 51, 55,
48415 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48416 MVT::i32, 2, 28, 56,
48417 OPC_EmitInteger32, 56,
48418 OPC_EmitInteger32, 8,
48419 OPC_EmitInteger32, 62,
48420 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48421 MVT::i32, 4, 57, 58, 59, 60,
48422 OPC_EmitInteger32, 30|128,60,
48423 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48424 MVT::i32, 1, 62,
48425 OPC_EmitInteger32, 30|128,60,
48426 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48427 MVT::i32, 2, 63, 64,
48428 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48429 MVT::i32, 2, 61, 65,
48430 OPC_EmitInteger32, 62,
48431 OPC_EmitInteger32, 2,
48432 OPC_EmitInteger32, 62,
48433 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48434 MVT::i32, 4, 0, 67, 68, 69,
48435 OPC_EmitInteger32, 42|128,85|128,2,
48436 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48437 MVT::i32, 1, 71,
48438 OPC_EmitInteger32, 42|128,85|128,2,
48439 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48440 MVT::i32, 2, 72, 73,
48441 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48442 MVT::i32, 2, 70, 74,
48443 OPC_EmitInteger32, 2,
48444 OPC_EmitInteger32, 0,
48445 OPC_EmitInteger32, 60,
48446 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48447 MVT::i32, 4, 0, 76, 77, 78,
48448 OPC_EmitInteger32, 84|128,42|128,5,
48449 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48450 MVT::i32, 1, 80,
48451 OPC_EmitInteger32, 84|128,42|128,5,
48452 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48453 MVT::i32, 2, 81, 82,
48454 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48455 MVT::i32, 2, 79, 83,
48456 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48457 MVT::i32, 2, 75, 84,
48458 OPC_EmitInteger32, 60,
48459 OPC_EmitInteger32, 4,
48460 OPC_EmitInteger32, 62,
48461 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48462 MVT::i32, 4, 85, 86, 87, 88,
48463 OPC_EmitInteger32, 102|128,76|128,1,
48464 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48465 MVT::i32, 1, 90,
48466 OPC_EmitInteger32, 102|128,76|128,1,
48467 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48468 MVT::i32, 2, 91, 92,
48469 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48470 MVT::i32, 2, 89, 93,
48471 OPC_EmitInteger32, 62,
48472 OPC_EmitInteger32, 2,
48473 OPC_EmitInteger32, 62,
48474 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48475 MVT::i32, 4, 0, 95, 96, 97,
48476 OPC_EmitInteger32, 42|128,85|128,2,
48477 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48478 MVT::i32, 1, 99,
48479 OPC_EmitInteger32, 42|128,85|128,2,
48480 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48481 MVT::i32, 2, 100, 101,
48482 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48483 MVT::i32, 2, 98, 102,
48484 OPC_EmitInteger32, 2,
48485 OPC_EmitInteger32, 0,
48486 OPC_EmitInteger32, 60,
48487 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48488 MVT::i32, 4, 0, 104, 105, 106,
48489 OPC_EmitInteger32, 84|128,42|128,5,
48490 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48491 MVT::i32, 1, 108,
48492 OPC_EmitInteger32, 84|128,42|128,5,
48493 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48494 MVT::i32, 2, 109, 110,
48495 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48496 MVT::i32, 2, 107, 111,
48497 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48498 MVT::i32, 2, 103, 112,
48499 OPC_EmitInteger32, 4,
48500 OPC_EmitInteger32, 0,
48501 OPC_EmitInteger32, 58,
48502 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48503 MVT::i32, 4, 113, 114, 115, 116,
48504 OPC_EmitInteger32, 24|128,51|128,6,
48505 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48506 MVT::i32, 1, 118,
48507 OPC_EmitInteger32, 24|128,51|128,6,
48508 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48509 MVT::i32, 2, 119, 120,
48510 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48511 MVT::i32, 2, 117, 121,
48512 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48513 MVT::i32, 2, 94, 122,
48514 OPC_EmitInteger32, 8,
48515 OPC_EmitInteger32, 0,
48516 OPC_EmitInteger32, 54,
48517 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48518 MVT::i32, 4, 123, 124, 125, 126,
48519 OPC_EmitInteger32, 96|128,67|128,7,
48520 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48521 MVT::i32, 1, 0|128,1,
48522 OPC_EmitInteger32, 96|128,67|128,7,
48523 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48524 MVT::i32, 2, 1|128,1, 2|128,1,
48525 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48526 MVT::i32, 2, 127, 3|128,1,
48527 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48528 MVT::i32, 2, 66, 4|128,1,
48529 OPC_EmitInteger32, 48,
48530 OPC_EmitInteger32, 0,
48531 OPC_EmitInteger32, 62,
48532 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48533 MVT::i32, 4, 5|128,1, 6|128,1, 7|128,1, 8|128,1,
48534 OPC_EmitInteger32, 62,
48535 OPC_EmitInteger32, 2,
48536 OPC_EmitInteger32, 62,
48537 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48538 MVT::i32, 4, 0, 10|128,1, 11|128,1, 12|128,1,
48539 OPC_EmitInteger32, 42|128,85|128,2,
48540 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48541 MVT::i32, 1, 14|128,1,
48542 OPC_EmitInteger32, 42|128,85|128,2,
48543 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48544 MVT::i32, 2, 15|128,1, 16|128,1,
48545 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48546 MVT::i32, 2, 13|128,1, 17|128,1,
48547 OPC_EmitInteger32, 2,
48548 OPC_EmitInteger32, 0,
48549 OPC_EmitInteger32, 60,
48550 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48551 MVT::i32, 4, 0, 19|128,1, 20|128,1, 21|128,1,
48552 OPC_EmitInteger32, 84|128,42|128,5,
48553 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48554 MVT::i32, 1, 23|128,1,
48555 OPC_EmitInteger32, 84|128,42|128,5,
48556 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48557 MVT::i32, 2, 24|128,1, 25|128,1,
48558 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48559 MVT::i32, 2, 22|128,1, 26|128,1,
48560 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48561 MVT::i32, 2, 18|128,1, 27|128,1,
48562 OPC_EmitInteger32, 60,
48563 OPC_EmitInteger32, 4,
48564 OPC_EmitInteger32, 62,
48565 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48566 MVT::i32, 4, 28|128,1, 29|128,1, 30|128,1, 31|128,1,
48567 OPC_EmitInteger32, 102|128,76|128,1,
48568 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48569 MVT::i32, 1, 33|128,1,
48570 OPC_EmitInteger32, 102|128,76|128,1,
48571 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48572 MVT::i32, 2, 34|128,1, 35|128,1,
48573 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48574 MVT::i32, 2, 32|128,1, 36|128,1,
48575 OPC_EmitInteger32, 62,
48576 OPC_EmitInteger32, 2,
48577 OPC_EmitInteger32, 62,
48578 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48579 MVT::i32, 4, 0, 38|128,1, 39|128,1, 40|128,1,
48580 OPC_EmitInteger32, 42|128,85|128,2,
48581 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48582 MVT::i32, 1, 42|128,1,
48583 OPC_EmitInteger32, 42|128,85|128,2,
48584 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48585 MVT::i32, 2, 43|128,1, 44|128,1,
48586 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48587 MVT::i32, 2, 41|128,1, 45|128,1,
48588 OPC_EmitInteger32, 2,
48589 OPC_EmitInteger32, 0,
48590 OPC_EmitInteger32, 60,
48591 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48592 MVT::i32, 4, 0, 47|128,1, 48|128,1, 49|128,1,
48593 OPC_EmitInteger32, 84|128,42|128,5,
48594 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48595 MVT::i32, 1, 51|128,1,
48596 OPC_EmitInteger32, 84|128,42|128,5,
48597 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48598 MVT::i32, 2, 52|128,1, 53|128,1,
48599 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48600 MVT::i32, 2, 50|128,1, 54|128,1,
48601 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48602 MVT::i32, 2, 46|128,1, 55|128,1,
48603 OPC_EmitInteger32, 4,
48604 OPC_EmitInteger32, 0,
48605 OPC_EmitInteger32, 58,
48606 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48607 MVT::i32, 4, 56|128,1, 57|128,1, 58|128,1, 59|128,1,
48608 OPC_EmitInteger32, 24|128,51|128,6,
48609 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48610 MVT::i32, 1, 61|128,1,
48611 OPC_EmitInteger32, 24|128,51|128,6,
48612 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48613 MVT::i32, 2, 62|128,1, 63|128,1,
48614 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48615 MVT::i32, 2, 60|128,1, 64|128,1,
48616 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48617 MVT::i32, 2, 37|128,1, 65|128,1,
48618 OPC_EmitInteger32, 56,
48619 OPC_EmitInteger32, 8,
48620 OPC_EmitInteger32, 62,
48621 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48622 MVT::i32, 4, 66|128,1, 67|128,1, 68|128,1, 69|128,1,
48623 OPC_EmitInteger32, 30|128,60,
48624 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48625 MVT::i32, 1, 71|128,1,
48626 OPC_EmitInteger32, 30|128,60,
48627 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48628 MVT::i32, 2, 72|128,1, 73|128,1,
48629 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48630 MVT::i32, 2, 70|128,1, 74|128,1,
48631 OPC_EmitInteger32, 62,
48632 OPC_EmitInteger32, 2,
48633 OPC_EmitInteger32, 62,
48634 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48635 MVT::i32, 4, 0, 76|128,1, 77|128,1, 78|128,1,
48636 OPC_EmitInteger32, 42|128,85|128,2,
48637 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48638 MVT::i32, 1, 80|128,1,
48639 OPC_EmitInteger32, 42|128,85|128,2,
48640 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48641 MVT::i32, 2, 81|128,1, 82|128,1,
48642 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48643 MVT::i32, 2, 79|128,1, 83|128,1,
48644 OPC_EmitInteger32, 2,
48645 OPC_EmitInteger32, 0,
48646 OPC_EmitInteger32, 60,
48647 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48648 MVT::i32, 4, 0, 85|128,1, 86|128,1, 87|128,1,
48649 OPC_EmitInteger32, 84|128,42|128,5,
48650 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48651 MVT::i32, 1, 89|128,1,
48652 OPC_EmitInteger32, 84|128,42|128,5,
48653 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48654 MVT::i32, 2, 90|128,1, 91|128,1,
48655 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48656 MVT::i32, 2, 88|128,1, 92|128,1,
48657 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48658 MVT::i32, 2, 84|128,1, 93|128,1,
48659 OPC_EmitInteger32, 60,
48660 OPC_EmitInteger32, 4,
48661 OPC_EmitInteger32, 62,
48662 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48663 MVT::i32, 4, 94|128,1, 95|128,1, 96|128,1, 97|128,1,
48664 OPC_EmitInteger32, 102|128,76|128,1,
48665 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48666 MVT::i32, 1, 99|128,1,
48667 OPC_EmitInteger32, 102|128,76|128,1,
48668 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48669 MVT::i32, 2, 100|128,1, 101|128,1,
48670 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48671 MVT::i32, 2, 98|128,1, 102|128,1,
48672 OPC_EmitInteger32, 62,
48673 OPC_EmitInteger32, 2,
48674 OPC_EmitInteger32, 62,
48675 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48676 MVT::i32, 4, 0, 104|128,1, 105|128,1, 106|128,1,
48677 OPC_EmitInteger32, 42|128,85|128,2,
48678 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48679 MVT::i32, 1, 108|128,1,
48680 OPC_EmitInteger32, 42|128,85|128,2,
48681 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48682 MVT::i32, 2, 109|128,1, 110|128,1,
48683 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48684 MVT::i32, 2, 107|128,1, 111|128,1,
48685 OPC_EmitInteger32, 2,
48686 OPC_EmitInteger32, 0,
48687 OPC_EmitInteger32, 60,
48688 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48689 MVT::i32, 4, 0, 113|128,1, 114|128,1, 115|128,1,
48690 OPC_EmitInteger32, 84|128,42|128,5,
48691 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48692 MVT::i32, 1, 117|128,1,
48693 OPC_EmitInteger32, 84|128,42|128,5,
48694 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48695 MVT::i32, 2, 118|128,1, 119|128,1,
48696 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48697 MVT::i32, 2, 116|128,1, 120|128,1,
48698 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48699 MVT::i32, 2, 112|128,1, 121|128,1,
48700 OPC_EmitInteger32, 4,
48701 OPC_EmitInteger32, 0,
48702 OPC_EmitInteger32, 58,
48703 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48704 MVT::i32, 4, 122|128,1, 123|128,1, 124|128,1, 125|128,1,
48705 OPC_EmitInteger32, 24|128,51|128,6,
48706 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48707 MVT::i32, 1, 127|128,1,
48708 OPC_EmitInteger32, 24|128,51|128,6,
48709 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48710 MVT::i32, 2, 0|128,2, 1|128,2,
48711 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48712 MVT::i32, 2, 126|128,1, 2|128,2,
48713 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48714 MVT::i32, 2, 103|128,1, 3|128,2,
48715 OPC_EmitInteger32, 8,
48716 OPC_EmitInteger32, 0,
48717 OPC_EmitInteger32, 54,
48718 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48719 MVT::i32, 4, 4|128,2, 5|128,2, 6|128,2, 7|128,2,
48720 OPC_EmitInteger32, 96|128,67|128,7,
48721 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48722 MVT::i32, 1, 9|128,2,
48723 OPC_EmitInteger32, 96|128,67|128,7,
48724 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48725 MVT::i32, 2, 10|128,2, 11|128,2,
48726 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48727 MVT::i32, 2, 8|128,2, 12|128,2,
48728 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48729 MVT::i32, 2, 75|128,1, 13|128,2,
48730 OPC_EmitInteger32, 16,
48731 OPC_EmitInteger32, 16,
48732 OPC_EmitInteger32, 30,
48733 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
48734 MVT::i32, 5, 9|128,1, 14|128,2, 15|128,2, 16|128,2, 17|128,2,
48735 OPC_EmitInteger32, 62,
48736 OPC_EmitInteger32, 2,
48737 OPC_EmitInteger32, 62,
48738 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48739 MVT::i32, 4, 0, 19|128,2, 20|128,2, 21|128,2,
48740 OPC_EmitInteger32, 42|128,85|128,2,
48741 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48742 MVT::i32, 1, 23|128,2,
48743 OPC_EmitInteger32, 42|128,85|128,2,
48744 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48745 MVT::i32, 2, 24|128,2, 25|128,2,
48746 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48747 MVT::i32, 2, 22|128,2, 26|128,2,
48748 OPC_EmitInteger32, 2,
48749 OPC_EmitInteger32, 0,
48750 OPC_EmitInteger32, 60,
48751 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48752 MVT::i32, 4, 0, 28|128,2, 29|128,2, 30|128,2,
48753 OPC_EmitInteger32, 84|128,42|128,5,
48754 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48755 MVT::i32, 1, 32|128,2,
48756 OPC_EmitInteger32, 84|128,42|128,5,
48757 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48758 MVT::i32, 2, 33|128,2, 34|128,2,
48759 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48760 MVT::i32, 2, 31|128,2, 35|128,2,
48761 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48762 MVT::i32, 2, 27|128,2, 36|128,2,
48763 OPC_EmitInteger32, 60,
48764 OPC_EmitInteger32, 4,
48765 OPC_EmitInteger32, 62,
48766 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48767 MVT::i32, 4, 37|128,2, 38|128,2, 39|128,2, 40|128,2,
48768 OPC_EmitInteger32, 102|128,76|128,1,
48769 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48770 MVT::i32, 1, 42|128,2,
48771 OPC_EmitInteger32, 102|128,76|128,1,
48772 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48773 MVT::i32, 2, 43|128,2, 44|128,2,
48774 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48775 MVT::i32, 2, 41|128,2, 45|128,2,
48776 OPC_EmitInteger32, 62,
48777 OPC_EmitInteger32, 2,
48778 OPC_EmitInteger32, 62,
48779 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48780 MVT::i32, 4, 0, 47|128,2, 48|128,2, 49|128,2,
48781 OPC_EmitInteger32, 42|128,85|128,2,
48782 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48783 MVT::i32, 1, 51|128,2,
48784 OPC_EmitInteger32, 42|128,85|128,2,
48785 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48786 MVT::i32, 2, 52|128,2, 53|128,2,
48787 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48788 MVT::i32, 2, 50|128,2, 54|128,2,
48789 OPC_EmitInteger32, 2,
48790 OPC_EmitInteger32, 0,
48791 OPC_EmitInteger32, 60,
48792 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48793 MVT::i32, 4, 0, 56|128,2, 57|128,2, 58|128,2,
48794 OPC_EmitInteger32, 84|128,42|128,5,
48795 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48796 MVT::i32, 1, 60|128,2,
48797 OPC_EmitInteger32, 84|128,42|128,5,
48798 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48799 MVT::i32, 2, 61|128,2, 62|128,2,
48800 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48801 MVT::i32, 2, 59|128,2, 63|128,2,
48802 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48803 MVT::i32, 2, 55|128,2, 64|128,2,
48804 OPC_EmitInteger32, 4,
48805 OPC_EmitInteger32, 0,
48806 OPC_EmitInteger32, 58,
48807 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48808 MVT::i32, 4, 65|128,2, 66|128,2, 67|128,2, 68|128,2,
48809 OPC_EmitInteger32, 24|128,51|128,6,
48810 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48811 MVT::i32, 1, 70|128,2,
48812 OPC_EmitInteger32, 24|128,51|128,6,
48813 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48814 MVT::i32, 2, 71|128,2, 72|128,2,
48815 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48816 MVT::i32, 2, 69|128,2, 73|128,2,
48817 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48818 MVT::i32, 2, 46|128,2, 74|128,2,
48819 OPC_EmitInteger32, 56,
48820 OPC_EmitInteger32, 8,
48821 OPC_EmitInteger32, 62,
48822 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48823 MVT::i32, 4, 75|128,2, 76|128,2, 77|128,2, 78|128,2,
48824 OPC_EmitInteger32, 30|128,60,
48825 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48826 MVT::i32, 1, 80|128,2,
48827 OPC_EmitInteger32, 30|128,60,
48828 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48829 MVT::i32, 2, 81|128,2, 82|128,2,
48830 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48831 MVT::i32, 2, 79|128,2, 83|128,2,
48832 OPC_EmitInteger32, 62,
48833 OPC_EmitInteger32, 2,
48834 OPC_EmitInteger32, 62,
48835 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48836 MVT::i32, 4, 0, 85|128,2, 86|128,2, 87|128,2,
48837 OPC_EmitInteger32, 42|128,85|128,2,
48838 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48839 MVT::i32, 1, 89|128,2,
48840 OPC_EmitInteger32, 42|128,85|128,2,
48841 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48842 MVT::i32, 2, 90|128,2, 91|128,2,
48843 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48844 MVT::i32, 2, 88|128,2, 92|128,2,
48845 OPC_EmitInteger32, 2,
48846 OPC_EmitInteger32, 0,
48847 OPC_EmitInteger32, 60,
48848 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48849 MVT::i32, 4, 0, 94|128,2, 95|128,2, 96|128,2,
48850 OPC_EmitInteger32, 84|128,42|128,5,
48851 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48852 MVT::i32, 1, 98|128,2,
48853 OPC_EmitInteger32, 84|128,42|128,5,
48854 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48855 MVT::i32, 2, 99|128,2, 100|128,2,
48856 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48857 MVT::i32, 2, 97|128,2, 101|128,2,
48858 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48859 MVT::i32, 2, 93|128,2, 102|128,2,
48860 OPC_EmitInteger32, 60,
48861 OPC_EmitInteger32, 4,
48862 OPC_EmitInteger32, 62,
48863 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48864 MVT::i32, 4, 103|128,2, 104|128,2, 105|128,2, 106|128,2,
48865 OPC_EmitInteger32, 102|128,76|128,1,
48866 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48867 MVT::i32, 1, 108|128,2,
48868 OPC_EmitInteger32, 102|128,76|128,1,
48869 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48870 MVT::i32, 2, 109|128,2, 110|128,2,
48871 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48872 MVT::i32, 2, 107|128,2, 111|128,2,
48873 OPC_EmitInteger32, 62,
48874 OPC_EmitInteger32, 2,
48875 OPC_EmitInteger32, 62,
48876 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48877 MVT::i32, 4, 0, 113|128,2, 114|128,2, 115|128,2,
48878 OPC_EmitInteger32, 42|128,85|128,2,
48879 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48880 MVT::i32, 1, 117|128,2,
48881 OPC_EmitInteger32, 42|128,85|128,2,
48882 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48883 MVT::i32, 2, 118|128,2, 119|128,2,
48884 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48885 MVT::i32, 2, 116|128,2, 120|128,2,
48886 OPC_EmitInteger32, 2,
48887 OPC_EmitInteger32, 0,
48888 OPC_EmitInteger32, 60,
48889 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48890 MVT::i32, 4, 0, 122|128,2, 123|128,2, 124|128,2,
48891 OPC_EmitInteger32, 84|128,42|128,5,
48892 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48893 MVT::i32, 1, 126|128,2,
48894 OPC_EmitInteger32, 84|128,42|128,5,
48895 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48896 MVT::i32, 2, 127|128,2, 0|128,3,
48897 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48898 MVT::i32, 2, 125|128,2, 1|128,3,
48899 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48900 MVT::i32, 2, 121|128,2, 2|128,3,
48901 OPC_EmitInteger32, 4,
48902 OPC_EmitInteger32, 0,
48903 OPC_EmitInteger32, 58,
48904 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48905 MVT::i32, 4, 3|128,3, 4|128,3, 5|128,3, 6|128,3,
48906 OPC_EmitInteger32, 24|128,51|128,6,
48907 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48908 MVT::i32, 1, 8|128,3,
48909 OPC_EmitInteger32, 24|128,51|128,6,
48910 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48911 MVT::i32, 2, 9|128,3, 10|128,3,
48912 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48913 MVT::i32, 2, 7|128,3, 11|128,3,
48914 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48915 MVT::i32, 2, 112|128,2, 12|128,3,
48916 OPC_EmitInteger32, 8,
48917 OPC_EmitInteger32, 0,
48918 OPC_EmitInteger32, 54,
48919 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
48920 MVT::i32, 4, 13|128,3, 14|128,3, 15|128,3, 16|128,3,
48921 OPC_EmitInteger32, 96|128,67|128,7,
48922 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48923 MVT::i32, 1, 18|128,3,
48924 OPC_EmitInteger32, 96|128,67|128,7,
48925 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48926 MVT::i32, 2, 19|128,3, 20|128,3,
48927 OPC_EmitNode1None, TARGET_VAL(PPC::AND),
48928 MVT::i32, 2, 17|128,3, 21|128,3,
48929 OPC_EmitNode1None, TARGET_VAL(PPC::OR),
48930 MVT::i32, 2, 84|128,2, 22|128,3,
48931 OPC_EmitInteger32, 16,
48932 OPC_EmitInteger32, 48,
48933 OPC_EmitInteger32, 62,
48934 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
48935 MVT::i32, 5, 18|128,2, 23|128,3, 24|128,3, 25|128,3, 26|128,3,
48936 OPC_EmitInteger32, 0,
48937 OPC_EmitInteger32, 64,
48938 OPC_MorphNodeTo1None, TARGET_VAL(PPC::RLDICL_32),
48939 MVT::i32, 3, 27|128,3, 28|128,3, 29|128,3,
48940 0,
48941 116|128,73, MVT::i64,
48942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
48943 MVT::i64, 0,
48944 OPC_EmitInteger32, 126,
48945 OPC_EmitInteger32, 2,
48946 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
48947 MVT::i64, 3, 0, 2, 3,
48948 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
48949 MVT::i64, 0,
48950 OPC_EmitInteger32, 42|128,85|128,2,
48951 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48952 MVT::i32, 1, 6,
48953 OPC_EmitInteger32, 42|128,85|128,2,
48954 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48955 MVT::i32, 2, 7, 8,
48956 OPC_EmitStringInteger32, PPC::sub_32,
48957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
48958 MVT::i64, 3, 5, 9, 10,
48959 OPC_EmitInteger32, 64,
48960 OPC_EmitInteger32, 62,
48961 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
48962 MVT::i64, 3, 11, 12, 13,
48963 OPC_EmitInteger64, 42|128,85|128,2,
48964 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
48965 MVT::i64, 2, 14, 15,
48966 OPC_EmitInteger64, 42|128,85|128,2,
48967 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
48968 MVT::i64, 2, 16, 17,
48969 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
48970 MVT::i64, 2, 4, 18,
48971 OPC_EmitInteger32, 2,
48972 OPC_EmitInteger32, 124,
48973 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
48974 MVT::i64, 3, 0, 20, 21,
48975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
48976 MVT::i64, 0,
48977 OPC_EmitInteger32, 84|128,42|128,5,
48978 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
48979 MVT::i32, 1, 24,
48980 OPC_EmitInteger32, 84|128,42|128,5,
48981 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
48982 MVT::i32, 2, 25, 26,
48983 OPC_EmitStringInteger32, PPC::sub_32,
48984 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
48985 MVT::i64, 3, 23, 27, 28,
48986 OPC_EmitInteger32, 64,
48987 OPC_EmitInteger32, 62,
48988 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
48989 MVT::i64, 3, 29, 30, 31,
48990 OPC_EmitInteger64, 84|128,42|128,5,
48991 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
48992 MVT::i64, 2, 32, 33,
48993 OPC_EmitInteger64, 84|128,42|128,5,
48994 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
48995 MVT::i64, 2, 34, 35,
48996 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
48997 MVT::i64, 2, 22, 36,
48998 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
48999 MVT::i64, 2, 19, 37,
49000 OPC_EmitInteger32, 124,
49001 OPC_EmitInteger32, 4,
49002 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49003 MVT::i64, 3, 38, 39, 40,
49004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49005 MVT::i64, 0,
49006 OPC_EmitInteger32, 102|128,76|128,1,
49007 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49008 MVT::i32, 1, 43,
49009 OPC_EmitInteger32, 102|128,76|128,1,
49010 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49011 MVT::i32, 2, 44, 45,
49012 OPC_EmitStringInteger32, PPC::sub_32,
49013 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49014 MVT::i64, 3, 42, 46, 47,
49015 OPC_EmitInteger32, 64,
49016 OPC_EmitInteger32, 62,
49017 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49018 MVT::i64, 3, 48, 49, 50,
49019 OPC_EmitInteger64, 102|128,76|128,1,
49020 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49021 MVT::i64, 2, 51, 52,
49022 OPC_EmitInteger64, 102|128,76|128,1,
49023 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49024 MVT::i64, 2, 53, 54,
49025 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49026 MVT::i64, 2, 41, 55,
49027 OPC_EmitInteger32, 126,
49028 OPC_EmitInteger32, 2,
49029 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49030 MVT::i64, 3, 0, 57, 58,
49031 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49032 MVT::i64, 0,
49033 OPC_EmitInteger32, 42|128,85|128,2,
49034 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49035 MVT::i32, 1, 61,
49036 OPC_EmitInteger32, 42|128,85|128,2,
49037 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49038 MVT::i32, 2, 62, 63,
49039 OPC_EmitStringInteger32, PPC::sub_32,
49040 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49041 MVT::i64, 3, 60, 64, 65,
49042 OPC_EmitInteger32, 64,
49043 OPC_EmitInteger32, 62,
49044 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49045 MVT::i64, 3, 66, 67, 68,
49046 OPC_EmitInteger64, 42|128,85|128,2,
49047 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49048 MVT::i64, 2, 69, 70,
49049 OPC_EmitInteger64, 42|128,85|128,2,
49050 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49051 MVT::i64, 2, 71, 72,
49052 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49053 MVT::i64, 2, 59, 73,
49054 OPC_EmitInteger32, 2,
49055 OPC_EmitInteger32, 124,
49056 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49057 MVT::i64, 3, 0, 75, 76,
49058 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49059 MVT::i64, 0,
49060 OPC_EmitInteger32, 84|128,42|128,5,
49061 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49062 MVT::i32, 1, 79,
49063 OPC_EmitInteger32, 84|128,42|128,5,
49064 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49065 MVT::i32, 2, 80, 81,
49066 OPC_EmitStringInteger32, PPC::sub_32,
49067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49068 MVT::i64, 3, 78, 82, 83,
49069 OPC_EmitInteger32, 64,
49070 OPC_EmitInteger32, 62,
49071 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49072 MVT::i64, 3, 84, 85, 86,
49073 OPC_EmitInteger64, 84|128,42|128,5,
49074 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49075 MVT::i64, 2, 87, 88,
49076 OPC_EmitInteger64, 84|128,42|128,5,
49077 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49078 MVT::i64, 2, 89, 90,
49079 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49080 MVT::i64, 2, 77, 91,
49081 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49082 MVT::i64, 2, 74, 92,
49083 OPC_EmitInteger32, 4,
49084 OPC_EmitInteger32, 122,
49085 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49086 MVT::i64, 3, 93, 94, 95,
49087 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49088 MVT::i64, 0,
49089 OPC_EmitInteger32, 24|128,51|128,6,
49090 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49091 MVT::i32, 1, 98,
49092 OPC_EmitInteger32, 24|128,51|128,6,
49093 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49094 MVT::i32, 2, 99, 100,
49095 OPC_EmitStringInteger32, PPC::sub_32,
49096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49097 MVT::i64, 3, 97, 101, 102,
49098 OPC_EmitInteger32, 64,
49099 OPC_EmitInteger32, 62,
49100 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49101 MVT::i64, 3, 103, 104, 105,
49102 OPC_EmitInteger64, 24|128,51|128,6,
49103 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49104 MVT::i64, 2, 106, 107,
49105 OPC_EmitInteger64, 24|128,51|128,6,
49106 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49107 MVT::i64, 2, 108, 109,
49108 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49109 MVT::i64, 2, 96, 110,
49110 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49111 MVT::i64, 2, 56, 111,
49112 OPC_EmitInteger32, 120,
49113 OPC_EmitInteger32, 8,
49114 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49115 MVT::i64, 3, 112, 113, 114,
49116 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49117 MVT::i64, 0,
49118 OPC_EmitInteger32, 30|128,60,
49119 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49120 MVT::i32, 1, 117,
49121 OPC_EmitInteger32, 30|128,60,
49122 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49123 MVT::i32, 2, 118, 119,
49124 OPC_EmitStringInteger32, PPC::sub_32,
49125 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49126 MVT::i64, 3, 116, 120, 121,
49127 OPC_EmitInteger32, 64,
49128 OPC_EmitInteger32, 62,
49129 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49130 MVT::i64, 3, 122, 123, 124,
49131 OPC_EmitInteger64, 30|128,60,
49132 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49133 MVT::i64, 2, 125, 126,
49134 OPC_EmitInteger64, 30|128,60,
49135 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49136 MVT::i64, 2, 127, 0|128,1,
49137 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49138 MVT::i64, 2, 115, 1|128,1,
49139 OPC_EmitInteger32, 126,
49140 OPC_EmitInteger32, 2,
49141 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49142 MVT::i64, 3, 0, 3|128,1, 4|128,1,
49143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49144 MVT::i64, 0,
49145 OPC_EmitInteger32, 42|128,85|128,2,
49146 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49147 MVT::i32, 1, 7|128,1,
49148 OPC_EmitInteger32, 42|128,85|128,2,
49149 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49150 MVT::i32, 2, 8|128,1, 9|128,1,
49151 OPC_EmitStringInteger32, PPC::sub_32,
49152 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49153 MVT::i64, 3, 6|128,1, 10|128,1, 11|128,1,
49154 OPC_EmitInteger32, 64,
49155 OPC_EmitInteger32, 62,
49156 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49157 MVT::i64, 3, 12|128,1, 13|128,1, 14|128,1,
49158 OPC_EmitInteger64, 42|128,85|128,2,
49159 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49160 MVT::i64, 2, 15|128,1, 16|128,1,
49161 OPC_EmitInteger64, 42|128,85|128,2,
49162 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49163 MVT::i64, 2, 17|128,1, 18|128,1,
49164 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49165 MVT::i64, 2, 5|128,1, 19|128,1,
49166 OPC_EmitInteger32, 2,
49167 OPC_EmitInteger32, 124,
49168 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49169 MVT::i64, 3, 0, 21|128,1, 22|128,1,
49170 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49171 MVT::i64, 0,
49172 OPC_EmitInteger32, 84|128,42|128,5,
49173 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49174 MVT::i32, 1, 25|128,1,
49175 OPC_EmitInteger32, 84|128,42|128,5,
49176 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49177 MVT::i32, 2, 26|128,1, 27|128,1,
49178 OPC_EmitStringInteger32, PPC::sub_32,
49179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49180 MVT::i64, 3, 24|128,1, 28|128,1, 29|128,1,
49181 OPC_EmitInteger32, 64,
49182 OPC_EmitInteger32, 62,
49183 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49184 MVT::i64, 3, 30|128,1, 31|128,1, 32|128,1,
49185 OPC_EmitInteger64, 84|128,42|128,5,
49186 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49187 MVT::i64, 2, 33|128,1, 34|128,1,
49188 OPC_EmitInteger64, 84|128,42|128,5,
49189 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49190 MVT::i64, 2, 35|128,1, 36|128,1,
49191 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49192 MVT::i64, 2, 23|128,1, 37|128,1,
49193 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49194 MVT::i64, 2, 20|128,1, 38|128,1,
49195 OPC_EmitInteger32, 124,
49196 OPC_EmitInteger32, 4,
49197 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49198 MVT::i64, 3, 39|128,1, 40|128,1, 41|128,1,
49199 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49200 MVT::i64, 0,
49201 OPC_EmitInteger32, 102|128,76|128,1,
49202 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49203 MVT::i32, 1, 44|128,1,
49204 OPC_EmitInteger32, 102|128,76|128,1,
49205 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49206 MVT::i32, 2, 45|128,1, 46|128,1,
49207 OPC_EmitStringInteger32, PPC::sub_32,
49208 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49209 MVT::i64, 3, 43|128,1, 47|128,1, 48|128,1,
49210 OPC_EmitInteger32, 64,
49211 OPC_EmitInteger32, 62,
49212 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49213 MVT::i64, 3, 49|128,1, 50|128,1, 51|128,1,
49214 OPC_EmitInteger64, 102|128,76|128,1,
49215 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49216 MVT::i64, 2, 52|128,1, 53|128,1,
49217 OPC_EmitInteger64, 102|128,76|128,1,
49218 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49219 MVT::i64, 2, 54|128,1, 55|128,1,
49220 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49221 MVT::i64, 2, 42|128,1, 56|128,1,
49222 OPC_EmitInteger32, 126,
49223 OPC_EmitInteger32, 2,
49224 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49225 MVT::i64, 3, 0, 58|128,1, 59|128,1,
49226 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49227 MVT::i64, 0,
49228 OPC_EmitInteger32, 42|128,85|128,2,
49229 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49230 MVT::i32, 1, 62|128,1,
49231 OPC_EmitInteger32, 42|128,85|128,2,
49232 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49233 MVT::i32, 2, 63|128,1, 64|128,1,
49234 OPC_EmitStringInteger32, PPC::sub_32,
49235 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49236 MVT::i64, 3, 61|128,1, 65|128,1, 66|128,1,
49237 OPC_EmitInteger32, 64,
49238 OPC_EmitInteger32, 62,
49239 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49240 MVT::i64, 3, 67|128,1, 68|128,1, 69|128,1,
49241 OPC_EmitInteger64, 42|128,85|128,2,
49242 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49243 MVT::i64, 2, 70|128,1, 71|128,1,
49244 OPC_EmitInteger64, 42|128,85|128,2,
49245 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49246 MVT::i64, 2, 72|128,1, 73|128,1,
49247 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49248 MVT::i64, 2, 60|128,1, 74|128,1,
49249 OPC_EmitInteger32, 2,
49250 OPC_EmitInteger32, 124,
49251 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49252 MVT::i64, 3, 0, 76|128,1, 77|128,1,
49253 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49254 MVT::i64, 0,
49255 OPC_EmitInteger32, 84|128,42|128,5,
49256 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49257 MVT::i32, 1, 80|128,1,
49258 OPC_EmitInteger32, 84|128,42|128,5,
49259 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49260 MVT::i32, 2, 81|128,1, 82|128,1,
49261 OPC_EmitStringInteger32, PPC::sub_32,
49262 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49263 MVT::i64, 3, 79|128,1, 83|128,1, 84|128,1,
49264 OPC_EmitInteger32, 64,
49265 OPC_EmitInteger32, 62,
49266 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49267 MVT::i64, 3, 85|128,1, 86|128,1, 87|128,1,
49268 OPC_EmitInteger64, 84|128,42|128,5,
49269 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49270 MVT::i64, 2, 88|128,1, 89|128,1,
49271 OPC_EmitInteger64, 84|128,42|128,5,
49272 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49273 MVT::i64, 2, 90|128,1, 91|128,1,
49274 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49275 MVT::i64, 2, 78|128,1, 92|128,1,
49276 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49277 MVT::i64, 2, 75|128,1, 93|128,1,
49278 OPC_EmitInteger32, 4,
49279 OPC_EmitInteger32, 122,
49280 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49281 MVT::i64, 3, 94|128,1, 95|128,1, 96|128,1,
49282 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49283 MVT::i64, 0,
49284 OPC_EmitInteger32, 24|128,51|128,6,
49285 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49286 MVT::i32, 1, 99|128,1,
49287 OPC_EmitInteger32, 24|128,51|128,6,
49288 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49289 MVT::i32, 2, 100|128,1, 101|128,1,
49290 OPC_EmitStringInteger32, PPC::sub_32,
49291 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49292 MVT::i64, 3, 98|128,1, 102|128,1, 103|128,1,
49293 OPC_EmitInteger32, 64,
49294 OPC_EmitInteger32, 62,
49295 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49296 MVT::i64, 3, 104|128,1, 105|128,1, 106|128,1,
49297 OPC_EmitInteger64, 24|128,51|128,6,
49298 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49299 MVT::i64, 2, 107|128,1, 108|128,1,
49300 OPC_EmitInteger64, 24|128,51|128,6,
49301 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49302 MVT::i64, 2, 109|128,1, 110|128,1,
49303 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49304 MVT::i64, 2, 97|128,1, 111|128,1,
49305 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49306 MVT::i64, 2, 57|128,1, 112|128,1,
49307 OPC_EmitInteger32, 8,
49308 OPC_EmitInteger32, 118,
49309 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49310 MVT::i64, 3, 113|128,1, 114|128,1, 115|128,1,
49311 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49312 MVT::i64, 0,
49313 OPC_EmitInteger32, 96|128,67|128,7,
49314 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49315 MVT::i32, 1, 118|128,1,
49316 OPC_EmitInteger32, 96|128,67|128,7,
49317 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49318 MVT::i32, 2, 119|128,1, 120|128,1,
49319 OPC_EmitStringInteger32, PPC::sub_32,
49320 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49321 MVT::i64, 3, 117|128,1, 121|128,1, 122|128,1,
49322 OPC_EmitInteger32, 64,
49323 OPC_EmitInteger32, 62,
49324 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49325 MVT::i64, 3, 123|128,1, 124|128,1, 125|128,1,
49326 OPC_EmitInteger64, 96|128,67|128,7,
49327 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49328 MVT::i64, 2, 126|128,1, 127|128,1,
49329 OPC_EmitInteger64, 96|128,67|128,7,
49330 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49331 MVT::i64, 2, 0|128,2, 1|128,2,
49332 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49333 MVT::i64, 2, 116|128,1, 2|128,2,
49334 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49335 MVT::i64, 2, 2|128,1, 3|128,2,
49336 OPC_EmitStringInteger32, PPC::sub_32,
49337 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
49338 MVT::i32, 2, 4|128,2, 5|128,2,
49339 OPC_EmitInteger32, 48,
49340 OPC_EmitInteger32, 0,
49341 OPC_EmitInteger32, 62,
49342 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
49343 MVT::i32, 4, 6|128,2, 7|128,2, 8|128,2, 9|128,2,
49344 OPC_EmitInteger32, 126,
49345 OPC_EmitInteger32, 2,
49346 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49347 MVT::i64, 3, 0, 11|128,2, 12|128,2,
49348 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49349 MVT::i64, 0,
49350 OPC_EmitInteger32, 42|128,85|128,2,
49351 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49352 MVT::i32, 1, 15|128,2,
49353 OPC_EmitInteger32, 42|128,85|128,2,
49354 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49355 MVT::i32, 2, 16|128,2, 17|128,2,
49356 OPC_EmitStringInteger32, PPC::sub_32,
49357 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49358 MVT::i64, 3, 14|128,2, 18|128,2, 19|128,2,
49359 OPC_EmitInteger32, 64,
49360 OPC_EmitInteger32, 62,
49361 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49362 MVT::i64, 3, 20|128,2, 21|128,2, 22|128,2,
49363 OPC_EmitInteger64, 42|128,85|128,2,
49364 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49365 MVT::i64, 2, 23|128,2, 24|128,2,
49366 OPC_EmitInteger64, 42|128,85|128,2,
49367 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49368 MVT::i64, 2, 25|128,2, 26|128,2,
49369 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49370 MVT::i64, 2, 13|128,2, 27|128,2,
49371 OPC_EmitInteger32, 2,
49372 OPC_EmitInteger32, 124,
49373 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49374 MVT::i64, 3, 0, 29|128,2, 30|128,2,
49375 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49376 MVT::i64, 0,
49377 OPC_EmitInteger32, 84|128,42|128,5,
49378 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49379 MVT::i32, 1, 33|128,2,
49380 OPC_EmitInteger32, 84|128,42|128,5,
49381 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49382 MVT::i32, 2, 34|128,2, 35|128,2,
49383 OPC_EmitStringInteger32, PPC::sub_32,
49384 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49385 MVT::i64, 3, 32|128,2, 36|128,2, 37|128,2,
49386 OPC_EmitInteger32, 64,
49387 OPC_EmitInteger32, 62,
49388 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49389 MVT::i64, 3, 38|128,2, 39|128,2, 40|128,2,
49390 OPC_EmitInteger64, 84|128,42|128,5,
49391 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49392 MVT::i64, 2, 41|128,2, 42|128,2,
49393 OPC_EmitInteger64, 84|128,42|128,5,
49394 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49395 MVT::i64, 2, 43|128,2, 44|128,2,
49396 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49397 MVT::i64, 2, 31|128,2, 45|128,2,
49398 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49399 MVT::i64, 2, 28|128,2, 46|128,2,
49400 OPC_EmitInteger32, 124,
49401 OPC_EmitInteger32, 4,
49402 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49403 MVT::i64, 3, 47|128,2, 48|128,2, 49|128,2,
49404 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49405 MVT::i64, 0,
49406 OPC_EmitInteger32, 102|128,76|128,1,
49407 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49408 MVT::i32, 1, 52|128,2,
49409 OPC_EmitInteger32, 102|128,76|128,1,
49410 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49411 MVT::i32, 2, 53|128,2, 54|128,2,
49412 OPC_EmitStringInteger32, PPC::sub_32,
49413 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49414 MVT::i64, 3, 51|128,2, 55|128,2, 56|128,2,
49415 OPC_EmitInteger32, 64,
49416 OPC_EmitInteger32, 62,
49417 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49418 MVT::i64, 3, 57|128,2, 58|128,2, 59|128,2,
49419 OPC_EmitInteger64, 102|128,76|128,1,
49420 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49421 MVT::i64, 2, 60|128,2, 61|128,2,
49422 OPC_EmitInteger64, 102|128,76|128,1,
49423 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49424 MVT::i64, 2, 62|128,2, 63|128,2,
49425 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49426 MVT::i64, 2, 50|128,2, 64|128,2,
49427 OPC_EmitInteger32, 126,
49428 OPC_EmitInteger32, 2,
49429 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49430 MVT::i64, 3, 0, 66|128,2, 67|128,2,
49431 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49432 MVT::i64, 0,
49433 OPC_EmitInteger32, 42|128,85|128,2,
49434 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49435 MVT::i32, 1, 70|128,2,
49436 OPC_EmitInteger32, 42|128,85|128,2,
49437 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49438 MVT::i32, 2, 71|128,2, 72|128,2,
49439 OPC_EmitStringInteger32, PPC::sub_32,
49440 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49441 MVT::i64, 3, 69|128,2, 73|128,2, 74|128,2,
49442 OPC_EmitInteger32, 64,
49443 OPC_EmitInteger32, 62,
49444 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49445 MVT::i64, 3, 75|128,2, 76|128,2, 77|128,2,
49446 OPC_EmitInteger64, 42|128,85|128,2,
49447 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49448 MVT::i64, 2, 78|128,2, 79|128,2,
49449 OPC_EmitInteger64, 42|128,85|128,2,
49450 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49451 MVT::i64, 2, 80|128,2, 81|128,2,
49452 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49453 MVT::i64, 2, 68|128,2, 82|128,2,
49454 OPC_EmitInteger32, 2,
49455 OPC_EmitInteger32, 124,
49456 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49457 MVT::i64, 3, 0, 84|128,2, 85|128,2,
49458 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49459 MVT::i64, 0,
49460 OPC_EmitInteger32, 84|128,42|128,5,
49461 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49462 MVT::i32, 1, 88|128,2,
49463 OPC_EmitInteger32, 84|128,42|128,5,
49464 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49465 MVT::i32, 2, 89|128,2, 90|128,2,
49466 OPC_EmitStringInteger32, PPC::sub_32,
49467 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49468 MVT::i64, 3, 87|128,2, 91|128,2, 92|128,2,
49469 OPC_EmitInteger32, 64,
49470 OPC_EmitInteger32, 62,
49471 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49472 MVT::i64, 3, 93|128,2, 94|128,2, 95|128,2,
49473 OPC_EmitInteger64, 84|128,42|128,5,
49474 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49475 MVT::i64, 2, 96|128,2, 97|128,2,
49476 OPC_EmitInteger64, 84|128,42|128,5,
49477 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49478 MVT::i64, 2, 98|128,2, 99|128,2,
49479 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49480 MVT::i64, 2, 86|128,2, 100|128,2,
49481 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49482 MVT::i64, 2, 83|128,2, 101|128,2,
49483 OPC_EmitInteger32, 4,
49484 OPC_EmitInteger32, 122,
49485 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49486 MVT::i64, 3, 102|128,2, 103|128,2, 104|128,2,
49487 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49488 MVT::i64, 0,
49489 OPC_EmitInteger32, 24|128,51|128,6,
49490 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49491 MVT::i32, 1, 107|128,2,
49492 OPC_EmitInteger32, 24|128,51|128,6,
49493 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49494 MVT::i32, 2, 108|128,2, 109|128,2,
49495 OPC_EmitStringInteger32, PPC::sub_32,
49496 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49497 MVT::i64, 3, 106|128,2, 110|128,2, 111|128,2,
49498 OPC_EmitInteger32, 64,
49499 OPC_EmitInteger32, 62,
49500 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49501 MVT::i64, 3, 112|128,2, 113|128,2, 114|128,2,
49502 OPC_EmitInteger64, 24|128,51|128,6,
49503 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49504 MVT::i64, 2, 115|128,2, 116|128,2,
49505 OPC_EmitInteger64, 24|128,51|128,6,
49506 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49507 MVT::i64, 2, 117|128,2, 118|128,2,
49508 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49509 MVT::i64, 2, 105|128,2, 119|128,2,
49510 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49511 MVT::i64, 2, 65|128,2, 120|128,2,
49512 OPC_EmitInteger32, 120,
49513 OPC_EmitInteger32, 8,
49514 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49515 MVT::i64, 3, 121|128,2, 122|128,2, 123|128,2,
49516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49517 MVT::i64, 0,
49518 OPC_EmitInteger32, 30|128,60,
49519 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49520 MVT::i32, 1, 126|128,2,
49521 OPC_EmitInteger32, 30|128,60,
49522 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49523 MVT::i32, 2, 127|128,2, 0|128,3,
49524 OPC_EmitStringInteger32, PPC::sub_32,
49525 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49526 MVT::i64, 3, 125|128,2, 1|128,3, 2|128,3,
49527 OPC_EmitInteger32, 64,
49528 OPC_EmitInteger32, 62,
49529 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49530 MVT::i64, 3, 3|128,3, 4|128,3, 5|128,3,
49531 OPC_EmitInteger64, 30|128,60,
49532 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49533 MVT::i64, 2, 6|128,3, 7|128,3,
49534 OPC_EmitInteger64, 30|128,60,
49535 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49536 MVT::i64, 2, 8|128,3, 9|128,3,
49537 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49538 MVT::i64, 2, 124|128,2, 10|128,3,
49539 OPC_EmitInteger32, 126,
49540 OPC_EmitInteger32, 2,
49541 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49542 MVT::i64, 3, 0, 12|128,3, 13|128,3,
49543 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49544 MVT::i64, 0,
49545 OPC_EmitInteger32, 42|128,85|128,2,
49546 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49547 MVT::i32, 1, 16|128,3,
49548 OPC_EmitInteger32, 42|128,85|128,2,
49549 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49550 MVT::i32, 2, 17|128,3, 18|128,3,
49551 OPC_EmitStringInteger32, PPC::sub_32,
49552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49553 MVT::i64, 3, 15|128,3, 19|128,3, 20|128,3,
49554 OPC_EmitInteger32, 64,
49555 OPC_EmitInteger32, 62,
49556 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49557 MVT::i64, 3, 21|128,3, 22|128,3, 23|128,3,
49558 OPC_EmitInteger64, 42|128,85|128,2,
49559 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49560 MVT::i64, 2, 24|128,3, 25|128,3,
49561 OPC_EmitInteger64, 42|128,85|128,2,
49562 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49563 MVT::i64, 2, 26|128,3, 27|128,3,
49564 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49565 MVT::i64, 2, 14|128,3, 28|128,3,
49566 OPC_EmitInteger32, 2,
49567 OPC_EmitInteger32, 124,
49568 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49569 MVT::i64, 3, 0, 30|128,3, 31|128,3,
49570 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49571 MVT::i64, 0,
49572 OPC_EmitInteger32, 84|128,42|128,5,
49573 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49574 MVT::i32, 1, 34|128,3,
49575 OPC_EmitInteger32, 84|128,42|128,5,
49576 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49577 MVT::i32, 2, 35|128,3, 36|128,3,
49578 OPC_EmitStringInteger32, PPC::sub_32,
49579 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49580 MVT::i64, 3, 33|128,3, 37|128,3, 38|128,3,
49581 OPC_EmitInteger32, 64,
49582 OPC_EmitInteger32, 62,
49583 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49584 MVT::i64, 3, 39|128,3, 40|128,3, 41|128,3,
49585 OPC_EmitInteger64, 84|128,42|128,5,
49586 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49587 MVT::i64, 2, 42|128,3, 43|128,3,
49588 OPC_EmitInteger64, 84|128,42|128,5,
49589 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49590 MVT::i64, 2, 44|128,3, 45|128,3,
49591 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49592 MVT::i64, 2, 32|128,3, 46|128,3,
49593 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49594 MVT::i64, 2, 29|128,3, 47|128,3,
49595 OPC_EmitInteger32, 124,
49596 OPC_EmitInteger32, 4,
49597 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49598 MVT::i64, 3, 48|128,3, 49|128,3, 50|128,3,
49599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49600 MVT::i64, 0,
49601 OPC_EmitInteger32, 102|128,76|128,1,
49602 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49603 MVT::i32, 1, 53|128,3,
49604 OPC_EmitInteger32, 102|128,76|128,1,
49605 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49606 MVT::i32, 2, 54|128,3, 55|128,3,
49607 OPC_EmitStringInteger32, PPC::sub_32,
49608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49609 MVT::i64, 3, 52|128,3, 56|128,3, 57|128,3,
49610 OPC_EmitInteger32, 64,
49611 OPC_EmitInteger32, 62,
49612 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49613 MVT::i64, 3, 58|128,3, 59|128,3, 60|128,3,
49614 OPC_EmitInteger64, 102|128,76|128,1,
49615 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49616 MVT::i64, 2, 61|128,3, 62|128,3,
49617 OPC_EmitInteger64, 102|128,76|128,1,
49618 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49619 MVT::i64, 2, 63|128,3, 64|128,3,
49620 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49621 MVT::i64, 2, 51|128,3, 65|128,3,
49622 OPC_EmitInteger32, 126,
49623 OPC_EmitInteger32, 2,
49624 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49625 MVT::i64, 3, 0, 67|128,3, 68|128,3,
49626 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49627 MVT::i64, 0,
49628 OPC_EmitInteger32, 42|128,85|128,2,
49629 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49630 MVT::i32, 1, 71|128,3,
49631 OPC_EmitInteger32, 42|128,85|128,2,
49632 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49633 MVT::i32, 2, 72|128,3, 73|128,3,
49634 OPC_EmitStringInteger32, PPC::sub_32,
49635 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49636 MVT::i64, 3, 70|128,3, 74|128,3, 75|128,3,
49637 OPC_EmitInteger32, 64,
49638 OPC_EmitInteger32, 62,
49639 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49640 MVT::i64, 3, 76|128,3, 77|128,3, 78|128,3,
49641 OPC_EmitInteger64, 42|128,85|128,2,
49642 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49643 MVT::i64, 2, 79|128,3, 80|128,3,
49644 OPC_EmitInteger64, 42|128,85|128,2,
49645 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49646 MVT::i64, 2, 81|128,3, 82|128,3,
49647 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49648 MVT::i64, 2, 69|128,3, 83|128,3,
49649 OPC_EmitInteger32, 2,
49650 OPC_EmitInteger32, 124,
49651 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49652 MVT::i64, 3, 0, 85|128,3, 86|128,3,
49653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49654 MVT::i64, 0,
49655 OPC_EmitInteger32, 84|128,42|128,5,
49656 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49657 MVT::i32, 1, 89|128,3,
49658 OPC_EmitInteger32, 84|128,42|128,5,
49659 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49660 MVT::i32, 2, 90|128,3, 91|128,3,
49661 OPC_EmitStringInteger32, PPC::sub_32,
49662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49663 MVT::i64, 3, 88|128,3, 92|128,3, 93|128,3,
49664 OPC_EmitInteger32, 64,
49665 OPC_EmitInteger32, 62,
49666 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49667 MVT::i64, 3, 94|128,3, 95|128,3, 96|128,3,
49668 OPC_EmitInteger64, 84|128,42|128,5,
49669 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49670 MVT::i64, 2, 97|128,3, 98|128,3,
49671 OPC_EmitInteger64, 84|128,42|128,5,
49672 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49673 MVT::i64, 2, 99|128,3, 100|128,3,
49674 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49675 MVT::i64, 2, 87|128,3, 101|128,3,
49676 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49677 MVT::i64, 2, 84|128,3, 102|128,3,
49678 OPC_EmitInteger32, 4,
49679 OPC_EmitInteger32, 122,
49680 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49681 MVT::i64, 3, 103|128,3, 104|128,3, 105|128,3,
49682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49683 MVT::i64, 0,
49684 OPC_EmitInteger32, 24|128,51|128,6,
49685 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49686 MVT::i32, 1, 108|128,3,
49687 OPC_EmitInteger32, 24|128,51|128,6,
49688 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49689 MVT::i32, 2, 109|128,3, 110|128,3,
49690 OPC_EmitStringInteger32, PPC::sub_32,
49691 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49692 MVT::i64, 3, 107|128,3, 111|128,3, 112|128,3,
49693 OPC_EmitInteger32, 64,
49694 OPC_EmitInteger32, 62,
49695 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49696 MVT::i64, 3, 113|128,3, 114|128,3, 115|128,3,
49697 OPC_EmitInteger64, 24|128,51|128,6,
49698 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49699 MVT::i64, 2, 116|128,3, 117|128,3,
49700 OPC_EmitInteger64, 24|128,51|128,6,
49701 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49702 MVT::i64, 2, 118|128,3, 119|128,3,
49703 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49704 MVT::i64, 2, 106|128,3, 120|128,3,
49705 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49706 MVT::i64, 2, 66|128,3, 121|128,3,
49707 OPC_EmitInteger32, 8,
49708 OPC_EmitInteger32, 118,
49709 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49710 MVT::i64, 3, 122|128,3, 123|128,3, 124|128,3,
49711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49712 MVT::i64, 0,
49713 OPC_EmitInteger32, 96|128,67|128,7,
49714 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49715 MVT::i32, 1, 127|128,3,
49716 OPC_EmitInteger32, 96|128,67|128,7,
49717 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49718 MVT::i32, 2, 0|128,4, 1|128,4,
49719 OPC_EmitStringInteger32, PPC::sub_32,
49720 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49721 MVT::i64, 3, 126|128,3, 2|128,4, 3|128,4,
49722 OPC_EmitInteger32, 64,
49723 OPC_EmitInteger32, 62,
49724 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49725 MVT::i64, 3, 4|128,4, 5|128,4, 6|128,4,
49726 OPC_EmitInteger64, 96|128,67|128,7,
49727 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49728 MVT::i64, 2, 7|128,4, 8|128,4,
49729 OPC_EmitInteger64, 96|128,67|128,7,
49730 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49731 MVT::i64, 2, 9|128,4, 10|128,4,
49732 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49733 MVT::i64, 2, 125|128,3, 11|128,4,
49734 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49735 MVT::i64, 2, 11|128,3, 12|128,4,
49736 OPC_EmitStringInteger32, PPC::sub_32,
49737 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
49738 MVT::i32, 2, 13|128,4, 14|128,4,
49739 OPC_EmitInteger32, 16,
49740 OPC_EmitInteger32, 16,
49741 OPC_EmitInteger32, 30,
49742 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
49743 MVT::i32, 5, 10|128,2, 15|128,4, 16|128,4, 17|128,4, 18|128,4,
49744 OPC_EmitInteger32, 126,
49745 OPC_EmitInteger32, 2,
49746 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49747 MVT::i64, 3, 0, 20|128,4, 21|128,4,
49748 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49749 MVT::i64, 0,
49750 OPC_EmitInteger32, 42|128,85|128,2,
49751 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49752 MVT::i32, 1, 24|128,4,
49753 OPC_EmitInteger32, 42|128,85|128,2,
49754 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49755 MVT::i32, 2, 25|128,4, 26|128,4,
49756 OPC_EmitStringInteger32, PPC::sub_32,
49757 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49758 MVT::i64, 3, 23|128,4, 27|128,4, 28|128,4,
49759 OPC_EmitInteger32, 64,
49760 OPC_EmitInteger32, 62,
49761 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49762 MVT::i64, 3, 29|128,4, 30|128,4, 31|128,4,
49763 OPC_EmitInteger64, 42|128,85|128,2,
49764 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49765 MVT::i64, 2, 32|128,4, 33|128,4,
49766 OPC_EmitInteger64, 42|128,85|128,2,
49767 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49768 MVT::i64, 2, 34|128,4, 35|128,4,
49769 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49770 MVT::i64, 2, 22|128,4, 36|128,4,
49771 OPC_EmitInteger32, 2,
49772 OPC_EmitInteger32, 124,
49773 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49774 MVT::i64, 3, 0, 38|128,4, 39|128,4,
49775 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49776 MVT::i64, 0,
49777 OPC_EmitInteger32, 84|128,42|128,5,
49778 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49779 MVT::i32, 1, 42|128,4,
49780 OPC_EmitInteger32, 84|128,42|128,5,
49781 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49782 MVT::i32, 2, 43|128,4, 44|128,4,
49783 OPC_EmitStringInteger32, PPC::sub_32,
49784 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49785 MVT::i64, 3, 41|128,4, 45|128,4, 46|128,4,
49786 OPC_EmitInteger32, 64,
49787 OPC_EmitInteger32, 62,
49788 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49789 MVT::i64, 3, 47|128,4, 48|128,4, 49|128,4,
49790 OPC_EmitInteger64, 84|128,42|128,5,
49791 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49792 MVT::i64, 2, 50|128,4, 51|128,4,
49793 OPC_EmitInteger64, 84|128,42|128,5,
49794 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49795 MVT::i64, 2, 52|128,4, 53|128,4,
49796 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49797 MVT::i64, 2, 40|128,4, 54|128,4,
49798 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49799 MVT::i64, 2, 37|128,4, 55|128,4,
49800 OPC_EmitInteger32, 124,
49801 OPC_EmitInteger32, 4,
49802 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49803 MVT::i64, 3, 56|128,4, 57|128,4, 58|128,4,
49804 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49805 MVT::i64, 0,
49806 OPC_EmitInteger32, 102|128,76|128,1,
49807 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49808 MVT::i32, 1, 61|128,4,
49809 OPC_EmitInteger32, 102|128,76|128,1,
49810 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49811 MVT::i32, 2, 62|128,4, 63|128,4,
49812 OPC_EmitStringInteger32, PPC::sub_32,
49813 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49814 MVT::i64, 3, 60|128,4, 64|128,4, 65|128,4,
49815 OPC_EmitInteger32, 64,
49816 OPC_EmitInteger32, 62,
49817 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49818 MVT::i64, 3, 66|128,4, 67|128,4, 68|128,4,
49819 OPC_EmitInteger64, 102|128,76|128,1,
49820 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49821 MVT::i64, 2, 69|128,4, 70|128,4,
49822 OPC_EmitInteger64, 102|128,76|128,1,
49823 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49824 MVT::i64, 2, 71|128,4, 72|128,4,
49825 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49826 MVT::i64, 2, 59|128,4, 73|128,4,
49827 OPC_EmitInteger32, 126,
49828 OPC_EmitInteger32, 2,
49829 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49830 MVT::i64, 3, 0, 75|128,4, 76|128,4,
49831 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49832 MVT::i64, 0,
49833 OPC_EmitInteger32, 42|128,85|128,2,
49834 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49835 MVT::i32, 1, 79|128,4,
49836 OPC_EmitInteger32, 42|128,85|128,2,
49837 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49838 MVT::i32, 2, 80|128,4, 81|128,4,
49839 OPC_EmitStringInteger32, PPC::sub_32,
49840 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49841 MVT::i64, 3, 78|128,4, 82|128,4, 83|128,4,
49842 OPC_EmitInteger32, 64,
49843 OPC_EmitInteger32, 62,
49844 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49845 MVT::i64, 3, 84|128,4, 85|128,4, 86|128,4,
49846 OPC_EmitInteger64, 42|128,85|128,2,
49847 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49848 MVT::i64, 2, 87|128,4, 88|128,4,
49849 OPC_EmitInteger64, 42|128,85|128,2,
49850 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49851 MVT::i64, 2, 89|128,4, 90|128,4,
49852 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49853 MVT::i64, 2, 77|128,4, 91|128,4,
49854 OPC_EmitInteger32, 2,
49855 OPC_EmitInteger32, 124,
49856 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49857 MVT::i64, 3, 0, 93|128,4, 94|128,4,
49858 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49859 MVT::i64, 0,
49860 OPC_EmitInteger32, 84|128,42|128,5,
49861 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49862 MVT::i32, 1, 97|128,4,
49863 OPC_EmitInteger32, 84|128,42|128,5,
49864 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49865 MVT::i32, 2, 98|128,4, 99|128,4,
49866 OPC_EmitStringInteger32, PPC::sub_32,
49867 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49868 MVT::i64, 3, 96|128,4, 100|128,4, 101|128,4,
49869 OPC_EmitInteger32, 64,
49870 OPC_EmitInteger32, 62,
49871 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49872 MVT::i64, 3, 102|128,4, 103|128,4, 104|128,4,
49873 OPC_EmitInteger64, 84|128,42|128,5,
49874 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49875 MVT::i64, 2, 105|128,4, 106|128,4,
49876 OPC_EmitInteger64, 84|128,42|128,5,
49877 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49878 MVT::i64, 2, 107|128,4, 108|128,4,
49879 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49880 MVT::i64, 2, 95|128,4, 109|128,4,
49881 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49882 MVT::i64, 2, 92|128,4, 110|128,4,
49883 OPC_EmitInteger32, 4,
49884 OPC_EmitInteger32, 122,
49885 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49886 MVT::i64, 3, 111|128,4, 112|128,4, 113|128,4,
49887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49888 MVT::i64, 0,
49889 OPC_EmitInteger32, 24|128,51|128,6,
49890 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49891 MVT::i32, 1, 116|128,4,
49892 OPC_EmitInteger32, 24|128,51|128,6,
49893 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49894 MVT::i32, 2, 117|128,4, 118|128,4,
49895 OPC_EmitStringInteger32, PPC::sub_32,
49896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49897 MVT::i64, 3, 115|128,4, 119|128,4, 120|128,4,
49898 OPC_EmitInteger32, 64,
49899 OPC_EmitInteger32, 62,
49900 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49901 MVT::i64, 3, 121|128,4, 122|128,4, 123|128,4,
49902 OPC_EmitInteger64, 24|128,51|128,6,
49903 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49904 MVT::i64, 2, 124|128,4, 125|128,4,
49905 OPC_EmitInteger64, 24|128,51|128,6,
49906 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49907 MVT::i64, 2, 126|128,4, 127|128,4,
49908 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49909 MVT::i64, 2, 114|128,4, 0|128,5,
49910 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49911 MVT::i64, 2, 74|128,4, 1|128,5,
49912 OPC_EmitInteger32, 120,
49913 OPC_EmitInteger32, 8,
49914 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49915 MVT::i64, 3, 2|128,5, 3|128,5, 4|128,5,
49916 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49917 MVT::i64, 0,
49918 OPC_EmitInteger32, 30|128,60,
49919 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49920 MVT::i32, 1, 7|128,5,
49921 OPC_EmitInteger32, 30|128,60,
49922 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49923 MVT::i32, 2, 8|128,5, 9|128,5,
49924 OPC_EmitStringInteger32, PPC::sub_32,
49925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49926 MVT::i64, 3, 6|128,5, 10|128,5, 11|128,5,
49927 OPC_EmitInteger32, 64,
49928 OPC_EmitInteger32, 62,
49929 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49930 MVT::i64, 3, 12|128,5, 13|128,5, 14|128,5,
49931 OPC_EmitInteger64, 30|128,60,
49932 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49933 MVT::i64, 2, 15|128,5, 16|128,5,
49934 OPC_EmitInteger64, 30|128,60,
49935 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49936 MVT::i64, 2, 17|128,5, 18|128,5,
49937 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49938 MVT::i64, 2, 5|128,5, 19|128,5,
49939 OPC_EmitInteger32, 126,
49940 OPC_EmitInteger32, 2,
49941 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49942 MVT::i64, 3, 0, 21|128,5, 22|128,5,
49943 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49944 MVT::i64, 0,
49945 OPC_EmitInteger32, 42|128,85|128,2,
49946 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49947 MVT::i32, 1, 25|128,5,
49948 OPC_EmitInteger32, 42|128,85|128,2,
49949 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49950 MVT::i32, 2, 26|128,5, 27|128,5,
49951 OPC_EmitStringInteger32, PPC::sub_32,
49952 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49953 MVT::i64, 3, 24|128,5, 28|128,5, 29|128,5,
49954 OPC_EmitInteger32, 64,
49955 OPC_EmitInteger32, 62,
49956 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49957 MVT::i64, 3, 30|128,5, 31|128,5, 32|128,5,
49958 OPC_EmitInteger64, 42|128,85|128,2,
49959 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49960 MVT::i64, 2, 33|128,5, 34|128,5,
49961 OPC_EmitInteger64, 42|128,85|128,2,
49962 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49963 MVT::i64, 2, 35|128,5, 36|128,5,
49964 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49965 MVT::i64, 2, 23|128,5, 37|128,5,
49966 OPC_EmitInteger32, 2,
49967 OPC_EmitInteger32, 124,
49968 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49969 MVT::i64, 3, 0, 39|128,5, 40|128,5,
49970 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
49971 MVT::i64, 0,
49972 OPC_EmitInteger32, 84|128,42|128,5,
49973 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
49974 MVT::i32, 1, 43|128,5,
49975 OPC_EmitInteger32, 84|128,42|128,5,
49976 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
49977 MVT::i32, 2, 44|128,5, 45|128,5,
49978 OPC_EmitStringInteger32, PPC::sub_32,
49979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
49980 MVT::i64, 3, 42|128,5, 46|128,5, 47|128,5,
49981 OPC_EmitInteger32, 64,
49982 OPC_EmitInteger32, 62,
49983 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
49984 MVT::i64, 3, 48|128,5, 49|128,5, 50|128,5,
49985 OPC_EmitInteger64, 84|128,42|128,5,
49986 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
49987 MVT::i64, 2, 51|128,5, 52|128,5,
49988 OPC_EmitInteger64, 84|128,42|128,5,
49989 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
49990 MVT::i64, 2, 53|128,5, 54|128,5,
49991 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
49992 MVT::i64, 2, 41|128,5, 55|128,5,
49993 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
49994 MVT::i64, 2, 38|128,5, 56|128,5,
49995 OPC_EmitInteger32, 124,
49996 OPC_EmitInteger32, 4,
49997 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
49998 MVT::i64, 3, 57|128,5, 58|128,5, 59|128,5,
49999 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50000 MVT::i64, 0,
50001 OPC_EmitInteger32, 102|128,76|128,1,
50002 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50003 MVT::i32, 1, 62|128,5,
50004 OPC_EmitInteger32, 102|128,76|128,1,
50005 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50006 MVT::i32, 2, 63|128,5, 64|128,5,
50007 OPC_EmitStringInteger32, PPC::sub_32,
50008 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50009 MVT::i64, 3, 61|128,5, 65|128,5, 66|128,5,
50010 OPC_EmitInteger32, 64,
50011 OPC_EmitInteger32, 62,
50012 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50013 MVT::i64, 3, 67|128,5, 68|128,5, 69|128,5,
50014 OPC_EmitInteger64, 102|128,76|128,1,
50015 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50016 MVT::i64, 2, 70|128,5, 71|128,5,
50017 OPC_EmitInteger64, 102|128,76|128,1,
50018 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50019 MVT::i64, 2, 72|128,5, 73|128,5,
50020 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50021 MVT::i64, 2, 60|128,5, 74|128,5,
50022 OPC_EmitInteger32, 126,
50023 OPC_EmitInteger32, 2,
50024 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50025 MVT::i64, 3, 0, 76|128,5, 77|128,5,
50026 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50027 MVT::i64, 0,
50028 OPC_EmitInteger32, 42|128,85|128,2,
50029 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50030 MVT::i32, 1, 80|128,5,
50031 OPC_EmitInteger32, 42|128,85|128,2,
50032 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50033 MVT::i32, 2, 81|128,5, 82|128,5,
50034 OPC_EmitStringInteger32, PPC::sub_32,
50035 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50036 MVT::i64, 3, 79|128,5, 83|128,5, 84|128,5,
50037 OPC_EmitInteger32, 64,
50038 OPC_EmitInteger32, 62,
50039 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50040 MVT::i64, 3, 85|128,5, 86|128,5, 87|128,5,
50041 OPC_EmitInteger64, 42|128,85|128,2,
50042 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50043 MVT::i64, 2, 88|128,5, 89|128,5,
50044 OPC_EmitInteger64, 42|128,85|128,2,
50045 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50046 MVT::i64, 2, 90|128,5, 91|128,5,
50047 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50048 MVT::i64, 2, 78|128,5, 92|128,5,
50049 OPC_EmitInteger32, 2,
50050 OPC_EmitInteger32, 124,
50051 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50052 MVT::i64, 3, 0, 94|128,5, 95|128,5,
50053 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50054 MVT::i64, 0,
50055 OPC_EmitInteger32, 84|128,42|128,5,
50056 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50057 MVT::i32, 1, 98|128,5,
50058 OPC_EmitInteger32, 84|128,42|128,5,
50059 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50060 MVT::i32, 2, 99|128,5, 100|128,5,
50061 OPC_EmitStringInteger32, PPC::sub_32,
50062 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50063 MVT::i64, 3, 97|128,5, 101|128,5, 102|128,5,
50064 OPC_EmitInteger32, 64,
50065 OPC_EmitInteger32, 62,
50066 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50067 MVT::i64, 3, 103|128,5, 104|128,5, 105|128,5,
50068 OPC_EmitInteger64, 84|128,42|128,5,
50069 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50070 MVT::i64, 2, 106|128,5, 107|128,5,
50071 OPC_EmitInteger64, 84|128,42|128,5,
50072 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50073 MVT::i64, 2, 108|128,5, 109|128,5,
50074 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50075 MVT::i64, 2, 96|128,5, 110|128,5,
50076 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50077 MVT::i64, 2, 93|128,5, 111|128,5,
50078 OPC_EmitInteger32, 4,
50079 OPC_EmitInteger32, 122,
50080 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50081 MVT::i64, 3, 112|128,5, 113|128,5, 114|128,5,
50082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50083 MVT::i64, 0,
50084 OPC_EmitInteger32, 24|128,51|128,6,
50085 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50086 MVT::i32, 1, 117|128,5,
50087 OPC_EmitInteger32, 24|128,51|128,6,
50088 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50089 MVT::i32, 2, 118|128,5, 119|128,5,
50090 OPC_EmitStringInteger32, PPC::sub_32,
50091 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50092 MVT::i64, 3, 116|128,5, 120|128,5, 121|128,5,
50093 OPC_EmitInteger32, 64,
50094 OPC_EmitInteger32, 62,
50095 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50096 MVT::i64, 3, 122|128,5, 123|128,5, 124|128,5,
50097 OPC_EmitInteger64, 24|128,51|128,6,
50098 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50099 MVT::i64, 2, 125|128,5, 126|128,5,
50100 OPC_EmitInteger64, 24|128,51|128,6,
50101 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50102 MVT::i64, 2, 127|128,5, 0|128,6,
50103 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50104 MVT::i64, 2, 115|128,5, 1|128,6,
50105 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50106 MVT::i64, 2, 75|128,5, 2|128,6,
50107 OPC_EmitInteger32, 8,
50108 OPC_EmitInteger32, 118,
50109 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50110 MVT::i64, 3, 3|128,6, 4|128,6, 5|128,6,
50111 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50112 MVT::i64, 0,
50113 OPC_EmitInteger32, 96|128,67|128,7,
50114 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50115 MVT::i32, 1, 8|128,6,
50116 OPC_EmitInteger32, 96|128,67|128,7,
50117 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50118 MVT::i32, 2, 9|128,6, 10|128,6,
50119 OPC_EmitStringInteger32, PPC::sub_32,
50120 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50121 MVT::i64, 3, 7|128,6, 11|128,6, 12|128,6,
50122 OPC_EmitInteger32, 64,
50123 OPC_EmitInteger32, 62,
50124 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50125 MVT::i64, 3, 13|128,6, 14|128,6, 15|128,6,
50126 OPC_EmitInteger64, 96|128,67|128,7,
50127 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50128 MVT::i64, 2, 16|128,6, 17|128,6,
50129 OPC_EmitInteger64, 96|128,67|128,7,
50130 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50131 MVT::i64, 2, 18|128,6, 19|128,6,
50132 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50133 MVT::i64, 2, 6|128,6, 20|128,6,
50134 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50135 MVT::i64, 2, 20|128,5, 21|128,6,
50136 OPC_EmitStringInteger32, PPC::sub_32,
50137 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
50138 MVT::i32, 2, 22|128,6, 23|128,6,
50139 OPC_EmitInteger32, 16,
50140 OPC_EmitInteger32, 48,
50141 OPC_EmitInteger32, 62,
50142 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
50143 MVT::i32, 5, 19|128,4, 24|128,6, 25|128,6, 26|128,6, 27|128,6,
50144 OPC_EmitStringInteger32, PPC::sub_32,
50145 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50146 MVT::i64, 3, 1, 28|128,6, 29|128,6,
50147 OPC_EmitInteger32, 64,
50148 OPC_EmitInteger32, 62,
50149 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50150 MVT::i64, 3, 30|128,6, 31|128,6, 32|128,6,
50151 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50152 MVT::i64, 0,
50153 OPC_EmitInteger32, 126,
50154 OPC_EmitInteger32, 2,
50155 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50156 MVT::i64, 3, 0, 35|128,6, 36|128,6,
50157 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50158 MVT::i64, 0,
50159 OPC_EmitInteger32, 42|128,85|128,2,
50160 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50161 MVT::i32, 1, 39|128,6,
50162 OPC_EmitInteger32, 42|128,85|128,2,
50163 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50164 MVT::i32, 2, 40|128,6, 41|128,6,
50165 OPC_EmitStringInteger32, PPC::sub_32,
50166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50167 MVT::i64, 3, 38|128,6, 42|128,6, 43|128,6,
50168 OPC_EmitInteger32, 64,
50169 OPC_EmitInteger32, 62,
50170 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50171 MVT::i64, 3, 44|128,6, 45|128,6, 46|128,6,
50172 OPC_EmitInteger64, 42|128,85|128,2,
50173 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50174 MVT::i64, 2, 47|128,6, 48|128,6,
50175 OPC_EmitInteger64, 42|128,85|128,2,
50176 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50177 MVT::i64, 2, 49|128,6, 50|128,6,
50178 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50179 MVT::i64, 2, 37|128,6, 51|128,6,
50180 OPC_EmitInteger32, 2,
50181 OPC_EmitInteger32, 124,
50182 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50183 MVT::i64, 3, 0, 53|128,6, 54|128,6,
50184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50185 MVT::i64, 0,
50186 OPC_EmitInteger32, 84|128,42|128,5,
50187 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50188 MVT::i32, 1, 57|128,6,
50189 OPC_EmitInteger32, 84|128,42|128,5,
50190 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50191 MVT::i32, 2, 58|128,6, 59|128,6,
50192 OPC_EmitStringInteger32, PPC::sub_32,
50193 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50194 MVT::i64, 3, 56|128,6, 60|128,6, 61|128,6,
50195 OPC_EmitInteger32, 64,
50196 OPC_EmitInteger32, 62,
50197 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50198 MVT::i64, 3, 62|128,6, 63|128,6, 64|128,6,
50199 OPC_EmitInteger64, 84|128,42|128,5,
50200 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50201 MVT::i64, 2, 65|128,6, 66|128,6,
50202 OPC_EmitInteger64, 84|128,42|128,5,
50203 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50204 MVT::i64, 2, 67|128,6, 68|128,6,
50205 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50206 MVT::i64, 2, 55|128,6, 69|128,6,
50207 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50208 MVT::i64, 2, 52|128,6, 70|128,6,
50209 OPC_EmitInteger32, 124,
50210 OPC_EmitInteger32, 4,
50211 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50212 MVT::i64, 3, 71|128,6, 72|128,6, 73|128,6,
50213 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50214 MVT::i64, 0,
50215 OPC_EmitInteger32, 102|128,76|128,1,
50216 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50217 MVT::i32, 1, 76|128,6,
50218 OPC_EmitInteger32, 102|128,76|128,1,
50219 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50220 MVT::i32, 2, 77|128,6, 78|128,6,
50221 OPC_EmitStringInteger32, PPC::sub_32,
50222 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50223 MVT::i64, 3, 75|128,6, 79|128,6, 80|128,6,
50224 OPC_EmitInteger32, 64,
50225 OPC_EmitInteger32, 62,
50226 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50227 MVT::i64, 3, 81|128,6, 82|128,6, 83|128,6,
50228 OPC_EmitInteger64, 102|128,76|128,1,
50229 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50230 MVT::i64, 2, 84|128,6, 85|128,6,
50231 OPC_EmitInteger64, 102|128,76|128,1,
50232 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50233 MVT::i64, 2, 86|128,6, 87|128,6,
50234 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50235 MVT::i64, 2, 74|128,6, 88|128,6,
50236 OPC_EmitInteger32, 126,
50237 OPC_EmitInteger32, 2,
50238 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50239 MVT::i64, 3, 0, 90|128,6, 91|128,6,
50240 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50241 MVT::i64, 0,
50242 OPC_EmitInteger32, 42|128,85|128,2,
50243 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50244 MVT::i32, 1, 94|128,6,
50245 OPC_EmitInteger32, 42|128,85|128,2,
50246 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50247 MVT::i32, 2, 95|128,6, 96|128,6,
50248 OPC_EmitStringInteger32, PPC::sub_32,
50249 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50250 MVT::i64, 3, 93|128,6, 97|128,6, 98|128,6,
50251 OPC_EmitInteger32, 64,
50252 OPC_EmitInteger32, 62,
50253 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50254 MVT::i64, 3, 99|128,6, 100|128,6, 101|128,6,
50255 OPC_EmitInteger64, 42|128,85|128,2,
50256 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50257 MVT::i64, 2, 102|128,6, 103|128,6,
50258 OPC_EmitInteger64, 42|128,85|128,2,
50259 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50260 MVT::i64, 2, 104|128,6, 105|128,6,
50261 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50262 MVT::i64, 2, 92|128,6, 106|128,6,
50263 OPC_EmitInteger32, 2,
50264 OPC_EmitInteger32, 124,
50265 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50266 MVT::i64, 3, 0, 108|128,6, 109|128,6,
50267 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50268 MVT::i64, 0,
50269 OPC_EmitInteger32, 84|128,42|128,5,
50270 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50271 MVT::i32, 1, 112|128,6,
50272 OPC_EmitInteger32, 84|128,42|128,5,
50273 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50274 MVT::i32, 2, 113|128,6, 114|128,6,
50275 OPC_EmitStringInteger32, PPC::sub_32,
50276 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50277 MVT::i64, 3, 111|128,6, 115|128,6, 116|128,6,
50278 OPC_EmitInteger32, 64,
50279 OPC_EmitInteger32, 62,
50280 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50281 MVT::i64, 3, 117|128,6, 118|128,6, 119|128,6,
50282 OPC_EmitInteger64, 84|128,42|128,5,
50283 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50284 MVT::i64, 2, 120|128,6, 121|128,6,
50285 OPC_EmitInteger64, 84|128,42|128,5,
50286 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50287 MVT::i64, 2, 122|128,6, 123|128,6,
50288 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50289 MVT::i64, 2, 110|128,6, 124|128,6,
50290 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50291 MVT::i64, 2, 107|128,6, 125|128,6,
50292 OPC_EmitInteger32, 4,
50293 OPC_EmitInteger32, 122,
50294 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50295 MVT::i64, 3, 126|128,6, 127|128,6, 0|128,7,
50296 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50297 MVT::i64, 0,
50298 OPC_EmitInteger32, 24|128,51|128,6,
50299 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50300 MVT::i32, 1, 3|128,7,
50301 OPC_EmitInteger32, 24|128,51|128,6,
50302 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50303 MVT::i32, 2, 4|128,7, 5|128,7,
50304 OPC_EmitStringInteger32, PPC::sub_32,
50305 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50306 MVT::i64, 3, 2|128,7, 6|128,7, 7|128,7,
50307 OPC_EmitInteger32, 64,
50308 OPC_EmitInteger32, 62,
50309 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50310 MVT::i64, 3, 8|128,7, 9|128,7, 10|128,7,
50311 OPC_EmitInteger64, 24|128,51|128,6,
50312 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50313 MVT::i64, 2, 11|128,7, 12|128,7,
50314 OPC_EmitInteger64, 24|128,51|128,6,
50315 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50316 MVT::i64, 2, 13|128,7, 14|128,7,
50317 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50318 MVT::i64, 2, 1|128,7, 15|128,7,
50319 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50320 MVT::i64, 2, 89|128,6, 16|128,7,
50321 OPC_EmitInteger32, 120,
50322 OPC_EmitInteger32, 8,
50323 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50324 MVT::i64, 3, 17|128,7, 18|128,7, 19|128,7,
50325 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50326 MVT::i64, 0,
50327 OPC_EmitInteger32, 30|128,60,
50328 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50329 MVT::i32, 1, 22|128,7,
50330 OPC_EmitInteger32, 30|128,60,
50331 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50332 MVT::i32, 2, 23|128,7, 24|128,7,
50333 OPC_EmitStringInteger32, PPC::sub_32,
50334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50335 MVT::i64, 3, 21|128,7, 25|128,7, 26|128,7,
50336 OPC_EmitInteger32, 64,
50337 OPC_EmitInteger32, 62,
50338 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50339 MVT::i64, 3, 27|128,7, 28|128,7, 29|128,7,
50340 OPC_EmitInteger64, 30|128,60,
50341 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50342 MVT::i64, 2, 30|128,7, 31|128,7,
50343 OPC_EmitInteger64, 30|128,60,
50344 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50345 MVT::i64, 2, 32|128,7, 33|128,7,
50346 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50347 MVT::i64, 2, 20|128,7, 34|128,7,
50348 OPC_EmitInteger32, 126,
50349 OPC_EmitInteger32, 2,
50350 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50351 MVT::i64, 3, 0, 36|128,7, 37|128,7,
50352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50353 MVT::i64, 0,
50354 OPC_EmitInteger32, 42|128,85|128,2,
50355 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50356 MVT::i32, 1, 40|128,7,
50357 OPC_EmitInteger32, 42|128,85|128,2,
50358 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50359 MVT::i32, 2, 41|128,7, 42|128,7,
50360 OPC_EmitStringInteger32, PPC::sub_32,
50361 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50362 MVT::i64, 3, 39|128,7, 43|128,7, 44|128,7,
50363 OPC_EmitInteger32, 64,
50364 OPC_EmitInteger32, 62,
50365 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50366 MVT::i64, 3, 45|128,7, 46|128,7, 47|128,7,
50367 OPC_EmitInteger64, 42|128,85|128,2,
50368 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50369 MVT::i64, 2, 48|128,7, 49|128,7,
50370 OPC_EmitInteger64, 42|128,85|128,2,
50371 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50372 MVT::i64, 2, 50|128,7, 51|128,7,
50373 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50374 MVT::i64, 2, 38|128,7, 52|128,7,
50375 OPC_EmitInteger32, 2,
50376 OPC_EmitInteger32, 124,
50377 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50378 MVT::i64, 3, 0, 54|128,7, 55|128,7,
50379 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50380 MVT::i64, 0,
50381 OPC_EmitInteger32, 84|128,42|128,5,
50382 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50383 MVT::i32, 1, 58|128,7,
50384 OPC_EmitInteger32, 84|128,42|128,5,
50385 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50386 MVT::i32, 2, 59|128,7, 60|128,7,
50387 OPC_EmitStringInteger32, PPC::sub_32,
50388 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50389 MVT::i64, 3, 57|128,7, 61|128,7, 62|128,7,
50390 OPC_EmitInteger32, 64,
50391 OPC_EmitInteger32, 62,
50392 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50393 MVT::i64, 3, 63|128,7, 64|128,7, 65|128,7,
50394 OPC_EmitInteger64, 84|128,42|128,5,
50395 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50396 MVT::i64, 2, 66|128,7, 67|128,7,
50397 OPC_EmitInteger64, 84|128,42|128,5,
50398 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50399 MVT::i64, 2, 68|128,7, 69|128,7,
50400 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50401 MVT::i64, 2, 56|128,7, 70|128,7,
50402 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50403 MVT::i64, 2, 53|128,7, 71|128,7,
50404 OPC_EmitInteger32, 124,
50405 OPC_EmitInteger32, 4,
50406 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50407 MVT::i64, 3, 72|128,7, 73|128,7, 74|128,7,
50408 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50409 MVT::i64, 0,
50410 OPC_EmitInteger32, 102|128,76|128,1,
50411 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50412 MVT::i32, 1, 77|128,7,
50413 OPC_EmitInteger32, 102|128,76|128,1,
50414 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50415 MVT::i32, 2, 78|128,7, 79|128,7,
50416 OPC_EmitStringInteger32, PPC::sub_32,
50417 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50418 MVT::i64, 3, 76|128,7, 80|128,7, 81|128,7,
50419 OPC_EmitInteger32, 64,
50420 OPC_EmitInteger32, 62,
50421 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50422 MVT::i64, 3, 82|128,7, 83|128,7, 84|128,7,
50423 OPC_EmitInteger64, 102|128,76|128,1,
50424 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50425 MVT::i64, 2, 85|128,7, 86|128,7,
50426 OPC_EmitInteger64, 102|128,76|128,1,
50427 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50428 MVT::i64, 2, 87|128,7, 88|128,7,
50429 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50430 MVT::i64, 2, 75|128,7, 89|128,7,
50431 OPC_EmitInteger32, 126,
50432 OPC_EmitInteger32, 2,
50433 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50434 MVT::i64, 3, 0, 91|128,7, 92|128,7,
50435 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50436 MVT::i64, 0,
50437 OPC_EmitInteger32, 42|128,85|128,2,
50438 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50439 MVT::i32, 1, 95|128,7,
50440 OPC_EmitInteger32, 42|128,85|128,2,
50441 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50442 MVT::i32, 2, 96|128,7, 97|128,7,
50443 OPC_EmitStringInteger32, PPC::sub_32,
50444 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50445 MVT::i64, 3, 94|128,7, 98|128,7, 99|128,7,
50446 OPC_EmitInteger32, 64,
50447 OPC_EmitInteger32, 62,
50448 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50449 MVT::i64, 3, 100|128,7, 101|128,7, 102|128,7,
50450 OPC_EmitInteger64, 42|128,85|128,2,
50451 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50452 MVT::i64, 2, 103|128,7, 104|128,7,
50453 OPC_EmitInteger64, 42|128,85|128,2,
50454 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50455 MVT::i64, 2, 105|128,7, 106|128,7,
50456 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50457 MVT::i64, 2, 93|128,7, 107|128,7,
50458 OPC_EmitInteger32, 2,
50459 OPC_EmitInteger32, 124,
50460 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50461 MVT::i64, 3, 0, 109|128,7, 110|128,7,
50462 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50463 MVT::i64, 0,
50464 OPC_EmitInteger32, 84|128,42|128,5,
50465 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50466 MVT::i32, 1, 113|128,7,
50467 OPC_EmitInteger32, 84|128,42|128,5,
50468 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50469 MVT::i32, 2, 114|128,7, 115|128,7,
50470 OPC_EmitStringInteger32, PPC::sub_32,
50471 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50472 MVT::i64, 3, 112|128,7, 116|128,7, 117|128,7,
50473 OPC_EmitInteger32, 64,
50474 OPC_EmitInteger32, 62,
50475 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50476 MVT::i64, 3, 118|128,7, 119|128,7, 120|128,7,
50477 OPC_EmitInteger64, 84|128,42|128,5,
50478 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50479 MVT::i64, 2, 121|128,7, 122|128,7,
50480 OPC_EmitInteger64, 84|128,42|128,5,
50481 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50482 MVT::i64, 2, 123|128,7, 124|128,7,
50483 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50484 MVT::i64, 2, 111|128,7, 125|128,7,
50485 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50486 MVT::i64, 2, 108|128,7, 126|128,7,
50487 OPC_EmitInteger32, 4,
50488 OPC_EmitInteger32, 122,
50489 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50490 MVT::i64, 3, 127|128,7, 0|128,8, 1|128,8,
50491 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50492 MVT::i64, 0,
50493 OPC_EmitInteger32, 24|128,51|128,6,
50494 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50495 MVT::i32, 1, 4|128,8,
50496 OPC_EmitInteger32, 24|128,51|128,6,
50497 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50498 MVT::i32, 2, 5|128,8, 6|128,8,
50499 OPC_EmitStringInteger32, PPC::sub_32,
50500 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50501 MVT::i64, 3, 3|128,8, 7|128,8, 8|128,8,
50502 OPC_EmitInteger32, 64,
50503 OPC_EmitInteger32, 62,
50504 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50505 MVT::i64, 3, 9|128,8, 10|128,8, 11|128,8,
50506 OPC_EmitInteger64, 24|128,51|128,6,
50507 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50508 MVT::i64, 2, 12|128,8, 13|128,8,
50509 OPC_EmitInteger64, 24|128,51|128,6,
50510 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50511 MVT::i64, 2, 14|128,8, 15|128,8,
50512 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50513 MVT::i64, 2, 2|128,8, 16|128,8,
50514 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50515 MVT::i64, 2, 90|128,7, 17|128,8,
50516 OPC_EmitInteger32, 8,
50517 OPC_EmitInteger32, 118,
50518 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50519 MVT::i64, 3, 18|128,8, 19|128,8, 20|128,8,
50520 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50521 MVT::i64, 0,
50522 OPC_EmitInteger32, 96|128,67|128,7,
50523 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50524 MVT::i32, 1, 23|128,8,
50525 OPC_EmitInteger32, 96|128,67|128,7,
50526 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50527 MVT::i32, 2, 24|128,8, 25|128,8,
50528 OPC_EmitStringInteger32, PPC::sub_32,
50529 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50530 MVT::i64, 3, 22|128,8, 26|128,8, 27|128,8,
50531 OPC_EmitInteger32, 64,
50532 OPC_EmitInteger32, 62,
50533 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50534 MVT::i64, 3, 28|128,8, 29|128,8, 30|128,8,
50535 OPC_EmitInteger64, 96|128,67|128,7,
50536 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50537 MVT::i64, 2, 31|128,8, 32|128,8,
50538 OPC_EmitInteger64, 96|128,67|128,7,
50539 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50540 MVT::i64, 2, 33|128,8, 34|128,8,
50541 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50542 MVT::i64, 2, 21|128,8, 35|128,8,
50543 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50544 MVT::i64, 2, 35|128,7, 36|128,8,
50545 OPC_EmitInteger32, 64,
50546 OPC_EmitInteger32, 64,
50547 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50548 MVT::i64, 3, 37|128,8, 38|128,8, 39|128,8,
50549 OPC_EmitStringInteger32, PPC::sub_32,
50550 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
50551 MVT::i32, 2, 40|128,8, 41|128,8,
50552 OPC_EmitInteger32, 48,
50553 OPC_EmitInteger32, 0,
50554 OPC_EmitInteger32, 62,
50555 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
50556 MVT::i32, 4, 42|128,8, 43|128,8, 44|128,8, 45|128,8,
50557 OPC_EmitInteger32, 126,
50558 OPC_EmitInteger32, 2,
50559 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50560 MVT::i64, 3, 0, 47|128,8, 48|128,8,
50561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50562 MVT::i64, 0,
50563 OPC_EmitInteger32, 42|128,85|128,2,
50564 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50565 MVT::i32, 1, 51|128,8,
50566 OPC_EmitInteger32, 42|128,85|128,2,
50567 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50568 MVT::i32, 2, 52|128,8, 53|128,8,
50569 OPC_EmitStringInteger32, PPC::sub_32,
50570 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50571 MVT::i64, 3, 50|128,8, 54|128,8, 55|128,8,
50572 OPC_EmitInteger32, 64,
50573 OPC_EmitInteger32, 62,
50574 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50575 MVT::i64, 3, 56|128,8, 57|128,8, 58|128,8,
50576 OPC_EmitInteger64, 42|128,85|128,2,
50577 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50578 MVT::i64, 2, 59|128,8, 60|128,8,
50579 OPC_EmitInteger64, 42|128,85|128,2,
50580 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50581 MVT::i64, 2, 61|128,8, 62|128,8,
50582 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50583 MVT::i64, 2, 49|128,8, 63|128,8,
50584 OPC_EmitInteger32, 2,
50585 OPC_EmitInteger32, 124,
50586 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50587 MVT::i64, 3, 0, 65|128,8, 66|128,8,
50588 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50589 MVT::i64, 0,
50590 OPC_EmitInteger32, 84|128,42|128,5,
50591 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50592 MVT::i32, 1, 69|128,8,
50593 OPC_EmitInteger32, 84|128,42|128,5,
50594 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50595 MVT::i32, 2, 70|128,8, 71|128,8,
50596 OPC_EmitStringInteger32, PPC::sub_32,
50597 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50598 MVT::i64, 3, 68|128,8, 72|128,8, 73|128,8,
50599 OPC_EmitInteger32, 64,
50600 OPC_EmitInteger32, 62,
50601 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50602 MVT::i64, 3, 74|128,8, 75|128,8, 76|128,8,
50603 OPC_EmitInteger64, 84|128,42|128,5,
50604 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50605 MVT::i64, 2, 77|128,8, 78|128,8,
50606 OPC_EmitInteger64, 84|128,42|128,5,
50607 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50608 MVT::i64, 2, 79|128,8, 80|128,8,
50609 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50610 MVT::i64, 2, 67|128,8, 81|128,8,
50611 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50612 MVT::i64, 2, 64|128,8, 82|128,8,
50613 OPC_EmitInteger32, 124,
50614 OPC_EmitInteger32, 4,
50615 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50616 MVT::i64, 3, 83|128,8, 84|128,8, 85|128,8,
50617 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50618 MVT::i64, 0,
50619 OPC_EmitInteger32, 102|128,76|128,1,
50620 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50621 MVT::i32, 1, 88|128,8,
50622 OPC_EmitInteger32, 102|128,76|128,1,
50623 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50624 MVT::i32, 2, 89|128,8, 90|128,8,
50625 OPC_EmitStringInteger32, PPC::sub_32,
50626 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50627 MVT::i64, 3, 87|128,8, 91|128,8, 92|128,8,
50628 OPC_EmitInteger32, 64,
50629 OPC_EmitInteger32, 62,
50630 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50631 MVT::i64, 3, 93|128,8, 94|128,8, 95|128,8,
50632 OPC_EmitInteger64, 102|128,76|128,1,
50633 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50634 MVT::i64, 2, 96|128,8, 97|128,8,
50635 OPC_EmitInteger64, 102|128,76|128,1,
50636 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50637 MVT::i64, 2, 98|128,8, 99|128,8,
50638 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50639 MVT::i64, 2, 86|128,8, 100|128,8,
50640 OPC_EmitInteger32, 126,
50641 OPC_EmitInteger32, 2,
50642 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50643 MVT::i64, 3, 0, 102|128,8, 103|128,8,
50644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50645 MVT::i64, 0,
50646 OPC_EmitInteger32, 42|128,85|128,2,
50647 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50648 MVT::i32, 1, 106|128,8,
50649 OPC_EmitInteger32, 42|128,85|128,2,
50650 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50651 MVT::i32, 2, 107|128,8, 108|128,8,
50652 OPC_EmitStringInteger32, PPC::sub_32,
50653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50654 MVT::i64, 3, 105|128,8, 109|128,8, 110|128,8,
50655 OPC_EmitInteger32, 64,
50656 OPC_EmitInteger32, 62,
50657 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50658 MVT::i64, 3, 111|128,8, 112|128,8, 113|128,8,
50659 OPC_EmitInteger64, 42|128,85|128,2,
50660 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50661 MVT::i64, 2, 114|128,8, 115|128,8,
50662 OPC_EmitInteger64, 42|128,85|128,2,
50663 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50664 MVT::i64, 2, 116|128,8, 117|128,8,
50665 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50666 MVT::i64, 2, 104|128,8, 118|128,8,
50667 OPC_EmitInteger32, 2,
50668 OPC_EmitInteger32, 124,
50669 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50670 MVT::i64, 3, 0, 120|128,8, 121|128,8,
50671 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50672 MVT::i64, 0,
50673 OPC_EmitInteger32, 84|128,42|128,5,
50674 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50675 MVT::i32, 1, 124|128,8,
50676 OPC_EmitInteger32, 84|128,42|128,5,
50677 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50678 MVT::i32, 2, 125|128,8, 126|128,8,
50679 OPC_EmitStringInteger32, PPC::sub_32,
50680 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50681 MVT::i64, 3, 123|128,8, 127|128,8, 0|128,9,
50682 OPC_EmitInteger32, 64,
50683 OPC_EmitInteger32, 62,
50684 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50685 MVT::i64, 3, 1|128,9, 2|128,9, 3|128,9,
50686 OPC_EmitInteger64, 84|128,42|128,5,
50687 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50688 MVT::i64, 2, 4|128,9, 5|128,9,
50689 OPC_EmitInteger64, 84|128,42|128,5,
50690 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50691 MVT::i64, 2, 6|128,9, 7|128,9,
50692 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50693 MVT::i64, 2, 122|128,8, 8|128,9,
50694 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50695 MVT::i64, 2, 119|128,8, 9|128,9,
50696 OPC_EmitInteger32, 4,
50697 OPC_EmitInteger32, 122,
50698 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50699 MVT::i64, 3, 10|128,9, 11|128,9, 12|128,9,
50700 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50701 MVT::i64, 0,
50702 OPC_EmitInteger32, 24|128,51|128,6,
50703 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50704 MVT::i32, 1, 15|128,9,
50705 OPC_EmitInteger32, 24|128,51|128,6,
50706 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50707 MVT::i32, 2, 16|128,9, 17|128,9,
50708 OPC_EmitStringInteger32, PPC::sub_32,
50709 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50710 MVT::i64, 3, 14|128,9, 18|128,9, 19|128,9,
50711 OPC_EmitInteger32, 64,
50712 OPC_EmitInteger32, 62,
50713 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50714 MVT::i64, 3, 20|128,9, 21|128,9, 22|128,9,
50715 OPC_EmitInteger64, 24|128,51|128,6,
50716 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50717 MVT::i64, 2, 23|128,9, 24|128,9,
50718 OPC_EmitInteger64, 24|128,51|128,6,
50719 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50720 MVT::i64, 2, 25|128,9, 26|128,9,
50721 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50722 MVT::i64, 2, 13|128,9, 27|128,9,
50723 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50724 MVT::i64, 2, 101|128,8, 28|128,9,
50725 OPC_EmitInteger32, 120,
50726 OPC_EmitInteger32, 8,
50727 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50728 MVT::i64, 3, 29|128,9, 30|128,9, 31|128,9,
50729 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50730 MVT::i64, 0,
50731 OPC_EmitInteger32, 30|128,60,
50732 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50733 MVT::i32, 1, 34|128,9,
50734 OPC_EmitInteger32, 30|128,60,
50735 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50736 MVT::i32, 2, 35|128,9, 36|128,9,
50737 OPC_EmitStringInteger32, PPC::sub_32,
50738 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50739 MVT::i64, 3, 33|128,9, 37|128,9, 38|128,9,
50740 OPC_EmitInteger32, 64,
50741 OPC_EmitInteger32, 62,
50742 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50743 MVT::i64, 3, 39|128,9, 40|128,9, 41|128,9,
50744 OPC_EmitInteger64, 30|128,60,
50745 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50746 MVT::i64, 2, 42|128,9, 43|128,9,
50747 OPC_EmitInteger64, 30|128,60,
50748 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50749 MVT::i64, 2, 44|128,9, 45|128,9,
50750 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50751 MVT::i64, 2, 32|128,9, 46|128,9,
50752 OPC_EmitInteger32, 126,
50753 OPC_EmitInteger32, 2,
50754 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50755 MVT::i64, 3, 0, 48|128,9, 49|128,9,
50756 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50757 MVT::i64, 0,
50758 OPC_EmitInteger32, 42|128,85|128,2,
50759 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50760 MVT::i32, 1, 52|128,9,
50761 OPC_EmitInteger32, 42|128,85|128,2,
50762 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50763 MVT::i32, 2, 53|128,9, 54|128,9,
50764 OPC_EmitStringInteger32, PPC::sub_32,
50765 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50766 MVT::i64, 3, 51|128,9, 55|128,9, 56|128,9,
50767 OPC_EmitInteger32, 64,
50768 OPC_EmitInteger32, 62,
50769 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50770 MVT::i64, 3, 57|128,9, 58|128,9, 59|128,9,
50771 OPC_EmitInteger64, 42|128,85|128,2,
50772 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50773 MVT::i64, 2, 60|128,9, 61|128,9,
50774 OPC_EmitInteger64, 42|128,85|128,2,
50775 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50776 MVT::i64, 2, 62|128,9, 63|128,9,
50777 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50778 MVT::i64, 2, 50|128,9, 64|128,9,
50779 OPC_EmitInteger32, 2,
50780 OPC_EmitInteger32, 124,
50781 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50782 MVT::i64, 3, 0, 66|128,9, 67|128,9,
50783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50784 MVT::i64, 0,
50785 OPC_EmitInteger32, 84|128,42|128,5,
50786 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50787 MVT::i32, 1, 70|128,9,
50788 OPC_EmitInteger32, 84|128,42|128,5,
50789 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50790 MVT::i32, 2, 71|128,9, 72|128,9,
50791 OPC_EmitStringInteger32, PPC::sub_32,
50792 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50793 MVT::i64, 3, 69|128,9, 73|128,9, 74|128,9,
50794 OPC_EmitInteger32, 64,
50795 OPC_EmitInteger32, 62,
50796 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50797 MVT::i64, 3, 75|128,9, 76|128,9, 77|128,9,
50798 OPC_EmitInteger64, 84|128,42|128,5,
50799 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50800 MVT::i64, 2, 78|128,9, 79|128,9,
50801 OPC_EmitInteger64, 84|128,42|128,5,
50802 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50803 MVT::i64, 2, 80|128,9, 81|128,9,
50804 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50805 MVT::i64, 2, 68|128,9, 82|128,9,
50806 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50807 MVT::i64, 2, 65|128,9, 83|128,9,
50808 OPC_EmitInteger32, 124,
50809 OPC_EmitInteger32, 4,
50810 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50811 MVT::i64, 3, 84|128,9, 85|128,9, 86|128,9,
50812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50813 MVT::i64, 0,
50814 OPC_EmitInteger32, 102|128,76|128,1,
50815 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50816 MVT::i32, 1, 89|128,9,
50817 OPC_EmitInteger32, 102|128,76|128,1,
50818 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50819 MVT::i32, 2, 90|128,9, 91|128,9,
50820 OPC_EmitStringInteger32, PPC::sub_32,
50821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50822 MVT::i64, 3, 88|128,9, 92|128,9, 93|128,9,
50823 OPC_EmitInteger32, 64,
50824 OPC_EmitInteger32, 62,
50825 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50826 MVT::i64, 3, 94|128,9, 95|128,9, 96|128,9,
50827 OPC_EmitInteger64, 102|128,76|128,1,
50828 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50829 MVT::i64, 2, 97|128,9, 98|128,9,
50830 OPC_EmitInteger64, 102|128,76|128,1,
50831 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50832 MVT::i64, 2, 99|128,9, 100|128,9,
50833 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50834 MVT::i64, 2, 87|128,9, 101|128,9,
50835 OPC_EmitInteger32, 126,
50836 OPC_EmitInteger32, 2,
50837 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50838 MVT::i64, 3, 0, 103|128,9, 104|128,9,
50839 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50840 MVT::i64, 0,
50841 OPC_EmitInteger32, 42|128,85|128,2,
50842 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50843 MVT::i32, 1, 107|128,9,
50844 OPC_EmitInteger32, 42|128,85|128,2,
50845 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50846 MVT::i32, 2, 108|128,9, 109|128,9,
50847 OPC_EmitStringInteger32, PPC::sub_32,
50848 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50849 MVT::i64, 3, 106|128,9, 110|128,9, 111|128,9,
50850 OPC_EmitInteger32, 64,
50851 OPC_EmitInteger32, 62,
50852 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50853 MVT::i64, 3, 112|128,9, 113|128,9, 114|128,9,
50854 OPC_EmitInteger64, 42|128,85|128,2,
50855 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50856 MVT::i64, 2, 115|128,9, 116|128,9,
50857 OPC_EmitInteger64, 42|128,85|128,2,
50858 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50859 MVT::i64, 2, 117|128,9, 118|128,9,
50860 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50861 MVT::i64, 2, 105|128,9, 119|128,9,
50862 OPC_EmitInteger32, 2,
50863 OPC_EmitInteger32, 124,
50864 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50865 MVT::i64, 3, 0, 121|128,9, 122|128,9,
50866 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50867 MVT::i64, 0,
50868 OPC_EmitInteger32, 84|128,42|128,5,
50869 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50870 MVT::i32, 1, 125|128,9,
50871 OPC_EmitInteger32, 84|128,42|128,5,
50872 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50873 MVT::i32, 2, 126|128,9, 127|128,9,
50874 OPC_EmitStringInteger32, PPC::sub_32,
50875 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50876 MVT::i64, 3, 124|128,9, 0|128,10, 1|128,10,
50877 OPC_EmitInteger32, 64,
50878 OPC_EmitInteger32, 62,
50879 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50880 MVT::i64, 3, 2|128,10, 3|128,10, 4|128,10,
50881 OPC_EmitInteger64, 84|128,42|128,5,
50882 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50883 MVT::i64, 2, 5|128,10, 6|128,10,
50884 OPC_EmitInteger64, 84|128,42|128,5,
50885 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50886 MVT::i64, 2, 7|128,10, 8|128,10,
50887 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50888 MVT::i64, 2, 123|128,9, 9|128,10,
50889 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50890 MVT::i64, 2, 120|128,9, 10|128,10,
50891 OPC_EmitInteger32, 4,
50892 OPC_EmitInteger32, 122,
50893 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50894 MVT::i64, 3, 11|128,10, 12|128,10, 13|128,10,
50895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50896 MVT::i64, 0,
50897 OPC_EmitInteger32, 24|128,51|128,6,
50898 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50899 MVT::i32, 1, 16|128,10,
50900 OPC_EmitInteger32, 24|128,51|128,6,
50901 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50902 MVT::i32, 2, 17|128,10, 18|128,10,
50903 OPC_EmitStringInteger32, PPC::sub_32,
50904 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50905 MVT::i64, 3, 15|128,10, 19|128,10, 20|128,10,
50906 OPC_EmitInteger32, 64,
50907 OPC_EmitInteger32, 62,
50908 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50909 MVT::i64, 3, 21|128,10, 22|128,10, 23|128,10,
50910 OPC_EmitInteger64, 24|128,51|128,6,
50911 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50912 MVT::i64, 2, 24|128,10, 25|128,10,
50913 OPC_EmitInteger64, 24|128,51|128,6,
50914 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50915 MVT::i64, 2, 26|128,10, 27|128,10,
50916 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50917 MVT::i64, 2, 14|128,10, 28|128,10,
50918 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50919 MVT::i64, 2, 102|128,9, 29|128,10,
50920 OPC_EmitInteger32, 8,
50921 OPC_EmitInteger32, 118,
50922 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50923 MVT::i64, 3, 30|128,10, 31|128,10, 32|128,10,
50924 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50925 MVT::i64, 0,
50926 OPC_EmitInteger32, 96|128,67|128,7,
50927 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50928 MVT::i32, 1, 35|128,10,
50929 OPC_EmitInteger32, 96|128,67|128,7,
50930 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50931 MVT::i32, 2, 36|128,10, 37|128,10,
50932 OPC_EmitStringInteger32, PPC::sub_32,
50933 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50934 MVT::i64, 3, 34|128,10, 38|128,10, 39|128,10,
50935 OPC_EmitInteger32, 64,
50936 OPC_EmitInteger32, 62,
50937 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50938 MVT::i64, 3, 40|128,10, 41|128,10, 42|128,10,
50939 OPC_EmitInteger64, 96|128,67|128,7,
50940 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50941 MVT::i64, 2, 43|128,10, 44|128,10,
50942 OPC_EmitInteger64, 96|128,67|128,7,
50943 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50944 MVT::i64, 2, 45|128,10, 46|128,10,
50945 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50946 MVT::i64, 2, 33|128,10, 47|128,10,
50947 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
50948 MVT::i64, 2, 47|128,9, 48|128,10,
50949 OPC_EmitInteger32, 64,
50950 OPC_EmitInteger32, 64,
50951 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50952 MVT::i64, 3, 49|128,10, 50|128,10, 51|128,10,
50953 OPC_EmitStringInteger32, PPC::sub_32,
50954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
50955 MVT::i32, 2, 52|128,10, 53|128,10,
50956 OPC_EmitInteger32, 16,
50957 OPC_EmitInteger32, 16,
50958 OPC_EmitInteger32, 30,
50959 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
50960 MVT::i32, 5, 46|128,8, 54|128,10, 55|128,10, 56|128,10, 57|128,10,
50961 OPC_EmitInteger32, 126,
50962 OPC_EmitInteger32, 2,
50963 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
50964 MVT::i64, 3, 0, 59|128,10, 60|128,10,
50965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50966 MVT::i64, 0,
50967 OPC_EmitInteger32, 42|128,85|128,2,
50968 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50969 MVT::i32, 1, 63|128,10,
50970 OPC_EmitInteger32, 42|128,85|128,2,
50971 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50972 MVT::i32, 2, 64|128,10, 65|128,10,
50973 OPC_EmitStringInteger32, PPC::sub_32,
50974 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
50975 MVT::i64, 3, 62|128,10, 66|128,10, 67|128,10,
50976 OPC_EmitInteger32, 64,
50977 OPC_EmitInteger32, 62,
50978 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50979 MVT::i64, 3, 68|128,10, 69|128,10, 70|128,10,
50980 OPC_EmitInteger64, 42|128,85|128,2,
50981 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
50982 MVT::i64, 2, 71|128,10, 72|128,10,
50983 OPC_EmitInteger64, 42|128,85|128,2,
50984 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
50985 MVT::i64, 2, 73|128,10, 74|128,10,
50986 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
50987 MVT::i64, 2, 61|128,10, 75|128,10,
50988 OPC_EmitInteger32, 2,
50989 OPC_EmitInteger32, 124,
50990 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
50991 MVT::i64, 3, 0, 77|128,10, 78|128,10,
50992 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
50993 MVT::i64, 0,
50994 OPC_EmitInteger32, 84|128,42|128,5,
50995 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
50996 MVT::i32, 1, 81|128,10,
50997 OPC_EmitInteger32, 84|128,42|128,5,
50998 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
50999 MVT::i32, 2, 82|128,10, 83|128,10,
51000 OPC_EmitStringInteger32, PPC::sub_32,
51001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51002 MVT::i64, 3, 80|128,10, 84|128,10, 85|128,10,
51003 OPC_EmitInteger32, 64,
51004 OPC_EmitInteger32, 62,
51005 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51006 MVT::i64, 3, 86|128,10, 87|128,10, 88|128,10,
51007 OPC_EmitInteger64, 84|128,42|128,5,
51008 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51009 MVT::i64, 2, 89|128,10, 90|128,10,
51010 OPC_EmitInteger64, 84|128,42|128,5,
51011 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51012 MVT::i64, 2, 91|128,10, 92|128,10,
51013 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51014 MVT::i64, 2, 79|128,10, 93|128,10,
51015 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51016 MVT::i64, 2, 76|128,10, 94|128,10,
51017 OPC_EmitInteger32, 124,
51018 OPC_EmitInteger32, 4,
51019 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51020 MVT::i64, 3, 95|128,10, 96|128,10, 97|128,10,
51021 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51022 MVT::i64, 0,
51023 OPC_EmitInteger32, 102|128,76|128,1,
51024 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51025 MVT::i32, 1, 100|128,10,
51026 OPC_EmitInteger32, 102|128,76|128,1,
51027 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51028 MVT::i32, 2, 101|128,10, 102|128,10,
51029 OPC_EmitStringInteger32, PPC::sub_32,
51030 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51031 MVT::i64, 3, 99|128,10, 103|128,10, 104|128,10,
51032 OPC_EmitInteger32, 64,
51033 OPC_EmitInteger32, 62,
51034 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51035 MVT::i64, 3, 105|128,10, 106|128,10, 107|128,10,
51036 OPC_EmitInteger64, 102|128,76|128,1,
51037 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51038 MVT::i64, 2, 108|128,10, 109|128,10,
51039 OPC_EmitInteger64, 102|128,76|128,1,
51040 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51041 MVT::i64, 2, 110|128,10, 111|128,10,
51042 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51043 MVT::i64, 2, 98|128,10, 112|128,10,
51044 OPC_EmitInteger32, 126,
51045 OPC_EmitInteger32, 2,
51046 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51047 MVT::i64, 3, 0, 114|128,10, 115|128,10,
51048 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51049 MVT::i64, 0,
51050 OPC_EmitInteger32, 42|128,85|128,2,
51051 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51052 MVT::i32, 1, 118|128,10,
51053 OPC_EmitInteger32, 42|128,85|128,2,
51054 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51055 MVT::i32, 2, 119|128,10, 120|128,10,
51056 OPC_EmitStringInteger32, PPC::sub_32,
51057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51058 MVT::i64, 3, 117|128,10, 121|128,10, 122|128,10,
51059 OPC_EmitInteger32, 64,
51060 OPC_EmitInteger32, 62,
51061 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51062 MVT::i64, 3, 123|128,10, 124|128,10, 125|128,10,
51063 OPC_EmitInteger64, 42|128,85|128,2,
51064 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51065 MVT::i64, 2, 126|128,10, 127|128,10,
51066 OPC_EmitInteger64, 42|128,85|128,2,
51067 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51068 MVT::i64, 2, 0|128,11, 1|128,11,
51069 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51070 MVT::i64, 2, 116|128,10, 2|128,11,
51071 OPC_EmitInteger32, 2,
51072 OPC_EmitInteger32, 124,
51073 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51074 MVT::i64, 3, 0, 4|128,11, 5|128,11,
51075 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51076 MVT::i64, 0,
51077 OPC_EmitInteger32, 84|128,42|128,5,
51078 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51079 MVT::i32, 1, 8|128,11,
51080 OPC_EmitInteger32, 84|128,42|128,5,
51081 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51082 MVT::i32, 2, 9|128,11, 10|128,11,
51083 OPC_EmitStringInteger32, PPC::sub_32,
51084 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51085 MVT::i64, 3, 7|128,11, 11|128,11, 12|128,11,
51086 OPC_EmitInteger32, 64,
51087 OPC_EmitInteger32, 62,
51088 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51089 MVT::i64, 3, 13|128,11, 14|128,11, 15|128,11,
51090 OPC_EmitInteger64, 84|128,42|128,5,
51091 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51092 MVT::i64, 2, 16|128,11, 17|128,11,
51093 OPC_EmitInteger64, 84|128,42|128,5,
51094 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51095 MVT::i64, 2, 18|128,11, 19|128,11,
51096 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51097 MVT::i64, 2, 6|128,11, 20|128,11,
51098 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51099 MVT::i64, 2, 3|128,11, 21|128,11,
51100 OPC_EmitInteger32, 4,
51101 OPC_EmitInteger32, 122,
51102 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51103 MVT::i64, 3, 22|128,11, 23|128,11, 24|128,11,
51104 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51105 MVT::i64, 0,
51106 OPC_EmitInteger32, 24|128,51|128,6,
51107 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51108 MVT::i32, 1, 27|128,11,
51109 OPC_EmitInteger32, 24|128,51|128,6,
51110 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51111 MVT::i32, 2, 28|128,11, 29|128,11,
51112 OPC_EmitStringInteger32, PPC::sub_32,
51113 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51114 MVT::i64, 3, 26|128,11, 30|128,11, 31|128,11,
51115 OPC_EmitInteger32, 64,
51116 OPC_EmitInteger32, 62,
51117 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51118 MVT::i64, 3, 32|128,11, 33|128,11, 34|128,11,
51119 OPC_EmitInteger64, 24|128,51|128,6,
51120 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51121 MVT::i64, 2, 35|128,11, 36|128,11,
51122 OPC_EmitInteger64, 24|128,51|128,6,
51123 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51124 MVT::i64, 2, 37|128,11, 38|128,11,
51125 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51126 MVT::i64, 2, 25|128,11, 39|128,11,
51127 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51128 MVT::i64, 2, 113|128,10, 40|128,11,
51129 OPC_EmitInteger32, 120,
51130 OPC_EmitInteger32, 8,
51131 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51132 MVT::i64, 3, 41|128,11, 42|128,11, 43|128,11,
51133 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51134 MVT::i64, 0,
51135 OPC_EmitInteger32, 30|128,60,
51136 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51137 MVT::i32, 1, 46|128,11,
51138 OPC_EmitInteger32, 30|128,60,
51139 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51140 MVT::i32, 2, 47|128,11, 48|128,11,
51141 OPC_EmitStringInteger32, PPC::sub_32,
51142 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51143 MVT::i64, 3, 45|128,11, 49|128,11, 50|128,11,
51144 OPC_EmitInteger32, 64,
51145 OPC_EmitInteger32, 62,
51146 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51147 MVT::i64, 3, 51|128,11, 52|128,11, 53|128,11,
51148 OPC_EmitInteger64, 30|128,60,
51149 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51150 MVT::i64, 2, 54|128,11, 55|128,11,
51151 OPC_EmitInteger64, 30|128,60,
51152 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51153 MVT::i64, 2, 56|128,11, 57|128,11,
51154 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51155 MVT::i64, 2, 44|128,11, 58|128,11,
51156 OPC_EmitInteger32, 126,
51157 OPC_EmitInteger32, 2,
51158 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51159 MVT::i64, 3, 0, 60|128,11, 61|128,11,
51160 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51161 MVT::i64, 0,
51162 OPC_EmitInteger32, 42|128,85|128,2,
51163 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51164 MVT::i32, 1, 64|128,11,
51165 OPC_EmitInteger32, 42|128,85|128,2,
51166 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51167 MVT::i32, 2, 65|128,11, 66|128,11,
51168 OPC_EmitStringInteger32, PPC::sub_32,
51169 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51170 MVT::i64, 3, 63|128,11, 67|128,11, 68|128,11,
51171 OPC_EmitInteger32, 64,
51172 OPC_EmitInteger32, 62,
51173 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51174 MVT::i64, 3, 69|128,11, 70|128,11, 71|128,11,
51175 OPC_EmitInteger64, 42|128,85|128,2,
51176 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51177 MVT::i64, 2, 72|128,11, 73|128,11,
51178 OPC_EmitInteger64, 42|128,85|128,2,
51179 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51180 MVT::i64, 2, 74|128,11, 75|128,11,
51181 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51182 MVT::i64, 2, 62|128,11, 76|128,11,
51183 OPC_EmitInteger32, 2,
51184 OPC_EmitInteger32, 124,
51185 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51186 MVT::i64, 3, 0, 78|128,11, 79|128,11,
51187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51188 MVT::i64, 0,
51189 OPC_EmitInteger32, 84|128,42|128,5,
51190 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51191 MVT::i32, 1, 82|128,11,
51192 OPC_EmitInteger32, 84|128,42|128,5,
51193 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51194 MVT::i32, 2, 83|128,11, 84|128,11,
51195 OPC_EmitStringInteger32, PPC::sub_32,
51196 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51197 MVT::i64, 3, 81|128,11, 85|128,11, 86|128,11,
51198 OPC_EmitInteger32, 64,
51199 OPC_EmitInteger32, 62,
51200 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51201 MVT::i64, 3, 87|128,11, 88|128,11, 89|128,11,
51202 OPC_EmitInteger64, 84|128,42|128,5,
51203 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51204 MVT::i64, 2, 90|128,11, 91|128,11,
51205 OPC_EmitInteger64, 84|128,42|128,5,
51206 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51207 MVT::i64, 2, 92|128,11, 93|128,11,
51208 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51209 MVT::i64, 2, 80|128,11, 94|128,11,
51210 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51211 MVT::i64, 2, 77|128,11, 95|128,11,
51212 OPC_EmitInteger32, 124,
51213 OPC_EmitInteger32, 4,
51214 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51215 MVT::i64, 3, 96|128,11, 97|128,11, 98|128,11,
51216 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51217 MVT::i64, 0,
51218 OPC_EmitInteger32, 102|128,76|128,1,
51219 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51220 MVT::i32, 1, 101|128,11,
51221 OPC_EmitInteger32, 102|128,76|128,1,
51222 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51223 MVT::i32, 2, 102|128,11, 103|128,11,
51224 OPC_EmitStringInteger32, PPC::sub_32,
51225 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51226 MVT::i64, 3, 100|128,11, 104|128,11, 105|128,11,
51227 OPC_EmitInteger32, 64,
51228 OPC_EmitInteger32, 62,
51229 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51230 MVT::i64, 3, 106|128,11, 107|128,11, 108|128,11,
51231 OPC_EmitInteger64, 102|128,76|128,1,
51232 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51233 MVT::i64, 2, 109|128,11, 110|128,11,
51234 OPC_EmitInteger64, 102|128,76|128,1,
51235 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51236 MVT::i64, 2, 111|128,11, 112|128,11,
51237 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51238 MVT::i64, 2, 99|128,11, 113|128,11,
51239 OPC_EmitInteger32, 126,
51240 OPC_EmitInteger32, 2,
51241 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51242 MVT::i64, 3, 0, 115|128,11, 116|128,11,
51243 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51244 MVT::i64, 0,
51245 OPC_EmitInteger32, 42|128,85|128,2,
51246 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51247 MVT::i32, 1, 119|128,11,
51248 OPC_EmitInteger32, 42|128,85|128,2,
51249 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51250 MVT::i32, 2, 120|128,11, 121|128,11,
51251 OPC_EmitStringInteger32, PPC::sub_32,
51252 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51253 MVT::i64, 3, 118|128,11, 122|128,11, 123|128,11,
51254 OPC_EmitInteger32, 64,
51255 OPC_EmitInteger32, 62,
51256 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51257 MVT::i64, 3, 124|128,11, 125|128,11, 126|128,11,
51258 OPC_EmitInteger64, 42|128,85|128,2,
51259 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51260 MVT::i64, 2, 127|128,11, 0|128,12,
51261 OPC_EmitInteger64, 42|128,85|128,2,
51262 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51263 MVT::i64, 2, 1|128,12, 2|128,12,
51264 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51265 MVT::i64, 2, 117|128,11, 3|128,12,
51266 OPC_EmitInteger32, 2,
51267 OPC_EmitInteger32, 124,
51268 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51269 MVT::i64, 3, 0, 5|128,12, 6|128,12,
51270 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51271 MVT::i64, 0,
51272 OPC_EmitInteger32, 84|128,42|128,5,
51273 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51274 MVT::i32, 1, 9|128,12,
51275 OPC_EmitInteger32, 84|128,42|128,5,
51276 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51277 MVT::i32, 2, 10|128,12, 11|128,12,
51278 OPC_EmitStringInteger32, PPC::sub_32,
51279 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51280 MVT::i64, 3, 8|128,12, 12|128,12, 13|128,12,
51281 OPC_EmitInteger32, 64,
51282 OPC_EmitInteger32, 62,
51283 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51284 MVT::i64, 3, 14|128,12, 15|128,12, 16|128,12,
51285 OPC_EmitInteger64, 84|128,42|128,5,
51286 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51287 MVT::i64, 2, 17|128,12, 18|128,12,
51288 OPC_EmitInteger64, 84|128,42|128,5,
51289 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51290 MVT::i64, 2, 19|128,12, 20|128,12,
51291 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51292 MVT::i64, 2, 7|128,12, 21|128,12,
51293 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51294 MVT::i64, 2, 4|128,12, 22|128,12,
51295 OPC_EmitInteger32, 4,
51296 OPC_EmitInteger32, 122,
51297 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51298 MVT::i64, 3, 23|128,12, 24|128,12, 25|128,12,
51299 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51300 MVT::i64, 0,
51301 OPC_EmitInteger32, 24|128,51|128,6,
51302 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51303 MVT::i32, 1, 28|128,12,
51304 OPC_EmitInteger32, 24|128,51|128,6,
51305 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51306 MVT::i32, 2, 29|128,12, 30|128,12,
51307 OPC_EmitStringInteger32, PPC::sub_32,
51308 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51309 MVT::i64, 3, 27|128,12, 31|128,12, 32|128,12,
51310 OPC_EmitInteger32, 64,
51311 OPC_EmitInteger32, 62,
51312 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51313 MVT::i64, 3, 33|128,12, 34|128,12, 35|128,12,
51314 OPC_EmitInteger64, 24|128,51|128,6,
51315 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51316 MVT::i64, 2, 36|128,12, 37|128,12,
51317 OPC_EmitInteger64, 24|128,51|128,6,
51318 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51319 MVT::i64, 2, 38|128,12, 39|128,12,
51320 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51321 MVT::i64, 2, 26|128,12, 40|128,12,
51322 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51323 MVT::i64, 2, 114|128,11, 41|128,12,
51324 OPC_EmitInteger32, 8,
51325 OPC_EmitInteger32, 118,
51326 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51327 MVT::i64, 3, 42|128,12, 43|128,12, 44|128,12,
51328 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
51329 MVT::i64, 0,
51330 OPC_EmitInteger32, 96|128,67|128,7,
51331 OPC_EmitNode1None, TARGET_VAL(PPC::LIS),
51332 MVT::i32, 1, 47|128,12,
51333 OPC_EmitInteger32, 96|128,67|128,7,
51334 OPC_EmitNode1None, TARGET_VAL(PPC::ORI),
51335 MVT::i32, 2, 48|128,12, 49|128,12,
51336 OPC_EmitStringInteger32, PPC::sub_32,
51337 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51338 MVT::i64, 3, 46|128,12, 50|128,12, 51|128,12,
51339 OPC_EmitInteger32, 64,
51340 OPC_EmitInteger32, 62,
51341 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
51342 MVT::i64, 3, 52|128,12, 53|128,12, 54|128,12,
51343 OPC_EmitInteger64, 96|128,67|128,7,
51344 OPC_EmitNode1None, TARGET_VAL(PPC::ORIS8),
51345 MVT::i64, 2, 55|128,12, 56|128,12,
51346 OPC_EmitInteger64, 96|128,67|128,7,
51347 OPC_EmitNode1None, TARGET_VAL(PPC::ORI8),
51348 MVT::i64, 2, 57|128,12, 58|128,12,
51349 OPC_EmitNode1None, TARGET_VAL(PPC::AND8),
51350 MVT::i64, 2, 45|128,12, 59|128,12,
51351 OPC_EmitNode1None, TARGET_VAL(PPC::OR8),
51352 MVT::i64, 2, 59|128,11, 60|128,12,
51353 OPC_EmitInteger32, 64,
51354 OPC_EmitInteger32, 64,
51355 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICL),
51356 MVT::i64, 3, 61|128,12, 62|128,12, 63|128,12,
51357 OPC_EmitStringInteger32, PPC::sub_32,
51358 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51359 MVT::i32, 2, 64|128,12, 65|128,12,
51360 OPC_EmitInteger32, 16,
51361 OPC_EmitInteger32, 48,
51362 OPC_EmitInteger32, 62,
51363 OPC_EmitNode1None, TARGET_VAL(PPC::RLWIMI),
51364 MVT::i32, 5, 58|128,10, 66|128,12, 67|128,12, 68|128,12, 69|128,12,
51365 OPC_EmitStringInteger32, PPC::sub_32,
51366 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
51367 MVT::i64, 3, 34|128,6, 70|128,12, 71|128,12,
51368 OPC_MorphNodeTo1None, TARGET_VAL(PPC::OR8),
51369 MVT::i64, 2, 33|128,6, 72|128,12,
51370 0,
51371 2|128,17, TARGET_VAL(PPCISD::FCFIDUS),
51372 OPC_Scope, 102|128,16,
51373 OPC_MoveChild0,
51374 OPC_SwitchOpcode , 86|128,15, TARGET_VAL(PPCISD::MTVSRZ),
51375 OPC_MoveChild0,
51376 OPC_Scope, 53|128,2,
51377 OPC_CheckAndImm, 127|128,127|128,3,
51378 OPC_MoveChild0,
51379 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
51380 OPC_RecordChild0,
51381 OPC_CheckChild0Type, MVT::v8i16,
51382 OPC_Scope, 36,
51383 OPC_CheckChild1Integer, 0,
51384 OPC_MoveParent,
51385 OPC_CheckTypeI32,
51386 OPC_MoveParent,
51387 OPC_CheckType, MVT::f64,
51388 OPC_MoveParent,
51389 OPC_CheckType, MVT::f32,
51390 OPC_CheckPatternPredicate, 9,
51391 OPC_EmitInteger32, 0,
51392 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51393 MVT::f128, 2, 1, 0,
51394 OPC_EmitStringInteger32, PPC::sub_64,
51395 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51396 MVT::f64, 2, 2, 3,
51397 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51398 MVT::f32, 1, 4,
51399 36,
51400 OPC_CheckChild1Integer, 2,
51401 OPC_MoveParent,
51402 OPC_CheckTypeI32,
51403 OPC_MoveParent,
51404 OPC_CheckType, MVT::f64,
51405 OPC_MoveParent,
51406 OPC_CheckType, MVT::f32,
51407 OPC_CheckPatternPredicate, 9,
51408 OPC_EmitInteger32, 4,
51409 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51410 MVT::f128, 2, 1, 0,
51411 OPC_EmitStringInteger32, PPC::sub_64,
51412 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51413 MVT::f64, 2, 2, 3,
51414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51415 MVT::f32, 1, 4,
51416 36,
51417 OPC_CheckChild1Integer, 4,
51418 OPC_MoveParent,
51419 OPC_CheckTypeI32,
51420 OPC_MoveParent,
51421 OPC_CheckType, MVT::f64,
51422 OPC_MoveParent,
51423 OPC_CheckType, MVT::f32,
51424 OPC_CheckPatternPredicate, 9,
51425 OPC_EmitInteger32, 8,
51426 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51427 MVT::f128, 2, 1, 0,
51428 OPC_EmitStringInteger32, PPC::sub_64,
51429 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51430 MVT::f64, 2, 2, 3,
51431 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51432 MVT::f32, 1, 4,
51433 36,
51434 OPC_CheckChild1Integer, 6,
51435 OPC_MoveParent,
51436 OPC_CheckTypeI32,
51437 OPC_MoveParent,
51438 OPC_CheckType, MVT::f64,
51439 OPC_MoveParent,
51440 OPC_CheckType, MVT::f32,
51441 OPC_CheckPatternPredicate, 9,
51442 OPC_EmitInteger32, 12,
51443 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51444 MVT::f128, 2, 1, 0,
51445 OPC_EmitStringInteger32, PPC::sub_64,
51446 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51447 MVT::f64, 2, 2, 3,
51448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51449 MVT::f32, 1, 4,
51450 36,
51451 OPC_CheckChild1Integer, 8,
51452 OPC_MoveParent,
51453 OPC_CheckTypeI32,
51454 OPC_MoveParent,
51455 OPC_CheckType, MVT::f64,
51456 OPC_MoveParent,
51457 OPC_CheckType, MVT::f32,
51458 OPC_CheckPatternPredicate, 9,
51459 OPC_EmitInteger32, 16,
51460 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51461 MVT::f128, 2, 1, 0,
51462 OPC_EmitStringInteger32, PPC::sub_64,
51463 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51464 MVT::f64, 2, 2, 3,
51465 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51466 MVT::f32, 1, 4,
51467 36,
51468 OPC_CheckChild1Integer, 10,
51469 OPC_MoveParent,
51470 OPC_CheckTypeI32,
51471 OPC_MoveParent,
51472 OPC_CheckType, MVT::f64,
51473 OPC_MoveParent,
51474 OPC_CheckType, MVT::f32,
51475 OPC_CheckPatternPredicate, 9,
51476 OPC_EmitInteger32, 20,
51477 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51478 MVT::f128, 2, 1, 0,
51479 OPC_EmitStringInteger32, PPC::sub_64,
51480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51481 MVT::f64, 2, 2, 3,
51482 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51483 MVT::f32, 1, 4,
51484 36,
51485 OPC_CheckChild1Integer, 12,
51486 OPC_MoveParent,
51487 OPC_CheckTypeI32,
51488 OPC_MoveParent,
51489 OPC_CheckType, MVT::f64,
51490 OPC_MoveParent,
51491 OPC_CheckType, MVT::f32,
51492 OPC_CheckPatternPredicate, 9,
51493 OPC_EmitInteger32, 24,
51494 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51495 MVT::f128, 2, 1, 0,
51496 OPC_EmitStringInteger32, PPC::sub_64,
51497 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51498 MVT::f64, 2, 2, 3,
51499 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51500 MVT::f32, 1, 4,
51501 36,
51502 OPC_CheckChild1Integer, 14,
51503 OPC_MoveParent,
51504 OPC_CheckTypeI32,
51505 OPC_MoveParent,
51506 OPC_CheckType, MVT::f64,
51507 OPC_MoveParent,
51508 OPC_CheckType, MVT::f32,
51509 OPC_CheckPatternPredicate, 9,
51510 OPC_EmitInteger32, 28,
51511 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51512 MVT::f128, 2, 1, 0,
51513 OPC_EmitStringInteger32, PPC::sub_64,
51514 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51515 MVT::f64, 2, 2, 3,
51516 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51517 MVT::f32, 1, 4,
51518 0,
51519 92|128,4,
51520 OPC_CheckAndImm, 127|128,1,
51521 OPC_MoveChild0,
51522 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
51523 OPC_RecordChild0,
51524 OPC_CheckChild0Type, MVT::v16i8,
51525 OPC_Scope, 36,
51526 OPC_CheckChild1Integer, 0,
51527 OPC_MoveParent,
51528 OPC_CheckTypeI32,
51529 OPC_MoveParent,
51530 OPC_CheckType, MVT::f64,
51531 OPC_MoveParent,
51532 OPC_CheckType, MVT::f32,
51533 OPC_CheckPatternPredicate, 9,
51534 OPC_EmitInteger32, 0,
51535 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51536 MVT::f128, 2, 1, 0,
51537 OPC_EmitStringInteger32, PPC::sub_64,
51538 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51539 MVT::f64, 2, 2, 3,
51540 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51541 MVT::f32, 1, 4,
51542 36,
51543 OPC_CheckChild1Integer, 2,
51544 OPC_MoveParent,
51545 OPC_CheckTypeI32,
51546 OPC_MoveParent,
51547 OPC_CheckType, MVT::f64,
51548 OPC_MoveParent,
51549 OPC_CheckType, MVT::f32,
51550 OPC_CheckPatternPredicate, 9,
51551 OPC_EmitInteger32, 4,
51552 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51553 MVT::f128, 2, 1, 0,
51554 OPC_EmitStringInteger32, PPC::sub_64,
51555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51556 MVT::f64, 2, 2, 3,
51557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51558 MVT::f32, 1, 4,
51559 36,
51560 OPC_CheckChild1Integer, 4,
51561 OPC_MoveParent,
51562 OPC_CheckTypeI32,
51563 OPC_MoveParent,
51564 OPC_CheckType, MVT::f64,
51565 OPC_MoveParent,
51566 OPC_CheckType, MVT::f32,
51567 OPC_CheckPatternPredicate, 9,
51568 OPC_EmitInteger32, 8,
51569 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51570 MVT::f128, 2, 1, 0,
51571 OPC_EmitStringInteger32, PPC::sub_64,
51572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51573 MVT::f64, 2, 2, 3,
51574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51575 MVT::f32, 1, 4,
51576 36,
51577 OPC_CheckChild1Integer, 6,
51578 OPC_MoveParent,
51579 OPC_CheckTypeI32,
51580 OPC_MoveParent,
51581 OPC_CheckType, MVT::f64,
51582 OPC_MoveParent,
51583 OPC_CheckType, MVT::f32,
51584 OPC_CheckPatternPredicate, 9,
51585 OPC_EmitInteger32, 12,
51586 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51587 MVT::f128, 2, 1, 0,
51588 OPC_EmitStringInteger32, PPC::sub_64,
51589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51590 MVT::f64, 2, 2, 3,
51591 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51592 MVT::f32, 1, 4,
51593 36,
51594 OPC_CheckChild1Integer, 8,
51595 OPC_MoveParent,
51596 OPC_CheckTypeI32,
51597 OPC_MoveParent,
51598 OPC_CheckType, MVT::f64,
51599 OPC_MoveParent,
51600 OPC_CheckType, MVT::f32,
51601 OPC_CheckPatternPredicate, 9,
51602 OPC_EmitInteger32, 16,
51603 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51604 MVT::f128, 2, 1, 0,
51605 OPC_EmitStringInteger32, PPC::sub_64,
51606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51607 MVT::f64, 2, 2, 3,
51608 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51609 MVT::f32, 1, 4,
51610 36,
51611 OPC_CheckChild1Integer, 10,
51612 OPC_MoveParent,
51613 OPC_CheckTypeI32,
51614 OPC_MoveParent,
51615 OPC_CheckType, MVT::f64,
51616 OPC_MoveParent,
51617 OPC_CheckType, MVT::f32,
51618 OPC_CheckPatternPredicate, 9,
51619 OPC_EmitInteger32, 20,
51620 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51621 MVT::f128, 2, 1, 0,
51622 OPC_EmitStringInteger32, PPC::sub_64,
51623 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51624 MVT::f64, 2, 2, 3,
51625 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51626 MVT::f32, 1, 4,
51627 36,
51628 OPC_CheckChild1Integer, 12,
51629 OPC_MoveParent,
51630 OPC_CheckTypeI32,
51631 OPC_MoveParent,
51632 OPC_CheckType, MVT::f64,
51633 OPC_MoveParent,
51634 OPC_CheckType, MVT::f32,
51635 OPC_CheckPatternPredicate, 9,
51636 OPC_EmitInteger32, 24,
51637 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51638 MVT::f128, 2, 1, 0,
51639 OPC_EmitStringInteger32, PPC::sub_64,
51640 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51641 MVT::f64, 2, 2, 3,
51642 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51643 MVT::f32, 1, 4,
51644 36,
51645 OPC_CheckChild1Integer, 14,
51646 OPC_MoveParent,
51647 OPC_CheckTypeI32,
51648 OPC_MoveParent,
51649 OPC_CheckType, MVT::f64,
51650 OPC_MoveParent,
51651 OPC_CheckType, MVT::f32,
51652 OPC_CheckPatternPredicate, 9,
51653 OPC_EmitInteger32, 28,
51654 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51655 MVT::f128, 2, 1, 0,
51656 OPC_EmitStringInteger32, PPC::sub_64,
51657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51658 MVT::f64, 2, 2, 3,
51659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51660 MVT::f32, 1, 4,
51661 36,
51662 OPC_CheckChild1Integer, 16,
51663 OPC_MoveParent,
51664 OPC_CheckTypeI32,
51665 OPC_MoveParent,
51666 OPC_CheckType, MVT::f64,
51667 OPC_MoveParent,
51668 OPC_CheckType, MVT::f32,
51669 OPC_CheckPatternPredicate, 9,
51670 OPC_EmitInteger32, 32,
51671 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51672 MVT::f128, 2, 1, 0,
51673 OPC_EmitStringInteger32, PPC::sub_64,
51674 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51675 MVT::f64, 2, 2, 3,
51676 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51677 MVT::f32, 1, 4,
51678 36,
51679 OPC_CheckChild1Integer, 18,
51680 OPC_MoveParent,
51681 OPC_CheckTypeI32,
51682 OPC_MoveParent,
51683 OPC_CheckType, MVT::f64,
51684 OPC_MoveParent,
51685 OPC_CheckType, MVT::f32,
51686 OPC_CheckPatternPredicate, 9,
51687 OPC_EmitInteger32, 36,
51688 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51689 MVT::f128, 2, 1, 0,
51690 OPC_EmitStringInteger32, PPC::sub_64,
51691 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51692 MVT::f64, 2, 2, 3,
51693 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51694 MVT::f32, 1, 4,
51695 36,
51696 OPC_CheckChild1Integer, 20,
51697 OPC_MoveParent,
51698 OPC_CheckTypeI32,
51699 OPC_MoveParent,
51700 OPC_CheckType, MVT::f64,
51701 OPC_MoveParent,
51702 OPC_CheckType, MVT::f32,
51703 OPC_CheckPatternPredicate, 9,
51704 OPC_EmitInteger32, 40,
51705 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51706 MVT::f128, 2, 1, 0,
51707 OPC_EmitStringInteger32, PPC::sub_64,
51708 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51709 MVT::f64, 2, 2, 3,
51710 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51711 MVT::f32, 1, 4,
51712 36,
51713 OPC_CheckChild1Integer, 22,
51714 OPC_MoveParent,
51715 OPC_CheckTypeI32,
51716 OPC_MoveParent,
51717 OPC_CheckType, MVT::f64,
51718 OPC_MoveParent,
51719 OPC_CheckType, MVT::f32,
51720 OPC_CheckPatternPredicate, 9,
51721 OPC_EmitInteger32, 44,
51722 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51723 MVT::f128, 2, 1, 0,
51724 OPC_EmitStringInteger32, PPC::sub_64,
51725 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51726 MVT::f64, 2, 2, 3,
51727 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51728 MVT::f32, 1, 4,
51729 36,
51730 OPC_CheckChild1Integer, 24,
51731 OPC_MoveParent,
51732 OPC_CheckTypeI32,
51733 OPC_MoveParent,
51734 OPC_CheckType, MVT::f64,
51735 OPC_MoveParent,
51736 OPC_CheckType, MVT::f32,
51737 OPC_CheckPatternPredicate, 9,
51738 OPC_EmitInteger32, 48,
51739 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51740 MVT::f128, 2, 1, 0,
51741 OPC_EmitStringInteger32, PPC::sub_64,
51742 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51743 MVT::f64, 2, 2, 3,
51744 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51745 MVT::f32, 1, 4,
51746 36,
51747 OPC_CheckChild1Integer, 26,
51748 OPC_MoveParent,
51749 OPC_CheckTypeI32,
51750 OPC_MoveParent,
51751 OPC_CheckType, MVT::f64,
51752 OPC_MoveParent,
51753 OPC_CheckType, MVT::f32,
51754 OPC_CheckPatternPredicate, 9,
51755 OPC_EmitInteger32, 52,
51756 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51757 MVT::f128, 2, 1, 0,
51758 OPC_EmitStringInteger32, PPC::sub_64,
51759 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51760 MVT::f64, 2, 2, 3,
51761 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51762 MVT::f32, 1, 4,
51763 36,
51764 OPC_CheckChild1Integer, 28,
51765 OPC_MoveParent,
51766 OPC_CheckTypeI32,
51767 OPC_MoveParent,
51768 OPC_CheckType, MVT::f64,
51769 OPC_MoveParent,
51770 OPC_CheckType, MVT::f32,
51771 OPC_CheckPatternPredicate, 9,
51772 OPC_EmitInteger32, 56,
51773 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51774 MVT::f128, 2, 1, 0,
51775 OPC_EmitStringInteger32, PPC::sub_64,
51776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51777 MVT::f64, 2, 2, 3,
51778 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51779 MVT::f32, 1, 4,
51780 36,
51781 OPC_CheckChild1Integer, 30,
51782 OPC_MoveParent,
51783 OPC_CheckTypeI32,
51784 OPC_MoveParent,
51785 OPC_CheckType, MVT::f64,
51786 OPC_MoveParent,
51787 OPC_CheckType, MVT::f32,
51788 OPC_CheckPatternPredicate, 9,
51789 OPC_EmitInteger32, 60,
51790 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51791 MVT::f128, 2, 1, 0,
51792 OPC_EmitStringInteger32, PPC::sub_64,
51793 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51794 MVT::f64, 2, 2, 3,
51795 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51796 MVT::f32, 1, 4,
51797 0,
51798 45|128,2,
51799 OPC_CheckAndImm, 127|128,127|128,3,
51800 OPC_MoveChild0,
51801 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
51802 OPC_RecordChild0,
51803 OPC_CheckChild0Type, MVT::v8i16,
51804 OPC_Scope, 35,
51805 OPC_CheckChild1Integer, 0,
51806 OPC_MoveParent,
51807 OPC_CheckTypeI32,
51808 OPC_MoveParent,
51809 OPC_CheckType, MVT::f64,
51810 OPC_MoveParent,
51811 OPC_CheckType, MVT::f32,
51812 OPC_CheckPatternPredicate6,
51813 OPC_EmitInteger32, 28,
51814 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51815 MVT::f128, 2, 1, 0,
51816 OPC_EmitStringInteger32, PPC::sub_64,
51817 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51818 MVT::f64, 2, 2, 3,
51819 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51820 MVT::f32, 1, 4,
51821 35,
51822 OPC_CheckChild1Integer, 2,
51823 OPC_MoveParent,
51824 OPC_CheckTypeI32,
51825 OPC_MoveParent,
51826 OPC_CheckType, MVT::f64,
51827 OPC_MoveParent,
51828 OPC_CheckType, MVT::f32,
51829 OPC_CheckPatternPredicate6,
51830 OPC_EmitInteger32, 24,
51831 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51832 MVT::f128, 2, 1, 0,
51833 OPC_EmitStringInteger32, PPC::sub_64,
51834 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51835 MVT::f64, 2, 2, 3,
51836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51837 MVT::f32, 1, 4,
51838 35,
51839 OPC_CheckChild1Integer, 4,
51840 OPC_MoveParent,
51841 OPC_CheckTypeI32,
51842 OPC_MoveParent,
51843 OPC_CheckType, MVT::f64,
51844 OPC_MoveParent,
51845 OPC_CheckType, MVT::f32,
51846 OPC_CheckPatternPredicate6,
51847 OPC_EmitInteger32, 20,
51848 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51849 MVT::f128, 2, 1, 0,
51850 OPC_EmitStringInteger32, PPC::sub_64,
51851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51852 MVT::f64, 2, 2, 3,
51853 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51854 MVT::f32, 1, 4,
51855 35,
51856 OPC_CheckChild1Integer, 6,
51857 OPC_MoveParent,
51858 OPC_CheckTypeI32,
51859 OPC_MoveParent,
51860 OPC_CheckType, MVT::f64,
51861 OPC_MoveParent,
51862 OPC_CheckType, MVT::f32,
51863 OPC_CheckPatternPredicate6,
51864 OPC_EmitInteger32, 16,
51865 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51866 MVT::f128, 2, 1, 0,
51867 OPC_EmitStringInteger32, PPC::sub_64,
51868 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51869 MVT::f64, 2, 2, 3,
51870 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51871 MVT::f32, 1, 4,
51872 35,
51873 OPC_CheckChild1Integer, 8,
51874 OPC_MoveParent,
51875 OPC_CheckTypeI32,
51876 OPC_MoveParent,
51877 OPC_CheckType, MVT::f64,
51878 OPC_MoveParent,
51879 OPC_CheckType, MVT::f32,
51880 OPC_CheckPatternPredicate6,
51881 OPC_EmitInteger32, 12,
51882 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51883 MVT::f128, 2, 1, 0,
51884 OPC_EmitStringInteger32, PPC::sub_64,
51885 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51886 MVT::f64, 2, 2, 3,
51887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51888 MVT::f32, 1, 4,
51889 35,
51890 OPC_CheckChild1Integer, 10,
51891 OPC_MoveParent,
51892 OPC_CheckTypeI32,
51893 OPC_MoveParent,
51894 OPC_CheckType, MVT::f64,
51895 OPC_MoveParent,
51896 OPC_CheckType, MVT::f32,
51897 OPC_CheckPatternPredicate6,
51898 OPC_EmitInteger32, 8,
51899 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51900 MVT::f128, 2, 1, 0,
51901 OPC_EmitStringInteger32, PPC::sub_64,
51902 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51903 MVT::f64, 2, 2, 3,
51904 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51905 MVT::f32, 1, 4,
51906 35,
51907 OPC_CheckChild1Integer, 12,
51908 OPC_MoveParent,
51909 OPC_CheckTypeI32,
51910 OPC_MoveParent,
51911 OPC_CheckType, MVT::f64,
51912 OPC_MoveParent,
51913 OPC_CheckType, MVT::f32,
51914 OPC_CheckPatternPredicate6,
51915 OPC_EmitInteger32, 4,
51916 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51917 MVT::f128, 2, 1, 0,
51918 OPC_EmitStringInteger32, PPC::sub_64,
51919 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51920 MVT::f64, 2, 2, 3,
51921 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51922 MVT::f32, 1, 4,
51923 35,
51924 OPC_CheckChild1Integer, 14,
51925 OPC_MoveParent,
51926 OPC_CheckTypeI32,
51927 OPC_MoveParent,
51928 OPC_CheckType, MVT::f64,
51929 OPC_MoveParent,
51930 OPC_CheckType, MVT::f32,
51931 OPC_CheckPatternPredicate6,
51932 OPC_EmitInteger32, 0,
51933 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
51934 MVT::f128, 2, 1, 0,
51935 OPC_EmitStringInteger32, PPC::sub_64,
51936 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51937 MVT::f64, 2, 2, 3,
51938 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51939 MVT::f32, 1, 4,
51940 0,
51941 76|128,4,
51942 OPC_CheckAndImm, 127|128,1,
51943 OPC_MoveChild0,
51944 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
51945 OPC_RecordChild0,
51946 OPC_CheckChild0Type, MVT::v16i8,
51947 OPC_Scope, 35,
51948 OPC_CheckChild1Integer, 0,
51949 OPC_MoveParent,
51950 OPC_CheckTypeI32,
51951 OPC_MoveParent,
51952 OPC_CheckType, MVT::f64,
51953 OPC_MoveParent,
51954 OPC_CheckType, MVT::f32,
51955 OPC_CheckPatternPredicate6,
51956 OPC_EmitInteger32, 30,
51957 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51958 MVT::f128, 2, 1, 0,
51959 OPC_EmitStringInteger32, PPC::sub_64,
51960 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51961 MVT::f64, 2, 2, 3,
51962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51963 MVT::f32, 1, 4,
51964 35,
51965 OPC_CheckChild1Integer, 2,
51966 OPC_MoveParent,
51967 OPC_CheckTypeI32,
51968 OPC_MoveParent,
51969 OPC_CheckType, MVT::f64,
51970 OPC_MoveParent,
51971 OPC_CheckType, MVT::f32,
51972 OPC_CheckPatternPredicate6,
51973 OPC_EmitInteger32, 28,
51974 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51975 MVT::f128, 2, 1, 0,
51976 OPC_EmitStringInteger32, PPC::sub_64,
51977 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51978 MVT::f64, 2, 2, 3,
51979 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51980 MVT::f32, 1, 4,
51981 35,
51982 OPC_CheckChild1Integer, 4,
51983 OPC_MoveParent,
51984 OPC_CheckTypeI32,
51985 OPC_MoveParent,
51986 OPC_CheckType, MVT::f64,
51987 OPC_MoveParent,
51988 OPC_CheckType, MVT::f32,
51989 OPC_CheckPatternPredicate6,
51990 OPC_EmitInteger32, 26,
51991 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
51992 MVT::f128, 2, 1, 0,
51993 OPC_EmitStringInteger32, PPC::sub_64,
51994 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
51995 MVT::f64, 2, 2, 3,
51996 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
51997 MVT::f32, 1, 4,
51998 35,
51999 OPC_CheckChild1Integer, 6,
52000 OPC_MoveParent,
52001 OPC_CheckTypeI32,
52002 OPC_MoveParent,
52003 OPC_CheckType, MVT::f64,
52004 OPC_MoveParent,
52005 OPC_CheckType, MVT::f32,
52006 OPC_CheckPatternPredicate6,
52007 OPC_EmitInteger32, 24,
52008 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52009 MVT::f128, 2, 1, 0,
52010 OPC_EmitStringInteger32, PPC::sub_64,
52011 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52012 MVT::f64, 2, 2, 3,
52013 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52014 MVT::f32, 1, 4,
52015 35,
52016 OPC_CheckChild1Integer, 8,
52017 OPC_MoveParent,
52018 OPC_CheckTypeI32,
52019 OPC_MoveParent,
52020 OPC_CheckType, MVT::f64,
52021 OPC_MoveParent,
52022 OPC_CheckType, MVT::f32,
52023 OPC_CheckPatternPredicate6,
52024 OPC_EmitInteger32, 22,
52025 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52026 MVT::f128, 2, 1, 0,
52027 OPC_EmitStringInteger32, PPC::sub_64,
52028 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52029 MVT::f64, 2, 2, 3,
52030 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52031 MVT::f32, 1, 4,
52032 35,
52033 OPC_CheckChild1Integer, 10,
52034 OPC_MoveParent,
52035 OPC_CheckTypeI32,
52036 OPC_MoveParent,
52037 OPC_CheckType, MVT::f64,
52038 OPC_MoveParent,
52039 OPC_CheckType, MVT::f32,
52040 OPC_CheckPatternPredicate6,
52041 OPC_EmitInteger32, 20,
52042 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52043 MVT::f128, 2, 1, 0,
52044 OPC_EmitStringInteger32, PPC::sub_64,
52045 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52046 MVT::f64, 2, 2, 3,
52047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52048 MVT::f32, 1, 4,
52049 35,
52050 OPC_CheckChild1Integer, 12,
52051 OPC_MoveParent,
52052 OPC_CheckTypeI32,
52053 OPC_MoveParent,
52054 OPC_CheckType, MVT::f64,
52055 OPC_MoveParent,
52056 OPC_CheckType, MVT::f32,
52057 OPC_CheckPatternPredicate6,
52058 OPC_EmitInteger32, 18,
52059 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52060 MVT::f128, 2, 1, 0,
52061 OPC_EmitStringInteger32, PPC::sub_64,
52062 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52063 MVT::f64, 2, 2, 3,
52064 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52065 MVT::f32, 1, 4,
52066 35,
52067 OPC_CheckChild1Integer, 14,
52068 OPC_MoveParent,
52069 OPC_CheckTypeI32,
52070 OPC_MoveParent,
52071 OPC_CheckType, MVT::f64,
52072 OPC_MoveParent,
52073 OPC_CheckType, MVT::f32,
52074 OPC_CheckPatternPredicate6,
52075 OPC_EmitInteger32, 16,
52076 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52077 MVT::f128, 2, 1, 0,
52078 OPC_EmitStringInteger32, PPC::sub_64,
52079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52080 MVT::f64, 2, 2, 3,
52081 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52082 MVT::f32, 1, 4,
52083 35,
52084 OPC_CheckChild1Integer, 16,
52085 OPC_MoveParent,
52086 OPC_CheckTypeI32,
52087 OPC_MoveParent,
52088 OPC_CheckType, MVT::f64,
52089 OPC_MoveParent,
52090 OPC_CheckType, MVT::f32,
52091 OPC_CheckPatternPredicate6,
52092 OPC_EmitInteger32, 14,
52093 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52094 MVT::f128, 2, 1, 0,
52095 OPC_EmitStringInteger32, PPC::sub_64,
52096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52097 MVT::f64, 2, 2, 3,
52098 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52099 MVT::f32, 1, 4,
52100 35,
52101 OPC_CheckChild1Integer, 18,
52102 OPC_MoveParent,
52103 OPC_CheckTypeI32,
52104 OPC_MoveParent,
52105 OPC_CheckType, MVT::f64,
52106 OPC_MoveParent,
52107 OPC_CheckType, MVT::f32,
52108 OPC_CheckPatternPredicate6,
52109 OPC_EmitInteger32, 12,
52110 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52111 MVT::f128, 2, 1, 0,
52112 OPC_EmitStringInteger32, PPC::sub_64,
52113 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52114 MVT::f64, 2, 2, 3,
52115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52116 MVT::f32, 1, 4,
52117 35,
52118 OPC_CheckChild1Integer, 20,
52119 OPC_MoveParent,
52120 OPC_CheckTypeI32,
52121 OPC_MoveParent,
52122 OPC_CheckType, MVT::f64,
52123 OPC_MoveParent,
52124 OPC_CheckType, MVT::f32,
52125 OPC_CheckPatternPredicate6,
52126 OPC_EmitInteger32, 10,
52127 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52128 MVT::f128, 2, 1, 0,
52129 OPC_EmitStringInteger32, PPC::sub_64,
52130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52131 MVT::f64, 2, 2, 3,
52132 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52133 MVT::f32, 1, 4,
52134 35,
52135 OPC_CheckChild1Integer, 22,
52136 OPC_MoveParent,
52137 OPC_CheckTypeI32,
52138 OPC_MoveParent,
52139 OPC_CheckType, MVT::f64,
52140 OPC_MoveParent,
52141 OPC_CheckType, MVT::f32,
52142 OPC_CheckPatternPredicate6,
52143 OPC_EmitInteger32, 8,
52144 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52145 MVT::f128, 2, 1, 0,
52146 OPC_EmitStringInteger32, PPC::sub_64,
52147 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52148 MVT::f64, 2, 2, 3,
52149 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52150 MVT::f32, 1, 4,
52151 35,
52152 OPC_CheckChild1Integer, 24,
52153 OPC_MoveParent,
52154 OPC_CheckTypeI32,
52155 OPC_MoveParent,
52156 OPC_CheckType, MVT::f64,
52157 OPC_MoveParent,
52158 OPC_CheckType, MVT::f32,
52159 OPC_CheckPatternPredicate6,
52160 OPC_EmitInteger32, 6,
52161 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52162 MVT::f128, 2, 1, 0,
52163 OPC_EmitStringInteger32, PPC::sub_64,
52164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52165 MVT::f64, 2, 2, 3,
52166 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52167 MVT::f32, 1, 4,
52168 35,
52169 OPC_CheckChild1Integer, 26,
52170 OPC_MoveParent,
52171 OPC_CheckTypeI32,
52172 OPC_MoveParent,
52173 OPC_CheckType, MVT::f64,
52174 OPC_MoveParent,
52175 OPC_CheckType, MVT::f32,
52176 OPC_CheckPatternPredicate6,
52177 OPC_EmitInteger32, 4,
52178 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52179 MVT::f128, 2, 1, 0,
52180 OPC_EmitStringInteger32, PPC::sub_64,
52181 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52182 MVT::f64, 2, 2, 3,
52183 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52184 MVT::f32, 1, 4,
52185 35,
52186 OPC_CheckChild1Integer, 28,
52187 OPC_MoveParent,
52188 OPC_CheckTypeI32,
52189 OPC_MoveParent,
52190 OPC_CheckType, MVT::f64,
52191 OPC_MoveParent,
52192 OPC_CheckType, MVT::f32,
52193 OPC_CheckPatternPredicate6,
52194 OPC_EmitInteger32, 2,
52195 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52196 MVT::f128, 2, 1, 0,
52197 OPC_EmitStringInteger32, PPC::sub_64,
52198 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52199 MVT::f64, 2, 2, 3,
52200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52201 MVT::f32, 1, 4,
52202 35,
52203 OPC_CheckChild1Integer, 30,
52204 OPC_MoveParent,
52205 OPC_CheckTypeI32,
52206 OPC_MoveParent,
52207 OPC_CheckType, MVT::f64,
52208 OPC_MoveParent,
52209 OPC_CheckType, MVT::f32,
52210 OPC_CheckPatternPredicate6,
52211 OPC_EmitInteger32, 0,
52212 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52213 MVT::f128, 2, 1, 0,
52214 OPC_EmitStringInteger32, PPC::sub_64,
52215 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52216 MVT::f64, 2, 2, 3,
52217 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52218 MVT::f32, 1, 4,
52219 0,
52220 63|128,1,
52221 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52222 OPC_RecordChild0,
52223 OPC_CheckTypeI32,
52224 OPC_Scope, 45,
52225 OPC_CheckChild1Integer, 0,
52226 OPC_MoveParent,
52227 OPC_CheckType, MVT::f64,
52228 OPC_MoveParent,
52229 OPC_CheckType, MVT::f32,
52230 OPC_Scope, 17,
52231 OPC_CheckPatternPredicate, 14,
52232 OPC_EmitInteger32, 0,
52233 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52234 MVT::f64, 2, 0, 1,
52235 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52236 MVT::f32, 1, 2,
52237 16,
52238 OPC_CheckPatternPredicate6,
52239 OPC_EmitInteger32, 24,
52240 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52241 MVT::f64, 2, 0, 1,
52242 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52243 MVT::f32, 1, 2,
52244 0,
52245 45,
52246 OPC_CheckChild1Integer, 2,
52247 OPC_MoveParent,
52248 OPC_CheckType, MVT::f64,
52249 OPC_MoveParent,
52250 OPC_CheckType, MVT::f32,
52251 OPC_Scope, 17,
52252 OPC_CheckPatternPredicate, 14,
52253 OPC_EmitInteger32, 8,
52254 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52255 MVT::f64, 2, 0, 1,
52256 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52257 MVT::f32, 1, 2,
52258 16,
52259 OPC_CheckPatternPredicate6,
52260 OPC_EmitInteger32, 16,
52261 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52262 MVT::f64, 2, 0, 1,
52263 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52264 MVT::f32, 1, 2,
52265 0,
52266 45,
52267 OPC_CheckChild1Integer, 4,
52268 OPC_MoveParent,
52269 OPC_CheckType, MVT::f64,
52270 OPC_MoveParent,
52271 OPC_CheckType, MVT::f32,
52272 OPC_Scope, 17,
52273 OPC_CheckPatternPredicate, 14,
52274 OPC_EmitInteger32, 16,
52275 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52276 MVT::f64, 2, 0, 1,
52277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52278 MVT::f32, 1, 2,
52279 16,
52280 OPC_CheckPatternPredicate6,
52281 OPC_EmitInteger32, 8,
52282 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52283 MVT::f64, 2, 0, 1,
52284 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52285 MVT::f32, 1, 2,
52286 0,
52287 45,
52288 OPC_CheckChild1Integer, 6,
52289 OPC_MoveParent,
52290 OPC_CheckType, MVT::f64,
52291 OPC_MoveParent,
52292 OPC_CheckType, MVT::f32,
52293 OPC_Scope, 17,
52294 OPC_CheckPatternPredicate, 14,
52295 OPC_EmitInteger32, 24,
52296 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52297 MVT::f64, 2, 0, 1,
52298 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52299 MVT::f32, 1, 2,
52300 16,
52301 OPC_CheckPatternPredicate6,
52302 OPC_EmitInteger32, 0,
52303 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
52304 MVT::f64, 2, 0, 1,
52305 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52306 MVT::f32, 1, 2,
52307 0,
52308 0,
52309 0,
52310 5|128,1, TARGET_VAL(PPCISD::MTVSRA),
52311 OPC_MoveChild0,
52312 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52313 OPC_RecordChild0,
52314 OPC_CheckChild0Type, MVT::v2i64,
52315 OPC_CheckTypeI64,
52316 OPC_Scope, 56,
52317 OPC_CheckChild1Integer, 0,
52318 OPC_MoveParent,
52319 OPC_CheckType, MVT::f64,
52320 OPC_MoveParent,
52321 OPC_CheckType, MVT::f32,
52322 OPC_Scope, 17,
52323 OPC_CheckPatternPredicate, 28,
52324 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
52325 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
52326 MVT::f64, 2, 0, 1,
52327 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52328 MVT::f32, 1, 2,
52329 27,
52330 OPC_CheckPatternPredicate, 21,
52331 OPC_EmitInteger32, 4,
52332 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
52333 MVT::v4i32, 3, 0, 0, 1,
52334 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
52335 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
52336 MVT::f64, 2, 2, 3,
52337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52338 MVT::f32, 1, 4,
52339 0,
52340 65,
52341 OPC_CheckChild1Integer, 2,
52342 OPC_MoveParent,
52343 OPC_CheckType, MVT::f64,
52344 OPC_MoveParent,
52345 OPC_CheckType, MVT::f32,
52346 OPC_Scope, 27,
52347 OPC_CheckPatternPredicate, 28,
52348 OPC_EmitInteger32, 4,
52349 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
52350 MVT::v4i32, 3, 0, 0, 1,
52351 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
52352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
52353 MVT::f64, 2, 2, 3,
52354 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52355 MVT::f32, 1, 4,
52356 26,
52357 OPC_CheckPatternPredicate, 21,
52358 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
52359 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
52360 MVT::f64, 2, 0, 1,
52361 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
52362 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
52363 MVT::f64, 2, 2, 3,
52364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52365 MVT::f32, 1, 4,
52366 0,
52367 0,
52368 0,
52369 23,
52370 OPC_RecordChild0,
52371 OPC_CheckChild0Type, MVT::f64,
52372 OPC_CheckType, MVT::f32,
52373 OPC_Scope, 8,
52374 OPC_CheckPatternPredicate, 11,
52375 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDSP),
52376 MVT::f32, 1, 0,
52377 6,
52378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDUS),
52379 MVT::f32, 1, 0,
52380 0,
52381 0,
52382 82|128,21, TARGET_VAL(PPCISD::FCFIDU),
52383 OPC_Scope, 57|128,21,
52384 OPC_MoveChild0,
52385 OPC_SwitchOpcode , 110|128,14, TARGET_VAL(PPCISD::MTVSRZ),
52386 OPC_MoveChild0,
52387 OPC_Scope, 37|128,2,
52388 OPC_CheckAndImm, 127|128,127|128,3,
52389 OPC_MoveChild0,
52390 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52391 OPC_RecordChild0,
52392 OPC_CheckChild0Type, MVT::v8i16,
52393 OPC_Scope, 34,
52394 OPC_CheckChild1Integer, 0,
52395 OPC_MoveParent,
52396 OPC_CheckTypeI32,
52397 OPC_MoveParent,
52398 OPC_MoveParent,
52399 OPC_CheckType, MVT::f64,
52400 OPC_CheckPatternPredicate, 9,
52401 OPC_EmitInteger32, 0,
52402 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52403 MVT::f128, 2, 1, 0,
52404 OPC_EmitStringInteger32, PPC::sub_64,
52405 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52406 MVT::f64, 2, 2, 3,
52407 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52408 MVT::f64, 1, 4,
52409 34,
52410 OPC_CheckChild1Integer, 2,
52411 OPC_MoveParent,
52412 OPC_CheckTypeI32,
52413 OPC_MoveParent,
52414 OPC_MoveParent,
52415 OPC_CheckType, MVT::f64,
52416 OPC_CheckPatternPredicate, 9,
52417 OPC_EmitInteger32, 4,
52418 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52419 MVT::f128, 2, 1, 0,
52420 OPC_EmitStringInteger32, PPC::sub_64,
52421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52422 MVT::f64, 2, 2, 3,
52423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52424 MVT::f64, 1, 4,
52425 34,
52426 OPC_CheckChild1Integer, 4,
52427 OPC_MoveParent,
52428 OPC_CheckTypeI32,
52429 OPC_MoveParent,
52430 OPC_MoveParent,
52431 OPC_CheckType, MVT::f64,
52432 OPC_CheckPatternPredicate, 9,
52433 OPC_EmitInteger32, 8,
52434 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52435 MVT::f128, 2, 1, 0,
52436 OPC_EmitStringInteger32, PPC::sub_64,
52437 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52438 MVT::f64, 2, 2, 3,
52439 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52440 MVT::f64, 1, 4,
52441 34,
52442 OPC_CheckChild1Integer, 6,
52443 OPC_MoveParent,
52444 OPC_CheckTypeI32,
52445 OPC_MoveParent,
52446 OPC_MoveParent,
52447 OPC_CheckType, MVT::f64,
52448 OPC_CheckPatternPredicate, 9,
52449 OPC_EmitInteger32, 12,
52450 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52451 MVT::f128, 2, 1, 0,
52452 OPC_EmitStringInteger32, PPC::sub_64,
52453 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52454 MVT::f64, 2, 2, 3,
52455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52456 MVT::f64, 1, 4,
52457 34,
52458 OPC_CheckChild1Integer, 8,
52459 OPC_MoveParent,
52460 OPC_CheckTypeI32,
52461 OPC_MoveParent,
52462 OPC_MoveParent,
52463 OPC_CheckType, MVT::f64,
52464 OPC_CheckPatternPredicate, 9,
52465 OPC_EmitInteger32, 16,
52466 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52467 MVT::f128, 2, 1, 0,
52468 OPC_EmitStringInteger32, PPC::sub_64,
52469 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52470 MVT::f64, 2, 2, 3,
52471 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52472 MVT::f64, 1, 4,
52473 34,
52474 OPC_CheckChild1Integer, 10,
52475 OPC_MoveParent,
52476 OPC_CheckTypeI32,
52477 OPC_MoveParent,
52478 OPC_MoveParent,
52479 OPC_CheckType, MVT::f64,
52480 OPC_CheckPatternPredicate, 9,
52481 OPC_EmitInteger32, 20,
52482 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52483 MVT::f128, 2, 1, 0,
52484 OPC_EmitStringInteger32, PPC::sub_64,
52485 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52486 MVT::f64, 2, 2, 3,
52487 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52488 MVT::f64, 1, 4,
52489 34,
52490 OPC_CheckChild1Integer, 12,
52491 OPC_MoveParent,
52492 OPC_CheckTypeI32,
52493 OPC_MoveParent,
52494 OPC_MoveParent,
52495 OPC_CheckType, MVT::f64,
52496 OPC_CheckPatternPredicate, 9,
52497 OPC_EmitInteger32, 24,
52498 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52499 MVT::f128, 2, 1, 0,
52500 OPC_EmitStringInteger32, PPC::sub_64,
52501 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52502 MVT::f64, 2, 2, 3,
52503 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52504 MVT::f64, 1, 4,
52505 34,
52506 OPC_CheckChild1Integer, 14,
52507 OPC_MoveParent,
52508 OPC_CheckTypeI32,
52509 OPC_MoveParent,
52510 OPC_MoveParent,
52511 OPC_CheckType, MVT::f64,
52512 OPC_CheckPatternPredicate, 9,
52513 OPC_EmitInteger32, 28,
52514 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52515 MVT::f128, 2, 1, 0,
52516 OPC_EmitStringInteger32, PPC::sub_64,
52517 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52518 MVT::f64, 2, 2, 3,
52519 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52520 MVT::f64, 1, 4,
52521 0,
52522 60|128,4,
52523 OPC_CheckAndImm, 127|128,1,
52524 OPC_MoveChild0,
52525 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52526 OPC_RecordChild0,
52527 OPC_CheckChild0Type, MVT::v16i8,
52528 OPC_Scope, 34,
52529 OPC_CheckChild1Integer, 0,
52530 OPC_MoveParent,
52531 OPC_CheckTypeI32,
52532 OPC_MoveParent,
52533 OPC_MoveParent,
52534 OPC_CheckType, MVT::f64,
52535 OPC_CheckPatternPredicate, 9,
52536 OPC_EmitInteger32, 0,
52537 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52538 MVT::f128, 2, 1, 0,
52539 OPC_EmitStringInteger32, PPC::sub_64,
52540 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52541 MVT::f64, 2, 2, 3,
52542 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52543 MVT::f64, 1, 4,
52544 34,
52545 OPC_CheckChild1Integer, 2,
52546 OPC_MoveParent,
52547 OPC_CheckTypeI32,
52548 OPC_MoveParent,
52549 OPC_MoveParent,
52550 OPC_CheckType, MVT::f64,
52551 OPC_CheckPatternPredicate, 9,
52552 OPC_EmitInteger32, 4,
52553 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52554 MVT::f128, 2, 1, 0,
52555 OPC_EmitStringInteger32, PPC::sub_64,
52556 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52557 MVT::f64, 2, 2, 3,
52558 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52559 MVT::f64, 1, 4,
52560 34,
52561 OPC_CheckChild1Integer, 4,
52562 OPC_MoveParent,
52563 OPC_CheckTypeI32,
52564 OPC_MoveParent,
52565 OPC_MoveParent,
52566 OPC_CheckType, MVT::f64,
52567 OPC_CheckPatternPredicate, 9,
52568 OPC_EmitInteger32, 8,
52569 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52570 MVT::f128, 2, 1, 0,
52571 OPC_EmitStringInteger32, PPC::sub_64,
52572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52573 MVT::f64, 2, 2, 3,
52574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52575 MVT::f64, 1, 4,
52576 34,
52577 OPC_CheckChild1Integer, 6,
52578 OPC_MoveParent,
52579 OPC_CheckTypeI32,
52580 OPC_MoveParent,
52581 OPC_MoveParent,
52582 OPC_CheckType, MVT::f64,
52583 OPC_CheckPatternPredicate, 9,
52584 OPC_EmitInteger32, 12,
52585 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52586 MVT::f128, 2, 1, 0,
52587 OPC_EmitStringInteger32, PPC::sub_64,
52588 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52589 MVT::f64, 2, 2, 3,
52590 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52591 MVT::f64, 1, 4,
52592 34,
52593 OPC_CheckChild1Integer, 8,
52594 OPC_MoveParent,
52595 OPC_CheckTypeI32,
52596 OPC_MoveParent,
52597 OPC_MoveParent,
52598 OPC_CheckType, MVT::f64,
52599 OPC_CheckPatternPredicate, 9,
52600 OPC_EmitInteger32, 16,
52601 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52602 MVT::f128, 2, 1, 0,
52603 OPC_EmitStringInteger32, PPC::sub_64,
52604 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52605 MVT::f64, 2, 2, 3,
52606 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52607 MVT::f64, 1, 4,
52608 34,
52609 OPC_CheckChild1Integer, 10,
52610 OPC_MoveParent,
52611 OPC_CheckTypeI32,
52612 OPC_MoveParent,
52613 OPC_MoveParent,
52614 OPC_CheckType, MVT::f64,
52615 OPC_CheckPatternPredicate, 9,
52616 OPC_EmitInteger32, 20,
52617 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52618 MVT::f128, 2, 1, 0,
52619 OPC_EmitStringInteger32, PPC::sub_64,
52620 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52621 MVT::f64, 2, 2, 3,
52622 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52623 MVT::f64, 1, 4,
52624 34,
52625 OPC_CheckChild1Integer, 12,
52626 OPC_MoveParent,
52627 OPC_CheckTypeI32,
52628 OPC_MoveParent,
52629 OPC_MoveParent,
52630 OPC_CheckType, MVT::f64,
52631 OPC_CheckPatternPredicate, 9,
52632 OPC_EmitInteger32, 24,
52633 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52634 MVT::f128, 2, 1, 0,
52635 OPC_EmitStringInteger32, PPC::sub_64,
52636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52637 MVT::f64, 2, 2, 3,
52638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52639 MVT::f64, 1, 4,
52640 34,
52641 OPC_CheckChild1Integer, 14,
52642 OPC_MoveParent,
52643 OPC_CheckTypeI32,
52644 OPC_MoveParent,
52645 OPC_MoveParent,
52646 OPC_CheckType, MVT::f64,
52647 OPC_CheckPatternPredicate, 9,
52648 OPC_EmitInteger32, 28,
52649 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52650 MVT::f128, 2, 1, 0,
52651 OPC_EmitStringInteger32, PPC::sub_64,
52652 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52653 MVT::f64, 2, 2, 3,
52654 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52655 MVT::f64, 1, 4,
52656 34,
52657 OPC_CheckChild1Integer, 16,
52658 OPC_MoveParent,
52659 OPC_CheckTypeI32,
52660 OPC_MoveParent,
52661 OPC_MoveParent,
52662 OPC_CheckType, MVT::f64,
52663 OPC_CheckPatternPredicate, 9,
52664 OPC_EmitInteger32, 32,
52665 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52666 MVT::f128, 2, 1, 0,
52667 OPC_EmitStringInteger32, PPC::sub_64,
52668 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52669 MVT::f64, 2, 2, 3,
52670 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52671 MVT::f64, 1, 4,
52672 34,
52673 OPC_CheckChild1Integer, 18,
52674 OPC_MoveParent,
52675 OPC_CheckTypeI32,
52676 OPC_MoveParent,
52677 OPC_MoveParent,
52678 OPC_CheckType, MVT::f64,
52679 OPC_CheckPatternPredicate, 9,
52680 OPC_EmitInteger32, 36,
52681 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52682 MVT::f128, 2, 1, 0,
52683 OPC_EmitStringInteger32, PPC::sub_64,
52684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52685 MVT::f64, 2, 2, 3,
52686 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52687 MVT::f64, 1, 4,
52688 34,
52689 OPC_CheckChild1Integer, 20,
52690 OPC_MoveParent,
52691 OPC_CheckTypeI32,
52692 OPC_MoveParent,
52693 OPC_MoveParent,
52694 OPC_CheckType, MVT::f64,
52695 OPC_CheckPatternPredicate, 9,
52696 OPC_EmitInteger32, 40,
52697 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52698 MVT::f128, 2, 1, 0,
52699 OPC_EmitStringInteger32, PPC::sub_64,
52700 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52701 MVT::f64, 2, 2, 3,
52702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52703 MVT::f64, 1, 4,
52704 34,
52705 OPC_CheckChild1Integer, 22,
52706 OPC_MoveParent,
52707 OPC_CheckTypeI32,
52708 OPC_MoveParent,
52709 OPC_MoveParent,
52710 OPC_CheckType, MVT::f64,
52711 OPC_CheckPatternPredicate, 9,
52712 OPC_EmitInteger32, 44,
52713 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52714 MVT::f128, 2, 1, 0,
52715 OPC_EmitStringInteger32, PPC::sub_64,
52716 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52717 MVT::f64, 2, 2, 3,
52718 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52719 MVT::f64, 1, 4,
52720 34,
52721 OPC_CheckChild1Integer, 24,
52722 OPC_MoveParent,
52723 OPC_CheckTypeI32,
52724 OPC_MoveParent,
52725 OPC_MoveParent,
52726 OPC_CheckType, MVT::f64,
52727 OPC_CheckPatternPredicate, 9,
52728 OPC_EmitInteger32, 48,
52729 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52730 MVT::f128, 2, 1, 0,
52731 OPC_EmitStringInteger32, PPC::sub_64,
52732 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52733 MVT::f64, 2, 2, 3,
52734 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52735 MVT::f64, 1, 4,
52736 34,
52737 OPC_CheckChild1Integer, 26,
52738 OPC_MoveParent,
52739 OPC_CheckTypeI32,
52740 OPC_MoveParent,
52741 OPC_MoveParent,
52742 OPC_CheckType, MVT::f64,
52743 OPC_CheckPatternPredicate, 9,
52744 OPC_EmitInteger32, 52,
52745 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52746 MVT::f128, 2, 1, 0,
52747 OPC_EmitStringInteger32, PPC::sub_64,
52748 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52749 MVT::f64, 2, 2, 3,
52750 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52751 MVT::f64, 1, 4,
52752 34,
52753 OPC_CheckChild1Integer, 28,
52754 OPC_MoveParent,
52755 OPC_CheckTypeI32,
52756 OPC_MoveParent,
52757 OPC_MoveParent,
52758 OPC_CheckType, MVT::f64,
52759 OPC_CheckPatternPredicate, 9,
52760 OPC_EmitInteger32, 56,
52761 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52762 MVT::f128, 2, 1, 0,
52763 OPC_EmitStringInteger32, PPC::sub_64,
52764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52765 MVT::f64, 2, 2, 3,
52766 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52767 MVT::f64, 1, 4,
52768 34,
52769 OPC_CheckChild1Integer, 30,
52770 OPC_MoveParent,
52771 OPC_CheckTypeI32,
52772 OPC_MoveParent,
52773 OPC_MoveParent,
52774 OPC_CheckType, MVT::f64,
52775 OPC_CheckPatternPredicate, 9,
52776 OPC_EmitInteger32, 60,
52777 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52778 MVT::f128, 2, 1, 0,
52779 OPC_EmitStringInteger32, PPC::sub_64,
52780 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52781 MVT::f64, 2, 2, 3,
52782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52783 MVT::f64, 1, 4,
52784 0,
52785 29|128,2,
52786 OPC_CheckAndImm, 127|128,127|128,3,
52787 OPC_MoveChild0,
52788 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52789 OPC_RecordChild0,
52790 OPC_CheckChild0Type, MVT::v8i16,
52791 OPC_Scope, 33,
52792 OPC_CheckChild1Integer, 0,
52793 OPC_MoveParent,
52794 OPC_CheckTypeI32,
52795 OPC_MoveParent,
52796 OPC_MoveParent,
52797 OPC_CheckType, MVT::f64,
52798 OPC_CheckPatternPredicate6,
52799 OPC_EmitInteger32, 28,
52800 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52801 MVT::f128, 2, 1, 0,
52802 OPC_EmitStringInteger32, PPC::sub_64,
52803 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52804 MVT::f64, 2, 2, 3,
52805 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52806 MVT::f64, 1, 4,
52807 33,
52808 OPC_CheckChild1Integer, 2,
52809 OPC_MoveParent,
52810 OPC_CheckTypeI32,
52811 OPC_MoveParent,
52812 OPC_MoveParent,
52813 OPC_CheckType, MVT::f64,
52814 OPC_CheckPatternPredicate6,
52815 OPC_EmitInteger32, 24,
52816 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52817 MVT::f128, 2, 1, 0,
52818 OPC_EmitStringInteger32, PPC::sub_64,
52819 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52820 MVT::f64, 2, 2, 3,
52821 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52822 MVT::f64, 1, 4,
52823 33,
52824 OPC_CheckChild1Integer, 4,
52825 OPC_MoveParent,
52826 OPC_CheckTypeI32,
52827 OPC_MoveParent,
52828 OPC_MoveParent,
52829 OPC_CheckType, MVT::f64,
52830 OPC_CheckPatternPredicate6,
52831 OPC_EmitInteger32, 20,
52832 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52833 MVT::f128, 2, 1, 0,
52834 OPC_EmitStringInteger32, PPC::sub_64,
52835 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52836 MVT::f64, 2, 2, 3,
52837 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52838 MVT::f64, 1, 4,
52839 33,
52840 OPC_CheckChild1Integer, 6,
52841 OPC_MoveParent,
52842 OPC_CheckTypeI32,
52843 OPC_MoveParent,
52844 OPC_MoveParent,
52845 OPC_CheckType, MVT::f64,
52846 OPC_CheckPatternPredicate6,
52847 OPC_EmitInteger32, 16,
52848 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52849 MVT::f128, 2, 1, 0,
52850 OPC_EmitStringInteger32, PPC::sub_64,
52851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52852 MVT::f64, 2, 2, 3,
52853 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52854 MVT::f64, 1, 4,
52855 33,
52856 OPC_CheckChild1Integer, 8,
52857 OPC_MoveParent,
52858 OPC_CheckTypeI32,
52859 OPC_MoveParent,
52860 OPC_MoveParent,
52861 OPC_CheckType, MVT::f64,
52862 OPC_CheckPatternPredicate6,
52863 OPC_EmitInteger32, 12,
52864 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52865 MVT::f128, 2, 1, 0,
52866 OPC_EmitStringInteger32, PPC::sub_64,
52867 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52868 MVT::f64, 2, 2, 3,
52869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52870 MVT::f64, 1, 4,
52871 33,
52872 OPC_CheckChild1Integer, 10,
52873 OPC_MoveParent,
52874 OPC_CheckTypeI32,
52875 OPC_MoveParent,
52876 OPC_MoveParent,
52877 OPC_CheckType, MVT::f64,
52878 OPC_CheckPatternPredicate6,
52879 OPC_EmitInteger32, 8,
52880 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52881 MVT::f128, 2, 1, 0,
52882 OPC_EmitStringInteger32, PPC::sub_64,
52883 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52884 MVT::f64, 2, 2, 3,
52885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52886 MVT::f64, 1, 4,
52887 33,
52888 OPC_CheckChild1Integer, 12,
52889 OPC_MoveParent,
52890 OPC_CheckTypeI32,
52891 OPC_MoveParent,
52892 OPC_MoveParent,
52893 OPC_CheckType, MVT::f64,
52894 OPC_CheckPatternPredicate6,
52895 OPC_EmitInteger32, 4,
52896 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52897 MVT::f128, 2, 1, 0,
52898 OPC_EmitStringInteger32, PPC::sub_64,
52899 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52900 MVT::f64, 2, 2, 3,
52901 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52902 MVT::f64, 1, 4,
52903 33,
52904 OPC_CheckChild1Integer, 14,
52905 OPC_MoveParent,
52906 OPC_CheckTypeI32,
52907 OPC_MoveParent,
52908 OPC_MoveParent,
52909 OPC_CheckType, MVT::f64,
52910 OPC_CheckPatternPredicate6,
52911 OPC_EmitInteger32, 0,
52912 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
52913 MVT::f128, 2, 1, 0,
52914 OPC_EmitStringInteger32, PPC::sub_64,
52915 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52916 MVT::f64, 2, 2, 3,
52917 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52918 MVT::f64, 1, 4,
52919 0,
52920 44|128,4,
52921 OPC_CheckAndImm, 127|128,1,
52922 OPC_MoveChild0,
52923 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
52924 OPC_RecordChild0,
52925 OPC_CheckChild0Type, MVT::v16i8,
52926 OPC_Scope, 33,
52927 OPC_CheckChild1Integer, 0,
52928 OPC_MoveParent,
52929 OPC_CheckTypeI32,
52930 OPC_MoveParent,
52931 OPC_MoveParent,
52932 OPC_CheckType, MVT::f64,
52933 OPC_CheckPatternPredicate6,
52934 OPC_EmitInteger32, 30,
52935 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52936 MVT::f128, 2, 1, 0,
52937 OPC_EmitStringInteger32, PPC::sub_64,
52938 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52939 MVT::f64, 2, 2, 3,
52940 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52941 MVT::f64, 1, 4,
52942 33,
52943 OPC_CheckChild1Integer, 2,
52944 OPC_MoveParent,
52945 OPC_CheckTypeI32,
52946 OPC_MoveParent,
52947 OPC_MoveParent,
52948 OPC_CheckType, MVT::f64,
52949 OPC_CheckPatternPredicate6,
52950 OPC_EmitInteger32, 28,
52951 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52952 MVT::f128, 2, 1, 0,
52953 OPC_EmitStringInteger32, PPC::sub_64,
52954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52955 MVT::f64, 2, 2, 3,
52956 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52957 MVT::f64, 1, 4,
52958 33,
52959 OPC_CheckChild1Integer, 4,
52960 OPC_MoveParent,
52961 OPC_CheckTypeI32,
52962 OPC_MoveParent,
52963 OPC_MoveParent,
52964 OPC_CheckType, MVT::f64,
52965 OPC_CheckPatternPredicate6,
52966 OPC_EmitInteger32, 26,
52967 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52968 MVT::f128, 2, 1, 0,
52969 OPC_EmitStringInteger32, PPC::sub_64,
52970 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52971 MVT::f64, 2, 2, 3,
52972 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52973 MVT::f64, 1, 4,
52974 33,
52975 OPC_CheckChild1Integer, 6,
52976 OPC_MoveParent,
52977 OPC_CheckTypeI32,
52978 OPC_MoveParent,
52979 OPC_MoveParent,
52980 OPC_CheckType, MVT::f64,
52981 OPC_CheckPatternPredicate6,
52982 OPC_EmitInteger32, 24,
52983 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
52984 MVT::f128, 2, 1, 0,
52985 OPC_EmitStringInteger32, PPC::sub_64,
52986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
52987 MVT::f64, 2, 2, 3,
52988 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
52989 MVT::f64, 1, 4,
52990 33,
52991 OPC_CheckChild1Integer, 8,
52992 OPC_MoveParent,
52993 OPC_CheckTypeI32,
52994 OPC_MoveParent,
52995 OPC_MoveParent,
52996 OPC_CheckType, MVT::f64,
52997 OPC_CheckPatternPredicate6,
52998 OPC_EmitInteger32, 22,
52999 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53000 MVT::f128, 2, 1, 0,
53001 OPC_EmitStringInteger32, PPC::sub_64,
53002 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53003 MVT::f64, 2, 2, 3,
53004 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53005 MVT::f64, 1, 4,
53006 33,
53007 OPC_CheckChild1Integer, 10,
53008 OPC_MoveParent,
53009 OPC_CheckTypeI32,
53010 OPC_MoveParent,
53011 OPC_MoveParent,
53012 OPC_CheckType, MVT::f64,
53013 OPC_CheckPatternPredicate6,
53014 OPC_EmitInteger32, 20,
53015 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53016 MVT::f128, 2, 1, 0,
53017 OPC_EmitStringInteger32, PPC::sub_64,
53018 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53019 MVT::f64, 2, 2, 3,
53020 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53021 MVT::f64, 1, 4,
53022 33,
53023 OPC_CheckChild1Integer, 12,
53024 OPC_MoveParent,
53025 OPC_CheckTypeI32,
53026 OPC_MoveParent,
53027 OPC_MoveParent,
53028 OPC_CheckType, MVT::f64,
53029 OPC_CheckPatternPredicate6,
53030 OPC_EmitInteger32, 18,
53031 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53032 MVT::f128, 2, 1, 0,
53033 OPC_EmitStringInteger32, PPC::sub_64,
53034 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53035 MVT::f64, 2, 2, 3,
53036 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53037 MVT::f64, 1, 4,
53038 33,
53039 OPC_CheckChild1Integer, 14,
53040 OPC_MoveParent,
53041 OPC_CheckTypeI32,
53042 OPC_MoveParent,
53043 OPC_MoveParent,
53044 OPC_CheckType, MVT::f64,
53045 OPC_CheckPatternPredicate6,
53046 OPC_EmitInteger32, 16,
53047 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53048 MVT::f128, 2, 1, 0,
53049 OPC_EmitStringInteger32, PPC::sub_64,
53050 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53051 MVT::f64, 2, 2, 3,
53052 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53053 MVT::f64, 1, 4,
53054 33,
53055 OPC_CheckChild1Integer, 16,
53056 OPC_MoveParent,
53057 OPC_CheckTypeI32,
53058 OPC_MoveParent,
53059 OPC_MoveParent,
53060 OPC_CheckType, MVT::f64,
53061 OPC_CheckPatternPredicate6,
53062 OPC_EmitInteger32, 14,
53063 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53064 MVT::f128, 2, 1, 0,
53065 OPC_EmitStringInteger32, PPC::sub_64,
53066 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53067 MVT::f64, 2, 2, 3,
53068 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53069 MVT::f64, 1, 4,
53070 33,
53071 OPC_CheckChild1Integer, 18,
53072 OPC_MoveParent,
53073 OPC_CheckTypeI32,
53074 OPC_MoveParent,
53075 OPC_MoveParent,
53076 OPC_CheckType, MVT::f64,
53077 OPC_CheckPatternPredicate6,
53078 OPC_EmitInteger32, 12,
53079 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53080 MVT::f128, 2, 1, 0,
53081 OPC_EmitStringInteger32, PPC::sub_64,
53082 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53083 MVT::f64, 2, 2, 3,
53084 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53085 MVT::f64, 1, 4,
53086 33,
53087 OPC_CheckChild1Integer, 20,
53088 OPC_MoveParent,
53089 OPC_CheckTypeI32,
53090 OPC_MoveParent,
53091 OPC_MoveParent,
53092 OPC_CheckType, MVT::f64,
53093 OPC_CheckPatternPredicate6,
53094 OPC_EmitInteger32, 10,
53095 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53096 MVT::f128, 2, 1, 0,
53097 OPC_EmitStringInteger32, PPC::sub_64,
53098 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53099 MVT::f64, 2, 2, 3,
53100 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53101 MVT::f64, 1, 4,
53102 33,
53103 OPC_CheckChild1Integer, 22,
53104 OPC_MoveParent,
53105 OPC_CheckTypeI32,
53106 OPC_MoveParent,
53107 OPC_MoveParent,
53108 OPC_CheckType, MVT::f64,
53109 OPC_CheckPatternPredicate6,
53110 OPC_EmitInteger32, 8,
53111 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53112 MVT::f128, 2, 1, 0,
53113 OPC_EmitStringInteger32, PPC::sub_64,
53114 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53115 MVT::f64, 2, 2, 3,
53116 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53117 MVT::f64, 1, 4,
53118 33,
53119 OPC_CheckChild1Integer, 24,
53120 OPC_MoveParent,
53121 OPC_CheckTypeI32,
53122 OPC_MoveParent,
53123 OPC_MoveParent,
53124 OPC_CheckType, MVT::f64,
53125 OPC_CheckPatternPredicate6,
53126 OPC_EmitInteger32, 6,
53127 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53128 MVT::f128, 2, 1, 0,
53129 OPC_EmitStringInteger32, PPC::sub_64,
53130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53131 MVT::f64, 2, 2, 3,
53132 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53133 MVT::f64, 1, 4,
53134 33,
53135 OPC_CheckChild1Integer, 26,
53136 OPC_MoveParent,
53137 OPC_CheckTypeI32,
53138 OPC_MoveParent,
53139 OPC_MoveParent,
53140 OPC_CheckType, MVT::f64,
53141 OPC_CheckPatternPredicate6,
53142 OPC_EmitInteger32, 4,
53143 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53144 MVT::f128, 2, 1, 0,
53145 OPC_EmitStringInteger32, PPC::sub_64,
53146 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53147 MVT::f64, 2, 2, 3,
53148 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53149 MVT::f64, 1, 4,
53150 33,
53151 OPC_CheckChild1Integer, 28,
53152 OPC_MoveParent,
53153 OPC_CheckTypeI32,
53154 OPC_MoveParent,
53155 OPC_MoveParent,
53156 OPC_CheckType, MVT::f64,
53157 OPC_CheckPatternPredicate6,
53158 OPC_EmitInteger32, 2,
53159 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53160 MVT::f128, 2, 1, 0,
53161 OPC_EmitStringInteger32, PPC::sub_64,
53162 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53163 MVT::f64, 2, 2, 3,
53164 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53165 MVT::f64, 1, 4,
53166 33,
53167 OPC_CheckChild1Integer, 30,
53168 OPC_MoveParent,
53169 OPC_CheckTypeI32,
53170 OPC_MoveParent,
53171 OPC_MoveParent,
53172 OPC_CheckType, MVT::f64,
53173 OPC_CheckPatternPredicate6,
53174 OPC_EmitInteger32, 0,
53175 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53176 MVT::f128, 2, 1, 0,
53177 OPC_EmitStringInteger32, PPC::sub_64,
53178 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53179 MVT::f64, 2, 2, 3,
53180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53181 MVT::f64, 1, 4,
53182 0,
53183 55|128,1,
53184 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
53185 OPC_RecordChild0,
53186 OPC_CheckTypeI32,
53187 OPC_Scope, 43,
53188 OPC_CheckChild1Integer, 0,
53189 OPC_MoveParent,
53190 OPC_MoveParent,
53191 OPC_CheckType, MVT::f64,
53192 OPC_Scope, 17,
53193 OPC_CheckPatternPredicate, 14,
53194 OPC_EmitInteger32, 0,
53195 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53196 MVT::f64, 2, 0, 1,
53197 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53198 MVT::f64, 1, 2,
53199 16,
53200 OPC_CheckPatternPredicate6,
53201 OPC_EmitInteger32, 24,
53202 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53203 MVT::f64, 2, 0, 1,
53204 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53205 MVT::f64, 1, 2,
53206 0,
53207 43,
53208 OPC_CheckChild1Integer, 2,
53209 OPC_MoveParent,
53210 OPC_MoveParent,
53211 OPC_CheckType, MVT::f64,
53212 OPC_Scope, 17,
53213 OPC_CheckPatternPredicate, 14,
53214 OPC_EmitInteger32, 8,
53215 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53216 MVT::f64, 2, 0, 1,
53217 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53218 MVT::f64, 1, 2,
53219 16,
53220 OPC_CheckPatternPredicate6,
53221 OPC_EmitInteger32, 16,
53222 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53223 MVT::f64, 2, 0, 1,
53224 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53225 MVT::f64, 1, 2,
53226 0,
53227 43,
53228 OPC_CheckChild1Integer, 4,
53229 OPC_MoveParent,
53230 OPC_MoveParent,
53231 OPC_CheckType, MVT::f64,
53232 OPC_Scope, 17,
53233 OPC_CheckPatternPredicate, 14,
53234 OPC_EmitInteger32, 16,
53235 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53236 MVT::f64, 2, 0, 1,
53237 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53238 MVT::f64, 1, 2,
53239 16,
53240 OPC_CheckPatternPredicate6,
53241 OPC_EmitInteger32, 8,
53242 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53243 MVT::f64, 2, 0, 1,
53244 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53245 MVT::f64, 1, 2,
53246 0,
53247 43,
53248 OPC_CheckChild1Integer, 6,
53249 OPC_MoveParent,
53250 OPC_MoveParent,
53251 OPC_CheckType, MVT::f64,
53252 OPC_Scope, 17,
53253 OPC_CheckPatternPredicate, 14,
53254 OPC_EmitInteger32, 24,
53255 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53256 MVT::f64, 2, 0, 1,
53257 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53258 MVT::f64, 1, 2,
53259 16,
53260 OPC_CheckPatternPredicate6,
53261 OPC_EmitInteger32, 0,
53262 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
53263 MVT::f64, 2, 0, 1,
53264 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53265 MVT::f64, 1, 2,
53266 0,
53267 0,
53268 0,
53269 64|128,6, TARGET_VAL(PPCISD::MTVSRA),
53270 OPC_MoveChild0,
53271 OPC_SwitchOpcode , 57|128,5, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
53272 OPC_MoveChild0,
53273 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
53274 OPC_RecordChild0,
53275 OPC_CheckChild0Type, MVT::v16i8,
53276 OPC_Scope, 42,
53277 OPC_CheckChild1Integer, 0,
53278 OPC_MoveSibling1,
53279 OPC_CheckValueType, MVT::i8,
53280 OPC_MoveParent,
53281 OPC_CheckTypeI32,
53282 OPC_MoveParent,
53283 OPC_MoveParent,
53284 OPC_CheckType, MVT::f64,
53285 OPC_CheckPatternPredicate6,
53286 OPC_EmitInteger32, 30,
53287 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53288 MVT::f128, 2, 1, 0,
53289 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53290 MVT::f128, 1, 2,
53291 OPC_EmitStringInteger32, PPC::sub_64,
53292 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53293 MVT::f64, 2, 3, 4,
53294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53295 MVT::f64, 1, 5,
53296 42,
53297 OPC_CheckChild1Integer, 2,
53298 OPC_MoveSibling1,
53299 OPC_CheckValueType, MVT::i8,
53300 OPC_MoveParent,
53301 OPC_CheckTypeI32,
53302 OPC_MoveParent,
53303 OPC_MoveParent,
53304 OPC_CheckType, MVT::f64,
53305 OPC_CheckPatternPredicate6,
53306 OPC_EmitInteger32, 28,
53307 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53308 MVT::f128, 2, 1, 0,
53309 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53310 MVT::f128, 1, 2,
53311 OPC_EmitStringInteger32, PPC::sub_64,
53312 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53313 MVT::f64, 2, 3, 4,
53314 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53315 MVT::f64, 1, 5,
53316 42,
53317 OPC_CheckChild1Integer, 4,
53318 OPC_MoveSibling1,
53319 OPC_CheckValueType, MVT::i8,
53320 OPC_MoveParent,
53321 OPC_CheckTypeI32,
53322 OPC_MoveParent,
53323 OPC_MoveParent,
53324 OPC_CheckType, MVT::f64,
53325 OPC_CheckPatternPredicate6,
53326 OPC_EmitInteger32, 26,
53327 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53328 MVT::f128, 2, 1, 0,
53329 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53330 MVT::f128, 1, 2,
53331 OPC_EmitStringInteger32, PPC::sub_64,
53332 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53333 MVT::f64, 2, 3, 4,
53334 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53335 MVT::f64, 1, 5,
53336 42,
53337 OPC_CheckChild1Integer, 6,
53338 OPC_MoveSibling1,
53339 OPC_CheckValueType, MVT::i8,
53340 OPC_MoveParent,
53341 OPC_CheckTypeI32,
53342 OPC_MoveParent,
53343 OPC_MoveParent,
53344 OPC_CheckType, MVT::f64,
53345 OPC_CheckPatternPredicate6,
53346 OPC_EmitInteger32, 24,
53347 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53348 MVT::f128, 2, 1, 0,
53349 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53350 MVT::f128, 1, 2,
53351 OPC_EmitStringInteger32, PPC::sub_64,
53352 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53353 MVT::f64, 2, 3, 4,
53354 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53355 MVT::f64, 1, 5,
53356 42,
53357 OPC_CheckChild1Integer, 8,
53358 OPC_MoveSibling1,
53359 OPC_CheckValueType, MVT::i8,
53360 OPC_MoveParent,
53361 OPC_CheckTypeI32,
53362 OPC_MoveParent,
53363 OPC_MoveParent,
53364 OPC_CheckType, MVT::f64,
53365 OPC_CheckPatternPredicate6,
53366 OPC_EmitInteger32, 22,
53367 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53368 MVT::f128, 2, 1, 0,
53369 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53370 MVT::f128, 1, 2,
53371 OPC_EmitStringInteger32, PPC::sub_64,
53372 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53373 MVT::f64, 2, 3, 4,
53374 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53375 MVT::f64, 1, 5,
53376 42,
53377 OPC_CheckChild1Integer, 10,
53378 OPC_MoveSibling1,
53379 OPC_CheckValueType, MVT::i8,
53380 OPC_MoveParent,
53381 OPC_CheckTypeI32,
53382 OPC_MoveParent,
53383 OPC_MoveParent,
53384 OPC_CheckType, MVT::f64,
53385 OPC_CheckPatternPredicate6,
53386 OPC_EmitInteger32, 20,
53387 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53388 MVT::f128, 2, 1, 0,
53389 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53390 MVT::f128, 1, 2,
53391 OPC_EmitStringInteger32, PPC::sub_64,
53392 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53393 MVT::f64, 2, 3, 4,
53394 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53395 MVT::f64, 1, 5,
53396 42,
53397 OPC_CheckChild1Integer, 12,
53398 OPC_MoveSibling1,
53399 OPC_CheckValueType, MVT::i8,
53400 OPC_MoveParent,
53401 OPC_CheckTypeI32,
53402 OPC_MoveParent,
53403 OPC_MoveParent,
53404 OPC_CheckType, MVT::f64,
53405 OPC_CheckPatternPredicate6,
53406 OPC_EmitInteger32, 18,
53407 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53408 MVT::f128, 2, 1, 0,
53409 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53410 MVT::f128, 1, 2,
53411 OPC_EmitStringInteger32, PPC::sub_64,
53412 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53413 MVT::f64, 2, 3, 4,
53414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53415 MVT::f64, 1, 5,
53416 42,
53417 OPC_CheckChild1Integer, 14,
53418 OPC_MoveSibling1,
53419 OPC_CheckValueType, MVT::i8,
53420 OPC_MoveParent,
53421 OPC_CheckTypeI32,
53422 OPC_MoveParent,
53423 OPC_MoveParent,
53424 OPC_CheckType, MVT::f64,
53425 OPC_CheckPatternPredicate6,
53426 OPC_EmitInteger32, 16,
53427 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53428 MVT::f128, 2, 1, 0,
53429 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53430 MVT::f128, 1, 2,
53431 OPC_EmitStringInteger32, PPC::sub_64,
53432 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53433 MVT::f64, 2, 3, 4,
53434 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53435 MVT::f64, 1, 5,
53436 42,
53437 OPC_CheckChild1Integer, 16,
53438 OPC_MoveSibling1,
53439 OPC_CheckValueType, MVT::i8,
53440 OPC_MoveParent,
53441 OPC_CheckTypeI32,
53442 OPC_MoveParent,
53443 OPC_MoveParent,
53444 OPC_CheckType, MVT::f64,
53445 OPC_CheckPatternPredicate6,
53446 OPC_EmitInteger32, 14,
53447 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53448 MVT::f128, 2, 1, 0,
53449 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53450 MVT::f128, 1, 2,
53451 OPC_EmitStringInteger32, PPC::sub_64,
53452 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53453 MVT::f64, 2, 3, 4,
53454 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53455 MVT::f64, 1, 5,
53456 42,
53457 OPC_CheckChild1Integer, 18,
53458 OPC_MoveSibling1,
53459 OPC_CheckValueType, MVT::i8,
53460 OPC_MoveParent,
53461 OPC_CheckTypeI32,
53462 OPC_MoveParent,
53463 OPC_MoveParent,
53464 OPC_CheckType, MVT::f64,
53465 OPC_CheckPatternPredicate6,
53466 OPC_EmitInteger32, 12,
53467 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53468 MVT::f128, 2, 1, 0,
53469 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53470 MVT::f128, 1, 2,
53471 OPC_EmitStringInteger32, PPC::sub_64,
53472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53473 MVT::f64, 2, 3, 4,
53474 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53475 MVT::f64, 1, 5,
53476 42,
53477 OPC_CheckChild1Integer, 20,
53478 OPC_MoveSibling1,
53479 OPC_CheckValueType, MVT::i8,
53480 OPC_MoveParent,
53481 OPC_CheckTypeI32,
53482 OPC_MoveParent,
53483 OPC_MoveParent,
53484 OPC_CheckType, MVT::f64,
53485 OPC_CheckPatternPredicate6,
53486 OPC_EmitInteger32, 10,
53487 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53488 MVT::f128, 2, 1, 0,
53489 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53490 MVT::f128, 1, 2,
53491 OPC_EmitStringInteger32, PPC::sub_64,
53492 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53493 MVT::f64, 2, 3, 4,
53494 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53495 MVT::f64, 1, 5,
53496 42,
53497 OPC_CheckChild1Integer, 22,
53498 OPC_MoveSibling1,
53499 OPC_CheckValueType, MVT::i8,
53500 OPC_MoveParent,
53501 OPC_CheckTypeI32,
53502 OPC_MoveParent,
53503 OPC_MoveParent,
53504 OPC_CheckType, MVT::f64,
53505 OPC_CheckPatternPredicate6,
53506 OPC_EmitInteger32, 8,
53507 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53508 MVT::f128, 2, 1, 0,
53509 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53510 MVT::f128, 1, 2,
53511 OPC_EmitStringInteger32, PPC::sub_64,
53512 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53513 MVT::f64, 2, 3, 4,
53514 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53515 MVT::f64, 1, 5,
53516 42,
53517 OPC_CheckChild1Integer, 24,
53518 OPC_MoveSibling1,
53519 OPC_CheckValueType, MVT::i8,
53520 OPC_MoveParent,
53521 OPC_CheckTypeI32,
53522 OPC_MoveParent,
53523 OPC_MoveParent,
53524 OPC_CheckType, MVT::f64,
53525 OPC_CheckPatternPredicate6,
53526 OPC_EmitInteger32, 6,
53527 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53528 MVT::f128, 2, 1, 0,
53529 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53530 MVT::f128, 1, 2,
53531 OPC_EmitStringInteger32, PPC::sub_64,
53532 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53533 MVT::f64, 2, 3, 4,
53534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53535 MVT::f64, 1, 5,
53536 42,
53537 OPC_CheckChild1Integer, 26,
53538 OPC_MoveSibling1,
53539 OPC_CheckValueType, MVT::i8,
53540 OPC_MoveParent,
53541 OPC_CheckTypeI32,
53542 OPC_MoveParent,
53543 OPC_MoveParent,
53544 OPC_CheckType, MVT::f64,
53545 OPC_CheckPatternPredicate6,
53546 OPC_EmitInteger32, 4,
53547 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53548 MVT::f128, 2, 1, 0,
53549 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53550 MVT::f128, 1, 2,
53551 OPC_EmitStringInteger32, PPC::sub_64,
53552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53553 MVT::f64, 2, 3, 4,
53554 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53555 MVT::f64, 1, 5,
53556 42,
53557 OPC_CheckChild1Integer, 28,
53558 OPC_MoveSibling1,
53559 OPC_CheckValueType, MVT::i8,
53560 OPC_MoveParent,
53561 OPC_CheckTypeI32,
53562 OPC_MoveParent,
53563 OPC_MoveParent,
53564 OPC_CheckType, MVT::f64,
53565 OPC_CheckPatternPredicate6,
53566 OPC_EmitInteger32, 2,
53567 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53568 MVT::f128, 2, 1, 0,
53569 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53570 MVT::f128, 1, 2,
53571 OPC_EmitStringInteger32, PPC::sub_64,
53572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53573 MVT::f64, 2, 3, 4,
53574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53575 MVT::f64, 1, 5,
53576 42,
53577 OPC_CheckChild1Integer, 30,
53578 OPC_MoveSibling1,
53579 OPC_CheckValueType, MVT::i8,
53580 OPC_MoveParent,
53581 OPC_CheckTypeI32,
53582 OPC_MoveParent,
53583 OPC_MoveParent,
53584 OPC_CheckType, MVT::f64,
53585 OPC_CheckPatternPredicate6,
53586 OPC_EmitInteger32, 0,
53587 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53588 MVT::f128, 2, 1, 0,
53589 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
53590 MVT::f128, 1, 2,
53591 OPC_EmitStringInteger32, PPC::sub_64,
53592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53593 MVT::f64, 2, 3, 4,
53594 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
53595 MVT::f64, 1, 5,
53596 0,
53597 125, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
53598 OPC_RecordChild0,
53599 OPC_CheckChild0Type, MVT::v2i64,
53600 OPC_CheckTypeI64,
53601 OPC_Scope, 54,
53602 OPC_CheckChild1Integer, 0,
53603 OPC_MoveParent,
53604 OPC_MoveParent,
53605 OPC_CheckType, MVT::f64,
53606 OPC_Scope, 17,
53607 OPC_CheckPatternPredicate, 17,
53608 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
53609 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
53610 MVT::f64, 2, 0, 1,
53611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53612 MVT::f64, 1, 2,
53613 27,
53614 OPC_CheckPatternPredicate, 13,
53615 OPC_EmitInteger32, 4,
53616 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
53617 MVT::v4i32, 3, 0, 0, 1,
53618 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
53619 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
53620 MVT::f64, 2, 2, 3,
53621 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53622 MVT::f64, 1, 4,
53623 0,
53624 63,
53625 OPC_CheckChild1Integer, 2,
53626 OPC_MoveParent,
53627 OPC_MoveParent,
53628 OPC_CheckType, MVT::f64,
53629 OPC_Scope, 27,
53630 OPC_CheckPatternPredicate, 17,
53631 OPC_EmitInteger32, 4,
53632 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
53633 MVT::v4i32, 3, 0, 0, 1,
53634 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
53635 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
53636 MVT::f64, 2, 2, 3,
53637 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53638 MVT::f64, 1, 4,
53639 26,
53640 OPC_CheckPatternPredicate, 13,
53641 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
53642 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
53643 MVT::f64, 2, 0, 1,
53644 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
53645 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
53646 MVT::f64, 2, 2, 3,
53647 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53648 MVT::f64, 1, 4,
53649 0,
53650 0,
53651 0,
53652 0,
53653 20,
53654 OPC_RecordChild0,
53655 OPC_CheckType, MVT::f64,
53656 OPC_Scope, 7,
53657 OPC_CheckPatternPredicate2,
53658 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUXDDP),
53659 MVT::f64, 1, 0,
53660 6,
53661 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDU),
53662 MVT::f64, 1, 0,
53663 0,
53664 0,
53665 108|128,17, TARGET_VAL(ISD::UINT_TO_FP),
53666 OPC_Scope, 12|128,17,
53667 OPC_MoveChild0,
53668 OPC_Scope, 29|128,2,
53669 OPC_CheckAndImm, 127|128,127|128,3,
53670 OPC_MoveChild0,
53671 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
53672 OPC_RecordChild0,
53673 OPC_CheckChild0Type, MVT::v8i16,
53674 OPC_Scope, 33,
53675 OPC_CheckChild1Integer, 0,
53676 OPC_MoveParent,
53677 OPC_CheckTypeI32,
53678 OPC_MoveParent,
53679 OPC_CheckType, MVT::f128,
53680 OPC_CheckPatternPredicate, 9,
53681 OPC_EmitInteger32, 0,
53682 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53683 MVT::f128, 2, 1, 0,
53684 OPC_EmitStringInteger32, PPC::sub_64,
53685 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53686 MVT::f64, 2, 2, 3,
53687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53688 MVT::f128, 1, 4,
53689 33,
53690 OPC_CheckChild1Integer, 2,
53691 OPC_MoveParent,
53692 OPC_CheckTypeI32,
53693 OPC_MoveParent,
53694 OPC_CheckType, MVT::f128,
53695 OPC_CheckPatternPredicate, 9,
53696 OPC_EmitInteger32, 4,
53697 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53698 MVT::f128, 2, 1, 0,
53699 OPC_EmitStringInteger32, PPC::sub_64,
53700 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53701 MVT::f64, 2, 2, 3,
53702 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53703 MVT::f128, 1, 4,
53704 33,
53705 OPC_CheckChild1Integer, 4,
53706 OPC_MoveParent,
53707 OPC_CheckTypeI32,
53708 OPC_MoveParent,
53709 OPC_CheckType, MVT::f128,
53710 OPC_CheckPatternPredicate, 9,
53711 OPC_EmitInteger32, 8,
53712 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53713 MVT::f128, 2, 1, 0,
53714 OPC_EmitStringInteger32, PPC::sub_64,
53715 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53716 MVT::f64, 2, 2, 3,
53717 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53718 MVT::f128, 1, 4,
53719 33,
53720 OPC_CheckChild1Integer, 6,
53721 OPC_MoveParent,
53722 OPC_CheckTypeI32,
53723 OPC_MoveParent,
53724 OPC_CheckType, MVT::f128,
53725 OPC_CheckPatternPredicate, 9,
53726 OPC_EmitInteger32, 12,
53727 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53728 MVT::f128, 2, 1, 0,
53729 OPC_EmitStringInteger32, PPC::sub_64,
53730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53731 MVT::f64, 2, 2, 3,
53732 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53733 MVT::f128, 1, 4,
53734 33,
53735 OPC_CheckChild1Integer, 8,
53736 OPC_MoveParent,
53737 OPC_CheckTypeI32,
53738 OPC_MoveParent,
53739 OPC_CheckType, MVT::f128,
53740 OPC_CheckPatternPredicate, 9,
53741 OPC_EmitInteger32, 16,
53742 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53743 MVT::f128, 2, 1, 0,
53744 OPC_EmitStringInteger32, PPC::sub_64,
53745 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53746 MVT::f64, 2, 2, 3,
53747 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53748 MVT::f128, 1, 4,
53749 33,
53750 OPC_CheckChild1Integer, 10,
53751 OPC_MoveParent,
53752 OPC_CheckTypeI32,
53753 OPC_MoveParent,
53754 OPC_CheckType, MVT::f128,
53755 OPC_CheckPatternPredicate, 9,
53756 OPC_EmitInteger32, 20,
53757 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53758 MVT::f128, 2, 1, 0,
53759 OPC_EmitStringInteger32, PPC::sub_64,
53760 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53761 MVT::f64, 2, 2, 3,
53762 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53763 MVT::f128, 1, 4,
53764 33,
53765 OPC_CheckChild1Integer, 12,
53766 OPC_MoveParent,
53767 OPC_CheckTypeI32,
53768 OPC_MoveParent,
53769 OPC_CheckType, MVT::f128,
53770 OPC_CheckPatternPredicate, 9,
53771 OPC_EmitInteger32, 24,
53772 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53773 MVT::f128, 2, 1, 0,
53774 OPC_EmitStringInteger32, PPC::sub_64,
53775 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53776 MVT::f64, 2, 2, 3,
53777 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53778 MVT::f128, 1, 4,
53779 33,
53780 OPC_CheckChild1Integer, 14,
53781 OPC_MoveParent,
53782 OPC_CheckTypeI32,
53783 OPC_MoveParent,
53784 OPC_CheckType, MVT::f128,
53785 OPC_CheckPatternPredicate, 9,
53786 OPC_EmitInteger32, 28,
53787 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
53788 MVT::f128, 2, 1, 0,
53789 OPC_EmitStringInteger32, PPC::sub_64,
53790 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53791 MVT::f64, 2, 2, 3,
53792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53793 MVT::f128, 1, 4,
53794 0,
53795 44|128,4,
53796 OPC_CheckAndImm, 127|128,1,
53797 OPC_MoveChild0,
53798 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
53799 OPC_RecordChild0,
53800 OPC_CheckChild0Type, MVT::v16i8,
53801 OPC_Scope, 33,
53802 OPC_CheckChild1Integer, 0,
53803 OPC_MoveParent,
53804 OPC_CheckTypeI32,
53805 OPC_MoveParent,
53806 OPC_CheckType, MVT::f128,
53807 OPC_CheckPatternPredicate, 9,
53808 OPC_EmitInteger32, 0,
53809 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53810 MVT::f128, 2, 1, 0,
53811 OPC_EmitStringInteger32, PPC::sub_64,
53812 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53813 MVT::f64, 2, 2, 3,
53814 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53815 MVT::f128, 1, 4,
53816 33,
53817 OPC_CheckChild1Integer, 2,
53818 OPC_MoveParent,
53819 OPC_CheckTypeI32,
53820 OPC_MoveParent,
53821 OPC_CheckType, MVT::f128,
53822 OPC_CheckPatternPredicate, 9,
53823 OPC_EmitInteger32, 2,
53824 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53825 MVT::f128, 2, 1, 0,
53826 OPC_EmitStringInteger32, PPC::sub_64,
53827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53828 MVT::f64, 2, 2, 3,
53829 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53830 MVT::f128, 1, 4,
53831 33,
53832 OPC_CheckChild1Integer, 4,
53833 OPC_MoveParent,
53834 OPC_CheckTypeI32,
53835 OPC_MoveParent,
53836 OPC_CheckType, MVT::f128,
53837 OPC_CheckPatternPredicate, 9,
53838 OPC_EmitInteger32, 4,
53839 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53840 MVT::f128, 2, 1, 0,
53841 OPC_EmitStringInteger32, PPC::sub_64,
53842 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53843 MVT::f64, 2, 2, 3,
53844 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53845 MVT::f128, 1, 4,
53846 33,
53847 OPC_CheckChild1Integer, 6,
53848 OPC_MoveParent,
53849 OPC_CheckTypeI32,
53850 OPC_MoveParent,
53851 OPC_CheckType, MVT::f128,
53852 OPC_CheckPatternPredicate, 9,
53853 OPC_EmitInteger32, 6,
53854 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53855 MVT::f128, 2, 1, 0,
53856 OPC_EmitStringInteger32, PPC::sub_64,
53857 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53858 MVT::f64, 2, 2, 3,
53859 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53860 MVT::f128, 1, 4,
53861 33,
53862 OPC_CheckChild1Integer, 8,
53863 OPC_MoveParent,
53864 OPC_CheckTypeI32,
53865 OPC_MoveParent,
53866 OPC_CheckType, MVT::f128,
53867 OPC_CheckPatternPredicate, 9,
53868 OPC_EmitInteger32, 8,
53869 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53870 MVT::f128, 2, 1, 0,
53871 OPC_EmitStringInteger32, PPC::sub_64,
53872 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53873 MVT::f64, 2, 2, 3,
53874 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53875 MVT::f128, 1, 4,
53876 33,
53877 OPC_CheckChild1Integer, 10,
53878 OPC_MoveParent,
53879 OPC_CheckTypeI32,
53880 OPC_MoveParent,
53881 OPC_CheckType, MVT::f128,
53882 OPC_CheckPatternPredicate, 9,
53883 OPC_EmitInteger32, 10,
53884 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53885 MVT::f128, 2, 1, 0,
53886 OPC_EmitStringInteger32, PPC::sub_64,
53887 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53888 MVT::f64, 2, 2, 3,
53889 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53890 MVT::f128, 1, 4,
53891 33,
53892 OPC_CheckChild1Integer, 12,
53893 OPC_MoveParent,
53894 OPC_CheckTypeI32,
53895 OPC_MoveParent,
53896 OPC_CheckType, MVT::f128,
53897 OPC_CheckPatternPredicate, 9,
53898 OPC_EmitInteger32, 12,
53899 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53900 MVT::f128, 2, 1, 0,
53901 OPC_EmitStringInteger32, PPC::sub_64,
53902 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53903 MVT::f64, 2, 2, 3,
53904 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53905 MVT::f128, 1, 4,
53906 33,
53907 OPC_CheckChild1Integer, 14,
53908 OPC_MoveParent,
53909 OPC_CheckTypeI32,
53910 OPC_MoveParent,
53911 OPC_CheckType, MVT::f128,
53912 OPC_CheckPatternPredicate, 9,
53913 OPC_EmitInteger32, 14,
53914 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53915 MVT::f128, 2, 1, 0,
53916 OPC_EmitStringInteger32, PPC::sub_64,
53917 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53918 MVT::f64, 2, 2, 3,
53919 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53920 MVT::f128, 1, 4,
53921 33,
53922 OPC_CheckChild1Integer, 16,
53923 OPC_MoveParent,
53924 OPC_CheckTypeI32,
53925 OPC_MoveParent,
53926 OPC_CheckType, MVT::f128,
53927 OPC_CheckPatternPredicate, 9,
53928 OPC_EmitInteger32, 16,
53929 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53930 MVT::f128, 2, 1, 0,
53931 OPC_EmitStringInteger32, PPC::sub_64,
53932 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53933 MVT::f64, 2, 2, 3,
53934 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53935 MVT::f128, 1, 4,
53936 33,
53937 OPC_CheckChild1Integer, 18,
53938 OPC_MoveParent,
53939 OPC_CheckTypeI32,
53940 OPC_MoveParent,
53941 OPC_CheckType, MVT::f128,
53942 OPC_CheckPatternPredicate, 9,
53943 OPC_EmitInteger32, 18,
53944 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53945 MVT::f128, 2, 1, 0,
53946 OPC_EmitStringInteger32, PPC::sub_64,
53947 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53948 MVT::f64, 2, 2, 3,
53949 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53950 MVT::f128, 1, 4,
53951 33,
53952 OPC_CheckChild1Integer, 20,
53953 OPC_MoveParent,
53954 OPC_CheckTypeI32,
53955 OPC_MoveParent,
53956 OPC_CheckType, MVT::f128,
53957 OPC_CheckPatternPredicate, 9,
53958 OPC_EmitInteger32, 20,
53959 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53960 MVT::f128, 2, 1, 0,
53961 OPC_EmitStringInteger32, PPC::sub_64,
53962 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53963 MVT::f64, 2, 2, 3,
53964 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53965 MVT::f128, 1, 4,
53966 33,
53967 OPC_CheckChild1Integer, 22,
53968 OPC_MoveParent,
53969 OPC_CheckTypeI32,
53970 OPC_MoveParent,
53971 OPC_CheckType, MVT::f128,
53972 OPC_CheckPatternPredicate, 9,
53973 OPC_EmitInteger32, 22,
53974 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53975 MVT::f128, 2, 1, 0,
53976 OPC_EmitStringInteger32, PPC::sub_64,
53977 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53978 MVT::f64, 2, 2, 3,
53979 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53980 MVT::f128, 1, 4,
53981 33,
53982 OPC_CheckChild1Integer, 24,
53983 OPC_MoveParent,
53984 OPC_CheckTypeI32,
53985 OPC_MoveParent,
53986 OPC_CheckType, MVT::f128,
53987 OPC_CheckPatternPredicate, 9,
53988 OPC_EmitInteger32, 24,
53989 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
53990 MVT::f128, 2, 1, 0,
53991 OPC_EmitStringInteger32, PPC::sub_64,
53992 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
53993 MVT::f64, 2, 2, 3,
53994 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
53995 MVT::f128, 1, 4,
53996 33,
53997 OPC_CheckChild1Integer, 26,
53998 OPC_MoveParent,
53999 OPC_CheckTypeI32,
54000 OPC_MoveParent,
54001 OPC_CheckType, MVT::f128,
54002 OPC_CheckPatternPredicate, 9,
54003 OPC_EmitInteger32, 26,
54004 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54005 MVT::f128, 2, 1, 0,
54006 OPC_EmitStringInteger32, PPC::sub_64,
54007 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54008 MVT::f64, 2, 2, 3,
54009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54010 MVT::f128, 1, 4,
54011 33,
54012 OPC_CheckChild1Integer, 28,
54013 OPC_MoveParent,
54014 OPC_CheckTypeI32,
54015 OPC_MoveParent,
54016 OPC_CheckType, MVT::f128,
54017 OPC_CheckPatternPredicate, 9,
54018 OPC_EmitInteger32, 28,
54019 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54020 MVT::f128, 2, 1, 0,
54021 OPC_EmitStringInteger32, PPC::sub_64,
54022 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54023 MVT::f64, 2, 2, 3,
54024 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54025 MVT::f128, 1, 4,
54026 33,
54027 OPC_CheckChild1Integer, 30,
54028 OPC_MoveParent,
54029 OPC_CheckTypeI32,
54030 OPC_MoveParent,
54031 OPC_CheckType, MVT::f128,
54032 OPC_CheckPatternPredicate, 9,
54033 OPC_EmitInteger32, 30,
54034 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54035 MVT::f128, 2, 1, 0,
54036 OPC_EmitStringInteger32, PPC::sub_64,
54037 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54038 MVT::f64, 2, 2, 3,
54039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54040 MVT::f128, 1, 4,
54041 0,
54042 21|128,2,
54043 OPC_CheckAndImm, 127|128,127|128,3,
54044 OPC_MoveChild0,
54045 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
54046 OPC_RecordChild0,
54047 OPC_CheckChild0Type, MVT::v8i16,
54048 OPC_Scope, 32,
54049 OPC_CheckChild1Integer, 0,
54050 OPC_MoveParent,
54051 OPC_CheckTypeI32,
54052 OPC_MoveParent,
54053 OPC_CheckType, MVT::f128,
54054 OPC_CheckPatternPredicate6,
54055 OPC_EmitInteger32, 28,
54056 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54057 MVT::f128, 2, 1, 0,
54058 OPC_EmitStringInteger32, PPC::sub_64,
54059 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54060 MVT::f64, 2, 2, 3,
54061 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54062 MVT::f128, 1, 4,
54063 32,
54064 OPC_CheckChild1Integer, 2,
54065 OPC_MoveParent,
54066 OPC_CheckTypeI32,
54067 OPC_MoveParent,
54068 OPC_CheckType, MVT::f128,
54069 OPC_CheckPatternPredicate6,
54070 OPC_EmitInteger32, 24,
54071 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54072 MVT::f128, 2, 1, 0,
54073 OPC_EmitStringInteger32, PPC::sub_64,
54074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54075 MVT::f64, 2, 2, 3,
54076 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54077 MVT::f128, 1, 4,
54078 32,
54079 OPC_CheckChild1Integer, 4,
54080 OPC_MoveParent,
54081 OPC_CheckTypeI32,
54082 OPC_MoveParent,
54083 OPC_CheckType, MVT::f128,
54084 OPC_CheckPatternPredicate6,
54085 OPC_EmitInteger32, 20,
54086 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54087 MVT::f128, 2, 1, 0,
54088 OPC_EmitStringInteger32, PPC::sub_64,
54089 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54090 MVT::f64, 2, 2, 3,
54091 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54092 MVT::f128, 1, 4,
54093 32,
54094 OPC_CheckChild1Integer, 6,
54095 OPC_MoveParent,
54096 OPC_CheckTypeI32,
54097 OPC_MoveParent,
54098 OPC_CheckType, MVT::f128,
54099 OPC_CheckPatternPredicate6,
54100 OPC_EmitInteger32, 16,
54101 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54102 MVT::f128, 2, 1, 0,
54103 OPC_EmitStringInteger32, PPC::sub_64,
54104 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54105 MVT::f64, 2, 2, 3,
54106 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54107 MVT::f128, 1, 4,
54108 32,
54109 OPC_CheckChild1Integer, 8,
54110 OPC_MoveParent,
54111 OPC_CheckTypeI32,
54112 OPC_MoveParent,
54113 OPC_CheckType, MVT::f128,
54114 OPC_CheckPatternPredicate6,
54115 OPC_EmitInteger32, 12,
54116 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54117 MVT::f128, 2, 1, 0,
54118 OPC_EmitStringInteger32, PPC::sub_64,
54119 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54120 MVT::f64, 2, 2, 3,
54121 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54122 MVT::f128, 1, 4,
54123 32,
54124 OPC_CheckChild1Integer, 10,
54125 OPC_MoveParent,
54126 OPC_CheckTypeI32,
54127 OPC_MoveParent,
54128 OPC_CheckType, MVT::f128,
54129 OPC_CheckPatternPredicate6,
54130 OPC_EmitInteger32, 8,
54131 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54132 MVT::f128, 2, 1, 0,
54133 OPC_EmitStringInteger32, PPC::sub_64,
54134 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54135 MVT::f64, 2, 2, 3,
54136 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54137 MVT::f128, 1, 4,
54138 32,
54139 OPC_CheckChild1Integer, 12,
54140 OPC_MoveParent,
54141 OPC_CheckTypeI32,
54142 OPC_MoveParent,
54143 OPC_CheckType, MVT::f128,
54144 OPC_CheckPatternPredicate6,
54145 OPC_EmitInteger32, 4,
54146 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54147 MVT::f128, 2, 1, 0,
54148 OPC_EmitStringInteger32, PPC::sub_64,
54149 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54150 MVT::f64, 2, 2, 3,
54151 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54152 MVT::f128, 1, 4,
54153 32,
54154 OPC_CheckChild1Integer, 14,
54155 OPC_MoveParent,
54156 OPC_CheckTypeI32,
54157 OPC_MoveParent,
54158 OPC_CheckType, MVT::f128,
54159 OPC_CheckPatternPredicate6,
54160 OPC_EmitInteger32, 0,
54161 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54162 MVT::f128, 2, 1, 0,
54163 OPC_EmitStringInteger32, PPC::sub_64,
54164 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54165 MVT::f64, 2, 2, 3,
54166 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54167 MVT::f128, 1, 4,
54168 0,
54169 28|128,4,
54170 OPC_CheckAndImm, 127|128,1,
54171 OPC_MoveChild0,
54172 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
54173 OPC_RecordChild0,
54174 OPC_CheckChild0Type, MVT::v16i8,
54175 OPC_Scope, 32,
54176 OPC_CheckChild1Integer, 0,
54177 OPC_MoveParent,
54178 OPC_CheckTypeI32,
54179 OPC_MoveParent,
54180 OPC_CheckType, MVT::f128,
54181 OPC_CheckPatternPredicate6,
54182 OPC_EmitInteger32, 30,
54183 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54184 MVT::f128, 2, 1, 0,
54185 OPC_EmitStringInteger32, PPC::sub_64,
54186 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54187 MVT::f64, 2, 2, 3,
54188 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54189 MVT::f128, 1, 4,
54190 32,
54191 OPC_CheckChild1Integer, 2,
54192 OPC_MoveParent,
54193 OPC_CheckTypeI32,
54194 OPC_MoveParent,
54195 OPC_CheckType, MVT::f128,
54196 OPC_CheckPatternPredicate6,
54197 OPC_EmitInteger32, 28,
54198 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54199 MVT::f128, 2, 1, 0,
54200 OPC_EmitStringInteger32, PPC::sub_64,
54201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54202 MVT::f64, 2, 2, 3,
54203 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54204 MVT::f128, 1, 4,
54205 32,
54206 OPC_CheckChild1Integer, 4,
54207 OPC_MoveParent,
54208 OPC_CheckTypeI32,
54209 OPC_MoveParent,
54210 OPC_CheckType, MVT::f128,
54211 OPC_CheckPatternPredicate6,
54212 OPC_EmitInteger32, 26,
54213 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54214 MVT::f128, 2, 1, 0,
54215 OPC_EmitStringInteger32, PPC::sub_64,
54216 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54217 MVT::f64, 2, 2, 3,
54218 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54219 MVT::f128, 1, 4,
54220 32,
54221 OPC_CheckChild1Integer, 6,
54222 OPC_MoveParent,
54223 OPC_CheckTypeI32,
54224 OPC_MoveParent,
54225 OPC_CheckType, MVT::f128,
54226 OPC_CheckPatternPredicate6,
54227 OPC_EmitInteger32, 24,
54228 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54229 MVT::f128, 2, 1, 0,
54230 OPC_EmitStringInteger32, PPC::sub_64,
54231 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54232 MVT::f64, 2, 2, 3,
54233 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54234 MVT::f128, 1, 4,
54235 32,
54236 OPC_CheckChild1Integer, 8,
54237 OPC_MoveParent,
54238 OPC_CheckTypeI32,
54239 OPC_MoveParent,
54240 OPC_CheckType, MVT::f128,
54241 OPC_CheckPatternPredicate6,
54242 OPC_EmitInteger32, 22,
54243 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54244 MVT::f128, 2, 1, 0,
54245 OPC_EmitStringInteger32, PPC::sub_64,
54246 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54247 MVT::f64, 2, 2, 3,
54248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54249 MVT::f128, 1, 4,
54250 32,
54251 OPC_CheckChild1Integer, 10,
54252 OPC_MoveParent,
54253 OPC_CheckTypeI32,
54254 OPC_MoveParent,
54255 OPC_CheckType, MVT::f128,
54256 OPC_CheckPatternPredicate6,
54257 OPC_EmitInteger32, 20,
54258 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54259 MVT::f128, 2, 1, 0,
54260 OPC_EmitStringInteger32, PPC::sub_64,
54261 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54262 MVT::f64, 2, 2, 3,
54263 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54264 MVT::f128, 1, 4,
54265 32,
54266 OPC_CheckChild1Integer, 12,
54267 OPC_MoveParent,
54268 OPC_CheckTypeI32,
54269 OPC_MoveParent,
54270 OPC_CheckType, MVT::f128,
54271 OPC_CheckPatternPredicate6,
54272 OPC_EmitInteger32, 18,
54273 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54274 MVT::f128, 2, 1, 0,
54275 OPC_EmitStringInteger32, PPC::sub_64,
54276 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54277 MVT::f64, 2, 2, 3,
54278 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54279 MVT::f128, 1, 4,
54280 32,
54281 OPC_CheckChild1Integer, 14,
54282 OPC_MoveParent,
54283 OPC_CheckTypeI32,
54284 OPC_MoveParent,
54285 OPC_CheckType, MVT::f128,
54286 OPC_CheckPatternPredicate6,
54287 OPC_EmitInteger32, 16,
54288 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54289 MVT::f128, 2, 1, 0,
54290 OPC_EmitStringInteger32, PPC::sub_64,
54291 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54292 MVT::f64, 2, 2, 3,
54293 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54294 MVT::f128, 1, 4,
54295 32,
54296 OPC_CheckChild1Integer, 16,
54297 OPC_MoveParent,
54298 OPC_CheckTypeI32,
54299 OPC_MoveParent,
54300 OPC_CheckType, MVT::f128,
54301 OPC_CheckPatternPredicate6,
54302 OPC_EmitInteger32, 14,
54303 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54304 MVT::f128, 2, 1, 0,
54305 OPC_EmitStringInteger32, PPC::sub_64,
54306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54307 MVT::f64, 2, 2, 3,
54308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54309 MVT::f128, 1, 4,
54310 32,
54311 OPC_CheckChild1Integer, 18,
54312 OPC_MoveParent,
54313 OPC_CheckTypeI32,
54314 OPC_MoveParent,
54315 OPC_CheckType, MVT::f128,
54316 OPC_CheckPatternPredicate6,
54317 OPC_EmitInteger32, 12,
54318 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54319 MVT::f128, 2, 1, 0,
54320 OPC_EmitStringInteger32, PPC::sub_64,
54321 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54322 MVT::f64, 2, 2, 3,
54323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54324 MVT::f128, 1, 4,
54325 32,
54326 OPC_CheckChild1Integer, 20,
54327 OPC_MoveParent,
54328 OPC_CheckTypeI32,
54329 OPC_MoveParent,
54330 OPC_CheckType, MVT::f128,
54331 OPC_CheckPatternPredicate6,
54332 OPC_EmitInteger32, 10,
54333 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54334 MVT::f128, 2, 1, 0,
54335 OPC_EmitStringInteger32, PPC::sub_64,
54336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54337 MVT::f64, 2, 2, 3,
54338 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54339 MVT::f128, 1, 4,
54340 32,
54341 OPC_CheckChild1Integer, 22,
54342 OPC_MoveParent,
54343 OPC_CheckTypeI32,
54344 OPC_MoveParent,
54345 OPC_CheckType, MVT::f128,
54346 OPC_CheckPatternPredicate6,
54347 OPC_EmitInteger32, 8,
54348 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54349 MVT::f128, 2, 1, 0,
54350 OPC_EmitStringInteger32, PPC::sub_64,
54351 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54352 MVT::f64, 2, 2, 3,
54353 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54354 MVT::f128, 1, 4,
54355 32,
54356 OPC_CheckChild1Integer, 24,
54357 OPC_MoveParent,
54358 OPC_CheckTypeI32,
54359 OPC_MoveParent,
54360 OPC_CheckType, MVT::f128,
54361 OPC_CheckPatternPredicate6,
54362 OPC_EmitInteger32, 6,
54363 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54364 MVT::f128, 2, 1, 0,
54365 OPC_EmitStringInteger32, PPC::sub_64,
54366 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54367 MVT::f64, 2, 2, 3,
54368 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54369 MVT::f128, 1, 4,
54370 32,
54371 OPC_CheckChild1Integer, 26,
54372 OPC_MoveParent,
54373 OPC_CheckTypeI32,
54374 OPC_MoveParent,
54375 OPC_CheckType, MVT::f128,
54376 OPC_CheckPatternPredicate6,
54377 OPC_EmitInteger32, 4,
54378 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54379 MVT::f128, 2, 1, 0,
54380 OPC_EmitStringInteger32, PPC::sub_64,
54381 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54382 MVT::f64, 2, 2, 3,
54383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54384 MVT::f128, 1, 4,
54385 32,
54386 OPC_CheckChild1Integer, 28,
54387 OPC_MoveParent,
54388 OPC_CheckTypeI32,
54389 OPC_MoveParent,
54390 OPC_CheckType, MVT::f128,
54391 OPC_CheckPatternPredicate6,
54392 OPC_EmitInteger32, 2,
54393 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54394 MVT::f128, 2, 1, 0,
54395 OPC_EmitStringInteger32, PPC::sub_64,
54396 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54397 MVT::f64, 2, 2, 3,
54398 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54399 MVT::f128, 1, 4,
54400 32,
54401 OPC_CheckChild1Integer, 30,
54402 OPC_MoveParent,
54403 OPC_CheckTypeI32,
54404 OPC_MoveParent,
54405 OPC_CheckType, MVT::f128,
54406 OPC_CheckPatternPredicate6,
54407 OPC_EmitInteger32, 0,
54408 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
54409 MVT::f128, 2, 1, 0,
54410 OPC_EmitStringInteger32, PPC::sub_64,
54411 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54412 MVT::f64, 2, 2, 3,
54413 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54414 MVT::f128, 1, 4,
54415 0,
54416 8|128,1,
54417 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
54418 OPC_RecordMemRef,
54419 OPC_RecordNode,
54420 OPC_RecordChild1,
54421 OPC_CheckPredicate, 11,
54422 OPC_Scope, 49,
54423 OPC_CheckPredicate5,
54424 OPC_SwitchType , 21, MVT::i32,
54425 OPC_MoveParent,
54426 OPC_CheckType, MVT::f128,
54427 OPC_CheckPatternPredicate7,
54428 OPC_CheckComplexPat0, /*#*/1,
54429 OPC_EmitMergeInputChains1_0,
54430 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
54431 MVT::f64, 2, 2, 3,
54432 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
54433 MVT::f128, 1, 4,
54434 21, MVT::i64,
54435 OPC_MoveParent,
54436 OPC_CheckType, MVT::f128,
54437 OPC_CheckPatternPredicate7,
54438 OPC_CheckComplexPat4, /*#*/1,
54439 OPC_EmitMergeInputChains1_0,
54440 OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
54441 MVT::f64, 2, 2, 3,
54442 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
54443 MVT::f128, 1, 4,
54444 0,
54445 51,
54446 OPC_CheckPredicate, 13,
54447 OPC_CheckTypeI32,
54448 OPC_Scope, 22,
54449 OPC_CheckPredicate2,
54450 OPC_MoveParent,
54451 OPC_CheckType, MVT::f128,
54452 OPC_CheckPatternPredicate7,
54453 OPC_CheckComplexPat0, /*#*/1,
54454 OPC_EmitMergeInputChains1_0,
54455 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
54456 MVT::f64, 2, 2, 3,
54457 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
54458 MVT::f128, 1, 4,
54459 22,
54460 OPC_CheckPredicate4,
54461 OPC_MoveParent,
54462 OPC_CheckType, MVT::f128,
54463 OPC_CheckPatternPredicate7,
54464 OPC_CheckComplexPat0, /*#*/1,
54465 OPC_EmitMergeInputChains1_0,
54466 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
54467 MVT::f64, 2, 2, 3,
54468 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
54469 MVT::f128, 1, 4,
54470 0,
54471 23,
54472 OPC_CheckPredicate5,
54473 OPC_CheckTypeI64,
54474 OPC_MoveParent,
54475 OPC_CheckType, MVT::f128,
54476 OPC_CheckPatternPredicate7,
54477 OPC_CheckComplexPat1, /*#*/1,
54478 OPC_EmitMergeInputChains1_0,
54479 OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
54480 MVT::f64, 2, 2, 3,
54481 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
54482 MVT::f128, 1, 4,
54483 0,
54484 36|128,2,
54485 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
54486 OPC_RecordChild0,
54487 OPC_Scope, 98,
54488 OPC_CheckChild1Integer, 0,
54489 OPC_SwitchType , 50, MVT::i64,
54490 OPC_MoveParent,
54491 OPC_CheckType, MVT::f128,
54492 OPC_Scope, 17,
54493 OPC_CheckPatternPredicate, 9,
54494 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
54495 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
54496 MVT::f64, 2, 0, 1,
54497 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54498 MVT::f128, 1, 2,
54499 26,
54500 OPC_CheckPatternPredicate6,
54501 OPC_EmitInteger32, 6,
54502 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
54503 MVT::v4i32, 3, 0, 0, 1,
54504 OPC_EmitStringInteger32, PPC::sub_64,
54505 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54506 MVT::f64, 2, 2, 3,
54507 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54508 MVT::f128, 1, 4,
54509 0,
54510 40, MVT::i32,
54511 OPC_MoveParent,
54512 OPC_CheckType, MVT::f128,
54513 OPC_Scope, 17,
54514 OPC_CheckPatternPredicate, 9,
54515 OPC_EmitInteger32, 0,
54516 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54517 MVT::f64, 2, 0, 1,
54518 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54519 MVT::f128, 1, 2,
54520 16,
54521 OPC_CheckPatternPredicate6,
54522 OPC_EmitInteger32, 24,
54523 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54524 MVT::f64, 2, 0, 1,
54525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54526 MVT::f128, 1, 2,
54527 0,
54528 0,
54529 98,
54530 OPC_CheckChild1Integer, 2,
54531 OPC_SwitchType , 40, MVT::i32,
54532 OPC_MoveParent,
54533 OPC_CheckType, MVT::f128,
54534 OPC_Scope, 17,
54535 OPC_CheckPatternPredicate, 9,
54536 OPC_EmitInteger32, 8,
54537 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54538 MVT::f64, 2, 0, 1,
54539 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54540 MVT::f128, 1, 2,
54541 16,
54542 OPC_CheckPatternPredicate6,
54543 OPC_EmitInteger32, 16,
54544 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54545 MVT::f64, 2, 0, 1,
54546 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54547 MVT::f128, 1, 2,
54548 0,
54549 50, MVT::i64,
54550 OPC_MoveParent,
54551 OPC_CheckType, MVT::f128,
54552 OPC_Scope, 16,
54553 OPC_CheckPatternPredicate6,
54554 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
54555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
54556 MVT::f64, 2, 0, 1,
54557 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54558 MVT::f128, 1, 2,
54559 27,
54560 OPC_CheckPatternPredicate, 9,
54561 OPC_EmitInteger32, 6,
54562 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
54563 MVT::v4i32, 3, 0, 0, 1,
54564 OPC_EmitStringInteger32, PPC::sub_64,
54565 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54566 MVT::f64, 2, 2, 3,
54567 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54568 MVT::f128, 1, 4,
54569 0,
54570 0,
54571 43,
54572 OPC_CheckChild1Integer, 4,
54573 OPC_CheckTypeI32,
54574 OPC_MoveParent,
54575 OPC_CheckType, MVT::f128,
54576 OPC_Scope, 17,
54577 OPC_CheckPatternPredicate, 9,
54578 OPC_EmitInteger32, 16,
54579 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54580 MVT::f64, 2, 0, 1,
54581 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54582 MVT::f128, 1, 2,
54583 16,
54584 OPC_CheckPatternPredicate6,
54585 OPC_EmitInteger32, 8,
54586 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54587 MVT::f64, 2, 0, 1,
54588 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54589 MVT::f128, 1, 2,
54590 0,
54591 43,
54592 OPC_CheckChild1Integer, 6,
54593 OPC_CheckTypeI32,
54594 OPC_MoveParent,
54595 OPC_CheckType, MVT::f128,
54596 OPC_Scope, 17,
54597 OPC_CheckPatternPredicate, 9,
54598 OPC_EmitInteger32, 24,
54599 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54600 MVT::f64, 2, 0, 1,
54601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54602 MVT::f128, 1, 2,
54603 16,
54604 OPC_CheckPatternPredicate6,
54605 OPC_EmitInteger32, 0,
54606 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54607 MVT::f64, 2, 0, 1,
54608 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54609 MVT::f128, 1, 2,
54610 0,
54611 0,
54612 86,
54613 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
54614 OPC_RecordChild0,
54615 OPC_CheckChild0Type, MVT::f64,
54616 OPC_SwitchType , 10, MVT::i64,
54617 OPC_MoveParent,
54618 OPC_CheckType, MVT::f128,
54619 OPC_CheckPatternPredicate7,
54620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54621 MVT::f128, 1, 0,
54622 64, MVT::i32,
54623 OPC_MoveParent,
54624 OPC_CheckType, MVT::f128,
54625 OPC_Scope, 29,
54626 OPC_CheckPatternPredicate, 9,
54627 OPC_EmitInteger64, 2,
54628 OPC_EmitStringInteger32, PPC::sub_64,
54629 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
54630 MVT::v4i32, 3, 1, 0, 2,
54631 OPC_EmitInteger32, 8,
54632 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54633 MVT::f64, 2, 3, 4,
54634 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54635 MVT::f128, 1, 5,
54636 28,
54637 OPC_CheckPatternPredicate6,
54638 OPC_EmitInteger64, 2,
54639 OPC_EmitStringInteger32, PPC::sub_64,
54640 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
54641 MVT::v4i32, 3, 1, 0, 2,
54642 OPC_EmitInteger32, 16,
54643 OPC_EmitNode1None, TARGET_VAL(PPC::XXEXTRACTUW),
54644 MVT::f64, 2, 3, 4,
54645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54646 MVT::f128, 1, 5,
54647 0,
54648 0,
54649 0,
54650 91,
54651 OPC_RecordChild0,
54652 OPC_Scope, 19,
54653 OPC_CheckChild0TypeI64,
54654 OPC_CheckType, MVT::f128,
54655 OPC_CheckPatternPredicate7,
54656 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
54657 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
54658 MVT::f64, 2, 0, 1,
54659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54660 MVT::f128, 1, 2,
54661 36,
54662 OPC_CheckChild0TypeI32,
54663 OPC_SwitchType , 13, MVT::f128,
54664 OPC_CheckPatternPredicate7,
54665 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
54666 MVT::f64, 1, 0,
54667 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVUDQP),
54668 MVT::f128, 1, 1,
54669 7, MVT::f64,
54670 OPC_CheckPatternPredicate5,
54671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFUI),
54672 MVT::f64, 1, 0,
54673 7, MVT::f32,
54674 OPC_CheckPatternPredicate5,
54675 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFUI),
54676 MVT::f32, 1, 0,
54677 0,
54678 9,
54679 OPC_CheckType, MVT::v2f64,
54680 OPC_CheckPatternPredicate2,
54681 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXDDP),
54682 MVT::v2f64, 1, 0,
54683 20,
54684 OPC_CheckType, MVT::v4f32,
54685 OPC_Scope, 7,
54686 OPC_CheckPatternPredicate2,
54687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWSP),
54688 MVT::v4f32, 1, 0,
54689 7,
54690 OPC_CheckPatternPredicate3,
54691 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFUX_0),
54692 MVT::v4f32, 1, 0,
54693 0,
54694 0,
54695 0,
54696 32, TARGET_VAL(PPCISD::LXSIZX),
54697 OPC_RecordNode,
54698 OPC_RecordChild1,
54699 OPC_Scope, 13,
54700 OPC_CheckChild2Integer, 2,
54701 OPC_CheckPatternPredicate7,
54702 OPC_CheckComplexPat0, /*#*/1,
54703 OPC_EmitMergeInputChains1_0,
54704 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXSIBZX),
54705 MVT::f64, 2, 2, 3,
54706 13,
54707 OPC_CheckChild2Integer, 4,
54708 OPC_CheckPatternPredicate7,
54709 OPC_CheckComplexPat0, /*#*/1,
54710 OPC_EmitMergeInputChains1_0,
54711 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::LXSIHZX),
54712 MVT::f64, 2, 2, 3,
54713 0,
54714 92|128,18, TARGET_VAL(PPCISD::FCFIDS),
54715 OPC_Scope, 64|128,18,
54716 OPC_MoveChild0,
54717 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
54718 OPC_MoveChild0,
54719 OPC_SwitchOpcode , 43|128,15, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
54720 OPC_MoveChild0,
54721 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
54722 OPC_RecordChild0,
54723 OPC_Scope, 12|128,5,
54724 OPC_CheckChild0Type, MVT::v8i16,
54725 OPC_Scope, 80,
54726 OPC_CheckChild1Integer, 0,
54727 OPC_MoveSibling1,
54728 OPC_CheckValueType, MVT::i16,
54729 OPC_MoveParent,
54730 OPC_CheckTypeI32,
54731 OPC_MoveParent,
54732 OPC_CheckType, MVT::f64,
54733 OPC_MoveParent,
54734 OPC_CheckType, MVT::f32,
54735 OPC_Scope, 32,
54736 OPC_CheckPatternPredicate, 9,
54737 OPC_EmitInteger32, 0,
54738 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54739 MVT::f128, 2, 1, 0,
54740 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54741 MVT::f128, 1, 2,
54742 OPC_EmitStringInteger32, PPC::sub_64,
54743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54744 MVT::f64, 2, 3, 4,
54745 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54746 MVT::f32, 1, 5,
54747 31,
54748 OPC_CheckPatternPredicate6,
54749 OPC_EmitInteger32, 28,
54750 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54751 MVT::f128, 2, 1, 0,
54752 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54753 MVT::f128, 1, 2,
54754 OPC_EmitStringInteger32, PPC::sub_64,
54755 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54756 MVT::f64, 2, 3, 4,
54757 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54758 MVT::f32, 1, 5,
54759 0,
54760 80,
54761 OPC_CheckChild1Integer, 2,
54762 OPC_MoveSibling1,
54763 OPC_CheckValueType, MVT::i16,
54764 OPC_MoveParent,
54765 OPC_CheckTypeI32,
54766 OPC_MoveParent,
54767 OPC_CheckType, MVT::f64,
54768 OPC_MoveParent,
54769 OPC_CheckType, MVT::f32,
54770 OPC_Scope, 32,
54771 OPC_CheckPatternPredicate, 9,
54772 OPC_EmitInteger32, 4,
54773 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54774 MVT::f128, 2, 1, 0,
54775 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54776 MVT::f128, 1, 2,
54777 OPC_EmitStringInteger32, PPC::sub_64,
54778 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54779 MVT::f64, 2, 3, 4,
54780 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54781 MVT::f32, 1, 5,
54782 31,
54783 OPC_CheckPatternPredicate6,
54784 OPC_EmitInteger32, 24,
54785 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54786 MVT::f128, 2, 1, 0,
54787 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54788 MVT::f128, 1, 2,
54789 OPC_EmitStringInteger32, PPC::sub_64,
54790 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54791 MVT::f64, 2, 3, 4,
54792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54793 MVT::f32, 1, 5,
54794 0,
54795 80,
54796 OPC_CheckChild1Integer, 4,
54797 OPC_MoveSibling1,
54798 OPC_CheckValueType, MVT::i16,
54799 OPC_MoveParent,
54800 OPC_CheckTypeI32,
54801 OPC_MoveParent,
54802 OPC_CheckType, MVT::f64,
54803 OPC_MoveParent,
54804 OPC_CheckType, MVT::f32,
54805 OPC_Scope, 32,
54806 OPC_CheckPatternPredicate, 9,
54807 OPC_EmitInteger32, 8,
54808 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54809 MVT::f128, 2, 1, 0,
54810 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54811 MVT::f128, 1, 2,
54812 OPC_EmitStringInteger32, PPC::sub_64,
54813 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54814 MVT::f64, 2, 3, 4,
54815 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54816 MVT::f32, 1, 5,
54817 31,
54818 OPC_CheckPatternPredicate6,
54819 OPC_EmitInteger32, 20,
54820 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54821 MVT::f128, 2, 1, 0,
54822 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54823 MVT::f128, 1, 2,
54824 OPC_EmitStringInteger32, PPC::sub_64,
54825 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54826 MVT::f64, 2, 3, 4,
54827 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54828 MVT::f32, 1, 5,
54829 0,
54830 80,
54831 OPC_CheckChild1Integer, 6,
54832 OPC_MoveSibling1,
54833 OPC_CheckValueType, MVT::i16,
54834 OPC_MoveParent,
54835 OPC_CheckTypeI32,
54836 OPC_MoveParent,
54837 OPC_CheckType, MVT::f64,
54838 OPC_MoveParent,
54839 OPC_CheckType, MVT::f32,
54840 OPC_Scope, 32,
54841 OPC_CheckPatternPredicate, 9,
54842 OPC_EmitInteger32, 12,
54843 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54844 MVT::f128, 2, 1, 0,
54845 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54846 MVT::f128, 1, 2,
54847 OPC_EmitStringInteger32, PPC::sub_64,
54848 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54849 MVT::f64, 2, 3, 4,
54850 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54851 MVT::f32, 1, 5,
54852 31,
54853 OPC_CheckPatternPredicate6,
54854 OPC_EmitInteger32, 16,
54855 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54856 MVT::f128, 2, 1, 0,
54857 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54858 MVT::f128, 1, 2,
54859 OPC_EmitStringInteger32, PPC::sub_64,
54860 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54861 MVT::f64, 2, 3, 4,
54862 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54863 MVT::f32, 1, 5,
54864 0,
54865 80,
54866 OPC_CheckChild1Integer, 8,
54867 OPC_MoveSibling1,
54868 OPC_CheckValueType, MVT::i16,
54869 OPC_MoveParent,
54870 OPC_CheckTypeI32,
54871 OPC_MoveParent,
54872 OPC_CheckType, MVT::f64,
54873 OPC_MoveParent,
54874 OPC_CheckType, MVT::f32,
54875 OPC_Scope, 32,
54876 OPC_CheckPatternPredicate, 9,
54877 OPC_EmitInteger32, 16,
54878 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54879 MVT::f128, 2, 1, 0,
54880 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54881 MVT::f128, 1, 2,
54882 OPC_EmitStringInteger32, PPC::sub_64,
54883 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54884 MVT::f64, 2, 3, 4,
54885 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54886 MVT::f32, 1, 5,
54887 31,
54888 OPC_CheckPatternPredicate6,
54889 OPC_EmitInteger32, 12,
54890 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54891 MVT::f128, 2, 1, 0,
54892 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54893 MVT::f128, 1, 2,
54894 OPC_EmitStringInteger32, PPC::sub_64,
54895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54896 MVT::f64, 2, 3, 4,
54897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54898 MVT::f32, 1, 5,
54899 0,
54900 80,
54901 OPC_CheckChild1Integer, 10,
54902 OPC_MoveSibling1,
54903 OPC_CheckValueType, MVT::i16,
54904 OPC_MoveParent,
54905 OPC_CheckTypeI32,
54906 OPC_MoveParent,
54907 OPC_CheckType, MVT::f64,
54908 OPC_MoveParent,
54909 OPC_CheckType, MVT::f32,
54910 OPC_Scope, 32,
54911 OPC_CheckPatternPredicate, 9,
54912 OPC_EmitInteger32, 20,
54913 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54914 MVT::f128, 2, 1, 0,
54915 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54916 MVT::f128, 1, 2,
54917 OPC_EmitStringInteger32, PPC::sub_64,
54918 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54919 MVT::f64, 2, 3, 4,
54920 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54921 MVT::f32, 1, 5,
54922 31,
54923 OPC_CheckPatternPredicate6,
54924 OPC_EmitInteger32, 8,
54925 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54926 MVT::f128, 2, 1, 0,
54927 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54928 MVT::f128, 1, 2,
54929 OPC_EmitStringInteger32, PPC::sub_64,
54930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54931 MVT::f64, 2, 3, 4,
54932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54933 MVT::f32, 1, 5,
54934 0,
54935 80,
54936 OPC_CheckChild1Integer, 12,
54937 OPC_MoveSibling1,
54938 OPC_CheckValueType, MVT::i16,
54939 OPC_MoveParent,
54940 OPC_CheckTypeI32,
54941 OPC_MoveParent,
54942 OPC_CheckType, MVT::f64,
54943 OPC_MoveParent,
54944 OPC_CheckType, MVT::f32,
54945 OPC_Scope, 32,
54946 OPC_CheckPatternPredicate, 9,
54947 OPC_EmitInteger32, 24,
54948 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54949 MVT::f128, 2, 1, 0,
54950 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54951 MVT::f128, 1, 2,
54952 OPC_EmitStringInteger32, PPC::sub_64,
54953 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54954 MVT::f64, 2, 3, 4,
54955 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54956 MVT::f32, 1, 5,
54957 31,
54958 OPC_CheckPatternPredicate6,
54959 OPC_EmitInteger32, 4,
54960 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54961 MVT::f128, 2, 1, 0,
54962 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54963 MVT::f128, 1, 2,
54964 OPC_EmitStringInteger32, PPC::sub_64,
54965 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54966 MVT::f64, 2, 3, 4,
54967 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54968 MVT::f32, 1, 5,
54969 0,
54970 80,
54971 OPC_CheckChild1Integer, 14,
54972 OPC_MoveSibling1,
54973 OPC_CheckValueType, MVT::i16,
54974 OPC_MoveParent,
54975 OPC_CheckTypeI32,
54976 OPC_MoveParent,
54977 OPC_CheckType, MVT::f64,
54978 OPC_MoveParent,
54979 OPC_CheckType, MVT::f32,
54980 OPC_Scope, 32,
54981 OPC_CheckPatternPredicate, 9,
54982 OPC_EmitInteger32, 28,
54983 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54984 MVT::f128, 2, 1, 0,
54985 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54986 MVT::f128, 1, 2,
54987 OPC_EmitStringInteger32, PPC::sub_64,
54988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
54989 MVT::f64, 2, 3, 4,
54990 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
54991 MVT::f32, 1, 5,
54992 31,
54993 OPC_CheckPatternPredicate6,
54994 OPC_EmitInteger32, 0,
54995 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
54996 MVT::f128, 2, 1, 0,
54997 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
54998 MVT::f128, 1, 2,
54999 OPC_EmitStringInteger32, PPC::sub_64,
55000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55001 MVT::f64, 2, 3, 4,
55002 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55003 MVT::f32, 1, 5,
55004 0,
55005 0,
55006 20|128,10,
55007 OPC_CheckChild0Type, MVT::v16i8,
55008 OPC_Scope, 80,
55009 OPC_CheckChild1Integer, 0,
55010 OPC_MoveSibling1,
55011 OPC_CheckValueType, MVT::i8,
55012 OPC_MoveParent,
55013 OPC_CheckTypeI32,
55014 OPC_MoveParent,
55015 OPC_CheckType, MVT::f64,
55016 OPC_MoveParent,
55017 OPC_CheckType, MVT::f32,
55018 OPC_Scope, 32,
55019 OPC_CheckPatternPredicate, 9,
55020 OPC_EmitInteger32, 0,
55021 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55022 MVT::f128, 2, 1, 0,
55023 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55024 MVT::f128, 1, 2,
55025 OPC_EmitStringInteger32, PPC::sub_64,
55026 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55027 MVT::f64, 2, 3, 4,
55028 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55029 MVT::f32, 1, 5,
55030 31,
55031 OPC_CheckPatternPredicate6,
55032 OPC_EmitInteger32, 30,
55033 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55034 MVT::f128, 2, 1, 0,
55035 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55036 MVT::f128, 1, 2,
55037 OPC_EmitStringInteger32, PPC::sub_64,
55038 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55039 MVT::f64, 2, 3, 4,
55040 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55041 MVT::f32, 1, 5,
55042 0,
55043 80,
55044 OPC_CheckChild1Integer, 2,
55045 OPC_MoveSibling1,
55046 OPC_CheckValueType, MVT::i8,
55047 OPC_MoveParent,
55048 OPC_CheckTypeI32,
55049 OPC_MoveParent,
55050 OPC_CheckType, MVT::f64,
55051 OPC_MoveParent,
55052 OPC_CheckType, MVT::f32,
55053 OPC_Scope, 32,
55054 OPC_CheckPatternPredicate, 9,
55055 OPC_EmitInteger32, 4,
55056 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55057 MVT::f128, 2, 1, 0,
55058 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55059 MVT::f128, 1, 2,
55060 OPC_EmitStringInteger32, PPC::sub_64,
55061 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55062 MVT::f64, 2, 3, 4,
55063 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55064 MVT::f32, 1, 5,
55065 31,
55066 OPC_CheckPatternPredicate6,
55067 OPC_EmitInteger32, 28,
55068 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55069 MVT::f128, 2, 1, 0,
55070 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55071 MVT::f128, 1, 2,
55072 OPC_EmitStringInteger32, PPC::sub_64,
55073 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55074 MVT::f64, 2, 3, 4,
55075 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55076 MVT::f32, 1, 5,
55077 0,
55078 80,
55079 OPC_CheckChild1Integer, 4,
55080 OPC_MoveSibling1,
55081 OPC_CheckValueType, MVT::i8,
55082 OPC_MoveParent,
55083 OPC_CheckTypeI32,
55084 OPC_MoveParent,
55085 OPC_CheckType, MVT::f64,
55086 OPC_MoveParent,
55087 OPC_CheckType, MVT::f32,
55088 OPC_Scope, 32,
55089 OPC_CheckPatternPredicate, 9,
55090 OPC_EmitInteger32, 8,
55091 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55092 MVT::f128, 2, 1, 0,
55093 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55094 MVT::f128, 1, 2,
55095 OPC_EmitStringInteger32, PPC::sub_64,
55096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55097 MVT::f64, 2, 3, 4,
55098 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55099 MVT::f32, 1, 5,
55100 31,
55101 OPC_CheckPatternPredicate6,
55102 OPC_EmitInteger32, 26,
55103 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55104 MVT::f128, 2, 1, 0,
55105 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55106 MVT::f128, 1, 2,
55107 OPC_EmitStringInteger32, PPC::sub_64,
55108 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55109 MVT::f64, 2, 3, 4,
55110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55111 MVT::f32, 1, 5,
55112 0,
55113 80,
55114 OPC_CheckChild1Integer, 6,
55115 OPC_MoveSibling1,
55116 OPC_CheckValueType, MVT::i8,
55117 OPC_MoveParent,
55118 OPC_CheckTypeI32,
55119 OPC_MoveParent,
55120 OPC_CheckType, MVT::f64,
55121 OPC_MoveParent,
55122 OPC_CheckType, MVT::f32,
55123 OPC_Scope, 32,
55124 OPC_CheckPatternPredicate, 9,
55125 OPC_EmitInteger32, 12,
55126 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55127 MVT::f128, 2, 1, 0,
55128 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55129 MVT::f128, 1, 2,
55130 OPC_EmitStringInteger32, PPC::sub_64,
55131 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55132 MVT::f64, 2, 3, 4,
55133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55134 MVT::f32, 1, 5,
55135 31,
55136 OPC_CheckPatternPredicate6,
55137 OPC_EmitInteger32, 24,
55138 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55139 MVT::f128, 2, 1, 0,
55140 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55141 MVT::f128, 1, 2,
55142 OPC_EmitStringInteger32, PPC::sub_64,
55143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55144 MVT::f64, 2, 3, 4,
55145 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55146 MVT::f32, 1, 5,
55147 0,
55148 80,
55149 OPC_CheckChild1Integer, 8,
55150 OPC_MoveSibling1,
55151 OPC_CheckValueType, MVT::i8,
55152 OPC_MoveParent,
55153 OPC_CheckTypeI32,
55154 OPC_MoveParent,
55155 OPC_CheckType, MVT::f64,
55156 OPC_MoveParent,
55157 OPC_CheckType, MVT::f32,
55158 OPC_Scope, 32,
55159 OPC_CheckPatternPredicate, 9,
55160 OPC_EmitInteger32, 16,
55161 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55162 MVT::f128, 2, 1, 0,
55163 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55164 MVT::f128, 1, 2,
55165 OPC_EmitStringInteger32, PPC::sub_64,
55166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55167 MVT::f64, 2, 3, 4,
55168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55169 MVT::f32, 1, 5,
55170 31,
55171 OPC_CheckPatternPredicate6,
55172 OPC_EmitInteger32, 22,
55173 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55174 MVT::f128, 2, 1, 0,
55175 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55176 MVT::f128, 1, 2,
55177 OPC_EmitStringInteger32, PPC::sub_64,
55178 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55179 MVT::f64, 2, 3, 4,
55180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55181 MVT::f32, 1, 5,
55182 0,
55183 80,
55184 OPC_CheckChild1Integer, 10,
55185 OPC_MoveSibling1,
55186 OPC_CheckValueType, MVT::i8,
55187 OPC_MoveParent,
55188 OPC_CheckTypeI32,
55189 OPC_MoveParent,
55190 OPC_CheckType, MVT::f64,
55191 OPC_MoveParent,
55192 OPC_CheckType, MVT::f32,
55193 OPC_Scope, 32,
55194 OPC_CheckPatternPredicate, 9,
55195 OPC_EmitInteger32, 20,
55196 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55197 MVT::f128, 2, 1, 0,
55198 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55199 MVT::f128, 1, 2,
55200 OPC_EmitStringInteger32, PPC::sub_64,
55201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55202 MVT::f64, 2, 3, 4,
55203 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55204 MVT::f32, 1, 5,
55205 31,
55206 OPC_CheckPatternPredicate6,
55207 OPC_EmitInteger32, 20,
55208 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55209 MVT::f128, 2, 1, 0,
55210 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55211 MVT::f128, 1, 2,
55212 OPC_EmitStringInteger32, PPC::sub_64,
55213 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55214 MVT::f64, 2, 3, 4,
55215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55216 MVT::f32, 1, 5,
55217 0,
55218 80,
55219 OPC_CheckChild1Integer, 12,
55220 OPC_MoveSibling1,
55221 OPC_CheckValueType, MVT::i8,
55222 OPC_MoveParent,
55223 OPC_CheckTypeI32,
55224 OPC_MoveParent,
55225 OPC_CheckType, MVT::f64,
55226 OPC_MoveParent,
55227 OPC_CheckType, MVT::f32,
55228 OPC_Scope, 32,
55229 OPC_CheckPatternPredicate, 9,
55230 OPC_EmitInteger32, 24,
55231 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55232 MVT::f128, 2, 1, 0,
55233 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55234 MVT::f128, 1, 2,
55235 OPC_EmitStringInteger32, PPC::sub_64,
55236 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55237 MVT::f64, 2, 3, 4,
55238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55239 MVT::f32, 1, 5,
55240 31,
55241 OPC_CheckPatternPredicate6,
55242 OPC_EmitInteger32, 18,
55243 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55244 MVT::f128, 2, 1, 0,
55245 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55246 MVT::f128, 1, 2,
55247 OPC_EmitStringInteger32, PPC::sub_64,
55248 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55249 MVT::f64, 2, 3, 4,
55250 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55251 MVT::f32, 1, 5,
55252 0,
55253 80,
55254 OPC_CheckChild1Integer, 14,
55255 OPC_MoveSibling1,
55256 OPC_CheckValueType, MVT::i8,
55257 OPC_MoveParent,
55258 OPC_CheckTypeI32,
55259 OPC_MoveParent,
55260 OPC_CheckType, MVT::f64,
55261 OPC_MoveParent,
55262 OPC_CheckType, MVT::f32,
55263 OPC_Scope, 32,
55264 OPC_CheckPatternPredicate, 9,
55265 OPC_EmitInteger32, 28,
55266 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55267 MVT::f128, 2, 1, 0,
55268 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55269 MVT::f128, 1, 2,
55270 OPC_EmitStringInteger32, PPC::sub_64,
55271 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55272 MVT::f64, 2, 3, 4,
55273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55274 MVT::f32, 1, 5,
55275 31,
55276 OPC_CheckPatternPredicate6,
55277 OPC_EmitInteger32, 16,
55278 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55279 MVT::f128, 2, 1, 0,
55280 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55281 MVT::f128, 1, 2,
55282 OPC_EmitStringInteger32, PPC::sub_64,
55283 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55284 MVT::f64, 2, 3, 4,
55285 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55286 MVT::f32, 1, 5,
55287 0,
55288 80,
55289 OPC_CheckChild1Integer, 16,
55290 OPC_MoveSibling1,
55291 OPC_CheckValueType, MVT::i8,
55292 OPC_MoveParent,
55293 OPC_CheckTypeI32,
55294 OPC_MoveParent,
55295 OPC_CheckType, MVT::f64,
55296 OPC_MoveParent,
55297 OPC_CheckType, MVT::f32,
55298 OPC_Scope, 32,
55299 OPC_CheckPatternPredicate, 9,
55300 OPC_EmitInteger32, 32,
55301 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55302 MVT::f128, 2, 1, 0,
55303 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55304 MVT::f128, 1, 2,
55305 OPC_EmitStringInteger32, PPC::sub_64,
55306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55307 MVT::f64, 2, 3, 4,
55308 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55309 MVT::f32, 1, 5,
55310 31,
55311 OPC_CheckPatternPredicate6,
55312 OPC_EmitInteger32, 14,
55313 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55314 MVT::f128, 2, 1, 0,
55315 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55316 MVT::f128, 1, 2,
55317 OPC_EmitStringInteger32, PPC::sub_64,
55318 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55319 MVT::f64, 2, 3, 4,
55320 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55321 MVT::f32, 1, 5,
55322 0,
55323 80,
55324 OPC_CheckChild1Integer, 18,
55325 OPC_MoveSibling1,
55326 OPC_CheckValueType, MVT::i8,
55327 OPC_MoveParent,
55328 OPC_CheckTypeI32,
55329 OPC_MoveParent,
55330 OPC_CheckType, MVT::f64,
55331 OPC_MoveParent,
55332 OPC_CheckType, MVT::f32,
55333 OPC_Scope, 32,
55334 OPC_CheckPatternPredicate, 9,
55335 OPC_EmitInteger32, 36,
55336 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55337 MVT::f128, 2, 1, 0,
55338 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55339 MVT::f128, 1, 2,
55340 OPC_EmitStringInteger32, PPC::sub_64,
55341 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55342 MVT::f64, 2, 3, 4,
55343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55344 MVT::f32, 1, 5,
55345 31,
55346 OPC_CheckPatternPredicate6,
55347 OPC_EmitInteger32, 12,
55348 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55349 MVT::f128, 2, 1, 0,
55350 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55351 MVT::f128, 1, 2,
55352 OPC_EmitStringInteger32, PPC::sub_64,
55353 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55354 MVT::f64, 2, 3, 4,
55355 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55356 MVT::f32, 1, 5,
55357 0,
55358 80,
55359 OPC_CheckChild1Integer, 20,
55360 OPC_MoveSibling1,
55361 OPC_CheckValueType, MVT::i8,
55362 OPC_MoveParent,
55363 OPC_CheckTypeI32,
55364 OPC_MoveParent,
55365 OPC_CheckType, MVT::f64,
55366 OPC_MoveParent,
55367 OPC_CheckType, MVT::f32,
55368 OPC_Scope, 32,
55369 OPC_CheckPatternPredicate, 9,
55370 OPC_EmitInteger32, 40,
55371 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55372 MVT::f128, 2, 1, 0,
55373 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55374 MVT::f128, 1, 2,
55375 OPC_EmitStringInteger32, PPC::sub_64,
55376 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55377 MVT::f64, 2, 3, 4,
55378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55379 MVT::f32, 1, 5,
55380 31,
55381 OPC_CheckPatternPredicate6,
55382 OPC_EmitInteger32, 10,
55383 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55384 MVT::f128, 2, 1, 0,
55385 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55386 MVT::f128, 1, 2,
55387 OPC_EmitStringInteger32, PPC::sub_64,
55388 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55389 MVT::f64, 2, 3, 4,
55390 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55391 MVT::f32, 1, 5,
55392 0,
55393 80,
55394 OPC_CheckChild1Integer, 22,
55395 OPC_MoveSibling1,
55396 OPC_CheckValueType, MVT::i8,
55397 OPC_MoveParent,
55398 OPC_CheckTypeI32,
55399 OPC_MoveParent,
55400 OPC_CheckType, MVT::f64,
55401 OPC_MoveParent,
55402 OPC_CheckType, MVT::f32,
55403 OPC_Scope, 32,
55404 OPC_CheckPatternPredicate, 9,
55405 OPC_EmitInteger32, 44,
55406 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55407 MVT::f128, 2, 1, 0,
55408 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55409 MVT::f128, 1, 2,
55410 OPC_EmitStringInteger32, PPC::sub_64,
55411 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55412 MVT::f64, 2, 3, 4,
55413 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55414 MVT::f32, 1, 5,
55415 31,
55416 OPC_CheckPatternPredicate6,
55417 OPC_EmitInteger32, 8,
55418 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55419 MVT::f128, 2, 1, 0,
55420 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55421 MVT::f128, 1, 2,
55422 OPC_EmitStringInteger32, PPC::sub_64,
55423 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55424 MVT::f64, 2, 3, 4,
55425 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55426 MVT::f32, 1, 5,
55427 0,
55428 80,
55429 OPC_CheckChild1Integer, 24,
55430 OPC_MoveSibling1,
55431 OPC_CheckValueType, MVT::i8,
55432 OPC_MoveParent,
55433 OPC_CheckTypeI32,
55434 OPC_MoveParent,
55435 OPC_CheckType, MVT::f64,
55436 OPC_MoveParent,
55437 OPC_CheckType, MVT::f32,
55438 OPC_Scope, 32,
55439 OPC_CheckPatternPredicate, 9,
55440 OPC_EmitInteger32, 48,
55441 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55442 MVT::f128, 2, 1, 0,
55443 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55444 MVT::f128, 1, 2,
55445 OPC_EmitStringInteger32, PPC::sub_64,
55446 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55447 MVT::f64, 2, 3, 4,
55448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55449 MVT::f32, 1, 5,
55450 31,
55451 OPC_CheckPatternPredicate6,
55452 OPC_EmitInteger32, 6,
55453 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55454 MVT::f128, 2, 1, 0,
55455 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55456 MVT::f128, 1, 2,
55457 OPC_EmitStringInteger32, PPC::sub_64,
55458 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55459 MVT::f64, 2, 3, 4,
55460 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55461 MVT::f32, 1, 5,
55462 0,
55463 80,
55464 OPC_CheckChild1Integer, 26,
55465 OPC_MoveSibling1,
55466 OPC_CheckValueType, MVT::i8,
55467 OPC_MoveParent,
55468 OPC_CheckTypeI32,
55469 OPC_MoveParent,
55470 OPC_CheckType, MVT::f64,
55471 OPC_MoveParent,
55472 OPC_CheckType, MVT::f32,
55473 OPC_Scope, 32,
55474 OPC_CheckPatternPredicate, 9,
55475 OPC_EmitInteger32, 52,
55476 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55477 MVT::f128, 2, 1, 0,
55478 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55479 MVT::f128, 1, 2,
55480 OPC_EmitStringInteger32, PPC::sub_64,
55481 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55482 MVT::f64, 2, 3, 4,
55483 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55484 MVT::f32, 1, 5,
55485 31,
55486 OPC_CheckPatternPredicate6,
55487 OPC_EmitInteger32, 4,
55488 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55489 MVT::f128, 2, 1, 0,
55490 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55491 MVT::f128, 1, 2,
55492 OPC_EmitStringInteger32, PPC::sub_64,
55493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55494 MVT::f64, 2, 3, 4,
55495 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55496 MVT::f32, 1, 5,
55497 0,
55498 80,
55499 OPC_CheckChild1Integer, 28,
55500 OPC_MoveSibling1,
55501 OPC_CheckValueType, MVT::i8,
55502 OPC_MoveParent,
55503 OPC_CheckTypeI32,
55504 OPC_MoveParent,
55505 OPC_CheckType, MVT::f64,
55506 OPC_MoveParent,
55507 OPC_CheckType, MVT::f32,
55508 OPC_Scope, 32,
55509 OPC_CheckPatternPredicate, 9,
55510 OPC_EmitInteger32, 56,
55511 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55512 MVT::f128, 2, 1, 0,
55513 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55514 MVT::f128, 1, 2,
55515 OPC_EmitStringInteger32, PPC::sub_64,
55516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55517 MVT::f64, 2, 3, 4,
55518 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55519 MVT::f32, 1, 5,
55520 31,
55521 OPC_CheckPatternPredicate6,
55522 OPC_EmitInteger32, 2,
55523 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55524 MVT::f128, 2, 1, 0,
55525 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55526 MVT::f128, 1, 2,
55527 OPC_EmitStringInteger32, PPC::sub_64,
55528 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55529 MVT::f64, 2, 3, 4,
55530 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55531 MVT::f32, 1, 5,
55532 0,
55533 80,
55534 OPC_CheckChild1Integer, 30,
55535 OPC_MoveSibling1,
55536 OPC_CheckValueType, MVT::i8,
55537 OPC_MoveParent,
55538 OPC_CheckTypeI32,
55539 OPC_MoveParent,
55540 OPC_CheckType, MVT::f64,
55541 OPC_MoveParent,
55542 OPC_CheckType, MVT::f32,
55543 OPC_Scope, 32,
55544 OPC_CheckPatternPredicate, 9,
55545 OPC_EmitInteger32, 60,
55546 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55547 MVT::f128, 2, 1, 0,
55548 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55549 MVT::f128, 1, 2,
55550 OPC_EmitStringInteger32, PPC::sub_64,
55551 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55552 MVT::f64, 2, 3, 4,
55553 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55554 MVT::f32, 1, 5,
55555 31,
55556 OPC_CheckPatternPredicate6,
55557 OPC_EmitInteger32, 0,
55558 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
55559 MVT::f128, 2, 1, 0,
55560 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55561 MVT::f128, 1, 2,
55562 OPC_EmitStringInteger32, PPC::sub_64,
55563 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55564 MVT::f64, 2, 3, 4,
55565 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55566 MVT::f32, 1, 5,
55567 0,
55568 0,
55569 0,
55570 6|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
55571 OPC_RecordChild0,
55572 OPC_Scope, 67,
55573 OPC_CheckChild0Type, MVT::v2i64,
55574 OPC_CheckTypeI64,
55575 OPC_Scope, 25,
55576 OPC_CheckChild1Integer, 0,
55577 OPC_MoveParent,
55578 OPC_CheckType, MVT::f64,
55579 OPC_MoveParent,
55580 OPC_CheckType, MVT::f32,
55581 OPC_CheckPatternPredicate, 28,
55582 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
55583 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
55584 MVT::f64, 2, 0, 1,
55585 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55586 MVT::f32, 1, 2,
55587 35,
55588 OPC_CheckChild1Integer, 2,
55589 OPC_MoveParent,
55590 OPC_CheckType, MVT::f64,
55591 OPC_MoveParent,
55592 OPC_CheckType, MVT::f32,
55593 OPC_CheckPatternPredicate, 28,
55594 OPC_EmitInteger32, 4,
55595 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
55596 MVT::v4i32, 3, 0, 0, 1,
55597 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
55598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
55599 MVT::f64, 2, 2, 3,
55600 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55601 MVT::f32, 1, 4,
55602 0,
55603 99,
55604 OPC_CheckChild1Integer, 0,
55605 OPC_SwitchType , 56, MVT::i32,
55606 OPC_MoveParent,
55607 OPC_CheckType, MVT::f64,
55608 OPC_MoveParent,
55609 OPC_CheckType, MVT::f32,
55610 OPC_Scope, 23,
55611 OPC_CheckPatternPredicate, 28,
55612 OPC_EmitInteger32, 0,
55613 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55614 MVT::v4i32, 2, 0, 1,
55615 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55616 MVT::v4i32, 1, 2,
55617 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55618 MVT::f32, 1, 3,
55619 23,
55620 OPC_CheckPatternPredicate, 21,
55621 OPC_EmitInteger32, 6,
55622 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55623 MVT::v4i32, 2, 0, 1,
55624 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55625 MVT::v4i32, 1, 2,
55626 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55627 MVT::f32, 1, 3,
55628 0,
55629 35, MVT::i64,
55630 OPC_CheckChild0Type, MVT::v2i64,
55631 OPC_MoveParent,
55632 OPC_CheckType, MVT::f64,
55633 OPC_MoveParent,
55634 OPC_CheckType, MVT::f32,
55635 OPC_CheckPatternPredicate, 21,
55636 OPC_EmitInteger32, 4,
55637 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
55638 MVT::v4i32, 3, 0, 0, 1,
55639 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
55640 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
55641 MVT::f64, 2, 2, 3,
55642 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55643 MVT::f32, 1, 4,
55644 0,
55645 98,
55646 OPC_CheckChild1Integer, 2,
55647 OPC_SwitchType , 56, MVT::i32,
55648 OPC_MoveParent,
55649 OPC_CheckType, MVT::f64,
55650 OPC_MoveParent,
55651 OPC_CheckType, MVT::f32,
55652 OPC_Scope, 23,
55653 OPC_CheckPatternPredicate, 28,
55654 OPC_EmitInteger32, 2,
55655 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55656 MVT::v4i32, 2, 0, 1,
55657 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55658 MVT::v4i32, 1, 2,
55659 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55660 MVT::f32, 1, 3,
55661 23,
55662 OPC_CheckPatternPredicate, 21,
55663 OPC_EmitInteger32, 4,
55664 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55665 MVT::v4i32, 2, 0, 1,
55666 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55667 MVT::v4i32, 1, 2,
55668 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55669 MVT::f32, 1, 3,
55670 0,
55671 34, MVT::i64,
55672 OPC_CheckChild0Type, MVT::v2i64,
55673 OPC_MoveParent,
55674 OPC_CheckType, MVT::f64,
55675 OPC_MoveParent,
55676 OPC_CheckType, MVT::f32,
55677 OPC_CheckPatternPredicate, 21,
55678 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
55679 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
55680 MVT::f64, 2, 0, 1,
55681 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
55682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
55683 MVT::f64, 2, 2, 3,
55684 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55685 MVT::f32, 1, 4,
55686 0,
55687 59,
55688 OPC_CheckChild1Integer, 4,
55689 OPC_CheckTypeI32,
55690 OPC_MoveParent,
55691 OPC_CheckType, MVT::f64,
55692 OPC_MoveParent,
55693 OPC_CheckType, MVT::f32,
55694 OPC_Scope, 23,
55695 OPC_CheckPatternPredicate, 28,
55696 OPC_EmitInteger32, 4,
55697 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55698 MVT::v4i32, 2, 0, 1,
55699 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55700 MVT::v4i32, 1, 2,
55701 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55702 MVT::f32, 1, 3,
55703 23,
55704 OPC_CheckPatternPredicate, 21,
55705 OPC_EmitInteger32, 2,
55706 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55707 MVT::v4i32, 2, 0, 1,
55708 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55709 MVT::v4i32, 1, 2,
55710 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55711 MVT::f32, 1, 3,
55712 0,
55713 59,
55714 OPC_CheckChild1Integer, 6,
55715 OPC_CheckTypeI32,
55716 OPC_MoveParent,
55717 OPC_CheckType, MVT::f64,
55718 OPC_MoveParent,
55719 OPC_CheckType, MVT::f32,
55720 OPC_Scope, 23,
55721 OPC_CheckPatternPredicate, 28,
55722 OPC_EmitInteger32, 6,
55723 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55724 MVT::v4i32, 2, 0, 1,
55725 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55726 MVT::v4i32, 1, 2,
55727 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55728 MVT::f32, 1, 3,
55729 23,
55730 OPC_CheckPatternPredicate, 21,
55731 OPC_EmitInteger32, 0,
55732 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
55733 MVT::v4i32, 2, 0, 1,
55734 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWSP),
55735 MVT::v4i32, 1, 2,
55736 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSPDPN),
55737 MVT::f32, 1, 3,
55738 0,
55739 0,
55740 0,
55741 23,
55742 OPC_RecordChild0,
55743 OPC_CheckChild0Type, MVT::f64,
55744 OPC_CheckType, MVT::f32,
55745 OPC_Scope, 8,
55746 OPC_CheckPatternPredicate, 11,
55747 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDSP),
55748 MVT::f32, 1, 0,
55749 6,
55750 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFIDS),
55751 MVT::f32, 1, 0,
55752 0,
55753 0,
55754 36|128,18, TARGET_VAL(PPCISD::FCFID),
55755 OPC_Scope, 11|128,18,
55756 OPC_MoveChild0,
55757 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
55758 OPC_MoveChild0,
55759 OPC_SwitchOpcode , 123|128,14, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
55760 OPC_MoveChild0,
55761 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
55762 OPC_RecordChild0,
55763 OPC_Scope, 124|128,4,
55764 OPC_CheckChild0Type, MVT::v8i16,
55765 OPC_Scope, 78,
55766 OPC_CheckChild1Integer, 0,
55767 OPC_MoveSibling1,
55768 OPC_CheckValueType, MVT::i16,
55769 OPC_MoveParent,
55770 OPC_CheckTypeI32,
55771 OPC_MoveParent,
55772 OPC_MoveParent,
55773 OPC_CheckType, MVT::f64,
55774 OPC_Scope, 32,
55775 OPC_CheckPatternPredicate, 9,
55776 OPC_EmitInteger32, 0,
55777 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55778 MVT::f128, 2, 1, 0,
55779 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55780 MVT::f128, 1, 2,
55781 OPC_EmitStringInteger32, PPC::sub_64,
55782 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55783 MVT::f64, 2, 3, 4,
55784 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55785 MVT::f64, 1, 5,
55786 31,
55787 OPC_CheckPatternPredicate6,
55788 OPC_EmitInteger32, 28,
55789 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55790 MVT::f128, 2, 1, 0,
55791 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55792 MVT::f128, 1, 2,
55793 OPC_EmitStringInteger32, PPC::sub_64,
55794 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55795 MVT::f64, 2, 3, 4,
55796 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55797 MVT::f64, 1, 5,
55798 0,
55799 78,
55800 OPC_CheckChild1Integer, 2,
55801 OPC_MoveSibling1,
55802 OPC_CheckValueType, MVT::i16,
55803 OPC_MoveParent,
55804 OPC_CheckTypeI32,
55805 OPC_MoveParent,
55806 OPC_MoveParent,
55807 OPC_CheckType, MVT::f64,
55808 OPC_Scope, 32,
55809 OPC_CheckPatternPredicate, 9,
55810 OPC_EmitInteger32, 4,
55811 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55812 MVT::f128, 2, 1, 0,
55813 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55814 MVT::f128, 1, 2,
55815 OPC_EmitStringInteger32, PPC::sub_64,
55816 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55817 MVT::f64, 2, 3, 4,
55818 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55819 MVT::f64, 1, 5,
55820 31,
55821 OPC_CheckPatternPredicate6,
55822 OPC_EmitInteger32, 24,
55823 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55824 MVT::f128, 2, 1, 0,
55825 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55826 MVT::f128, 1, 2,
55827 OPC_EmitStringInteger32, PPC::sub_64,
55828 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55829 MVT::f64, 2, 3, 4,
55830 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55831 MVT::f64, 1, 5,
55832 0,
55833 78,
55834 OPC_CheckChild1Integer, 4,
55835 OPC_MoveSibling1,
55836 OPC_CheckValueType, MVT::i16,
55837 OPC_MoveParent,
55838 OPC_CheckTypeI32,
55839 OPC_MoveParent,
55840 OPC_MoveParent,
55841 OPC_CheckType, MVT::f64,
55842 OPC_Scope, 32,
55843 OPC_CheckPatternPredicate, 9,
55844 OPC_EmitInteger32, 8,
55845 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55846 MVT::f128, 2, 1, 0,
55847 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55848 MVT::f128, 1, 2,
55849 OPC_EmitStringInteger32, PPC::sub_64,
55850 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55851 MVT::f64, 2, 3, 4,
55852 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55853 MVT::f64, 1, 5,
55854 31,
55855 OPC_CheckPatternPredicate6,
55856 OPC_EmitInteger32, 20,
55857 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55858 MVT::f128, 2, 1, 0,
55859 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55860 MVT::f128, 1, 2,
55861 OPC_EmitStringInteger32, PPC::sub_64,
55862 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55863 MVT::f64, 2, 3, 4,
55864 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55865 MVT::f64, 1, 5,
55866 0,
55867 78,
55868 OPC_CheckChild1Integer, 6,
55869 OPC_MoveSibling1,
55870 OPC_CheckValueType, MVT::i16,
55871 OPC_MoveParent,
55872 OPC_CheckTypeI32,
55873 OPC_MoveParent,
55874 OPC_MoveParent,
55875 OPC_CheckType, MVT::f64,
55876 OPC_Scope, 32,
55877 OPC_CheckPatternPredicate, 9,
55878 OPC_EmitInteger32, 12,
55879 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55880 MVT::f128, 2, 1, 0,
55881 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55882 MVT::f128, 1, 2,
55883 OPC_EmitStringInteger32, PPC::sub_64,
55884 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55885 MVT::f64, 2, 3, 4,
55886 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55887 MVT::f64, 1, 5,
55888 31,
55889 OPC_CheckPatternPredicate6,
55890 OPC_EmitInteger32, 16,
55891 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55892 MVT::f128, 2, 1, 0,
55893 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55894 MVT::f128, 1, 2,
55895 OPC_EmitStringInteger32, PPC::sub_64,
55896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55897 MVT::f64, 2, 3, 4,
55898 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55899 MVT::f64, 1, 5,
55900 0,
55901 78,
55902 OPC_CheckChild1Integer, 8,
55903 OPC_MoveSibling1,
55904 OPC_CheckValueType, MVT::i16,
55905 OPC_MoveParent,
55906 OPC_CheckTypeI32,
55907 OPC_MoveParent,
55908 OPC_MoveParent,
55909 OPC_CheckType, MVT::f64,
55910 OPC_Scope, 32,
55911 OPC_CheckPatternPredicate, 9,
55912 OPC_EmitInteger32, 16,
55913 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55914 MVT::f128, 2, 1, 0,
55915 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55916 MVT::f128, 1, 2,
55917 OPC_EmitStringInteger32, PPC::sub_64,
55918 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55919 MVT::f64, 2, 3, 4,
55920 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55921 MVT::f64, 1, 5,
55922 31,
55923 OPC_CheckPatternPredicate6,
55924 OPC_EmitInteger32, 12,
55925 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55926 MVT::f128, 2, 1, 0,
55927 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55928 MVT::f128, 1, 2,
55929 OPC_EmitStringInteger32, PPC::sub_64,
55930 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55931 MVT::f64, 2, 3, 4,
55932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55933 MVT::f64, 1, 5,
55934 0,
55935 78,
55936 OPC_CheckChild1Integer, 10,
55937 OPC_MoveSibling1,
55938 OPC_CheckValueType, MVT::i16,
55939 OPC_MoveParent,
55940 OPC_CheckTypeI32,
55941 OPC_MoveParent,
55942 OPC_MoveParent,
55943 OPC_CheckType, MVT::f64,
55944 OPC_Scope, 32,
55945 OPC_CheckPatternPredicate, 9,
55946 OPC_EmitInteger32, 20,
55947 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55948 MVT::f128, 2, 1, 0,
55949 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55950 MVT::f128, 1, 2,
55951 OPC_EmitStringInteger32, PPC::sub_64,
55952 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55953 MVT::f64, 2, 3, 4,
55954 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55955 MVT::f64, 1, 5,
55956 31,
55957 OPC_CheckPatternPredicate6,
55958 OPC_EmitInteger32, 8,
55959 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55960 MVT::f128, 2, 1, 0,
55961 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55962 MVT::f128, 1, 2,
55963 OPC_EmitStringInteger32, PPC::sub_64,
55964 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55965 MVT::f64, 2, 3, 4,
55966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55967 MVT::f64, 1, 5,
55968 0,
55969 78,
55970 OPC_CheckChild1Integer, 12,
55971 OPC_MoveSibling1,
55972 OPC_CheckValueType, MVT::i16,
55973 OPC_MoveParent,
55974 OPC_CheckTypeI32,
55975 OPC_MoveParent,
55976 OPC_MoveParent,
55977 OPC_CheckType, MVT::f64,
55978 OPC_Scope, 32,
55979 OPC_CheckPatternPredicate, 9,
55980 OPC_EmitInteger32, 24,
55981 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55982 MVT::f128, 2, 1, 0,
55983 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55984 MVT::f128, 1, 2,
55985 OPC_EmitStringInteger32, PPC::sub_64,
55986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55987 MVT::f64, 2, 3, 4,
55988 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
55989 MVT::f64, 1, 5,
55990 31,
55991 OPC_CheckPatternPredicate6,
55992 OPC_EmitInteger32, 4,
55993 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
55994 MVT::f128, 2, 1, 0,
55995 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
55996 MVT::f128, 1, 2,
55997 OPC_EmitStringInteger32, PPC::sub_64,
55998 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
55999 MVT::f64, 2, 3, 4,
56000 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56001 MVT::f64, 1, 5,
56002 0,
56003 78,
56004 OPC_CheckChild1Integer, 14,
56005 OPC_MoveSibling1,
56006 OPC_CheckValueType, MVT::i16,
56007 OPC_MoveParent,
56008 OPC_CheckTypeI32,
56009 OPC_MoveParent,
56010 OPC_MoveParent,
56011 OPC_CheckType, MVT::f64,
56012 OPC_Scope, 32,
56013 OPC_CheckPatternPredicate, 9,
56014 OPC_EmitInteger32, 28,
56015 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56016 MVT::f128, 2, 1, 0,
56017 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56018 MVT::f128, 1, 2,
56019 OPC_EmitStringInteger32, PPC::sub_64,
56020 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56021 MVT::f64, 2, 3, 4,
56022 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56023 MVT::f64, 1, 5,
56024 31,
56025 OPC_CheckPatternPredicate6,
56026 OPC_EmitInteger32, 0,
56027 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56028 MVT::f128, 2, 1, 0,
56029 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56030 MVT::f128, 1, 2,
56031 OPC_EmitStringInteger32, PPC::sub_64,
56032 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56033 MVT::f64, 2, 3, 4,
56034 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56035 MVT::f64, 1, 5,
56036 0,
56037 0,
56038 116|128,9,
56039 OPC_CheckChild0Type, MVT::v16i8,
56040 OPC_Scope, 78,
56041 OPC_CheckChild1Integer, 0,
56042 OPC_MoveSibling1,
56043 OPC_CheckValueType, MVT::i8,
56044 OPC_MoveParent,
56045 OPC_CheckTypeI32,
56046 OPC_MoveParent,
56047 OPC_MoveParent,
56048 OPC_CheckType, MVT::f64,
56049 OPC_Scope, 32,
56050 OPC_CheckPatternPredicate, 9,
56051 OPC_EmitInteger32, 0,
56052 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56053 MVT::f128, 2, 1, 0,
56054 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56055 MVT::f128, 1, 2,
56056 OPC_EmitStringInteger32, PPC::sub_64,
56057 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56058 MVT::f64, 2, 3, 4,
56059 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56060 MVT::f64, 1, 5,
56061 31,
56062 OPC_CheckPatternPredicate6,
56063 OPC_EmitInteger32, 30,
56064 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56065 MVT::f128, 2, 1, 0,
56066 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56067 MVT::f128, 1, 2,
56068 OPC_EmitStringInteger32, PPC::sub_64,
56069 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56070 MVT::f64, 2, 3, 4,
56071 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56072 MVT::f64, 1, 5,
56073 0,
56074 78,
56075 OPC_CheckChild1Integer, 2,
56076 OPC_MoveSibling1,
56077 OPC_CheckValueType, MVT::i8,
56078 OPC_MoveParent,
56079 OPC_CheckTypeI32,
56080 OPC_MoveParent,
56081 OPC_MoveParent,
56082 OPC_CheckType, MVT::f64,
56083 OPC_Scope, 32,
56084 OPC_CheckPatternPredicate, 9,
56085 OPC_EmitInteger32, 4,
56086 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56087 MVT::f128, 2, 1, 0,
56088 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56089 MVT::f128, 1, 2,
56090 OPC_EmitStringInteger32, PPC::sub_64,
56091 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56092 MVT::f64, 2, 3, 4,
56093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56094 MVT::f64, 1, 5,
56095 31,
56096 OPC_CheckPatternPredicate6,
56097 OPC_EmitInteger32, 28,
56098 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56099 MVT::f128, 2, 1, 0,
56100 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56101 MVT::f128, 1, 2,
56102 OPC_EmitStringInteger32, PPC::sub_64,
56103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56104 MVT::f64, 2, 3, 4,
56105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56106 MVT::f64, 1, 5,
56107 0,
56108 78,
56109 OPC_CheckChild1Integer, 4,
56110 OPC_MoveSibling1,
56111 OPC_CheckValueType, MVT::i8,
56112 OPC_MoveParent,
56113 OPC_CheckTypeI32,
56114 OPC_MoveParent,
56115 OPC_MoveParent,
56116 OPC_CheckType, MVT::f64,
56117 OPC_Scope, 32,
56118 OPC_CheckPatternPredicate, 9,
56119 OPC_EmitInteger32, 8,
56120 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56121 MVT::f128, 2, 1, 0,
56122 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56123 MVT::f128, 1, 2,
56124 OPC_EmitStringInteger32, PPC::sub_64,
56125 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56126 MVT::f64, 2, 3, 4,
56127 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56128 MVT::f64, 1, 5,
56129 31,
56130 OPC_CheckPatternPredicate6,
56131 OPC_EmitInteger32, 26,
56132 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56133 MVT::f128, 2, 1, 0,
56134 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56135 MVT::f128, 1, 2,
56136 OPC_EmitStringInteger32, PPC::sub_64,
56137 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56138 MVT::f64, 2, 3, 4,
56139 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56140 MVT::f64, 1, 5,
56141 0,
56142 78,
56143 OPC_CheckChild1Integer, 6,
56144 OPC_MoveSibling1,
56145 OPC_CheckValueType, MVT::i8,
56146 OPC_MoveParent,
56147 OPC_CheckTypeI32,
56148 OPC_MoveParent,
56149 OPC_MoveParent,
56150 OPC_CheckType, MVT::f64,
56151 OPC_Scope, 32,
56152 OPC_CheckPatternPredicate, 9,
56153 OPC_EmitInteger32, 12,
56154 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56155 MVT::f128, 2, 1, 0,
56156 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56157 MVT::f128, 1, 2,
56158 OPC_EmitStringInteger32, PPC::sub_64,
56159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56160 MVT::f64, 2, 3, 4,
56161 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56162 MVT::f64, 1, 5,
56163 31,
56164 OPC_CheckPatternPredicate6,
56165 OPC_EmitInteger32, 24,
56166 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56167 MVT::f128, 2, 1, 0,
56168 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56169 MVT::f128, 1, 2,
56170 OPC_EmitStringInteger32, PPC::sub_64,
56171 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56172 MVT::f64, 2, 3, 4,
56173 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56174 MVT::f64, 1, 5,
56175 0,
56176 78,
56177 OPC_CheckChild1Integer, 8,
56178 OPC_MoveSibling1,
56179 OPC_CheckValueType, MVT::i8,
56180 OPC_MoveParent,
56181 OPC_CheckTypeI32,
56182 OPC_MoveParent,
56183 OPC_MoveParent,
56184 OPC_CheckType, MVT::f64,
56185 OPC_Scope, 32,
56186 OPC_CheckPatternPredicate, 9,
56187 OPC_EmitInteger32, 16,
56188 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56189 MVT::f128, 2, 1, 0,
56190 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56191 MVT::f128, 1, 2,
56192 OPC_EmitStringInteger32, PPC::sub_64,
56193 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56194 MVT::f64, 2, 3, 4,
56195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56196 MVT::f64, 1, 5,
56197 31,
56198 OPC_CheckPatternPredicate6,
56199 OPC_EmitInteger32, 22,
56200 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56201 MVT::f128, 2, 1, 0,
56202 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56203 MVT::f128, 1, 2,
56204 OPC_EmitStringInteger32, PPC::sub_64,
56205 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56206 MVT::f64, 2, 3, 4,
56207 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56208 MVT::f64, 1, 5,
56209 0,
56210 78,
56211 OPC_CheckChild1Integer, 10,
56212 OPC_MoveSibling1,
56213 OPC_CheckValueType, MVT::i8,
56214 OPC_MoveParent,
56215 OPC_CheckTypeI32,
56216 OPC_MoveParent,
56217 OPC_MoveParent,
56218 OPC_CheckType, MVT::f64,
56219 OPC_Scope, 32,
56220 OPC_CheckPatternPredicate, 9,
56221 OPC_EmitInteger32, 20,
56222 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56223 MVT::f128, 2, 1, 0,
56224 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56225 MVT::f128, 1, 2,
56226 OPC_EmitStringInteger32, PPC::sub_64,
56227 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56228 MVT::f64, 2, 3, 4,
56229 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56230 MVT::f64, 1, 5,
56231 31,
56232 OPC_CheckPatternPredicate6,
56233 OPC_EmitInteger32, 20,
56234 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56235 MVT::f128, 2, 1, 0,
56236 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56237 MVT::f128, 1, 2,
56238 OPC_EmitStringInteger32, PPC::sub_64,
56239 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56240 MVT::f64, 2, 3, 4,
56241 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56242 MVT::f64, 1, 5,
56243 0,
56244 78,
56245 OPC_CheckChild1Integer, 12,
56246 OPC_MoveSibling1,
56247 OPC_CheckValueType, MVT::i8,
56248 OPC_MoveParent,
56249 OPC_CheckTypeI32,
56250 OPC_MoveParent,
56251 OPC_MoveParent,
56252 OPC_CheckType, MVT::f64,
56253 OPC_Scope, 32,
56254 OPC_CheckPatternPredicate, 9,
56255 OPC_EmitInteger32, 24,
56256 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56257 MVT::f128, 2, 1, 0,
56258 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56259 MVT::f128, 1, 2,
56260 OPC_EmitStringInteger32, PPC::sub_64,
56261 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56262 MVT::f64, 2, 3, 4,
56263 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56264 MVT::f64, 1, 5,
56265 31,
56266 OPC_CheckPatternPredicate6,
56267 OPC_EmitInteger32, 18,
56268 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56269 MVT::f128, 2, 1, 0,
56270 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56271 MVT::f128, 1, 2,
56272 OPC_EmitStringInteger32, PPC::sub_64,
56273 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56274 MVT::f64, 2, 3, 4,
56275 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56276 MVT::f64, 1, 5,
56277 0,
56278 78,
56279 OPC_CheckChild1Integer, 14,
56280 OPC_MoveSibling1,
56281 OPC_CheckValueType, MVT::i8,
56282 OPC_MoveParent,
56283 OPC_CheckTypeI32,
56284 OPC_MoveParent,
56285 OPC_MoveParent,
56286 OPC_CheckType, MVT::f64,
56287 OPC_Scope, 32,
56288 OPC_CheckPatternPredicate, 9,
56289 OPC_EmitInteger32, 28,
56290 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56291 MVT::f128, 2, 1, 0,
56292 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56293 MVT::f128, 1, 2,
56294 OPC_EmitStringInteger32, PPC::sub_64,
56295 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56296 MVT::f64, 2, 3, 4,
56297 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56298 MVT::f64, 1, 5,
56299 31,
56300 OPC_CheckPatternPredicate6,
56301 OPC_EmitInteger32, 16,
56302 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56303 MVT::f128, 2, 1, 0,
56304 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56305 MVT::f128, 1, 2,
56306 OPC_EmitStringInteger32, PPC::sub_64,
56307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56308 MVT::f64, 2, 3, 4,
56309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56310 MVT::f64, 1, 5,
56311 0,
56312 78,
56313 OPC_CheckChild1Integer, 16,
56314 OPC_MoveSibling1,
56315 OPC_CheckValueType, MVT::i8,
56316 OPC_MoveParent,
56317 OPC_CheckTypeI32,
56318 OPC_MoveParent,
56319 OPC_MoveParent,
56320 OPC_CheckType, MVT::f64,
56321 OPC_Scope, 32,
56322 OPC_CheckPatternPredicate, 9,
56323 OPC_EmitInteger32, 32,
56324 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56325 MVT::f128, 2, 1, 0,
56326 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56327 MVT::f128, 1, 2,
56328 OPC_EmitStringInteger32, PPC::sub_64,
56329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56330 MVT::f64, 2, 3, 4,
56331 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56332 MVT::f64, 1, 5,
56333 31,
56334 OPC_CheckPatternPredicate6,
56335 OPC_EmitInteger32, 14,
56336 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56337 MVT::f128, 2, 1, 0,
56338 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56339 MVT::f128, 1, 2,
56340 OPC_EmitStringInteger32, PPC::sub_64,
56341 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56342 MVT::f64, 2, 3, 4,
56343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56344 MVT::f64, 1, 5,
56345 0,
56346 78,
56347 OPC_CheckChild1Integer, 18,
56348 OPC_MoveSibling1,
56349 OPC_CheckValueType, MVT::i8,
56350 OPC_MoveParent,
56351 OPC_CheckTypeI32,
56352 OPC_MoveParent,
56353 OPC_MoveParent,
56354 OPC_CheckType, MVT::f64,
56355 OPC_Scope, 32,
56356 OPC_CheckPatternPredicate, 9,
56357 OPC_EmitInteger32, 36,
56358 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56359 MVT::f128, 2, 1, 0,
56360 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56361 MVT::f128, 1, 2,
56362 OPC_EmitStringInteger32, PPC::sub_64,
56363 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56364 MVT::f64, 2, 3, 4,
56365 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56366 MVT::f64, 1, 5,
56367 31,
56368 OPC_CheckPatternPredicate6,
56369 OPC_EmitInteger32, 12,
56370 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56371 MVT::f128, 2, 1, 0,
56372 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56373 MVT::f128, 1, 2,
56374 OPC_EmitStringInteger32, PPC::sub_64,
56375 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56376 MVT::f64, 2, 3, 4,
56377 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56378 MVT::f64, 1, 5,
56379 0,
56380 78,
56381 OPC_CheckChild1Integer, 20,
56382 OPC_MoveSibling1,
56383 OPC_CheckValueType, MVT::i8,
56384 OPC_MoveParent,
56385 OPC_CheckTypeI32,
56386 OPC_MoveParent,
56387 OPC_MoveParent,
56388 OPC_CheckType, MVT::f64,
56389 OPC_Scope, 32,
56390 OPC_CheckPatternPredicate, 9,
56391 OPC_EmitInteger32, 40,
56392 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56393 MVT::f128, 2, 1, 0,
56394 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56395 MVT::f128, 1, 2,
56396 OPC_EmitStringInteger32, PPC::sub_64,
56397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56398 MVT::f64, 2, 3, 4,
56399 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56400 MVT::f64, 1, 5,
56401 31,
56402 OPC_CheckPatternPredicate6,
56403 OPC_EmitInteger32, 10,
56404 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56405 MVT::f128, 2, 1, 0,
56406 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56407 MVT::f128, 1, 2,
56408 OPC_EmitStringInteger32, PPC::sub_64,
56409 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56410 MVT::f64, 2, 3, 4,
56411 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56412 MVT::f64, 1, 5,
56413 0,
56414 78,
56415 OPC_CheckChild1Integer, 22,
56416 OPC_MoveSibling1,
56417 OPC_CheckValueType, MVT::i8,
56418 OPC_MoveParent,
56419 OPC_CheckTypeI32,
56420 OPC_MoveParent,
56421 OPC_MoveParent,
56422 OPC_CheckType, MVT::f64,
56423 OPC_Scope, 32,
56424 OPC_CheckPatternPredicate, 9,
56425 OPC_EmitInteger32, 44,
56426 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56427 MVT::f128, 2, 1, 0,
56428 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56429 MVT::f128, 1, 2,
56430 OPC_EmitStringInteger32, PPC::sub_64,
56431 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56432 MVT::f64, 2, 3, 4,
56433 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56434 MVT::f64, 1, 5,
56435 31,
56436 OPC_CheckPatternPredicate6,
56437 OPC_EmitInteger32, 8,
56438 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56439 MVT::f128, 2, 1, 0,
56440 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56441 MVT::f128, 1, 2,
56442 OPC_EmitStringInteger32, PPC::sub_64,
56443 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56444 MVT::f64, 2, 3, 4,
56445 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56446 MVT::f64, 1, 5,
56447 0,
56448 78,
56449 OPC_CheckChild1Integer, 24,
56450 OPC_MoveSibling1,
56451 OPC_CheckValueType, MVT::i8,
56452 OPC_MoveParent,
56453 OPC_CheckTypeI32,
56454 OPC_MoveParent,
56455 OPC_MoveParent,
56456 OPC_CheckType, MVT::f64,
56457 OPC_Scope, 32,
56458 OPC_CheckPatternPredicate, 9,
56459 OPC_EmitInteger32, 48,
56460 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56461 MVT::f128, 2, 1, 0,
56462 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56463 MVT::f128, 1, 2,
56464 OPC_EmitStringInteger32, PPC::sub_64,
56465 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56466 MVT::f64, 2, 3, 4,
56467 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56468 MVT::f64, 1, 5,
56469 31,
56470 OPC_CheckPatternPredicate6,
56471 OPC_EmitInteger32, 6,
56472 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56473 MVT::f128, 2, 1, 0,
56474 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56475 MVT::f128, 1, 2,
56476 OPC_EmitStringInteger32, PPC::sub_64,
56477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56478 MVT::f64, 2, 3, 4,
56479 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56480 MVT::f64, 1, 5,
56481 0,
56482 78,
56483 OPC_CheckChild1Integer, 26,
56484 OPC_MoveSibling1,
56485 OPC_CheckValueType, MVT::i8,
56486 OPC_MoveParent,
56487 OPC_CheckTypeI32,
56488 OPC_MoveParent,
56489 OPC_MoveParent,
56490 OPC_CheckType, MVT::f64,
56491 OPC_Scope, 32,
56492 OPC_CheckPatternPredicate, 9,
56493 OPC_EmitInteger32, 52,
56494 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56495 MVT::f128, 2, 1, 0,
56496 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56497 MVT::f128, 1, 2,
56498 OPC_EmitStringInteger32, PPC::sub_64,
56499 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56500 MVT::f64, 2, 3, 4,
56501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56502 MVT::f64, 1, 5,
56503 31,
56504 OPC_CheckPatternPredicate6,
56505 OPC_EmitInteger32, 4,
56506 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56507 MVT::f128, 2, 1, 0,
56508 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56509 MVT::f128, 1, 2,
56510 OPC_EmitStringInteger32, PPC::sub_64,
56511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56512 MVT::f64, 2, 3, 4,
56513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56514 MVT::f64, 1, 5,
56515 0,
56516 78,
56517 OPC_CheckChild1Integer, 28,
56518 OPC_MoveSibling1,
56519 OPC_CheckValueType, MVT::i8,
56520 OPC_MoveParent,
56521 OPC_CheckTypeI32,
56522 OPC_MoveParent,
56523 OPC_MoveParent,
56524 OPC_CheckType, MVT::f64,
56525 OPC_Scope, 32,
56526 OPC_CheckPatternPredicate, 9,
56527 OPC_EmitInteger32, 56,
56528 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56529 MVT::f128, 2, 1, 0,
56530 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56531 MVT::f128, 1, 2,
56532 OPC_EmitStringInteger32, PPC::sub_64,
56533 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56534 MVT::f64, 2, 3, 4,
56535 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56536 MVT::f64, 1, 5,
56537 31,
56538 OPC_CheckPatternPredicate6,
56539 OPC_EmitInteger32, 2,
56540 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56541 MVT::f128, 2, 1, 0,
56542 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56543 MVT::f128, 1, 2,
56544 OPC_EmitStringInteger32, PPC::sub_64,
56545 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56546 MVT::f64, 2, 3, 4,
56547 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56548 MVT::f64, 1, 5,
56549 0,
56550 78,
56551 OPC_CheckChild1Integer, 30,
56552 OPC_MoveSibling1,
56553 OPC_CheckValueType, MVT::i8,
56554 OPC_MoveParent,
56555 OPC_CheckTypeI32,
56556 OPC_MoveParent,
56557 OPC_MoveParent,
56558 OPC_CheckType, MVT::f64,
56559 OPC_Scope, 32,
56560 OPC_CheckPatternPredicate, 9,
56561 OPC_EmitInteger32, 60,
56562 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
56563 MVT::f128, 2, 1, 0,
56564 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56565 MVT::f128, 1, 2,
56566 OPC_EmitStringInteger32, PPC::sub_64,
56567 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56568 MVT::f64, 2, 3, 4,
56569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56570 MVT::f64, 1, 5,
56571 31,
56572 OPC_CheckPatternPredicate6,
56573 OPC_EmitInteger32, 0,
56574 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56575 MVT::f128, 2, 1, 0,
56576 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56577 MVT::f128, 1, 2,
56578 OPC_EmitStringInteger32, PPC::sub_64,
56579 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56580 MVT::f64, 2, 3, 4,
56581 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56582 MVT::f64, 1, 5,
56583 0,
56584 0,
56585 0,
56586 1|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
56587 OPC_RecordChild0,
56588 OPC_SwitchType , 123, MVT::i64,
56589 OPC_CheckChild0Type, MVT::v2i64,
56590 OPC_Scope, 54,
56591 OPC_CheckChild1Integer, 0,
56592 OPC_MoveParent,
56593 OPC_MoveParent,
56594 OPC_CheckType, MVT::f64,
56595 OPC_Scope, 17,
56596 OPC_CheckPatternPredicate, 17,
56597 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56599 MVT::f64, 2, 0, 1,
56600 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56601 MVT::f64, 1, 2,
56602 27,
56603 OPC_CheckPatternPredicate, 13,
56604 OPC_EmitInteger32, 4,
56605 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
56606 MVT::v4i32, 3, 0, 0, 1,
56607 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56609 MVT::f64, 2, 2, 3,
56610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56611 MVT::f64, 1, 4,
56612 0,
56613 63,
56614 OPC_CheckChild1Integer, 2,
56615 OPC_MoveParent,
56616 OPC_MoveParent,
56617 OPC_CheckType, MVT::f64,
56618 OPC_Scope, 27,
56619 OPC_CheckPatternPredicate, 17,
56620 OPC_EmitInteger32, 4,
56621 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
56622 MVT::v4i32, 3, 0, 0, 1,
56623 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56625 MVT::f64, 2, 2, 3,
56626 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56627 MVT::f64, 1, 4,
56628 26,
56629 OPC_CheckPatternPredicate, 13,
56630 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
56631 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56632 MVT::f64, 2, 0, 1,
56633 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56634 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56635 MVT::f64, 2, 2, 3,
56636 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56637 MVT::f64, 1, 4,
56638 0,
56639 0,
56640 126|128,1, MVT::i32,
56641 OPC_Scope, 62,
56642 OPC_CheckChild1Integer, 0,
56643 OPC_MoveParent,
56644 OPC_MoveParent,
56645 OPC_CheckType, MVT::f64,
56646 OPC_Scope, 26,
56647 OPC_CheckPatternPredicate, 28,
56648 OPC_EmitInteger32, 0,
56649 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56650 MVT::v4i32, 2, 0, 1,
56651 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56652 MVT::v4i32, 1, 2,
56653 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56654 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56655 MVT::f64, 2, 3, 4,
56656 26,
56657 OPC_CheckPatternPredicate, 21,
56658 OPC_EmitInteger32, 6,
56659 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56660 MVT::v4i32, 2, 0, 1,
56661 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56662 MVT::v4i32, 1, 2,
56663 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56664 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56665 MVT::f64, 2, 3, 4,
56666 0,
56667 62,
56668 OPC_CheckChild1Integer, 2,
56669 OPC_MoveParent,
56670 OPC_MoveParent,
56671 OPC_CheckType, MVT::f64,
56672 OPC_Scope, 26,
56673 OPC_CheckPatternPredicate, 28,
56674 OPC_EmitInteger32, 2,
56675 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56676 MVT::v4i32, 2, 0, 1,
56677 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56678 MVT::v4i32, 1, 2,
56679 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56680 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56681 MVT::f64, 2, 3, 4,
56682 26,
56683 OPC_CheckPatternPredicate, 21,
56684 OPC_EmitInteger32, 4,
56685 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56686 MVT::v4i32, 2, 0, 1,
56687 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56688 MVT::v4i32, 1, 2,
56689 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56690 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56691 MVT::f64, 2, 3, 4,
56692 0,
56693 62,
56694 OPC_CheckChild1Integer, 4,
56695 OPC_MoveParent,
56696 OPC_MoveParent,
56697 OPC_CheckType, MVT::f64,
56698 OPC_Scope, 26,
56699 OPC_CheckPatternPredicate, 28,
56700 OPC_EmitInteger32, 4,
56701 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56702 MVT::v4i32, 2, 0, 1,
56703 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56704 MVT::v4i32, 1, 2,
56705 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56706 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56707 MVT::f64, 2, 3, 4,
56708 26,
56709 OPC_CheckPatternPredicate, 21,
56710 OPC_EmitInteger32, 2,
56711 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56712 MVT::v4i32, 2, 0, 1,
56713 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56714 MVT::v4i32, 1, 2,
56715 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56716 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56717 MVT::f64, 2, 3, 4,
56718 0,
56719 62,
56720 OPC_CheckChild1Integer, 6,
56721 OPC_MoveParent,
56722 OPC_MoveParent,
56723 OPC_CheckType, MVT::f64,
56724 OPC_Scope, 26,
56725 OPC_CheckPatternPredicate, 28,
56726 OPC_EmitInteger32, 6,
56727 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56728 MVT::v4i32, 2, 0, 1,
56729 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56730 MVT::v4i32, 1, 2,
56731 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56732 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56733 MVT::f64, 2, 3, 4,
56734 26,
56735 OPC_CheckPatternPredicate, 21,
56736 OPC_EmitInteger32, 0,
56737 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
56738 MVT::v4i32, 2, 0, 1,
56739 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
56740 MVT::v4i32, 1, 2,
56741 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
56742 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56743 MVT::f64, 2, 3, 4,
56744 0,
56745 0,
56746 0,
56747 0,
56748 20,
56749 OPC_RecordChild0,
56750 OPC_CheckType, MVT::f64,
56751 OPC_Scope, 7,
56752 OPC_CheckPatternPredicate2,
56753 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSXDDP),
56754 MVT::f64, 1, 0,
56755 6,
56756 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCFID),
56757 MVT::f64, 1, 0,
56758 0,
56759 0,
56760 115, TARGET_VAL(ISD::FP_ROUND),
56761 OPC_Scope, 47,
56762 OPC_MoveChild0,
56763 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
56764 OPC_RecordMemRef,
56765 OPC_RecordNode,
56766 OPC_RecordChild1,
56767 OPC_CheckPredicate, 11,
56768 OPC_CheckPredicate, 9,
56769 OPC_CheckPredicate, 17,
56770 OPC_CheckType, MVT::f64,
56771 OPC_MoveParent,
56772 OPC_CheckType, MVT::f32,
56773 OPC_Scope, 12,
56774 OPC_CheckPatternPredicate7,
56775 OPC_CheckComplexPat4, /*#*/1,
56776 OPC_EmitMergeInputChains1_0,
56777 OPC_MorphNodeTo1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
56778 MVT::f32, 2, 2, 3,
56779 13,
56780 OPC_CheckPatternPredicate, 11,
56781 OPC_CheckComplexPat0, /*#*/1,
56782 OPC_EmitMergeInputChains1_0,
56783 OPC_MorphNodeTo1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
56784 MVT::f32, 2, 2, 3,
56785 0,
56786 64,
56787 OPC_RecordChild0,
56788 OPC_Scope, 31,
56789 OPC_CheckChild0Type, MVT::f64,
56790 OPC_CheckType, MVT::f32,
56791 OPC_Scope, 8,
56792 OPC_CheckPatternPredicate, 11,
56793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSP),
56794 MVT::f32, 1, 0,
56795 7,
56796 OPC_CheckPatternPredicate0,
56797 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSP),
56798 MVT::f32, 1, 0,
56799 7,
56800 OPC_CheckPatternPredicate5,
56801 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFD),
56802 MVT::f32, 1, 0,
56803 0,
56804 28,
56805 OPC_CheckChild0Type, MVT::f128,
56806 OPC_SwitchType , 7, MVT::f64,
56807 OPC_CheckPatternPredicate7,
56808 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPDP),
56809 MVT::f64, 1, 0,
56810 13, MVT::f32,
56811 OPC_CheckPatternPredicate7,
56812 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPDPO),
56813 MVT::f64, 1, 0,
56814 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSP),
56815 MVT::f32, 1, 1,
56816 0,
56817 0,
56818 0,
56819 41|128,1, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
56820 OPC_RecordNode,
56821 OPC_Scope, 78,
56822 OPC_MoveChild1,
56823 OPC_SwitchOpcode , 32, TARGET_VAL(ISD::LOAD),
56824 OPC_RecordMemRef,
56825 OPC_RecordNode,
56826 OPC_CheckFoldableChainNode,
56827 OPC_RecordChild1,
56828 OPC_CheckPredicate, 11,
56829 OPC_CheckPredicate5,
56830 OPC_CheckTypeI32,
56831 OPC_MoveParent,
56832 OPC_CheckType, MVT::f128,
56833 OPC_CheckPatternPredicate7,
56834 OPC_CheckComplexPat0, /*#*/2,
56835 OPC_EmitMergeInputChains, 2, 0, 1,
56836 OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
56837 MVT::f64, 2, 3, 4,
56838 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56839 MVT::f128, 1, 5,
56840 37, TARGET_VAL(PPCISD::MFVSR),
56841 OPC_RecordChild0,
56842 OPC_CheckChild0Type, MVT::f64,
56843 OPC_SwitchType , 11, MVT::i64,
56844 OPC_MoveParent,
56845 OPC_CheckType, MVT::f128,
56846 OPC_CheckPatternPredicate7,
56847 OPC_EmitMergeInputChains1_0,
56848 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56849 MVT::f128, 1, 1,
56850 17, MVT::i32,
56851 OPC_MoveParent,
56852 OPC_CheckType, MVT::f128,
56853 OPC_CheckPatternPredicate7,
56854 OPC_EmitMergeInputChains1_0,
56855 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSW2Ds),
56856 MVT::f64, 1, 1,
56857 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56858 MVT::f128, 1, 2,
56859 0,
56860 0,
56861 86,
56862 OPC_RecordChild1,
56863 OPC_Scope, 20,
56864 OPC_CheckChild1TypeI64,
56865 OPC_CheckType, MVT::f128,
56866 OPC_CheckPatternPredicate7,
56867 OPC_EmitMergeInputChains1_0,
56868 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
56869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
56870 MVT::f64, 2, 1, 2,
56871 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56872 MVT::f128, 1, 3,
56873 39,
56874 OPC_CheckChild1TypeI32,
56875 OPC_SwitchType , 14, MVT::f128,
56876 OPC_CheckPatternPredicate7,
56877 OPC_EmitMergeInputChains1_0,
56878 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWA),
56879 MVT::f64, 1, 1,
56880 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56881 MVT::f128, 1, 2,
56882 8, MVT::f64,
56883 OPC_CheckPatternPredicate5,
56884 OPC_EmitMergeInputChains1_0,
56885 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFSI),
56886 MVT::f64, 1, 1,
56887 8, MVT::f32,
56888 OPC_CheckPatternPredicate5,
56889 OPC_EmitMergeInputChains1_0,
56890 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFSI),
56891 MVT::f32, 1, 1,
56892 0,
56893 10,
56894 OPC_CheckType, MVT::v2f64,
56895 OPC_CheckPatternPredicate2,
56896 OPC_EmitMergeInputChains1_0,
56897 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSXDDP),
56898 MVT::v2f64, 1, 1,
56899 10,
56900 OPC_CheckType, MVT::v4f32,
56901 OPC_CheckPatternPredicate2,
56902 OPC_EmitMergeInputChains1_0,
56903 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSXWSP),
56904 MVT::v4f32, 1, 1,
56905 0,
56906 0,
56907 74|128,19, TARGET_VAL(ISD::SINT_TO_FP),
56908 OPC_Scope, 106|128,18,
56909 OPC_MoveChild0,
56910 OPC_SwitchOpcode , 75, TARGET_VAL(ISD::LOAD),
56911 OPC_RecordMemRef,
56912 OPC_RecordNode,
56913 OPC_RecordChild1,
56914 OPC_CheckPredicate, 11,
56915 OPC_CheckPredicate5,
56916 OPC_SwitchType , 21, MVT::i32,
56917 OPC_MoveParent,
56918 OPC_CheckType, MVT::f128,
56919 OPC_CheckPatternPredicate7,
56920 OPC_CheckComplexPat0, /*#*/1,
56921 OPC_EmitMergeInputChains1_0,
56922 OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
56923 MVT::f64, 2, 2, 3,
56924 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56925 MVT::f128, 1, 4,
56926 42, MVT::i64,
56927 OPC_MoveParent,
56928 OPC_CheckType, MVT::f128,
56929 OPC_CheckPatternPredicate7,
56930 OPC_Scope, 17,
56931 OPC_CheckComplexPat4, /*#*/1,
56932 OPC_EmitMergeInputChains1_0,
56933 OPC_EmitNode1, TARGET_VAL(PPC::LXSD), 0|OPFL_Chain|OPFL_MemRefs,
56934 MVT::f64, 2, 2, 3,
56935 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56936 MVT::f128, 1, 4,
56937 17,
56938 OPC_CheckComplexPat1, /*#*/1,
56939 OPC_EmitMergeInputChains1_0,
56940 OPC_EmitNode1, TARGET_VAL(PPC::LXSDX), 0|OPFL_Chain|OPFL_MemRefs,
56941 MVT::f64, 2, 2, 3,
56942 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVSDQP),
56943 MVT::f128, 1, 4,
56944 0,
56945 0,
56946 99|128,14, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
56947 OPC_MoveChild0,
56948 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
56949 OPC_RecordChild0,
56950 OPC_Scope, 116|128,4,
56951 OPC_CheckChild0Type, MVT::v8i16,
56952 OPC_Scope, 77,
56953 OPC_CheckChild1Integer, 0,
56954 OPC_MoveSibling1,
56955 OPC_CheckValueType, MVT::i16,
56956 OPC_MoveParent,
56957 OPC_CheckTypeI32,
56958 OPC_MoveParent,
56959 OPC_CheckType, MVT::f128,
56960 OPC_Scope, 32,
56961 OPC_CheckPatternPredicate, 9,
56962 OPC_EmitInteger32, 0,
56963 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56964 MVT::f128, 2, 1, 0,
56965 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56966 MVT::f128, 1, 2,
56967 OPC_EmitStringInteger32, PPC::sub_64,
56968 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56969 MVT::f64, 2, 3, 4,
56970 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
56971 MVT::f128, 1, 5,
56972 31,
56973 OPC_CheckPatternPredicate6,
56974 OPC_EmitInteger32, 28,
56975 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56976 MVT::f128, 2, 1, 0,
56977 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56978 MVT::f128, 1, 2,
56979 OPC_EmitStringInteger32, PPC::sub_64,
56980 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
56981 MVT::f64, 2, 3, 4,
56982 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
56983 MVT::f128, 1, 5,
56984 0,
56985 77,
56986 OPC_CheckChild1Integer, 2,
56987 OPC_MoveSibling1,
56988 OPC_CheckValueType, MVT::i16,
56989 OPC_MoveParent,
56990 OPC_CheckTypeI32,
56991 OPC_MoveParent,
56992 OPC_CheckType, MVT::f128,
56993 OPC_Scope, 32,
56994 OPC_CheckPatternPredicate, 9,
56995 OPC_EmitInteger32, 4,
56996 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
56997 MVT::f128, 2, 1, 0,
56998 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
56999 MVT::f128, 1, 2,
57000 OPC_EmitStringInteger32, PPC::sub_64,
57001 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57002 MVT::f64, 2, 3, 4,
57003 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57004 MVT::f128, 1, 5,
57005 31,
57006 OPC_CheckPatternPredicate6,
57007 OPC_EmitInteger32, 24,
57008 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57009 MVT::f128, 2, 1, 0,
57010 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57011 MVT::f128, 1, 2,
57012 OPC_EmitStringInteger32, PPC::sub_64,
57013 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57014 MVT::f64, 2, 3, 4,
57015 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57016 MVT::f128, 1, 5,
57017 0,
57018 77,
57019 OPC_CheckChild1Integer, 4,
57020 OPC_MoveSibling1,
57021 OPC_CheckValueType, MVT::i16,
57022 OPC_MoveParent,
57023 OPC_CheckTypeI32,
57024 OPC_MoveParent,
57025 OPC_CheckType, MVT::f128,
57026 OPC_Scope, 32,
57027 OPC_CheckPatternPredicate, 9,
57028 OPC_EmitInteger32, 8,
57029 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57030 MVT::f128, 2, 1, 0,
57031 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57032 MVT::f128, 1, 2,
57033 OPC_EmitStringInteger32, PPC::sub_64,
57034 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57035 MVT::f64, 2, 3, 4,
57036 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57037 MVT::f128, 1, 5,
57038 31,
57039 OPC_CheckPatternPredicate6,
57040 OPC_EmitInteger32, 20,
57041 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57042 MVT::f128, 2, 1, 0,
57043 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57044 MVT::f128, 1, 2,
57045 OPC_EmitStringInteger32, PPC::sub_64,
57046 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57047 MVT::f64, 2, 3, 4,
57048 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57049 MVT::f128, 1, 5,
57050 0,
57051 77,
57052 OPC_CheckChild1Integer, 6,
57053 OPC_MoveSibling1,
57054 OPC_CheckValueType, MVT::i16,
57055 OPC_MoveParent,
57056 OPC_CheckTypeI32,
57057 OPC_MoveParent,
57058 OPC_CheckType, MVT::f128,
57059 OPC_Scope, 32,
57060 OPC_CheckPatternPredicate, 9,
57061 OPC_EmitInteger32, 12,
57062 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57063 MVT::f128, 2, 1, 0,
57064 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57065 MVT::f128, 1, 2,
57066 OPC_EmitStringInteger32, PPC::sub_64,
57067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57068 MVT::f64, 2, 3, 4,
57069 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57070 MVT::f128, 1, 5,
57071 31,
57072 OPC_CheckPatternPredicate6,
57073 OPC_EmitInteger32, 16,
57074 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57075 MVT::f128, 2, 1, 0,
57076 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57077 MVT::f128, 1, 2,
57078 OPC_EmitStringInteger32, PPC::sub_64,
57079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57080 MVT::f64, 2, 3, 4,
57081 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57082 MVT::f128, 1, 5,
57083 0,
57084 77,
57085 OPC_CheckChild1Integer, 8,
57086 OPC_MoveSibling1,
57087 OPC_CheckValueType, MVT::i16,
57088 OPC_MoveParent,
57089 OPC_CheckTypeI32,
57090 OPC_MoveParent,
57091 OPC_CheckType, MVT::f128,
57092 OPC_Scope, 32,
57093 OPC_CheckPatternPredicate, 9,
57094 OPC_EmitInteger32, 16,
57095 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57096 MVT::f128, 2, 1, 0,
57097 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57098 MVT::f128, 1, 2,
57099 OPC_EmitStringInteger32, PPC::sub_64,
57100 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57101 MVT::f64, 2, 3, 4,
57102 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57103 MVT::f128, 1, 5,
57104 31,
57105 OPC_CheckPatternPredicate6,
57106 OPC_EmitInteger32, 12,
57107 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57108 MVT::f128, 2, 1, 0,
57109 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57110 MVT::f128, 1, 2,
57111 OPC_EmitStringInteger32, PPC::sub_64,
57112 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57113 MVT::f64, 2, 3, 4,
57114 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57115 MVT::f128, 1, 5,
57116 0,
57117 77,
57118 OPC_CheckChild1Integer, 10,
57119 OPC_MoveSibling1,
57120 OPC_CheckValueType, MVT::i16,
57121 OPC_MoveParent,
57122 OPC_CheckTypeI32,
57123 OPC_MoveParent,
57124 OPC_CheckType, MVT::f128,
57125 OPC_Scope, 32,
57126 OPC_CheckPatternPredicate, 9,
57127 OPC_EmitInteger32, 20,
57128 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57129 MVT::f128, 2, 1, 0,
57130 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57131 MVT::f128, 1, 2,
57132 OPC_EmitStringInteger32, PPC::sub_64,
57133 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57134 MVT::f64, 2, 3, 4,
57135 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57136 MVT::f128, 1, 5,
57137 31,
57138 OPC_CheckPatternPredicate6,
57139 OPC_EmitInteger32, 8,
57140 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57141 MVT::f128, 2, 1, 0,
57142 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57143 MVT::f128, 1, 2,
57144 OPC_EmitStringInteger32, PPC::sub_64,
57145 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57146 MVT::f64, 2, 3, 4,
57147 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57148 MVT::f128, 1, 5,
57149 0,
57150 77,
57151 OPC_CheckChild1Integer, 12,
57152 OPC_MoveSibling1,
57153 OPC_CheckValueType, MVT::i16,
57154 OPC_MoveParent,
57155 OPC_CheckTypeI32,
57156 OPC_MoveParent,
57157 OPC_CheckType, MVT::f128,
57158 OPC_Scope, 32,
57159 OPC_CheckPatternPredicate, 9,
57160 OPC_EmitInteger32, 24,
57161 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57162 MVT::f128, 2, 1, 0,
57163 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57164 MVT::f128, 1, 2,
57165 OPC_EmitStringInteger32, PPC::sub_64,
57166 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57167 MVT::f64, 2, 3, 4,
57168 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57169 MVT::f128, 1, 5,
57170 31,
57171 OPC_CheckPatternPredicate6,
57172 OPC_EmitInteger32, 4,
57173 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57174 MVT::f128, 2, 1, 0,
57175 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57176 MVT::f128, 1, 2,
57177 OPC_EmitStringInteger32, PPC::sub_64,
57178 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57179 MVT::f64, 2, 3, 4,
57180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57181 MVT::f128, 1, 5,
57182 0,
57183 77,
57184 OPC_CheckChild1Integer, 14,
57185 OPC_MoveSibling1,
57186 OPC_CheckValueType, MVT::i16,
57187 OPC_MoveParent,
57188 OPC_CheckTypeI32,
57189 OPC_MoveParent,
57190 OPC_CheckType, MVT::f128,
57191 OPC_Scope, 32,
57192 OPC_CheckPatternPredicate, 9,
57193 OPC_EmitInteger32, 28,
57194 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57195 MVT::f128, 2, 1, 0,
57196 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57197 MVT::f128, 1, 2,
57198 OPC_EmitStringInteger32, PPC::sub_64,
57199 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57200 MVT::f64, 2, 3, 4,
57201 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57202 MVT::f128, 1, 5,
57203 31,
57204 OPC_CheckPatternPredicate6,
57205 OPC_EmitInteger32, 0,
57206 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUH),
57207 MVT::f128, 2, 1, 0,
57208 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2D),
57209 MVT::f128, 1, 2,
57210 OPC_EmitStringInteger32, PPC::sub_64,
57211 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57212 MVT::f64, 2, 3, 4,
57213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57214 MVT::f128, 1, 5,
57215 0,
57216 0,
57217 100|128,9,
57218 OPC_CheckChild0Type, MVT::v16i8,
57219 OPC_Scope, 77,
57220 OPC_CheckChild1Integer, 0,
57221 OPC_MoveSibling1,
57222 OPC_CheckValueType, MVT::i8,
57223 OPC_MoveParent,
57224 OPC_CheckTypeI32,
57225 OPC_MoveParent,
57226 OPC_CheckType, MVT::f128,
57227 OPC_Scope, 32,
57228 OPC_CheckPatternPredicate, 9,
57229 OPC_EmitInteger32, 0,
57230 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57231 MVT::f128, 2, 1, 0,
57232 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57233 MVT::f128, 1, 2,
57234 OPC_EmitStringInteger32, PPC::sub_64,
57235 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57236 MVT::f64, 2, 3, 4,
57237 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57238 MVT::f128, 1, 5,
57239 31,
57240 OPC_CheckPatternPredicate6,
57241 OPC_EmitInteger32, 30,
57242 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57243 MVT::f128, 2, 1, 0,
57244 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57245 MVT::f128, 1, 2,
57246 OPC_EmitStringInteger32, PPC::sub_64,
57247 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57248 MVT::f64, 2, 3, 4,
57249 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57250 MVT::f128, 1, 5,
57251 0,
57252 77,
57253 OPC_CheckChild1Integer, 2,
57254 OPC_MoveSibling1,
57255 OPC_CheckValueType, MVT::i8,
57256 OPC_MoveParent,
57257 OPC_CheckTypeI32,
57258 OPC_MoveParent,
57259 OPC_CheckType, MVT::f128,
57260 OPC_Scope, 32,
57261 OPC_CheckPatternPredicate, 9,
57262 OPC_EmitInteger32, 2,
57263 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57264 MVT::f128, 2, 1, 0,
57265 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57266 MVT::f128, 1, 2,
57267 OPC_EmitStringInteger32, PPC::sub_64,
57268 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57269 MVT::f64, 2, 3, 4,
57270 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57271 MVT::f128, 1, 5,
57272 31,
57273 OPC_CheckPatternPredicate6,
57274 OPC_EmitInteger32, 28,
57275 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57276 MVT::f128, 2, 1, 0,
57277 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57278 MVT::f128, 1, 2,
57279 OPC_EmitStringInteger32, PPC::sub_64,
57280 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57281 MVT::f64, 2, 3, 4,
57282 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57283 MVT::f128, 1, 5,
57284 0,
57285 77,
57286 OPC_CheckChild1Integer, 4,
57287 OPC_MoveSibling1,
57288 OPC_CheckValueType, MVT::i8,
57289 OPC_MoveParent,
57290 OPC_CheckTypeI32,
57291 OPC_MoveParent,
57292 OPC_CheckType, MVT::f128,
57293 OPC_Scope, 32,
57294 OPC_CheckPatternPredicate, 9,
57295 OPC_EmitInteger32, 4,
57296 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57297 MVT::f128, 2, 1, 0,
57298 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57299 MVT::f128, 1, 2,
57300 OPC_EmitStringInteger32, PPC::sub_64,
57301 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57302 MVT::f64, 2, 3, 4,
57303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57304 MVT::f128, 1, 5,
57305 31,
57306 OPC_CheckPatternPredicate6,
57307 OPC_EmitInteger32, 26,
57308 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57309 MVT::f128, 2, 1, 0,
57310 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57311 MVT::f128, 1, 2,
57312 OPC_EmitStringInteger32, PPC::sub_64,
57313 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57314 MVT::f64, 2, 3, 4,
57315 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57316 MVT::f128, 1, 5,
57317 0,
57318 77,
57319 OPC_CheckChild1Integer, 6,
57320 OPC_MoveSibling1,
57321 OPC_CheckValueType, MVT::i8,
57322 OPC_MoveParent,
57323 OPC_CheckTypeI32,
57324 OPC_MoveParent,
57325 OPC_CheckType, MVT::f128,
57326 OPC_Scope, 32,
57327 OPC_CheckPatternPredicate, 9,
57328 OPC_EmitInteger32, 6,
57329 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57330 MVT::f128, 2, 1, 0,
57331 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57332 MVT::f128, 1, 2,
57333 OPC_EmitStringInteger32, PPC::sub_64,
57334 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57335 MVT::f64, 2, 3, 4,
57336 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57337 MVT::f128, 1, 5,
57338 31,
57339 OPC_CheckPatternPredicate6,
57340 OPC_EmitInteger32, 24,
57341 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57342 MVT::f128, 2, 1, 0,
57343 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57344 MVT::f128, 1, 2,
57345 OPC_EmitStringInteger32, PPC::sub_64,
57346 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57347 MVT::f64, 2, 3, 4,
57348 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57349 MVT::f128, 1, 5,
57350 0,
57351 77,
57352 OPC_CheckChild1Integer, 8,
57353 OPC_MoveSibling1,
57354 OPC_CheckValueType, MVT::i8,
57355 OPC_MoveParent,
57356 OPC_CheckTypeI32,
57357 OPC_MoveParent,
57358 OPC_CheckType, MVT::f128,
57359 OPC_Scope, 32,
57360 OPC_CheckPatternPredicate, 9,
57361 OPC_EmitInteger32, 8,
57362 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57363 MVT::f128, 2, 1, 0,
57364 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57365 MVT::f128, 1, 2,
57366 OPC_EmitStringInteger32, PPC::sub_64,
57367 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57368 MVT::f64, 2, 3, 4,
57369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57370 MVT::f128, 1, 5,
57371 31,
57372 OPC_CheckPatternPredicate6,
57373 OPC_EmitInteger32, 22,
57374 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57375 MVT::f128, 2, 1, 0,
57376 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57377 MVT::f128, 1, 2,
57378 OPC_EmitStringInteger32, PPC::sub_64,
57379 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57380 MVT::f64, 2, 3, 4,
57381 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57382 MVT::f128, 1, 5,
57383 0,
57384 77,
57385 OPC_CheckChild1Integer, 10,
57386 OPC_MoveSibling1,
57387 OPC_CheckValueType, MVT::i8,
57388 OPC_MoveParent,
57389 OPC_CheckTypeI32,
57390 OPC_MoveParent,
57391 OPC_CheckType, MVT::f128,
57392 OPC_Scope, 32,
57393 OPC_CheckPatternPredicate, 9,
57394 OPC_EmitInteger32, 10,
57395 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57396 MVT::f128, 2, 1, 0,
57397 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57398 MVT::f128, 1, 2,
57399 OPC_EmitStringInteger32, PPC::sub_64,
57400 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57401 MVT::f64, 2, 3, 4,
57402 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57403 MVT::f128, 1, 5,
57404 31,
57405 OPC_CheckPatternPredicate6,
57406 OPC_EmitInteger32, 20,
57407 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57408 MVT::f128, 2, 1, 0,
57409 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57410 MVT::f128, 1, 2,
57411 OPC_EmitStringInteger32, PPC::sub_64,
57412 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57413 MVT::f64, 2, 3, 4,
57414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57415 MVT::f128, 1, 5,
57416 0,
57417 77,
57418 OPC_CheckChild1Integer, 12,
57419 OPC_MoveSibling1,
57420 OPC_CheckValueType, MVT::i8,
57421 OPC_MoveParent,
57422 OPC_CheckTypeI32,
57423 OPC_MoveParent,
57424 OPC_CheckType, MVT::f128,
57425 OPC_Scope, 32,
57426 OPC_CheckPatternPredicate, 9,
57427 OPC_EmitInteger32, 12,
57428 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57429 MVT::f128, 2, 1, 0,
57430 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57431 MVT::f128, 1, 2,
57432 OPC_EmitStringInteger32, PPC::sub_64,
57433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57434 MVT::f64, 2, 3, 4,
57435 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57436 MVT::f128, 1, 5,
57437 31,
57438 OPC_CheckPatternPredicate6,
57439 OPC_EmitInteger32, 18,
57440 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57441 MVT::f128, 2, 1, 0,
57442 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57443 MVT::f128, 1, 2,
57444 OPC_EmitStringInteger32, PPC::sub_64,
57445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57446 MVT::f64, 2, 3, 4,
57447 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57448 MVT::f128, 1, 5,
57449 0,
57450 77,
57451 OPC_CheckChild1Integer, 14,
57452 OPC_MoveSibling1,
57453 OPC_CheckValueType, MVT::i8,
57454 OPC_MoveParent,
57455 OPC_CheckTypeI32,
57456 OPC_MoveParent,
57457 OPC_CheckType, MVT::f128,
57458 OPC_Scope, 32,
57459 OPC_CheckPatternPredicate, 9,
57460 OPC_EmitInteger32, 14,
57461 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57462 MVT::f128, 2, 1, 0,
57463 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57464 MVT::f128, 1, 2,
57465 OPC_EmitStringInteger32, PPC::sub_64,
57466 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57467 MVT::f64, 2, 3, 4,
57468 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57469 MVT::f128, 1, 5,
57470 31,
57471 OPC_CheckPatternPredicate6,
57472 OPC_EmitInteger32, 16,
57473 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57474 MVT::f128, 2, 1, 0,
57475 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57476 MVT::f128, 1, 2,
57477 OPC_EmitStringInteger32, PPC::sub_64,
57478 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57479 MVT::f64, 2, 3, 4,
57480 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57481 MVT::f128, 1, 5,
57482 0,
57483 77,
57484 OPC_CheckChild1Integer, 16,
57485 OPC_MoveSibling1,
57486 OPC_CheckValueType, MVT::i8,
57487 OPC_MoveParent,
57488 OPC_CheckTypeI32,
57489 OPC_MoveParent,
57490 OPC_CheckType, MVT::f128,
57491 OPC_Scope, 32,
57492 OPC_CheckPatternPredicate, 9,
57493 OPC_EmitInteger32, 16,
57494 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57495 MVT::f128, 2, 1, 0,
57496 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57497 MVT::f128, 1, 2,
57498 OPC_EmitStringInteger32, PPC::sub_64,
57499 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57500 MVT::f64, 2, 3, 4,
57501 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57502 MVT::f128, 1, 5,
57503 31,
57504 OPC_CheckPatternPredicate6,
57505 OPC_EmitInteger32, 14,
57506 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57507 MVT::f128, 2, 1, 0,
57508 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57509 MVT::f128, 1, 2,
57510 OPC_EmitStringInteger32, PPC::sub_64,
57511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57512 MVT::f64, 2, 3, 4,
57513 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57514 MVT::f128, 1, 5,
57515 0,
57516 77,
57517 OPC_CheckChild1Integer, 18,
57518 OPC_MoveSibling1,
57519 OPC_CheckValueType, MVT::i8,
57520 OPC_MoveParent,
57521 OPC_CheckTypeI32,
57522 OPC_MoveParent,
57523 OPC_CheckType, MVT::f128,
57524 OPC_Scope, 32,
57525 OPC_CheckPatternPredicate, 9,
57526 OPC_EmitInteger32, 18,
57527 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57528 MVT::f128, 2, 1, 0,
57529 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57530 MVT::f128, 1, 2,
57531 OPC_EmitStringInteger32, PPC::sub_64,
57532 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57533 MVT::f64, 2, 3, 4,
57534 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57535 MVT::f128, 1, 5,
57536 31,
57537 OPC_CheckPatternPredicate6,
57538 OPC_EmitInteger32, 12,
57539 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57540 MVT::f128, 2, 1, 0,
57541 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57542 MVT::f128, 1, 2,
57543 OPC_EmitStringInteger32, PPC::sub_64,
57544 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57545 MVT::f64, 2, 3, 4,
57546 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57547 MVT::f128, 1, 5,
57548 0,
57549 77,
57550 OPC_CheckChild1Integer, 20,
57551 OPC_MoveSibling1,
57552 OPC_CheckValueType, MVT::i8,
57553 OPC_MoveParent,
57554 OPC_CheckTypeI32,
57555 OPC_MoveParent,
57556 OPC_CheckType, MVT::f128,
57557 OPC_Scope, 32,
57558 OPC_CheckPatternPredicate, 9,
57559 OPC_EmitInteger32, 20,
57560 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57561 MVT::f128, 2, 1, 0,
57562 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57563 MVT::f128, 1, 2,
57564 OPC_EmitStringInteger32, PPC::sub_64,
57565 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57566 MVT::f64, 2, 3, 4,
57567 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57568 MVT::f128, 1, 5,
57569 31,
57570 OPC_CheckPatternPredicate6,
57571 OPC_EmitInteger32, 10,
57572 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57573 MVT::f128, 2, 1, 0,
57574 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57575 MVT::f128, 1, 2,
57576 OPC_EmitStringInteger32, PPC::sub_64,
57577 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57578 MVT::f64, 2, 3, 4,
57579 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57580 MVT::f128, 1, 5,
57581 0,
57582 77,
57583 OPC_CheckChild1Integer, 22,
57584 OPC_MoveSibling1,
57585 OPC_CheckValueType, MVT::i8,
57586 OPC_MoveParent,
57587 OPC_CheckTypeI32,
57588 OPC_MoveParent,
57589 OPC_CheckType, MVT::f128,
57590 OPC_Scope, 32,
57591 OPC_CheckPatternPredicate, 9,
57592 OPC_EmitInteger32, 22,
57593 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57594 MVT::f128, 2, 1, 0,
57595 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57596 MVT::f128, 1, 2,
57597 OPC_EmitStringInteger32, PPC::sub_64,
57598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57599 MVT::f64, 2, 3, 4,
57600 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57601 MVT::f128, 1, 5,
57602 31,
57603 OPC_CheckPatternPredicate6,
57604 OPC_EmitInteger32, 8,
57605 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57606 MVT::f128, 2, 1, 0,
57607 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57608 MVT::f128, 1, 2,
57609 OPC_EmitStringInteger32, PPC::sub_64,
57610 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57611 MVT::f64, 2, 3, 4,
57612 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57613 MVT::f128, 1, 5,
57614 0,
57615 77,
57616 OPC_CheckChild1Integer, 24,
57617 OPC_MoveSibling1,
57618 OPC_CheckValueType, MVT::i8,
57619 OPC_MoveParent,
57620 OPC_CheckTypeI32,
57621 OPC_MoveParent,
57622 OPC_CheckType, MVT::f128,
57623 OPC_Scope, 32,
57624 OPC_CheckPatternPredicate, 9,
57625 OPC_EmitInteger32, 24,
57626 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57627 MVT::f128, 2, 1, 0,
57628 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57629 MVT::f128, 1, 2,
57630 OPC_EmitStringInteger32, PPC::sub_64,
57631 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57632 MVT::f64, 2, 3, 4,
57633 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57634 MVT::f128, 1, 5,
57635 31,
57636 OPC_CheckPatternPredicate6,
57637 OPC_EmitInteger32, 6,
57638 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57639 MVT::f128, 2, 1, 0,
57640 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57641 MVT::f128, 1, 2,
57642 OPC_EmitStringInteger32, PPC::sub_64,
57643 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57644 MVT::f64, 2, 3, 4,
57645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57646 MVT::f128, 1, 5,
57647 0,
57648 77,
57649 OPC_CheckChild1Integer, 26,
57650 OPC_MoveSibling1,
57651 OPC_CheckValueType, MVT::i8,
57652 OPC_MoveParent,
57653 OPC_CheckTypeI32,
57654 OPC_MoveParent,
57655 OPC_CheckType, MVT::f128,
57656 OPC_Scope, 32,
57657 OPC_CheckPatternPredicate, 9,
57658 OPC_EmitInteger32, 26,
57659 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57660 MVT::f128, 2, 1, 0,
57661 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57662 MVT::f128, 1, 2,
57663 OPC_EmitStringInteger32, PPC::sub_64,
57664 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57665 MVT::f64, 2, 3, 4,
57666 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57667 MVT::f128, 1, 5,
57668 31,
57669 OPC_CheckPatternPredicate6,
57670 OPC_EmitInteger32, 4,
57671 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57672 MVT::f128, 2, 1, 0,
57673 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57674 MVT::f128, 1, 2,
57675 OPC_EmitStringInteger32, PPC::sub_64,
57676 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57677 MVT::f64, 2, 3, 4,
57678 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57679 MVT::f128, 1, 5,
57680 0,
57681 77,
57682 OPC_CheckChild1Integer, 28,
57683 OPC_MoveSibling1,
57684 OPC_CheckValueType, MVT::i8,
57685 OPC_MoveParent,
57686 OPC_CheckTypeI32,
57687 OPC_MoveParent,
57688 OPC_CheckType, MVT::f128,
57689 OPC_Scope, 32,
57690 OPC_CheckPatternPredicate, 9,
57691 OPC_EmitInteger32, 28,
57692 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57693 MVT::f128, 2, 1, 0,
57694 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57695 MVT::f128, 1, 2,
57696 OPC_EmitStringInteger32, PPC::sub_64,
57697 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57698 MVT::f64, 2, 3, 4,
57699 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57700 MVT::f128, 1, 5,
57701 31,
57702 OPC_CheckPatternPredicate6,
57703 OPC_EmitInteger32, 2,
57704 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57705 MVT::f128, 2, 1, 0,
57706 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57707 MVT::f128, 1, 2,
57708 OPC_EmitStringInteger32, PPC::sub_64,
57709 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57710 MVT::f64, 2, 3, 4,
57711 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57712 MVT::f128, 1, 5,
57713 0,
57714 77,
57715 OPC_CheckChild1Integer, 30,
57716 OPC_MoveSibling1,
57717 OPC_CheckValueType, MVT::i8,
57718 OPC_MoveParent,
57719 OPC_CheckTypeI32,
57720 OPC_MoveParent,
57721 OPC_CheckType, MVT::f128,
57722 OPC_Scope, 32,
57723 OPC_CheckPatternPredicate, 9,
57724 OPC_EmitInteger32, 30,
57725 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57726 MVT::f128, 2, 1, 0,
57727 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57728 MVT::f128, 1, 2,
57729 OPC_EmitStringInteger32, PPC::sub_64,
57730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57731 MVT::f64, 2, 3, 4,
57732 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57733 MVT::f128, 1, 5,
57734 31,
57735 OPC_CheckPatternPredicate6,
57736 OPC_EmitInteger32, 0,
57737 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTRACTUB),
57738 MVT::f128, 2, 1, 0,
57739 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2D),
57740 MVT::f128, 1, 2,
57741 OPC_EmitStringInteger32, PPC::sub_64,
57742 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57743 MVT::f64, 2, 3, 4,
57744 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57745 MVT::f128, 1, 5,
57746 0,
57747 0,
57748 0,
57749 8|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
57750 OPC_RecordChild0,
57751 OPC_Scope, 0|128,1,
57752 OPC_CheckChild1Integer, 0,
57753 OPC_SwitchType , 50, MVT::i64,
57754 OPC_MoveParent,
57755 OPC_CheckType, MVT::f128,
57756 OPC_Scope, 17,
57757 OPC_CheckPatternPredicate, 9,
57758 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
57759 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
57760 MVT::f64, 2, 0, 1,
57761 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57762 MVT::f128, 1, 2,
57763 26,
57764 OPC_CheckPatternPredicate6,
57765 OPC_EmitInteger32, 6,
57766 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
57767 MVT::v4i32, 3, 0, 0, 1,
57768 OPC_EmitStringInteger32, PPC::sub_64,
57769 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57770 MVT::f64, 2, 2, 3,
57771 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57772 MVT::f128, 1, 4,
57773 0,
57774 70, MVT::i32,
57775 OPC_MoveParent,
57776 OPC_CheckType, MVT::f128,
57777 OPC_Scope, 32,
57778 OPC_CheckPatternPredicate, 9,
57779 OPC_EmitInteger32, 0,
57780 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57781 MVT::f128, 2, 1, 0,
57782 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57783 MVT::f128, 1, 2,
57784 OPC_EmitStringInteger32, PPC::sub_64,
57785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57786 MVT::f64, 2, 3, 4,
57787 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57788 MVT::f128, 1, 5,
57789 31,
57790 OPC_CheckPatternPredicate6,
57791 OPC_EmitInteger32, 6,
57792 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57793 MVT::f128, 2, 1, 0,
57794 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57795 MVT::f128, 1, 2,
57796 OPC_EmitStringInteger32, PPC::sub_64,
57797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57798 MVT::f64, 2, 3, 4,
57799 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57800 MVT::f128, 1, 5,
57801 0,
57802 0,
57803 119,
57804 OPC_CheckChild1Integer, 2,
57805 OPC_SwitchType , 50, MVT::i64,
57806 OPC_MoveParent,
57807 OPC_CheckType, MVT::f128,
57808 OPC_Scope, 16,
57809 OPC_CheckPatternPredicate6,
57810 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
57811 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
57812 MVT::f64, 2, 0, 1,
57813 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57814 MVT::f128, 1, 2,
57815 27,
57816 OPC_CheckPatternPredicate, 9,
57817 OPC_EmitInteger32, 6,
57818 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
57819 MVT::v4i32, 3, 0, 0, 1,
57820 OPC_EmitStringInteger32, PPC::sub_64,
57821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57822 MVT::f64, 2, 2, 3,
57823 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57824 MVT::f128, 1, 4,
57825 0,
57826 61, MVT::i32,
57827 OPC_MoveParent,
57828 OPC_CheckType, MVT::f128,
57829 OPC_Scope, 23,
57830 OPC_CheckPatternPredicate, 9,
57831 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57832 MVT::f128, 1, 0,
57833 OPC_EmitStringInteger32, PPC::sub_64,
57834 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57835 MVT::f64, 2, 1, 2,
57836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57837 MVT::f128, 1, 3,
57838 31,
57839 OPC_CheckPatternPredicate6,
57840 OPC_EmitInteger32, 4,
57841 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57842 MVT::f128, 2, 1, 0,
57843 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57844 MVT::f128, 1, 2,
57845 OPC_EmitStringInteger32, PPC::sub_64,
57846 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57847 MVT::f64, 2, 3, 4,
57848 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57849 MVT::f128, 1, 5,
57850 0,
57851 0,
57852 64,
57853 OPC_CheckChild1Integer, 4,
57854 OPC_CheckTypeI32,
57855 OPC_MoveParent,
57856 OPC_CheckType, MVT::f128,
57857 OPC_Scope, 22,
57858 OPC_CheckPatternPredicate6,
57859 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57860 MVT::f128, 1, 0,
57861 OPC_EmitStringInteger32, PPC::sub_64,
57862 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57863 MVT::f64, 2, 1, 2,
57864 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57865 MVT::f128, 1, 3,
57866 32,
57867 OPC_CheckPatternPredicate, 9,
57868 OPC_EmitInteger32, 4,
57869 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57870 MVT::f128, 2, 1, 0,
57871 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57872 MVT::f128, 1, 2,
57873 OPC_EmitStringInteger32, PPC::sub_64,
57874 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57875 MVT::f64, 2, 3, 4,
57876 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57877 MVT::f128, 1, 5,
57878 0,
57879 73,
57880 OPC_CheckChild1Integer, 6,
57881 OPC_CheckTypeI32,
57882 OPC_MoveParent,
57883 OPC_CheckType, MVT::f128,
57884 OPC_Scope, 32,
57885 OPC_CheckPatternPredicate, 9,
57886 OPC_EmitInteger32, 6,
57887 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57888 MVT::f128, 2, 1, 0,
57889 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57890 MVT::f128, 1, 2,
57891 OPC_EmitStringInteger32, PPC::sub_64,
57892 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57893 MVT::f64, 2, 3, 4,
57894 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57895 MVT::f128, 1, 5,
57896 31,
57897 OPC_CheckPatternPredicate6,
57898 OPC_EmitInteger32, 0,
57899 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTW),
57900 MVT::f128, 2, 1, 0,
57901 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2D),
57902 MVT::f128, 1, 2,
57903 OPC_EmitStringInteger32, PPC::sub_64,
57904 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
57905 MVT::f64, 2, 3, 4,
57906 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57907 MVT::f128, 1, 5,
57908 0,
57909 0,
57910 35, TARGET_VAL(PPCISD::MFVSR),
57911 OPC_RecordChild0,
57912 OPC_CheckChild0Type, MVT::f64,
57913 OPC_SwitchType , 10, MVT::i64,
57914 OPC_MoveParent,
57915 OPC_CheckType, MVT::f128,
57916 OPC_CheckPatternPredicate7,
57917 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57918 MVT::f128, 1, 0,
57919 16, MVT::i32,
57920 OPC_MoveParent,
57921 OPC_CheckType, MVT::f128,
57922 OPC_CheckPatternPredicate7,
57923 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSW2Ds),
57924 MVT::f64, 1, 0,
57925 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57926 MVT::f128, 1, 1,
57927 0,
57928 0,
57929 91,
57930 OPC_RecordChild0,
57931 OPC_Scope, 19,
57932 OPC_CheckChild0TypeI64,
57933 OPC_CheckType, MVT::f128,
57934 OPC_CheckPatternPredicate7,
57935 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
57936 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
57937 MVT::f64, 2, 0, 1,
57938 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57939 MVT::f128, 1, 2,
57940 36,
57941 OPC_CheckChild0TypeI32,
57942 OPC_SwitchType , 13, MVT::f128,
57943 OPC_CheckPatternPredicate7,
57944 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWA),
57945 MVT::f64, 1, 0,
57946 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVSDQP),
57947 MVT::f128, 1, 1,
57948 7, MVT::f64,
57949 OPC_CheckPatternPredicate5,
57950 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFSI),
57951 MVT::f64, 1, 0,
57952 7, MVT::f32,
57953 OPC_CheckPatternPredicate5,
57954 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSCFSI),
57955 MVT::f32, 1, 0,
57956 0,
57957 9,
57958 OPC_CheckType, MVT::v2f64,
57959 OPC_CheckPatternPredicate2,
57960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXDDP),
57961 MVT::v2f64, 1, 0,
57962 20,
57963 OPC_CheckType, MVT::v4f32,
57964 OPC_Scope, 7,
57965 OPC_CheckPatternPredicate2,
57966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWSP),
57967 MVT::v4f32, 1, 0,
57968 7,
57969 OPC_CheckPatternPredicate3,
57970 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCFSX_0),
57971 MVT::v4f32, 1, 0,
57972 0,
57973 0,
57974 0,
57975 19|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
57976 OPC_RecordNode,
57977 OPC_Scope, 56,
57978 OPC_MoveChild1,
57979 OPC_SwitchOpcode , 32, TARGET_VAL(ISD::LOAD),
57980 OPC_RecordMemRef,
57981 OPC_RecordNode,
57982 OPC_CheckFoldableChainNode,
57983 OPC_RecordChild1,
57984 OPC_CheckPredicate, 11,
57985 OPC_CheckPredicate5,
57986 OPC_CheckTypeI32,
57987 OPC_MoveParent,
57988 OPC_CheckType, MVT::f128,
57989 OPC_CheckPatternPredicate7,
57990 OPC_CheckComplexPat0, /*#*/2,
57991 OPC_EmitMergeInputChains, 2, 0, 1,
57992 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
57993 MVT::f64, 2, 3, 4,
57994 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
57995 MVT::f128, 1, 5,
57996 15, TARGET_VAL(PPCISD::MFVSR),
57997 OPC_RecordChild0,
57998 OPC_CheckChild0Type, MVT::f64,
57999 OPC_CheckTypeI64,
58000 OPC_MoveParent,
58001 OPC_CheckType, MVT::f128,
58002 OPC_CheckPatternPredicate7,
58003 OPC_EmitMergeInputChains1_0,
58004 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
58005 MVT::f128, 1, 1,
58006 0,
58007 86,
58008 OPC_RecordChild1,
58009 OPC_Scope, 20,
58010 OPC_CheckChild1TypeI64,
58011 OPC_CheckType, MVT::f128,
58012 OPC_CheckPatternPredicate7,
58013 OPC_EmitMergeInputChains1_0,
58014 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
58015 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58016 MVT::f64, 2, 1, 2,
58017 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
58018 MVT::f128, 1, 3,
58019 39,
58020 OPC_CheckChild1TypeI32,
58021 OPC_SwitchType , 14, MVT::f128,
58022 OPC_CheckPatternPredicate7,
58023 OPC_EmitMergeInputChains1_0,
58024 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
58025 MVT::f64, 1, 1,
58026 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVUDQP),
58027 MVT::f128, 1, 2,
58028 8, MVT::f64,
58029 OPC_CheckPatternPredicate5,
58030 OPC_EmitMergeInputChains1_0,
58031 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFUI),
58032 MVT::f64, 1, 1,
58033 8, MVT::f32,
58034 OPC_CheckPatternPredicate5,
58035 OPC_EmitMergeInputChains1_0,
58036 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFUI),
58037 MVT::f32, 1, 1,
58038 0,
58039 10,
58040 OPC_CheckType, MVT::v2f64,
58041 OPC_CheckPatternPredicate2,
58042 OPC_EmitMergeInputChains1_0,
58043 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVUXDDP),
58044 MVT::v2f64, 1, 1,
58045 10,
58046 OPC_CheckType, MVT::v4f32,
58047 OPC_CheckPatternPredicate2,
58048 OPC_EmitMergeInputChains1_0,
58049 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVUXWSP),
58050 MVT::v4f32, 1, 1,
58051 0,
58052 0,
58053 116|128,6, TARGET_VAL(ISD::FNEG),
58054 OPC_Scope, 79|128,2,
58055 OPC_MoveChild0,
58056 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
58057 OPC_CheckChild0Integer, 70|128,26|128,1,
58058 OPC_RecordChild1,
58059 OPC_RecordChild2,
58060 OPC_Scope, 16,
58061 OPC_MoveChild3,
58062 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58063 OPC_RecordChild0,
58064 OPC_MoveParent,
58065 OPC_MoveParent,
58066 OPC_CheckPatternPredicate7,
58067 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQPO),
58068 MVT::f128, 3, 2, 0, 1,
58069 11,
58070 OPC_RecordChild3,
58071 OPC_MoveParent,
58072 OPC_CheckPatternPredicate7,
58073 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQPO),
58074 MVT::f128, 3, 2, 0, 1,
58075 0,
58076 94, TARGET_VAL(ISD::STRICT_FMA),
58077 OPC_RecordNode,
58078 OPC_RecordChild1,
58079 OPC_RecordChild2,
58080 OPC_Scope, 46,
58081 OPC_MoveChild3,
58082 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58083 OPC_RecordChild0,
58084 OPC_MoveParent,
58085 OPC_MoveParent,
58086 OPC_SwitchType , 10, MVT::f64,
58087 OPC_CheckPatternPredicate2,
58088 OPC_EmitMergeInputChains1_0,
58089 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBADP),
58090 MVT::f64, 3, 3, 1, 2,
58091 11, MVT::f32,
58092 OPC_CheckPatternPredicate, 11,
58093 OPC_EmitMergeInputChains1_0,
58094 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBASP),
58095 MVT::f32, 3, 3, 1, 2,
58096 10, MVT::f128,
58097 OPC_CheckPatternPredicate7,
58098 OPC_EmitMergeInputChains1_0,
58099 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMSUBQP),
58100 MVT::f128, 3, 3, 1, 2,
58101 0,
58102 41,
58103 OPC_RecordChild3,
58104 OPC_MoveParent,
58105 OPC_SwitchType , 10, MVT::f64,
58106 OPC_CheckPatternPredicate2,
58107 OPC_EmitMergeInputChains1_0,
58108 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDADP),
58109 MVT::f64, 3, 3, 1, 2,
58110 11, MVT::f32,
58111 OPC_CheckPatternPredicate, 11,
58112 OPC_EmitMergeInputChains1_0,
58113 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDASP),
58114 MVT::f32, 3, 3, 1, 2,
58115 10, MVT::f128,
58116 OPC_CheckPatternPredicate7,
58117 OPC_EmitMergeInputChains1_0,
58118 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSNMADDQP),
58119 MVT::f128, 3, 3, 1, 2,
58120 0,
58121 0,
58122 87, TARGET_VAL(ISD::FMA),
58123 OPC_RecordChild0,
58124 OPC_RecordChild1,
58125 OPC_Scope, 43,
58126 OPC_MoveChild2,
58127 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58128 OPC_RecordChild0,
58129 OPC_MoveParent,
58130 OPC_MoveParent,
58131 OPC_SwitchType , 9, MVT::f64,
58132 OPC_CheckPatternPredicate2,
58133 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBADP),
58134 MVT::f64, 3, 2, 0, 1,
58135 10, MVT::f32,
58136 OPC_CheckPatternPredicate, 11,
58137 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBASP),
58138 MVT::f32, 3, 2, 0, 1,
58139 9, MVT::f128,
58140 OPC_CheckPatternPredicate7,
58141 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQP),
58142 MVT::f128, 3, 2, 0, 1,
58143 0,
58144 38,
58145 OPC_RecordChild2,
58146 OPC_MoveParent,
58147 OPC_SwitchType , 9, MVT::f64,
58148 OPC_CheckPatternPredicate2,
58149 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDADP),
58150 MVT::f64, 3, 2, 0, 1,
58151 10, MVT::f32,
58152 OPC_CheckPatternPredicate, 11,
58153 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDASP),
58154 MVT::f32, 3, 2, 0, 1,
58155 9, MVT::f128,
58156 OPC_CheckPatternPredicate7,
58157 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQP),
58158 MVT::f128, 3, 2, 0, 1,
58159 0,
58160 0,
58161 59, TARGET_VAL(ISD::FABS),
58162 OPC_RecordChild0,
58163 OPC_MoveParent,
58164 OPC_SwitchType , 7, MVT::f64,
58165 OPC_CheckPatternPredicate2,
58166 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDP),
58167 MVT::f64, 1, 0,
58168 35, MVT::f32,
58169 OPC_CheckPatternPredicate2,
58170 OPC_Scope, 6,
58171 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSDPs),
58172 MVT::f32, 1, 0,
58173 24,
58174 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58175 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58176 MVT::f64, 2, 0, 1,
58177 OPC_EmitNode1None, TARGET_VAL(PPC::XSNABSDP),
58178 MVT::f64, 1, 2,
58179 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58180 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58181 MVT::f32, 2, 3, 4,
58182 0,
58183 7, MVT::f128,
58184 OPC_CheckPatternPredicate7,
58185 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNABSQP),
58186 MVT::f128, 1, 0,
58187 0,
58188 40, TARGET_VAL(PPCISD::FNMSUB),
58189 OPC_RecordChild0,
58190 OPC_RecordChild1,
58191 OPC_RecordChild2,
58192 OPC_MoveParent,
58193 OPC_SwitchType , 9, MVT::f64,
58194 OPC_CheckPatternPredicate2,
58195 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBADP),
58196 MVT::f64, 3, 2, 0, 1,
58197 10, MVT::f32,
58198 OPC_CheckPatternPredicate, 11,
58199 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBASP),
58200 MVT::f32, 3, 2, 0, 1,
58201 9, MVT::f128,
58202 OPC_CheckPatternPredicate7,
58203 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQP),
58204 MVT::f128, 3, 2, 0, 1,
58205 0,
58206 0,
58207 49,
58208 OPC_RecordChild0,
58209 OPC_SwitchType , 7, MVT::f64,
58210 OPC_CheckPatternPredicate2,
58211 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGDP),
58212 MVT::f64, 1, 0,
58213 7, MVT::f128,
58214 OPC_CheckPatternPredicate7,
58215 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGQP),
58216 MVT::f128, 1, 0,
58217 26, MVT::f32,
58218 OPC_CheckPatternPredicate, 11,
58219 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58220 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58221 MVT::f64, 2, 0, 1,
58222 OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
58223 MVT::f64, 1, 2,
58224 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58225 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58226 MVT::f32, 2, 3, 4,
58227 0,
58228 90|128,1,
58229 OPC_MoveChild0,
58230 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMA),
58231 OPC_RecordNode,
58232 OPC_RecordChild1,
58233 OPC_RecordChild2,
58234 OPC_Scope, 33,
58235 OPC_MoveChild3,
58236 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58237 OPC_RecordChild0,
58238 OPC_MoveParent,
58239 OPC_MoveParent,
58240 OPC_SwitchType , 10, MVT::f64,
58241 OPC_CheckPatternPredicate0,
58242 OPC_EmitMergeInputChains1_0,
58243 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMSUB),
58244 MVT::f64, 3, 1, 2, 3,
58245 10, MVT::f32,
58246 OPC_CheckPatternPredicate0,
58247 OPC_EmitMergeInputChains1_0,
58248 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMSUBS),
58249 MVT::f32, 3, 1, 2, 3,
58250 0,
58251 28,
58252 OPC_RecordChild3,
58253 OPC_MoveParent,
58254 OPC_SwitchType , 10, MVT::f64,
58255 OPC_CheckPatternPredicate0,
58256 OPC_EmitMergeInputChains1_0,
58257 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMADD),
58258 MVT::f64, 3, 1, 2, 3,
58259 10, MVT::f32,
58260 OPC_CheckPatternPredicate0,
58261 OPC_EmitMergeInputChains1_0,
58262 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FNMADDS),
58263 MVT::f32, 3, 1, 2, 3,
58264 0,
58265 0,
58266 63, TARGET_VAL(ISD::FMA),
58267 OPC_RecordChild0,
58268 OPC_RecordChild1,
58269 OPC_Scope, 31,
58270 OPC_MoveChild2,
58271 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58272 OPC_RecordChild0,
58273 OPC_MoveParent,
58274 OPC_MoveParent,
58275 OPC_SwitchType , 9, MVT::f64,
58276 OPC_CheckPatternPredicate0,
58277 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUB),
58278 MVT::f64, 3, 0, 1, 2,
58279 9, MVT::f32,
58280 OPC_CheckPatternPredicate0,
58281 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUBS),
58282 MVT::f32, 3, 0, 1, 2,
58283 0,
58284 26,
58285 OPC_RecordChild2,
58286 OPC_MoveParent,
58287 OPC_SwitchType , 9, MVT::f64,
58288 OPC_CheckPatternPredicate0,
58289 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
58290 MVT::f64, 3, 0, 1, 2,
58291 9, MVT::f32,
58292 OPC_CheckPatternPredicate0,
58293 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
58294 MVT::f32, 3, 0, 1, 2,
58295 0,
58296 0,
58297 44, TARGET_VAL(ISD::FABS),
58298 OPC_RecordChild0,
58299 OPC_MoveParent,
58300 OPC_SwitchType , 18, MVT::f32,
58301 OPC_Scope, 7,
58302 OPC_CheckPatternPredicate0,
58303 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSS),
58304 MVT::f32, 1, 0,
58305 7,
58306 OPC_CheckPatternPredicate5,
58307 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSNABS),
58308 MVT::f32, 1, 0,
58309 0,
58310 18, MVT::f64,
58311 OPC_Scope, 7,
58312 OPC_CheckPatternPredicate0,
58313 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNABSD),
58314 MVT::f64, 1, 0,
58315 7,
58316 OPC_CheckPatternPredicate5,
58317 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDNABS),
58318 MVT::f64, 1, 0,
58319 0,
58320 0,
58321 28, TARGET_VAL(PPCISD::FNMSUB),
58322 OPC_RecordChild0,
58323 OPC_RecordChild1,
58324 OPC_RecordChild2,
58325 OPC_MoveParent,
58326 OPC_SwitchType , 9, MVT::f64,
58327 OPC_CheckPatternPredicate0,
58328 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
58329 MVT::f64, 3, 0, 1, 2,
58330 9, MVT::f32,
58331 OPC_CheckPatternPredicate0,
58332 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
58333 MVT::f32, 3, 0, 1, 2,
58334 0,
58335 0,
58336 43,
58337 OPC_RecordChild0,
58338 OPC_SwitchType , 18, MVT::f32,
58339 OPC_Scope, 7,
58340 OPC_CheckPatternPredicate0,
58341 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNEGS),
58342 MVT::f32, 1, 0,
58343 7,
58344 OPC_CheckPatternPredicate5,
58345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSNEG),
58346 MVT::f32, 1, 0,
58347 0,
58348 18, MVT::f64,
58349 OPC_Scope, 7,
58350 OPC_CheckPatternPredicate0,
58351 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNEGD),
58352 MVT::f64, 1, 0,
58353 7,
58354 OPC_CheckPatternPredicate5,
58355 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDNEG),
58356 MVT::f64, 1, 0,
58357 0,
58358 0,
58359 54|128,1,
58360 OPC_MoveChild0,
58361 OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMA),
58362 OPC_RecordNode,
58363 OPC_RecordChild1,
58364 OPC_RecordChild2,
58365 OPC_Scope, 33,
58366 OPC_MoveChild3,
58367 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58368 OPC_RecordChild0,
58369 OPC_MoveParent,
58370 OPC_MoveParent,
58371 OPC_SwitchType , 10, MVT::v2f64,
58372 OPC_CheckPatternPredicate2,
58373 OPC_EmitMergeInputChains1_0,
58374 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMSUBADP),
58375 MVT::v2f64, 3, 3, 1, 2,
58376 10, MVT::v4f32,
58377 OPC_CheckPatternPredicate2,
58378 OPC_EmitMergeInputChains1_0,
58379 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMSUBASP),
58380 MVT::v4f32, 3, 3, 1, 2,
58381 0,
58382 14,
58383 OPC_RecordChild3,
58384 OPC_MoveParent,
58385 OPC_CheckType, MVT::v2f64,
58386 OPC_CheckPatternPredicate2,
58387 OPC_EmitMergeInputChains1_0,
58388 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVNMADDADP),
58389 MVT::v2f64, 3, 3, 1, 2,
58390 0,
58391 63, TARGET_VAL(ISD::FMA),
58392 OPC_RecordChild0,
58393 OPC_RecordChild1,
58394 OPC_Scope, 31,
58395 OPC_MoveChild2,
58396 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58397 OPC_RecordChild0,
58398 OPC_MoveParent,
58399 OPC_MoveParent,
58400 OPC_SwitchType , 9, MVT::v2f64,
58401 OPC_CheckPatternPredicate2,
58402 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBADP),
58403 MVT::v2f64, 3, 2, 0, 1,
58404 9, MVT::v4f32,
58405 OPC_CheckPatternPredicate2,
58406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBASP),
58407 MVT::v4f32, 3, 2, 0, 1,
58408 0,
58409 26,
58410 OPC_RecordChild2,
58411 OPC_MoveParent,
58412 OPC_SwitchType , 9, MVT::v2f64,
58413 OPC_CheckPatternPredicate2,
58414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDADP),
58415 MVT::v2f64, 3, 2, 0, 1,
58416 9, MVT::v4f32,
58417 OPC_CheckPatternPredicate2,
58418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDASP),
58419 MVT::v4f32, 3, 2, 0, 1,
58420 0,
58421 0,
58422 22, TARGET_VAL(ISD::FABS),
58423 OPC_RecordChild0,
58424 OPC_MoveParent,
58425 OPC_SwitchType , 7, MVT::v2f64,
58426 OPC_CheckPatternPredicate2,
58427 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNABSDP),
58428 MVT::v2f64, 1, 0,
58429 7, MVT::v4f32,
58430 OPC_CheckPatternPredicate2,
58431 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNABSSP),
58432 MVT::v4f32, 1, 0,
58433 0,
58434 28, TARGET_VAL(PPCISD::FNMSUB),
58435 OPC_RecordChild0,
58436 OPC_RecordChild1,
58437 OPC_RecordChild2,
58438 OPC_MoveParent,
58439 OPC_SwitchType , 9, MVT::v2f64,
58440 OPC_CheckPatternPredicate2,
58441 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBADP),
58442 MVT::v2f64, 3, 2, 0, 1,
58443 9, MVT::v4f32,
58444 OPC_CheckPatternPredicate2,
58445 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBASP),
58446 MVT::v4f32, 3, 2, 0, 1,
58447 0,
58448 0,
58449 21,
58450 OPC_RecordChild0,
58451 OPC_SwitchType , 7, MVT::v2f64,
58452 OPC_CheckPatternPredicate2,
58453 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNEGDP),
58454 MVT::v2f64, 1, 0,
58455 7, MVT::v4f32,
58456 OPC_CheckPatternPredicate2,
58457 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNEGSP),
58458 MVT::v4f32, 1, 0,
58459 0,
58460 24,
58461 OPC_MoveChild0,
58462 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
58463 OPC_RecordChild0,
58464 OPC_RecordChild1,
58465 OPC_MoveChild2,
58466 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58467 OPC_RecordChild0,
58468 OPC_MoveParent,
58469 OPC_MoveParent,
58470 OPC_CheckType, MVT::v4f32,
58471 OPC_CheckPatternPredicate3,
58472 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
58473 MVT::v4f32, 3, 0, 1, 2,
58474 0,
58475 32, TARGET_VAL(PPCISD::LFIWAX),
58476 OPC_RecordMemRef,
58477 OPC_RecordNode,
58478 OPC_RecordChild1,
58479 OPC_Scope, 13,
58480 OPC_CheckPatternPredicate, 11,
58481 OPC_CheckComplexPat0, /*#*/1,
58482 OPC_EmitMergeInputChains1_0,
58483 OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
58484 MVT::f64, 2, 2, 3,
58485 12,
58486 OPC_CheckPatternPredicate0,
58487 OPC_CheckComplexPat0, /*#*/1,
58488 OPC_EmitMergeInputChains1_0,
58489 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
58490 MVT::f64, 2, 2, 3,
58491 0,
58492 32, TARGET_VAL(PPCISD::LFIWZX),
58493 OPC_RecordMemRef,
58494 OPC_RecordNode,
58495 OPC_RecordChild1,
58496 OPC_Scope, 13,
58497 OPC_CheckPatternPredicate, 11,
58498 OPC_CheckComplexPat0, /*#*/1,
58499 OPC_EmitMergeInputChains1_0,
58500 OPC_MorphNodeTo1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
58501 MVT::f64, 2, 2, 3,
58502 12,
58503 OPC_CheckPatternPredicate0,
58504 OPC_CheckComplexPat0, /*#*/1,
58505 OPC_EmitMergeInputChains1_0,
58506 OPC_MorphNodeTo1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
58507 MVT::f64, 2, 2, 3,
58508 0,
58509 113|128,1, TARGET_VAL(ISD::FMINNUM_IEEE),
58510 OPC_Scope, 76,
58511 OPC_MoveChild0,
58512 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58513 OPC_RecordChild0,
58514 OPC_Scope, 55,
58515 OPC_MoveSibling1,
58516 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58517 OPC_RecordChild0,
58518 OPC_MoveParent,
58519 OPC_SwitchType , 8, MVT::f64,
58520 OPC_CheckPatternPredicate2,
58521 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
58522 MVT::f64, 2, 0, 1,
58523 35, MVT::f32,
58524 OPC_CheckPatternPredicate2,
58525 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58526 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58527 MVT::f64, 2, 0, 2,
58528 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58529 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58530 MVT::f64, 2, 1, 4,
58531 OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
58532 MVT::f64, 2, 3, 5,
58533 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58534 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58535 MVT::f32, 2, 6, 7,
58536 0,
58537 12,
58538 OPC_MoveParent,
58539 OPC_RecordChild1,
58540 OPC_CheckType, MVT::f64,
58541 OPC_CheckPatternPredicate2,
58542 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
58543 MVT::f64, 2, 0, 1,
58544 0,
58545 17,
58546 OPC_RecordChild0,
58547 OPC_MoveChild1,
58548 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58549 OPC_RecordChild0,
58550 OPC_MoveParent,
58551 OPC_CheckType, MVT::f64,
58552 OPC_CheckPatternPredicate2,
58553 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
58554 MVT::f64, 2, 0, 1,
58555 44,
58556 OPC_MoveChild0,
58557 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58558 OPC_RecordChild0,
58559 OPC_MoveParent,
58560 OPC_RecordChild1,
58561 OPC_CheckType, MVT::f32,
58562 OPC_CheckPatternPredicate2,
58563 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58565 MVT::f64, 2, 0, 2,
58566 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58567 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58568 MVT::f64, 2, 1, 4,
58569 OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
58570 MVT::f64, 2, 3, 5,
58571 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58572 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58573 MVT::f32, 2, 6, 7,
58574 98,
58575 OPC_RecordChild0,
58576 OPC_Scope, 43,
58577 OPC_MoveChild1,
58578 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58579 OPC_RecordChild0,
58580 OPC_MoveParent,
58581 OPC_CheckType, MVT::f32,
58582 OPC_CheckPatternPredicate2,
58583 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58585 MVT::f64, 2, 0, 2,
58586 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58587 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58588 MVT::f64, 2, 1, 4,
58589 OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
58590 MVT::f64, 2, 3, 5,
58591 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58592 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58593 MVT::f32, 2, 6, 7,
58594 50,
58595 OPC_RecordChild1,
58596 OPC_SwitchType , 8, MVT::f64,
58597 OPC_CheckPatternPredicate2,
58598 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINDP),
58599 MVT::f64, 2, 0, 1,
58600 35, MVT::f32,
58601 OPC_CheckPatternPredicate2,
58602 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58604 MVT::f64, 2, 0, 2,
58605 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58607 MVT::f64, 2, 1, 4,
58608 OPC_EmitNode1None, TARGET_VAL(PPC::XSMINDP),
58609 MVT::f64, 2, 3, 5,
58610 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58611 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58612 MVT::f32, 2, 6, 7,
58613 0,
58614 0,
58615 0,
58616 113|128,1, TARGET_VAL(ISD::FMAXNUM_IEEE),
58617 OPC_Scope, 76,
58618 OPC_MoveChild0,
58619 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58620 OPC_RecordChild0,
58621 OPC_Scope, 55,
58622 OPC_MoveSibling1,
58623 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58624 OPC_RecordChild0,
58625 OPC_MoveParent,
58626 OPC_SwitchType , 8, MVT::f64,
58627 OPC_CheckPatternPredicate2,
58628 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
58629 MVT::f64, 2, 0, 1,
58630 35, MVT::f32,
58631 OPC_CheckPatternPredicate2,
58632 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58633 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58634 MVT::f64, 2, 0, 2,
58635 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58637 MVT::f64, 2, 1, 4,
58638 OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
58639 MVT::f64, 2, 3, 5,
58640 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58641 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58642 MVT::f32, 2, 6, 7,
58643 0,
58644 12,
58645 OPC_MoveParent,
58646 OPC_RecordChild1,
58647 OPC_CheckType, MVT::f64,
58648 OPC_CheckPatternPredicate2,
58649 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
58650 MVT::f64, 2, 0, 1,
58651 0,
58652 17,
58653 OPC_RecordChild0,
58654 OPC_MoveChild1,
58655 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58656 OPC_RecordChild0,
58657 OPC_MoveParent,
58658 OPC_CheckType, MVT::f64,
58659 OPC_CheckPatternPredicate2,
58660 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
58661 MVT::f64, 2, 0, 1,
58662 44,
58663 OPC_MoveChild0,
58664 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58665 OPC_RecordChild0,
58666 OPC_MoveParent,
58667 OPC_RecordChild1,
58668 OPC_CheckType, MVT::f32,
58669 OPC_CheckPatternPredicate2,
58670 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58671 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58672 MVT::f64, 2, 0, 2,
58673 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58674 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58675 MVT::f64, 2, 1, 4,
58676 OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
58677 MVT::f64, 2, 3, 5,
58678 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58679 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58680 MVT::f32, 2, 6, 7,
58681 98,
58682 OPC_RecordChild0,
58683 OPC_Scope, 43,
58684 OPC_MoveChild1,
58685 OPC_CheckOpcode, TARGET_VAL(ISD::FCANONICALIZE),
58686 OPC_RecordChild0,
58687 OPC_MoveParent,
58688 OPC_CheckType, MVT::f32,
58689 OPC_CheckPatternPredicate2,
58690 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58691 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58692 MVT::f64, 2, 0, 2,
58693 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58695 MVT::f64, 2, 1, 4,
58696 OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
58697 MVT::f64, 2, 3, 5,
58698 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58699 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58700 MVT::f32, 2, 6, 7,
58701 50,
58702 OPC_RecordChild1,
58703 OPC_SwitchType , 8, MVT::f64,
58704 OPC_CheckPatternPredicate2,
58705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXDP),
58706 MVT::f64, 2, 0, 1,
58707 35, MVT::f32,
58708 OPC_CheckPatternPredicate2,
58709 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58710 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58711 MVT::f64, 2, 0, 2,
58712 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58713 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58714 MVT::f64, 2, 1, 4,
58715 OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXDP),
58716 MVT::f64, 2, 3, 5,
58717 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
58718 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58719 MVT::f32, 2, 6, 7,
58720 0,
58721 0,
58722 0,
58723 41, TARGET_VAL(PPCISD::VEXTS),
58724 OPC_RecordChild0,
58725 OPC_Scope, 18,
58726 OPC_CheckChild1Integer, 2,
58727 OPC_CheckPatternPredicate7,
58728 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSB2Ds),
58729 MVT::f64, 1, 0,
58730 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58731 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58732 MVT::f64, 2, 1, 2,
58733 18,
58734 OPC_CheckChild1Integer, 4,
58735 OPC_CheckPatternPredicate7,
58736 OPC_EmitNode1None, TARGET_VAL(PPC::VEXTSH2Ds),
58737 MVT::f64, 1, 0,
58738 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
58739 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
58740 MVT::f64, 2, 1, 2,
58741 0,
58742 86|128,1, TARGET_VAL(ISD::STRICT_FMA),
58743 OPC_RecordNode,
58744 OPC_RecordChild1,
58745 OPC_RecordChild2,
58746 OPC_Scope, 45,
58747 OPC_MoveChild3,
58748 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58749 OPC_RecordChild0,
58750 OPC_MoveParent,
58751 OPC_SwitchType , 10, MVT::f64,
58752 OPC_CheckPatternPredicate2,
58753 OPC_EmitMergeInputChains1_0,
58754 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBADP),
58755 MVT::f64, 3, 3, 1, 2,
58756 11, MVT::f32,
58757 OPC_CheckPatternPredicate, 11,
58758 OPC_EmitMergeInputChains1_0,
58759 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBASP),
58760 MVT::f32, 3, 3, 1, 2,
58761 10, MVT::f128,
58762 OPC_CheckPatternPredicate7,
58763 OPC_EmitMergeInputChains1_0,
58764 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMSUBQP),
58765 MVT::f128, 3, 3, 1, 2,
58766 0,
58767 40,
58768 OPC_RecordChild3,
58769 OPC_SwitchType , 10, MVT::f64,
58770 OPC_CheckPatternPredicate2,
58771 OPC_EmitMergeInputChains1_0,
58772 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDADP),
58773 MVT::f64, 3, 3, 1, 2,
58774 11, MVT::f32,
58775 OPC_CheckPatternPredicate, 11,
58776 OPC_EmitMergeInputChains1_0,
58777 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDASP),
58778 MVT::f32, 3, 3, 1, 2,
58779 10, MVT::f128,
58780 OPC_CheckPatternPredicate7,
58781 OPC_EmitMergeInputChains1_0,
58782 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMADDQP),
58783 MVT::f128, 3, 3, 1, 2,
58784 0,
58785 32,
58786 OPC_MoveChild3,
58787 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58788 OPC_RecordChild0,
58789 OPC_MoveParent,
58790 OPC_SwitchType , 10, MVT::f64,
58791 OPC_CheckPatternPredicate0,
58792 OPC_EmitMergeInputChains1_0,
58793 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMSUB),
58794 MVT::f64, 3, 1, 2, 3,
58795 10, MVT::f32,
58796 OPC_CheckPatternPredicate0,
58797 OPC_EmitMergeInputChains1_0,
58798 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMSUBS),
58799 MVT::f32, 3, 1, 2, 3,
58800 0,
58801 27,
58802 OPC_RecordChild3,
58803 OPC_SwitchType , 10, MVT::f64,
58804 OPC_CheckPatternPredicate0,
58805 OPC_EmitMergeInputChains1_0,
58806 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMADD),
58807 MVT::f64, 3, 1, 2, 3,
58808 10, MVT::f32,
58809 OPC_CheckPatternPredicate0,
58810 OPC_EmitMergeInputChains1_0,
58811 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMADDS),
58812 MVT::f32, 3, 1, 2, 3,
58813 0,
58814 32,
58815 OPC_MoveChild3,
58816 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58817 OPC_RecordChild0,
58818 OPC_MoveParent,
58819 OPC_SwitchType , 10, MVT::v2f64,
58820 OPC_CheckPatternPredicate2,
58821 OPC_EmitMergeInputChains1_0,
58822 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMSUBADP),
58823 MVT::v2f64, 3, 3, 1, 2,
58824 10, MVT::v4f32,
58825 OPC_CheckPatternPredicate2,
58826 OPC_EmitMergeInputChains1_0,
58827 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMSUBASP),
58828 MVT::v4f32, 3, 3, 1, 2,
58829 0,
58830 27,
58831 OPC_RecordChild3,
58832 OPC_SwitchType , 10, MVT::v2f64,
58833 OPC_CheckPatternPredicate2,
58834 OPC_EmitMergeInputChains1_0,
58835 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMADDADP),
58836 MVT::v2f64, 3, 3, 1, 2,
58837 10, MVT::v4f32,
58838 OPC_CheckPatternPredicate2,
58839 OPC_EmitMergeInputChains1_0,
58840 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMADDASP),
58841 MVT::v4f32, 3, 3, 1, 2,
58842 0,
58843 0,
58844 84|128,1, TARGET_VAL(ISD::FMA),
58845 OPC_RecordChild0,
58846 OPC_RecordChild1,
58847 OPC_Scope, 42,
58848 OPC_MoveChild2,
58849 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58850 OPC_RecordChild0,
58851 OPC_MoveParent,
58852 OPC_SwitchType , 9, MVT::f64,
58853 OPC_CheckPatternPredicate2,
58854 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBADP),
58855 MVT::f64, 3, 2, 0, 1,
58856 10, MVT::f32,
58857 OPC_CheckPatternPredicate, 11,
58858 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBASP),
58859 MVT::f32, 3, 2, 0, 1,
58860 9, MVT::f128,
58861 OPC_CheckPatternPredicate7,
58862 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMSUBQP),
58863 MVT::f128, 3, 2, 0, 1,
58864 0,
58865 37,
58866 OPC_RecordChild2,
58867 OPC_SwitchType , 9, MVT::f64,
58868 OPC_CheckPatternPredicate2,
58869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDADP),
58870 MVT::f64, 3, 2, 0, 1,
58871 10, MVT::f32,
58872 OPC_CheckPatternPredicate, 11,
58873 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDASP),
58874 MVT::f32, 3, 2, 0, 1,
58875 9, MVT::f128,
58876 OPC_CheckPatternPredicate7,
58877 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMADDQP),
58878 MVT::f128, 3, 2, 0, 1,
58879 0,
58880 30,
58881 OPC_MoveChild2,
58882 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58883 OPC_RecordChild0,
58884 OPC_MoveParent,
58885 OPC_SwitchType , 9, MVT::f64,
58886 OPC_CheckPatternPredicate0,
58887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUB),
58888 MVT::f64, 3, 0, 1, 2,
58889 9, MVT::f32,
58890 OPC_CheckPatternPredicate0,
58891 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMSUBS),
58892 MVT::f32, 3, 0, 1, 2,
58893 0,
58894 25,
58895 OPC_RecordChild2,
58896 OPC_SwitchType , 9, MVT::f64,
58897 OPC_CheckPatternPredicate0,
58898 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMADD),
58899 MVT::f64, 3, 0, 1, 2,
58900 9, MVT::f32,
58901 OPC_CheckPatternPredicate0,
58902 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMADDS),
58903 MVT::f32, 3, 0, 1, 2,
58904 0,
58905 30,
58906 OPC_MoveChild2,
58907 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58908 OPC_RecordChild0,
58909 OPC_MoveParent,
58910 OPC_SwitchType , 9, MVT::v2f64,
58911 OPC_CheckPatternPredicate2,
58912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBADP),
58913 MVT::v2f64, 3, 2, 0, 1,
58914 9, MVT::v4f32,
58915 OPC_CheckPatternPredicate2,
58916 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMSUBASP),
58917 MVT::v4f32, 3, 2, 0, 1,
58918 0,
58919 38,
58920 OPC_RecordChild2,
58921 OPC_SwitchType , 9, MVT::v2f64,
58922 OPC_CheckPatternPredicate2,
58923 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMADDADP),
58924 MVT::v2f64, 3, 2, 0, 1,
58925 22, MVT::v4f32,
58926 OPC_Scope, 9,
58927 OPC_CheckPatternPredicate2,
58928 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMADDASP),
58929 MVT::v4f32, 3, 2, 0, 1,
58930 9,
58931 OPC_CheckPatternPredicate3,
58932 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
58933 MVT::v4f32, 3, 0, 1, 2,
58934 0,
58935 0,
58936 0,
58937 84|128,1, TARGET_VAL(PPCISD::FNMSUB),
58938 OPC_RecordChild0,
58939 OPC_RecordChild1,
58940 OPC_Scope, 42,
58941 OPC_MoveChild2,
58942 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58943 OPC_RecordChild0,
58944 OPC_MoveParent,
58945 OPC_SwitchType , 9, MVT::f64,
58946 OPC_CheckPatternPredicate2,
58947 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDADP),
58948 MVT::f64, 3, 2, 0, 1,
58949 10, MVT::f32,
58950 OPC_CheckPatternPredicate, 11,
58951 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDASP),
58952 MVT::f32, 3, 2, 0, 1,
58953 9, MVT::f128,
58954 OPC_CheckPatternPredicate7,
58955 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMADDQP),
58956 MVT::f128, 3, 2, 0, 1,
58957 0,
58958 37,
58959 OPC_RecordChild2,
58960 OPC_SwitchType , 9, MVT::f64,
58961 OPC_CheckPatternPredicate2,
58962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBADP),
58963 MVT::f64, 3, 2, 0, 1,
58964 10, MVT::f32,
58965 OPC_CheckPatternPredicate, 11,
58966 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBASP),
58967 MVT::f32, 3, 2, 0, 1,
58968 9, MVT::f128,
58969 OPC_CheckPatternPredicate7,
58970 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNMSUBQP),
58971 MVT::f128, 3, 2, 0, 1,
58972 0,
58973 30,
58974 OPC_MoveChild2,
58975 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
58976 OPC_RecordChild0,
58977 OPC_MoveParent,
58978 OPC_SwitchType , 9, MVT::f64,
58979 OPC_CheckPatternPredicate0,
58980 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADD),
58981 MVT::f64, 3, 0, 1, 2,
58982 9, MVT::f32,
58983 OPC_CheckPatternPredicate0,
58984 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMADDS),
58985 MVT::f32, 3, 0, 1, 2,
58986 0,
58987 25,
58988 OPC_RecordChild2,
58989 OPC_SwitchType , 9, MVT::f64,
58990 OPC_CheckPatternPredicate0,
58991 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUB),
58992 MVT::f64, 3, 0, 1, 2,
58993 9, MVT::f32,
58994 OPC_CheckPatternPredicate0,
58995 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FNMSUBS),
58996 MVT::f32, 3, 0, 1, 2,
58997 0,
58998 30,
58999 OPC_MoveChild2,
59000 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
59001 OPC_RecordChild0,
59002 OPC_MoveParent,
59003 OPC_SwitchType , 9, MVT::v2f64,
59004 OPC_CheckPatternPredicate2,
59005 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDADP),
59006 MVT::v2f64, 3, 2, 0, 1,
59007 9, MVT::v4f32,
59008 OPC_CheckPatternPredicate2,
59009 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMADDASP),
59010 MVT::v4f32, 3, 2, 0, 1,
59011 0,
59012 38,
59013 OPC_RecordChild2,
59014 OPC_SwitchType , 9, MVT::v2f64,
59015 OPC_CheckPatternPredicate2,
59016 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBADP),
59017 MVT::v2f64, 3, 2, 0, 1,
59018 22, MVT::v4f32,
59019 OPC_Scope, 9,
59020 OPC_CheckPatternPredicate2,
59021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVNMSUBASP),
59022 MVT::v4f32, 3, 2, 0, 1,
59023 9,
59024 OPC_CheckPatternPredicate3,
59025 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VNMSUBFP),
59026 MVT::v4f32, 3, 0, 1, 2,
59027 0,
59028 0,
59029 0,
59030 103|128,2, TARGET_VAL(ISD::ConstantFP),
59031 OPC_Scope, 20,
59032 OPC_CheckPredicate, 40,
59033 OPC_SwitchType , 6, MVT::f64,
59034 OPC_CheckPatternPredicate2,
59035 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORdpz),
59036 MVT::f64, 0,
59037 6, MVT::f32,
59038 OPC_CheckPatternPredicate2,
59039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORspz),
59040 MVT::f32, 0,
59041 0,
59042 16,
59043 OPC_CheckPredicate, 30,
59044 OPC_CheckType, MVT::f64,
59045 OPC_CheckPatternPredicate2,
59046 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
59047 MVT::f64, 0,
59048 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSNEGDP),
59049 MVT::f64, 1, 0,
59050 49,
59051 OPC_RecordNode,
59052 OPC_CheckPredicate, 41,
59053 OPC_SwitchType , 20, MVT::f32,
59054 OPC_CheckPatternPredicate1,
59055 OPC_EmitConvertToTarget0,
59056 OPC_EmitNodeXForm, 11, 1,
59057 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIDP),
59058 MVT::v4i32, 1, 2,
59059 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
59060 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59061 MVT::f32, 2, 3, 4,
59062 20, MVT::f64,
59063 OPC_CheckPatternPredicate1,
59064 OPC_EmitConvertToTarget0,
59065 OPC_EmitNodeXForm, 11, 1,
59066 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIDP),
59067 MVT::v4i32, 1, 2,
59068 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
59069 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59070 MVT::f64, 2, 3, 4,
59071 0,
59072 52,
59073 OPC_CheckPredicate, 30,
59074 OPC_CheckType, MVT::f32,
59075 OPC_Scope, 22,
59076 OPC_CheckPatternPredicate, 68,
59077 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
59078 MVT::f64, 0,
59079 OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
59080 MVT::f64, 1, 0,
59081 OPC_EmitStringInteger32, PPC::F4RCRegClassID,
59082 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59083 MVT::f32, 2, 1, 2,
59084 22,
59085 OPC_CheckPatternPredicate, 11,
59086 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORdpz),
59087 MVT::f64, 0,
59088 OPC_EmitNode1None, TARGET_VAL(PPC::XSNEGDP),
59089 MVT::f64, 1, 0,
59090 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
59091 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59092 MVT::f32, 2, 1, 2,
59093 0,
59094 86|128,1,
59095 OPC_RecordNode,
59096 OPC_Scope, 119,
59097 OPC_CheckPredicate, 42,
59098 OPC_SwitchType , 35, MVT::f64,
59099 OPC_CheckPatternPredicate2,
59100 OPC_EmitConvertToTarget0,
59101 OPC_EmitNodeXForm, 12, 1,
59102 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
59103 MVT::f128, 1, 2,
59104 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
59105 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59106 MVT::v4i32, 2, 3, 4,
59107 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
59108 MVT::v4i32, 1, 5,
59109 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
59110 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59111 MVT::f64, 2, 6, 7,
59112 76, MVT::f32,
59113 OPC_Scope, 36,
59114 OPC_CheckPatternPredicate, 68,
59115 OPC_EmitConvertToTarget0,
59116 OPC_EmitNodeXForm, 12, 1,
59117 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
59118 MVT::f128, 1, 2,
59119 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
59120 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59121 MVT::v4i32, 2, 3, 4,
59122 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
59123 MVT::v4i32, 1, 5,
59124 OPC_EmitStringInteger32, PPC::F4RCRegClassID,
59125 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59126 MVT::f32, 2, 6, 7,
59127 36,
59128 OPC_CheckPatternPredicate, 11,
59129 OPC_EmitConvertToTarget0,
59130 OPC_EmitNodeXForm, 12, 1,
59131 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTISW),
59132 MVT::f128, 1, 2,
59133 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
59134 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59135 MVT::v4i32, 2, 3, 4,
59136 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXWDP),
59137 MVT::v4i32, 1, 5,
59138 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
59139 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59140 MVT::f32, 2, 6, 7,
59141 0,
59142 0,
59143 90,
59144 OPC_CheckPredicate, 43,
59145 OPC_SwitchType , 41, MVT::f32,
59146 OPC_CheckPatternPredicate1,
59147 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
59148 MVT::v4i32, 0,
59149 OPC_EmitInteger32, 0,
59150 OPC_EmitNodeXForm, 13, 0,
59151 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
59152 MVT::v4i32, 3, 1, 2, 3,
59153 OPC_EmitInteger32, 2,
59154 OPC_EmitNodeXForm, 14, 0,
59155 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
59156 MVT::v4i32, 3, 4, 5, 6,
59157 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
59158 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59159 MVT::f32, 2, 7, 8,
59160 41, MVT::f64,
59161 OPC_CheckPatternPredicate1,
59162 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
59163 MVT::v4i32, 0,
59164 OPC_EmitInteger32, 0,
59165 OPC_EmitNodeXForm, 13, 0,
59166 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
59167 MVT::v4i32, 3, 1, 2, 3,
59168 OPC_EmitInteger32, 2,
59169 OPC_EmitNodeXForm, 14, 0,
59170 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTI32DX),
59171 MVT::v4i32, 3, 4, 5, 6,
59172 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
59173 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59174 MVT::f64, 2, 7, 8,
59175 0,
59176 0,
59177 0,
59178 107, TARGET_VAL(ISD::STRICT_FADD),
59179 OPC_RecordNode,
59180 OPC_RecordChild1,
59181 OPC_RecordChild2,
59182 OPC_SwitchType , 32, MVT::f64,
59183 OPC_Scope, 9,
59184 OPC_CheckPatternPredicate2,
59185 OPC_EmitMergeInputChains1_0,
59186 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDDP),
59187 MVT::f64, 2, 1, 2,
59188 9,
59189 OPC_CheckPatternPredicate0,
59190 OPC_EmitMergeInputChains1_0,
59191 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FADD),
59192 MVT::f64, 2, 1, 2,
59193 9,
59194 OPC_CheckPatternPredicate5,
59195 OPC_EmitMergeInputChains1_0,
59196 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDADD),
59197 MVT::f64, 2, 1, 2,
59198 0,
59199 33, MVT::f32,
59200 OPC_Scope, 10,
59201 OPC_CheckPatternPredicate, 11,
59202 OPC_EmitMergeInputChains1_0,
59203 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDSP),
59204 MVT::f32, 2, 1, 2,
59205 9,
59206 OPC_CheckPatternPredicate0,
59207 OPC_EmitMergeInputChains1_0,
59208 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FADDS),
59209 MVT::f32, 2, 1, 2,
59210 9,
59211 OPC_CheckPatternPredicate5,
59212 OPC_EmitMergeInputChains1_0,
59213 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSADD),
59214 MVT::f32, 2, 1, 2,
59215 0,
59216 9, MVT::f128,
59217 OPC_CheckPatternPredicate7,
59218 OPC_EmitMergeInputChains1_0,
59219 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSADDQP),
59220 MVT::f128, 2, 1, 2,
59221 9, MVT::v2f64,
59222 OPC_CheckPatternPredicate2,
59223 OPC_EmitMergeInputChains1_0,
59224 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVADDDP),
59225 MVT::v2f64, 2, 1, 2,
59226 9, MVT::v4f32,
59227 OPC_CheckPatternPredicate2,
59228 OPC_EmitMergeInputChains1_0,
59229 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVADDSP),
59230 MVT::v4f32, 2, 1, 2,
59231 0,
59232 109, TARGET_VAL(ISD::FADD),
59233 OPC_RecordChild0,
59234 OPC_RecordChild1,
59235 OPC_SwitchType , 29, MVT::f64,
59236 OPC_Scope, 8,
59237 OPC_CheckPatternPredicate2,
59238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDDP),
59239 MVT::f64, 2, 0, 1,
59240 8,
59241 OPC_CheckPatternPredicate0,
59242 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADD),
59243 MVT::f64, 2, 0, 1,
59244 8,
59245 OPC_CheckPatternPredicate5,
59246 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDADD),
59247 MVT::f64, 2, 0, 1,
59248 0,
59249 30, MVT::f32,
59250 OPC_Scope, 9,
59251 OPC_CheckPatternPredicate, 11,
59252 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDSP),
59253 MVT::f32, 2, 0, 1,
59254 8,
59255 OPC_CheckPatternPredicate0,
59256 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADDS),
59257 MVT::f32, 2, 0, 1,
59258 8,
59259 OPC_CheckPatternPredicate5,
59260 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSADD),
59261 MVT::f32, 2, 0, 1,
59262 0,
59263 8, MVT::f128,
59264 OPC_CheckPatternPredicate7,
59265 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSADDQP),
59266 MVT::f128, 2, 0, 1,
59267 8, MVT::v2f64,
59268 OPC_CheckPatternPredicate2,
59269 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVADDDP),
59270 MVT::v2f64, 2, 0, 1,
59271 20, MVT::v4f32,
59272 OPC_Scope, 8,
59273 OPC_CheckPatternPredicate2,
59274 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVADDSP),
59275 MVT::v4f32, 2, 0, 1,
59276 8,
59277 OPC_CheckPatternPredicate3,
59278 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDFP),
59279 MVT::v4f32, 2, 0, 1,
59280 0,
59281 0,
59282 107, TARGET_VAL(ISD::STRICT_FMUL),
59283 OPC_RecordNode,
59284 OPC_RecordChild1,
59285 OPC_RecordChild2,
59286 OPC_SwitchType , 32, MVT::f64,
59287 OPC_Scope, 9,
59288 OPC_CheckPatternPredicate2,
59289 OPC_EmitMergeInputChains1_0,
59290 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULDP),
59291 MVT::f64, 2, 1, 2,
59292 9,
59293 OPC_CheckPatternPredicate0,
59294 OPC_EmitMergeInputChains1_0,
59295 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMUL),
59296 MVT::f64, 2, 1, 2,
59297 9,
59298 OPC_CheckPatternPredicate5,
59299 OPC_EmitMergeInputChains1_0,
59300 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDMUL),
59301 MVT::f64, 2, 1, 2,
59302 0,
59303 33, MVT::f32,
59304 OPC_Scope, 10,
59305 OPC_CheckPatternPredicate, 11,
59306 OPC_EmitMergeInputChains1_0,
59307 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULSP),
59308 MVT::f32, 2, 1, 2,
59309 9,
59310 OPC_CheckPatternPredicate0,
59311 OPC_EmitMergeInputChains1_0,
59312 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FMULS),
59313 MVT::f32, 2, 1, 2,
59314 9,
59315 OPC_CheckPatternPredicate5,
59316 OPC_EmitMergeInputChains1_0,
59317 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSMUL),
59318 MVT::f32, 2, 1, 2,
59319 0,
59320 9, MVT::f128,
59321 OPC_CheckPatternPredicate7,
59322 OPC_EmitMergeInputChains1_0,
59323 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSMULQP),
59324 MVT::f128, 2, 1, 2,
59325 9, MVT::v2f64,
59326 OPC_CheckPatternPredicate2,
59327 OPC_EmitMergeInputChains1_0,
59328 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMULDP),
59329 MVT::v2f64, 2, 1, 2,
59330 9, MVT::v4f32,
59331 OPC_CheckPatternPredicate2,
59332 OPC_EmitMergeInputChains1_0,
59333 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVMULSP),
59334 MVT::v4f32, 2, 1, 2,
59335 0,
59336 127, TARGET_VAL(ISD::FMUL),
59337 OPC_RecordChild0,
59338 OPC_RecordChild1,
59339 OPC_SwitchType , 29, MVT::f64,
59340 OPC_Scope, 8,
59341 OPC_CheckPatternPredicate2,
59342 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULDP),
59343 MVT::f64, 2, 0, 1,
59344 8,
59345 OPC_CheckPatternPredicate0,
59346 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMUL),
59347 MVT::f64, 2, 0, 1,
59348 8,
59349 OPC_CheckPatternPredicate5,
59350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDMUL),
59351 MVT::f64, 2, 0, 1,
59352 0,
59353 30, MVT::f32,
59354 OPC_Scope, 9,
59355 OPC_CheckPatternPredicate, 11,
59356 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULSP),
59357 MVT::f32, 2, 0, 1,
59358 8,
59359 OPC_CheckPatternPredicate0,
59360 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FMULS),
59361 MVT::f32, 2, 0, 1,
59362 8,
59363 OPC_CheckPatternPredicate5,
59364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSMUL),
59365 MVT::f32, 2, 0, 1,
59366 0,
59367 8, MVT::f128,
59368 OPC_CheckPatternPredicate7,
59369 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMULQP),
59370 MVT::f128, 2, 0, 1,
59371 8, MVT::v2f64,
59372 OPC_CheckPatternPredicate2,
59373 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMULDP),
59374 MVT::v2f64, 2, 0, 1,
59375 38, MVT::v4f32,
59376 OPC_Scope, 8,
59377 OPC_CheckPatternPredicate2,
59378 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMULSP),
59379 MVT::v4f32, 2, 0, 1,
59380 26,
59381 OPC_CheckPatternPredicate3,
59382 OPC_EmitNode1None, TARGET_VAL(PPC::V_SETALLONES),
59383 MVT::v4i32, 0,
59384 OPC_EmitNode1None, TARGET_VAL(PPC::V_SETALLONES),
59385 MVT::v4i32, 0,
59386 OPC_EmitNode1None, TARGET_VAL(PPC::VSLW),
59387 MVT::v4i32, 2, 2, 3,
59388 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMADDFP),
59389 MVT::v4f32, 3, 0, 1, 4,
59390 0,
59391 0,
59392 107, TARGET_VAL(ISD::STRICT_FSUB),
59393 OPC_RecordNode,
59394 OPC_RecordChild1,
59395 OPC_RecordChild2,
59396 OPC_SwitchType , 32, MVT::f64,
59397 OPC_Scope, 9,
59398 OPC_CheckPatternPredicate2,
59399 OPC_EmitMergeInputChains1_0,
59400 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBDP),
59401 MVT::f64, 2, 1, 2,
59402 9,
59403 OPC_CheckPatternPredicate0,
59404 OPC_EmitMergeInputChains1_0,
59405 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSUB),
59406 MVT::f64, 2, 1, 2,
59407 9,
59408 OPC_CheckPatternPredicate5,
59409 OPC_EmitMergeInputChains1_0,
59410 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDSUB),
59411 MVT::f64, 2, 1, 2,
59412 0,
59413 33, MVT::f32,
59414 OPC_Scope, 10,
59415 OPC_CheckPatternPredicate, 11,
59416 OPC_EmitMergeInputChains1_0,
59417 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBSP),
59418 MVT::f32, 2, 1, 2,
59419 9,
59420 OPC_CheckPatternPredicate0,
59421 OPC_EmitMergeInputChains1_0,
59422 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSUBS),
59423 MVT::f32, 2, 1, 2,
59424 9,
59425 OPC_CheckPatternPredicate5,
59426 OPC_EmitMergeInputChains1_0,
59427 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSSUB),
59428 MVT::f32, 2, 1, 2,
59429 0,
59430 9, MVT::f128,
59431 OPC_CheckPatternPredicate7,
59432 OPC_EmitMergeInputChains1_0,
59433 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSUBQP),
59434 MVT::f128, 2, 1, 2,
59435 9, MVT::v2f64,
59436 OPC_CheckPatternPredicate2,
59437 OPC_EmitMergeInputChains1_0,
59438 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSUBDP),
59439 MVT::v2f64, 2, 1, 2,
59440 9, MVT::v4f32,
59441 OPC_CheckPatternPredicate2,
59442 OPC_EmitMergeInputChains1_0,
59443 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSUBSP),
59444 MVT::v4f32, 2, 1, 2,
59445 0,
59446 109, TARGET_VAL(ISD::FSUB),
59447 OPC_RecordChild0,
59448 OPC_RecordChild1,
59449 OPC_SwitchType , 29, MVT::f64,
59450 OPC_Scope, 8,
59451 OPC_CheckPatternPredicate2,
59452 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBDP),
59453 MVT::f64, 2, 0, 1,
59454 8,
59455 OPC_CheckPatternPredicate0,
59456 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSUB),
59457 MVT::f64, 2, 0, 1,
59458 8,
59459 OPC_CheckPatternPredicate5,
59460 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDSUB),
59461 MVT::f64, 2, 0, 1,
59462 0,
59463 30, MVT::f32,
59464 OPC_Scope, 9,
59465 OPC_CheckPatternPredicate, 11,
59466 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBSP),
59467 MVT::f32, 2, 0, 1,
59468 8,
59469 OPC_CheckPatternPredicate0,
59470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSUBS),
59471 MVT::f32, 2, 0, 1,
59472 8,
59473 OPC_CheckPatternPredicate5,
59474 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSSUB),
59475 MVT::f32, 2, 0, 1,
59476 0,
59477 8, MVT::f128,
59478 OPC_CheckPatternPredicate7,
59479 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSUBQP),
59480 MVT::f128, 2, 0, 1,
59481 8, MVT::v2f64,
59482 OPC_CheckPatternPredicate2,
59483 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSUBDP),
59484 MVT::v2f64, 2, 0, 1,
59485 20, MVT::v4f32,
59486 OPC_Scope, 8,
59487 OPC_CheckPatternPredicate2,
59488 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSUBSP),
59489 MVT::v4f32, 2, 0, 1,
59490 8,
59491 OPC_CheckPatternPredicate3,
59492 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBFP),
59493 MVT::v4f32, 2, 0, 1,
59494 0,
59495 0,
59496 107, TARGET_VAL(ISD::STRICT_FDIV),
59497 OPC_RecordNode,
59498 OPC_RecordChild1,
59499 OPC_RecordChild2,
59500 OPC_SwitchType , 32, MVT::f64,
59501 OPC_Scope, 9,
59502 OPC_CheckPatternPredicate2,
59503 OPC_EmitMergeInputChains1_0,
59504 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVDP),
59505 MVT::f64, 2, 1, 2,
59506 9,
59507 OPC_CheckPatternPredicate0,
59508 OPC_EmitMergeInputChains1_0,
59509 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FDIV),
59510 MVT::f64, 2, 1, 2,
59511 9,
59512 OPC_CheckPatternPredicate5,
59513 OPC_EmitMergeInputChains1_0,
59514 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDDIV),
59515 MVT::f64, 2, 1, 2,
59516 0,
59517 33, MVT::f32,
59518 OPC_Scope, 10,
59519 OPC_CheckPatternPredicate, 11,
59520 OPC_EmitMergeInputChains1_0,
59521 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVSP),
59522 MVT::f32, 2, 1, 2,
59523 9,
59524 OPC_CheckPatternPredicate0,
59525 OPC_EmitMergeInputChains1_0,
59526 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FDIVS),
59527 MVT::f32, 2, 1, 2,
59528 9,
59529 OPC_CheckPatternPredicate5,
59530 OPC_EmitMergeInputChains1_0,
59531 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSDIV),
59532 MVT::f32, 2, 1, 2,
59533 0,
59534 9, MVT::f128,
59535 OPC_CheckPatternPredicate7,
59536 OPC_EmitMergeInputChains1_0,
59537 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSDIVQP),
59538 MVT::f128, 2, 1, 2,
59539 9, MVT::v2f64,
59540 OPC_CheckPatternPredicate2,
59541 OPC_EmitMergeInputChains1_0,
59542 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVDIVDP),
59543 MVT::v2f64, 2, 1, 2,
59544 9, MVT::v4f32,
59545 OPC_CheckPatternPredicate2,
59546 OPC_EmitMergeInputChains1_0,
59547 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVDIVSP),
59548 MVT::v4f32, 2, 1, 2,
59549 0,
59550 97, TARGET_VAL(ISD::FDIV),
59551 OPC_RecordChild0,
59552 OPC_RecordChild1,
59553 OPC_SwitchType , 29, MVT::f64,
59554 OPC_Scope, 8,
59555 OPC_CheckPatternPredicate2,
59556 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVDP),
59557 MVT::f64, 2, 0, 1,
59558 8,
59559 OPC_CheckPatternPredicate0,
59560 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FDIV),
59561 MVT::f64, 2, 0, 1,
59562 8,
59563 OPC_CheckPatternPredicate5,
59564 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDDIV),
59565 MVT::f64, 2, 0, 1,
59566 0,
59567 30, MVT::f32,
59568 OPC_Scope, 9,
59569 OPC_CheckPatternPredicate, 11,
59570 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVSP),
59571 MVT::f32, 2, 0, 1,
59572 8,
59573 OPC_CheckPatternPredicate0,
59574 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FDIVS),
59575 MVT::f32, 2, 0, 1,
59576 8,
59577 OPC_CheckPatternPredicate5,
59578 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSDIV),
59579 MVT::f32, 2, 0, 1,
59580 0,
59581 8, MVT::f128,
59582 OPC_CheckPatternPredicate7,
59583 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSDIVQP),
59584 MVT::f128, 2, 0, 1,
59585 8, MVT::v2f64,
59586 OPC_CheckPatternPredicate2,
59587 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVDP),
59588 MVT::v2f64, 2, 0, 1,
59589 8, MVT::v4f32,
59590 OPC_CheckPatternPredicate2,
59591 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVDIVSP),
59592 MVT::v4f32, 2, 0, 1,
59593 0,
59594 79, TARGET_VAL(ISD::STRICT_FSQRT),
59595 OPC_RecordNode,
59596 OPC_RecordChild1,
59597 OPC_SwitchType , 20, MVT::f64,
59598 OPC_Scope, 8,
59599 OPC_CheckPatternPredicate2,
59600 OPC_EmitMergeInputChains1_0,
59601 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTDP),
59602 MVT::f64, 1, 1,
59603 8,
59604 OPC_CheckPatternPredicate0,
59605 OPC_EmitMergeInputChains1_0,
59606 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSQRT),
59607 MVT::f64, 1, 1,
59608 0,
59609 21, MVT::f32,
59610 OPC_Scope, 9,
59611 OPC_CheckPatternPredicate, 11,
59612 OPC_EmitMergeInputChains1_0,
59613 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTSP),
59614 MVT::f32, 1, 1,
59615 8,
59616 OPC_CheckPatternPredicate0,
59617 OPC_EmitMergeInputChains1_0,
59618 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FSQRTS),
59619 MVT::f32, 1, 1,
59620 0,
59621 8, MVT::f128,
59622 OPC_CheckPatternPredicate7,
59623 OPC_EmitMergeInputChains1_0,
59624 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSSQRTQP),
59625 MVT::f128, 1, 1,
59626 8, MVT::v2f64,
59627 OPC_CheckPatternPredicate2,
59628 OPC_EmitMergeInputChains1_0,
59629 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSQRTDP),
59630 MVT::v2f64, 1, 1,
59631 8, MVT::v4f32,
59632 OPC_CheckPatternPredicate2,
59633 OPC_EmitMergeInputChains1_0,
59634 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVSQRTSP),
59635 MVT::v4f32, 1, 1,
59636 0,
59637 71, TARGET_VAL(ISD::FSQRT),
59638 OPC_RecordChild0,
59639 OPC_SwitchType , 18, MVT::f64,
59640 OPC_Scope, 7,
59641 OPC_CheckPatternPredicate2,
59642 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTDP),
59643 MVT::f64, 1, 0,
59644 7,
59645 OPC_CheckPatternPredicate0,
59646 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRT),
59647 MVT::f64, 1, 0,
59648 0,
59649 19, MVT::f32,
59650 OPC_Scope, 8,
59651 OPC_CheckPatternPredicate, 11,
59652 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTSP),
59653 MVT::f32, 1, 0,
59654 7,
59655 OPC_CheckPatternPredicate0,
59656 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRTS),
59657 MVT::f32, 1, 0,
59658 0,
59659 7, MVT::f128,
59660 OPC_CheckPatternPredicate7,
59661 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTQP),
59662 MVT::f128, 1, 0,
59663 7, MVT::v2f64,
59664 OPC_CheckPatternPredicate2,
59665 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTDP),
59666 MVT::v2f64, 1, 0,
59667 7, MVT::v4f32,
59668 OPC_CheckPatternPredicate2,
59669 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTSP),
59670 MVT::v4f32, 1, 0,
59671 0,
59672 73, TARGET_VAL(PPCISD::FRE),
59673 OPC_RecordChild0,
59674 OPC_SwitchType , 18, MVT::f64,
59675 OPC_Scope, 7,
59676 OPC_CheckPatternPredicate2,
59677 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSREDP),
59678 MVT::f64, 1, 0,
59679 7,
59680 OPC_CheckPatternPredicate0,
59681 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRE),
59682 MVT::f64, 1, 0,
59683 0,
59684 19, MVT::f32,
59685 OPC_Scope, 8,
59686 OPC_CheckPatternPredicate, 11,
59687 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRESP),
59688 MVT::f32, 1, 0,
59689 7,
59690 OPC_CheckPatternPredicate0,
59691 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRES),
59692 MVT::f32, 1, 0,
59693 0,
59694 7, MVT::v2f64,
59695 OPC_CheckPatternPredicate2,
59696 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVREDP),
59697 MVT::v2f64, 1, 0,
59698 18, MVT::v4f32,
59699 OPC_Scope, 7,
59700 OPC_CheckPatternPredicate2,
59701 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRESP),
59702 MVT::v4f32, 1, 0,
59703 7,
59704 OPC_CheckPatternPredicate3,
59705 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VREFP),
59706 MVT::v4f32, 1, 0,
59707 0,
59708 0,
59709 73, TARGET_VAL(PPCISD::FRSQRTE),
59710 OPC_RecordChild0,
59711 OPC_SwitchType , 18, MVT::f64,
59712 OPC_Scope, 7,
59713 OPC_CheckPatternPredicate2,
59714 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTEDP),
59715 MVT::f64, 1, 0,
59716 7,
59717 OPC_CheckPatternPredicate0,
59718 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTE),
59719 MVT::f64, 1, 0,
59720 0,
59721 19, MVT::f32,
59722 OPC_Scope, 8,
59723 OPC_CheckPatternPredicate, 11,
59724 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRSQRTESP),
59725 MVT::f32, 1, 0,
59726 7,
59727 OPC_CheckPatternPredicate0,
59728 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRSQRTES),
59729 MVT::f32, 1, 0,
59730 0,
59731 7, MVT::v2f64,
59732 OPC_CheckPatternPredicate2,
59733 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTEDP),
59734 MVT::v2f64, 1, 0,
59735 18, MVT::v4f32,
59736 OPC_Scope, 7,
59737 OPC_CheckPatternPredicate2,
59738 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSQRTESP),
59739 MVT::v4f32, 1, 0,
59740 7,
59741 OPC_CheckPatternPredicate3,
59742 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRSQRTEFP),
59743 MVT::v4f32, 1, 0,
59744 0,
59745 0,
59746 104, TARGET_VAL(ISD::FABS),
59747 OPC_RecordChild0,
59748 OPC_SwitchType , 26, MVT::f64,
59749 OPC_Scope, 7,
59750 OPC_CheckPatternPredicate2,
59751 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSABSDP),
59752 MVT::f64, 1, 0,
59753 7,
59754 OPC_CheckPatternPredicate0,
59755 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FABSD),
59756 MVT::f64, 1, 0,
59757 7,
59758 OPC_CheckPatternPredicate5,
59759 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDABS),
59760 MVT::f64, 1, 0,
59761 0,
59762 7, MVT::f128,
59763 OPC_CheckPatternPredicate7,
59764 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSABSQP),
59765 MVT::f128, 1, 0,
59766 44, MVT::f32,
59767 OPC_Scope, 25,
59768 OPC_CheckPatternPredicate2,
59769 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
59770 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59771 MVT::f64, 2, 0, 1,
59772 OPC_EmitNode1None, TARGET_VAL(PPC::XSABSDP),
59773 MVT::f64, 1, 2,
59774 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
59775 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59776 MVT::f32, 2, 3, 4,
59777 7,
59778 OPC_CheckPatternPredicate0,
59779 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FABSS),
59780 MVT::f32, 1, 0,
59781 7,
59782 OPC_CheckPatternPredicate5,
59783 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFSABS),
59784 MVT::f32, 1, 0,
59785 0,
59786 7, MVT::v2f64,
59787 OPC_CheckPatternPredicate2,
59788 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVABSDP),
59789 MVT::v2f64, 1, 0,
59790 7, MVT::v4f32,
59791 OPC_CheckPatternPredicate2,
59792 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVABSSP),
59793 MVT::v4f32, 1, 0,
59794 0,
59795 123, TARGET_VAL(ISD::FCOPYSIGN),
59796 OPC_RecordChild0,
59797 OPC_RecordChild1,
59798 OPC_Scope, 45,
59799 OPC_CheckChild1Type, MVT::f64,
59800 OPC_SwitchType , 20, MVT::f64,
59801 OPC_Scope, 8,
59802 OPC_CheckPatternPredicate2,
59803 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCPSGNDP),
59804 MVT::f64, 2, 1, 0,
59805 8,
59806 OPC_CheckPatternPredicate0,
59807 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGND),
59808 MVT::f64, 2, 1, 0,
59809 0,
59810 17, MVT::f32,
59811 OPC_CheckPatternPredicate0,
59812 OPC_EmitStringInteger32, PPC::F4RCRegClassID,
59813 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59814 MVT::f32, 2, 1, 2,
59815 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGNS),
59816 MVT::f32, 2, 3, 0,
59817 0,
59818 12,
59819 OPC_CheckChild1Type, MVT::f128,
59820 OPC_CheckType, MVT::f128,
59821 OPC_CheckPatternPredicate7,
59822 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCPSGNQP),
59823 MVT::f128, 2, 1, 0,
59824 33,
59825 OPC_CheckChild1Type, MVT::f32,
59826 OPC_SwitchType , 8, MVT::f32,
59827 OPC_CheckPatternPredicate0,
59828 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGNS),
59829 MVT::f32, 2, 1, 0,
59830 17, MVT::f64,
59831 OPC_CheckPatternPredicate0,
59832 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
59833 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
59834 MVT::f64, 2, 1, 2,
59835 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCPSGND),
59836 MVT::f64, 2, 3, 0,
59837 0,
59838 12,
59839 OPC_CheckChild1Type, MVT::v2f64,
59840 OPC_CheckType, MVT::v2f64,
59841 OPC_CheckPatternPredicate2,
59842 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCPSGNDP),
59843 MVT::v2f64, 2, 1, 0,
59844 12,
59845 OPC_CheckChild1Type, MVT::v4f32,
59846 OPC_CheckType, MVT::v4f32,
59847 OPC_CheckPatternPredicate2,
59848 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCPSGNSP),
59849 MVT::v4f32, 2, 1, 0,
59850 0,
59851 45, TARGET_VAL(PPCISD::STRICT_FCTIDZ),
59852 OPC_RecordNode,
59853 OPC_RecordChild1,
59854 OPC_SwitchType , 19, MVT::f64,
59855 OPC_Scope, 8,
59856 OPC_CheckPatternPredicate2,
59857 OPC_EmitMergeInputChains1_0,
59858 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
59859 MVT::f64, 1, 1,
59860 7,
59861 OPC_EmitMergeInputChains1_0,
59862 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIDZ),
59863 MVT::f64, 1, 1,
59864 0,
59865 8, MVT::f32,
59866 OPC_CheckPatternPredicate2,
59867 OPC_EmitMergeInputChains1_0,
59868 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXDSs),
59869 MVT::f32, 1, 1,
59870 8, MVT::f128,
59871 OPC_CheckPatternPredicate7,
59872 OPC_EmitMergeInputChains1_0,
59873 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPSDZ),
59874 MVT::f128, 1, 1,
59875 0,
59876 40, TARGET_VAL(PPCISD::FCTIDZ),
59877 OPC_RecordChild0,
59878 OPC_SwitchType , 17, MVT::f64,
59879 OPC_Scope, 7,
59880 OPC_CheckPatternPredicate2,
59881 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDS),
59882 MVT::f64, 1, 0,
59883 6,
59884 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIDZ),
59885 MVT::f64, 1, 0,
59886 0,
59887 7, MVT::f32,
59888 OPC_CheckPatternPredicate2,
59889 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXDSs),
59890 MVT::f32, 1, 0,
59891 7, MVT::f128,
59892 OPC_CheckPatternPredicate7,
59893 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPSDZ),
59894 MVT::f128, 1, 0,
59895 0,
59896 46, TARGET_VAL(PPCISD::STRICT_FCTIWZ),
59897 OPC_RecordNode,
59898 OPC_RecordChild1,
59899 OPC_SwitchType , 20, MVT::f64,
59900 OPC_Scope, 8,
59901 OPC_CheckPatternPredicate2,
59902 OPC_EmitMergeInputChains1_0,
59903 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
59904 MVT::f64, 1, 1,
59905 8,
59906 OPC_CheckPatternPredicate0,
59907 OPC_EmitMergeInputChains1_0,
59908 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIWZ),
59909 MVT::f64, 1, 1,
59910 0,
59911 8, MVT::f32,
59912 OPC_CheckPatternPredicate2,
59913 OPC_EmitMergeInputChains1_0,
59914 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
59915 MVT::f32, 1, 1,
59916 8, MVT::f128,
59917 OPC_CheckPatternPredicate7,
59918 OPC_EmitMergeInputChains1_0,
59919 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPSWZ),
59920 MVT::f128, 1, 1,
59921 0,
59922 41, TARGET_VAL(PPCISD::FCTIWZ),
59923 OPC_RecordChild0,
59924 OPC_SwitchType , 18, MVT::f64,
59925 OPC_Scope, 7,
59926 OPC_CheckPatternPredicate2,
59927 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWS),
59928 MVT::f64, 1, 0,
59929 7,
59930 OPC_CheckPatternPredicate0,
59931 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIWZ),
59932 MVT::f64, 1, 0,
59933 0,
59934 7, MVT::f32,
59935 OPC_CheckPatternPredicate2,
59936 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSXWSs),
59937 MVT::f32, 1, 0,
59938 7, MVT::f128,
59939 OPC_CheckPatternPredicate7,
59940 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPSWZ),
59941 MVT::f128, 1, 0,
59942 0,
59943 45, TARGET_VAL(PPCISD::STRICT_FCTIDUZ),
59944 OPC_RecordNode,
59945 OPC_RecordChild1,
59946 OPC_SwitchType , 19, MVT::f64,
59947 OPC_Scope, 8,
59948 OPC_CheckPatternPredicate2,
59949 OPC_EmitMergeInputChains1_0,
59950 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
59951 MVT::f64, 1, 1,
59952 7,
59953 OPC_EmitMergeInputChains1_0,
59954 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIDUZ),
59955 MVT::f64, 1, 1,
59956 0,
59957 8, MVT::f32,
59958 OPC_CheckPatternPredicate2,
59959 OPC_EmitMergeInputChains1_0,
59960 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXDSs),
59961 MVT::f32, 1, 1,
59962 8, MVT::f128,
59963 OPC_CheckPatternPredicate7,
59964 OPC_EmitMergeInputChains1_0,
59965 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPUDZ),
59966 MVT::f128, 1, 1,
59967 0,
59968 40, TARGET_VAL(PPCISD::FCTIDUZ),
59969 OPC_RecordChild0,
59970 OPC_SwitchType , 17, MVT::f64,
59971 OPC_Scope, 7,
59972 OPC_CheckPatternPredicate2,
59973 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDS),
59974 MVT::f64, 1, 0,
59975 6,
59976 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIDUZ),
59977 MVT::f64, 1, 0,
59978 0,
59979 7, MVT::f32,
59980 OPC_CheckPatternPredicate2,
59981 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXDSs),
59982 MVT::f32, 1, 0,
59983 7, MVT::f128,
59984 OPC_CheckPatternPredicate7,
59985 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPUDZ),
59986 MVT::f128, 1, 0,
59987 0,
59988 45, TARGET_VAL(PPCISD::STRICT_FCTIWUZ),
59989 OPC_RecordNode,
59990 OPC_RecordChild1,
59991 OPC_SwitchType , 19, MVT::f64,
59992 OPC_Scope, 8,
59993 OPC_CheckPatternPredicate2,
59994 OPC_EmitMergeInputChains1_0,
59995 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
59996 MVT::f64, 1, 1,
59997 7,
59998 OPC_EmitMergeInputChains1_0,
59999 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FCTIWUZ),
60000 MVT::f64, 1, 1,
60001 0,
60002 8, MVT::f32,
60003 OPC_CheckPatternPredicate2,
60004 OPC_EmitMergeInputChains1_0,
60005 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
60006 MVT::f32, 1, 1,
60007 8, MVT::f128,
60008 OPC_CheckPatternPredicate7,
60009 OPC_EmitMergeInputChains1_0,
60010 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPUWZ),
60011 MVT::f128, 1, 1,
60012 0,
60013 40, TARGET_VAL(PPCISD::FCTIWUZ),
60014 OPC_RecordChild0,
60015 OPC_SwitchType , 17, MVT::f64,
60016 OPC_Scope, 7,
60017 OPC_CheckPatternPredicate2,
60018 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWS),
60019 MVT::f64, 1, 0,
60020 6,
60021 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FCTIWUZ),
60022 MVT::f64, 1, 0,
60023 0,
60024 7, MVT::f32,
60025 OPC_CheckPatternPredicate2,
60026 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPUXWSs),
60027 MVT::f32, 1, 0,
60028 7, MVT::f128,
60029 OPC_CheckPatternPredicate7,
60030 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVQPUWZ),
60031 MVT::f128, 1, 0,
60032 0,
60033 29, TARGET_VAL(PPCISD::STRICT_FCFID),
60034 OPC_RecordNode,
60035 OPC_RecordChild1,
60036 OPC_CheckType, MVT::f64,
60037 OPC_Scope, 11,
60038 OPC_CheckPatternPredicate2,
60039 OPC_EmitMergeInputChains1_0,
60040 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVSXDDP),
60041 MVT::f64, 1, 1,
60042 OPC_CompleteMatch, 1, 2,
60043
60044 10,
60045 OPC_EmitMergeInputChains1_0,
60046 OPC_EmitNode1None, TARGET_VAL(PPC::FCFID),
60047 MVT::f64, 1, 1,
60048 OPC_CompleteMatch, 1, 2,
60049
60050 0,
60051 29, TARGET_VAL(PPCISD::STRICT_FCFIDU),
60052 OPC_RecordNode,
60053 OPC_RecordChild1,
60054 OPC_CheckType, MVT::f64,
60055 OPC_Scope, 11,
60056 OPC_CheckPatternPredicate2,
60057 OPC_EmitMergeInputChains1_0,
60058 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVUXDDP),
60059 MVT::f64, 1, 1,
60060 OPC_CompleteMatch, 1, 2,
60061
60062 10,
60063 OPC_EmitMergeInputChains1_0,
60064 OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDU),
60065 MVT::f64, 1, 1,
60066 OPC_CompleteMatch, 1, 2,
60067
60068 0,
60069 102, TARGET_VAL(ISD::STRICT_FROUND),
60070 OPC_RecordNode,
60071 OPC_RecordChild1,
60072 OPC_SwitchType , 20, MVT::f64,
60073 OPC_Scope, 8,
60074 OPC_CheckPatternPredicate2,
60075 OPC_EmitMergeInputChains1_0,
60076 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPI),
60077 MVT::f64, 1, 1,
60078 8,
60079 OPC_CheckPatternPredicate0,
60080 OPC_EmitMergeInputChains1_0,
60081 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIND),
60082 MVT::f64, 1, 1,
60083 0,
60084 14, MVT::f128,
60085 OPC_CheckPatternPredicate7,
60086 OPC_EmitMergeInputChains1_0,
60087 OPC_EmitInteger32, 0,
60088 OPC_EmitInteger32, 0,
60089 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
60090 MVT::f128, 3, 2, 1, 3,
60091 38, MVT::f32,
60092 OPC_Scope, 26,
60093 OPC_CheckPatternPredicate2,
60094 OPC_EmitMergeInputChains1_0,
60095 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60097 MVT::f64, 2, 1, 2,
60098 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPI),
60099 MVT::f64, 1, 3,
60100 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60101 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60102 MVT::f32, 2, 4, 5,
60103 8,
60104 OPC_CheckPatternPredicate0,
60105 OPC_EmitMergeInputChains1_0,
60106 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRINS),
60107 MVT::f32, 1, 1,
60108 0,
60109 8, MVT::v2f64,
60110 OPC_CheckPatternPredicate2,
60111 OPC_EmitMergeInputChains1_0,
60112 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPI),
60113 MVT::v2f64, 1, 1,
60114 8, MVT::v4f32,
60115 OPC_CheckPatternPredicate2,
60116 OPC_EmitMergeInputChains1_0,
60117 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPI),
60118 MVT::v4f32, 1, 1,
60119 0,
60120 94, TARGET_VAL(ISD::FROUND),
60121 OPC_RecordChild0,
60122 OPC_SwitchType , 18, MVT::f64,
60123 OPC_Scope, 7,
60124 OPC_CheckPatternPredicate2,
60125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPI),
60126 MVT::f64, 1, 0,
60127 7,
60128 OPC_CheckPatternPredicate0,
60129 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIND),
60130 MVT::f64, 1, 0,
60131 0,
60132 13, MVT::f128,
60133 OPC_CheckPatternPredicate7,
60134 OPC_EmitInteger32, 0,
60135 OPC_EmitInteger32, 0,
60136 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
60137 MVT::f128, 3, 1, 0, 2,
60138 36, MVT::f32,
60139 OPC_Scope, 25,
60140 OPC_CheckPatternPredicate2,
60141 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60142 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60143 MVT::f64, 2, 0, 1,
60144 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPI),
60145 MVT::f64, 1, 2,
60146 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60147 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60148 MVT::f32, 2, 3, 4,
60149 7,
60150 OPC_CheckPatternPredicate0,
60151 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRINS),
60152 MVT::f32, 1, 0,
60153 0,
60154 7, MVT::v2f64,
60155 OPC_CheckPatternPredicate2,
60156 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPI),
60157 MVT::v2f64, 1, 0,
60158 7, MVT::v4f32,
60159 OPC_CheckPatternPredicate2,
60160 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPI),
60161 MVT::v4f32, 1, 0,
60162 0,
60163 102, TARGET_VAL(ISD::STRICT_FFLOOR),
60164 OPC_RecordNode,
60165 OPC_RecordChild1,
60166 OPC_SwitchType , 20, MVT::f64,
60167 OPC_Scope, 8,
60168 OPC_CheckPatternPredicate2,
60169 OPC_EmitMergeInputChains1_0,
60170 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIM),
60171 MVT::f64, 1, 1,
60172 8,
60173 OPC_CheckPatternPredicate0,
60174 OPC_EmitMergeInputChains1_0,
60175 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIMD),
60176 MVT::f64, 1, 1,
60177 0,
60178 14, MVT::f128,
60179 OPC_CheckPatternPredicate7,
60180 OPC_EmitMergeInputChains1_0,
60181 OPC_EmitInteger32, 2,
60182 OPC_EmitInteger32, 6,
60183 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
60184 MVT::f128, 3, 2, 1, 3,
60185 38, MVT::f32,
60186 OPC_Scope, 26,
60187 OPC_CheckPatternPredicate2,
60188 OPC_EmitMergeInputChains1_0,
60189 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60190 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60191 MVT::f64, 2, 1, 2,
60192 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIM),
60193 MVT::f64, 1, 3,
60194 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60195 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60196 MVT::f32, 2, 4, 5,
60197 8,
60198 OPC_CheckPatternPredicate0,
60199 OPC_EmitMergeInputChains1_0,
60200 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIMS),
60201 MVT::f32, 1, 1,
60202 0,
60203 8, MVT::v2f64,
60204 OPC_CheckPatternPredicate2,
60205 OPC_EmitMergeInputChains1_0,
60206 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIM),
60207 MVT::v2f64, 1, 1,
60208 8, MVT::v4f32,
60209 OPC_CheckPatternPredicate2,
60210 OPC_EmitMergeInputChains1_0,
60211 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIM),
60212 MVT::v4f32, 1, 1,
60213 0,
60214 105, TARGET_VAL(ISD::FFLOOR),
60215 OPC_RecordChild0,
60216 OPC_SwitchType , 18, MVT::f64,
60217 OPC_Scope, 7,
60218 OPC_CheckPatternPredicate2,
60219 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIM),
60220 MVT::f64, 1, 0,
60221 7,
60222 OPC_CheckPatternPredicate0,
60223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIMD),
60224 MVT::f64, 1, 0,
60225 0,
60226 13, MVT::f128,
60227 OPC_CheckPatternPredicate7,
60228 OPC_EmitInteger32, 2,
60229 OPC_EmitInteger32, 6,
60230 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
60231 MVT::f128, 3, 1, 0, 2,
60232 36, MVT::f32,
60233 OPC_Scope, 25,
60234 OPC_CheckPatternPredicate2,
60235 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60236 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60237 MVT::f64, 2, 0, 1,
60238 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIM),
60239 MVT::f64, 1, 2,
60240 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60241 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60242 MVT::f32, 2, 3, 4,
60243 7,
60244 OPC_CheckPatternPredicate0,
60245 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIMS),
60246 MVT::f32, 1, 0,
60247 0,
60248 7, MVT::v2f64,
60249 OPC_CheckPatternPredicate2,
60250 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIM),
60251 MVT::v2f64, 1, 0,
60252 18, MVT::v4f32,
60253 OPC_Scope, 7,
60254 OPC_CheckPatternPredicate2,
60255 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIM),
60256 MVT::v4f32, 1, 0,
60257 7,
60258 OPC_CheckPatternPredicate3,
60259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIM),
60260 MVT::v4f32, 1, 0,
60261 0,
60262 0,
60263 102, TARGET_VAL(ISD::STRICT_FCEIL),
60264 OPC_RecordNode,
60265 OPC_RecordChild1,
60266 OPC_SwitchType , 20, MVT::f64,
60267 OPC_Scope, 8,
60268 OPC_CheckPatternPredicate2,
60269 OPC_EmitMergeInputChains1_0,
60270 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIP),
60271 MVT::f64, 1, 1,
60272 8,
60273 OPC_CheckPatternPredicate0,
60274 OPC_EmitMergeInputChains1_0,
60275 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIPD),
60276 MVT::f64, 1, 1,
60277 0,
60278 14, MVT::f128,
60279 OPC_CheckPatternPredicate7,
60280 OPC_EmitMergeInputChains1_0,
60281 OPC_EmitInteger32, 2,
60282 OPC_EmitInteger32, 4,
60283 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
60284 MVT::f128, 3, 2, 1, 3,
60285 38, MVT::f32,
60286 OPC_Scope, 26,
60287 OPC_CheckPatternPredicate2,
60288 OPC_EmitMergeInputChains1_0,
60289 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60290 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60291 MVT::f64, 2, 1, 2,
60292 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIP),
60293 MVT::f64, 1, 3,
60294 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60295 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60296 MVT::f32, 2, 4, 5,
60297 8,
60298 OPC_CheckPatternPredicate0,
60299 OPC_EmitMergeInputChains1_0,
60300 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIPS),
60301 MVT::f32, 1, 1,
60302 0,
60303 8, MVT::v2f64,
60304 OPC_CheckPatternPredicate2,
60305 OPC_EmitMergeInputChains1_0,
60306 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIP),
60307 MVT::v2f64, 1, 1,
60308 8, MVT::v4f32,
60309 OPC_CheckPatternPredicate2,
60310 OPC_EmitMergeInputChains1_0,
60311 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIP),
60312 MVT::v4f32, 1, 1,
60313 0,
60314 105, TARGET_VAL(ISD::FCEIL),
60315 OPC_RecordChild0,
60316 OPC_SwitchType , 18, MVT::f64,
60317 OPC_Scope, 7,
60318 OPC_CheckPatternPredicate2,
60319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIP),
60320 MVT::f64, 1, 0,
60321 7,
60322 OPC_CheckPatternPredicate0,
60323 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIPD),
60324 MVT::f64, 1, 0,
60325 0,
60326 13, MVT::f128,
60327 OPC_CheckPatternPredicate7,
60328 OPC_EmitInteger32, 2,
60329 OPC_EmitInteger32, 4,
60330 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
60331 MVT::f128, 3, 1, 0, 2,
60332 36, MVT::f32,
60333 OPC_Scope, 25,
60334 OPC_CheckPatternPredicate2,
60335 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60337 MVT::f64, 2, 0, 1,
60338 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIP),
60339 MVT::f64, 1, 2,
60340 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60341 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60342 MVT::f32, 2, 3, 4,
60343 7,
60344 OPC_CheckPatternPredicate0,
60345 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIPS),
60346 MVT::f32, 1, 0,
60347 0,
60348 7, MVT::v2f64,
60349 OPC_CheckPatternPredicate2,
60350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIP),
60351 MVT::v2f64, 1, 0,
60352 18, MVT::v4f32,
60353 OPC_Scope, 7,
60354 OPC_CheckPatternPredicate2,
60355 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIP),
60356 MVT::v4f32, 1, 0,
60357 7,
60358 OPC_CheckPatternPredicate3,
60359 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIP),
60360 MVT::v4f32, 1, 0,
60361 0,
60362 0,
60363 102, TARGET_VAL(ISD::STRICT_FTRUNC),
60364 OPC_RecordNode,
60365 OPC_RecordChild1,
60366 OPC_SwitchType , 20, MVT::f64,
60367 OPC_Scope, 8,
60368 OPC_CheckPatternPredicate2,
60369 OPC_EmitMergeInputChains1_0,
60370 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIZ),
60371 MVT::f64, 1, 1,
60372 8,
60373 OPC_CheckPatternPredicate0,
60374 OPC_EmitMergeInputChains1_0,
60375 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIZD),
60376 MVT::f64, 1, 1,
60377 0,
60378 14, MVT::f128,
60379 OPC_CheckPatternPredicate7,
60380 OPC_EmitMergeInputChains1_0,
60381 OPC_EmitInteger32, 2,
60382 OPC_EmitInteger32, 2,
60383 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
60384 MVT::f128, 3, 2, 1, 3,
60385 38, MVT::f32,
60386 OPC_Scope, 26,
60387 OPC_CheckPatternPredicate2,
60388 OPC_EmitMergeInputChains1_0,
60389 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60390 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60391 MVT::f64, 2, 1, 2,
60392 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSRDPIZ),
60393 MVT::f64, 1, 3,
60394 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60395 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60396 MVT::f32, 2, 4, 5,
60397 8,
60398 OPC_CheckPatternPredicate0,
60399 OPC_EmitMergeInputChains1_0,
60400 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRIZS),
60401 MVT::f32, 1, 1,
60402 0,
60403 8, MVT::v2f64,
60404 OPC_CheckPatternPredicate2,
60405 OPC_EmitMergeInputChains1_0,
60406 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIZ),
60407 MVT::v2f64, 1, 1,
60408 8, MVT::v4f32,
60409 OPC_CheckPatternPredicate2,
60410 OPC_EmitMergeInputChains1_0,
60411 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIZ),
60412 MVT::v4f32, 1, 1,
60413 0,
60414 105, TARGET_VAL(ISD::FTRUNC),
60415 OPC_RecordChild0,
60416 OPC_SwitchType , 18, MVT::f64,
60417 OPC_Scope, 7,
60418 OPC_CheckPatternPredicate2,
60419 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIZ),
60420 MVT::f64, 1, 0,
60421 7,
60422 OPC_CheckPatternPredicate0,
60423 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIZD),
60424 MVT::f64, 1, 0,
60425 0,
60426 13, MVT::f128,
60427 OPC_CheckPatternPredicate7,
60428 OPC_EmitInteger32, 2,
60429 OPC_EmitInteger32, 2,
60430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
60431 MVT::f128, 3, 1, 0, 2,
60432 36, MVT::f32,
60433 OPC_Scope, 25,
60434 OPC_CheckPatternPredicate2,
60435 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60436 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60437 MVT::f64, 2, 0, 1,
60438 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIZ),
60439 MVT::f64, 1, 2,
60440 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60441 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60442 MVT::f32, 2, 3, 4,
60443 7,
60444 OPC_CheckPatternPredicate0,
60445 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FRIZS),
60446 MVT::f32, 1, 0,
60447 0,
60448 7, MVT::v2f64,
60449 OPC_CheckPatternPredicate2,
60450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIZ),
60451 MVT::v2f64, 1, 0,
60452 18, MVT::v4f32,
60453 OPC_Scope, 7,
60454 OPC_CheckPatternPredicate2,
60455 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIZ),
60456 MVT::v4f32, 1, 0,
60457 7,
60458 OPC_CheckPatternPredicate3,
60459 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIZ),
60460 MVT::v4f32, 1, 0,
60461 0,
60462 0,
60463 70, TARGET_VAL(ISD::STRICT_FP_ROUND),
60464 OPC_RecordNode,
60465 OPC_RecordChild1,
60466 OPC_Scope, 34,
60467 OPC_CheckChild1Type, MVT::f64,
60468 OPC_CheckType, MVT::f32,
60469 OPC_Scope, 9,
60470 OPC_CheckPatternPredicate, 11,
60471 OPC_EmitMergeInputChains1_0,
60472 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRSP),
60473 MVT::f32, 1, 1,
60474 8,
60475 OPC_CheckPatternPredicate0,
60476 OPC_EmitMergeInputChains1_0,
60477 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::FRSP),
60478 MVT::f32, 1, 1,
60479 8,
60480 OPC_CheckPatternPredicate5,
60481 OPC_EmitMergeInputChains1_0,
60482 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFSCFD),
60483 MVT::f32, 1, 1,
60484 0,
60485 30,
60486 OPC_CheckChild1Type, MVT::f128,
60487 OPC_SwitchType , 8, MVT::f64,
60488 OPC_CheckPatternPredicate7,
60489 OPC_EmitMergeInputChains1_0,
60490 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVQPDP),
60491 MVT::f64, 1, 1,
60492 14, MVT::f32,
60493 OPC_CheckPatternPredicate7,
60494 OPC_EmitMergeInputChains1_0,
60495 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVQPDPO),
60496 MVT::f64, 1, 1,
60497 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRSP),
60498 MVT::f32, 1, 2,
60499 0,
60500 0,
60501 32, TARGET_VAL(PPCISD::STRICT_FCFIDS),
60502 OPC_RecordNode,
60503 OPC_RecordChild1,
60504 OPC_CheckChild1Type, MVT::f64,
60505 OPC_CheckType, MVT::f32,
60506 OPC_Scope, 12,
60507 OPC_CheckPatternPredicate, 11,
60508 OPC_EmitMergeInputChains1_0,
60509 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVSXDSP),
60510 MVT::f32, 1, 1,
60511 OPC_CompleteMatch, 1, 2,
60512
60513 10,
60514 OPC_EmitMergeInputChains1_0,
60515 OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDS),
60516 MVT::f32, 1, 1,
60517 OPC_CompleteMatch, 1, 2,
60518
60519 0,
60520 32, TARGET_VAL(PPCISD::STRICT_FCFIDUS),
60521 OPC_RecordNode,
60522 OPC_RecordChild1,
60523 OPC_CheckChild1Type, MVT::f64,
60524 OPC_CheckType, MVT::f32,
60525 OPC_Scope, 12,
60526 OPC_CheckPatternPredicate, 11,
60527 OPC_EmitMergeInputChains1_0,
60528 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVUXDSP),
60529 MVT::f32, 1, 1,
60530 OPC_CompleteMatch, 1, 2,
60531
60532 10,
60533 OPC_EmitMergeInputChains1_0,
60534 OPC_EmitNode1None, TARGET_VAL(PPC::FCFIDUS),
60535 MVT::f32, 1, 1,
60536 OPC_CompleteMatch, 1, 2,
60537
60538 0,
60539 25, TARGET_VAL(PPCISD::MTVSRA),
60540 OPC_RecordChild0,
60541 OPC_CheckType, MVT::f64,
60542 OPC_Scope, 9,
60543 OPC_CheckChild0TypeI64,
60544 OPC_CheckPatternPredicate, 30,
60545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRD),
60546 MVT::f64, 1, 0,
60547 9,
60548 OPC_CheckChild0TypeI32,
60549 OPC_CheckPatternPredicate, 30,
60550 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWA),
60551 MVT::f64, 1, 0,
60552 0,
60553 58, TARGET_VAL(PPCISD::MTVSRZ),
60554 OPC_RecordChild0,
60555 OPC_CheckChild0TypeI32,
60556 OPC_SwitchType , 8, MVT::f64,
60557 OPC_CheckPatternPredicate, 30,
60558 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWZ),
60559 MVT::f64, 1, 0,
60560 20, MVT::v8i16,
60561 OPC_CheckPatternPredicate, 30,
60562 OPC_EmitInteger64, 2,
60563 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
60564 MVT::f64, 1, 0,
60565 OPC_EmitStringInteger32, PPC::sub_64,
60566 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
60567 MVT::v8i16, 3, 1, 2, 3,
60568 20, MVT::v16i8,
60569 OPC_CheckPatternPredicate, 30,
60570 OPC_EmitInteger64, 2,
60571 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
60572 MVT::f64, 1, 0,
60573 OPC_EmitStringInteger32, PPC::sub_64,
60574 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
60575 MVT::v16i8, 3, 1, 2, 3,
60576 0,
60577 77, TARGET_VAL(ISD::STRICT_FP_EXTEND),
60578 OPC_RecordNode,
60579 OPC_RecordChild1,
60580 OPC_SwitchType , 33, MVT::f128,
60581 OPC_Scope, 10,
60582 OPC_CheckChild1Type, MVT::f64,
60583 OPC_CheckPatternPredicate7,
60584 OPC_EmitMergeInputChains1_0,
60585 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPQP),
60586 MVT::f128, 1, 1,
60587 19,
60588 OPC_CheckChild1Type, MVT::f32,
60589 OPC_CheckPatternPredicate7,
60590 OPC_EmitMergeInputChains1_0,
60591 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
60592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60593 MVT::f64, 2, 1, 2,
60594 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSCVDPQP),
60595 MVT::f128, 1, 3,
60596 0,
60597 36, MVT::f64,
60598 OPC_Scope, 12,
60599 OPC_CheckPatternPredicate, 11,
60600 OPC_EmitMergeInputChains1_0,
60601 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60602 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60603 MVT::f64, 2, 1, 2,
60604 11,
60605 OPC_CheckPatternPredicate0,
60606 OPC_EmitMergeInputChains1_0,
60607 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
60608 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60609 MVT::f64, 2, 1, 2,
60610 8,
60611 OPC_CheckPatternPredicate5,
60612 OPC_EmitMergeInputChains1_0,
60613 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::EFDCFS),
60614 MVT::f64, 1, 1,
60615 0,
60616 0,
60617 71, TARGET_VAL(ISD::FP_EXTEND),
60618 OPC_RecordChild0,
60619 OPC_SwitchType , 31, MVT::f128,
60620 OPC_Scope, 9,
60621 OPC_CheckChild0Type, MVT::f64,
60622 OPC_CheckPatternPredicate7,
60623 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPQP),
60624 MVT::f128, 1, 0,
60625 18,
60626 OPC_CheckChild0Type, MVT::f32,
60627 OPC_CheckPatternPredicate7,
60628 OPC_EmitStringInteger32, PPC::VFRCRegClassID,
60629 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60630 MVT::f64, 2, 0, 1,
60631 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPQP),
60632 MVT::f128, 1, 2,
60633 0,
60634 33, MVT::f64,
60635 OPC_Scope, 11,
60636 OPC_CheckPatternPredicate, 11,
60637 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60638 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60639 MVT::f64, 2, 0, 1,
60640 10,
60641 OPC_CheckPatternPredicate0,
60642 OPC_EmitStringInteger32, PPC::F8RCRegClassID,
60643 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60644 MVT::f64, 2, 0, 1,
60645 7,
60646 OPC_CheckPatternPredicate5,
60647 OPC_MorphNodeTo1None, TARGET_VAL(PPC::EFDCFS),
60648 MVT::f64, 1, 0,
60649 0,
60650 0,
60651 62, TARGET_VAL(PPCISD::XSMAXC),
60652 OPC_RecordChild0,
60653 OPC_RecordChild1,
60654 OPC_SwitchType , 8, MVT::f64,
60655 OPC_CheckPatternPredicate7,
60656 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXCDP),
60657 MVT::f64, 2, 0, 1,
60658 9, MVT::f128,
60659 OPC_CheckPatternPredicate, 39,
60660 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMAXCQP),
60661 MVT::f128, 2, 0, 1,
60662 35, MVT::f32,
60663 OPC_CheckPatternPredicate7,
60664 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60665 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60666 MVT::f64, 2, 0, 2,
60667 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60668 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60669 MVT::f64, 2, 1, 4,
60670 OPC_EmitNode1None, TARGET_VAL(PPC::XSMAXCDP),
60671 MVT::f64, 2, 3, 5,
60672 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60673 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60674 MVT::f32, 2, 6, 7,
60675 0,
60676 62, TARGET_VAL(PPCISD::XSMINC),
60677 OPC_RecordChild0,
60678 OPC_RecordChild1,
60679 OPC_SwitchType , 8, MVT::f64,
60680 OPC_CheckPatternPredicate7,
60681 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINCDP),
60682 MVT::f64, 2, 0, 1,
60683 9, MVT::f128,
60684 OPC_CheckPatternPredicate, 39,
60685 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSMINCQP),
60686 MVT::f128, 2, 0, 1,
60687 35, MVT::f32,
60688 OPC_CheckPatternPredicate7,
60689 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60690 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60691 MVT::f64, 2, 0, 2,
60692 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60693 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60694 MVT::f64, 2, 1, 4,
60695 OPC_EmitNode1None, TARGET_VAL(PPC::XSMINCDP),
60696 MVT::f64, 2, 3, 5,
60697 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60698 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60699 MVT::f32, 2, 6, 7,
60700 0,
60701 40, TARGET_VAL(PPCISD::FSQRT),
60702 OPC_RecordChild0,
60703 OPC_SwitchType , 17, MVT::f64,
60704 OPC_Scope, 7,
60705 OPC_CheckPatternPredicate2,
60706 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSSQRTDP),
60707 MVT::f64, 1, 0,
60708 6,
60709 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSQRT),
60710 MVT::f64, 1, 0,
60711 0,
60712 7, MVT::v2f64,
60713 OPC_CheckPatternPredicate2,
60714 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTDP),
60715 MVT::v2f64, 1, 0,
60716 7, MVT::v4f32,
60717 OPC_CheckPatternPredicate2,
60718 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVSQRTSP),
60719 MVT::v4f32, 1, 0,
60720 0,
60721 78, TARGET_VAL(ISD::STRICT_FRINT),
60722 OPC_RecordNode,
60723 OPC_RecordChild1,
60724 OPC_SwitchType , 8, MVT::f64,
60725 OPC_CheckPatternPredicate2,
60726 OPC_EmitMergeInputChains1_0,
60727 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRDPIC),
60728 MVT::f64, 1, 1,
60729 14, MVT::f128,
60730 OPC_CheckPatternPredicate7,
60731 OPC_EmitMergeInputChains1_0,
60732 OPC_EmitInteger32, 0,
60733 OPC_EmitInteger32, 6,
60734 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPIX),
60735 MVT::f128, 3, 2, 1, 3,
60736 26, MVT::f32,
60737 OPC_CheckPatternPredicate2,
60738 OPC_EmitMergeInputChains1_0,
60739 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60740 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60741 MVT::f64, 2, 1, 2,
60742 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
60743 MVT::f64, 1, 3,
60744 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60745 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60746 MVT::f32, 2, 4, 5,
60747 8, MVT::v4f32,
60748 OPC_CheckPatternPredicate2,
60749 OPC_EmitMergeInputChains1_0,
60750 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRSPIC),
60751 MVT::v4f32, 1, 1,
60752 8, MVT::v2f64,
60753 OPC_CheckPatternPredicate2,
60754 OPC_EmitMergeInputChains1_0,
60755 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVRDPIC),
60756 MVT::v2f64, 1, 1,
60757 0,
60758 72, TARGET_VAL(ISD::FRINT),
60759 OPC_RecordChild0,
60760 OPC_SwitchType , 7, MVT::f64,
60761 OPC_CheckPatternPredicate2,
60762 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIC),
60763 MVT::f64, 1, 0,
60764 13, MVT::f128,
60765 OPC_CheckPatternPredicate7,
60766 OPC_EmitInteger32, 0,
60767 OPC_EmitInteger32, 6,
60768 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPIX),
60769 MVT::f128, 3, 1, 0, 2,
60770 25, MVT::f32,
60771 OPC_CheckPatternPredicate2,
60772 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60773 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60774 MVT::f64, 2, 0, 1,
60775 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
60776 MVT::f64, 1, 2,
60777 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60778 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60779 MVT::f32, 2, 3, 4,
60780 7, MVT::v4f32,
60781 OPC_CheckPatternPredicate2,
60782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIC),
60783 MVT::v4f32, 1, 0,
60784 7, MVT::v2f64,
60785 OPC_CheckPatternPredicate2,
60786 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIC),
60787 MVT::v2f64, 1, 0,
60788 0,
60789 83, TARGET_VAL(ISD::FNEARBYINT),
60790 OPC_RecordChild0,
60791 OPC_SwitchType , 7, MVT::f64,
60792 OPC_CheckPatternPredicate2,
60793 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRDPIC),
60794 MVT::f64, 1, 0,
60795 13, MVT::f128,
60796 OPC_CheckPatternPredicate7,
60797 OPC_EmitInteger32, 0,
60798 OPC_EmitInteger32, 6,
60799 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSRQPI),
60800 MVT::f128, 3, 1, 0, 2,
60801 25, MVT::f32,
60802 OPC_CheckPatternPredicate2,
60803 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
60804 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60805 MVT::f64, 2, 0, 1,
60806 OPC_EmitNode1None, TARGET_VAL(PPC::XSRDPIC),
60807 MVT::f64, 1, 2,
60808 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60809 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60810 MVT::f32, 2, 3, 4,
60811 7, MVT::v2f64,
60812 OPC_CheckPatternPredicate2,
60813 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRDPIC),
60814 MVT::v2f64, 1, 0,
60815 18, MVT::v4f32,
60816 OPC_Scope, 7,
60817 OPC_CheckPatternPredicate2,
60818 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVRSPIC),
60819 MVT::v4f32, 1, 0,
60820 7,
60821 OPC_CheckPatternPredicate3,
60822 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VRFIN),
60823 MVT::v4f32, 1, 0,
60824 0,
60825 0,
60826 18, TARGET_VAL(ISD::STRICT_FNEARBYINT),
60827 OPC_RecordNode,
60828 OPC_RecordChild1,
60829 OPC_CheckType, MVT::f128,
60830 OPC_CheckPatternPredicate7,
60831 OPC_EmitMergeInputChains1_0,
60832 OPC_EmitInteger32, 0,
60833 OPC_EmitInteger32, 6,
60834 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XSRQPI),
60835 MVT::f128, 3, 2, 1, 3,
60836 43, TARGET_VAL(ISD::FP16_TO_FP),
60837 OPC_RecordChild0,
60838 OPC_CheckChild0TypeI32,
60839 OPC_SwitchType , 13, MVT::f64,
60840 OPC_CheckPatternPredicate7,
60841 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
60842 MVT::f64, 1, 0,
60843 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVHPDP),
60844 MVT::f64, 1, 1,
60845 22, MVT::f32,
60846 OPC_CheckPatternPredicate7,
60847 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
60848 MVT::f64, 1, 0,
60849 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVHPDP),
60850 MVT::f64, 1, 1,
60851 OPC_EmitStringInteger32, PPC::VSSRCRegClassID,
60852 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60853 MVT::f32, 2, 2, 3,
60854 0,
60855 45, TARGET_VAL(PPCISD::BUILD_FP128),
60856 OPC_RecordChild0,
60857 OPC_CheckChild0TypeI64,
60858 OPC_RecordChild1,
60859 OPC_CheckType, MVT::f128,
60860 OPC_Scope, 18,
60861 OPC_CheckPatternPredicate, 56,
60862 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRDD),
60863 MVT::v4i32, 2, 0, 1,
60864 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
60865 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60866 MVT::f128, 2, 2, 3,
60867 18,
60868 OPC_CheckPatternPredicate, 57,
60869 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRDD),
60870 MVT::v4i32, 2, 1, 0,
60871 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
60872 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60873 MVT::f128, 2, 2, 3,
60874 0,
60875 8, TARGET_VAL(PPCISD::MFFS),
60876 OPC_RecordNode,
60877 OPC_CheckPatternPredicate0,
60878 OPC_EmitMergeInputChains1_0,
60879 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::MFFS),
60880 MVT::f64, 0,
60881 27, TARGET_VAL(PPCISD::FSEL),
60882 OPC_RecordChild0,
60883 OPC_RecordChild1,
60884 OPC_RecordChild2,
60885 OPC_SwitchType , 9, MVT::f64,
60886 OPC_CheckPatternPredicate0,
60887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELD),
60888 MVT::f64, 3, 0, 1, 2,
60889 9, MVT::f32,
60890 OPC_CheckPatternPredicate0,
60891 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FSELS),
60892 MVT::f32, 3, 0, 1, 2,
60893 0,
60894 20, TARGET_VAL(PPCISD::BUILD_SPE64),
60895 OPC_RecordChild0,
60896 OPC_RecordChild1,
60897 OPC_CheckChild1TypeI32,
60898 OPC_CheckPatternPredicate5,
60899 OPC_EmitNode1None, TARGET_VAL(PPC::EVMERGELO),
60900 MVT::f64, 2, 1, 0,
60901 OPC_EmitStringInteger32, PPC::SPERCRegClassID,
60902 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60903 MVT::f64, 2, 2, 3,
60904 12, TARGET_VAL(PPCISD::FADDRTZ),
60905 OPC_RecordChild0,
60906 OPC_RecordChild1,
60907 OPC_CheckType, MVT::f64,
60908 OPC_CheckPatternPredicate0,
60909 OPC_MorphNodeTo1None, TARGET_VAL(PPC::FADDrtz),
60910 MVT::f64, 2, 0, 1,
60911 17, TARGET_VAL(PPCISD::STRICT_FADDRTZ),
60912 OPC_RecordNode,
60913 OPC_RecordChild1,
60914 OPC_RecordChild2,
60915 OPC_CheckType, MVT::f64,
60916 OPC_CheckPatternPredicate0,
60917 OPC_EmitMergeInputChains1_0,
60918 OPC_EmitNode1None, TARGET_VAL(PPC::FADDrtz),
60919 MVT::f64, 2, 1, 2,
60920 OPC_CompleteMatch, 1, 3,
60921
60922 35|128,52, TARGET_VAL(ISD::BUILD_VECTOR),
60923 OPC_Scope, 79,
60924 OPC_RecordChild0,
60925 OPC_MoveChild0,
60926 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
60927 OPC_CheckPredicate, 44,
60928 OPC_CheckTypeI32,
60929 OPC_MoveParent,
60930 OPC_CheckChild1Same, 0,
60931 OPC_CheckChild2Same, 0,
60932 OPC_CheckChild3Same, 0,
60933 OPC_MoveChild4,
60934 OPC_CheckSame, 0,
60935 OPC_MoveSibling5,
60936 OPC_CheckSame, 0,
60937 OPC_MoveSibling6,
60938 OPC_CheckSame, 0,
60939 OPC_MoveSibling7,
60940 OPC_CheckSame, 0,
60941 OPC_MoveSibling, 8,
60942 OPC_CheckSame, 0,
60943 OPC_MoveSibling, 9,
60944 OPC_CheckSame, 0,
60945 OPC_MoveSibling, 10,
60946 OPC_CheckSame, 0,
60947 OPC_MoveSibling, 11,
60948 OPC_CheckSame, 0,
60949 OPC_MoveSibling, 12,
60950 OPC_CheckSame, 0,
60951 OPC_MoveSibling, 13,
60952 OPC_CheckSame, 0,
60953 OPC_MoveSibling, 14,
60954 OPC_CheckSame, 0,
60955 OPC_MoveSibling, 15,
60956 OPC_CheckSame, 0,
60957 OPC_MoveParent,
60958 OPC_CheckType, MVT::v16i8,
60959 OPC_CheckPatternPredicate7,
60960 OPC_EmitConvertToTarget0,
60961 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTIB),
60962 MVT::v4i32, 1, 1,
60963 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
60964 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
60965 MVT::v16i8, 2, 2, 3,
60966 109|128,12,
60967 OPC_MoveChild0,
60968 OPC_SwitchOpcode , 39|128,8, TARGET_VAL(PPCISD::MFVSR),
60969 OPC_MoveChild0,
60970 OPC_SwitchOpcode , 82|128,3, TARGET_VAL(PPCISD::FCTIWZ),
60971 OPC_Scope, 35|128,1,
60972 OPC_MoveChild0,
60973 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
60974 OPC_RecordChild0,
60975 OPC_CheckChild1Integer, 0,
60976 OPC_MoveParent,
60977 OPC_CheckType, MVT::f64,
60978 OPC_MoveParent,
60979 OPC_CheckTypeI32,
60980 OPC_MoveSibling1,
60981 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
60982 OPC_MoveChild0,
60983 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
60984 OPC_MoveChild0,
60985 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
60986 OPC_CheckChild0Same, 0,
60987 OPC_CheckChild1Integer, 2,
60988 OPC_MoveParent,
60989 OPC_CheckType, MVT::f64,
60990 OPC_MoveParent,
60991 OPC_CheckTypeI32,
60992 OPC_MoveSibling2,
60993 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
60994 OPC_MoveChild0,
60995 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
60996 OPC_MoveChild0,
60997 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
60998 OPC_RecordChild0,
60999 OPC_CheckChild1Integer, 0,
61000 OPC_MoveParent,
61001 OPC_CheckType, MVT::f64,
61002 OPC_MoveParent,
61003 OPC_CheckTypeI32,
61004 OPC_MoveSibling3,
61005 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61006 OPC_MoveChild0,
61007 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61008 OPC_MoveChild0,
61009 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61010 OPC_CheckChild0Same, 1,
61011 OPC_CheckChild1Integer, 2,
61012 OPC_MoveParent,
61013 OPC_CheckType, MVT::f64,
61014 OPC_MoveParent,
61015 OPC_CheckTypeI32,
61016 OPC_MoveParent,
61017 OPC_CheckType, MVT::v4i32,
61018 OPC_Scope, 41,
61019 OPC_CheckPatternPredicate, 17,
61020 OPC_EmitInteger32, 0,
61021 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61022 MVT::v2f64, 3, 0, 1, 2,
61023 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61024 MVT::v4i32, 1, 3,
61025 OPC_EmitInteger32, 6,
61026 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61027 MVT::v2f64, 3, 0, 1, 5,
61028 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61029 MVT::v4i32, 1, 6,
61030 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61031 MVT::v4i32, 2, 4, 7,
61032 41,
61033 OPC_CheckPatternPredicate, 13,
61034 OPC_EmitInteger32, 0,
61035 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61036 MVT::v2f64, 3, 1, 0, 2,
61037 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61038 MVT::v4i32, 1, 3,
61039 OPC_EmitInteger32, 6,
61040 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61041 MVT::v2f64, 3, 1, 0, 5,
61042 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61043 MVT::v4i32, 1, 6,
61044 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61045 MVT::v4i32, 2, 4, 7,
61046 0,
61047 41|128,2,
61048 OPC_RecordChild0,
61049 OPC_CheckType, MVT::f64,
61050 OPC_MoveParent,
61051 OPC_CheckTypeI32,
61052 OPC_MoveSibling1,
61053 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61054 OPC_MoveChild0,
61055 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61056 OPC_CheckType, MVT::f64,
61057 OPC_Scope, 63,
61058 OPC_CheckChild0Same, 0,
61059 OPC_MoveParent,
61060 OPC_CheckTypeI32,
61061 OPC_MoveSibling2,
61062 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61063 OPC_MoveChild0,
61064 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61065 OPC_CheckChild0Same, 0,
61066 OPC_CheckType, MVT::f64,
61067 OPC_MoveParent,
61068 OPC_CheckTypeI32,
61069 OPC_MoveSibling3,
61070 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61071 OPC_MoveChild0,
61072 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61073 OPC_CheckChild0Same, 0,
61074 OPC_CheckType, MVT::f64,
61075 OPC_MoveParent,
61076 OPC_CheckTypeI32,
61077 OPC_MoveParent,
61078 OPC_CheckType, MVT::v4i32,
61079 OPC_CheckPatternPredicate2,
61080 OPC_EmitInteger64, 2,
61081 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
61082 MVT::f64, 1, 0,
61083 OPC_EmitStringInteger32, PPC::sub_64,
61084 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61085 MVT::v4i32, 3, 1, 2, 3,
61086 OPC_EmitInteger32, 2,
61087 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
61088 MVT::v4i32, 2, 4, 5,
61089 86|128,1,
61090 OPC_RecordChild0,
61091 OPC_MoveParent,
61092 OPC_CheckTypeI32,
61093 OPC_MoveSibling2,
61094 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61095 OPC_MoveChild0,
61096 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61097 OPC_RecordChild0,
61098 OPC_CheckType, MVT::f64,
61099 OPC_MoveParent,
61100 OPC_CheckTypeI32,
61101 OPC_MoveSibling3,
61102 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61103 OPC_MoveChild0,
61104 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWZ),
61105 OPC_RecordChild0,
61106 OPC_CheckType, MVT::f64,
61107 OPC_MoveParent,
61108 OPC_CheckTypeI32,
61109 OPC_MoveParent,
61110 OPC_CheckType, MVT::v4i32,
61111 OPC_Scope, 89,
61112 OPC_CheckPatternPredicate, 17,
61113 OPC_EmitInteger64, 2,
61114 OPC_EmitStringInteger32, PPC::sub_64,
61115 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61116 MVT::v4i32, 3, 4, 0, 5,
61117 OPC_EmitInteger64, 2,
61118 OPC_EmitStringInteger32, PPC::sub_64,
61119 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61120 MVT::v4i32, 3, 7, 2, 8,
61121 OPC_EmitInteger32, 0,
61122 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61123 MVT::v2f64, 3, 6, 9, 10,
61124 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61125 MVT::v4i32, 1, 11,
61126 OPC_EmitInteger64, 2,
61127 OPC_EmitStringInteger32, PPC::sub_64,
61128 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61129 MVT::v4i32, 3, 13, 1, 14,
61130 OPC_EmitInteger64, 2,
61131 OPC_EmitStringInteger32, PPC::sub_64,
61132 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61133 MVT::v4i32, 3, 16, 3, 17,
61134 OPC_EmitInteger32, 0,
61135 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61136 MVT::v2f64, 3, 15, 18, 19,
61137 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61138 MVT::v4i32, 1, 20,
61139 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61140 MVT::v4i32, 2, 12, 21,
61141 89,
61142 OPC_CheckPatternPredicate, 13,
61143 OPC_EmitInteger64, 2,
61144 OPC_EmitStringInteger32, PPC::sub_64,
61145 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61146 MVT::v4i32, 3, 4, 3, 5,
61147 OPC_EmitInteger64, 2,
61148 OPC_EmitStringInteger32, PPC::sub_64,
61149 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61150 MVT::v4i32, 3, 7, 1, 8,
61151 OPC_EmitInteger32, 0,
61152 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61153 MVT::v2f64, 3, 6, 9, 10,
61154 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61155 MVT::v4i32, 1, 11,
61156 OPC_EmitInteger64, 2,
61157 OPC_EmitStringInteger32, PPC::sub_64,
61158 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61159 MVT::v4i32, 3, 13, 2, 14,
61160 OPC_EmitInteger64, 2,
61161 OPC_EmitStringInteger32, PPC::sub_64,
61162 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61163 MVT::v4i32, 3, 16, 0, 17,
61164 OPC_EmitInteger32, 0,
61165 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61166 MVT::v2f64, 3, 15, 18, 19,
61167 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSXWS),
61168 MVT::v4i32, 1, 20,
61169 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61170 MVT::v4i32, 2, 12, 21,
61171 0,
61172 0,
61173 0,
61174 82|128,3, TARGET_VAL(PPCISD::FCTIWUZ),
61175 OPC_Scope, 35|128,1,
61176 OPC_MoveChild0,
61177 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61178 OPC_RecordChild0,
61179 OPC_CheckChild1Integer, 0,
61180 OPC_MoveParent,
61181 OPC_CheckType, MVT::f64,
61182 OPC_MoveParent,
61183 OPC_CheckTypeI32,
61184 OPC_MoveSibling1,
61185 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61186 OPC_MoveChild0,
61187 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61188 OPC_MoveChild0,
61189 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61190 OPC_CheckChild0Same, 0,
61191 OPC_CheckChild1Integer, 2,
61192 OPC_MoveParent,
61193 OPC_CheckType, MVT::f64,
61194 OPC_MoveParent,
61195 OPC_CheckTypeI32,
61196 OPC_MoveSibling2,
61197 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61198 OPC_MoveChild0,
61199 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61200 OPC_MoveChild0,
61201 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61202 OPC_RecordChild0,
61203 OPC_CheckChild1Integer, 0,
61204 OPC_MoveParent,
61205 OPC_CheckType, MVT::f64,
61206 OPC_MoveParent,
61207 OPC_CheckTypeI32,
61208 OPC_MoveSibling3,
61209 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61210 OPC_MoveChild0,
61211 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61212 OPC_MoveChild0,
61213 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61214 OPC_CheckChild0Same, 1,
61215 OPC_CheckChild1Integer, 2,
61216 OPC_MoveParent,
61217 OPC_CheckType, MVT::f64,
61218 OPC_MoveParent,
61219 OPC_CheckTypeI32,
61220 OPC_MoveParent,
61221 OPC_CheckType, MVT::v4i32,
61222 OPC_Scope, 41,
61223 OPC_CheckPatternPredicate, 17,
61224 OPC_EmitInteger32, 0,
61225 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61226 MVT::v2f64, 3, 0, 1, 2,
61227 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61228 MVT::v4i32, 1, 3,
61229 OPC_EmitInteger32, 6,
61230 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61231 MVT::v2f64, 3, 0, 1, 5,
61232 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61233 MVT::v4i32, 1, 6,
61234 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61235 MVT::v4i32, 2, 4, 7,
61236 41,
61237 OPC_CheckPatternPredicate, 13,
61238 OPC_EmitInteger32, 0,
61239 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61240 MVT::v2f64, 3, 1, 0, 2,
61241 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61242 MVT::v4i32, 1, 3,
61243 OPC_EmitInteger32, 6,
61244 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61245 MVT::v2f64, 3, 1, 0, 5,
61246 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61247 MVT::v4i32, 1, 6,
61248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61249 MVT::v4i32, 2, 4, 7,
61250 0,
61251 41|128,2,
61252 OPC_RecordChild0,
61253 OPC_CheckType, MVT::f64,
61254 OPC_MoveParent,
61255 OPC_CheckTypeI32,
61256 OPC_MoveSibling1,
61257 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61258 OPC_MoveChild0,
61259 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61260 OPC_CheckType, MVT::f64,
61261 OPC_Scope, 63,
61262 OPC_CheckChild0Same, 0,
61263 OPC_MoveParent,
61264 OPC_CheckTypeI32,
61265 OPC_MoveSibling2,
61266 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61267 OPC_MoveChild0,
61268 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61269 OPC_CheckChild0Same, 0,
61270 OPC_CheckType, MVT::f64,
61271 OPC_MoveParent,
61272 OPC_CheckTypeI32,
61273 OPC_MoveSibling3,
61274 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61275 OPC_MoveChild0,
61276 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61277 OPC_CheckChild0Same, 0,
61278 OPC_CheckType, MVT::f64,
61279 OPC_MoveParent,
61280 OPC_CheckTypeI32,
61281 OPC_MoveParent,
61282 OPC_CheckType, MVT::v4i32,
61283 OPC_CheckPatternPredicate2,
61284 OPC_EmitInteger64, 2,
61285 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
61286 MVT::f64, 1, 0,
61287 OPC_EmitStringInteger32, PPC::sub_64,
61288 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61289 MVT::v4i32, 3, 1, 2, 3,
61290 OPC_EmitInteger32, 2,
61291 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
61292 MVT::v4i32, 2, 4, 5,
61293 86|128,1,
61294 OPC_RecordChild0,
61295 OPC_MoveParent,
61296 OPC_CheckTypeI32,
61297 OPC_MoveSibling2,
61298 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61299 OPC_MoveChild0,
61300 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61301 OPC_RecordChild0,
61302 OPC_CheckType, MVT::f64,
61303 OPC_MoveParent,
61304 OPC_CheckTypeI32,
61305 OPC_MoveSibling3,
61306 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61307 OPC_MoveChild0,
61308 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIWUZ),
61309 OPC_RecordChild0,
61310 OPC_CheckType, MVT::f64,
61311 OPC_MoveParent,
61312 OPC_CheckTypeI32,
61313 OPC_MoveParent,
61314 OPC_CheckType, MVT::v4i32,
61315 OPC_Scope, 89,
61316 OPC_CheckPatternPredicate, 17,
61317 OPC_EmitInteger64, 2,
61318 OPC_EmitStringInteger32, PPC::sub_64,
61319 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61320 MVT::v4i32, 3, 4, 0, 5,
61321 OPC_EmitInteger64, 2,
61322 OPC_EmitStringInteger32, PPC::sub_64,
61323 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61324 MVT::v4i32, 3, 7, 2, 8,
61325 OPC_EmitInteger32, 0,
61326 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61327 MVT::v2f64, 3, 6, 9, 10,
61328 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61329 MVT::v4i32, 1, 11,
61330 OPC_EmitInteger64, 2,
61331 OPC_EmitStringInteger32, PPC::sub_64,
61332 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61333 MVT::v4i32, 3, 13, 1, 14,
61334 OPC_EmitInteger64, 2,
61335 OPC_EmitStringInteger32, PPC::sub_64,
61336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61337 MVT::v4i32, 3, 16, 3, 17,
61338 OPC_EmitInteger32, 0,
61339 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61340 MVT::v2f64, 3, 15, 18, 19,
61341 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61342 MVT::v4i32, 1, 20,
61343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61344 MVT::v4i32, 2, 12, 21,
61345 89,
61346 OPC_CheckPatternPredicate, 13,
61347 OPC_EmitInteger64, 2,
61348 OPC_EmitStringInteger32, PPC::sub_64,
61349 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61350 MVT::v4i32, 3, 4, 3, 5,
61351 OPC_EmitInteger64, 2,
61352 OPC_EmitStringInteger32, PPC::sub_64,
61353 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61354 MVT::v4i32, 3, 7, 1, 8,
61355 OPC_EmitInteger32, 0,
61356 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61357 MVT::v2f64, 3, 6, 9, 10,
61358 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61359 MVT::v4i32, 1, 11,
61360 OPC_EmitInteger64, 2,
61361 OPC_EmitStringInteger32, PPC::sub_64,
61362 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61363 MVT::v4i32, 3, 13, 2, 14,
61364 OPC_EmitInteger64, 2,
61365 OPC_EmitStringInteger32, PPC::sub_64,
61366 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61367 MVT::v4i32, 3, 16, 0, 17,
61368 OPC_EmitInteger32, 0,
61369 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
61370 MVT::v2f64, 3, 15, 18, 19,
61371 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPUXWS),
61372 MVT::v4i32, 1, 20,
61373 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
61374 MVT::v4i32, 2, 12, 21,
61375 0,
61376 0,
61377 0,
61378 57, TARGET_VAL(PPCISD::FCTIDZ),
61379 OPC_MoveChild0,
61380 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
61381 OPC_RecordChild0,
61382 OPC_MoveParent,
61383 OPC_CheckType, MVT::f64,
61384 OPC_MoveParent,
61385 OPC_CheckTypeI64,
61386 OPC_MoveSibling1,
61387 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61388 OPC_MoveChild0,
61389 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDZ),
61390 OPC_MoveChild0,
61391 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
61392 OPC_CheckChild0Same, 0,
61393 OPC_MoveParent,
61394 OPC_CheckType, MVT::f64,
61395 OPC_MoveParent,
61396 OPC_CheckTypeI64,
61397 OPC_MoveParent,
61398 OPC_CheckType, MVT::v2i64,
61399 OPC_CheckPatternPredicate2,
61400 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDSs),
61401 MVT::f32, 1, 0,
61402 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
61403 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
61404 MVT::f64, 2, 1, 2,
61405 OPC_EmitInteger32, 0,
61406 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDIs),
61407 MVT::v2i64, 2, 3, 4,
61408 57, TARGET_VAL(PPCISD::FCTIDUZ),
61409 OPC_MoveChild0,
61410 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
61411 OPC_RecordChild0,
61412 OPC_MoveParent,
61413 OPC_CheckType, MVT::f64,
61414 OPC_MoveParent,
61415 OPC_CheckTypeI64,
61416 OPC_MoveSibling1,
61417 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61418 OPC_MoveChild0,
61419 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDUZ),
61420 OPC_MoveChild0,
61421 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
61422 OPC_CheckChild0Same, 0,
61423 OPC_MoveParent,
61424 OPC_CheckType, MVT::f64,
61425 OPC_MoveParent,
61426 OPC_CheckTypeI64,
61427 OPC_MoveParent,
61428 OPC_CheckType, MVT::v2i64,
61429 OPC_CheckPatternPredicate2,
61430 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDSs),
61431 MVT::f32, 1, 0,
61432 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
61433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
61434 MVT::f64, 2, 1, 2,
61435 OPC_EmitInteger32, 0,
61436 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDIs),
61437 MVT::v2i64, 2, 3, 4,
61438 0,
61439 112|128,3, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61440 OPC_MoveChild0,
61441 OPC_SwitchOpcode , 39|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61442 OPC_RecordChild0,
61443 OPC_Scope, 16|128,1,
61444 OPC_CheckChild0Type, MVT::v8i16,
61445 OPC_Scope, 69,
61446 OPC_CheckChild1Integer, 2,
61447 OPC_MoveSibling1,
61448 OPC_CheckValueType, MVT::i16,
61449 OPC_MoveParent,
61450 OPC_CheckTypeI32,
61451 OPC_MoveSibling1,
61452 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61453 OPC_MoveChild0,
61454 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61455 OPC_CheckChild0Same, 0,
61456 OPC_CheckChild1Integer, 6,
61457 OPC_MoveSibling1,
61458 OPC_CheckValueType, MVT::i16,
61459 OPC_MoveParent,
61460 OPC_CheckTypeI32,
61461 OPC_MoveSibling2,
61462 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61463 OPC_MoveChild0,
61464 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61465 OPC_CheckChild0Same, 0,
61466 OPC_CheckChild1Integer, 10,
61467 OPC_MoveSibling1,
61468 OPC_CheckValueType, MVT::i16,
61469 OPC_MoveParent,
61470 OPC_CheckTypeI32,
61471 OPC_MoveSibling3,
61472 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61473 OPC_MoveChild0,
61474 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61475 OPC_CheckChild0Same, 0,
61476 OPC_CheckChild1Integer, 14,
61477 OPC_MoveSibling1,
61478 OPC_CheckValueType, MVT::i16,
61479 OPC_MoveParent,
61480 OPC_CheckTypeI32,
61481 OPC_MoveParent,
61482 OPC_CheckType, MVT::v4i32,
61483 OPC_CheckPatternPredicate, 15,
61484 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
61485 MVT::v4i32, 1, 0,
61486 69,
61487 OPC_CheckChild1Integer, 0,
61488 OPC_MoveSibling1,
61489 OPC_CheckValueType, MVT::i16,
61490 OPC_MoveParent,
61491 OPC_CheckTypeI32,
61492 OPC_MoveSibling1,
61493 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61494 OPC_MoveChild0,
61495 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61496 OPC_CheckChild0Same, 0,
61497 OPC_CheckChild1Integer, 4,
61498 OPC_MoveSibling1,
61499 OPC_CheckValueType, MVT::i16,
61500 OPC_MoveParent,
61501 OPC_CheckTypeI32,
61502 OPC_MoveSibling2,
61503 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61504 OPC_MoveChild0,
61505 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61506 OPC_CheckChild0Same, 0,
61507 OPC_CheckChild1Integer, 8,
61508 OPC_MoveSibling1,
61509 OPC_CheckValueType, MVT::i16,
61510 OPC_MoveParent,
61511 OPC_CheckTypeI32,
61512 OPC_MoveSibling3,
61513 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61514 OPC_MoveChild0,
61515 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61516 OPC_CheckChild0Same, 0,
61517 OPC_CheckChild1Integer, 12,
61518 OPC_MoveSibling1,
61519 OPC_CheckValueType, MVT::i16,
61520 OPC_MoveParent,
61521 OPC_CheckTypeI32,
61522 OPC_MoveParent,
61523 OPC_CheckType, MVT::v4i32,
61524 OPC_CheckPatternPredicate, 16,
61525 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2W),
61526 MVT::v4i32, 1, 0,
61527 0,
61528 16|128,1,
61529 OPC_CheckChild0Type, MVT::v16i8,
61530 OPC_Scope, 69,
61531 OPC_CheckChild1Integer, 6,
61532 OPC_MoveSibling1,
61533 OPC_CheckValueType, MVT::i8,
61534 OPC_MoveParent,
61535 OPC_CheckTypeI32,
61536 OPC_MoveSibling1,
61537 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61538 OPC_MoveChild0,
61539 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61540 OPC_CheckChild0Same, 0,
61541 OPC_CheckChild1Integer, 14,
61542 OPC_MoveSibling1,
61543 OPC_CheckValueType, MVT::i8,
61544 OPC_MoveParent,
61545 OPC_CheckTypeI32,
61546 OPC_MoveSibling2,
61547 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61548 OPC_MoveChild0,
61549 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61550 OPC_CheckChild0Same, 0,
61551 OPC_CheckChild1Integer, 22,
61552 OPC_MoveSibling1,
61553 OPC_CheckValueType, MVT::i8,
61554 OPC_MoveParent,
61555 OPC_CheckTypeI32,
61556 OPC_MoveSibling3,
61557 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61558 OPC_MoveChild0,
61559 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61560 OPC_CheckChild0Same, 0,
61561 OPC_CheckChild1Integer, 30,
61562 OPC_MoveSibling1,
61563 OPC_CheckValueType, MVT::i8,
61564 OPC_MoveParent,
61565 OPC_CheckTypeI32,
61566 OPC_MoveParent,
61567 OPC_CheckType, MVT::v4i32,
61568 OPC_CheckPatternPredicate, 15,
61569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
61570 MVT::v4i32, 1, 0,
61571 69,
61572 OPC_CheckChild1Integer, 0,
61573 OPC_MoveSibling1,
61574 OPC_CheckValueType, MVT::i8,
61575 OPC_MoveParent,
61576 OPC_CheckTypeI32,
61577 OPC_MoveSibling1,
61578 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61579 OPC_MoveChild0,
61580 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61581 OPC_CheckChild0Same, 0,
61582 OPC_CheckChild1Integer, 8,
61583 OPC_MoveSibling1,
61584 OPC_CheckValueType, MVT::i8,
61585 OPC_MoveParent,
61586 OPC_CheckTypeI32,
61587 OPC_MoveSibling2,
61588 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61589 OPC_MoveChild0,
61590 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61591 OPC_CheckChild0Same, 0,
61592 OPC_CheckChild1Integer, 16,
61593 OPC_MoveSibling1,
61594 OPC_CheckValueType, MVT::i8,
61595 OPC_MoveParent,
61596 OPC_CheckTypeI32,
61597 OPC_MoveSibling3,
61598 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61599 OPC_MoveChild0,
61600 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61601 OPC_CheckChild0Same, 0,
61602 OPC_CheckChild1Integer, 24,
61603 OPC_MoveSibling1,
61604 OPC_CheckValueType, MVT::i8,
61605 OPC_MoveParent,
61606 OPC_CheckTypeI32,
61607 OPC_MoveParent,
61608 OPC_CheckType, MVT::v4i32,
61609 OPC_CheckPatternPredicate, 16,
61610 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2W),
61611 MVT::v4i32, 1, 0,
61612 0,
61613 0,
61614 62|128,1, TARGET_VAL(ISD::ANY_EXTEND),
61615 OPC_MoveChild0,
61616 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61617 OPC_RecordChild0,
61618 OPC_CheckTypeI32,
61619 OPC_Scope, 90,
61620 OPC_CheckChild0Type, MVT::v8i16,
61621 OPC_Scope, 42,
61622 OPC_CheckChild1Integer, 6,
61623 OPC_MoveParent,
61624 OPC_MoveSibling1,
61625 OPC_CheckValueType, MVT::i16,
61626 OPC_MoveParent,
61627 OPC_CheckTypeI64,
61628 OPC_MoveSibling1,
61629 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61630 OPC_MoveChild0,
61631 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
61632 OPC_MoveChild0,
61633 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61634 OPC_CheckChild0Same, 0,
61635 OPC_CheckChild1Integer, 14,
61636 OPC_CheckTypeI32,
61637 OPC_MoveParent,
61638 OPC_MoveSibling1,
61639 OPC_CheckValueType, MVT::i16,
61640 OPC_MoveParent,
61641 OPC_CheckTypeI64,
61642 OPC_MoveParent,
61643 OPC_CheckType, MVT::v2i64,
61644 OPC_CheckPatternPredicate, 15,
61645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
61646 MVT::v2i64, 1, 0,
61647 42,
61648 OPC_CheckChild1Integer, 0,
61649 OPC_MoveParent,
61650 OPC_MoveSibling1,
61651 OPC_CheckValueType, MVT::i16,
61652 OPC_MoveParent,
61653 OPC_CheckTypeI64,
61654 OPC_MoveSibling1,
61655 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61656 OPC_MoveChild0,
61657 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
61658 OPC_MoveChild0,
61659 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61660 OPC_CheckChild0Same, 0,
61661 OPC_CheckChild1Integer, 8,
61662 OPC_CheckTypeI32,
61663 OPC_MoveParent,
61664 OPC_MoveSibling1,
61665 OPC_CheckValueType, MVT::i16,
61666 OPC_MoveParent,
61667 OPC_CheckTypeI64,
61668 OPC_MoveParent,
61669 OPC_CheckType, MVT::v2i64,
61670 OPC_CheckPatternPredicate, 16,
61671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSH2D),
61672 MVT::v2i64, 1, 0,
61673 0,
61674 90,
61675 OPC_CheckChild0Type, MVT::v16i8,
61676 OPC_Scope, 42,
61677 OPC_CheckChild1Integer, 14,
61678 OPC_MoveParent,
61679 OPC_MoveSibling1,
61680 OPC_CheckValueType, MVT::i8,
61681 OPC_MoveParent,
61682 OPC_CheckTypeI64,
61683 OPC_MoveSibling1,
61684 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61685 OPC_MoveChild0,
61686 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
61687 OPC_MoveChild0,
61688 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61689 OPC_CheckChild0Same, 0,
61690 OPC_CheckChild1Integer, 30,
61691 OPC_CheckTypeI32,
61692 OPC_MoveParent,
61693 OPC_MoveSibling1,
61694 OPC_CheckValueType, MVT::i8,
61695 OPC_MoveParent,
61696 OPC_CheckTypeI64,
61697 OPC_MoveParent,
61698 OPC_CheckType, MVT::v2i64,
61699 OPC_CheckPatternPredicate, 15,
61700 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
61701 MVT::v2i64, 1, 0,
61702 42,
61703 OPC_CheckChild1Integer, 0,
61704 OPC_MoveParent,
61705 OPC_MoveSibling1,
61706 OPC_CheckValueType, MVT::i8,
61707 OPC_MoveParent,
61708 OPC_CheckTypeI64,
61709 OPC_MoveSibling1,
61710 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
61711 OPC_MoveChild0,
61712 OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
61713 OPC_MoveChild0,
61714 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61715 OPC_CheckChild0Same, 0,
61716 OPC_CheckChild1Integer, 16,
61717 OPC_CheckTypeI32,
61718 OPC_MoveParent,
61719 OPC_MoveSibling1,
61720 OPC_CheckValueType, MVT::i8,
61721 OPC_MoveParent,
61722 OPC_CheckTypeI64,
61723 OPC_MoveParent,
61724 OPC_CheckType, MVT::v2i64,
61725 OPC_CheckPatternPredicate, 16,
61726 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSB2D),
61727 MVT::v2i64, 1, 0,
61728 0,
61729 0,
61730 0,
61731 72, TARGET_VAL(ISD::SIGN_EXTEND),
61732 OPC_MoveChild0,
61733 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61734 OPC_RecordChild0,
61735 OPC_CheckChild0Type, MVT::v4i32,
61736 OPC_CheckTypeI32,
61737 OPC_Scope, 30,
61738 OPC_CheckChild1Integer, 2,
61739 OPC_MoveParent,
61740 OPC_CheckTypeI64,
61741 OPC_MoveSibling1,
61742 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
61743 OPC_MoveChild0,
61744 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61745 OPC_CheckChild0Same, 0,
61746 OPC_CheckChild1Integer, 6,
61747 OPC_CheckTypeI32,
61748 OPC_MoveParent,
61749 OPC_CheckTypeI64,
61750 OPC_MoveParent,
61751 OPC_CheckType, MVT::v2i64,
61752 OPC_CheckPatternPredicate, 15,
61753 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
61754 MVT::v2i64, 1, 0,
61755 30,
61756 OPC_CheckChild1Integer, 0,
61757 OPC_MoveParent,
61758 OPC_CheckTypeI64,
61759 OPC_MoveSibling1,
61760 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
61761 OPC_MoveChild0,
61762 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
61763 OPC_CheckChild0Same, 0,
61764 OPC_CheckChild1Integer, 4,
61765 OPC_CheckTypeI32,
61766 OPC_MoveParent,
61767 OPC_CheckTypeI64,
61768 OPC_MoveParent,
61769 OPC_CheckType, MVT::v2i64,
61770 OPC_CheckPatternPredicate, 16,
61771 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VEXTSW2D),
61772 MVT::v2i64, 1, 0,
61773 0,
61774 0,
61775 49,
61776 OPC_RecordChild0,
61777 OPC_MoveChild0,
61778 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
61779 OPC_CheckTypeI32,
61780 OPC_Scope, 20,
61781 OPC_CheckPredicate, 45,
61782 OPC_MoveParent,
61783 OPC_CheckChild1Same, 0,
61784 OPC_CheckChild2Same, 0,
61785 OPC_CheckChild3Same, 0,
61786 OPC_CheckType, MVT::v4i32,
61787 OPC_CheckPatternPredicate, 30,
61788 OPC_EmitConvertToTarget0,
61789 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISW),
61790 MVT::v4i32, 1, 1,
61791 19,
61792 OPC_CheckPredicate, 46,
61793 OPC_MoveParent,
61794 OPC_CheckChild1Same, 0,
61795 OPC_CheckChild2Same, 0,
61796 OPC_CheckChild3Same, 0,
61797 OPC_CheckType, MVT::v4i32,
61798 OPC_CheckPatternPredicate1,
61799 OPC_EmitConvertToTarget0,
61800 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTIW),
61801 MVT::v4i32, 1, 1,
61802 0,
61803 23|128,1,
61804 OPC_MoveChild0,
61805 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61806 OPC_MoveChild0,
61807 OPC_SwitchOpcode , 69, TARGET_VAL(PPCISD::FCTIDZ),
61808 OPC_RecordChild0,
61809 OPC_CheckType, MVT::f64,
61810 OPC_MoveParent,
61811 OPC_CheckTypeI64,
61812 OPC_MoveSibling1,
61813 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61814 OPC_MoveChild0,
61815 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDZ),
61816 OPC_CheckChild0Same, 0,
61817 OPC_CheckType, MVT::f64,
61818 OPC_MoveParent,
61819 OPC_CheckTypeI64,
61820 OPC_MoveParent,
61821 OPC_CheckType, MVT::v2i64,
61822 OPC_CheckPatternPredicate2,
61823 OPC_EmitInteger64, 2,
61824 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDS),
61825 MVT::f64, 1, 0,
61826 OPC_EmitStringInteger32, PPC::sub_64,
61827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61828 MVT::v4i32, 3, 1, 2, 3,
61829 OPC_EmitInteger64, 2,
61830 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXDS),
61831 MVT::f64, 1, 0,
61832 OPC_EmitStringInteger32, PPC::sub_64,
61833 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61834 MVT::v4i32, 3, 5, 6, 7,
61835 OPC_EmitInteger32, 0,
61836 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
61837 MVT::v2i64, 3, 4, 8, 9,
61838 69, TARGET_VAL(PPCISD::FCTIDUZ),
61839 OPC_RecordChild0,
61840 OPC_CheckType, MVT::f64,
61841 OPC_MoveParent,
61842 OPC_CheckTypeI64,
61843 OPC_MoveSibling1,
61844 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
61845 OPC_MoveChild0,
61846 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCTIDUZ),
61847 OPC_CheckChild0Same, 0,
61848 OPC_CheckType, MVT::f64,
61849 OPC_MoveParent,
61850 OPC_CheckTypeI64,
61851 OPC_MoveParent,
61852 OPC_CheckType, MVT::v2i64,
61853 OPC_CheckPatternPredicate2,
61854 OPC_EmitInteger64, 2,
61855 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDS),
61856 MVT::f64, 1, 0,
61857 OPC_EmitStringInteger32, PPC::sub_64,
61858 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61859 MVT::v4i32, 3, 1, 2, 3,
61860 OPC_EmitInteger64, 2,
61861 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXDS),
61862 MVT::f64, 1, 0,
61863 OPC_EmitStringInteger32, PPC::sub_64,
61864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61865 MVT::v4i32, 3, 5, 6, 7,
61866 OPC_EmitInteger32, 0,
61867 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
61868 MVT::v2i64, 3, 4, 8, 9,
61869 0,
61870 19,
61871 OPC_CheckImmAllZerosV,
61872 OPC_SwitchType , 6, MVT::v4i32,
61873 OPC_CheckPatternPredicate2,
61874 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORz),
61875 MVT::v4i32, 0,
61876 6, MVT::v2i64,
61877 OPC_CheckPatternPredicate2,
61878 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXLXORz),
61879 MVT::v2i64, 0,
61880 0,
61881 46,
61882 OPC_RecordChild0,
61883 OPC_SwitchType , 14, MVT::v4i32,
61884 OPC_CheckChild0TypeI32,
61885 OPC_CheckChild1Same, 0,
61886 OPC_CheckChild2Same, 0,
61887 OPC_CheckChild3Same, 0,
61888 OPC_CheckPatternPredicate7,
61889 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWS),
61890 MVT::v4i32, 1, 0,
61891 25, MVT::v2i64,
61892 OPC_CheckChild0TypeI64,
61893 OPC_RecordChild1,
61894 OPC_CheckChild1TypeI64,
61895 OPC_Scope, 9,
61896 OPC_CheckPatternPredicate, 56,
61897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
61898 MVT::v2i64, 2, 0, 1,
61899 9,
61900 OPC_CheckPatternPredicate, 57,
61901 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
61902 MVT::v2i64, 2, 1, 0,
61903 0,
61904 0,
61905 19,
61906 OPC_CheckImmAllOnesV,
61907 OPC_CheckType, MVT::v16i8,
61908 OPC_CheckPatternPredicate, 11,
61909 OPC_EmitNode1None, TARGET_VAL(PPC::XXLEQVOnes),
61910 MVT::v4i32, 0,
61911 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
61912 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
61913 MVT::v16i8, 2, 0, 1,
61914 17|128,5,
61915 OPC_RecordChild0,
61916 OPC_SwitchType , 34|128,4, MVT::v4i32,
61917 OPC_CheckChild0TypeI32,
61918 OPC_Scope, 68,
61919 OPC_CheckChild1Same, 0,
61920 OPC_CheckChild2Same, 0,
61921 OPC_CheckChild3Same, 0,
61922 OPC_Scope, 29,
61923 OPC_CheckPatternPredicate, 62,
61924 OPC_EmitInteger64, 2,
61925 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
61926 MVT::f64, 1, 0,
61927 OPC_EmitStringInteger32, PPC::sub_64,
61928 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61929 MVT::v4i32, 3, 1, 2, 3,
61930 OPC_EmitInteger32, 2,
61931 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
61932 MVT::v4i32, 2, 4, 5,
61933 29,
61934 OPC_CheckPatternPredicate, 63,
61935 OPC_EmitInteger64, 2,
61936 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
61937 MVT::f64, 1, 0,
61938 OPC_EmitStringInteger32, PPC::sub_64,
61939 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
61940 MVT::v4i32, 3, 1, 2, 3,
61941 OPC_EmitInteger32, 2,
61942 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
61943 MVT::v4i32, 2, 4, 5,
61944 0,
61945 88|128,3,
61946 OPC_RecordChild1,
61947 OPC_CheckChild1TypeI32,
61948 OPC_RecordChild2,
61949 OPC_CheckChild2TypeI32,
61950 OPC_RecordChild3,
61951 OPC_CheckChild3TypeI32,
61952 OPC_Scope, 95,
61953 OPC_CheckPatternPredicate, 56,
61954 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61955 MVT::i64, 0,
61956 OPC_EmitStringInteger32, PPC::sub_32,
61957 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61958 MVT::i64, 3, 4, 1, 5,
61959 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61960 MVT::i64, 0,
61961 OPC_EmitStringInteger32, PPC::sub_32,
61962 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61963 MVT::i64, 3, 7, 0, 8,
61964 OPC_EmitInteger32, 64,
61965 OPC_EmitInteger32, 0,
61966 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
61967 MVT::i64, 4, 6, 9, 10, 11,
61968 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61969 MVT::i64, 0,
61970 OPC_EmitStringInteger32, PPC::sub_32,
61971 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61972 MVT::i64, 3, 13, 3, 14,
61973 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61974 MVT::i64, 0,
61975 OPC_EmitStringInteger32, PPC::sub_32,
61976 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61977 MVT::i64, 3, 16, 2, 17,
61978 OPC_EmitInteger32, 64,
61979 OPC_EmitInteger32, 0,
61980 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
61981 MVT::i64, 4, 15, 18, 19, 20,
61982 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
61983 MVT::v4i32, 2, 12, 21,
61984 95,
61985 OPC_CheckPatternPredicate, 57,
61986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61987 MVT::i64, 0,
61988 OPC_EmitStringInteger32, PPC::sub_32,
61989 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61990 MVT::i64, 3, 4, 2, 5,
61991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
61992 MVT::i64, 0,
61993 OPC_EmitStringInteger32, PPC::sub_32,
61994 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
61995 MVT::i64, 3, 7, 3, 8,
61996 OPC_EmitInteger32, 64,
61997 OPC_EmitInteger32, 0,
61998 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
61999 MVT::i64, 4, 6, 9, 10, 11,
62000 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62001 MVT::i64, 0,
62002 OPC_EmitStringInteger32, PPC::sub_32,
62003 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62004 MVT::i64, 3, 13, 0, 14,
62005 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62006 MVT::i64, 0,
62007 OPC_EmitStringInteger32, PPC::sub_32,
62008 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62009 MVT::i64, 3, 16, 1, 17,
62010 OPC_EmitInteger32, 64,
62011 OPC_EmitInteger32, 0,
62012 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
62013 MVT::i64, 4, 15, 18, 19, 20,
62014 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRDD),
62015 MVT::v4i32, 2, 12, 21,
62016 6|128,1,
62017 OPC_CheckPatternPredicate, 62,
62018 OPC_EmitInteger64, 2,
62019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62020 MVT::i64, 0,
62021 OPC_EmitStringInteger32, PPC::sub_32,
62022 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62023 MVT::i64, 3, 5, 1, 6,
62024 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62025 MVT::i64, 0,
62026 OPC_EmitStringInteger32, PPC::sub_32,
62027 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62028 MVT::i64, 3, 8, 0, 9,
62029 OPC_EmitInteger32, 64,
62030 OPC_EmitInteger32, 0,
62031 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
62032 MVT::i64, 4, 7, 10, 11, 12,
62033 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62034 MVT::f64, 1, 13,
62035 OPC_EmitStringInteger32, PPC::sub_64,
62036 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62037 MVT::v4i32, 3, 4, 14, 15,
62038 OPC_EmitInteger64, 2,
62039 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62040 MVT::i64, 0,
62041 OPC_EmitStringInteger32, PPC::sub_32,
62042 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62043 MVT::i64, 3, 18, 3, 19,
62044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62045 MVT::i64, 0,
62046 OPC_EmitStringInteger32, PPC::sub_32,
62047 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62048 MVT::i64, 3, 21, 2, 22,
62049 OPC_EmitInteger32, 64,
62050 OPC_EmitInteger32, 0,
62051 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
62052 MVT::i64, 4, 20, 23, 24, 25,
62053 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62054 MVT::f64, 1, 26,
62055 OPC_EmitStringInteger32, PPC::sub_64,
62056 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62057 MVT::v4i32, 3, 17, 27, 28,
62058 OPC_EmitInteger32, 0,
62059 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
62060 MVT::v4i32, 3, 16, 29, 30,
62061 6|128,1,
62062 OPC_CheckPatternPredicate, 63,
62063 OPC_EmitInteger64, 2,
62064 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62065 MVT::i64, 0,
62066 OPC_EmitStringInteger32, PPC::sub_32,
62067 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62068 MVT::i64, 3, 5, 2, 6,
62069 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62070 MVT::i64, 0,
62071 OPC_EmitStringInteger32, PPC::sub_32,
62072 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62073 MVT::i64, 3, 8, 3, 9,
62074 OPC_EmitInteger32, 64,
62075 OPC_EmitInteger32, 0,
62076 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
62077 MVT::i64, 4, 7, 10, 11, 12,
62078 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62079 MVT::f64, 1, 13,
62080 OPC_EmitStringInteger32, PPC::sub_64,
62081 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62082 MVT::v4i32, 3, 4, 14, 15,
62083 OPC_EmitInteger64, 2,
62084 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62085 MVT::i64, 0,
62086 OPC_EmitStringInteger32, PPC::sub_32,
62087 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62088 MVT::i64, 3, 18, 0, 19,
62089 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
62090 MVT::i64, 0,
62091 OPC_EmitStringInteger32, PPC::sub_32,
62092 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
62093 MVT::i64, 3, 21, 1, 22,
62094 OPC_EmitInteger32, 64,
62095 OPC_EmitInteger32, 0,
62096 OPC_EmitNode1None, TARGET_VAL(PPC::RLDIMI),
62097 MVT::i64, 4, 20, 23, 24, 25,
62098 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62099 MVT::f64, 1, 26,
62100 OPC_EmitStringInteger32, PPC::sub_64,
62101 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62102 MVT::v4i32, 3, 17, 27, 28,
62103 OPC_EmitInteger32, 0,
62104 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
62105 MVT::v4i32, 3, 16, 29, 30,
62106 0,
62107 0,
62108 103, MVT::v2i64,
62109 OPC_CheckChild0TypeI64,
62110 OPC_RecordChild1,
62111 OPC_CheckChild1TypeI64,
62112 OPC_Scope, 48,
62113 OPC_CheckPatternPredicate, 62,
62114 OPC_EmitInteger64, 2,
62115 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62116 MVT::f64, 1, 0,
62117 OPC_EmitStringInteger32, PPC::sub_64,
62118 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62119 MVT::v4i32, 3, 2, 3, 4,
62120 OPC_EmitInteger64, 2,
62121 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62122 MVT::f64, 1, 1,
62123 OPC_EmitStringInteger32, PPC::sub_64,
62124 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62125 MVT::v4i32, 3, 6, 7, 8,
62126 OPC_EmitInteger32, 0,
62127 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
62128 MVT::v2i64, 3, 5, 9, 10,
62129 48,
62130 OPC_CheckPatternPredicate, 63,
62131 OPC_EmitInteger64, 2,
62132 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62133 MVT::f64, 1, 1,
62134 OPC_EmitStringInteger32, PPC::sub_64,
62135 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62136 MVT::v4i32, 3, 2, 3, 4,
62137 OPC_EmitInteger64, 2,
62138 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
62139 MVT::f64, 1, 0,
62140 OPC_EmitStringInteger32, PPC::sub_64,
62141 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62142 MVT::v4i32, 3, 6, 7, 8,
62143 OPC_EmitInteger32, 0,
62144 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
62145 MVT::v2i64, 3, 5, 9, 10,
62146 0,
62147 0,
62148 45,
62149 OPC_RecordNode,
62150 OPC_SwitchType , 12, MVT::v16i8,
62151 OPC_CheckPredicate, 47,
62152 OPC_CheckPatternPredicate3,
62153 OPC_EmitNodeXForm, 15, 0,
62154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISB),
62155 MVT::v16i8, 1, 1,
62156 12, MVT::v8i16,
62157 OPC_CheckPredicate, 48,
62158 OPC_CheckPatternPredicate3,
62159 OPC_EmitNodeXForm, 16, 0,
62160 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISH),
62161 MVT::v8i16, 1, 1,
62162 12, MVT::v4i32,
62163 OPC_CheckPredicate, 49,
62164 OPC_CheckPatternPredicate3,
62165 OPC_EmitNodeXForm, 17, 0,
62166 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTISW),
62167 MVT::v4i32, 1, 1,
62168 0,
62169 36,
62170 OPC_CheckImmAllZerosV,
62171 OPC_SwitchType , 6, MVT::v16i8,
62172 OPC_CheckPatternPredicate3,
62173 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0B),
62174 MVT::v16i8, 0,
62175 6, MVT::v8i16,
62176 OPC_CheckPatternPredicate3,
62177 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0H),
62178 MVT::v8i16, 0,
62179 6, MVT::v4i32,
62180 OPC_CheckPatternPredicate3,
62181 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SET0),
62182 MVT::v4i32, 0,
62183 7, MVT::v512i1,
62184 OPC_CheckPatternPredicate, 23,
62185 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSETACCZW),
62186 MVT::v512i1, 0,
62187 0,
62188 27,
62189 OPC_CheckImmAllOnesV,
62190 OPC_SwitchType , 6, MVT::v16i8,
62191 OPC_CheckPatternPredicate3,
62192 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONESB),
62193 MVT::v16i8, 0,
62194 6, MVT::v8i16,
62195 OPC_CheckPatternPredicate3,
62196 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONESH),
62197 MVT::v8i16, 0,
62198 6, MVT::v4i32,
62199 OPC_CheckPatternPredicate3,
62200 OPC_MorphNodeTo1None, TARGET_VAL(PPC::V_SETALLONES),
62201 MVT::v4i32, 0,
62202 0,
62203 5|128,28,
62204 OPC_MoveChild0,
62205 OPC_SwitchOpcode , 75|128,1, TARGET_VAL(PPCISD::FCFIDUS),
62206 OPC_MoveChild0,
62207 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62208 OPC_MoveChild0,
62209 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62210 OPC_RecordChild0,
62211 OPC_CheckChild0Type, MVT::v2i64,
62212 OPC_CheckChild1Integer, 0,
62213 OPC_CheckTypeI64,
62214 OPC_MoveParent,
62215 OPC_CheckType, MVT::f64,
62216 OPC_MoveParent,
62217 OPC_CheckType, MVT::f32,
62218 OPC_MoveSibling1,
62219 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
62220 OPC_MoveChild0,
62221 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62222 OPC_MoveChild0,
62223 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62224 OPC_CheckChild0Same, 0,
62225 OPC_CheckChild1Integer, 2,
62226 OPC_CheckTypeI64,
62227 OPC_MoveParent,
62228 OPC_CheckType, MVT::f64,
62229 OPC_MoveParent,
62230 OPC_CheckType, MVT::f32,
62231 OPC_MoveSibling2,
62232 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
62233 OPC_MoveChild0,
62234 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62235 OPC_MoveChild0,
62236 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62237 OPC_RecordChild0,
62238 OPC_CheckChild0Type, MVT::v2i64,
62239 OPC_CheckChild1Integer, 0,
62240 OPC_CheckTypeI64,
62241 OPC_MoveParent,
62242 OPC_CheckType, MVT::f64,
62243 OPC_MoveParent,
62244 OPC_CheckType, MVT::f32,
62245 OPC_MoveSibling3,
62246 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDUS),
62247 OPC_MoveChild0,
62248 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62249 OPC_MoveChild0,
62250 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62251 OPC_CheckChild0Same, 1,
62252 OPC_CheckChild1Integer, 2,
62253 OPC_CheckTypeI64,
62254 OPC_MoveParent,
62255 OPC_CheckType, MVT::f64,
62256 OPC_MoveParent,
62257 OPC_CheckType, MVT::f32,
62258 OPC_MoveParent,
62259 OPC_CheckType, MVT::v4f32,
62260 OPC_Scope, 53,
62261 OPC_CheckPatternPredicate, 32,
62262 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62263 MVT::v4i32, 1, 0,
62264 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62265 MVT::v4i32, 1, 0,
62266 OPC_EmitInteger32, 6,
62267 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62268 MVT::v4i32, 3, 2, 3, 4,
62269 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62270 MVT::v4i32, 1, 1,
62271 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62272 MVT::v4i32, 1, 1,
62273 OPC_EmitInteger32, 6,
62274 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62275 MVT::v4i32, 3, 6, 7, 8,
62276 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
62277 MVT::v4f32, 2, 5, 9,
62278 53,
62279 OPC_CheckPatternPredicate, 21,
62280 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62281 MVT::v4i32, 1, 1,
62282 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62283 MVT::v4i32, 1, 1,
62284 OPC_EmitInteger32, 6,
62285 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62286 MVT::v4i32, 3, 2, 3, 4,
62287 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62288 MVT::v4i32, 1, 0,
62289 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVUXDSP),
62290 MVT::v4i32, 1, 0,
62291 OPC_EmitInteger32, 6,
62292 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62293 MVT::v4i32, 3, 6, 7, 8,
62294 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
62295 MVT::v4f32, 2, 5, 9,
62296 0,
62297 75|128,1, TARGET_VAL(PPCISD::FCFIDS),
62298 OPC_MoveChild0,
62299 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62300 OPC_MoveChild0,
62301 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62302 OPC_RecordChild0,
62303 OPC_CheckChild0Type, MVT::v2i64,
62304 OPC_CheckChild1Integer, 0,
62305 OPC_CheckTypeI64,
62306 OPC_MoveParent,
62307 OPC_CheckType, MVT::f64,
62308 OPC_MoveParent,
62309 OPC_CheckType, MVT::f32,
62310 OPC_MoveSibling1,
62311 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
62312 OPC_MoveChild0,
62313 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62314 OPC_MoveChild0,
62315 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62316 OPC_CheckChild0Same, 0,
62317 OPC_CheckChild1Integer, 2,
62318 OPC_CheckTypeI64,
62319 OPC_MoveParent,
62320 OPC_CheckType, MVT::f64,
62321 OPC_MoveParent,
62322 OPC_CheckType, MVT::f32,
62323 OPC_MoveSibling2,
62324 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
62325 OPC_MoveChild0,
62326 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62327 OPC_MoveChild0,
62328 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62329 OPC_RecordChild0,
62330 OPC_CheckChild0Type, MVT::v2i64,
62331 OPC_CheckChild1Integer, 0,
62332 OPC_CheckTypeI64,
62333 OPC_MoveParent,
62334 OPC_CheckType, MVT::f64,
62335 OPC_MoveParent,
62336 OPC_CheckType, MVT::f32,
62337 OPC_MoveSibling3,
62338 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDS),
62339 OPC_MoveChild0,
62340 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
62341 OPC_MoveChild0,
62342 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62343 OPC_CheckChild0Same, 1,
62344 OPC_CheckChild1Integer, 2,
62345 OPC_CheckTypeI64,
62346 OPC_MoveParent,
62347 OPC_CheckType, MVT::f64,
62348 OPC_MoveParent,
62349 OPC_CheckType, MVT::f32,
62350 OPC_MoveParent,
62351 OPC_CheckType, MVT::v4f32,
62352 OPC_Scope, 53,
62353 OPC_CheckPatternPredicate, 32,
62354 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62355 MVT::v4i32, 1, 0,
62356 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62357 MVT::v4i32, 1, 0,
62358 OPC_EmitInteger32, 6,
62359 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62360 MVT::v4i32, 3, 2, 3, 4,
62361 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62362 MVT::v4i32, 1, 1,
62363 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62364 MVT::v4i32, 1, 1,
62365 OPC_EmitInteger32, 6,
62366 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62367 MVT::v4i32, 3, 6, 7, 8,
62368 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
62369 MVT::v4f32, 2, 5, 9,
62370 53,
62371 OPC_CheckPatternPredicate, 21,
62372 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62373 MVT::v4i32, 1, 1,
62374 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62375 MVT::v4i32, 1, 1,
62376 OPC_EmitInteger32, 6,
62377 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62378 MVT::v4i32, 3, 2, 3, 4,
62379 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62380 MVT::v4i32, 1, 0,
62381 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSXDSP),
62382 MVT::v4i32, 1, 0,
62383 OPC_EmitInteger32, 6,
62384 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
62385 MVT::v4i32, 3, 6, 7, 8,
62386 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
62387 MVT::v4f32, 2, 5, 9,
62388 0,
62389 29|128,2, TARGET_VAL(ISD::LOAD),
62390 OPC_RecordMemRef,
62391 OPC_RecordNode,
62392 OPC_RecordChild1,
62393 OPC_CheckPredicate, 11,
62394 OPC_CheckPredicate5,
62395 OPC_CheckType, MVT::f32,
62396 OPC_MoveSibling1,
62397 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
62398 OPC_RecordMemRef,
62399 OPC_RecordNode,
62400 OPC_RecordChild1,
62401 OPC_CheckPredicate, 11,
62402 OPC_CheckPredicate5,
62403 OPC_CheckType, MVT::f32,
62404 OPC_MoveSibling2,
62405 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
62406 OPC_RecordMemRef,
62407 OPC_RecordNode,
62408 OPC_RecordChild1,
62409 OPC_CheckPredicate, 11,
62410 OPC_CheckPredicate5,
62411 OPC_CheckType, MVT::f32,
62412 OPC_MoveSibling3,
62413 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
62414 OPC_RecordMemRef,
62415 OPC_RecordNode,
62416 OPC_RecordChild1,
62417 OPC_CheckPredicate, 11,
62418 OPC_CheckPredicate5,
62419 OPC_CheckType, MVT::f32,
62420 OPC_MoveParent,
62421 OPC_CheckType, MVT::v4f32,
62422 OPC_Scope, 117,
62423 OPC_CheckPatternPredicate, 17,
62424 OPC_CheckComplexPat0, /*#*/1,
62425 OPC_CheckComplexPat0, /*#*/3,
62426 OPC_CheckComplexPat0, /*#*/5,
62427 OPC_CheckComplexPat0, /*#*/7,
62428 OPC_EmitMergeInputChains, 4, 0, 2, 4, 6,
62429 OPC_EmitInteger64, 2,
62430 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62431 MVT::f64, 2, 8, 9,
62432 OPC_EmitStringInteger32, PPC::sub_64,
62433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62434 MVT::v4i32, 3, 16, 17, 18,
62435 OPC_EmitInteger64, 2,
62436 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62437 MVT::f64, 2, 10, 11,
62438 OPC_EmitStringInteger32, PPC::sub_64,
62439 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62440 MVT::v4i32, 3, 20, 21, 22,
62441 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
62442 MVT::v4i32, 2, 19, 23,
62443 OPC_EmitInteger64, 2,
62444 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62445 MVT::f64, 2, 12, 13,
62446 OPC_EmitStringInteger32, PPC::sub_64,
62447 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62448 MVT::v4i32, 3, 25, 26, 27,
62449 OPC_EmitInteger64, 2,
62450 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62451 MVT::f64, 2, 14, 15,
62452 OPC_EmitStringInteger32, PPC::sub_64,
62453 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62454 MVT::v4i32, 3, 29, 30, 31,
62455 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
62456 MVT::v4i32, 2, 28, 32,
62457 OPC_EmitInteger32, 6,
62458 OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
62459 MVT::v4f32, 3, 24, 33, 34,
62460 117,
62461 OPC_CheckPatternPredicate, 13,
62462 OPC_CheckComplexPat0, /*#*/1,
62463 OPC_CheckComplexPat0, /*#*/3,
62464 OPC_CheckComplexPat0, /*#*/5,
62465 OPC_CheckComplexPat0, /*#*/7,
62466 OPC_EmitMergeInputChains, 4, 0, 2, 4, 6,
62467 OPC_EmitInteger64, 2,
62468 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62469 MVT::f64, 2, 14, 15,
62470 OPC_EmitStringInteger32, PPC::sub_64,
62471 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62472 MVT::v4i32, 3, 16, 17, 18,
62473 OPC_EmitInteger64, 2,
62474 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62475 MVT::f64, 2, 12, 13,
62476 OPC_EmitStringInteger32, PPC::sub_64,
62477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62478 MVT::v4i32, 3, 20, 21, 22,
62479 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
62480 MVT::v4i32, 2, 19, 23,
62481 OPC_EmitInteger64, 2,
62482 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62483 MVT::f64, 2, 10, 11,
62484 OPC_EmitStringInteger32, PPC::sub_64,
62485 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62486 MVT::v4i32, 3, 25, 26, 27,
62487 OPC_EmitInteger64, 2,
62488 OPC_EmitNode1Chain, TARGET_VAL(PPC::LIWZX),
62489 MVT::f64, 2, 8, 9,
62490 OPC_EmitStringInteger32, PPC::sub_64,
62491 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
62492 MVT::v4i32, 3, 29, 30, 31,
62493 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
62494 MVT::v4i32, 2, 28, 32,
62495 OPC_EmitInteger32, 6,
62496 OPC_MorphNodeTo1, TARGET_VAL(PPC::XXPERMDI), 0|OPFL_MemRefs,
62497 MVT::v4f32, 3, 24, 33, 34,
62498 0,
62499 91|128,7, TARGET_VAL(ISD::STRICT_FP_ROUND),
62500 OPC_RecordNode,
62501 OPC_MoveChild1,
62502 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62503 OPC_RecordChild0,
62504 OPC_CheckChild1Integer, 0,
62505 OPC_MoveParent,
62506 OPC_MoveSibling1,
62507 OPC_SwitchOpcode , 106|128,3, TARGET_VAL(ISD::STRICT_FP_ROUND),
62508 OPC_RecordNode,
62509 OPC_MoveChild1,
62510 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62511 OPC_CheckChild0Same, 1,
62512 OPC_CheckChild1Integer, 2,
62513 OPC_MoveParent,
62514 OPC_MoveSibling2,
62515 OPC_SwitchOpcode , 109|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
62516 OPC_RecordNode,
62517 OPC_MoveChild1,
62518 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62519 OPC_RecordChild0,
62520 OPC_CheckChild1Integer, 0,
62521 OPC_MoveParent,
62522 OPC_MoveSibling3,
62523 OPC_SwitchOpcode , 111, TARGET_VAL(ISD::STRICT_FP_ROUND),
62524 OPC_RecordNode,
62525 OPC_MoveChild1,
62526 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62527 OPC_CheckChild0Same, 4,
62528 OPC_CheckChild1Integer, 2,
62529 OPC_MoveParent,
62530 OPC_MoveParent,
62531 OPC_CheckType, MVT::v4f32,
62532 OPC_Scope, 47,
62533 OPC_CheckPatternPredicate, 17,
62534 OPC_EmitMergeInputChains, 4, 0, 2, 3, 5,
62535 OPC_EmitInteger32, 0,
62536 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62537 MVT::v4i32, 3, 1, 4, 6,
62538 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62539 MVT::v4i32, 1, 7,
62540 OPC_EmitInteger32, 6,
62541 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62542 MVT::v4i32, 3, 1, 4, 9,
62543 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62544 MVT::v4i32, 1, 10,
62545 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62546 MVT::v4f32, 2, 8, 11,
62547 47,
62548 OPC_CheckPatternPredicate, 13,
62549 OPC_EmitMergeInputChains, 4, 0, 2, 3, 5,
62550 OPC_EmitInteger32, 0,
62551 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62552 MVT::v4i32, 3, 4, 1, 6,
62553 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62554 MVT::v4i32, 1, 7,
62555 OPC_EmitInteger32, 6,
62556 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62557 MVT::v4i32, 3, 4, 1, 9,
62558 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62559 MVT::v4i32, 1, 10,
62560 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62561 MVT::v4f32, 2, 8, 11,
62562 0,
62563 108, TARGET_VAL(ISD::FP_ROUND),
62564 OPC_MoveChild0,
62565 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62566 OPC_CheckChild0Same, 4,
62567 OPC_CheckChild1Integer, 2,
62568 OPC_MoveParent,
62569 OPC_MoveParent,
62570 OPC_CheckType, MVT::v4f32,
62571 OPC_Scope, 46,
62572 OPC_CheckPatternPredicate, 17,
62573 OPC_EmitMergeInputChains, 3, 0, 2, 3,
62574 OPC_EmitInteger32, 0,
62575 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62576 MVT::v4i32, 3, 1, 4, 5,
62577 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62578 MVT::v4i32, 1, 6,
62579 OPC_EmitInteger32, 6,
62580 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62581 MVT::v4i32, 3, 1, 4, 8,
62582 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62583 MVT::v4i32, 1, 9,
62584 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62585 MVT::v4f32, 2, 7, 10,
62586 46,
62587 OPC_CheckPatternPredicate, 13,
62588 OPC_EmitMergeInputChains, 3, 0, 2, 3,
62589 OPC_EmitInteger32, 0,
62590 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62591 MVT::v4i32, 3, 4, 1, 5,
62592 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62593 MVT::v4i32, 1, 6,
62594 OPC_EmitInteger32, 6,
62595 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62596 MVT::v4i32, 3, 4, 1, 8,
62597 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62598 MVT::v4i32, 1, 9,
62599 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62600 MVT::v4f32, 2, 7, 10,
62601 0,
62602 0,
62603 104|128,1, TARGET_VAL(ISD::FP_ROUND),
62604 OPC_MoveChild0,
62605 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62606 OPC_RecordChild0,
62607 OPC_CheckChild1Integer, 0,
62608 OPC_MoveParent,
62609 OPC_MoveSibling3,
62610 OPC_SwitchOpcode , 109, TARGET_VAL(ISD::STRICT_FP_ROUND),
62611 OPC_RecordNode,
62612 OPC_MoveChild1,
62613 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62614 OPC_CheckChild0Same, 3,
62615 OPC_CheckChild1Integer, 2,
62616 OPC_MoveParent,
62617 OPC_MoveParent,
62618 OPC_CheckType, MVT::v4f32,
62619 OPC_Scope, 46,
62620 OPC_CheckPatternPredicate, 17,
62621 OPC_EmitMergeInputChains, 3, 0, 2, 4,
62622 OPC_EmitInteger32, 0,
62623 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62624 MVT::v4i32, 3, 1, 3, 5,
62625 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62626 MVT::v4i32, 1, 6,
62627 OPC_EmitInteger32, 6,
62628 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62629 MVT::v4i32, 3, 1, 3, 8,
62630 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62631 MVT::v4i32, 1, 9,
62632 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62633 MVT::v4f32, 2, 7, 10,
62634 46,
62635 OPC_CheckPatternPredicate, 13,
62636 OPC_EmitMergeInputChains, 3, 0, 2, 4,
62637 OPC_EmitInteger32, 0,
62638 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62639 MVT::v4i32, 3, 3, 1, 5,
62640 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62641 MVT::v4i32, 1, 6,
62642 OPC_EmitInteger32, 6,
62643 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62644 MVT::v4i32, 3, 3, 1, 8,
62645 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62646 MVT::v4i32, 1, 9,
62647 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62648 MVT::v4f32, 2, 7, 10,
62649 0,
62650 106, TARGET_VAL(ISD::FP_ROUND),
62651 OPC_MoveChild0,
62652 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62653 OPC_CheckChild0Same, 3,
62654 OPC_CheckChild1Integer, 2,
62655 OPC_MoveParent,
62656 OPC_MoveParent,
62657 OPC_CheckType, MVT::v4f32,
62658 OPC_Scope, 45,
62659 OPC_CheckPatternPredicate, 17,
62660 OPC_EmitMergeInputChains, 2, 0, 2,
62661 OPC_EmitInteger32, 0,
62662 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62663 MVT::v4i32, 3, 1, 3, 4,
62664 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62665 MVT::v4i32, 1, 5,
62666 OPC_EmitInteger32, 6,
62667 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62668 MVT::v4i32, 3, 1, 3, 7,
62669 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62670 MVT::v4i32, 1, 8,
62671 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62672 MVT::v4f32, 2, 6, 9,
62673 45,
62674 OPC_CheckPatternPredicate, 13,
62675 OPC_EmitMergeInputChains, 2, 0, 2,
62676 OPC_EmitInteger32, 0,
62677 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62678 MVT::v4i32, 3, 3, 1, 4,
62679 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62680 MVT::v4i32, 1, 5,
62681 OPC_EmitInteger32, 6,
62682 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62683 MVT::v4i32, 3, 3, 1, 7,
62684 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62685 MVT::v4i32, 1, 8,
62686 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62687 MVT::v4f32, 2, 6, 9,
62688 0,
62689 0,
62690 0,
62691 93|128,3, TARGET_VAL(ISD::FP_ROUND),
62692 OPC_MoveChild0,
62693 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62694 OPC_CheckChild0Same, 1,
62695 OPC_CheckChild1Integer, 2,
62696 OPC_MoveParent,
62697 OPC_MoveSibling2,
62698 OPC_SwitchOpcode , 105|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
62699 OPC_RecordNode,
62700 OPC_MoveChild1,
62701 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62702 OPC_RecordChild0,
62703 OPC_CheckChild1Integer, 0,
62704 OPC_MoveParent,
62705 OPC_MoveSibling3,
62706 OPC_SwitchOpcode , 109, TARGET_VAL(ISD::STRICT_FP_ROUND),
62707 OPC_RecordNode,
62708 OPC_MoveChild1,
62709 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62710 OPC_CheckChild0Same, 3,
62711 OPC_CheckChild1Integer, 2,
62712 OPC_MoveParent,
62713 OPC_MoveParent,
62714 OPC_CheckType, MVT::v4f32,
62715 OPC_Scope, 46,
62716 OPC_CheckPatternPredicate, 17,
62717 OPC_EmitMergeInputChains, 3, 0, 2, 4,
62718 OPC_EmitInteger32, 0,
62719 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62720 MVT::v4i32, 3, 1, 3, 5,
62721 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62722 MVT::v4i32, 1, 6,
62723 OPC_EmitInteger32, 6,
62724 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62725 MVT::v4i32, 3, 1, 3, 8,
62726 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62727 MVT::v4i32, 1, 9,
62728 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62729 MVT::v4f32, 2, 7, 10,
62730 46,
62731 OPC_CheckPatternPredicate, 13,
62732 OPC_EmitMergeInputChains, 3, 0, 2, 4,
62733 OPC_EmitInteger32, 0,
62734 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62735 MVT::v4i32, 3, 3, 1, 5,
62736 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62737 MVT::v4i32, 1, 6,
62738 OPC_EmitInteger32, 6,
62739 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62740 MVT::v4i32, 3, 3, 1, 8,
62741 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62742 MVT::v4i32, 1, 9,
62743 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62744 MVT::v4f32, 2, 7, 10,
62745 0,
62746 106, TARGET_VAL(ISD::FP_ROUND),
62747 OPC_MoveChild0,
62748 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62749 OPC_CheckChild0Same, 3,
62750 OPC_CheckChild1Integer, 2,
62751 OPC_MoveParent,
62752 OPC_MoveParent,
62753 OPC_CheckType, MVT::v4f32,
62754 OPC_Scope, 45,
62755 OPC_CheckPatternPredicate, 17,
62756 OPC_EmitMergeInputChains, 2, 0, 2,
62757 OPC_EmitInteger32, 0,
62758 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62759 MVT::v4i32, 3, 1, 3, 4,
62760 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62761 MVT::v4i32, 1, 5,
62762 OPC_EmitInteger32, 6,
62763 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62764 MVT::v4i32, 3, 1, 3, 7,
62765 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62766 MVT::v4i32, 1, 8,
62767 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62768 MVT::v4f32, 2, 6, 9,
62769 45,
62770 OPC_CheckPatternPredicate, 13,
62771 OPC_EmitMergeInputChains, 2, 0, 2,
62772 OPC_EmitInteger32, 0,
62773 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62774 MVT::v4i32, 3, 3, 1, 4,
62775 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62776 MVT::v4i32, 1, 5,
62777 OPC_EmitInteger32, 6,
62778 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62779 MVT::v4i32, 3, 3, 1, 7,
62780 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62781 MVT::v4i32, 1, 8,
62782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62783 MVT::v4f32, 2, 6, 9,
62784 0,
62785 0,
62786 96|128,1, TARGET_VAL(ISD::FP_ROUND),
62787 OPC_MoveChild0,
62788 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62789 OPC_RecordChild0,
62790 OPC_CheckChild1Integer, 0,
62791 OPC_MoveParent,
62792 OPC_MoveSibling3,
62793 OPC_SwitchOpcode , 107, TARGET_VAL(ISD::STRICT_FP_ROUND),
62794 OPC_RecordNode,
62795 OPC_MoveChild1,
62796 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62797 OPC_CheckChild0Same, 2,
62798 OPC_CheckChild1Integer, 2,
62799 OPC_MoveParent,
62800 OPC_MoveParent,
62801 OPC_CheckType, MVT::v4f32,
62802 OPC_Scope, 45,
62803 OPC_CheckPatternPredicate, 17,
62804 OPC_EmitMergeInputChains, 2, 0, 3,
62805 OPC_EmitInteger32, 0,
62806 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62807 MVT::v4i32, 3, 1, 2, 4,
62808 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62809 MVT::v4i32, 1, 5,
62810 OPC_EmitInteger32, 6,
62811 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62812 MVT::v4i32, 3, 1, 2, 7,
62813 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62814 MVT::v4i32, 1, 8,
62815 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62816 MVT::v4f32, 2, 6, 9,
62817 45,
62818 OPC_CheckPatternPredicate, 13,
62819 OPC_EmitMergeInputChains, 2, 0, 3,
62820 OPC_EmitInteger32, 0,
62821 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62822 MVT::v4i32, 3, 2, 1, 4,
62823 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62824 MVT::v4i32, 1, 5,
62825 OPC_EmitInteger32, 6,
62826 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62827 MVT::v4i32, 3, 2, 1, 7,
62828 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62829 MVT::v4i32, 1, 8,
62830 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62831 MVT::v4f32, 2, 6, 9,
62832 0,
62833 100, TARGET_VAL(ISD::FP_ROUND),
62834 OPC_MoveChild0,
62835 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62836 OPC_CheckChild0Same, 2,
62837 OPC_CheckChild1Integer, 2,
62838 OPC_MoveParent,
62839 OPC_MoveParent,
62840 OPC_CheckType, MVT::v4f32,
62841 OPC_Scope, 42,
62842 OPC_CheckPatternPredicate, 17,
62843 OPC_EmitMergeInputChains1_0,
62844 OPC_EmitInteger32, 0,
62845 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62846 MVT::v4i32, 3, 1, 2, 3,
62847 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62848 MVT::v4i32, 1, 4,
62849 OPC_EmitInteger32, 6,
62850 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62851 MVT::v4i32, 3, 1, 2, 6,
62852 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62853 MVT::v4i32, 1, 7,
62854 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62855 MVT::v4f32, 2, 5, 8,
62856 42,
62857 OPC_CheckPatternPredicate, 13,
62858 OPC_EmitMergeInputChains1_0,
62859 OPC_EmitInteger32, 0,
62860 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62861 MVT::v4i32, 3, 2, 1, 3,
62862 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62863 MVT::v4i32, 1, 4,
62864 OPC_EmitInteger32, 6,
62865 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62866 MVT::v4i32, 3, 2, 1, 6,
62867 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62868 MVT::v4i32, 1, 7,
62869 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62870 MVT::v4f32, 2, 5, 8,
62871 0,
62872 0,
62873 0,
62874 0,
62875 127|128,7, TARGET_VAL(ISD::FP_ROUND),
62876 OPC_Scope, 62|128,7,
62877 OPC_MoveChild0,
62878 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62879 OPC_RecordChild0,
62880 OPC_CheckChild1Integer, 0,
62881 OPC_MoveParent,
62882 OPC_MoveSibling1,
62883 OPC_SwitchOpcode , 94|128,3, TARGET_VAL(ISD::STRICT_FP_ROUND),
62884 OPC_RecordNode,
62885 OPC_MoveChild1,
62886 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62887 OPC_CheckChild0Same, 0,
62888 OPC_CheckChild1Integer, 2,
62889 OPC_MoveParent,
62890 OPC_MoveSibling2,
62891 OPC_SwitchOpcode , 105|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
62892 OPC_RecordNode,
62893 OPC_MoveChild1,
62894 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62895 OPC_RecordChild0,
62896 OPC_CheckChild1Integer, 0,
62897 OPC_MoveParent,
62898 OPC_MoveSibling3,
62899 OPC_SwitchOpcode , 109, TARGET_VAL(ISD::STRICT_FP_ROUND),
62900 OPC_RecordNode,
62901 OPC_MoveChild1,
62902 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62903 OPC_CheckChild0Same, 3,
62904 OPC_CheckChild1Integer, 2,
62905 OPC_MoveParent,
62906 OPC_MoveParent,
62907 OPC_CheckType, MVT::v4f32,
62908 OPC_Scope, 46,
62909 OPC_CheckPatternPredicate, 17,
62910 OPC_EmitMergeInputChains, 3, 1, 2, 4,
62911 OPC_EmitInteger32, 0,
62912 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62913 MVT::v4i32, 3, 0, 3, 5,
62914 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62915 MVT::v4i32, 1, 6,
62916 OPC_EmitInteger32, 6,
62917 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62918 MVT::v4i32, 3, 0, 3, 8,
62919 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62920 MVT::v4i32, 1, 9,
62921 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62922 MVT::v4f32, 2, 7, 10,
62923 46,
62924 OPC_CheckPatternPredicate, 13,
62925 OPC_EmitMergeInputChains, 3, 1, 2, 4,
62926 OPC_EmitInteger32, 0,
62927 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62928 MVT::v4i32, 3, 3, 0, 5,
62929 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62930 MVT::v4i32, 1, 6,
62931 OPC_EmitInteger32, 6,
62932 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62933 MVT::v4i32, 3, 3, 0, 8,
62934 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62935 MVT::v4i32, 1, 9,
62936 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62937 MVT::v4f32, 2, 7, 10,
62938 0,
62939 106, TARGET_VAL(ISD::FP_ROUND),
62940 OPC_MoveChild0,
62941 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62942 OPC_CheckChild0Same, 3,
62943 OPC_CheckChild1Integer, 2,
62944 OPC_MoveParent,
62945 OPC_MoveParent,
62946 OPC_CheckType, MVT::v4f32,
62947 OPC_Scope, 45,
62948 OPC_CheckPatternPredicate, 17,
62949 OPC_EmitMergeInputChains, 2, 1, 2,
62950 OPC_EmitInteger32, 0,
62951 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62952 MVT::v4i32, 3, 0, 3, 4,
62953 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62954 MVT::v4i32, 1, 5,
62955 OPC_EmitInteger32, 6,
62956 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62957 MVT::v4i32, 3, 0, 3, 7,
62958 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62959 MVT::v4i32, 1, 8,
62960 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62961 MVT::v4f32, 2, 6, 9,
62962 45,
62963 OPC_CheckPatternPredicate, 13,
62964 OPC_EmitMergeInputChains, 2, 1, 2,
62965 OPC_EmitInteger32, 0,
62966 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62967 MVT::v4i32, 3, 3, 0, 4,
62968 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62969 MVT::v4i32, 1, 5,
62970 OPC_EmitInteger32, 6,
62971 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
62972 MVT::v4i32, 3, 3, 0, 7,
62973 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
62974 MVT::v4i32, 1, 8,
62975 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
62976 MVT::v4f32, 2, 6, 9,
62977 0,
62978 0,
62979 96|128,1, TARGET_VAL(ISD::FP_ROUND),
62980 OPC_MoveChild0,
62981 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62982 OPC_RecordChild0,
62983 OPC_CheckChild1Integer, 0,
62984 OPC_MoveParent,
62985 OPC_MoveSibling3,
62986 OPC_SwitchOpcode , 107, TARGET_VAL(ISD::STRICT_FP_ROUND),
62987 OPC_RecordNode,
62988 OPC_MoveChild1,
62989 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
62990 OPC_CheckChild0Same, 2,
62991 OPC_CheckChild1Integer, 2,
62992 OPC_MoveParent,
62993 OPC_MoveParent,
62994 OPC_CheckType, MVT::v4f32,
62995 OPC_Scope, 45,
62996 OPC_CheckPatternPredicate, 17,
62997 OPC_EmitMergeInputChains, 2, 1, 3,
62998 OPC_EmitInteger32, 0,
62999 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63000 MVT::v4i32, 3, 0, 2, 4,
63001 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63002 MVT::v4i32, 1, 5,
63003 OPC_EmitInteger32, 6,
63004 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63005 MVT::v4i32, 3, 0, 2, 7,
63006 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63007 MVT::v4i32, 1, 8,
63008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63009 MVT::v4f32, 2, 6, 9,
63010 45,
63011 OPC_CheckPatternPredicate, 13,
63012 OPC_EmitMergeInputChains, 2, 1, 3,
63013 OPC_EmitInteger32, 0,
63014 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63015 MVT::v4i32, 3, 2, 0, 4,
63016 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63017 MVT::v4i32, 1, 5,
63018 OPC_EmitInteger32, 6,
63019 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63020 MVT::v4i32, 3, 2, 0, 7,
63021 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63022 MVT::v4i32, 1, 8,
63023 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63024 MVT::v4f32, 2, 6, 9,
63025 0,
63026 100, TARGET_VAL(ISD::FP_ROUND),
63027 OPC_MoveChild0,
63028 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63029 OPC_CheckChild0Same, 2,
63030 OPC_CheckChild1Integer, 2,
63031 OPC_MoveParent,
63032 OPC_MoveParent,
63033 OPC_CheckType, MVT::v4f32,
63034 OPC_Scope, 42,
63035 OPC_CheckPatternPredicate, 17,
63036 OPC_EmitMergeInputChains1_1,
63037 OPC_EmitInteger32, 0,
63038 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63039 MVT::v4i32, 3, 0, 2, 3,
63040 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63041 MVT::v4i32, 1, 4,
63042 OPC_EmitInteger32, 6,
63043 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63044 MVT::v4i32, 3, 0, 2, 6,
63045 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63046 MVT::v4i32, 1, 7,
63047 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63048 MVT::v4f32, 2, 5, 8,
63049 42,
63050 OPC_CheckPatternPredicate, 13,
63051 OPC_EmitMergeInputChains1_1,
63052 OPC_EmitInteger32, 0,
63053 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63054 MVT::v4i32, 3, 2, 0, 3,
63055 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63056 MVT::v4i32, 1, 4,
63057 OPC_EmitInteger32, 6,
63058 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63059 MVT::v4i32, 3, 2, 0, 6,
63060 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63061 MVT::v4i32, 1, 7,
63062 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63063 MVT::v4f32, 2, 5, 8,
63064 0,
63065 0,
63066 0,
63067 77|128,3, TARGET_VAL(ISD::FP_ROUND),
63068 OPC_MoveChild0,
63069 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63070 OPC_CheckChild0Same, 0,
63071 OPC_CheckChild1Integer, 2,
63072 OPC_MoveParent,
63073 OPC_MoveSibling2,
63074 OPC_SwitchOpcode , 97|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
63075 OPC_RecordNode,
63076 OPC_MoveChild1,
63077 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63078 OPC_RecordChild0,
63079 OPC_CheckChild1Integer, 0,
63080 OPC_MoveParent,
63081 OPC_MoveSibling3,
63082 OPC_SwitchOpcode , 107, TARGET_VAL(ISD::STRICT_FP_ROUND),
63083 OPC_RecordNode,
63084 OPC_MoveChild1,
63085 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63086 OPC_CheckChild0Same, 2,
63087 OPC_CheckChild1Integer, 2,
63088 OPC_MoveParent,
63089 OPC_MoveParent,
63090 OPC_CheckType, MVT::v4f32,
63091 OPC_Scope, 45,
63092 OPC_CheckPatternPredicate, 17,
63093 OPC_EmitMergeInputChains, 2, 1, 3,
63094 OPC_EmitInteger32, 0,
63095 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63096 MVT::v4i32, 3, 0, 2, 4,
63097 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63098 MVT::v4i32, 1, 5,
63099 OPC_EmitInteger32, 6,
63100 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63101 MVT::v4i32, 3, 0, 2, 7,
63102 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63103 MVT::v4i32, 1, 8,
63104 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63105 MVT::v4f32, 2, 6, 9,
63106 45,
63107 OPC_CheckPatternPredicate, 13,
63108 OPC_EmitMergeInputChains, 2, 1, 3,
63109 OPC_EmitInteger32, 0,
63110 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63111 MVT::v4i32, 3, 2, 0, 4,
63112 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63113 MVT::v4i32, 1, 5,
63114 OPC_EmitInteger32, 6,
63115 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63116 MVT::v4i32, 3, 2, 0, 7,
63117 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63118 MVT::v4i32, 1, 8,
63119 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63120 MVT::v4f32, 2, 6, 9,
63121 0,
63122 100, TARGET_VAL(ISD::FP_ROUND),
63123 OPC_MoveChild0,
63124 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63125 OPC_CheckChild0Same, 2,
63126 OPC_CheckChild1Integer, 2,
63127 OPC_MoveParent,
63128 OPC_MoveParent,
63129 OPC_CheckType, MVT::v4f32,
63130 OPC_Scope, 42,
63131 OPC_CheckPatternPredicate, 17,
63132 OPC_EmitMergeInputChains1_1,
63133 OPC_EmitInteger32, 0,
63134 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63135 MVT::v4i32, 3, 0, 2, 3,
63136 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63137 MVT::v4i32, 1, 4,
63138 OPC_EmitInteger32, 6,
63139 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63140 MVT::v4i32, 3, 0, 2, 6,
63141 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63142 MVT::v4i32, 1, 7,
63143 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63144 MVT::v4f32, 2, 5, 8,
63145 42,
63146 OPC_CheckPatternPredicate, 13,
63147 OPC_EmitMergeInputChains1_1,
63148 OPC_EmitInteger32, 0,
63149 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63150 MVT::v4i32, 3, 2, 0, 3,
63151 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63152 MVT::v4i32, 1, 4,
63153 OPC_EmitInteger32, 6,
63154 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63155 MVT::v4i32, 3, 2, 0, 6,
63156 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63157 MVT::v4i32, 1, 7,
63158 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63159 MVT::v4f32, 2, 5, 8,
63160 0,
63161 0,
63162 88|128,1, TARGET_VAL(ISD::FP_ROUND),
63163 OPC_MoveChild0,
63164 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63165 OPC_RecordChild0,
63166 OPC_CheckChild1Integer, 0,
63167 OPC_MoveParent,
63168 OPC_MoveSibling3,
63169 OPC_SwitchOpcode , 101, TARGET_VAL(ISD::STRICT_FP_ROUND),
63170 OPC_RecordNode,
63171 OPC_MoveChild1,
63172 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63173 OPC_CheckChild0Same, 1,
63174 OPC_CheckChild1Integer, 2,
63175 OPC_MoveParent,
63176 OPC_MoveParent,
63177 OPC_CheckType, MVT::v4f32,
63178 OPC_Scope, 42,
63179 OPC_CheckPatternPredicate, 17,
63180 OPC_EmitMergeInputChains1_2,
63181 OPC_EmitInteger32, 0,
63182 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63183 MVT::v4i32, 3, 0, 1, 3,
63184 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63185 MVT::v4i32, 1, 4,
63186 OPC_EmitInteger32, 6,
63187 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63188 MVT::v4i32, 3, 0, 1, 6,
63189 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63190 MVT::v4i32, 1, 7,
63191 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63192 MVT::v4f32, 2, 5, 8,
63193 42,
63194 OPC_CheckPatternPredicate, 13,
63195 OPC_EmitMergeInputChains1_2,
63196 OPC_EmitInteger32, 0,
63197 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63198 MVT::v4i32, 3, 1, 0, 3,
63199 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63200 MVT::v4i32, 1, 4,
63201 OPC_EmitInteger32, 6,
63202 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63203 MVT::v4i32, 3, 1, 0, 6,
63204 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63205 MVT::v4i32, 1, 7,
63206 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63207 MVT::v4f32, 2, 5, 8,
63208 0,
63209 98, TARGET_VAL(ISD::FP_ROUND),
63210 OPC_MoveChild0,
63211 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63212 OPC_CheckChild0Same, 1,
63213 OPC_CheckChild1Integer, 2,
63214 OPC_MoveParent,
63215 OPC_MoveParent,
63216 OPC_CheckType, MVT::v4f32,
63217 OPC_Scope, 41,
63218 OPC_CheckPatternPredicate, 17,
63219 OPC_EmitInteger32, 0,
63220 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63221 MVT::v4i32, 3, 0, 1, 2,
63222 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63223 MVT::v4i32, 1, 3,
63224 OPC_EmitInteger32, 6,
63225 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63226 MVT::v4i32, 3, 0, 1, 5,
63227 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63228 MVT::v4i32, 1, 6,
63229 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63230 MVT::v4f32, 2, 4, 7,
63231 41,
63232 OPC_CheckPatternPredicate, 13,
63233 OPC_EmitInteger32, 0,
63234 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63235 MVT::v4i32, 3, 1, 0, 2,
63236 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63237 MVT::v4i32, 1, 3,
63238 OPC_EmitInteger32, 6,
63239 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63240 MVT::v4i32, 3, 1, 0, 5,
63241 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63242 MVT::v4i32, 1, 6,
63243 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63244 MVT::v4f32, 2, 4, 7,
63245 0,
63246 0,
63247 0,
63248 0,
63249 60,
63250 OPC_RecordChild0,
63251 OPC_CheckChild0Type, MVT::f64,
63252 OPC_CheckType, MVT::f32,
63253 OPC_MoveSibling1,
63254 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
63255 OPC_CheckChild0Same, 0,
63256 OPC_CheckType, MVT::f32,
63257 OPC_MoveSibling2,
63258 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
63259 OPC_CheckChild0Same, 0,
63260 OPC_CheckType, MVT::f32,
63261 OPC_MoveSibling3,
63262 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
63263 OPC_CheckChild0Same, 0,
63264 OPC_CheckType, MVT::f32,
63265 OPC_MoveParent,
63266 OPC_CheckType, MVT::v4f32,
63267 OPC_CheckPatternPredicate2,
63268 OPC_EmitInteger64, 2,
63269 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
63270 MVT::f64, 1, 0,
63271 OPC_EmitStringInteger32, PPC::sub_64,
63272 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63273 MVT::v4i32, 3, 1, 2, 3,
63274 OPC_EmitInteger32, 0,
63275 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
63276 MVT::v4f32, 2, 4, 5,
63277 0,
63278 6|128,1, TARGET_VAL(PPCISD::FCFID),
63279 OPC_MoveChild0,
63280 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
63281 OPC_MoveChild0,
63282 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63283 OPC_RecordChild0,
63284 OPC_CheckTypeI32,
63285 OPC_Scope, 60,
63286 OPC_CheckChild1Integer, 0,
63287 OPC_MoveParent,
63288 OPC_MoveParent,
63289 OPC_CheckType, MVT::f64,
63290 OPC_MoveSibling1,
63291 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFID),
63292 OPC_MoveChild0,
63293 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
63294 OPC_MoveChild0,
63295 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63296 OPC_CheckChild0Same, 0,
63297 OPC_CheckChild1Integer, 4,
63298 OPC_CheckTypeI32,
63299 OPC_MoveParent,
63300 OPC_MoveParent,
63301 OPC_CheckType, MVT::f64,
63302 OPC_MoveParent,
63303 OPC_CheckType, MVT::v2f64,
63304 OPC_Scope, 8,
63305 OPC_CheckPatternPredicate, 17,
63306 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
63307 MVT::v2f64, 1, 0,
63308 18,
63309 OPC_CheckPatternPredicate, 13,
63310 OPC_EmitInteger32, 2,
63311 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63312 MVT::v4i32, 3, 0, 0, 1,
63313 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
63314 MVT::v2f64, 1, 2,
63315 0,
63316 60,
63317 OPC_CheckChild1Integer, 2,
63318 OPC_MoveParent,
63319 OPC_MoveParent,
63320 OPC_CheckType, MVT::f64,
63321 OPC_MoveSibling1,
63322 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFID),
63323 OPC_MoveChild0,
63324 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRA),
63325 OPC_MoveChild0,
63326 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63327 OPC_CheckChild0Same, 0,
63328 OPC_CheckChild1Integer, 6,
63329 OPC_CheckTypeI32,
63330 OPC_MoveParent,
63331 OPC_MoveParent,
63332 OPC_CheckType, MVT::f64,
63333 OPC_MoveParent,
63334 OPC_CheckType, MVT::v2f64,
63335 OPC_Scope, 8,
63336 OPC_CheckPatternPredicate, 13,
63337 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
63338 MVT::v2f64, 1, 0,
63339 18,
63340 OPC_CheckPatternPredicate, 17,
63341 OPC_EmitInteger32, 2,
63342 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63343 MVT::v4i32, 3, 0, 0, 1,
63344 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
63345 MVT::v2f64, 1, 2,
63346 0,
63347 0,
63348 6|128,1, TARGET_VAL(PPCISD::FCFIDU),
63349 OPC_MoveChild0,
63350 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
63351 OPC_MoveChild0,
63352 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63353 OPC_RecordChild0,
63354 OPC_CheckTypeI32,
63355 OPC_Scope, 60,
63356 OPC_CheckChild1Integer, 0,
63357 OPC_MoveParent,
63358 OPC_MoveParent,
63359 OPC_CheckType, MVT::f64,
63360 OPC_MoveSibling1,
63361 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDU),
63362 OPC_MoveChild0,
63363 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
63364 OPC_MoveChild0,
63365 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63366 OPC_CheckChild0Same, 0,
63367 OPC_CheckChild1Integer, 4,
63368 OPC_CheckTypeI32,
63369 OPC_MoveParent,
63370 OPC_MoveParent,
63371 OPC_CheckType, MVT::f64,
63372 OPC_MoveParent,
63373 OPC_CheckType, MVT::v2f64,
63374 OPC_Scope, 8,
63375 OPC_CheckPatternPredicate, 17,
63376 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
63377 MVT::v2f64, 1, 0,
63378 18,
63379 OPC_CheckPatternPredicate, 13,
63380 OPC_EmitInteger32, 2,
63381 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63382 MVT::v4i32, 3, 0, 0, 1,
63383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
63384 MVT::v2f64, 1, 2,
63385 0,
63386 60,
63387 OPC_CheckChild1Integer, 2,
63388 OPC_MoveParent,
63389 OPC_MoveParent,
63390 OPC_CheckType, MVT::f64,
63391 OPC_MoveSibling1,
63392 OPC_CheckOpcode, TARGET_VAL(PPCISD::FCFIDU),
63393 OPC_MoveChild0,
63394 OPC_CheckOpcode, TARGET_VAL(PPCISD::MTVSRZ),
63395 OPC_MoveChild0,
63396 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63397 OPC_CheckChild0Same, 0,
63398 OPC_CheckChild1Integer, 6,
63399 OPC_CheckTypeI32,
63400 OPC_MoveParent,
63401 OPC_MoveParent,
63402 OPC_CheckType, MVT::f64,
63403 OPC_MoveParent,
63404 OPC_CheckType, MVT::v2f64,
63405 OPC_Scope, 8,
63406 OPC_CheckPatternPredicate, 13,
63407 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
63408 MVT::v2f64, 1, 0,
63409 18,
63410 OPC_CheckPatternPredicate, 17,
63411 OPC_EmitInteger32, 2,
63412 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63413 MVT::v4i32, 3, 0, 0, 1,
63414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
63415 MVT::v2f64, 1, 2,
63416 0,
63417 0,
63418 73|128,4, TARGET_VAL(ISD::FP_EXTEND),
63419 OPC_MoveChild0,
63420 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63421 OPC_RecordChild0,
63422 OPC_Scope, 65|128,1,
63423 OPC_CheckChild1Integer, 0,
63424 OPC_MoveParent,
63425 OPC_CheckType, MVT::f64,
63426 OPC_MoveSibling1,
63427 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
63428 OPC_MoveChild0,
63429 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63430 OPC_Scope, 45,
63431 OPC_CheckChild0Same, 0,
63432 OPC_Scope, 16,
63433 OPC_CheckChild1Integer, 4,
63434 OPC_MoveParent,
63435 OPC_CheckType, MVT::f64,
63436 OPC_MoveParent,
63437 OPC_CheckType, MVT::v2f64,
63438 OPC_CheckPatternPredicate, 17,
63439 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63440 MVT::v2f64, 1, 0,
63441 23,
63442 OPC_CheckChild1Integer, 2,
63443 OPC_MoveParent,
63444 OPC_CheckType, MVT::f64,
63445 OPC_MoveParent,
63446 OPC_CheckType, MVT::v2f64,
63447 OPC_CheckPatternPredicate, 17,
63448 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63449 MVT::v4i32, 2, 0, 0,
63450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63451 MVT::v2f64, 1, 1,
63452 0,
63453 27,
63454 OPC_RecordChild0,
63455 OPC_CheckChild1Integer, 0,
63456 OPC_MoveParent,
63457 OPC_CheckType, MVT::f64,
63458 OPC_MoveParent,
63459 OPC_CheckType, MVT::v2f64,
63460 OPC_CheckPatternPredicate, 17,
63461 OPC_EmitInteger32, 0,
63462 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63463 MVT::v4i32, 3, 0, 1, 2,
63464 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63465 MVT::v2f64, 1, 3,
63466 55,
63467 OPC_CheckChild0Same, 0,
63468 OPC_Scope, 23,
63469 OPC_CheckChild1Integer, 2,
63470 OPC_MoveParent,
63471 OPC_CheckType, MVT::f64,
63472 OPC_MoveParent,
63473 OPC_CheckType, MVT::v2f64,
63474 OPC_CheckPatternPredicate, 13,
63475 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63476 MVT::v4i32, 2, 0, 0,
63477 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63478 MVT::v2f64, 1, 1,
63479 26,
63480 OPC_CheckChild1Integer, 4,
63481 OPC_MoveParent,
63482 OPC_CheckType, MVT::f64,
63483 OPC_MoveParent,
63484 OPC_CheckType, MVT::v2f64,
63485 OPC_CheckPatternPredicate, 13,
63486 OPC_EmitInteger32, 2,
63487 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63488 MVT::v4i32, 3, 0, 0, 1,
63489 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63490 MVT::v2f64, 1, 2,
63491 0,
63492 47,
63493 OPC_RecordChild0,
63494 OPC_CheckChild1Integer, 0,
63495 OPC_MoveParent,
63496 OPC_CheckType, MVT::f64,
63497 OPC_MoveParent,
63498 OPC_CheckType, MVT::v2f64,
63499 OPC_CheckPatternPredicate, 13,
63500 OPC_EmitInteger32, 6,
63501 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63502 MVT::v4i32, 3, 1, 0, 2,
63503 OPC_EmitInteger32, 6,
63504 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63505 MVT::v4i32, 3, 1, 0, 4,
63506 OPC_EmitInteger32, 2,
63507 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63508 MVT::v4i32, 3, 3, 5, 6,
63509 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63510 MVT::v2f64, 1, 7,
63511 0,
63512 17|128,1,
63513 OPC_CheckChild1Integer, 2,
63514 OPC_MoveParent,
63515 OPC_CheckType, MVT::f64,
63516 OPC_MoveSibling1,
63517 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
63518 OPC_MoveChild0,
63519 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63520 OPC_CheckChild0Same, 0,
63521 OPC_Scope, 38,
63522 OPC_CheckChild1Integer, 6,
63523 OPC_MoveParent,
63524 OPC_CheckType, MVT::f64,
63525 OPC_MoveParent,
63526 OPC_CheckType, MVT::v2f64,
63527 OPC_Scope, 8,
63528 OPC_CheckPatternPredicate, 13,
63529 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63530 MVT::v2f64, 1, 0,
63531 18,
63532 OPC_CheckPatternPredicate, 17,
63533 OPC_EmitInteger32, 2,
63534 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63535 MVT::v4i32, 3, 0, 0, 1,
63536 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63537 MVT::v2f64, 1, 2,
63538 0,
63539 88,
63540 OPC_CheckChild1Integer, 0,
63541 OPC_MoveParent,
63542 OPC_CheckType, MVT::f64,
63543 OPC_MoveParent,
63544 OPC_CheckType, MVT::v2f64,
63545 OPC_Scope, 38,
63546 OPC_CheckPatternPredicate, 17,
63547 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63548 MVT::v4i32, 2, 0, 0,
63549 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63550 MVT::v4i32, 1, 1,
63551 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63552 MVT::v4i32, 2, 0, 0,
63553 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63554 MVT::v4i32, 1, 3,
63555 OPC_EmitInteger32, 4,
63556 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63557 MVT::v2f64, 3, 2, 4, 5,
63558 38,
63559 OPC_CheckPatternPredicate, 13,
63560 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63561 MVT::v4i32, 2, 0, 0,
63562 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63563 MVT::v4i32, 1, 1,
63564 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63565 MVT::v4i32, 2, 0, 0,
63566 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63567 MVT::v4i32, 1, 3,
63568 OPC_EmitInteger32, 4,
63569 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63570 MVT::v2f64, 3, 2, 4, 5,
63571 0,
63572 0,
63573 57,
63574 OPC_CheckChild1Integer, 4,
63575 OPC_MoveParent,
63576 OPC_CheckType, MVT::f64,
63577 OPC_MoveSibling1,
63578 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
63579 OPC_MoveChild0,
63580 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63581 OPC_CheckChild0Same, 0,
63582 OPC_CheckChild1Integer, 6,
63583 OPC_MoveParent,
63584 OPC_CheckType, MVT::f64,
63585 OPC_MoveParent,
63586 OPC_CheckType, MVT::v2f64,
63587 OPC_Scope, 15,
63588 OPC_CheckPatternPredicate, 17,
63589 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63590 MVT::v4i32, 2, 0, 0,
63591 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63592 MVT::v2f64, 1, 1,
63593 15,
63594 OPC_CheckPatternPredicate, 13,
63595 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63596 MVT::v4i32, 2, 0, 0,
63597 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63598 MVT::v2f64, 1, 1,
63599 0,
63600 48|128,1,
63601 OPC_CheckChild1Integer, 6,
63602 OPC_MoveParent,
63603 OPC_CheckType, MVT::f64,
63604 OPC_MoveSibling1,
63605 OPC_CheckOpcode, TARGET_VAL(ISD::FP_EXTEND),
63606 OPC_MoveChild0,
63607 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
63608 OPC_Scope, 69,
63609 OPC_RecordChild0,
63610 OPC_CheckChild1Integer, 6,
63611 OPC_MoveParent,
63612 OPC_CheckType, MVT::f64,
63613 OPC_MoveParent,
63614 OPC_CheckType, MVT::v2f64,
63615 OPC_Scope, 18,
63616 OPC_CheckPatternPredicate, 13,
63617 OPC_EmitInteger32, 0,
63618 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63619 MVT::v4i32, 3, 1, 0, 2,
63620 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63621 MVT::v2f64, 1, 3,
63622 38,
63623 OPC_CheckPatternPredicate, 17,
63624 OPC_EmitInteger32, 6,
63625 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63626 MVT::v4i32, 3, 0, 1, 2,
63627 OPC_EmitInteger32, 6,
63628 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63629 MVT::v4i32, 3, 0, 1, 4,
63630 OPC_EmitInteger32, 2,
63631 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
63632 MVT::v4i32, 3, 3, 5, 6,
63633 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
63634 MVT::v2f64, 1, 7,
63635 0,
63636 90,
63637 OPC_CheckChild0Same, 0,
63638 OPC_CheckChild1Integer, 4,
63639 OPC_MoveParent,
63640 OPC_CheckType, MVT::f64,
63641 OPC_MoveParent,
63642 OPC_CheckType, MVT::v2f64,
63643 OPC_Scope, 38,
63644 OPC_CheckPatternPredicate, 17,
63645 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63646 MVT::v4i32, 2, 0, 0,
63647 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63648 MVT::v4i32, 1, 1,
63649 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
63650 MVT::v4i32, 2, 0, 0,
63651 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63652 MVT::v4i32, 1, 3,
63653 OPC_EmitInteger32, 4,
63654 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63655 MVT::v2f64, 3, 2, 4, 5,
63656 38,
63657 OPC_CheckPatternPredicate, 13,
63658 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63659 MVT::v4i32, 2, 0, 0,
63660 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63661 MVT::v4i32, 1, 1,
63662 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
63663 MVT::v4i32, 2, 0, 0,
63664 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVSPDP),
63665 MVT::v4i32, 1, 3,
63666 OPC_EmitInteger32, 4,
63667 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63668 MVT::v2f64, 3, 2, 4, 5,
63669 0,
63670 0,
63671 0,
63672 0,
63673 53|128,2,
63674 OPC_RecordChild0,
63675 OPC_SwitchType , 92|128,1, MVT::v4f32,
63676 OPC_CheckChild0Type, MVT::f32,
63677 OPC_Scope, 22,
63678 OPC_CheckChild1Same, 0,
63679 OPC_CheckChild2Same, 0,
63680 OPC_CheckChild3Same, 0,
63681 OPC_CheckPatternPredicate2,
63682 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
63683 MVT::v4f32, 1, 0,
63684 OPC_EmitInteger32, 0,
63685 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
63686 MVT::v4f32, 2, 1, 2,
63687 63|128,1,
63688 OPC_RecordChild1,
63689 OPC_CheckChild1Type, MVT::f32,
63690 OPC_RecordChild2,
63691 OPC_CheckChild2Type, MVT::f32,
63692 OPC_RecordChild3,
63693 OPC_CheckChild3Type, MVT::f32,
63694 OPC_Scope, 89,
63695 OPC_CheckPatternPredicate, 17,
63696 OPC_EmitInteger64, 2,
63697 OPC_EmitStringInteger32, PPC::sub_64,
63698 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63699 MVT::v4i32, 3, 4, 0, 5,
63700 OPC_EmitInteger64, 2,
63701 OPC_EmitStringInteger32, PPC::sub_64,
63702 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63703 MVT::v4i32, 3, 7, 2, 8,
63704 OPC_EmitInteger32, 0,
63705 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63706 MVT::v4i32, 3, 6, 9, 10,
63707 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63708 MVT::v4i32, 1, 11,
63709 OPC_EmitInteger64, 2,
63710 OPC_EmitStringInteger32, PPC::sub_64,
63711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63712 MVT::v4i32, 3, 13, 1, 14,
63713 OPC_EmitInteger64, 2,
63714 OPC_EmitStringInteger32, PPC::sub_64,
63715 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63716 MVT::v4i32, 3, 16, 3, 17,
63717 OPC_EmitInteger32, 0,
63718 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63719 MVT::v4i32, 3, 15, 18, 19,
63720 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63721 MVT::v4i32, 1, 20,
63722 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63723 MVT::v4f32, 2, 12, 21,
63724 89,
63725 OPC_CheckPatternPredicate, 13,
63726 OPC_EmitInteger64, 2,
63727 OPC_EmitStringInteger32, PPC::sub_64,
63728 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63729 MVT::v4i32, 3, 4, 3, 5,
63730 OPC_EmitInteger64, 2,
63731 OPC_EmitStringInteger32, PPC::sub_64,
63732 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63733 MVT::v4i32, 3, 7, 1, 8,
63734 OPC_EmitInteger32, 0,
63735 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63736 MVT::v4i32, 3, 6, 9, 10,
63737 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63738 MVT::v4i32, 1, 11,
63739 OPC_EmitInteger64, 2,
63740 OPC_EmitStringInteger32, PPC::sub_64,
63741 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63742 MVT::v4i32, 3, 13, 2, 14,
63743 OPC_EmitInteger64, 2,
63744 OPC_EmitStringInteger32, PPC::sub_64,
63745 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63746 MVT::v4i32, 3, 16, 0, 17,
63747 OPC_EmitInteger32, 0,
63748 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
63749 MVT::v4i32, 3, 15, 18, 19,
63750 OPC_EmitNode1None, TARGET_VAL(PPC::XVCVDPSP),
63751 MVT::v4i32, 1, 20,
63752 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
63753 MVT::v4f32, 2, 12, 21,
63754 0,
63755 0,
63756 81, MVT::v2f64,
63757 OPC_CheckChild0Type, MVT::f64,
63758 OPC_RecordChild1,
63759 OPC_CheckChild1Type, MVT::f64,
63760 OPC_Scope, 36,
63761 OPC_CheckPatternPredicate, 17,
63762 OPC_EmitInteger64, 2,
63763 OPC_EmitStringInteger32, PPC::sub_64,
63764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63765 MVT::v4i32, 3, 2, 0, 3,
63766 OPC_EmitInteger64, 2,
63767 OPC_EmitStringInteger32, PPC::sub_64,
63768 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63769 MVT::v4i32, 3, 5, 1, 6,
63770 OPC_EmitInteger32, 0,
63771 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63772 MVT::v2f64, 3, 4, 7, 8,
63773 36,
63774 OPC_CheckPatternPredicate, 13,
63775 OPC_EmitInteger64, 2,
63776 OPC_EmitStringInteger32, PPC::sub_64,
63777 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63778 MVT::v4i32, 3, 2, 1, 3,
63779 OPC_EmitInteger64, 2,
63780 OPC_EmitStringInteger32, PPC::sub_64,
63781 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63782 MVT::v4i32, 3, 5, 0, 6,
63783 OPC_EmitInteger32, 0,
63784 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
63785 MVT::v2f64, 3, 4, 7, 8,
63786 0,
63787 0,
63788 0,
63789 32|128,18, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
63790 OPC_Scope, 97|128,11,
63791 OPC_MoveChild0,
63792 OPC_SwitchOpcode , 27|128,5, TARGET_VAL(PPCISD::MFVSR),
63793 OPC_MoveChild0,
63794 OPC_SwitchOpcode , 2|128,1, TARGET_VAL(PPCISD::FCTIDZ),
63795 OPC_MoveChild0,
63796 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
63797 OPC_RecordMemRef,
63798 OPC_RecordNode,
63799 OPC_CheckFoldableChainNode,
63800 OPC_RecordChild1,
63801 OPC_CheckPredicate, 11,
63802 OPC_Scope, 27,
63803 OPC_CheckPredicate5,
63804 OPC_MoveParent,
63805 OPC_CheckType, MVT::f64,
63806 OPC_MoveParent,
63807 OPC_CheckTypeI64,
63808 OPC_MoveParent,
63809 OPC_CheckType, MVT::v2i64,
63810 OPC_CheckPatternPredicate2,
63811 OPC_CheckComplexPat0, /*#*/1,
63812 OPC_EmitMergeInputChains1_0,
63813 OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
63814 MVT::v4i32, 2, 2, 3,
63815 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
63816 MVT::v2i64, 1, 4,
63817 89,
63818 OPC_CheckPredicate, 9,
63819 OPC_CheckPredicate, 17,
63820 OPC_MoveParent,
63821 OPC_CheckType, MVT::f64,
63822 OPC_MoveParent,
63823 OPC_CheckTypeI64,
63824 OPC_MoveParent,
63825 OPC_CheckType, MVT::v2i64,
63826 OPC_Scope, 36,
63827 OPC_CheckPatternPredicate7,
63828 OPC_CheckComplexPat4, /*#*/1,
63829 OPC_EmitMergeInputChains1_0,
63830 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
63831 MVT::f32, 2, 2, 3,
63832 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
63833 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
63834 MVT::f64, 2, 4, 5,
63835 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
63836 MVT::f64, 1, 6,
63837 OPC_EmitInteger32, 0,
63838 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
63839 MVT::v2i64, 2, 7, 8,
63840 37,
63841 OPC_CheckPatternPredicate, 37,
63842 OPC_CheckComplexPat0, /*#*/1,
63843 OPC_EmitMergeInputChains1_0,
63844 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
63845 MVT::f32, 2, 2, 3,
63846 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
63847 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
63848 MVT::f64, 2, 4, 5,
63849 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
63850 MVT::f64, 1, 6,
63851 OPC_EmitInteger32, 0,
63852 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
63853 MVT::v2i64, 2, 7, 8,
63854 0,
63855 0,
63856 2|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
63857 OPC_MoveChild0,
63858 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
63859 OPC_RecordMemRef,
63860 OPC_RecordNode,
63861 OPC_CheckFoldableChainNode,
63862 OPC_RecordChild1,
63863 OPC_CheckPredicate, 11,
63864 OPC_Scope, 27,
63865 OPC_CheckPredicate5,
63866 OPC_MoveParent,
63867 OPC_CheckType, MVT::f64,
63868 OPC_MoveParent,
63869 OPC_CheckTypeI64,
63870 OPC_MoveParent,
63871 OPC_CheckType, MVT::v2i64,
63872 OPC_CheckPatternPredicate2,
63873 OPC_CheckComplexPat0, /*#*/1,
63874 OPC_EmitMergeInputChains1_0,
63875 OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
63876 MVT::v4i32, 2, 2, 3,
63877 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
63878 MVT::v2i64, 1, 4,
63879 89,
63880 OPC_CheckPredicate, 9,
63881 OPC_CheckPredicate, 17,
63882 OPC_MoveParent,
63883 OPC_CheckType, MVT::f64,
63884 OPC_MoveParent,
63885 OPC_CheckTypeI64,
63886 OPC_MoveParent,
63887 OPC_CheckType, MVT::v2i64,
63888 OPC_Scope, 36,
63889 OPC_CheckPatternPredicate7,
63890 OPC_CheckComplexPat4, /*#*/1,
63891 OPC_EmitMergeInputChains1_0,
63892 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
63893 MVT::f32, 2, 2, 3,
63894 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
63895 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
63896 MVT::f64, 2, 4, 5,
63897 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
63898 MVT::f64, 1, 6,
63899 OPC_EmitInteger32, 0,
63900 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
63901 MVT::v2i64, 2, 7, 8,
63902 37,
63903 OPC_CheckPatternPredicate, 37,
63904 OPC_CheckComplexPat0, /*#*/1,
63905 OPC_EmitMergeInputChains1_0,
63906 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
63907 MVT::f32, 2, 2, 3,
63908 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
63909 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
63910 MVT::f64, 2, 4, 5,
63911 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
63912 MVT::f64, 1, 6,
63913 OPC_EmitInteger32, 0,
63914 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
63915 MVT::v2i64, 2, 7, 8,
63916 0,
63917 0,
63918 66|128,1, TARGET_VAL(PPCISD::FCTIWZ),
63919 OPC_MoveChild0,
63920 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
63921 OPC_RecordMemRef,
63922 OPC_RecordNode,
63923 OPC_CheckFoldableChainNode,
63924 OPC_RecordChild1,
63925 OPC_CheckPredicate, 11,
63926 OPC_Scope, 30,
63927 OPC_CheckPredicate, 9,
63928 OPC_CheckPredicate, 17,
63929 OPC_MoveParent,
63930 OPC_CheckType, MVT::f64,
63931 OPC_MoveParent,
63932 OPC_CheckTypeI32,
63933 OPC_MoveParent,
63934 OPC_CheckType, MVT::v4i32,
63935 OPC_CheckPatternPredicate7,
63936 OPC_CheckComplexPat0, /*#*/1,
63937 OPC_EmitMergeInputChains1_0,
63938 OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
63939 MVT::v4i32, 2, 2, 3,
63940 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
63941 MVT::v4i32, 1, 4,
63942 48,
63943 OPC_CheckPredicate5,
63944 OPC_MoveParent,
63945 OPC_CheckType, MVT::f64,
63946 OPC_MoveParent,
63947 OPC_CheckTypeI32,
63948 OPC_MoveParent,
63949 OPC_CheckType, MVT::v4i32,
63950 OPC_CheckPatternPredicate7,
63951 OPC_CheckComplexPat4, /*#*/1,
63952 OPC_EmitMergeInputChains1_0,
63953 OPC_EmitInteger64, 2,
63954 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
63955 MVT::f64, 2, 2, 3,
63956 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
63957 MVT::f64, 1, 5,
63958 OPC_EmitStringInteger32, PPC::sub_64,
63959 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63960 MVT::v4i32, 3, 4, 6, 7,
63961 OPC_EmitInteger32, 2,
63962 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
63963 MVT::v4i32, 2, 8, 9,
63964 51,
63965 OPC_CheckPredicate, 9,
63966 OPC_CheckPredicate, 17,
63967 OPC_MoveParent,
63968 OPC_CheckType, MVT::f64,
63969 OPC_MoveParent,
63970 OPC_CheckTypeI32,
63971 OPC_MoveParent,
63972 OPC_CheckType, MVT::v4i32,
63973 OPC_CheckPatternPredicate2,
63974 OPC_CheckComplexPat0, /*#*/1,
63975 OPC_EmitMergeInputChains1_0,
63976 OPC_EmitInteger64, 2,
63977 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
63978 MVT::f32, 2, 2, 3,
63979 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
63980 MVT::f32, 1, 5,
63981 OPC_EmitStringInteger32, PPC::sub_64,
63982 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
63983 MVT::v4i32, 3, 4, 6, 7,
63984 OPC_EmitInteger32, 2,
63985 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
63986 MVT::v4i32, 2, 8, 9,
63987 49,
63988 OPC_CheckPredicate5,
63989 OPC_MoveParent,
63990 OPC_CheckType, MVT::f64,
63991 OPC_MoveParent,
63992 OPC_CheckTypeI32,
63993 OPC_MoveParent,
63994 OPC_CheckType, MVT::v4i32,
63995 OPC_CheckPatternPredicate, 37,
63996 OPC_CheckComplexPat0, /*#*/1,
63997 OPC_EmitMergeInputChains1_0,
63998 OPC_EmitInteger64, 2,
63999 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64000 MVT::f64, 2, 2, 3,
64001 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
64002 MVT::f64, 1, 5,
64003 OPC_EmitStringInteger32, PPC::sub_64,
64004 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64005 MVT::v4i32, 3, 4, 6, 7,
64006 OPC_EmitInteger32, 2,
64007 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
64008 MVT::v4i32, 2, 8, 9,
64009 0,
64010 66|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
64011 OPC_MoveChild0,
64012 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64013 OPC_RecordMemRef,
64014 OPC_RecordNode,
64015 OPC_CheckFoldableChainNode,
64016 OPC_RecordChild1,
64017 OPC_CheckPredicate, 11,
64018 OPC_Scope, 30,
64019 OPC_CheckPredicate, 9,
64020 OPC_CheckPredicate, 17,
64021 OPC_MoveParent,
64022 OPC_CheckType, MVT::f64,
64023 OPC_MoveParent,
64024 OPC_CheckTypeI32,
64025 OPC_MoveParent,
64026 OPC_CheckType, MVT::v4i32,
64027 OPC_CheckPatternPredicate7,
64028 OPC_CheckComplexPat0, /*#*/1,
64029 OPC_EmitMergeInputChains1_0,
64030 OPC_EmitNode1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
64031 MVT::v4i32, 2, 2, 3,
64032 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
64033 MVT::v4i32, 1, 4,
64034 48,
64035 OPC_CheckPredicate5,
64036 OPC_MoveParent,
64037 OPC_CheckType, MVT::f64,
64038 OPC_MoveParent,
64039 OPC_CheckTypeI32,
64040 OPC_MoveParent,
64041 OPC_CheckType, MVT::v4i32,
64042 OPC_CheckPatternPredicate7,
64043 OPC_CheckComplexPat4, /*#*/1,
64044 OPC_EmitMergeInputChains1_0,
64045 OPC_EmitInteger64, 2,
64046 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64047 MVT::f64, 2, 2, 3,
64048 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
64049 MVT::f64, 1, 5,
64050 OPC_EmitStringInteger32, PPC::sub_64,
64051 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64052 MVT::v4i32, 3, 4, 6, 7,
64053 OPC_EmitInteger32, 2,
64054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
64055 MVT::v4i32, 2, 8, 9,
64056 51,
64057 OPC_CheckPredicate, 9,
64058 OPC_CheckPredicate, 17,
64059 OPC_MoveParent,
64060 OPC_CheckType, MVT::f64,
64061 OPC_MoveParent,
64062 OPC_CheckTypeI32,
64063 OPC_MoveParent,
64064 OPC_CheckType, MVT::v4i32,
64065 OPC_CheckPatternPredicate2,
64066 OPC_CheckComplexPat0, /*#*/1,
64067 OPC_EmitMergeInputChains1_0,
64068 OPC_EmitInteger64, 2,
64069 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64070 MVT::f32, 2, 2, 3,
64071 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
64072 MVT::f32, 1, 5,
64073 OPC_EmitStringInteger32, PPC::sub_64,
64074 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64075 MVT::v4i32, 3, 4, 6, 7,
64076 OPC_EmitInteger32, 2,
64077 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
64078 MVT::v4i32, 2, 8, 9,
64079 49,
64080 OPC_CheckPredicate5,
64081 OPC_MoveParent,
64082 OPC_CheckType, MVT::f64,
64083 OPC_MoveParent,
64084 OPC_CheckTypeI32,
64085 OPC_MoveParent,
64086 OPC_CheckType, MVT::v4i32,
64087 OPC_CheckPatternPredicate, 37,
64088 OPC_CheckComplexPat0, /*#*/1,
64089 OPC_EmitMergeInputChains1_0,
64090 OPC_EmitInteger64, 2,
64091 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64092 MVT::f64, 2, 2, 3,
64093 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
64094 MVT::f64, 1, 5,
64095 OPC_EmitStringInteger32, PPC::sub_64,
64096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64097 MVT::v4i32, 3, 4, 6, 7,
64098 OPC_EmitInteger32, 2,
64099 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
64100 MVT::v4i32, 2, 8, 9,
64101 0,
64102 0,
64103 83, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
64104 OPC_MoveChild0,
64105 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64106 OPC_RecordMemRef,
64107 OPC_RecordNode,
64108 OPC_CheckFoldableChainNode,
64109 OPC_RecordChild1,
64110 OPC_CheckPredicate, 11,
64111 OPC_CheckPredicate, 9,
64112 OPC_CheckPredicate4,
64113 OPC_MoveSibling1,
64114 OPC_CheckValueType, MVT::i8,
64115 OPC_MoveParent,
64116 OPC_SwitchType , 30, MVT::i32,
64117 OPC_MoveParent,
64118 OPC_CheckType, MVT::v4i32,
64119 OPC_CheckPatternPredicate7,
64120 OPC_CheckComplexPat0, /*#*/1,
64121 OPC_EmitMergeInputChains1_0,
64122 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64123 MVT::f64, 2, 2, 3,
64124 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ws),
64125 MVT::f64, 1, 4,
64126 OPC_EmitInteger32, 2,
64127 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
64128 MVT::v4i32, 2, 5, 6,
64129 30, MVT::i64,
64130 OPC_MoveParent,
64131 OPC_CheckType, MVT::v2i64,
64132 OPC_CheckPatternPredicate7,
64133 OPC_CheckComplexPat0, /*#*/1,
64134 OPC_EmitMergeInputChains1_0,
64135 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64136 MVT::f64, 2, 2, 3,
64137 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ds),
64138 MVT::f64, 1, 4,
64139 OPC_EmitInteger32, 0,
64140 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64141 MVT::v2i64, 2, 5, 6,
64142 0,
64143 101|128,5, TARGET_VAL(ISD::LOAD),
64144 OPC_RecordMemRef,
64145 OPC_RecordNode,
64146 OPC_RecordChild1,
64147 OPC_CheckPredicate, 11,
64148 OPC_Scope, 27,
64149 OPC_CheckPredicate5,
64150 OPC_CheckTypeI32,
64151 OPC_MoveParent,
64152 OPC_CheckType, MVT::v4i32,
64153 OPC_CheckPatternPredicate, 28,
64154 OPC_CheckComplexPat0, /*#*/1,
64155 OPC_EmitMergeInputChains1_0,
64156 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64157 MVT::f64, 2, 2, 3,
64158 OPC_EmitInteger32, 2,
64159 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSLDWIs),
64160 MVT::v4i32, 2, 4, 5,
64161 33,
64162 OPC_CheckPredicate, 19,
64163 OPC_CheckPredicate, 8,
64164 OPC_CheckTypeI64,
64165 OPC_MoveParent,
64166 OPC_CheckType, MVT::v2i64,
64167 OPC_CheckPatternPredicate, 32,
64168 OPC_CheckComplexPat0, /*#*/1,
64169 OPC_EmitMergeInputChains1_0,
64170 OPC_EmitInteger64, 2,
64171 OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
64172 MVT::f64, 2, 2, 3,
64173 OPC_EmitStringInteger32, PPC::sub_64,
64174 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64175 MVT::v2i64, 3, 4, 5, 6,
64176 33,
64177 OPC_CheckPredicate, 13,
64178 OPC_CheckPredicate, 8,
64179 OPC_CheckTypeI64,
64180 OPC_MoveParent,
64181 OPC_CheckType, MVT::v2i64,
64182 OPC_CheckPatternPredicate, 32,
64183 OPC_CheckComplexPat0, /*#*/1,
64184 OPC_EmitMergeInputChains1_0,
64185 OPC_EmitInteger64, 2,
64186 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64187 MVT::f64, 2, 2, 3,
64188 OPC_EmitStringInteger32, PPC::sub_64,
64189 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64190 MVT::v2i64, 3, 4, 5, 6,
64191 30,
64192 OPC_CheckPredicate, 19,
64193 OPC_CheckPredicate, 8,
64194 OPC_CheckTypeI64,
64195 OPC_MoveParent,
64196 OPC_CheckType, MVT::v2i64,
64197 OPC_CheckPatternPredicate, 21,
64198 OPC_CheckComplexPat0, /*#*/1,
64199 OPC_EmitMergeInputChains1_0,
64200 OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
64201 MVT::f64, 2, 2, 3,
64202 OPC_EmitInteger32, 4,
64203 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64204 MVT::v2i64, 2, 4, 5,
64205 30,
64206 OPC_CheckPredicate, 13,
64207 OPC_CheckPredicate, 8,
64208 OPC_CheckTypeI64,
64209 OPC_MoveParent,
64210 OPC_CheckType, MVT::v2i64,
64211 OPC_CheckPatternPredicate, 21,
64212 OPC_CheckComplexPat0, /*#*/1,
64213 OPC_EmitMergeInputChains1_0,
64214 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64215 MVT::f64, 2, 2, 3,
64216 OPC_EmitInteger32, 4,
64217 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64218 MVT::v2i64, 2, 4, 5,
64219 27,
64220 OPC_CheckPredicate5,
64221 OPC_CheckTypeI32,
64222 OPC_MoveParent,
64223 OPC_CheckType, MVT::v4i32,
64224 OPC_CheckPatternPredicate, 21,
64225 OPC_CheckComplexPat0, /*#*/1,
64226 OPC_EmitMergeInputChains1_0,
64227 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64228 MVT::f64, 2, 2, 3,
64229 OPC_EmitInteger32, 4,
64230 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64231 MVT::v4i32, 2, 4, 5,
64232 13|128,1,
64233 OPC_CheckPredicate, 13,
64234 OPC_Scope, 80,
64235 OPC_CheckPredicate4,
64236 OPC_SwitchType , 49, MVT::i32,
64237 OPC_MoveParent,
64238 OPC_SwitchType , 21, MVT::v8i16,
64239 OPC_CheckPatternPredicate7,
64240 OPC_CheckComplexPat0, /*#*/1,
64241 OPC_EmitMergeInputChains1_0,
64242 OPC_EmitInteger32, 6,
64243 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64244 MVT::f64, 2, 2, 3,
64245 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
64246 MVT::v8i16, 2, 4, 5,
64247 21, MVT::v4i32,
64248 OPC_CheckPatternPredicate7,
64249 OPC_CheckComplexPat0, /*#*/1,
64250 OPC_EmitMergeInputChains1_0,
64251 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64252 MVT::f64, 2, 2, 3,
64253 OPC_EmitInteger32, 2,
64254 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
64255 MVT::v4i32, 2, 4, 5,
64256 0,
64257 24, MVT::i64,
64258 OPC_MoveParent,
64259 OPC_CheckType, MVT::v2i64,
64260 OPC_CheckPatternPredicate7,
64261 OPC_CheckComplexPat0, /*#*/1,
64262 OPC_EmitMergeInputChains1_0,
64263 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64264 MVT::f64, 2, 2, 3,
64265 OPC_EmitInteger32, 0,
64266 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64267 MVT::v2i64, 2, 4, 5,
64268 0,
64269 55,
64270 OPC_CheckPredicate2,
64271 OPC_SwitchType , 24, MVT::i32,
64272 OPC_MoveParent,
64273 OPC_CheckType, MVT::v4i32,
64274 OPC_CheckPatternPredicate7,
64275 OPC_CheckComplexPat0, /*#*/1,
64276 OPC_EmitMergeInputChains1_0,
64277 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64278 MVT::f64, 2, 2, 3,
64279 OPC_EmitInteger32, 2,
64280 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
64281 MVT::v4i32, 2, 4, 5,
64282 24, MVT::i64,
64283 OPC_MoveParent,
64284 OPC_CheckType, MVT::v2i64,
64285 OPC_CheckPatternPredicate7,
64286 OPC_CheckComplexPat0, /*#*/1,
64287 OPC_EmitMergeInputChains1_0,
64288 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64289 MVT::f64, 2, 2, 3,
64290 OPC_EmitInteger32, 0,
64291 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64292 MVT::v2i64, 2, 4, 5,
64293 0,
64294 0,
64295 113,
64296 OPC_CheckPredicate, 9,
64297 OPC_CheckTypeI32,
64298 OPC_Scope, 26,
64299 OPC_CheckPredicate4,
64300 OPC_MoveParent,
64301 OPC_CheckType, MVT::v16i8,
64302 OPC_CheckPatternPredicate, 59,
64303 OPC_CheckComplexPat0, /*#*/1,
64304 OPC_EmitMergeInputChains1_0,
64305 OPC_EmitInteger32, 14,
64306 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64307 MVT::f64, 2, 2, 3,
64308 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
64309 MVT::v16i8, 2, 4, 5,
64310 26,
64311 OPC_CheckPredicate2,
64312 OPC_MoveParent,
64313 OPC_CheckType, MVT::v8i16,
64314 OPC_CheckPatternPredicate, 59,
64315 OPC_CheckComplexPat0, /*#*/1,
64316 OPC_EmitMergeInputChains1_0,
64317 OPC_EmitInteger32, 6,
64318 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64319 MVT::f64, 2, 2, 3,
64320 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
64321 MVT::v8i16, 2, 4, 5,
64322 26,
64323 OPC_CheckPredicate4,
64324 OPC_MoveParent,
64325 OPC_CheckType, MVT::v16i8,
64326 OPC_CheckPatternPredicate, 14,
64327 OPC_CheckComplexPat0, /*#*/1,
64328 OPC_EmitMergeInputChains1_0,
64329 OPC_EmitInteger32, 14,
64330 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
64331 MVT::f64, 2, 2, 3,
64332 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
64333 MVT::v16i8, 2, 4, 5,
64334 26,
64335 OPC_CheckPredicate2,
64336 OPC_MoveParent,
64337 OPC_CheckType, MVT::v8i16,
64338 OPC_CheckPatternPredicate, 14,
64339 OPC_CheckComplexPat0, /*#*/1,
64340 OPC_EmitMergeInputChains1_0,
64341 OPC_EmitInteger32, 6,
64342 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64343 MVT::f64, 2, 2, 3,
64344 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
64345 MVT::v8i16, 2, 4, 5,
64346 0,
64347 55,
64348 OPC_CheckPredicate5,
64349 OPC_CheckTypeI64,
64350 OPC_MoveParent,
64351 OPC_CheckType, MVT::v2i64,
64352 OPC_Scope, 25,
64353 OPC_CheckPatternPredicate, 9,
64354 OPC_CheckComplexPat4, /*#*/1,
64355 OPC_EmitMergeInputChains1_0,
64356 OPC_EmitInteger64, 2,
64357 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64358 MVT::f64, 2, 2, 3,
64359 OPC_EmitStringInteger32, PPC::sub_64,
64360 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64361 MVT::v2i64, 3, 4, 5, 6,
64362 21,
64363 OPC_CheckPatternPredicate6,
64364 OPC_CheckComplexPat4, /*#*/1,
64365 OPC_EmitMergeInputChains1_0,
64366 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64367 MVT::f64, 2, 2, 3,
64368 OPC_EmitInteger32, 4,
64369 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64370 MVT::v2i64, 2, 4, 5,
64371 0,
64372 59,
64373 OPC_CheckPredicate, 9,
64374 OPC_CheckTypeI32,
64375 OPC_Scope, 26,
64376 OPC_CheckPredicate2,
64377 OPC_MoveParent,
64378 OPC_CheckType, MVT::v8i16,
64379 OPC_CheckPatternPredicate, 41,
64380 OPC_CheckComplexPat0, /*#*/1,
64381 OPC_EmitMergeInputChains1_0,
64382 OPC_EmitNode1, TARGET_VAL(PPC::LXVRHX), 0|OPFL_Chain|OPFL_MemRefs,
64383 MVT::v4i32, 2, 2, 3,
64384 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
64385 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64386 MVT::v8i16, 2, 4, 5,
64387 26,
64388 OPC_CheckPredicate4,
64389 OPC_MoveParent,
64390 OPC_CheckType, MVT::v16i8,
64391 OPC_CheckPatternPredicate, 41,
64392 OPC_CheckComplexPat0, /*#*/1,
64393 OPC_EmitMergeInputChains1_0,
64394 OPC_EmitNode1, TARGET_VAL(PPC::LXVRBX), 0|OPFL_Chain|OPFL_MemRefs,
64395 MVT::v4i32, 2, 2, 3,
64396 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
64397 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64398 MVT::v16i8, 2, 4, 5,
64399 0,
64400 104,
64401 OPC_CheckPredicate5,
64402 OPC_CheckTypeI64,
64403 OPC_MoveParent,
64404 OPC_CheckType, MVT::v2i64,
64405 OPC_Scope, 22,
64406 OPC_CheckPatternPredicate, 50,
64407 OPC_CheckComplexPat0, /*#*/1,
64408 OPC_EmitMergeInputChains1_0,
64409 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64410 MVT::f64, 2, 2, 3,
64411 OPC_EmitInteger32, 4,
64412 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64413 MVT::v2i64, 2, 4, 5,
64414 25,
64415 OPC_CheckPatternPredicate, 42,
64416 OPC_CheckComplexPat0, /*#*/1,
64417 OPC_EmitMergeInputChains1_0,
64418 OPC_EmitInteger64, 2,
64419 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64420 MVT::f64, 2, 2, 3,
64421 OPC_EmitStringInteger32, PPC::sub_64,
64422 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64423 MVT::v2i64, 3, 4, 5, 6,
64424 25,
64425 OPC_CheckPatternPredicate, 9,
64426 OPC_CheckComplexPat1, /*#*/1,
64427 OPC_EmitMergeInputChains1_0,
64428 OPC_EmitInteger64, 2,
64429 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64430 MVT::f64, 2, 2, 3,
64431 OPC_EmitStringInteger32, PPC::sub_64,
64432 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64433 MVT::v2i64, 3, 4, 5, 6,
64434 21,
64435 OPC_CheckPatternPredicate6,
64436 OPC_CheckComplexPat1, /*#*/1,
64437 OPC_EmitMergeInputChains1_0,
64438 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64439 MVT::f64, 2, 2, 3,
64440 OPC_EmitInteger32, 4,
64441 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64442 MVT::v2i64, 2, 4, 5,
64443 0,
64444 69,
64445 OPC_CheckPredicate, 19,
64446 OPC_CheckPredicate2,
64447 OPC_SwitchType , 30, MVT::i32,
64448 OPC_MoveParent,
64449 OPC_CheckType, MVT::v4i32,
64450 OPC_CheckPatternPredicate7,
64451 OPC_CheckComplexPat0, /*#*/1,
64452 OPC_EmitMergeInputChains1_0,
64453 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64454 MVT::f64, 2, 2, 3,
64455 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ws),
64456 MVT::f64, 1, 4,
64457 OPC_EmitInteger32, 2,
64458 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSPLTWs),
64459 MVT::v4i32, 2, 5, 6,
64460 30, MVT::i64,
64461 OPC_MoveParent,
64462 OPC_CheckType, MVT::v2i64,
64463 OPC_CheckPatternPredicate7,
64464 OPC_CheckComplexPat0, /*#*/1,
64465 OPC_EmitMergeInputChains1_0,
64466 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
64467 MVT::f64, 2, 2, 3,
64468 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ds),
64469 MVT::f64, 1, 4,
64470 OPC_EmitInteger32, 0,
64471 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64472 MVT::v2i64, 2, 5, 6,
64473 0,
64474 0,
64475 0,
64476 18|128,4,
64477 OPC_RecordChild0,
64478 OPC_Scope, 59|128,3,
64479 OPC_CheckChild0TypeI32,
64480 OPC_SwitchType , 15|128,1, MVT::v4i32,
64481 OPC_Scope, 7,
64482 OPC_CheckPatternPredicate7,
64483 OPC_MorphNodeTo1None, TARGET_VAL(PPC::MTVSRWS),
64484 MVT::v4i32, 1, 0,
64485 47,
64486 OPC_CheckPatternPredicate, 38,
64487 OPC_EmitInteger64, 2,
64488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64489 MVT::i64, 0,
64490 OPC_EmitStringInteger32, PPC::sub_32,
64491 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64492 MVT::i64, 3, 2, 0, 3,
64493 OPC_EmitInteger32, 64,
64494 OPC_EmitInteger32, 62,
64495 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
64496 MVT::i64, 3, 4, 5, 6,
64497 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64498 MVT::f64, 1, 7,
64499 OPC_EmitStringInteger32, PPC::sub_64,
64500 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64501 MVT::v4i32, 3, 1, 8, 9,
64502 84,
64503 OPC_CheckPatternPredicate, 36,
64504 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64505 MVT::v2i64, 0,
64506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64507 MVT::i64, 0,
64508 OPC_EmitStringInteger32, PPC::sub_32,
64509 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64510 MVT::i64, 3, 2, 0, 3,
64511 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64512 MVT::f64, 1, 4,
64513 OPC_EmitStringInteger32, PPC::sub_64,
64514 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64515 MVT::v2i64, 3, 1, 5, 6,
64516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64517 MVT::v2i64, 0,
64518 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64519 MVT::i64, 0,
64520 OPC_EmitStringInteger32, PPC::sub_32,
64521 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64522 MVT::i64, 3, 9, 0, 10,
64523 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64524 MVT::f64, 1, 11,
64525 OPC_EmitStringInteger32, PPC::sub_64,
64526 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64527 MVT::v2i64, 3, 8, 12, 13,
64528 OPC_EmitInteger32, 4,
64529 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
64530 MVT::v4i32, 3, 7, 14, 15,
64531 0,
64532 16|128,1, MVT::v16i8,
64533 OPC_Scope, 47,
64534 OPC_CheckPatternPredicate, 38,
64535 OPC_EmitInteger64, 2,
64536 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64537 MVT::i64, 0,
64538 OPC_EmitStringInteger32, PPC::sub_32,
64539 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64540 MVT::i64, 3, 2, 0, 3,
64541 OPC_EmitInteger32, 112,
64542 OPC_EmitInteger32, 14,
64543 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
64544 MVT::i64, 3, 4, 5, 6,
64545 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64546 MVT::f64, 1, 7,
64547 OPC_EmitStringInteger32, PPC::sub_64,
64548 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64549 MVT::v16i8, 3, 1, 8, 9,
64550 93,
64551 OPC_CheckPatternPredicate, 36,
64552 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64553 MVT::v2i64, 0,
64554 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64555 MVT::i64, 0,
64556 OPC_EmitStringInteger32, PPC::sub_32,
64557 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64558 MVT::i64, 3, 2, 0, 3,
64559 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64560 MVT::f64, 1, 4,
64561 OPC_EmitStringInteger32, PPC::sub_64,
64562 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64563 MVT::v2i64, 3, 1, 5, 6,
64564 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64565 MVT::v2i64, 0,
64566 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64567 MVT::i64, 0,
64568 OPC_EmitStringInteger32, PPC::sub_32,
64569 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64570 MVT::i64, 3, 9, 0, 10,
64571 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64572 MVT::f64, 1, 11,
64573 OPC_EmitStringInteger32, PPC::sub_64,
64574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64575 MVT::v2i64, 3, 8, 12, 13,
64576 OPC_EmitInteger32, 4,
64577 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
64578 MVT::v4i32, 3, 7, 14, 15,
64579 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
64580 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64581 MVT::v16i8, 2, 16, 17,
64582 0,
64583 16|128,1, MVT::v8i16,
64584 OPC_Scope, 47,
64585 OPC_CheckPatternPredicate, 38,
64586 OPC_EmitInteger64, 2,
64587 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64588 MVT::i64, 0,
64589 OPC_EmitStringInteger32, PPC::sub_32,
64590 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64591 MVT::i64, 3, 2, 0, 3,
64592 OPC_EmitInteger32, 96,
64593 OPC_EmitInteger32, 30,
64594 OPC_EmitNode1None, TARGET_VAL(PPC::RLDICR),
64595 MVT::i64, 3, 4, 5, 6,
64596 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64597 MVT::f64, 1, 7,
64598 OPC_EmitStringInteger32, PPC::sub_64,
64599 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64600 MVT::v8i16, 3, 1, 8, 9,
64601 93,
64602 OPC_CheckPatternPredicate, 36,
64603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64604 MVT::v2i64, 0,
64605 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64606 MVT::i64, 0,
64607 OPC_EmitStringInteger32, PPC::sub_32,
64608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64609 MVT::i64, 3, 2, 0, 3,
64610 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64611 MVT::f64, 1, 4,
64612 OPC_EmitStringInteger32, PPC::sub_64,
64613 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64614 MVT::v2i64, 3, 1, 5, 6,
64615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64616 MVT::v2i64, 0,
64617 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64618 MVT::i64, 0,
64619 OPC_EmitStringInteger32, PPC::sub_32,
64620 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64621 MVT::i64, 3, 9, 0, 10,
64622 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64623 MVT::f64, 1, 11,
64624 OPC_EmitStringInteger32, PPC::sub_64,
64625 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64626 MVT::v2i64, 3, 8, 12, 13,
64627 OPC_EmitInteger32, 4,
64628 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
64629 MVT::v4i32, 3, 7, 14, 15,
64630 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
64631 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64632 MVT::v8i16, 2, 16, 17,
64633 0,
64634 0,
64635 81,
64636 OPC_CheckChild0TypeI64,
64637 OPC_CheckType, MVT::v2i64,
64638 OPC_Scope, 20,
64639 OPC_CheckPatternPredicate, 38,
64640 OPC_EmitInteger64, 2,
64641 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64642 MVT::f64, 1, 0,
64643 OPC_EmitStringInteger32, PPC::sub_64,
64644 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64645 MVT::v2i64, 3, 1, 2, 3,
64646 54,
64647 OPC_CheckPatternPredicate, 36,
64648 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64649 MVT::v2i64, 0,
64650 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64651 MVT::f64, 1, 0,
64652 OPC_EmitStringInteger32, PPC::sub_64,
64653 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64654 MVT::v2i64, 3, 1, 2, 3,
64655 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
64656 MVT::v2i64, 0,
64657 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
64658 MVT::f64, 1, 0,
64659 OPC_EmitStringInteger32, PPC::sub_64,
64660 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
64661 MVT::v2i64, 3, 5, 6, 7,
64662 OPC_EmitInteger32, 4,
64663 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
64664 MVT::v2i64, 3, 4, 8, 9,
64665 0,
64666 0,
64667 63|128,1,
64668 OPC_MoveChild0,
64669 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64670 OPC_RecordMemRef,
64671 OPC_RecordNode,
64672 OPC_RecordChild1,
64673 OPC_CheckPredicate, 11,
64674 OPC_CheckPredicate5,
64675 OPC_SwitchType , 51, MVT::f32,
64676 OPC_MoveParent,
64677 OPC_CheckType, MVT::v4f32,
64678 OPC_Scope, 22,
64679 OPC_CheckPatternPredicate, 28,
64680 OPC_CheckComplexPat0, /*#*/1,
64681 OPC_EmitMergeInputChains1_0,
64682 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64683 MVT::f64, 2, 2, 3,
64684 OPC_EmitInteger32, 2,
64685 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXSLDWIs),
64686 MVT::v4f32, 2, 4, 5,
64687 22,
64688 OPC_CheckPatternPredicate, 21,
64689 OPC_CheckComplexPat0, /*#*/1,
64690 OPC_EmitMergeInputChains1_0,
64691 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64692 MVT::f64, 2, 2, 3,
64693 OPC_EmitInteger32, 4,
64694 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64695 MVT::v4f32, 2, 4, 5,
64696 0,
64697 124, MVT::f64,
64698 OPC_MoveParent,
64699 OPC_CheckType, MVT::v2f64,
64700 OPC_Scope, 25,
64701 OPC_CheckPatternPredicate, 9,
64702 OPC_CheckComplexPat4, /*#*/1,
64703 OPC_EmitMergeInputChains1_0,
64704 OPC_EmitInteger64, 2,
64705 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64706 MVT::f64, 2, 2, 3,
64707 OPC_EmitStringInteger32, PPC::sub_64,
64708 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64709 MVT::v2f64, 3, 4, 5, 6,
64710 21,
64711 OPC_CheckPatternPredicate6,
64712 OPC_CheckComplexPat4, /*#*/1,
64713 OPC_EmitMergeInputChains1_0,
64714 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64715 MVT::f64, 2, 2, 3,
64716 OPC_EmitInteger32, 4,
64717 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64718 MVT::v2f64, 2, 4, 5,
64719 22,
64720 OPC_CheckPatternPredicate, 50,
64721 OPC_CheckComplexPat0, /*#*/1,
64722 OPC_EmitMergeInputChains1_0,
64723 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64724 MVT::f64, 2, 2, 3,
64725 OPC_EmitInteger32, 4,
64726 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64727 MVT::v2f64, 2, 4, 5,
64728 25,
64729 OPC_CheckPatternPredicate, 9,
64730 OPC_CheckComplexPat1, /*#*/1,
64731 OPC_EmitMergeInputChains1_0,
64732 OPC_EmitInteger64, 2,
64733 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64734 MVT::f64, 2, 2, 3,
64735 OPC_EmitStringInteger32, PPC::sub_64,
64736 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64737 MVT::v2f64, 3, 4, 5, 6,
64738 21,
64739 OPC_CheckPatternPredicate6,
64740 OPC_CheckComplexPat1, /*#*/1,
64741 OPC_EmitMergeInputChains1_0,
64742 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64743 MVT::f64, 2, 2, 3,
64744 OPC_EmitInteger32, 4,
64745 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
64746 MVT::v2f64, 2, 4, 5,
64747 0,
64748 0,
64749 101,
64750 OPC_RecordChild0,
64751 OPC_SwitchType , 56, MVT::v2f64,
64752 OPC_CheckChild0Type, MVT::f64,
64753 OPC_Scope, 14,
64754 OPC_CheckPatternPredicate, 17,
64755 OPC_EmitInteger64, 2,
64756 OPC_EmitStringInteger32, PPC::sub_64,
64757 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64758 MVT::v2f64, 3, 1, 0, 2,
64759 36,
64760 OPC_CheckPatternPredicate, 13,
64761 OPC_EmitInteger64, 2,
64762 OPC_EmitStringInteger32, PPC::sub_64,
64763 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64764 MVT::v4i32, 3, 1, 0, 2,
64765 OPC_EmitInteger64, 2,
64766 OPC_EmitStringInteger32, PPC::sub_64,
64767 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64768 MVT::v4i32, 3, 4, 0, 5,
64769 OPC_EmitInteger32, 0,
64770 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
64771 MVT::v2f64, 3, 3, 6, 7,
64772 0,
64773 38, MVT::v4f32,
64774 OPC_CheckChild0Type, MVT::f32,
64775 OPC_Scope, 8,
64776 OPC_CheckPatternPredicate, 28,
64777 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
64778 MVT::v4f32, 1, 0,
64779 24,
64780 OPC_CheckPatternPredicate, 21,
64781 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
64782 MVT::v4i32, 1, 0,
64783 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
64784 MVT::v4i32, 1, 0,
64785 OPC_EmitInteger32, 2,
64786 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSLDWI),
64787 MVT::v4f32, 3, 1, 2, 3,
64788 0,
64789 0,
64790 0,
64791 60|128,14, TARGET_VAL(PPCISD::SCALAR_TO_VECTOR_PERMUTED),
64792 OPC_Scope, 117|128,10,
64793 OPC_MoveChild0,
64794 OPC_SwitchOpcode , 73|128,5, TARGET_VAL(PPCISD::MFVSR),
64795 OPC_MoveChild0,
64796 OPC_SwitchOpcode , 8|128,1, TARGET_VAL(PPCISD::FCTIDZ),
64797 OPC_MoveChild0,
64798 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64799 OPC_RecordMemRef,
64800 OPC_RecordNode,
64801 OPC_CheckFoldableChainNode,
64802 OPC_RecordChild1,
64803 OPC_CheckPredicate, 11,
64804 OPC_Scope, 27,
64805 OPC_CheckPredicate5,
64806 OPC_MoveParent,
64807 OPC_CheckType, MVT::f64,
64808 OPC_MoveParent,
64809 OPC_CheckTypeI64,
64810 OPC_MoveParent,
64811 OPC_CheckType, MVT::v2i64,
64812 OPC_CheckPatternPredicate2,
64813 OPC_CheckComplexPat0, /*#*/1,
64814 OPC_EmitMergeInputChains1_0,
64815 OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
64816 MVT::v4i32, 2, 2, 3,
64817 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPSXDS),
64818 MVT::v2i64, 1, 4,
64819 95,
64820 OPC_CheckPredicate, 9,
64821 OPC_CheckPredicate, 17,
64822 OPC_MoveParent,
64823 OPC_CheckType, MVT::f64,
64824 OPC_MoveParent,
64825 OPC_CheckTypeI64,
64826 OPC_MoveParent,
64827 OPC_CheckType, MVT::v2i64,
64828 OPC_Scope, 39,
64829 OPC_CheckPatternPredicate7,
64830 OPC_CheckComplexPat4, /*#*/1,
64831 OPC_EmitMergeInputChains1_0,
64832 OPC_EmitInteger64, 2,
64833 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64834 MVT::f32, 2, 2, 3,
64835 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
64836 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64837 MVT::f64, 2, 5, 6,
64838 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
64839 MVT::f64, 1, 7,
64840 OPC_EmitStringInteger32, PPC::sub_64,
64841 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64842 MVT::v2i64, 3, 4, 8, 9,
64843 40,
64844 OPC_CheckPatternPredicate, 37,
64845 OPC_CheckComplexPat0, /*#*/1,
64846 OPC_EmitMergeInputChains1_0,
64847 OPC_EmitInteger64, 2,
64848 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64849 MVT::f32, 2, 2, 3,
64850 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
64851 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64852 MVT::f64, 2, 5, 6,
64853 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXDS),
64854 MVT::f64, 1, 7,
64855 OPC_EmitStringInteger32, PPC::sub_64,
64856 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64857 MVT::v2i64, 3, 4, 8, 9,
64858 0,
64859 0,
64860 8|128,1, TARGET_VAL(PPCISD::FCTIDUZ),
64861 OPC_MoveChild0,
64862 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64863 OPC_RecordMemRef,
64864 OPC_RecordNode,
64865 OPC_CheckFoldableChainNode,
64866 OPC_RecordChild1,
64867 OPC_CheckPredicate, 11,
64868 OPC_Scope, 27,
64869 OPC_CheckPredicate5,
64870 OPC_MoveParent,
64871 OPC_CheckType, MVT::f64,
64872 OPC_MoveParent,
64873 OPC_CheckTypeI64,
64874 OPC_MoveParent,
64875 OPC_CheckType, MVT::v2i64,
64876 OPC_CheckPatternPredicate2,
64877 OPC_CheckComplexPat0, /*#*/1,
64878 OPC_EmitMergeInputChains1_0,
64879 OPC_EmitNode1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
64880 MVT::v4i32, 2, 2, 3,
64881 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVDPUXDS),
64882 MVT::v2i64, 1, 4,
64883 95,
64884 OPC_CheckPredicate, 9,
64885 OPC_CheckPredicate, 17,
64886 OPC_MoveParent,
64887 OPC_CheckType, MVT::f64,
64888 OPC_MoveParent,
64889 OPC_CheckTypeI64,
64890 OPC_MoveParent,
64891 OPC_CheckType, MVT::v2i64,
64892 OPC_Scope, 39,
64893 OPC_CheckPatternPredicate7,
64894 OPC_CheckComplexPat4, /*#*/1,
64895 OPC_EmitMergeInputChains1_0,
64896 OPC_EmitInteger64, 2,
64897 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64898 MVT::f32, 2, 2, 3,
64899 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
64900 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64901 MVT::f64, 2, 5, 6,
64902 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
64903 MVT::f64, 1, 7,
64904 OPC_EmitStringInteger32, PPC::sub_64,
64905 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64906 MVT::v2i64, 3, 4, 8, 9,
64907 40,
64908 OPC_CheckPatternPredicate, 37,
64909 OPC_CheckComplexPat0, /*#*/1,
64910 OPC_EmitMergeInputChains1_0,
64911 OPC_EmitInteger64, 2,
64912 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64913 MVT::f32, 2, 2, 3,
64914 OPC_EmitStringInteger32, PPC::VSFRCRegClassID,
64915 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
64916 MVT::f64, 2, 5, 6,
64917 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXDS),
64918 MVT::f64, 1, 7,
64919 OPC_EmitStringInteger32, PPC::sub_64,
64920 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64921 MVT::v2i64, 3, 4, 8, 9,
64922 0,
64923 0,
64924 83|128,1, TARGET_VAL(PPCISD::FCTIWZ),
64925 OPC_Scope, 51|128,1,
64926 OPC_MoveChild0,
64927 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
64928 OPC_RecordMemRef,
64929 OPC_RecordNode,
64930 OPC_CheckFoldableChainNode,
64931 OPC_RecordChild1,
64932 OPC_CheckPredicate, 11,
64933 OPC_Scope, 42,
64934 OPC_CheckPredicate, 9,
64935 OPC_CheckPredicate, 17,
64936 OPC_MoveParent,
64937 OPC_CheckType, MVT::f64,
64938 OPC_MoveParent,
64939 OPC_CheckTypeI32,
64940 OPC_MoveParent,
64941 OPC_CheckType, MVT::v4i32,
64942 OPC_CheckPatternPredicate7,
64943 OPC_CheckComplexPat0, /*#*/1,
64944 OPC_EmitMergeInputChains1_0,
64945 OPC_EmitInteger64, 2,
64946 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
64947 MVT::f64, 2, 2, 3,
64948 OPC_EmitStringInteger32, PPC::sub_64,
64949 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64950 MVT::v4i32, 3, 4, 5, 6,
64951 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPSXWS),
64952 MVT::v4i32, 1, 7,
64953 39,
64954 OPC_CheckPredicate5,
64955 OPC_MoveParent,
64956 OPC_CheckType, MVT::f64,
64957 OPC_MoveParent,
64958 OPC_CheckTypeI32,
64959 OPC_MoveParent,
64960 OPC_CheckType, MVT::v4i32,
64961 OPC_CheckPatternPredicate7,
64962 OPC_CheckComplexPat4, /*#*/1,
64963 OPC_EmitMergeInputChains1_0,
64964 OPC_EmitInteger64, 2,
64965 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
64966 MVT::f64, 2, 2, 3,
64967 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
64968 MVT::f64, 1, 5,
64969 OPC_EmitStringInteger32, PPC::sub_64,
64970 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64971 MVT::v4i32, 3, 4, 6, 7,
64972 42,
64973 OPC_CheckPredicate, 9,
64974 OPC_CheckPredicate, 17,
64975 OPC_MoveParent,
64976 OPC_CheckType, MVT::f64,
64977 OPC_MoveParent,
64978 OPC_CheckTypeI32,
64979 OPC_MoveParent,
64980 OPC_CheckType, MVT::v4i32,
64981 OPC_CheckPatternPredicate2,
64982 OPC_CheckComplexPat0, /*#*/1,
64983 OPC_EmitMergeInputChains1_0,
64984 OPC_EmitInteger64, 2,
64985 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
64986 MVT::f32, 2, 2, 3,
64987 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWSs),
64988 MVT::f32, 1, 5,
64989 OPC_EmitStringInteger32, PPC::sub_64,
64990 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
64991 MVT::v4i32, 3, 4, 6, 7,
64992 40,
64993 OPC_CheckPredicate5,
64994 OPC_MoveParent,
64995 OPC_CheckType, MVT::f64,
64996 OPC_MoveParent,
64997 OPC_CheckTypeI32,
64998 OPC_MoveParent,
64999 OPC_CheckType, MVT::v4i32,
65000 OPC_CheckPatternPredicate, 37,
65001 OPC_CheckComplexPat0, /*#*/1,
65002 OPC_EmitMergeInputChains1_0,
65003 OPC_EmitInteger64, 2,
65004 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65005 MVT::f64, 2, 2, 3,
65006 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPSXWS),
65007 MVT::f64, 1, 5,
65008 OPC_EmitStringInteger32, PPC::sub_64,
65009 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65010 MVT::v4i32, 3, 4, 6, 7,
65011 0,
65012 27,
65013 OPC_RecordChild0,
65014 OPC_CheckType, MVT::f64,
65015 OPC_MoveParent,
65016 OPC_CheckTypeI32,
65017 OPC_MoveParent,
65018 OPC_CheckType, MVT::v4i32,
65019 OPC_CheckPatternPredicate2,
65020 OPC_EmitInteger64, 2,
65021 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65022 MVT::f64, 1, 0,
65023 OPC_EmitStringInteger32, PPC::sub_64,
65024 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65025 MVT::v4i32, 3, 1, 2, 3,
65026 0,
65027 83|128,1, TARGET_VAL(PPCISD::FCTIWUZ),
65028 OPC_Scope, 51|128,1,
65029 OPC_MoveChild0,
65030 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
65031 OPC_RecordMemRef,
65032 OPC_RecordNode,
65033 OPC_CheckFoldableChainNode,
65034 OPC_RecordChild1,
65035 OPC_CheckPredicate, 11,
65036 OPC_Scope, 42,
65037 OPC_CheckPredicate, 9,
65038 OPC_CheckPredicate, 17,
65039 OPC_MoveParent,
65040 OPC_CheckType, MVT::f64,
65041 OPC_MoveParent,
65042 OPC_CheckTypeI32,
65043 OPC_MoveParent,
65044 OPC_CheckType, MVT::v4i32,
65045 OPC_CheckPatternPredicate7,
65046 OPC_CheckComplexPat0, /*#*/1,
65047 OPC_EmitMergeInputChains1_0,
65048 OPC_EmitInteger64, 2,
65049 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65050 MVT::f64, 2, 2, 3,
65051 OPC_EmitStringInteger32, PPC::sub_64,
65052 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65053 MVT::v4i32, 3, 4, 5, 6,
65054 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XVCVSPUXWS),
65055 MVT::v4i32, 1, 7,
65056 39,
65057 OPC_CheckPredicate5,
65058 OPC_MoveParent,
65059 OPC_CheckType, MVT::f64,
65060 OPC_MoveParent,
65061 OPC_CheckTypeI32,
65062 OPC_MoveParent,
65063 OPC_CheckType, MVT::v4i32,
65064 OPC_CheckPatternPredicate7,
65065 OPC_CheckComplexPat4, /*#*/1,
65066 OPC_EmitMergeInputChains1_0,
65067 OPC_EmitInteger64, 2,
65068 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65069 MVT::f64, 2, 2, 3,
65070 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
65071 MVT::f64, 1, 5,
65072 OPC_EmitStringInteger32, PPC::sub_64,
65073 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65074 MVT::v4i32, 3, 4, 6, 7,
65075 42,
65076 OPC_CheckPredicate, 9,
65077 OPC_CheckPredicate, 17,
65078 OPC_MoveParent,
65079 OPC_CheckType, MVT::f64,
65080 OPC_MoveParent,
65081 OPC_CheckTypeI32,
65082 OPC_MoveParent,
65083 OPC_CheckType, MVT::v4i32,
65084 OPC_CheckPatternPredicate2,
65085 OPC_CheckComplexPat0, /*#*/1,
65086 OPC_EmitMergeInputChains1_0,
65087 OPC_EmitInteger64, 2,
65088 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf32), 0|OPFL_Chain|OPFL_MemRefs,
65089 MVT::f32, 2, 2, 3,
65090 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWSs),
65091 MVT::f32, 1, 5,
65092 OPC_EmitStringInteger32, PPC::sub_64,
65093 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65094 MVT::v4i32, 3, 4, 6, 7,
65095 40,
65096 OPC_CheckPredicate5,
65097 OPC_MoveParent,
65098 OPC_CheckType, MVT::f64,
65099 OPC_MoveParent,
65100 OPC_CheckTypeI32,
65101 OPC_MoveParent,
65102 OPC_CheckType, MVT::v4i32,
65103 OPC_CheckPatternPredicate, 37,
65104 OPC_CheckComplexPat0, /*#*/1,
65105 OPC_EmitMergeInputChains1_0,
65106 OPC_EmitInteger64, 2,
65107 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65108 MVT::f64, 2, 2, 3,
65109 OPC_EmitNode1Chain, TARGET_VAL(PPC::XSCVDPUXWS),
65110 MVT::f64, 1, 5,
65111 OPC_EmitStringInteger32, PPC::sub_64,
65112 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65113 MVT::v4i32, 3, 4, 6, 7,
65114 0,
65115 27,
65116 OPC_RecordChild0,
65117 OPC_CheckType, MVT::f64,
65118 OPC_MoveParent,
65119 OPC_CheckTypeI32,
65120 OPC_MoveParent,
65121 OPC_CheckType, MVT::v4i32,
65122 OPC_CheckPatternPredicate2,
65123 OPC_EmitInteger64, 2,
65124 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65125 MVT::f64, 1, 0,
65126 OPC_EmitStringInteger32, PPC::sub_64,
65127 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65128 MVT::v4i32, 3, 1, 2, 3,
65129 0,
65130 0,
65131 89, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
65132 OPC_MoveChild0,
65133 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
65134 OPC_RecordMemRef,
65135 OPC_RecordNode,
65136 OPC_CheckFoldableChainNode,
65137 OPC_RecordChild1,
65138 OPC_CheckPredicate, 11,
65139 OPC_CheckPredicate, 9,
65140 OPC_CheckPredicate4,
65141 OPC_MoveSibling1,
65142 OPC_CheckValueType, MVT::i8,
65143 OPC_MoveParent,
65144 OPC_SwitchType , 33, MVT::i32,
65145 OPC_MoveParent,
65146 OPC_CheckType, MVT::v4i32,
65147 OPC_CheckPatternPredicate7,
65148 OPC_CheckComplexPat0, /*#*/1,
65149 OPC_EmitMergeInputChains1_0,
65150 OPC_EmitInteger64, 2,
65151 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65152 MVT::f64, 2, 2, 3,
65153 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ws),
65154 MVT::f64, 1, 5,
65155 OPC_EmitStringInteger32, PPC::sub_64,
65156 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65157 MVT::v4i32, 3, 4, 6, 7,
65158 33, MVT::i64,
65159 OPC_MoveParent,
65160 OPC_CheckType, MVT::v2i64,
65161 OPC_CheckPatternPredicate7,
65162 OPC_CheckComplexPat0, /*#*/1,
65163 OPC_EmitMergeInputChains1_0,
65164 OPC_EmitInteger64, 2,
65165 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65166 MVT::f64, 2, 2, 3,
65167 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSB2Ds),
65168 MVT::f64, 1, 5,
65169 OPC_EmitStringInteger32, PPC::sub_64,
65170 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65171 MVT::v2i64, 3, 4, 6, 7,
65172 0,
65173 69|128,4, TARGET_VAL(ISD::LOAD),
65174 OPC_RecordMemRef,
65175 OPC_RecordNode,
65176 OPC_RecordChild1,
65177 OPC_CheckPredicate, 11,
65178 OPC_Scope, 30,
65179 OPC_CheckPredicate5,
65180 OPC_CheckTypeI32,
65181 OPC_MoveParent,
65182 OPC_CheckType, MVT::v4i32,
65183 OPC_CheckPatternPredicate, 28,
65184 OPC_CheckComplexPat0, /*#*/1,
65185 OPC_EmitMergeInputChains1_0,
65186 OPC_EmitInteger64, 2,
65187 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65188 MVT::f64, 2, 2, 3,
65189 OPC_EmitStringInteger32, PPC::sub_64,
65190 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65191 MVT::v4i32, 3, 4, 5, 6,
65192 33,
65193 OPC_CheckPredicate, 19,
65194 OPC_CheckPredicate, 8,
65195 OPC_CheckTypeI64,
65196 OPC_MoveParent,
65197 OPC_CheckType, MVT::v2i64,
65198 OPC_CheckPatternPredicate, 21,
65199 OPC_CheckComplexPat0, /*#*/1,
65200 OPC_EmitMergeInputChains1_0,
65201 OPC_EmitInteger64, 2,
65202 OPC_EmitNode1, TARGET_VAL(PPC::LIWAX), 0|OPFL_Chain|OPFL_MemRefs,
65203 MVT::f64, 2, 2, 3,
65204 OPC_EmitStringInteger32, PPC::sub_64,
65205 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65206 MVT::v2i64, 3, 4, 5, 6,
65207 33,
65208 OPC_CheckPredicate, 13,
65209 OPC_CheckPredicate, 8,
65210 OPC_CheckTypeI64,
65211 OPC_MoveParent,
65212 OPC_CheckType, MVT::v2i64,
65213 OPC_CheckPatternPredicate, 21,
65214 OPC_CheckComplexPat0, /*#*/1,
65215 OPC_EmitMergeInputChains1_0,
65216 OPC_EmitInteger64, 2,
65217 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65218 MVT::f64, 2, 2, 3,
65219 OPC_EmitStringInteger32, PPC::sub_64,
65220 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65221 MVT::v2i64, 3, 4, 5, 6,
65222 30,
65223 OPC_CheckPredicate5,
65224 OPC_CheckTypeI32,
65225 OPC_MoveParent,
65226 OPC_CheckType, MVT::v4i32,
65227 OPC_CheckPatternPredicate, 21,
65228 OPC_CheckComplexPat0, /*#*/1,
65229 OPC_EmitMergeInputChains1_0,
65230 OPC_EmitInteger64, 2,
65231 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65232 MVT::f64, 2, 2, 3,
65233 OPC_EmitStringInteger32, PPC::sub_64,
65234 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65235 MVT::v4i32, 3, 4, 5, 6,
65236 28|128,1,
65237 OPC_CheckPredicate, 13,
65238 OPC_Scope, 89,
65239 OPC_CheckPredicate4,
65240 OPC_SwitchType , 55, MVT::i32,
65241 OPC_MoveParent,
65242 OPC_SwitchType , 24, MVT::v8i16,
65243 OPC_CheckPatternPredicate7,
65244 OPC_CheckComplexPat0, /*#*/1,
65245 OPC_EmitMergeInputChains1_0,
65246 OPC_EmitInteger64, 2,
65247 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65248 MVT::f64, 2, 2, 3,
65249 OPC_EmitStringInteger32, PPC::sub_64,
65250 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65251 MVT::v8i16, 3, 4, 5, 6,
65252 24, MVT::v4i32,
65253 OPC_CheckPatternPredicate7,
65254 OPC_CheckComplexPat0, /*#*/1,
65255 OPC_EmitMergeInputChains1_0,
65256 OPC_EmitInteger64, 2,
65257 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65258 MVT::f64, 2, 2, 3,
65259 OPC_EmitStringInteger32, PPC::sub_64,
65260 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65261 MVT::v4i32, 3, 4, 5, 6,
65262 0,
65263 27, MVT::i64,
65264 OPC_MoveParent,
65265 OPC_CheckType, MVT::v2i64,
65266 OPC_CheckPatternPredicate7,
65267 OPC_CheckComplexPat0, /*#*/1,
65268 OPC_EmitMergeInputChains1_0,
65269 OPC_EmitInteger64, 2,
65270 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65271 MVT::f64, 2, 2, 3,
65272 OPC_EmitStringInteger32, PPC::sub_64,
65273 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65274 MVT::v2i64, 3, 4, 5, 6,
65275 0,
65276 61,
65277 OPC_CheckPredicate2,
65278 OPC_SwitchType , 27, MVT::i32,
65279 OPC_MoveParent,
65280 OPC_CheckType, MVT::v4i32,
65281 OPC_CheckPatternPredicate7,
65282 OPC_CheckComplexPat0, /*#*/1,
65283 OPC_EmitMergeInputChains1_0,
65284 OPC_EmitInteger64, 2,
65285 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65286 MVT::f64, 2, 2, 3,
65287 OPC_EmitStringInteger32, PPC::sub_64,
65288 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65289 MVT::v4i32, 3, 4, 5, 6,
65290 27, MVT::i64,
65291 OPC_MoveParent,
65292 OPC_CheckType, MVT::v2i64,
65293 OPC_CheckPatternPredicate7,
65294 OPC_CheckComplexPat0, /*#*/1,
65295 OPC_EmitMergeInputChains1_0,
65296 OPC_EmitInteger64, 2,
65297 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65298 MVT::f64, 2, 2, 3,
65299 OPC_EmitStringInteger32, PPC::sub_64,
65300 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65301 MVT::v2i64, 3, 4, 5, 6,
65302 0,
65303 0,
65304 125,
65305 OPC_CheckPredicate, 9,
65306 OPC_CheckTypeI32,
65307 OPC_Scope, 29,
65308 OPC_CheckPredicate4,
65309 OPC_MoveParent,
65310 OPC_CheckType, MVT::v16i8,
65311 OPC_CheckPatternPredicate, 59,
65312 OPC_CheckComplexPat0, /*#*/1,
65313 OPC_EmitMergeInputChains1_0,
65314 OPC_EmitInteger64, 2,
65315 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65316 MVT::f64, 2, 2, 3,
65317 OPC_EmitStringInteger32, PPC::sub_64,
65318 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65319 MVT::v16i8, 3, 4, 5, 6,
65320 29,
65321 OPC_CheckPredicate2,
65322 OPC_MoveParent,
65323 OPC_CheckType, MVT::v8i16,
65324 OPC_CheckPatternPredicate, 59,
65325 OPC_CheckComplexPat0, /*#*/1,
65326 OPC_EmitMergeInputChains1_0,
65327 OPC_EmitInteger64, 2,
65328 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65329 MVT::f64, 2, 2, 3,
65330 OPC_EmitStringInteger32, PPC::sub_64,
65331 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65332 MVT::v8i16, 3, 4, 5, 6,
65333 29,
65334 OPC_CheckPredicate4,
65335 OPC_MoveParent,
65336 OPC_CheckType, MVT::v16i8,
65337 OPC_CheckPatternPredicate, 14,
65338 OPC_CheckComplexPat0, /*#*/1,
65339 OPC_EmitMergeInputChains1_0,
65340 OPC_EmitInteger64, 2,
65341 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
65342 MVT::f64, 2, 2, 3,
65343 OPC_EmitStringInteger32, PPC::sub_64,
65344 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65345 MVT::v16i8, 3, 4, 5, 6,
65346 29,
65347 OPC_CheckPredicate2,
65348 OPC_MoveParent,
65349 OPC_CheckType, MVT::v8i16,
65350 OPC_CheckPatternPredicate, 14,
65351 OPC_CheckComplexPat0, /*#*/1,
65352 OPC_EmitMergeInputChains1_0,
65353 OPC_EmitInteger64, 2,
65354 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65355 MVT::f64, 2, 2, 3,
65356 OPC_EmitStringInteger32, PPC::sub_64,
65357 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65358 MVT::v8i16, 3, 4, 5, 6,
65359 0,
65360 83,
65361 OPC_CheckPredicate5,
65362 OPC_CheckTypeI64,
65363 OPC_MoveParent,
65364 OPC_CheckType, MVT::v2i64,
65365 OPC_Scope, 24,
65366 OPC_CheckPatternPredicate6,
65367 OPC_CheckComplexPat4, /*#*/1,
65368 OPC_EmitMergeInputChains1_0,
65369 OPC_EmitInteger64, 2,
65370 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65371 MVT::f64, 2, 2, 3,
65372 OPC_EmitStringInteger32, PPC::sub_64,
65373 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65374 MVT::v2i64, 3, 4, 5, 6,
65375 25,
65376 OPC_CheckPatternPredicate, 50,
65377 OPC_CheckComplexPat0, /*#*/1,
65378 OPC_EmitMergeInputChains1_0,
65379 OPC_EmitInteger64, 2,
65380 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65381 MVT::f64, 2, 2, 3,
65382 OPC_EmitStringInteger32, PPC::sub_64,
65383 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65384 MVT::v2i64, 3, 4, 5, 6,
65385 24,
65386 OPC_CheckPatternPredicate6,
65387 OPC_CheckComplexPat1, /*#*/1,
65388 OPC_EmitMergeInputChains1_0,
65389 OPC_EmitInteger64, 2,
65390 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65391 MVT::f64, 2, 2, 3,
65392 OPC_EmitStringInteger32, PPC::sub_64,
65393 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65394 MVT::v2i64, 3, 4, 5, 6,
65395 0,
65396 75,
65397 OPC_CheckPredicate, 19,
65398 OPC_CheckPredicate2,
65399 OPC_SwitchType , 33, MVT::i32,
65400 OPC_MoveParent,
65401 OPC_CheckType, MVT::v4i32,
65402 OPC_CheckPatternPredicate7,
65403 OPC_CheckComplexPat0, /*#*/1,
65404 OPC_EmitMergeInputChains1_0,
65405 OPC_EmitInteger64, 2,
65406 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65407 MVT::f64, 2, 2, 3,
65408 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ws),
65409 MVT::f64, 1, 5,
65410 OPC_EmitStringInteger32, PPC::sub_64,
65411 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65412 MVT::v4i32, 3, 4, 6, 7,
65413 33, MVT::i64,
65414 OPC_MoveParent,
65415 OPC_CheckType, MVT::v2i64,
65416 OPC_CheckPatternPredicate7,
65417 OPC_CheckComplexPat0, /*#*/1,
65418 OPC_EmitMergeInputChains1_0,
65419 OPC_EmitInteger64, 2,
65420 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
65421 MVT::f64, 2, 2, 3,
65422 OPC_EmitNode1Chain, TARGET_VAL(PPC::VEXTSH2Ds),
65423 MVT::f64, 1, 5,
65424 OPC_EmitStringInteger32, PPC::sub_64,
65425 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65426 MVT::v2i64, 3, 4, 6, 7,
65427 0,
65428 0,
65429 0,
65430 119|128,1,
65431 OPC_RecordChild0,
65432 OPC_Scope, 87|128,1,
65433 OPC_CheckChild0TypeI32,
65434 OPC_SwitchType , 71, MVT::v16i8,
65435 OPC_Scope, 20,
65436 OPC_CheckPatternPredicate, 38,
65437 OPC_EmitInteger64, 2,
65438 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65439 MVT::f64, 1, 0,
65440 OPC_EmitStringInteger32, PPC::sub_64,
65441 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65442 MVT::v16i8, 3, 1, 2, 3,
65443 47,
65444 OPC_CheckPatternPredicate, 36,
65445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
65446 MVT::v2i64, 0,
65447 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
65448 MVT::i64, 0,
65449 OPC_EmitStringInteger32, PPC::sub_32,
65450 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
65451 MVT::i64, 3, 2, 0, 3,
65452 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
65453 MVT::f64, 1, 4,
65454 OPC_EmitStringInteger32, PPC::sub_64,
65455 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
65456 MVT::v2i64, 3, 1, 5, 6,
65457 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
65458 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
65459 MVT::v16i8, 2, 7, 8,
65460 0,
65461 71, MVT::v8i16,
65462 OPC_Scope, 20,
65463 OPC_CheckPatternPredicate, 38,
65464 OPC_EmitInteger64, 2,
65465 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65466 MVT::f64, 1, 0,
65467 OPC_EmitStringInteger32, PPC::sub_64,
65468 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65469 MVT::v8i16, 3, 1, 2, 3,
65470 47,
65471 OPC_CheckPatternPredicate, 36,
65472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
65473 MVT::v2i64, 0,
65474 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
65475 MVT::i64, 0,
65476 OPC_EmitStringInteger32, PPC::sub_32,
65477 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
65478 MVT::i64, 3, 2, 0, 3,
65479 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
65480 MVT::f64, 1, 4,
65481 OPC_EmitStringInteger32, PPC::sub_64,
65482 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
65483 MVT::v2i64, 3, 1, 5, 6,
65484 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
65485 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
65486 MVT::v8i16, 2, 7, 8,
65487 0,
65488 64, MVT::v4i32,
65489 OPC_Scope, 20,
65490 OPC_CheckPatternPredicate, 38,
65491 OPC_EmitInteger64, 2,
65492 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65493 MVT::f64, 1, 0,
65494 OPC_EmitStringInteger32, PPC::sub_64,
65495 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65496 MVT::v4i32, 3, 1, 2, 3,
65497 20,
65498 OPC_CheckPatternPredicate, 36,
65499 OPC_EmitInteger64, 2,
65500 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65501 MVT::f64, 1, 0,
65502 OPC_EmitStringInteger32, PPC::sub_64,
65503 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65504 MVT::v4i32, 3, 1, 2, 3,
65505 19,
65506 OPC_CheckPatternPredicate7,
65507 OPC_EmitInteger64, 2,
65508 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65509 MVT::f64, 1, 0,
65510 OPC_EmitStringInteger32, PPC::sub_64,
65511 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65512 MVT::v4i32, 3, 1, 2, 3,
65513 0,
65514 0,
65515 26,
65516 OPC_CheckChild0TypeI64,
65517 OPC_CheckType, MVT::v2i64,
65518 OPC_CheckPatternPredicate, 36,
65519 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
65520 MVT::v2i64, 0,
65521 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRD),
65522 MVT::f64, 1, 0,
65523 OPC_EmitStringInteger32, PPC::sub_64,
65524 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
65525 MVT::v2i64, 3, 1, 2, 3,
65526 0,
65527 26|128,1,
65528 OPC_MoveChild0,
65529 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
65530 OPC_RecordMemRef,
65531 OPC_RecordNode,
65532 OPC_RecordChild1,
65533 OPC_CheckPredicate, 11,
65534 OPC_CheckPredicate5,
65535 OPC_SwitchType , 57, MVT::f32,
65536 OPC_MoveParent,
65537 OPC_CheckType, MVT::v4f32,
65538 OPC_Scope, 25,
65539 OPC_CheckPatternPredicate, 28,
65540 OPC_CheckComplexPat0, /*#*/1,
65541 OPC_EmitMergeInputChains1_0,
65542 OPC_EmitInteger64, 2,
65543 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65544 MVT::f64, 2, 2, 3,
65545 OPC_EmitStringInteger32, PPC::sub_64,
65546 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65547 MVT::v4f32, 3, 4, 5, 6,
65548 25,
65549 OPC_CheckPatternPredicate, 21,
65550 OPC_CheckComplexPat0, /*#*/1,
65551 OPC_EmitMergeInputChains1_0,
65552 OPC_EmitInteger64, 2,
65553 OPC_EmitNode1, TARGET_VAL(PPC::LIWZX), 0|OPFL_Chain|OPFL_MemRefs,
65554 MVT::f64, 2, 2, 3,
65555 OPC_EmitStringInteger32, PPC::sub_64,
65556 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65557 MVT::v4f32, 3, 4, 5, 6,
65558 0,
65559 81, MVT::f64,
65560 OPC_MoveParent,
65561 OPC_CheckType, MVT::v2f64,
65562 OPC_Scope, 24,
65563 OPC_CheckPatternPredicate6,
65564 OPC_CheckComplexPat4, /*#*/1,
65565 OPC_EmitMergeInputChains1_0,
65566 OPC_EmitInteger64, 2,
65567 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65568 MVT::f64, 2, 2, 3,
65569 OPC_EmitStringInteger32, PPC::sub_64,
65570 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65571 MVT::v2f64, 3, 4, 5, 6,
65572 25,
65573 OPC_CheckPatternPredicate, 50,
65574 OPC_CheckComplexPat0, /*#*/1,
65575 OPC_EmitMergeInputChains1_0,
65576 OPC_EmitInteger64, 2,
65577 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65578 MVT::f64, 2, 2, 3,
65579 OPC_EmitStringInteger32, PPC::sub_64,
65580 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65581 MVT::v2f64, 3, 4, 5, 6,
65582 24,
65583 OPC_CheckPatternPredicate6,
65584 OPC_CheckComplexPat1, /*#*/1,
65585 OPC_EmitMergeInputChains1_0,
65586 OPC_EmitInteger64, 2,
65587 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
65588 MVT::f64, 2, 2, 3,
65589 OPC_EmitStringInteger32, PPC::sub_64,
65590 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65591 MVT::v2f64, 3, 4, 5, 6,
65592 0,
65593 0,
65594 45,
65595 OPC_RecordChild0,
65596 OPC_SwitchType , 16, MVT::v2f64,
65597 OPC_CheckChild0Type, MVT::f64,
65598 OPC_CheckPatternPredicate, 13,
65599 OPC_EmitInteger64, 2,
65600 OPC_EmitStringInteger32, PPC::sub_64,
65601 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65602 MVT::v2f64, 3, 1, 0, 2,
65603 22, MVT::v4f32,
65604 OPC_CheckChild0Type, MVT::f32,
65605 OPC_Scope, 8,
65606 OPC_CheckPatternPredicate, 28,
65607 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
65608 MVT::v4f32, 1, 0,
65609 8,
65610 OPC_CheckPatternPredicate, 21,
65611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XSCVDPSPN),
65612 MVT::v4f32, 1, 0,
65613 0,
65614 0,
65615 0,
65616 126|128,18, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
65617 OPC_RecordChild0,
65618 OPC_Scope, 49|128,4,
65619 OPC_MoveChild1,
65620 OPC_CheckOpcode, TARGET_VAL(PPCISD::MFVSR),
65621 OPC_MoveChild0,
65622 OPC_SwitchOpcode , 17|128,2, TARGET_VAL(PPCISD::FCTIWZ),
65623 OPC_RecordChild0,
65624 OPC_CheckType, MVT::f64,
65625 OPC_MoveParent,
65626 OPC_MoveParent,
65627 OPC_CheckType, MVT::v4i32,
65628 OPC_Scope, 65,
65629 OPC_CheckChild2Integer, 0,
65630 OPC_Scope, 30,
65631 OPC_CheckPatternPredicate, 14,
65632 OPC_EmitInteger64, 2,
65633 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65634 MVT::f64, 1, 1,
65635 OPC_EmitStringInteger32, PPC::sub_64,
65636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65637 MVT::v4i32, 3, 2, 3, 4,
65638 OPC_EmitInteger32, 0,
65639 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65640 MVT::v4i32, 3, 0, 5, 6,
65641 29,
65642 OPC_CheckPatternPredicate6,
65643 OPC_EmitInteger64, 2,
65644 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65645 MVT::f64, 1, 1,
65646 OPC_EmitStringInteger32, PPC::sub_64,
65647 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65648 MVT::v4i32, 3, 2, 3, 4,
65649 OPC_EmitInteger32, 24,
65650 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65651 MVT::v4i32, 3, 0, 5, 6,
65652 0,
65653 65,
65654 OPC_CheckChild2Integer, 2,
65655 OPC_Scope, 30,
65656 OPC_CheckPatternPredicate, 14,
65657 OPC_EmitInteger64, 2,
65658 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65659 MVT::f64, 1, 1,
65660 OPC_EmitStringInteger32, PPC::sub_64,
65661 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65662 MVT::v4i32, 3, 2, 3, 4,
65663 OPC_EmitInteger32, 8,
65664 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65665 MVT::v4i32, 3, 0, 5, 6,
65666 29,
65667 OPC_CheckPatternPredicate6,
65668 OPC_EmitInteger64, 2,
65669 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65670 MVT::f64, 1, 1,
65671 OPC_EmitStringInteger32, PPC::sub_64,
65672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65673 MVT::v4i32, 3, 2, 3, 4,
65674 OPC_EmitInteger32, 16,
65675 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65676 MVT::v4i32, 3, 0, 5, 6,
65677 0,
65678 65,
65679 OPC_CheckChild2Integer, 4,
65680 OPC_Scope, 30,
65681 OPC_CheckPatternPredicate, 14,
65682 OPC_EmitInteger64, 2,
65683 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65684 MVT::f64, 1, 1,
65685 OPC_EmitStringInteger32, PPC::sub_64,
65686 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65687 MVT::v4i32, 3, 2, 3, 4,
65688 OPC_EmitInteger32, 16,
65689 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65690 MVT::v4i32, 3, 0, 5, 6,
65691 29,
65692 OPC_CheckPatternPredicate6,
65693 OPC_EmitInteger64, 2,
65694 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65695 MVT::f64, 1, 1,
65696 OPC_EmitStringInteger32, PPC::sub_64,
65697 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65698 MVT::v4i32, 3, 2, 3, 4,
65699 OPC_EmitInteger32, 8,
65700 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65701 MVT::v4i32, 3, 0, 5, 6,
65702 0,
65703 65,
65704 OPC_CheckChild2Integer, 6,
65705 OPC_Scope, 30,
65706 OPC_CheckPatternPredicate, 14,
65707 OPC_EmitInteger64, 2,
65708 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65709 MVT::f64, 1, 1,
65710 OPC_EmitStringInteger32, PPC::sub_64,
65711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65712 MVT::v4i32, 3, 2, 3, 4,
65713 OPC_EmitInteger32, 24,
65714 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65715 MVT::v4i32, 3, 0, 5, 6,
65716 29,
65717 OPC_CheckPatternPredicate6,
65718 OPC_EmitInteger64, 2,
65719 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSXWS),
65720 MVT::f64, 1, 1,
65721 OPC_EmitStringInteger32, PPC::sub_64,
65722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65723 MVT::v4i32, 3, 2, 3, 4,
65724 OPC_EmitInteger32, 0,
65725 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65726 MVT::v4i32, 3, 0, 5, 6,
65727 0,
65728 0,
65729 17|128,2, TARGET_VAL(PPCISD::FCTIWUZ),
65730 OPC_RecordChild0,
65731 OPC_CheckType, MVT::f64,
65732 OPC_MoveParent,
65733 OPC_MoveParent,
65734 OPC_CheckType, MVT::v4i32,
65735 OPC_Scope, 65,
65736 OPC_CheckChild2Integer, 0,
65737 OPC_Scope, 30,
65738 OPC_CheckPatternPredicate, 14,
65739 OPC_EmitInteger64, 2,
65740 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65741 MVT::f64, 1, 1,
65742 OPC_EmitStringInteger32, PPC::sub_64,
65743 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65744 MVT::v4i32, 3, 2, 3, 4,
65745 OPC_EmitInteger32, 0,
65746 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65747 MVT::v4i32, 3, 0, 5, 6,
65748 29,
65749 OPC_CheckPatternPredicate6,
65750 OPC_EmitInteger64, 2,
65751 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65752 MVT::f64, 1, 1,
65753 OPC_EmitStringInteger32, PPC::sub_64,
65754 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65755 MVT::v4i32, 3, 2, 3, 4,
65756 OPC_EmitInteger32, 24,
65757 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65758 MVT::v4i32, 3, 0, 5, 6,
65759 0,
65760 65,
65761 OPC_CheckChild2Integer, 2,
65762 OPC_Scope, 30,
65763 OPC_CheckPatternPredicate, 14,
65764 OPC_EmitInteger64, 2,
65765 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65766 MVT::f64, 1, 1,
65767 OPC_EmitStringInteger32, PPC::sub_64,
65768 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65769 MVT::v4i32, 3, 2, 3, 4,
65770 OPC_EmitInteger32, 8,
65771 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65772 MVT::v4i32, 3, 0, 5, 6,
65773 29,
65774 OPC_CheckPatternPredicate6,
65775 OPC_EmitInteger64, 2,
65776 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65777 MVT::f64, 1, 1,
65778 OPC_EmitStringInteger32, PPC::sub_64,
65779 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65780 MVT::v4i32, 3, 2, 3, 4,
65781 OPC_EmitInteger32, 16,
65782 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65783 MVT::v4i32, 3, 0, 5, 6,
65784 0,
65785 65,
65786 OPC_CheckChild2Integer, 4,
65787 OPC_Scope, 30,
65788 OPC_CheckPatternPredicate, 14,
65789 OPC_EmitInteger64, 2,
65790 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65791 MVT::f64, 1, 1,
65792 OPC_EmitStringInteger32, PPC::sub_64,
65793 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65794 MVT::v4i32, 3, 2, 3, 4,
65795 OPC_EmitInteger32, 16,
65796 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65797 MVT::v4i32, 3, 0, 5, 6,
65798 29,
65799 OPC_CheckPatternPredicate6,
65800 OPC_EmitInteger64, 2,
65801 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65802 MVT::f64, 1, 1,
65803 OPC_EmitStringInteger32, PPC::sub_64,
65804 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65805 MVT::v4i32, 3, 2, 3, 4,
65806 OPC_EmitInteger32, 8,
65807 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65808 MVT::v4i32, 3, 0, 5, 6,
65809 0,
65810 65,
65811 OPC_CheckChild2Integer, 6,
65812 OPC_Scope, 30,
65813 OPC_CheckPatternPredicate, 14,
65814 OPC_EmitInteger64, 2,
65815 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65816 MVT::f64, 1, 1,
65817 OPC_EmitStringInteger32, PPC::sub_64,
65818 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65819 MVT::v4i32, 3, 2, 3, 4,
65820 OPC_EmitInteger32, 24,
65821 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65822 MVT::v4i32, 3, 0, 5, 6,
65823 29,
65824 OPC_CheckPatternPredicate6,
65825 OPC_EmitInteger64, 2,
65826 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPUXWS),
65827 MVT::f64, 1, 1,
65828 OPC_EmitStringInteger32, PPC::sub_64,
65829 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65830 MVT::v4i32, 3, 2, 3, 4,
65831 OPC_EmitInteger32, 0,
65832 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65833 MVT::v4i32, 3, 0, 5, 6,
65834 0,
65835 0,
65836 0,
65837 83|128,6,
65838 OPC_RecordChild1,
65839 OPC_Scope, 13|128,1,
65840 OPC_CheckChild2Integer, 0,
65841 OPC_SwitchType , 104, MVT::v4i32,
65842 OPC_Scope, 12,
65843 OPC_CheckPatternPredicate, 33,
65844 OPC_EmitInteger32, 24,
65845 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65846 MVT::v4i32, 3, 0, 2, 1,
65847 13,
65848 OPC_CheckChild2TypeI32,
65849 OPC_CheckPatternPredicate, 40,
65850 OPC_EmitInteger32, 0,
65851 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65852 MVT::v4i32, 3, 0, 2, 1,
65853 13,
65854 OPC_CheckChild2TypeI64,
65855 OPC_CheckPatternPredicate, 40,
65856 OPC_EmitInteger32, 0,
65857 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65858 MVT::v4i32, 3, 0, 2, 1,
65859 30,
65860 OPC_CheckPatternPredicate, 14,
65861 OPC_EmitInteger64, 2,
65862 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65863 MVT::f64, 1, 1,
65864 OPC_EmitStringInteger32, PPC::sub_64,
65865 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65866 MVT::v4i32, 3, 2, 3, 4,
65867 OPC_EmitInteger32, 0,
65868 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65869 MVT::v4i32, 3, 0, 5, 6,
65870 29,
65871 OPC_CheckPatternPredicate6,
65872 OPC_EmitInteger64, 2,
65873 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65874 MVT::f64, 1, 1,
65875 OPC_EmitStringInteger32, PPC::sub_64,
65876 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65877 MVT::v4i32, 3, 2, 3, 4,
65878 OPC_EmitInteger32, 24,
65879 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65880 MVT::v4i32, 3, 0, 5, 6,
65881 0,
65882 29, MVT::v2i64,
65883 OPC_Scope, 13,
65884 OPC_CheckChild2TypeI64,
65885 OPC_CheckPatternPredicate, 33,
65886 OPC_EmitInteger32, 16,
65887 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
65888 MVT::v2i64, 3, 0, 2, 1,
65889 12,
65890 OPC_CheckPatternPredicate, 40,
65891 OPC_EmitInteger32, 0,
65892 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
65893 MVT::v2i64, 3, 0, 2, 1,
65894 0,
65895 0,
65896 13|128,1,
65897 OPC_CheckChild2Integer, 2,
65898 OPC_SwitchType , 104, MVT::v4i32,
65899 OPC_Scope, 12,
65900 OPC_CheckPatternPredicate, 33,
65901 OPC_EmitInteger32, 16,
65902 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65903 MVT::v4i32, 3, 0, 2, 1,
65904 13,
65905 OPC_CheckChild2TypeI32,
65906 OPC_CheckPatternPredicate, 40,
65907 OPC_EmitInteger32, 8,
65908 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65909 MVT::v4i32, 3, 0, 2, 1,
65910 13,
65911 OPC_CheckChild2TypeI64,
65912 OPC_CheckPatternPredicate, 40,
65913 OPC_EmitInteger32, 8,
65914 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65915 MVT::v4i32, 3, 0, 2, 1,
65916 30,
65917 OPC_CheckPatternPredicate, 14,
65918 OPC_EmitInteger64, 2,
65919 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65920 MVT::f64, 1, 1,
65921 OPC_EmitStringInteger32, PPC::sub_64,
65922 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65923 MVT::v4i32, 3, 2, 3, 4,
65924 OPC_EmitInteger32, 8,
65925 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65926 MVT::v4i32, 3, 0, 5, 6,
65927 29,
65928 OPC_CheckPatternPredicate6,
65929 OPC_EmitInteger64, 2,
65930 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65931 MVT::f64, 1, 1,
65932 OPC_EmitStringInteger32, PPC::sub_64,
65933 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65934 MVT::v4i32, 3, 2, 3, 4,
65935 OPC_EmitInteger32, 16,
65936 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65937 MVT::v4i32, 3, 0, 5, 6,
65938 0,
65939 29, MVT::v2i64,
65940 OPC_Scope, 13,
65941 OPC_CheckChild2TypeI64,
65942 OPC_CheckPatternPredicate, 33,
65943 OPC_EmitInteger32, 0,
65944 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
65945 MVT::v2i64, 3, 0, 2, 1,
65946 12,
65947 OPC_CheckPatternPredicate, 40,
65948 OPC_EmitInteger32, 16,
65949 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSD),
65950 MVT::v2i64, 3, 0, 2, 1,
65951 0,
65952 0,
65953 108,
65954 OPC_CheckChild2Integer, 4,
65955 OPC_CheckType, MVT::v4i32,
65956 OPC_Scope, 12,
65957 OPC_CheckPatternPredicate, 33,
65958 OPC_EmitInteger32, 8,
65959 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65960 MVT::v4i32, 3, 0, 2, 1,
65961 13,
65962 OPC_CheckChild2TypeI32,
65963 OPC_CheckPatternPredicate, 40,
65964 OPC_EmitInteger32, 16,
65965 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65966 MVT::v4i32, 3, 0, 2, 1,
65967 13,
65968 OPC_CheckChild2TypeI64,
65969 OPC_CheckPatternPredicate, 40,
65970 OPC_EmitInteger32, 16,
65971 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
65972 MVT::v4i32, 3, 0, 2, 1,
65973 30,
65974 OPC_CheckPatternPredicate, 14,
65975 OPC_EmitInteger64, 2,
65976 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65977 MVT::f64, 1, 1,
65978 OPC_EmitStringInteger32, PPC::sub_64,
65979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65980 MVT::v4i32, 3, 2, 3, 4,
65981 OPC_EmitInteger32, 16,
65982 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65983 MVT::v4i32, 3, 0, 5, 6,
65984 29,
65985 OPC_CheckPatternPredicate6,
65986 OPC_EmitInteger64, 2,
65987 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
65988 MVT::f64, 1, 1,
65989 OPC_EmitStringInteger32, PPC::sub_64,
65990 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
65991 MVT::v4i32, 3, 2, 3, 4,
65992 OPC_EmitInteger32, 8,
65993 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
65994 MVT::v4i32, 3, 0, 5, 6,
65995 0,
65996 108,
65997 OPC_CheckChild2Integer, 6,
65998 OPC_CheckType, MVT::v4i32,
65999 OPC_Scope, 12,
66000 OPC_CheckPatternPredicate, 33,
66001 OPC_EmitInteger32, 0,
66002 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
66003 MVT::v4i32, 3, 0, 2, 1,
66004 13,
66005 OPC_CheckChild2TypeI32,
66006 OPC_CheckPatternPredicate, 40,
66007 OPC_EmitInteger32, 24,
66008 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
66009 MVT::v4i32, 3, 0, 2, 1,
66010 13,
66011 OPC_CheckChild2TypeI64,
66012 OPC_CheckPatternPredicate, 40,
66013 OPC_EmitInteger32, 24,
66014 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSW),
66015 MVT::v4i32, 3, 0, 2, 1,
66016 30,
66017 OPC_CheckPatternPredicate, 14,
66018 OPC_EmitInteger64, 2,
66019 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
66020 MVT::f64, 1, 1,
66021 OPC_EmitStringInteger32, PPC::sub_64,
66022 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66023 MVT::v4i32, 3, 2, 3, 4,
66024 OPC_EmitInteger32, 24,
66025 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66026 MVT::v4i32, 3, 0, 5, 6,
66027 29,
66028 OPC_CheckPatternPredicate6,
66029 OPC_EmitInteger64, 2,
66030 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
66031 MVT::f64, 1, 1,
66032 OPC_EmitStringInteger32, PPC::sub_64,
66033 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66034 MVT::v4i32, 3, 2, 3, 4,
66035 OPC_EmitInteger32, 0,
66036 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66037 MVT::v4i32, 3, 0, 5, 6,
66038 0,
66039 39,
66040 OPC_CheckChild1TypeI32,
66041 OPC_RecordChild2,
66042 OPC_CheckType, MVT::v16i8,
66043 OPC_Scope, 11,
66044 OPC_CheckChild2TypeI32,
66045 OPC_CheckPatternPredicate, 60,
66046 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
66047 MVT::v16i8, 3, 0, 2, 1,
66048 20,
66049 OPC_CheckChild2TypeI64,
66050 OPC_CheckPatternPredicate, 33,
66051 OPC_EmitStringInteger32, PPC::sub_32,
66052 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66053 MVT::i32, 2, 2, 3,
66054 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBRX),
66055 MVT::v16i8, 3, 0, 4, 1,
66056 0,
66057 29,
66058 OPC_RecordChild2,
66059 OPC_CheckChild2TypeI64,
66060 OPC_CheckType, MVT::v2i64,
66061 OPC_CheckPatternPredicate, 33,
66062 OPC_EmitInteger32, 6,
66063 OPC_EmitInteger32, 0,
66064 OPC_EmitInteger32, 56,
66065 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66066 MVT::i64, 4, 2, 3, 4, 5,
66067 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
66068 MVT::v2i64, 3, 0, 6, 1,
66069 30,
66070 OPC_CheckChild1TypeI32,
66071 OPC_RecordChild2,
66072 OPC_CheckChild2TypeI32,
66073 OPC_CheckType, MVT::v8i16,
66074 OPC_CheckPatternPredicate, 60,
66075 OPC_EmitInteger32, 2,
66076 OPC_EmitInteger32, 0,
66077 OPC_EmitInteger32, 60,
66078 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66079 MVT::i32, 4, 2, 3, 4, 5,
66080 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
66081 MVT::v8i16, 3, 0, 6, 1,
66082 29,
66083 OPC_RecordChild2,
66084 OPC_CheckChild2TypeI32,
66085 OPC_CheckType, MVT::v4i32,
66086 OPC_CheckPatternPredicate, 60,
66087 OPC_EmitInteger32, 4,
66088 OPC_EmitInteger32, 0,
66089 OPC_EmitInteger32, 58,
66090 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66091 MVT::i32, 4, 2, 3, 4, 5,
66092 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
66093 MVT::v4i32, 3, 0, 6, 1,
66094 24,
66095 OPC_CheckChild1TypeI32,
66096 OPC_RecordChild2,
66097 OPC_CheckChild2TypeI64,
66098 OPC_CheckType, MVT::v16i8,
66099 OPC_CheckPatternPredicate, 46,
66100 OPC_EmitStringInteger32, PPC::sub_32,
66101 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66102 MVT::i32, 2, 2, 3,
66103 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSBLX),
66104 MVT::v16i8, 3, 0, 4, 1,
66105 29,
66106 OPC_RecordChild2,
66107 OPC_CheckChild2TypeI64,
66108 OPC_CheckType, MVT::v2i64,
66109 OPC_CheckPatternPredicate, 46,
66110 OPC_EmitInteger32, 6,
66111 OPC_EmitInteger32, 0,
66112 OPC_EmitInteger32, 56,
66113 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66114 MVT::i64, 4, 2, 3, 4, 5,
66115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
66116 MVT::v2i64, 3, 0, 6, 1,
66117 39,
66118 OPC_CheckChild1TypeI32,
66119 OPC_RecordChild2,
66120 OPC_CheckChild2TypeI64,
66121 OPC_CheckType, MVT::v8i16,
66122 OPC_CheckPatternPredicate, 33,
66123 OPC_EmitStringInteger32, PPC::sub_32,
66124 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66125 MVT::i32, 2, 2, 3,
66126 OPC_EmitInteger32, 2,
66127 OPC_EmitInteger32, 0,
66128 OPC_EmitInteger32, 60,
66129 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66130 MVT::i32, 4, 4, 5, 6, 7,
66131 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHRX),
66132 MVT::v8i16, 3, 0, 8, 1,
66133 38,
66134 OPC_RecordChild2,
66135 OPC_CheckChild2TypeI64,
66136 OPC_CheckType, MVT::v4i32,
66137 OPC_CheckPatternPredicate, 33,
66138 OPC_EmitStringInteger32, PPC::sub_32,
66139 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66140 MVT::i32, 2, 2, 3,
66141 OPC_EmitInteger32, 4,
66142 OPC_EmitInteger32, 0,
66143 OPC_EmitInteger32, 58,
66144 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66145 MVT::i32, 4, 4, 5, 6, 7,
66146 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWRX),
66147 MVT::v4i32, 3, 0, 8, 1,
66148 39,
66149 OPC_CheckChild1TypeI32,
66150 OPC_RecordChild2,
66151 OPC_CheckChild2TypeI64,
66152 OPC_CheckType, MVT::v8i16,
66153 OPC_CheckPatternPredicate, 46,
66154 OPC_EmitStringInteger32, PPC::sub_32,
66155 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66156 MVT::i32, 2, 2, 3,
66157 OPC_EmitInteger32, 2,
66158 OPC_EmitInteger32, 0,
66159 OPC_EmitInteger32, 60,
66160 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66161 MVT::i32, 4, 4, 5, 6, 7,
66162 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSHLX),
66163 MVT::v8i16, 3, 0, 8, 1,
66164 38,
66165 OPC_RecordChild2,
66166 OPC_CheckChild2TypeI64,
66167 OPC_CheckType, MVT::v4i32,
66168 OPC_CheckPatternPredicate, 46,
66169 OPC_EmitStringInteger32, PPC::sub_32,
66170 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66171 MVT::i32, 2, 2, 3,
66172 OPC_EmitInteger32, 4,
66173 OPC_EmitInteger32, 0,
66174 OPC_EmitInteger32, 58,
66175 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66176 MVT::i32, 4, 4, 5, 6, 7,
66177 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWLX),
66178 MVT::v4i32, 3, 0, 8, 1,
66179 0,
66180 20|128,2,
66181 OPC_MoveChild1,
66182 OPC_CheckOpcode, TARGET_VAL(ISD::FP_ROUND),
66183 OPC_RecordChild0,
66184 OPC_CheckChild0Type, MVT::f64,
66185 OPC_MoveParent,
66186 OPC_CheckType, MVT::v4f32,
66187 OPC_Scope, 65,
66188 OPC_CheckChild2Integer, 0,
66189 OPC_Scope, 30,
66190 OPC_CheckPatternPredicate, 14,
66191 OPC_EmitInteger64, 2,
66192 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66193 MVT::f64, 1, 1,
66194 OPC_EmitStringInteger32, PPC::sub_64,
66195 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66196 MVT::v4i32, 3, 2, 3, 4,
66197 OPC_EmitInteger32, 0,
66198 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66199 MVT::v4f32, 3, 0, 5, 6,
66200 29,
66201 OPC_CheckPatternPredicate6,
66202 OPC_EmitInteger64, 2,
66203 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66204 MVT::f64, 1, 1,
66205 OPC_EmitStringInteger32, PPC::sub_64,
66206 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66207 MVT::v4i32, 3, 2, 3, 4,
66208 OPC_EmitInteger32, 24,
66209 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66210 MVT::v4f32, 3, 0, 5, 6,
66211 0,
66212 65,
66213 OPC_CheckChild2Integer, 2,
66214 OPC_Scope, 30,
66215 OPC_CheckPatternPredicate, 14,
66216 OPC_EmitInteger64, 2,
66217 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66218 MVT::f64, 1, 1,
66219 OPC_EmitStringInteger32, PPC::sub_64,
66220 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66221 MVT::v4i32, 3, 2, 3, 4,
66222 OPC_EmitInteger32, 8,
66223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66224 MVT::v4f32, 3, 0, 5, 6,
66225 29,
66226 OPC_CheckPatternPredicate6,
66227 OPC_EmitInteger64, 2,
66228 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66229 MVT::f64, 1, 1,
66230 OPC_EmitStringInteger32, PPC::sub_64,
66231 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66232 MVT::v4i32, 3, 2, 3, 4,
66233 OPC_EmitInteger32, 16,
66234 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66235 MVT::v4f32, 3, 0, 5, 6,
66236 0,
66237 65,
66238 OPC_CheckChild2Integer, 4,
66239 OPC_Scope, 30,
66240 OPC_CheckPatternPredicate, 14,
66241 OPC_EmitInteger64, 2,
66242 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66243 MVT::f64, 1, 1,
66244 OPC_EmitStringInteger32, PPC::sub_64,
66245 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66246 MVT::v4i32, 3, 2, 3, 4,
66247 OPC_EmitInteger32, 16,
66248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66249 MVT::v4f32, 3, 0, 5, 6,
66250 29,
66251 OPC_CheckPatternPredicate6,
66252 OPC_EmitInteger64, 2,
66253 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66254 MVT::f64, 1, 1,
66255 OPC_EmitStringInteger32, PPC::sub_64,
66256 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66257 MVT::v4i32, 3, 2, 3, 4,
66258 OPC_EmitInteger32, 8,
66259 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66260 MVT::v4f32, 3, 0, 5, 6,
66261 0,
66262 65,
66263 OPC_CheckChild2Integer, 6,
66264 OPC_Scope, 30,
66265 OPC_CheckPatternPredicate, 14,
66266 OPC_EmitInteger64, 2,
66267 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66268 MVT::f64, 1, 1,
66269 OPC_EmitStringInteger32, PPC::sub_64,
66270 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66271 MVT::v4i32, 3, 2, 3, 4,
66272 OPC_EmitInteger32, 24,
66273 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66274 MVT::v4f32, 3, 0, 5, 6,
66275 29,
66276 OPC_CheckPatternPredicate6,
66277 OPC_EmitInteger64, 2,
66278 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSP),
66279 MVT::f64, 1, 1,
66280 OPC_EmitStringInteger32, PPC::sub_64,
66281 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66282 MVT::v4i32, 3, 2, 3, 4,
66283 OPC_EmitInteger32, 0,
66284 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66285 MVT::v4f32, 3, 0, 5, 6,
66286 0,
66287 0,
66288 35|128,2,
66289 OPC_RecordChild1,
66290 OPC_Scope, 99,
66291 OPC_CheckChild2Integer, 0,
66292 OPC_SwitchType , 52, MVT::v2f64,
66293 OPC_Scope, 24,
66294 OPC_CheckPatternPredicate, 17,
66295 OPC_EmitInteger64, 2,
66296 OPC_EmitStringInteger32, PPC::sub_64,
66297 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66298 MVT::v4i32, 3, 2, 1, 3,
66299 OPC_EmitInteger32, 2,
66300 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66301 MVT::v2f64, 3, 4, 0, 5,
66302 24,
66303 OPC_CheckPatternPredicate, 13,
66304 OPC_EmitInteger64, 2,
66305 OPC_EmitStringInteger32, PPC::sub_64,
66306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66307 MVT::v4i32, 3, 2, 1, 3,
66308 OPC_EmitInteger32, 0,
66309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66310 MVT::v2f64, 3, 0, 4, 5,
66311 0,
66312 39, MVT::v4f32,
66313 OPC_Scope, 18,
66314 OPC_CheckPatternPredicate, 14,
66315 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66316 MVT::v4f32, 1, 1,
66317 OPC_EmitInteger32, 0,
66318 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66319 MVT::v4f32, 3, 0, 2, 3,
66320 17,
66321 OPC_CheckPatternPredicate6,
66322 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66323 MVT::v4f32, 1, 1,
66324 OPC_EmitInteger32, 24,
66325 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66326 MVT::v4f32, 3, 0, 2, 3,
66327 0,
66328 0,
66329 99,
66330 OPC_CheckChild2Integer, 2,
66331 OPC_SwitchType , 52, MVT::v2f64,
66332 OPC_Scope, 24,
66333 OPC_CheckPatternPredicate, 17,
66334 OPC_EmitInteger64, 2,
66335 OPC_EmitStringInteger32, PPC::sub_64,
66336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66337 MVT::v4i32, 3, 2, 1, 3,
66338 OPC_EmitInteger32, 0,
66339 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66340 MVT::v2f64, 3, 0, 4, 5,
66341 24,
66342 OPC_CheckPatternPredicate, 13,
66343 OPC_EmitInteger64, 2,
66344 OPC_EmitStringInteger32, PPC::sub_64,
66345 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66346 MVT::v4i32, 3, 2, 1, 3,
66347 OPC_EmitInteger32, 2,
66348 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66349 MVT::v2f64, 3, 4, 0, 5,
66350 0,
66351 39, MVT::v4f32,
66352 OPC_Scope, 18,
66353 OPC_CheckPatternPredicate, 14,
66354 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66355 MVT::v4f32, 1, 1,
66356 OPC_EmitInteger32, 8,
66357 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66358 MVT::v4f32, 3, 0, 2, 3,
66359 17,
66360 OPC_CheckPatternPredicate6,
66361 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66362 MVT::v4f32, 1, 1,
66363 OPC_EmitInteger32, 16,
66364 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66365 MVT::v4f32, 3, 0, 2, 3,
66366 0,
66367 0,
66368 43,
66369 OPC_CheckChild2Integer, 4,
66370 OPC_CheckType, MVT::v4f32,
66371 OPC_Scope, 18,
66372 OPC_CheckPatternPredicate, 14,
66373 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66374 MVT::v4f32, 1, 1,
66375 OPC_EmitInteger32, 16,
66376 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66377 MVT::v4f32, 3, 0, 2, 3,
66378 17,
66379 OPC_CheckPatternPredicate6,
66380 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66381 MVT::v4f32, 1, 1,
66382 OPC_EmitInteger32, 8,
66383 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66384 MVT::v4f32, 3, 0, 2, 3,
66385 0,
66386 43,
66387 OPC_CheckChild2Integer, 6,
66388 OPC_CheckType, MVT::v4f32,
66389 OPC_Scope, 18,
66390 OPC_CheckPatternPredicate, 14,
66391 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66392 MVT::v4f32, 1, 1,
66393 OPC_EmitInteger32, 24,
66394 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66395 MVT::v4f32, 3, 0, 2, 3,
66396 17,
66397 OPC_CheckPatternPredicate6,
66398 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66399 MVT::v4f32, 1, 1,
66400 OPC_EmitInteger32, 0,
66401 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66402 MVT::v4f32, 3, 0, 2, 3,
66403 0,
66404 0,
66405 110|128,1,
66406 OPC_MoveChild1,
66407 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
66408 OPC_RecordMemRef,
66409 OPC_RecordNode,
66410 OPC_CheckFoldableChainNode,
66411 OPC_RecordChild1,
66412 OPC_CheckPredicate, 11,
66413 OPC_CheckPredicate5,
66414 OPC_MoveParent,
66415 OPC_RecordChild2,
66416 OPC_CheckChild2TypeI64,
66417 OPC_CheckType, MVT::v2f64,
66418 OPC_Scope, 109,
66419 OPC_CheckPatternPredicate, 33,
66420 OPC_Scope, 34,
66421 OPC_CheckComplexPat4, /*#*/2,
66422 OPC_EmitMergeInputChains1_1,
66423 OPC_EmitInteger32, 6,
66424 OPC_EmitInteger32, 0,
66425 OPC_EmitInteger32, 56,
66426 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66427 MVT::i64, 4, 3, 6, 7, 8,
66428 OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
66429 MVT::i64, 2, 4, 5,
66430 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
66431 MVT::v2f64, 3, 0, 9, 10,
66432 34,
66433 OPC_CheckComplexPat3, /*#*/2,
66434 OPC_EmitMergeInputChains1_1,
66435 OPC_EmitInteger32, 6,
66436 OPC_EmitInteger32, 0,
66437 OPC_EmitInteger32, 56,
66438 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66439 MVT::i64, 4, 3, 6, 7, 8,
66440 OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
66441 MVT::i64, 2, 4, 5,
66442 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
66443 MVT::v2f64, 3, 0, 9, 10,
66444 34,
66445 OPC_CheckComplexPat1, /*#*/2,
66446 OPC_EmitMergeInputChains1_1,
66447 OPC_EmitInteger32, 6,
66448 OPC_EmitInteger32, 0,
66449 OPC_EmitInteger32, 56,
66450 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66451 MVT::i64, 4, 3, 6, 7, 8,
66452 OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
66453 MVT::i64, 2, 4, 5,
66454 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
66455 MVT::v2f64, 3, 0, 9, 10,
66456 0,
66457 109,
66458 OPC_CheckPatternPredicate, 46,
66459 OPC_Scope, 34,
66460 OPC_CheckComplexPat4, /*#*/2,
66461 OPC_EmitMergeInputChains1_1,
66462 OPC_EmitInteger32, 6,
66463 OPC_EmitInteger32, 0,
66464 OPC_EmitInteger32, 56,
66465 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66466 MVT::i64, 4, 3, 6, 7, 8,
66467 OPC_EmitNode1, TARGET_VAL(PPC::LD), 0|OPFL_Chain|OPFL_MemRefs,
66468 MVT::i64, 2, 4, 5,
66469 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
66470 MVT::v2f64, 3, 0, 9, 10,
66471 34,
66472 OPC_CheckComplexPat3, /*#*/2,
66473 OPC_EmitMergeInputChains1_1,
66474 OPC_EmitInteger32, 6,
66475 OPC_EmitInteger32, 0,
66476 OPC_EmitInteger32, 56,
66477 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66478 MVT::i64, 4, 3, 6, 7, 8,
66479 OPC_EmitNode1, TARGET_VAL(PPC::PLD), 0|OPFL_Chain|OPFL_MemRefs,
66480 MVT::i64, 2, 4, 5,
66481 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
66482 MVT::v2f64, 3, 0, 9, 10,
66483 34,
66484 OPC_CheckComplexPat1, /*#*/2,
66485 OPC_EmitMergeInputChains1_1,
66486 OPC_EmitInteger32, 6,
66487 OPC_EmitInteger32, 0,
66488 OPC_EmitInteger32, 56,
66489 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66490 MVT::i64, 4, 3, 6, 7, 8,
66491 OPC_EmitNode1, TARGET_VAL(PPC::LDX), 0|OPFL_Chain|OPFL_MemRefs,
66492 MVT::i64, 2, 4, 5,
66493 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
66494 MVT::v2f64, 3, 0, 9, 10,
66495 0,
66496 0,
66497 70|128,1,
66498 OPC_RecordChild1,
66499 OPC_RecordChild2,
66500 OPC_Scope, 29|128,1,
66501 OPC_CheckChild2TypeI64,
66502 OPC_SwitchType , 66, MVT::v2f64,
66503 OPC_Scope, 31,
66504 OPC_CheckPatternPredicate, 33,
66505 OPC_EmitInteger32, 6,
66506 OPC_EmitInteger32, 0,
66507 OPC_EmitInteger32, 56,
66508 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66509 MVT::i64, 4, 2, 3, 4, 5,
66510 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
66511 MVT::i64, 1, 1,
66512 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDRX),
66513 MVT::v2f64, 3, 0, 6, 7,
66514 31,
66515 OPC_CheckPatternPredicate, 46,
66516 OPC_EmitInteger32, 6,
66517 OPC_EmitInteger32, 0,
66518 OPC_EmitInteger32, 56,
66519 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM8),
66520 MVT::i64, 4, 2, 3, 4, 5,
66521 OPC_EmitNode1None, TARGET_VAL(PPC::MFVSRD),
66522 MVT::i64, 1, 1,
66523 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSDLX),
66524 MVT::v2f64, 3, 0, 6, 7,
66525 0,
66526 84, MVT::v4f32,
66527 OPC_Scope, 40,
66528 OPC_CheckPatternPredicate, 33,
66529 OPC_EmitStringInteger32, PPC::sub_32,
66530 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66531 MVT::i32, 2, 2, 3,
66532 OPC_EmitInteger32, 4,
66533 OPC_EmitInteger32, 0,
66534 OPC_EmitInteger32, 58,
66535 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66536 MVT::i32, 4, 4, 5, 6, 7,
66537 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66538 MVT::v4i32, 1, 1,
66539 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVRX),
66540 MVT::v4f32, 3, 0, 8, 9,
66541 40,
66542 OPC_CheckPatternPredicate, 46,
66543 OPC_EmitStringInteger32, PPC::sub_32,
66544 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
66545 MVT::i32, 2, 2, 3,
66546 OPC_EmitInteger32, 4,
66547 OPC_EmitInteger32, 0,
66548 OPC_EmitInteger32, 58,
66549 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66550 MVT::i32, 4, 4, 5, 6, 7,
66551 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66552 MVT::v4i32, 1, 1,
66553 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
66554 MVT::v4f32, 3, 0, 8, 9,
66555 0,
66556 0,
66557 34,
66558 OPC_CheckChild2TypeI32,
66559 OPC_CheckType, MVT::v4f32,
66560 OPC_CheckPatternPredicate, 60,
66561 OPC_EmitInteger32, 4,
66562 OPC_EmitInteger32, 0,
66563 OPC_EmitInteger32, 58,
66564 OPC_EmitNode1None, TARGET_VAL(PPC::RLWINM),
66565 MVT::i32, 4, 2, 3, 4, 5,
66566 OPC_EmitNode1None, TARGET_VAL(PPC::XSCVDPSPN),
66567 MVT::v4i32, 1, 1,
66568 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSWVLX),
66569 MVT::v4f32, 3, 0, 6, 7,
66570 0,
66571 0,
66572 118|128,2, TARGET_VAL(PPCISD::LD_SPLAT),
66573 OPC_RecordMemRef,
66574 OPC_RecordNode,
66575 OPC_RecordChild1,
66576 OPC_Scope, 116,
66577 OPC_CheckPredicate, 50,
66578 OPC_SwitchType , 54, MVT::v8i16,
66579 OPC_Scope, 25,
66580 OPC_CheckPatternPredicate, 50,
66581 OPC_CheckComplexPat0, /*#*/1,
66582 OPC_EmitMergeInputChains1_0,
66583 OPC_EmitInteger32, 14,
66584 OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
66585 MVT::f128, 2, 2, 3,
66586 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTH),
66587 MVT::v8i16, 2, 4, 5,
66588 OPC_CompleteMatch, 1, 6,
66589
66590 25,
66591 OPC_CheckPatternPredicate, 55,
66592 OPC_CheckComplexPat0, /*#*/1,
66593 OPC_EmitMergeInputChains1_0,
66594 OPC_EmitInteger32, 0,
66595 OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
66596 MVT::f128, 2, 2, 3,
66597 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTH),
66598 MVT::v8i16, 2, 4, 5,
66599 OPC_CompleteMatch, 1, 6,
66600
66601 0,
66602 54, MVT::v16i8,
66603 OPC_Scope, 25,
66604 OPC_CheckPatternPredicate, 50,
66605 OPC_CheckComplexPat0, /*#*/1,
66606 OPC_EmitMergeInputChains1_0,
66607 OPC_EmitInteger32, 30,
66608 OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
66609 MVT::f128, 2, 2, 3,
66610 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
66611 MVT::v16i8, 2, 4, 5,
66612 OPC_CompleteMatch, 1, 6,
66613
66614 25,
66615 OPC_CheckPatternPredicate, 55,
66616 OPC_CheckComplexPat0, /*#*/1,
66617 OPC_EmitMergeInputChains1_0,
66618 OPC_EmitInteger32, 0,
66619 OPC_EmitNode1, TARGET_VAL(PPC::LVX), 0|OPFL_Chain|OPFL_MemRefs,
66620 MVT::f128, 2, 2, 3,
66621 OPC_EmitNode1None, TARGET_VAL(PPC::VSPLTB),
66622 MVT::v16i8, 2, 4, 5,
66623 OPC_CompleteMatch, 1, 6,
66624
66625 0,
66626 0,
66627 14,
66628 OPC_CheckType, MVT::v2i64,
66629 OPC_CheckPatternPredicate2,
66630 OPC_CheckComplexPat0, /*#*/1,
66631 OPC_EmitMergeInputChains1_0,
66632 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
66633 MVT::v2i64, 2, 2, 3,
66634 54,
66635 OPC_CheckType, MVT::v4i32,
66636 OPC_Scope, 12,
66637 OPC_CheckPatternPredicate7,
66638 OPC_CheckComplexPat0, /*#*/1,
66639 OPC_EmitMergeInputChains1_0,
66640 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
66641 MVT::v4i32, 2, 2, 3,
66642 36,
66643 OPC_CheckPatternPredicate2,
66644 OPC_CheckComplexPat0, /*#*/1,
66645 OPC_EmitMergeInputChains1_0,
66646 OPC_EmitInteger64, 2,
66647 OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
66648 MVT::f64, 2, 2, 3,
66649 OPC_EmitStringInteger32, PPC::sub_64,
66650 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66651 MVT::v4i32, 3, 4, 5, 6,
66652 OPC_EmitInteger32, 2,
66653 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
66654 MVT::v4i32, 2, 7, 8,
66655 OPC_CompleteMatch, 1, 9,
66656
66657 0,
66658 55,
66659 OPC_CheckType, MVT::v8i16,
66660 OPC_Scope, 21,
66661 OPC_CheckPatternPredicate7,
66662 OPC_CheckComplexPat0, /*#*/1,
66663 OPC_EmitMergeInputChains1_0,
66664 OPC_EmitInteger32, 6,
66665 OPC_EmitNode1, TARGET_VAL(PPC::LXSIHZX), 0|OPFL_Chain|OPFL_MemRefs,
66666 MVT::f64, 2, 2, 3,
66667 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
66668 MVT::v8i16, 2, 4, 5,
66669 28,
66670 OPC_CheckPatternPredicate, 30,
66671 OPC_CheckComplexPat0, /*#*/1,
66672 OPC_EmitMergeInputChains1_0,
66673 OPC_EmitInteger32, 6,
66674 OPC_EmitNode1, TARGET_VAL(PPC::LHZX), 0|OPFL_Chain|OPFL_MemRefs,
66675 MVT::i32, 2, 2, 3,
66676 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
66677 MVT::f64, 1, 5,
66678 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTHs),
66679 MVT::v8i16, 2, 4, 6,
66680 0,
66681 55,
66682 OPC_CheckType, MVT::v16i8,
66683 OPC_Scope, 21,
66684 OPC_CheckPatternPredicate7,
66685 OPC_CheckComplexPat0, /*#*/1,
66686 OPC_EmitMergeInputChains1_0,
66687 OPC_EmitInteger32, 14,
66688 OPC_EmitNode1, TARGET_VAL(PPC::LXSIBZX), 0|OPFL_Chain|OPFL_MemRefs,
66689 MVT::f64, 2, 2, 3,
66690 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
66691 MVT::v16i8, 2, 4, 5,
66692 28,
66693 OPC_CheckPatternPredicate, 30,
66694 OPC_CheckComplexPat0, /*#*/1,
66695 OPC_EmitMergeInputChains1_0,
66696 OPC_EmitInteger32, 14,
66697 OPC_EmitNode1, TARGET_VAL(PPC::LBZX), 0|OPFL_Chain|OPFL_MemRefs,
66698 MVT::i32, 2, 2, 3,
66699 OPC_EmitNode1None, TARGET_VAL(PPC::MTVSRWZ),
66700 MVT::f64, 1, 5,
66701 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::VSPLTBs),
66702 MVT::v16i8, 2, 4, 6,
66703 0,
66704 14,
66705 OPC_CheckType, MVT::v2f64,
66706 OPC_CheckPatternPredicate2,
66707 OPC_CheckComplexPat0, /*#*/1,
66708 OPC_EmitMergeInputChains1_0,
66709 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVDSX), 0|OPFL_Chain|OPFL_MemRefs,
66710 MVT::v2f64, 2, 2, 3,
66711 54,
66712 OPC_CheckType, MVT::v4f32,
66713 OPC_Scope, 12,
66714 OPC_CheckPatternPredicate7,
66715 OPC_CheckComplexPat0, /*#*/1,
66716 OPC_EmitMergeInputChains1_0,
66717 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVWSX), 0|OPFL_Chain|OPFL_MemRefs,
66718 MVT::v4f32, 2, 2, 3,
66719 36,
66720 OPC_CheckPatternPredicate2,
66721 OPC_CheckComplexPat0, /*#*/1,
66722 OPC_EmitMergeInputChains1_0,
66723 OPC_EmitInteger64, 2,
66724 OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
66725 MVT::f64, 2, 2, 3,
66726 OPC_EmitStringInteger32, PPC::sub_64,
66727 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
66728 MVT::v4i32, 3, 4, 5, 6,
66729 OPC_EmitInteger32, 2,
66730 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
66731 MVT::v4f32, 2, 7, 8,
66732 OPC_CompleteMatch, 1, 9,
66733
66734 0,
66735 0,
66736 111, TARGET_VAL(PPCISD::LOAD_VEC_BE),
66737 OPC_RecordMemRef,
66738 OPC_RecordNode,
66739 OPC_RecordChild1,
66740 OPC_SwitchType , 13, MVT::v2i64,
66741 OPC_CheckPatternPredicate, 13,
66742 OPC_CheckComplexPat0, /*#*/1,
66743 OPC_EmitMergeInputChains1_0,
66744 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
66745 MVT::v2i64, 2, 2, 3,
66746 13, MVT::v4i32,
66747 OPC_CheckPatternPredicate, 13,
66748 OPC_CheckComplexPat0, /*#*/1,
66749 OPC_EmitMergeInputChains1_0,
66750 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
66751 MVT::v4i32, 2, 2, 3,
66752 21, MVT::v8i16,
66753 OPC_CheckPatternPredicate6,
66754 OPC_CheckComplexPat0, /*#*/1,
66755 OPC_EmitMergeInputChains1_0,
66756 OPC_EmitNode1, TARGET_VAL(PPC::LXVH8X), 0|OPFL_Chain|OPFL_MemRefs,
66757 MVT::v4i32, 2, 2, 3,
66758 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66759 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66760 MVT::v8i16, 2, 4, 5,
66761 21, MVT::v16i8,
66762 OPC_CheckPatternPredicate6,
66763 OPC_CheckComplexPat0, /*#*/1,
66764 OPC_EmitMergeInputChains1_0,
66765 OPC_EmitNode1, TARGET_VAL(PPC::LXVB16X), 0|OPFL_Chain|OPFL_MemRefs,
66766 MVT::v4i32, 2, 2, 3,
66767 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66768 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66769 MVT::v16i8, 2, 4, 5,
66770 13, MVT::v2f64,
66771 OPC_CheckPatternPredicate, 13,
66772 OPC_CheckComplexPat0, /*#*/1,
66773 OPC_EmitMergeInputChains1_0,
66774 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
66775 MVT::v2f64, 2, 2, 3,
66776 13, MVT::v4f32,
66777 OPC_CheckPatternPredicate, 13,
66778 OPC_CheckComplexPat0, /*#*/1,
66779 OPC_EmitMergeInputChains1_0,
66780 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVW4X), 0|OPFL_Chain|OPFL_MemRefs,
66781 MVT::v4f32, 2, 2, 3,
66782 0,
66783 26, TARGET_VAL(PPCISD::ZEXT_LD_SPLAT),
66784 OPC_RecordMemRef,
66785 OPC_RecordNode,
66786 OPC_RecordChild1,
66787 OPC_CheckType, MVT::v2i64,
66788 OPC_CheckPatternPredicate2,
66789 OPC_CheckComplexPat0, /*#*/1,
66790 OPC_EmitMergeInputChains1_0,
66791 OPC_EmitNode1, TARGET_VAL(PPC::LFIWZX), 0|OPFL_Chain|OPFL_MemRefs,
66792 MVT::f64, 2, 2, 3,
66793 OPC_EmitInteger32, 0,
66794 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
66795 MVT::v2i64, 2, 4, 5,
66796 26, TARGET_VAL(PPCISD::SEXT_LD_SPLAT),
66797 OPC_RecordMemRef,
66798 OPC_RecordNode,
66799 OPC_RecordChild1,
66800 OPC_CheckType, MVT::v2i64,
66801 OPC_CheckPatternPredicate2,
66802 OPC_CheckComplexPat0, /*#*/1,
66803 OPC_EmitMergeInputChains1_0,
66804 OPC_EmitNode1, TARGET_VAL(PPC::LFIWAX), 0|OPFL_Chain|OPFL_MemRefs,
66805 MVT::f64, 2, 2, 3,
66806 OPC_EmitInteger32, 0,
66807 OPC_MorphNodeTo1Chain, TARGET_VAL(PPC::XXPERMDIs),
66808 MVT::v2i64, 2, 4, 5,
66809 78, TARGET_VAL(PPCISD::VECSHL),
66810 OPC_RecordChild0,
66811 OPC_Scope, 47,
66812 OPC_CheckChild0Type, MVT::v4i32,
66813 OPC_Scope, 17,
66814 OPC_CheckChild1Same, 0,
66815 OPC_CheckChild2Integer, 4,
66816 OPC_CheckType, MVT::v4i32,
66817 OPC_CheckPatternPredicate2,
66818 OPC_EmitInteger32, 4,
66819 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66820 MVT::v4i32, 3, 0, 0, 1,
66821 24,
66822 OPC_RecordChild1,
66823 OPC_CheckChild1Type, MVT::v4i32,
66824 OPC_RecordChild2,
66825 OPC_MoveChild2,
66826 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66827 OPC_CheckPredicate, 10,
66828 OPC_CheckTypeI32,
66829 OPC_MoveParent,
66830 OPC_CheckType, MVT::v4i32,
66831 OPC_CheckPatternPredicate2,
66832 OPC_EmitConvertToTarget2,
66833 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSLDWI),
66834 MVT::v4i32, 3, 0, 1, 3,
66835 0,
66836 26,
66837 OPC_CheckChild0Type, MVT::v16i8,
66838 OPC_RecordChild1,
66839 OPC_CheckChild1Type, MVT::v16i8,
66840 OPC_RecordChild2,
66841 OPC_MoveChild2,
66842 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66843 OPC_CheckPredicate, 10,
66844 OPC_CheckTypeI32,
66845 OPC_MoveParent,
66846 OPC_CheckType, MVT::v16i8,
66847 OPC_CheckPatternPredicate3,
66848 OPC_EmitConvertToTarget2,
66849 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
66850 MVT::v16i8, 3, 0, 1, 3,
66851 0,
66852 27, TARGET_VAL(PPCISD::XXPERMDI),
66853 OPC_RecordChild0,
66854 OPC_CheckChild0Type, MVT::v2i64,
66855 OPC_RecordChild1,
66856 OPC_CheckChild1Type, MVT::v2i64,
66857 OPC_RecordChild2,
66858 OPC_MoveChild2,
66859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66860 OPC_CheckPredicate, 10,
66861 OPC_CheckTypeI32,
66862 OPC_MoveParent,
66863 OPC_CheckType, MVT::v2i64,
66864 OPC_CheckPatternPredicate2,
66865 OPC_EmitConvertToTarget2,
66866 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
66867 MVT::v2i64, 3, 0, 1, 3,
66868 23, TARGET_VAL(PPCISD::XXSPLT),
66869 OPC_RecordChild0,
66870 OPC_CheckChild0Type, MVT::v4i32,
66871 OPC_RecordChild1,
66872 OPC_MoveChild1,
66873 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66874 OPC_CheckPredicate, 10,
66875 OPC_CheckTypeI32,
66876 OPC_MoveParent,
66877 OPC_CheckType, MVT::v4i32,
66878 OPC_CheckPatternPredicate2,
66879 OPC_EmitConvertToTarget1,
66880 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTW),
66881 MVT::v4i32, 2, 0, 2,
66882 86, TARGET_VAL(PPCISD::VECINSERT),
66883 OPC_RecordChild0,
66884 OPC_Scope, 26,
66885 OPC_CheckChild0Type, MVT::v4i32,
66886 OPC_RecordChild1,
66887 OPC_CheckChild1Type, MVT::v4i32,
66888 OPC_RecordChild2,
66889 OPC_MoveChild2,
66890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66891 OPC_CheckPredicate, 10,
66892 OPC_CheckTypeI32,
66893 OPC_MoveParent,
66894 OPC_CheckType, MVT::v4i32,
66895 OPC_CheckPatternPredicate7,
66896 OPC_EmitConvertToTarget2,
66897 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXINSERTW),
66898 MVT::v4i32, 3, 0, 1, 3,
66899 27,
66900 OPC_CheckChild0Type, MVT::v16i8,
66901 OPC_RecordChild1,
66902 OPC_CheckChild1Type, MVT::v16i8,
66903 OPC_RecordChild2,
66904 OPC_MoveChild2,
66905 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66906 OPC_CheckPredicate, 10,
66907 OPC_CheckTypeI32,
66908 OPC_MoveParent,
66909 OPC_CheckType, MVT::v16i8,
66910 OPC_CheckPatternPredicate, 18,
66911 OPC_EmitConvertToTarget2,
66912 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSERTB),
66913 MVT::v16i8, 3, 0, 3, 1,
66914 27,
66915 OPC_CheckChild0Type, MVT::v8i16,
66916 OPC_RecordChild1,
66917 OPC_CheckChild1Type, MVT::v8i16,
66918 OPC_RecordChild2,
66919 OPC_MoveChild2,
66920 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
66921 OPC_CheckPredicate, 10,
66922 OPC_CheckTypeI32,
66923 OPC_MoveParent,
66924 OPC_CheckType, MVT::v8i16,
66925 OPC_CheckPatternPredicate, 18,
66926 OPC_EmitConvertToTarget2,
66927 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VINSERTH),
66928 MVT::v8i16, 3, 0, 3, 1,
66929 0,
66930 121|128,5, TARGET_VAL(ISD::VECTOR_SHUFFLE),
66931 OPC_Scope, 120|128,1,
66932 OPC_RecordChild0,
66933 OPC_Scope, 85,
66934 OPC_MoveChild1,
66935 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
66936 OPC_MoveParent,
66937 OPC_CheckType, MVT::v16i8,
66938 OPC_Scope, 37,
66939 OPC_CheckPredicate, 31,
66940 OPC_CheckPatternPredicate2,
66941 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66943 MVT::v4i32, 2, 0, 1,
66944 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66945 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66946 MVT::v4i32, 2, 0, 3,
66947 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
66948 MVT::v4i32, 2, 2, 4,
66949 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66950 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66951 MVT::v16i8, 2, 5, 6,
66952 37,
66953 OPC_CheckPredicate, 32,
66954 OPC_CheckPatternPredicate2,
66955 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66956 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66957 MVT::v4i32, 2, 0, 1,
66958 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66959 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66960 MVT::v4i32, 2, 0, 3,
66961 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
66962 MVT::v4i32, 2, 2, 4,
66963 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66964 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66965 MVT::v16i8, 2, 5, 6,
66966 0,
66967 29|128,1,
66968 OPC_RecordChild1,
66969 OPC_CheckType, MVT::v16i8,
66970 OPC_Scope, 37,
66971 OPC_CheckPredicate, 33,
66972 OPC_CheckPatternPredicate2,
66973 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66974 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66975 MVT::v4i32, 2, 0, 2,
66976 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66977 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66978 MVT::v4i32, 2, 1, 4,
66979 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
66980 MVT::v4i32, 2, 3, 5,
66981 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66982 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66983 MVT::v16i8, 2, 6, 7,
66984 37,
66985 OPC_CheckPredicate, 34,
66986 OPC_CheckPatternPredicate2,
66987 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66988 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66989 MVT::v4i32, 2, 0, 2,
66990 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
66991 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66992 MVT::v4i32, 2, 1, 4,
66993 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
66994 MVT::v4i32, 2, 3, 5,
66995 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
66996 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
66997 MVT::v16i8, 2, 6, 7,
66998 37,
66999 OPC_CheckPredicate, 35,
67000 OPC_CheckPatternPredicate2,
67001 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67002 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67003 MVT::v4i32, 2, 1, 2,
67004 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67005 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67006 MVT::v4i32, 2, 0, 4,
67007 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
67008 MVT::v4i32, 2, 3, 5,
67009 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67010 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67011 MVT::v16i8, 2, 6, 7,
67012 37,
67013 OPC_CheckPredicate, 36,
67014 OPC_CheckPatternPredicate2,
67015 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67016 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67017 MVT::v4i32, 2, 1, 2,
67018 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67020 MVT::v4i32, 2, 0, 4,
67021 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
67022 MVT::v4i32, 2, 3, 5,
67023 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67024 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67025 MVT::v16i8, 2, 6, 7,
67026 0,
67027 0,
67028 68,
67029 OPC_RecordNode,
67030 OPC_RecordChild0,
67031 OPC_MoveChild1,
67032 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
67033 OPC_MoveParent,
67034 OPC_CheckType, MVT::v16i8,
67035 OPC_Scope, 13,
67036 OPC_CheckPredicate, 51,
67037 OPC_CheckPatternPredicate3,
67038 OPC_EmitNodeXForm, 18, 0,
67039 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTB),
67040 MVT::v16i8, 2, 2, 1,
67041 13,
67042 OPC_CheckPredicate, 52,
67043 OPC_CheckPatternPredicate3,
67044 OPC_EmitNodeXForm, 19, 0,
67045 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTH),
67046 MVT::v16i8, 2, 2, 1,
67047 13,
67048 OPC_CheckPredicate, 53,
67049 OPC_CheckPatternPredicate3,
67050 OPC_EmitNodeXForm, 20, 0,
67051 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSPLTW),
67052 MVT::v16i8, 2, 2, 1,
67053 14,
67054 OPC_CheckPredicate, 54,
67055 OPC_CheckPatternPredicate3,
67056 OPC_EmitNodeXForm, 21, 0,
67057 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
67058 MVT::v16i8, 3, 1, 1, 2,
67059 0,
67060 104|128,1,
67061 OPC_RecordChild0,
67062 OPC_Scope, 5|128,1,
67063 OPC_MoveChild1,
67064 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
67065 OPC_MoveParent,
67066 OPC_CheckType, MVT::v16i8,
67067 OPC_Scope, 10,
67068 OPC_CheckPredicate, 55,
67069 OPC_CheckPatternPredicate3,
67070 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
67071 MVT::v16i8, 2, 0, 0,
67072 10,
67073 OPC_CheckPredicate, 56,
67074 OPC_CheckPatternPredicate3,
67075 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
67076 MVT::v16i8, 2, 0, 0,
67077 10,
67078 OPC_CheckPredicate, 57,
67079 OPC_CheckPatternPredicate3,
67080 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
67081 MVT::v16i8, 2, 0, 0,
67082 10,
67083 OPC_CheckPredicate, 58,
67084 OPC_CheckPatternPredicate3,
67085 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
67086 MVT::v16i8, 2, 0, 0,
67087 10,
67088 OPC_CheckPredicate, 31,
67089 OPC_CheckPatternPredicate3,
67090 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
67091 MVT::v16i8, 2, 0, 0,
67092 10,
67093 OPC_CheckPredicate, 59,
67094 OPC_CheckPatternPredicate3,
67095 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
67096 MVT::v16i8, 2, 0, 0,
67097 10,
67098 OPC_CheckPredicate, 60,
67099 OPC_CheckPatternPredicate3,
67100 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
67101 MVT::v16i8, 2, 0, 0,
67102 10,
67103 OPC_CheckPredicate, 32,
67104 OPC_CheckPatternPredicate3,
67105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
67106 MVT::v16i8, 2, 0, 0,
67107 11,
67108 OPC_CheckPredicate, 61,
67109 OPC_CheckPatternPredicate, 12,
67110 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
67111 MVT::v16i8, 2, 0, 0,
67112 11,
67113 OPC_CheckPredicate, 62,
67114 OPC_CheckPatternPredicate, 12,
67115 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
67116 MVT::v16i8, 2, 0, 0,
67117 11,
67118 OPC_CheckPredicate, 63,
67119 OPC_CheckPatternPredicate, 12,
67120 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
67121 MVT::v16i8, 2, 0, 0,
67122 0,
67123 93,
67124 OPC_RecordChild1,
67125 OPC_CheckType, MVT::v16i8,
67126 OPC_Scope, 10,
67127 OPC_CheckPredicate, 64,
67128 OPC_CheckPatternPredicate3,
67129 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
67130 MVT::v16i8, 2, 0, 1,
67131 10,
67132 OPC_CheckPredicate, 65,
67133 OPC_CheckPatternPredicate3,
67134 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
67135 MVT::v16i8, 2, 0, 1,
67136 10,
67137 OPC_CheckPredicate, 34,
67138 OPC_CheckPatternPredicate3,
67139 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
67140 MVT::v16i8, 2, 0, 1,
67141 10,
67142 OPC_CheckPredicate, 66,
67143 OPC_CheckPatternPredicate3,
67144 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
67145 MVT::v16i8, 2, 0, 1,
67146 10,
67147 OPC_CheckPredicate, 67,
67148 OPC_CheckPatternPredicate3,
67149 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
67150 MVT::v16i8, 2, 0, 1,
67151 10,
67152 OPC_CheckPredicate, 33,
67153 OPC_CheckPatternPredicate3,
67154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
67155 MVT::v16i8, 2, 0, 1,
67156 10,
67157 OPC_CheckPredicate, 68,
67158 OPC_CheckPatternPredicate3,
67159 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
67160 MVT::v16i8, 2, 0, 1,
67161 10,
67162 OPC_CheckPredicate, 69,
67163 OPC_CheckPatternPredicate3,
67164 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
67165 MVT::v16i8, 2, 0, 1,
67166 0,
67167 0,
67168 37,
67169 OPC_RecordNode,
67170 OPC_RecordChild0,
67171 OPC_RecordChild1,
67172 OPC_CheckType, MVT::v16i8,
67173 OPC_Scope, 14,
67174 OPC_CheckPredicate, 70,
67175 OPC_CheckPatternPredicate3,
67176 OPC_EmitNodeXForm, 22, 0,
67177 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
67178 MVT::v16i8, 3, 1, 2, 3,
67179 14,
67180 OPC_CheckPredicate, 71,
67181 OPC_CheckPatternPredicate3,
67182 OPC_EmitNodeXForm, 23, 0,
67183 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSLDOI),
67184 MVT::v16i8, 3, 2, 1, 3,
67185 0,
67186 38|128,1,
67187 OPC_RecordChild0,
67188 OPC_RecordChild1,
67189 OPC_CheckType, MVT::v16i8,
67190 OPC_Scope, 10,
67191 OPC_CheckPredicate, 72,
67192 OPC_CheckPatternPredicate3,
67193 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUWUM),
67194 MVT::v16i8, 2, 1, 0,
67195 10,
67196 OPC_CheckPredicate, 73,
67197 OPC_CheckPatternPredicate3,
67198 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUHUM),
67199 MVT::v16i8, 2, 1, 0,
67200 10,
67201 OPC_CheckPredicate, 74,
67202 OPC_CheckPatternPredicate3,
67203 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLB),
67204 MVT::v16i8, 2, 1, 0,
67205 10,
67206 OPC_CheckPredicate, 75,
67207 OPC_CheckPatternPredicate3,
67208 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLH),
67209 MVT::v16i8, 2, 1, 0,
67210 10,
67211 OPC_CheckPredicate, 35,
67212 OPC_CheckPatternPredicate3,
67213 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGLW),
67214 MVT::v16i8, 2, 1, 0,
67215 10,
67216 OPC_CheckPredicate, 76,
67217 OPC_CheckPatternPredicate3,
67218 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHB),
67219 MVT::v16i8, 2, 1, 0,
67220 10,
67221 OPC_CheckPredicate, 77,
67222 OPC_CheckPatternPredicate3,
67223 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHH),
67224 MVT::v16i8, 2, 1, 0,
67225 10,
67226 OPC_CheckPredicate, 36,
67227 OPC_CheckPatternPredicate3,
67228 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGHW),
67229 MVT::v16i8, 2, 1, 0,
67230 11,
67231 OPC_CheckPredicate, 78,
67232 OPC_CheckPatternPredicate, 12,
67233 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
67234 MVT::v16i8, 2, 0, 1,
67235 11,
67236 OPC_CheckPredicate, 79,
67237 OPC_CheckPatternPredicate, 12,
67238 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
67239 MVT::v16i8, 2, 0, 1,
67240 11,
67241 OPC_CheckPredicate, 80,
67242 OPC_CheckPatternPredicate, 12,
67243 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGEW),
67244 MVT::v16i8, 2, 1, 0,
67245 11,
67246 OPC_CheckPredicate, 81,
67247 OPC_CheckPatternPredicate, 12,
67248 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMRGOW),
67249 MVT::v16i8, 2, 1, 0,
67250 11,
67251 OPC_CheckPredicate, 82,
67252 OPC_CheckPatternPredicate, 12,
67253 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
67254 MVT::v16i8, 2, 0, 1,
67255 11,
67256 OPC_CheckPredicate, 83,
67257 OPC_CheckPatternPredicate, 12,
67258 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPKUDUM),
67259 MVT::v16i8, 2, 1, 0,
67260 0,
67261 0,
67262 72, TARGET_VAL(PPCISD::XXSWAPD),
67263 OPC_RecordNode,
67264 OPC_RecordChild1,
67265 OPC_SwitchType , 15, MVT::v2i64,
67266 OPC_CheckPatternPredicate2,
67267 OPC_EmitMergeInputChains1_0,
67268 OPC_EmitInteger32, 4,
67269 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67270 MVT::v2i64, 3, 1, 1, 2,
67271 OPC_CompleteMatch, 1, 3,
67272
67273 15, MVT::v4i32,
67274 OPC_CheckPatternPredicate2,
67275 OPC_EmitMergeInputChains1_0,
67276 OPC_EmitInteger32, 4,
67277 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67278 MVT::v4i32, 3, 1, 1, 2,
67279 OPC_CompleteMatch, 1, 3,
67280
67281 15, MVT::v2f64,
67282 OPC_CheckPatternPredicate2,
67283 OPC_EmitMergeInputChains1_0,
67284 OPC_EmitInteger32, 4,
67285 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67286 MVT::v2f64, 3, 1, 1, 2,
67287 OPC_CompleteMatch, 1, 3,
67288
67289 15, MVT::v4f32,
67290 OPC_CheckPatternPredicate2,
67291 OPC_EmitMergeInputChains1_0,
67292 OPC_EmitInteger32, 4,
67293 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67294 MVT::v4f32, 3, 1, 1, 2,
67295 OPC_CompleteMatch, 1, 3,
67296
67297 0,
67298 25|128,2, TARGET_VAL(ISD::VSELECT),
67299 OPC_RecordChild0,
67300 OPC_RecordChild1,
67301 OPC_RecordChild2,
67302 OPC_SwitchType , 22, MVT::v4i32,
67303 OPC_Scope, 9,
67304 OPC_CheckPatternPredicate2,
67305 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
67306 MVT::v4i32, 3, 2, 1, 0,
67307 9,
67308 OPC_CheckPatternPredicate3,
67309 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67310 MVT::v4i32, 3, 2, 1, 0,
67311 0,
67312 22, MVT::v2i64,
67313 OPC_Scope, 9,
67314 OPC_CheckPatternPredicate2,
67315 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
67316 MVT::v2i64, 3, 2, 1, 0,
67317 9,
67318 OPC_CheckPatternPredicate3,
67319 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67320 MVT::v2i64, 3, 2, 1, 0,
67321 0,
67322 58, MVT::v16i8,
67323 OPC_Scope, 45,
67324 OPC_CheckPatternPredicate2,
67325 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67326 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67327 MVT::v4i32, 2, 2, 3,
67328 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67330 MVT::v4i32, 2, 1, 5,
67331 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67332 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67333 MVT::v4i32, 2, 0, 7,
67334 OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
67335 MVT::v4i32, 3, 4, 6, 8,
67336 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67337 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67338 MVT::v16i8, 2, 9, 10,
67339 9,
67340 OPC_CheckPatternPredicate3,
67341 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67342 MVT::v16i8, 3, 2, 1, 0,
67343 0,
67344 58, MVT::v8i16,
67345 OPC_Scope, 45,
67346 OPC_CheckPatternPredicate2,
67347 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67348 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67349 MVT::v4i32, 2, 2, 3,
67350 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67351 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67352 MVT::v4i32, 2, 1, 5,
67353 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67354 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67355 MVT::v4i32, 2, 0, 7,
67356 OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
67357 MVT::v4i32, 3, 4, 6, 8,
67358 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67359 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67360 MVT::v8i16, 2, 9, 10,
67361 9,
67362 OPC_CheckPatternPredicate3,
67363 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67364 MVT::v8i16, 3, 2, 1, 0,
67365 0,
67366 58, MVT::v1i128,
67367 OPC_Scope, 45,
67368 OPC_CheckPatternPredicate2,
67369 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67370 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67371 MVT::v4i32, 2, 2, 3,
67372 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67373 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67374 MVT::v4i32, 2, 1, 5,
67375 OPC_EmitStringInteger32, PPC::VSRCRegClassID,
67376 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67377 MVT::v4i32, 2, 0, 7,
67378 OPC_EmitNode1None, TARGET_VAL(PPC::XXSEL),
67379 MVT::v4i32, 3, 4, 6, 8,
67380 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67381 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67382 MVT::v1i128, 2, 9, 10,
67383 9,
67384 OPC_CheckPatternPredicate3,
67385 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67386 MVT::v1i128, 3, 2, 1, 0,
67387 0,
67388 22, MVT::v4f32,
67389 OPC_Scope, 9,
67390 OPC_CheckPatternPredicate2,
67391 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
67392 MVT::v4f32, 3, 2, 1, 0,
67393 9,
67394 OPC_CheckPatternPredicate3,
67395 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67396 MVT::v4f32, 3, 2, 1, 0,
67397 0,
67398 22, MVT::v2f64,
67399 OPC_Scope, 9,
67400 OPC_CheckPatternPredicate2,
67401 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSEL),
67402 MVT::v2f64, 3, 2, 1, 0,
67403 9,
67404 OPC_CheckPatternPredicate3,
67405 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSEL),
67406 MVT::v2f64, 3, 2, 1, 0,
67407 0,
67408 0,
67409 37, TARGET_VAL(ISD::ABDU),
67410 OPC_RecordChild0,
67411 OPC_RecordChild1,
67412 OPC_SwitchType , 9, MVT::v4i32,
67413 OPC_CheckPatternPredicate, 61,
67414 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
67415 MVT::v4i32, 2, 0, 1,
67416 9, MVT::v8i16,
67417 OPC_CheckPatternPredicate, 61,
67418 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUH),
67419 MVT::v8i16, 2, 0, 1,
67420 9, MVT::v16i8,
67421 OPC_CheckPatternPredicate, 61,
67422 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUB),
67423 MVT::v16i8, 2, 0, 1,
67424 0,
67425 63, TARGET_VAL(ISD::SMAX),
67426 OPC_RecordChild0,
67427 OPC_RecordChild1,
67428 OPC_SwitchType , 27, MVT::v2i64,
67429 OPC_CheckPatternPredicate, 11,
67430 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67431 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67432 MVT::f128, 2, 0, 2,
67433 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67434 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67435 MVT::f128, 2, 1, 4,
67436 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSD),
67437 MVT::v2i64, 2, 3, 5,
67438 8, MVT::v16i8,
67439 OPC_CheckPatternPredicate3,
67440 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSB),
67441 MVT::v16i8, 2, 0, 1,
67442 8, MVT::v8i16,
67443 OPC_CheckPatternPredicate3,
67444 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSH),
67445 MVT::v8i16, 2, 0, 1,
67446 8, MVT::v4i32,
67447 OPC_CheckPatternPredicate3,
67448 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXSW),
67449 MVT::v4i32, 2, 0, 1,
67450 0,
67451 63, TARGET_VAL(ISD::UMAX),
67452 OPC_RecordChild0,
67453 OPC_RecordChild1,
67454 OPC_SwitchType , 27, MVT::v2i64,
67455 OPC_CheckPatternPredicate, 11,
67456 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67457 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67458 MVT::f128, 2, 0, 2,
67459 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67460 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67461 MVT::f128, 2, 1, 4,
67462 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUD),
67463 MVT::v2i64, 2, 3, 5,
67464 8, MVT::v16i8,
67465 OPC_CheckPatternPredicate3,
67466 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUB),
67467 MVT::v16i8, 2, 0, 1,
67468 8, MVT::v8i16,
67469 OPC_CheckPatternPredicate3,
67470 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUH),
67471 MVT::v8i16, 2, 0, 1,
67472 8, MVT::v4i32,
67473 OPC_CheckPatternPredicate3,
67474 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMAXUW),
67475 MVT::v4i32, 2, 0, 1,
67476 0,
67477 63, TARGET_VAL(ISD::SMIN),
67478 OPC_RecordChild0,
67479 OPC_RecordChild1,
67480 OPC_SwitchType , 27, MVT::v2i64,
67481 OPC_CheckPatternPredicate, 11,
67482 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67483 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67484 MVT::f128, 2, 0, 2,
67485 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67486 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67487 MVT::f128, 2, 1, 4,
67488 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSD),
67489 MVT::v2i64, 2, 3, 5,
67490 8, MVT::v16i8,
67491 OPC_CheckPatternPredicate3,
67492 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSB),
67493 MVT::v16i8, 2, 0, 1,
67494 8, MVT::v8i16,
67495 OPC_CheckPatternPredicate3,
67496 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSH),
67497 MVT::v8i16, 2, 0, 1,
67498 8, MVT::v4i32,
67499 OPC_CheckPatternPredicate3,
67500 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINSW),
67501 MVT::v4i32, 2, 0, 1,
67502 0,
67503 63, TARGET_VAL(ISD::UMIN),
67504 OPC_RecordChild0,
67505 OPC_RecordChild1,
67506 OPC_SwitchType , 27, MVT::v2i64,
67507 OPC_CheckPatternPredicate, 11,
67508 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67509 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67510 MVT::f128, 2, 0, 2,
67511 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67512 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67513 MVT::f128, 2, 1, 4,
67514 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUD),
67515 MVT::v2i64, 2, 3, 5,
67516 8, MVT::v16i8,
67517 OPC_CheckPatternPredicate3,
67518 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUB),
67519 MVT::v16i8, 2, 0, 1,
67520 8, MVT::v8i16,
67521 OPC_CheckPatternPredicate3,
67522 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUH),
67523 MVT::v8i16, 2, 0, 1,
67524 8, MVT::v4i32,
67525 OPC_CheckPatternPredicate3,
67526 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VMINUW),
67527 MVT::v4i32, 2, 0, 1,
67528 0,
67529 25, TARGET_VAL(ISD::ABDS),
67530 OPC_RecordChild0,
67531 OPC_RecordChild1,
67532 OPC_CheckType, MVT::v4i32,
67533 OPC_CheckPatternPredicate, 61,
67534 OPC_EmitNode1None, TARGET_VAL(PPC::XVNEGSP),
67535 MVT::v4i32, 1, 0,
67536 OPC_EmitNode1None, TARGET_VAL(PPC::XVNEGSP),
67537 MVT::v4i32, 1, 1,
67538 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VABSDUW),
67539 MVT::v4i32, 2, 2, 3,
67540 97, TARGET_VAL(PPCISD::LXVRZX),
67541 OPC_RecordNode,
67542 OPC_RecordChild1,
67543 OPC_Scope, 22,
67544 OPC_CheckChild2Integer, 16,
67545 OPC_CheckPatternPredicate4,
67546 OPC_CheckComplexPat0, /*#*/1,
67547 OPC_EmitMergeInputChains1_0,
67548 OPC_EmitNode1Chain, TARGET_VAL(PPC::LXVRBX),
67549 MVT::v4i32, 2, 2, 3,
67550 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67551 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67552 MVT::v1i128, 2, 4, 5,
67553 22,
67554 OPC_CheckChild2Integer, 32,
67555 OPC_CheckPatternPredicate4,
67556 OPC_CheckComplexPat0, /*#*/1,
67557 OPC_EmitMergeInputChains1_0,
67558 OPC_EmitNode1Chain, TARGET_VAL(PPC::LXVRHX),
67559 MVT::v4i32, 2, 2, 3,
67560 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67561 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67562 MVT::v1i128, 2, 4, 5,
67563 22,
67564 OPC_CheckChild2Integer, 64,
67565 OPC_CheckPatternPredicate4,
67566 OPC_CheckComplexPat0, /*#*/1,
67567 OPC_EmitMergeInputChains1_0,
67568 OPC_EmitNode1Chain, TARGET_VAL(PPC::LXVRWX),
67569 MVT::v4i32, 2, 2, 3,
67570 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67571 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67572 MVT::v1i128, 2, 4, 5,
67573 23,
67574 OPC_CheckChild2Integer, 0|128,1,
67575 OPC_CheckPatternPredicate4,
67576 OPC_CheckComplexPat0, /*#*/1,
67577 OPC_EmitMergeInputChains1_0,
67578 OPC_EmitNode1Chain, TARGET_VAL(PPC::LXVRDX),
67579 MVT::v4i32, 2, 2, 3,
67580 OPC_EmitStringInteger32, PPC::VRRCRegClassID,
67581 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
67582 MVT::v1i128, 2, 4, 5,
67583 0,
67584 79|128,2, TARGET_VAL(PPCISD::VCMP),
67585 OPC_RecordChild0,
67586 OPC_RecordChild1,
67587 OPC_SwitchType , 62, MVT::v16i8,
67588 OPC_Scope, 10,
67589 OPC_CheckChild2Integer, 12,
67590 OPC_CheckPatternPredicate3,
67591 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUB),
67592 MVT::v16i8, 2, 0, 1,
67593 11,
67594 OPC_CheckChild2Integer, 12|128,12,
67595 OPC_CheckPatternPredicate3,
67596 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSB),
67597 MVT::v16i8, 2, 0, 1,
67598 11,
67599 OPC_CheckChild2Integer, 12|128,8,
67600 OPC_CheckPatternPredicate3,
67601 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUB),
67602 MVT::v16i8, 2, 0, 1,
67603 11,
67604 OPC_CheckChild2Integer, 14,
67605 OPC_CheckPatternPredicate, 18,
67606 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEB),
67607 MVT::v16i8, 2, 0, 1,
67608 12,
67609 OPC_CheckChild2Integer, 14|128,4,
67610 OPC_CheckPatternPredicate, 18,
67611 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZB),
67612 MVT::v16i8, 2, 0, 1,
67613 0,
67614 64, MVT::v8i16,
67615 OPC_Scope, 11,
67616 OPC_CheckChild2Integer, 12|128,1,
67617 OPC_CheckPatternPredicate3,
67618 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUH),
67619 MVT::v8i16, 2, 0, 1,
67620 11,
67621 OPC_CheckChild2Integer, 12|128,13,
67622 OPC_CheckPatternPredicate3,
67623 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSH),
67624 MVT::v8i16, 2, 0, 1,
67625 11,
67626 OPC_CheckChild2Integer, 12|128,9,
67627 OPC_CheckPatternPredicate3,
67628 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUH),
67629 MVT::v8i16, 2, 0, 1,
67630 12,
67631 OPC_CheckChild2Integer, 14|128,1,
67632 OPC_CheckPatternPredicate, 18,
67633 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEH),
67634 MVT::v8i16, 2, 0, 1,
67635 12,
67636 OPC_CheckChild2Integer, 14|128,5,
67637 OPC_CheckPatternPredicate, 18,
67638 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZH),
67639 MVT::v8i16, 2, 0, 1,
67640 0,
67641 64, MVT::v4i32,
67642 OPC_Scope, 11,
67643 OPC_CheckChild2Integer, 12|128,2,
67644 OPC_CheckPatternPredicate3,
67645 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUW),
67646 MVT::v4i32, 2, 0, 1,
67647 11,
67648 OPC_CheckChild2Integer, 12|128,14,
67649 OPC_CheckPatternPredicate3,
67650 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSW),
67651 MVT::v4i32, 2, 0, 1,
67652 11,
67653 OPC_CheckChild2Integer, 12|128,10,
67654 OPC_CheckPatternPredicate3,
67655 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUW),
67656 MVT::v4i32, 2, 0, 1,
67657 12,
67658 OPC_CheckChild2Integer, 14|128,2,
67659 OPC_CheckPatternPredicate, 18,
67660 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEW),
67661 MVT::v4i32, 2, 0, 1,
67662 12,
67663 OPC_CheckChild2Integer, 14|128,6,
67664 OPC_CheckPatternPredicate, 18,
67665 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPNEZW),
67666 MVT::v4i32, 2, 0, 1,
67667 0,
67668 41, MVT::v2i64,
67669 OPC_Scope, 12,
67670 OPC_CheckChild2Integer, 14|128,3,
67671 OPC_CheckPatternPredicate, 12,
67672 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUD),
67673 MVT::v2i64, 2, 0, 1,
67674 12,
67675 OPC_CheckChild2Integer, 14|128,15,
67676 OPC_CheckPatternPredicate, 12,
67677 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSD),
67678 MVT::v2i64, 2, 0, 1,
67679 12,
67680 OPC_CheckChild2Integer, 14|128,11,
67681 OPC_CheckPatternPredicate, 12,
67682 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUD),
67683 MVT::v2i64, 2, 0, 1,
67684 0,
67685 38, MVT::v1i128,
67686 OPC_Scope, 11,
67687 OPC_CheckChild2Integer, 14|128,7,
67688 OPC_CheckPatternPredicate4,
67689 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQUQ),
67690 MVT::v1i128, 2, 0, 1,
67691 11,
67692 OPC_CheckChild2Integer, 14|128,14,
67693 OPC_CheckPatternPredicate4,
67694 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTSQ),
67695 MVT::v1i128, 2, 0, 1,
67696 11,
67697 OPC_CheckChild2Integer, 14|128,10,
67698 OPC_CheckPatternPredicate4,
67699 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTUQ),
67700 MVT::v1i128, 2, 0, 1,
67701 0,
67702 50, MVT::v4f32,
67703 OPC_Scope, 11,
67704 OPC_CheckChild2Integer, 12|128,15,
67705 OPC_CheckPatternPredicate3,
67706 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPBFP),
67707 MVT::v4f32, 2, 0, 1,
67708 11,
67709 OPC_CheckChild2Integer, 12|128,3,
67710 OPC_CheckPatternPredicate3,
67711 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPEQFP),
67712 MVT::v4f32, 2, 0, 1,
67713 11,
67714 OPC_CheckChild2Integer, 12|128,7,
67715 OPC_CheckPatternPredicate3,
67716 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGEFP),
67717 MVT::v4f32, 2, 0, 1,
67718 11,
67719 OPC_CheckChild2Integer, 12|128,11,
67720 OPC_CheckPatternPredicate3,
67721 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VCMPGTFP),
67722 MVT::v4f32, 2, 0, 1,
67723 0,
67724 0,
67725 102|128,6, TARGET_VAL(PPCISD::VCMP_rec),
67726 OPC_RecordChild0,
67727 OPC_RecordChild1,
67728 OPC_SwitchType , 67, MVT::v16i8,
67729 OPC_Scope, 11,
67730 OPC_CheckChild2Integer, 12,
67731 OPC_CheckPatternPredicate3,
67732 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUB_rec),
67733 MVT::v16i8, MVT::i32, 2, 0, 1,
67734 12,
67735 OPC_CheckChild2Integer, 12|128,12,
67736 OPC_CheckPatternPredicate3,
67737 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSB_rec),
67738 MVT::v16i8, MVT::i32, 2, 0, 1,
67739 12,
67740 OPC_CheckChild2Integer, 12|128,8,
67741 OPC_CheckPatternPredicate3,
67742 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
67743 MVT::v16i8, MVT::i32, 2, 0, 1,
67744 12,
67745 OPC_CheckChild2Integer, 14,
67746 OPC_CheckPatternPredicate, 18,
67747 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEB_rec),
67748 MVT::v16i8, MVT::i32, 2, 0, 1,
67749 13,
67750 OPC_CheckChild2Integer, 14|128,4,
67751 OPC_CheckPatternPredicate, 18,
67752 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZB_rec),
67753 MVT::v16i8, MVT::i32, 2, 0, 1,
67754 0,
67755 69, MVT::v8i16,
67756 OPC_Scope, 12,
67757 OPC_CheckChild2Integer, 12|128,1,
67758 OPC_CheckPatternPredicate3,
67759 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUH_rec),
67760 MVT::v8i16, MVT::i32, 2, 0, 1,
67761 12,
67762 OPC_CheckChild2Integer, 12|128,13,
67763 OPC_CheckPatternPredicate3,
67764 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSH_rec),
67765 MVT::v8i16, MVT::i32, 2, 0, 1,
67766 12,
67767 OPC_CheckChild2Integer, 12|128,9,
67768 OPC_CheckPatternPredicate3,
67769 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUH_rec),
67770 MVT::v8i16, MVT::i32, 2, 0, 1,
67771 13,
67772 OPC_CheckChild2Integer, 14|128,1,
67773 OPC_CheckPatternPredicate, 18,
67774 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEH_rec),
67775 MVT::v8i16, MVT::i32, 2, 0, 1,
67776 13,
67777 OPC_CheckChild2Integer, 14|128,5,
67778 OPC_CheckPatternPredicate, 18,
67779 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZH_rec),
67780 MVT::v8i16, MVT::i32, 2, 0, 1,
67781 0,
67782 69, MVT::v4i32,
67783 OPC_Scope, 12,
67784 OPC_CheckChild2Integer, 12|128,2,
67785 OPC_CheckPatternPredicate3,
67786 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUW_rec),
67787 MVT::v4i32, MVT::i32, 2, 0, 1,
67788 12,
67789 OPC_CheckChild2Integer, 12|128,14,
67790 OPC_CheckPatternPredicate3,
67791 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSW_rec),
67792 MVT::v4i32, MVT::i32, 2, 0, 1,
67793 12,
67794 OPC_CheckChild2Integer, 12|128,10,
67795 OPC_CheckPatternPredicate3,
67796 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUW_rec),
67797 MVT::v4i32, MVT::i32, 2, 0, 1,
67798 13,
67799 OPC_CheckChild2Integer, 14|128,2,
67800 OPC_CheckPatternPredicate, 18,
67801 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEW_rec),
67802 MVT::v4i32, MVT::i32, 2, 0, 1,
67803 13,
67804 OPC_CheckChild2Integer, 14|128,6,
67805 OPC_CheckPatternPredicate, 18,
67806 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPNEZW_rec),
67807 MVT::v4i32, MVT::i32, 2, 0, 1,
67808 0,
67809 87|128,3, MVT::v2i64,
67810 OPC_Scope, 7|128,1,
67811 OPC_CheckChild2Integer, 14|128,3,
67812 OPC_Scope, 10,
67813 OPC_CheckPatternPredicate, 12,
67814 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUD_rec),
67815 MVT::v2i64, MVT::i32, 2, 0, 1,
67816 118,
67817 OPC_CheckPatternPredicate2,
67818 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67819 MVT::v2i64, 2, 0, 1,
67820 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67821 MVT::v2i64, 2, 0, 1,
67822 OPC_EmitInteger32, 2,
67823 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67824 MVT::v2i64, 3, 2, 3, 4,
67825 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67826 MVT::v2i64, 2, 0, 1,
67827 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67828 MVT::v2i64, 2, 5, 6,
67829 OPC_EmitInteger32, 0,
67830 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67831 MVT::v2i64, 2, 7, 8,
67832 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67833 MVT::v2i64, 2, 0, 1,
67834 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67835 MVT::v2i64, 2, 0, 1,
67836 OPC_EmitInteger32, 2,
67837 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67838 MVT::v2i64, 3, 10, 11, 12,
67839 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67840 MVT::v2i64, 2, 0, 1,
67841 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67842 MVT::v2i64, 2, 13, 14,
67843 OPC_EmitInteger32, 4,
67844 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67845 MVT::v2i64, 2, 15, 16,
67846 OPC_EmitInteger32, 0,
67847 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67848 MVT::v2i64, 3, 9, 17, 18,
67849 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
67850 MVT::v2i64, 0,
67851 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
67852 MVT::v2i64, MVT::i32, 2, 19, 20,
67853 0,
67854 36|128,1,
67855 OPC_CheckChild2Integer, 14|128,15,
67856 OPC_Scope, 10,
67857 OPC_CheckPatternPredicate, 12,
67858 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSD_rec),
67859 MVT::v2i64, MVT::i32, 2, 0, 1,
67860 18|128,1,
67861 OPC_CheckPatternPredicate2,
67862 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTSW),
67863 MVT::v2i64, 2, 0, 1,
67864 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67865 MVT::v2i64, 2, 0, 1,
67866 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67867 MVT::v2i64, 2, 0, 1,
67868 OPC_EmitInteger32, 2,
67869 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67870 MVT::v2i64, 3, 3, 4, 5,
67871 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67872 MVT::v2i64, 2, 0, 1,
67873 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67874 MVT::v2i64, 2, 6, 7,
67875 OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
67876 MVT::v2i64, 2, 2, 8,
67877 OPC_EmitInteger32, 0,
67878 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67879 MVT::v2i64, 2, 9, 10,
67880 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTSW),
67881 MVT::v2i64, 2, 0, 1,
67882 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67883 MVT::v2i64, 2, 0, 1,
67884 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67885 MVT::v2i64, 2, 0, 1,
67886 OPC_EmitInteger32, 2,
67887 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67888 MVT::v2i64, 3, 13, 14, 15,
67889 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67890 MVT::v2i64, 2, 0, 1,
67891 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67892 MVT::v2i64, 2, 16, 17,
67893 OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
67894 MVT::v2i64, 2, 12, 18,
67895 OPC_EmitInteger32, 4,
67896 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67897 MVT::v2i64, 2, 19, 20,
67898 OPC_EmitInteger32, 0,
67899 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67900 MVT::v2i64, 3, 11, 21, 22,
67901 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
67902 MVT::v2i64, 0,
67903 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
67904 MVT::v2i64, MVT::i32, 2, 23, 24,
67905 0,
67906 36|128,1,
67907 OPC_CheckChild2Integer, 14|128,11,
67908 OPC_Scope, 10,
67909 OPC_CheckPatternPredicate, 12,
67910 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUD_rec),
67911 MVT::v2i64, MVT::i32, 2, 0, 1,
67912 18|128,1,
67913 OPC_CheckPatternPredicate2,
67914 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67915 MVT::v2i64, 2, 0, 1,
67916 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67917 MVT::v2i64, 2, 0, 1,
67918 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67919 MVT::v2i64, 2, 0, 1,
67920 OPC_EmitInteger32, 2,
67921 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67922 MVT::v2i64, 3, 3, 4, 5,
67923 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67924 MVT::v2i64, 2, 0, 1,
67925 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67926 MVT::v2i64, 2, 6, 7,
67927 OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
67928 MVT::v2i64, 2, 2, 8,
67929 OPC_EmitInteger32, 0,
67930 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67931 MVT::v2i64, 2, 9, 10,
67932 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67933 MVT::v2i64, 2, 0, 1,
67934 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67935 MVT::v2i64, 2, 0, 1,
67936 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPGTUW),
67937 MVT::v2i64, 2, 0, 1,
67938 OPC_EmitInteger32, 2,
67939 OPC_EmitNode1None, TARGET_VAL(PPC::XXSLDWI),
67940 MVT::v2i64, 3, 13, 14, 15,
67941 OPC_EmitNode1None, TARGET_VAL(PPC::VCMPEQUW),
67942 MVT::v2i64, 2, 0, 1,
67943 OPC_EmitNode1None, TARGET_VAL(PPC::XXLAND),
67944 MVT::v2i64, 2, 16, 17,
67945 OPC_EmitNode1None, TARGET_VAL(PPC::XXLOR),
67946 MVT::v2i64, 2, 12, 18,
67947 OPC_EmitInteger32, 4,
67948 OPC_EmitNode1None, TARGET_VAL(PPC::XXSPLTW),
67949 MVT::v2i64, 2, 19, 20,
67950 OPC_EmitInteger32, 0,
67951 OPC_EmitNode1None, TARGET_VAL(PPC::XXPERMDI),
67952 MVT::v2i64, 3, 11, 21, 22,
67953 OPC_EmitNode1None, TARGET_VAL(PPC::XXLXORz),
67954 MVT::v2i64, 0,
67955 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUB_rec),
67956 MVT::v2i64, MVT::i32, 2, 23, 24,
67957 0,
67958 0,
67959 41, MVT::v1i128,
67960 OPC_Scope, 12,
67961 OPC_CheckChild2Integer, 14|128,7,
67962 OPC_CheckPatternPredicate4,
67963 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQUQ_rec),
67964 MVT::v1i128, MVT::i32, 2, 0, 1,
67965 12,
67966 OPC_CheckChild2Integer, 14|128,14,
67967 OPC_CheckPatternPredicate4,
67968 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTSQ_rec),
67969 MVT::v1i128, MVT::i32, 2, 0, 1,
67970 12,
67971 OPC_CheckChild2Integer, 14|128,10,
67972 OPC_CheckPatternPredicate4,
67973 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTUQ_rec),
67974 MVT::v1i128, MVT::i32, 2, 0, 1,
67975 0,
67976 41, MVT::v2f64,
67977 OPC_Scope, 12,
67978 OPC_CheckChild2Integer, 70|128,1,
67979 OPC_CheckPatternPredicate2,
67980 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPEQDP_rec),
67981 MVT::v2f64, MVT::i32, 2, 0, 1,
67982 12,
67983 OPC_CheckChild2Integer, 102|128,1,
67984 OPC_CheckPatternPredicate2,
67985 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGEDP_rec),
67986 MVT::v2f64, MVT::i32, 2, 0, 1,
67987 12,
67988 OPC_CheckChild2Integer, 86|128,1,
67989 OPC_CheckPatternPredicate2,
67990 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGTDP_rec),
67991 MVT::v2f64, MVT::i32, 2, 0, 1,
67992 0,
67993 93, MVT::v4f32,
67994 OPC_Scope, 12,
67995 OPC_CheckChild2Integer, 6|128,1,
67996 OPC_CheckPatternPredicate2,
67997 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPEQSP_rec),
67998 MVT::v4f32, MVT::i32, 2, 0, 1,
67999 12,
68000 OPC_CheckChild2Integer, 38|128,1,
68001 OPC_CheckPatternPredicate2,
68002 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGESP_rec),
68003 MVT::v4f32, MVT::i32, 2, 0, 1,
68004 12,
68005 OPC_CheckChild2Integer, 22|128,1,
68006 OPC_CheckPatternPredicate2,
68007 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::XVCMPGTSP_rec),
68008 MVT::v4f32, MVT::i32, 2, 0, 1,
68009 12,
68010 OPC_CheckChild2Integer, 12|128,15,
68011 OPC_CheckPatternPredicate3,
68012 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPBFP_rec),
68013 MVT::v4f32, MVT::i32, 2, 0, 1,
68014 12,
68015 OPC_CheckChild2Integer, 12|128,3,
68016 OPC_CheckPatternPredicate3,
68017 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPEQFP_rec),
68018 MVT::v4f32, MVT::i32, 2, 0, 1,
68019 12,
68020 OPC_CheckChild2Integer, 12|128,7,
68021 OPC_CheckPatternPredicate3,
68022 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGEFP_rec),
68023 MVT::v4f32, MVT::i32, 2, 0, 1,
68024 12,
68025 OPC_CheckChild2Integer, 12|128,11,
68026 OPC_CheckPatternPredicate3,
68027 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(PPC::VCMPGTFP_rec),
68028 MVT::v4f32, MVT::i32, 2, 0, 1,
68029 0,
68030 0,
68031 125, TARGET_VAL(PPCISD::EXTRACT_VSX_REG),
68032 OPC_RecordChild0,
68033 OPC_Scope, 37,
68034 OPC_CheckChild1Integer, 0,
68035 OPC_Scope, 11,
68036 OPC_CheckPatternPredicate, 49,
68037 OPC_EmitStringInteger32, PPC::sub_vsx0,
68038 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68039 MVT::v4i32, 2, 0, 1,
68040 20,
68041 OPC_CheckPatternPredicate, 20,
68042 OPC_EmitStringInteger32, PPC::sub_pair0,
68043 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68044 MVT::v256i1, 2, 0, 1,
68045 OPC_EmitStringInteger32, PPC::sub_vsx0,
68046 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68047 MVT::v4i32, 2, 2, 3,
68048 0,
68049 37,
68050 OPC_CheckChild1Integer, 2,
68051 OPC_Scope, 11,
68052 OPC_CheckPatternPredicate, 49,
68053 OPC_EmitStringInteger32, PPC::sub_vsx1,
68054 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68055 MVT::v4i32, 2, 0, 1,
68056 20,
68057 OPC_CheckPatternPredicate, 20,
68058 OPC_EmitStringInteger32, PPC::sub_pair0,
68059 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68060 MVT::v256i1, 2, 0, 1,
68061 OPC_EmitStringInteger32, PPC::sub_vsx1,
68062 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68063 MVT::v4i32, 2, 2, 3,
68064 0,
68065 22,
68066 OPC_CheckChild1Integer, 4,
68067 OPC_CheckPatternPredicate, 20,
68068 OPC_EmitStringInteger32, PPC::sub_pair1,
68069 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68070 MVT::v256i1, 2, 0, 1,
68071 OPC_EmitStringInteger32, PPC::sub_vsx0,
68072 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68073 MVT::v4i32, 2, 2, 3,
68074 22,
68075 OPC_CheckChild1Integer, 6,
68076 OPC_CheckPatternPredicate, 20,
68077 OPC_EmitStringInteger32, PPC::sub_pair1,
68078 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68079 MVT::v256i1, 2, 0, 1,
68080 OPC_EmitStringInteger32, PPC::sub_vsx1,
68081 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
68082 MVT::v4i32, 2, 2, 3,
68083 0,
68084 34, TARGET_VAL(ISD::SADDSAT),
68085 OPC_RecordChild0,
68086 OPC_RecordChild1,
68087 OPC_SwitchType , 8, MVT::v16i8,
68088 OPC_CheckPatternPredicate3,
68089 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSBS),
68090 MVT::v16i8, 2, 0, 1,
68091 8, MVT::v8i16,
68092 OPC_CheckPatternPredicate3,
68093 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSHS),
68094 MVT::v8i16, 2, 0, 1,
68095 8, MVT::v4i32,
68096 OPC_CheckPatternPredicate3,
68097 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDSWS),
68098 MVT::v4i32, 2, 0, 1,
68099 0,
68100 34, TARGET_VAL(ISD::UADDSAT),
68101 OPC_RecordChild0,
68102 OPC_RecordChild1,
68103 OPC_SwitchType , 8, MVT::v16i8,
68104 OPC_CheckPatternPredicate3,
68105 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUBS),
68106 MVT::v16i8, 2, 0, 1,
68107 8, MVT::v8i16,
68108 OPC_CheckPatternPredicate3,
68109 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUHS),
68110 MVT::v8i16, 2, 0, 1,
68111 8, MVT::v4i32,
68112 OPC_CheckPatternPredicate3,
68113 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VADDUWS),
68114 MVT::v4i32, 2, 0, 1,
68115 0,
68116 34, TARGET_VAL(ISD::SSUBSAT),
68117 OPC_RecordChild0,
68118 OPC_RecordChild1,
68119 OPC_SwitchType , 8, MVT::v16i8,
68120 OPC_CheckPatternPredicate3,
68121 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSBS),
68122 MVT::v16i8, 2, 0, 1,
68123 8, MVT::v8i16,
68124 OPC_CheckPatternPredicate3,
68125 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSHS),
68126 MVT::v8i16, 2, 0, 1,
68127 8, MVT::v4i32,
68128 OPC_CheckPatternPredicate3,
68129 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBSWS),
68130 MVT::v4i32, 2, 0, 1,
68131 0,
68132 34, TARGET_VAL(ISD::USUBSAT),
68133 OPC_RecordChild0,
68134 OPC_RecordChild1,
68135 OPC_SwitchType , 8, MVT::v16i8,
68136 OPC_CheckPatternPredicate3,
68137 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUBS),
68138 MVT::v16i8, 2, 0, 1,
68139 8, MVT::v8i16,
68140 OPC_CheckPatternPredicate3,
68141 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUHS),
68142 MVT::v8i16, 2, 0, 1,
68143 8, MVT::v4i32,
68144 OPC_CheckPatternPredicate3,
68145 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VSUBUWS),
68146 MVT::v4i32, 2, 0, 1,
68147 0,
68148 27, TARGET_VAL(PPCISD::VPERM),
68149 OPC_RecordChild0,
68150 OPC_RecordChild1,
68151 OPC_RecordChild2,
68152 OPC_SwitchType , 9, MVT::v16i8,
68153 OPC_CheckPatternPredicate3,
68154 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
68155 MVT::v16i8, 3, 0, 1, 2,
68156 9, MVT::v2f64,
68157 OPC_CheckPatternPredicate3,
68158 OPC_MorphNodeTo1None, TARGET_VAL(PPC::VPERM),
68159 MVT::v2f64, 3, 0, 1, 2,
68160 0,
68161 30, TARGET_VAL(PPCISD::XXSPLTI32DX),
68162 OPC_RecordChild0,
68163 OPC_CheckChild0Type, MVT::v2i64,
68164 OPC_RecordChild1,
68165 OPC_CheckChild1TypeI32,
68166 OPC_RecordChild2,
68167 OPC_CheckChild2TypeI32,
68168 OPC_Scope, 10,
68169 OPC_CheckPatternPredicate, 22,
68170 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTI32DX),
68171 MVT::v2i64, 3, 0, 1, 2,
68172 9,
68173 OPC_CheckPatternPredicate4,
68174 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTI32DX),
68175 MVT::v2i64, 3, 0, 1, 2,
68176 0,
68177 9, TARGET_VAL(PPCISD::XXMFACC),
68178 OPC_RecordChild0,
68179 OPC_CheckPatternPredicate, 20,
68180 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMFACC),
68181 MVT::v512i1, 1, 0,
68182 29, TARGET_VAL(PPCISD::PAIR_BUILD),
68183 OPC_RecordChild0,
68184 OPC_RecordChild1,
68185 OPC_CheckPatternPredicate, 49,
68186 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68187 MVT::v256i1, 0,
68188 OPC_EmitStringInteger32, PPC::sub_vsx1,
68189 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68190 MVT::v256i1, 3, 2, 1, 3,
68191 OPC_EmitStringInteger32, PPC::sub_vsx0,
68192 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68193 MVT::v256i1, 3, 4, 0, 5,
68194 40|128,1, TARGET_VAL(PPCISD::ACC_BUILD),
68195 OPC_RecordChild0,
68196 OPC_RecordChild1,
68197 OPC_RecordChild2,
68198 OPC_RecordChild3,
68199 OPC_Scope, 59,
68200 OPC_CheckPatternPredicate, 23,
68201 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68202 MVT::v256i1, 0,
68203 OPC_EmitStringInteger32, PPC::sub_vsx1,
68204 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68205 MVT::v256i1, 3, 4, 1, 5,
68206 OPC_EmitStringInteger32, PPC::sub_vsx0,
68207 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68208 MVT::v256i1, 3, 6, 0, 7,
68209 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68210 MVT::v256i1, 0,
68211 OPC_EmitStringInteger32, PPC::sub_vsx1,
68212 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68213 MVT::v256i1, 3, 9, 3, 10,
68214 OPC_EmitStringInteger32, PPC::sub_vsx0,
68215 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68216 MVT::v256i1, 3, 11, 2, 12,
68217 OPC_MorphNodeTo1None, TARGET_VAL(PPC::DMXXINSTFDMR512),
68218 MVT::v512i1, 2, 8, 13,
68219 101,
68220 OPC_CheckPatternPredicate, 20,
68221 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68222 MVT::v512i1, 0,
68223 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68224 MVT::v256i1, 0,
68225 OPC_EmitStringInteger32, PPC::sub_vsx1,
68226 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68227 MVT::v256i1, 3, 5, 1, 6,
68228 OPC_EmitStringInteger32, PPC::sub_vsx0,
68229 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68230 MVT::v256i1, 3, 7, 0, 8,
68231 OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
68232 MVT::v256i1, 1, 9,
68233 OPC_EmitStringInteger32, PPC::sub_pair0,
68234 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68235 MVT::v512i1, 3, 4, 10, 11,
68236 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
68237 MVT::v256i1, 0,
68238 OPC_EmitStringInteger32, PPC::sub_vsx1,
68239 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68240 MVT::v256i1, 3, 13, 3, 14,
68241 OPC_EmitStringInteger32, PPC::sub_vsx0,
68242 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68243 MVT::v256i1, 3, 15, 2, 16,
68244 OPC_EmitNode1None, TARGET_VAL(PPC::KILL_PAIR),
68245 MVT::v256i1, 1, 17,
68246 OPC_EmitStringInteger32, PPC::sub_pair1,
68247 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
68248 MVT::v512i1, 3, 12, 18, 19,
68249 OPC_EmitNode1None, TARGET_VAL(PPC::BUILD_UACC),
68250 MVT::v512i1, 1, 20,
68251 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXMTACC),
68252 MVT::v512i1, 1, 21,
68253 0,
68254 16, TARGET_VAL(PPCISD::LXVD2X),
68255 OPC_RecordMemRef,
68256 OPC_RecordNode,
68257 OPC_RecordChild1,
68258 OPC_CheckPatternPredicate, 65,
68259 OPC_CheckComplexPat0, /*#*/1,
68260 OPC_EmitMergeInputChains1_0,
68261 OPC_MorphNodeTo1, TARGET_VAL(PPC::LXVD2X), 0|OPFL_Chain|OPFL_MemRefs,
68262 MVT::v2f64, 2, 2, 3,
68263 118, TARGET_VAL(PPCISD::LD_VSX_LH),
68264 OPC_RecordMemRef,
68265 OPC_RecordNode,
68266 OPC_Scope, 52,
68267 OPC_RecordChild1,
68268 OPC_CheckPatternPredicate7,
68269 OPC_Scope, 23,
68270 OPC_CheckComplexPat4, /*#*/1,
68271 OPC_EmitMergeInputChains1_0,
68272 OPC_EmitInteger64, 2,
68273 OPC_EmitNode1, TARGET_VAL(PPC::DFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
68274 MVT::f64, 2, 2, 3,
68275 OPC_EmitStringInteger32, PPC::sub_64,
68276 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
68277 MVT::v4f32, 3, 4, 5, 6,
68278 23,
68279 OPC_CheckComplexPat1, /*#*/1,
68280 OPC_EmitMergeInputChains1_0,
68281 OPC_EmitInteger64, 2,
68282 OPC_EmitNode1, TARGET_VAL(PPC::XFLOADf64), 0|OPFL_Chain|OPFL_MemRefs,
68283 MVT::f64, 2, 2, 3,
68284 OPC_EmitStringInteger32, PPC::sub_64,
68285 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
68286 MVT::v4f32, 3, 4, 5, 6,
68287 0,
68288 33,
68289 OPC_MoveChild1,
68290 OPC_CheckOpcode, TARGET_VAL(PPCISD::MAT_PCREL_ADDR),
68291 OPC_RecordChild0,
68292 OPC_MoveParent,
68293 OPC_CheckPatternPredicate, 47,
68294 OPC_CheckComplexPat2, /*#*/1,
68295 OPC_EmitMergeInputChains1_0,
68296 OPC_EmitInteger64, 2,
68297 OPC_EmitInteger32, 0,
68298 OPC_EmitNode1, TARGET_VAL(PPC::PLFDpc), 0|OPFL_Chain|OPFL_MemRefs,
68299 MVT::f64, 2, 2, 5,
68300 OPC_EmitStringInteger32, PPC::sub_64,
68301 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
68302 MVT::v4f32, 3, 4, 6, 7,
68303 26,
68304 OPC_RecordChild1,
68305 OPC_CheckPatternPredicate, 48,
68306 OPC_CheckComplexPat3, /*#*/1,
68307 OPC_EmitMergeInputChains1_0,
68308 OPC_EmitInteger64, 2,
68309 OPC_EmitNode1, TARGET_VAL(PPC::PLFD), 0|OPFL_Chain|OPFL_MemRefs,
68310 MVT::f64, 2, 2, 3,
68311 OPC_EmitStringInteger32, PPC::sub_64,
68312 OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
68313 MVT::v4f32, 3, 4, 5, 6,
68314 0,
68315 41, TARGET_VAL(PPCISD::SINT_VEC_TO_FP),
68316 OPC_RecordChild0,
68317 OPC_CheckChild0Type, MVT::v4i32,
68318 OPC_CheckType, MVT::v2f64,
68319 OPC_Scope, 16,
68320 OPC_CheckChild1Integer, 0,
68321 OPC_CheckPatternPredicate2,
68322 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
68323 MVT::v2i64, 2, 0, 0,
68324 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
68325 MVT::v2f64, 1, 1,
68326 16,
68327 OPC_CheckChild1Integer, 2,
68328 OPC_CheckPatternPredicate2,
68329 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
68330 MVT::v2i64, 2, 0, 0,
68331 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSXWDP),
68332 MVT::v2f64, 1, 1,
68333 0,
68334 41, TARGET_VAL(PPCISD::UINT_VEC_TO_FP),
68335 OPC_RecordChild0,
68336 OPC_CheckChild0Type, MVT::v4i32,
68337 OPC_CheckType, MVT::v2f64,
68338 OPC_Scope, 16,
68339 OPC_CheckChild1Integer, 0,
68340 OPC_CheckPatternPredicate2,
68341 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
68342 MVT::v2i64, 2, 0, 0,
68343 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
68344 MVT::v2f64, 1, 1,
68345 16,
68346 OPC_CheckChild1Integer, 2,
68347 OPC_CheckPatternPredicate2,
68348 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
68349 MVT::v2i64, 2, 0, 0,
68350 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVUXWDP),
68351 MVT::v2f64, 1, 1,
68352 0,
68353 37, TARGET_VAL(PPCISD::FP_EXTEND_HALF),
68354 OPC_RecordChild0,
68355 OPC_Scope, 16,
68356 OPC_CheckChild1Integer, 0,
68357 OPC_CheckPatternPredicate2,
68358 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGHW),
68359 MVT::v4i32, 2, 0, 0,
68360 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
68361 MVT::v2f64, 1, 1,
68362 16,
68363 OPC_CheckChild1Integer, 2,
68364 OPC_CheckPatternPredicate2,
68365 OPC_EmitNode1None, TARGET_VAL(PPC::XXMRGLW),
68366 MVT::v4i32, 2, 0, 0,
68367 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVCVSPDP),
68368 MVT::v2f64, 1, 1,
68369 0,
68370 14, TARGET_VAL(PPCISD::SWAP_NO_CHAIN),
68371 OPC_RecordChild0,
68372 OPC_CheckType, MVT::v2f64,
68373 OPC_CheckPatternPredicate2,
68374 OPC_EmitInteger32, 4,
68375 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERMDI),
68376 MVT::v2f64, 3, 0, 0, 1,
68377 33, TARGET_VAL(ISD::STRICT_FMAXNUM),
68378 OPC_RecordNode,
68379 OPC_RecordChild1,
68380 OPC_RecordChild2,
68381 OPC_SwitchType , 12, MVT::v4f32,
68382 OPC_CheckPatternPredicate2,
68383 OPC_EmitMergeInputChains1_0,
68384 OPC_EmitNode1None, TARGET_VAL(PPC::XVMAXSP),
68385 MVT::v4f32, 2, 1, 2,
68386 OPC_CompleteMatch, 1, 3,
68387
68388 12, MVT::v2f64,
68389 OPC_CheckPatternPredicate2,
68390 OPC_EmitMergeInputChains1_0,
68391 OPC_EmitNode1None, TARGET_VAL(PPC::XVMAXDP),
68392 MVT::v2f64, 2, 1, 2,
68393 OPC_CompleteMatch, 1, 3,
68394
68395 0,
68396 24, TARGET_VAL(ISD::FMAXNUM),
68397 OPC_RecordChild0,
68398 OPC_RecordChild1,
68399 OPC_SwitchType , 8, MVT::v4f32,
68400 OPC_CheckPatternPredicate2,
68401 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXSP),
68402 MVT::v4f32, 2, 0, 1,
68403 8, MVT::v2f64,
68404 OPC_CheckPatternPredicate2,
68405 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMAXDP),
68406 MVT::v2f64, 2, 0, 1,
68407 0,
68408 33, TARGET_VAL(ISD::STRICT_FMINNUM),
68409 OPC_RecordNode,
68410 OPC_RecordChild1,
68411 OPC_RecordChild2,
68412 OPC_SwitchType , 12, MVT::v4f32,
68413 OPC_CheckPatternPredicate2,
68414 OPC_EmitMergeInputChains1_0,
68415 OPC_EmitNode1None, TARGET_VAL(PPC::XVMINSP),
68416 MVT::v4f32, 2, 1, 2,
68417 OPC_CompleteMatch, 1, 3,
68418
68419 12, MVT::v2f64,
68420 OPC_CheckPatternPredicate2,
68421 OPC_EmitMergeInputChains1_0,
68422 OPC_EmitNode1None, TARGET_VAL(PPC::XVMINDP),
68423 MVT::v2f64, 2, 1, 2,
68424 OPC_CompleteMatch, 1, 3,
68425
68426 0,
68427 24, TARGET_VAL(ISD::FMINNUM),
68428 OPC_RecordChild0,
68429 OPC_RecordChild1,
68430 OPC_SwitchType , 8, MVT::v4f32,
68431 OPC_CheckPatternPredicate2,
68432 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINSP),
68433 MVT::v4f32, 2, 0, 1,
68434 8, MVT::v2f64,
68435 OPC_CheckPatternPredicate2,
68436 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XVMINDP),
68437 MVT::v2f64, 2, 0, 1,
68438 0,
68439 12, TARGET_VAL(PPCISD::XXPERM),
68440 OPC_RecordChild0,
68441 OPC_RecordChild1,
68442 OPC_RecordChild2,
68443 OPC_CheckPatternPredicate7,
68444 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXPERM),
68445 MVT::v2f64, 3, 0, 1, 2,
68446 10, TARGET_VAL(PPCISD::XXSPLTI_SP_TO_DP),
68447 OPC_RecordChild0,
68448 OPC_CheckChild0TypeI32,
68449 OPC_CheckPatternPredicate, 22,
68450 OPC_MorphNodeTo1None, TARGET_VAL(PPC::XXSPLTIDP),
68451 MVT::v2f64, 1, 0,
68452 0,
68453 0
68454 }; // Total Array size is 163440 bytes
68455
68456 #undef TARGET_VAL
68457 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
68458}
68459#endif // GET_DAGISEL_BODY
68460
68461#ifdef GET_DAGISEL_DECL
68462bool CheckPatternPredicate(unsigned PredNo) const override;
68463#endif
68464#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
68465bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
68466#if DAGISEL_INLINE
68467 override
68468#endif
68469{
68470 switch (PredNo) {
68471 default: llvm_unreachable("Invalid predicate in table?");
68472 case 0: return (Subtarget->hasFPU());
68473 case 1: return (Subtarget->hasP10Vector()) && (Subtarget->hasPrefixInstrs());
68474 case 2: return (Subtarget->hasVSX());
68475 case 3: return (Subtarget->hasAltivec());
68476 case 4: return (Subtarget->isISA3_1());
68477 case 5: return (Subtarget->hasSPE());
68478 case 6: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68479 case 7: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
68480 case 8: return (!Subtarget->isISA3_1());
68481 case 9: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
68482 case 10: return (Subtarget->hasFPU()) && (Subtarget->isISA3_1());
68483 case 11: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX());
68484 case 12: return (Subtarget->hasP8Altivec());
68485 case 13: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68486 case 14: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68487 case 15: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
68488 case 16: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68489 case 17: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68490 case 18: return (Subtarget->hasP9Altivec());
68491 case 19: return (Subtarget->hasPCRelativeMemops());
68492 case 20: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA());
68493 case 21: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68494 case 22: return (Subtarget->hasPrefixInstrs());
68495 case 23: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA());
68496 case 24: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
68497 case 25: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Altivec());
68498 case 26: return (!Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
68499 case 27: return (Subtarget->isISAFuture()) && (Subtarget->hasMMA()) && (Subtarget->hasPrefixInstrs());
68500 case 28: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68501 case 29: return (Subtarget->hasHTM());
68502 case 30: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX());
68503 case 31: return (Subtarget->isISA3_0());
68504 case 32: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64());
68505 case 33: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1()) && (Subtarget->isLittleEndian());
68506 case 34: return (Subtarget->hasP10Vector()) && (Subtarget->hasPCRelativeMemops());
68507 case 35: return (Subtarget->isPPC64());
68508 case 36: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68509 case 37: return (Subtarget->hasVSX()) && (!Subtarget->hasP9Vector());
68510 case 38: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68511 case 39: return (Subtarget->hasVSX()) && (Subtarget->isISA3_1());
68512 case 40: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1());
68513 case 41: return (Subtarget->isISA3_1()) && (Subtarget->isLittleEndian());
68514 case 42: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68515 case 43: return (!Subtarget->isPPC64());
68516 case 44: return (!Subtarget->hasOnlyMSYNC());
68517 case 45: return (Subtarget->hasP8Crypto());
68518 case 46: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (Subtarget->isPPC64());
68519 case 47: return (Subtarget->hasFPU()) && (Subtarget->hasPCRelativeMemops());
68520 case 48: return (Subtarget->hasFPU()) && (Subtarget->hasPrefixInstrs());
68521 case 49: return (Subtarget->pairedVectorMemops());
68522 case 50: return (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
68523 case 51: return (Subtarget->hasOnlyMSYNC());
68524 case 52: return (Subtarget->isPPC64()) && (Subtarget->isISA3_0());
68525 case 53: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
68526 case 54: return (Subtarget->hasP8Vector()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
68527 case 55: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
68528 case 56: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_0()) && (Subtarget->isPPC64());
68529 case 57: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isISA3_0()) && (Subtarget->isLittleEndian());
68530 case 58: return (Subtarget->hasExtDiv());
68531 case 59: return (Subtarget->hasP9Vector()) && (Subtarget->hasVSX()) && (!Subtarget->hasP10Vector());
68532 case 60: return (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1()) && (!Subtarget->isPPC64());
68533 case 61: return (Subtarget->hasP9Altivec()) && (Subtarget->hasVSX());
68534 case 62: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian()) && (Subtarget->isPPC64()) && (!Subtarget->hasP9Vector());
68535 case 63: return (Subtarget->hasDirectMove()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian()) && (!Subtarget->hasP9Vector());
68536 case 64: return (Subtarget->hasP10Vector()) && (Subtarget->pairedVectorMemops()) && (Subtarget->hasPrefixInstrs());
68537 case 65: return (!Subtarget->hasP9Vector()) && (Subtarget->hasVSX());
68538 case 66: return (Subtarget->isISA2_07());
68539 case 67: return (Subtarget->isISA2_06());
68540 case 68: return (Subtarget->hasVSX()) && (!Subtarget->hasP8Vector());
68541 case 69: return (!Subtarget->isLittleEndian()) && (Subtarget->isISA3_1());
68542 case 70: return (Subtarget->isAIXABI());
68543 case 71: return (!Subtarget->isAIXABI());
68544 case 72: return (Subtarget->hasBPERMD());
68545 case 73: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (!Subtarget->isLittleEndian());
68546 case 74: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX()) && (Subtarget->isLittleEndian());
68547 case 75: return (Subtarget->hasP8Altivec()) && (Subtarget->hasVSX());
68548 case 76: return (Subtarget->hasICBT());
68549 }
68550}
68551#endif // GET_DAGISEL_BODY
68552
68553#ifdef GET_DAGISEL_DECL
68554bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
68555#endif
68556#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
68557bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
68558#if DAGISEL_INLINE
68559 override
68560#endif
68561{
68562 switch (PredNo) {
68563 default: llvm_unreachable("Invalid predicate in table?");
68564 case 0: {
68565 // Predicate_immZExt16
68566 auto *N = cast<ConstantSDNode>(Val: Node);
68567 (void)N;
68568
68569 // immZExt16 predicate - True if the immediate fits in a 16-bit zero extended
68570 // field. Used by instructions like 'ori'.
68571 return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
68572
68573 }
68574 case 1: {
68575 // Predicate_unindexedstore
68576 SDNode *N = Node;
68577 (void)N;
68578if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
68579return true;
68580
68581 }
68582 case 2: {
68583 // Predicate_atomic_cmp_swap_i16
68584 // Predicate_atomic_load_16
68585 // Predicate_atomic_load_add_i16
68586 // Predicate_atomic_load_and_i16
68587 // Predicate_atomic_load_max_i16
68588 // Predicate_atomic_load_min_i16
68589 // Predicate_atomic_load_nand_i16
68590 // Predicate_atomic_load_or_i16
68591 // Predicate_atomic_load_sub_i16
68592 // Predicate_atomic_load_umax_i16
68593 // Predicate_atomic_load_umin_i16
68594 // Predicate_atomic_load_xor_i16
68595 // Predicate_atomic_store_16
68596 // Predicate_atomic_swap_i16
68597 // Predicate_extloadi16
68598 // Predicate_pre_truncsti16
68599 // Predicate_sextloadi16
68600 // Predicate_zextloadi16
68601 SDNode *N = Node;
68602 (void)N;
68603if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
68604return true;
68605
68606 }
68607 case 3: {
68608 // Predicate_Msk4Imm
68609 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68610 return isUInt<4>(x: Imm);
68611 }
68612 case 4: {
68613 // Predicate_atomic_cmp_swap_i8
68614 // Predicate_atomic_load_8
68615 // Predicate_atomic_load_add_i8
68616 // Predicate_atomic_load_and_i8
68617 // Predicate_atomic_load_max_i8
68618 // Predicate_atomic_load_min_i8
68619 // Predicate_atomic_load_nand_i8
68620 // Predicate_atomic_load_or_i8
68621 // Predicate_atomic_load_sub_i8
68622 // Predicate_atomic_load_umax_i8
68623 // Predicate_atomic_load_umin_i8
68624 // Predicate_atomic_load_xor_i8
68625 // Predicate_atomic_store_8
68626 // Predicate_atomic_swap_i8
68627 // Predicate_extloadi8
68628 // Predicate_pre_truncsti8
68629 // Predicate_zextloadi8
68630 SDNode *N = Node;
68631 (void)N;
68632if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
68633return true;
68634
68635 }
68636 case 5: {
68637 // Predicate_load
68638 SDNode *N = Node;
68639 (void)N;
68640if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
68641return true;
68642
68643 }
68644 case 6: {
68645 // Predicate_istore
68646 // Predicate_store
68647 SDNode *N = Node;
68648 (void)N;
68649 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
68650return true;
68651
68652 }
68653 case 7: {
68654 // Predicate_itruncstore
68655 // Predicate_truncstore
68656 SDNode *N = Node;
68657 (void)N;
68658 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
68659return true;
68660
68661 }
68662 case 8: {
68663 // Predicate_atomic_cmp_swap_i32
68664 // Predicate_atomic_load_32
68665 // Predicate_atomic_load_add_i32
68666 // Predicate_atomic_load_and_i32
68667 // Predicate_atomic_load_max_i32
68668 // Predicate_atomic_load_min_i32
68669 // Predicate_atomic_load_nand_i32
68670 // Predicate_atomic_load_or_i32
68671 // Predicate_atomic_load_sub_i32
68672 // Predicate_atomic_load_umax_i32
68673 // Predicate_atomic_load_umin_i32
68674 // Predicate_atomic_load_xor_i32
68675 // Predicate_atomic_store_32
68676 // Predicate_atomic_swap_i32
68677 // Predicate_extloadi32
68678 // Predicate_pre_truncsti32
68679 // Predicate_sextloadi32
68680 // Predicate_zextloadi32
68681 SDNode *N = Node;
68682 (void)N;
68683if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
68684return true;
68685
68686 }
68687 case 9: {
68688 // Predicate_extload
68689 SDNode *N = Node;
68690 (void)N;
68691if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
68692return true;
68693
68694 }
68695 case 10: {
68696 // Predicate_imm32SExt16
68697 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68698
68699 // imm32SExt16 predicate - True if the i32 immediate fits in a 16-bit
68700 // sign extended field. Used by instructions like 'addi'.
68701 return (int32_t)Imm == (short)Imm;
68702
68703 }
68704 case 11: {
68705 // Predicate_unindexedload
68706 SDNode *N = Node;
68707 (void)N;
68708if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
68709return true;
68710
68711 }
68712 case 12: {
68713 // Predicate_imm64SExt16
68714 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68715
68716 // imm64SExt16 predicate - True if the i64 immediate fits in a 16-bit
68717 // sign extended field. Used by instructions like 'addi'.
68718 return (int64_t)Imm == (short)Imm;
68719
68720 }
68721 case 13: {
68722 // Predicate_zextload
68723 SDNode *N = Node;
68724 (void)N;
68725if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
68726return true;
68727
68728 }
68729 case 14: {
68730 // Predicate_truncstorei8
68731 SDNode *N = Node;
68732 (void)N;
68733if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
68734 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
68735return true;
68736
68737 }
68738 case 15: {
68739 // Predicate_Msk2Imm
68740 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68741 return isUInt<2>(x: Imm);
68742 }
68743 case 16: {
68744 // Predicate_truncstorei16
68745 SDNode *N = Node;
68746 (void)N;
68747if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
68748 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
68749return true;
68750
68751 }
68752 case 17: {
68753 // Predicate_extloadf32
68754 SDNode *N = Node;
68755 (void)N;
68756if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::f32) return false;
68757return true;
68758
68759 }
68760 case 18: {
68761 // Predicate_atomic_cmp_swap_i64
68762 // Predicate_atomic_load_64
68763 // Predicate_atomic_load_add_i64
68764 // Predicate_atomic_load_and_i64
68765 // Predicate_atomic_load_max_i64
68766 // Predicate_atomic_load_min_i64
68767 // Predicate_atomic_load_nand_i64
68768 // Predicate_atomic_load_or_i64
68769 // Predicate_atomic_load_sub_i64
68770 // Predicate_atomic_load_umax_i64
68771 // Predicate_atomic_load_umin_i64
68772 // Predicate_atomic_load_xor_i64
68773 // Predicate_atomic_store_64
68774 // Predicate_atomic_swap_i64
68775 SDNode *N = Node;
68776 (void)N;
68777if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
68778return true;
68779
68780 }
68781 case 19: {
68782 // Predicate_sextload
68783 SDNode *N = Node;
68784 (void)N;
68785if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
68786return true;
68787
68788 }
68789 case 20: {
68790 // Predicate_extloadi1
68791 // Predicate_zextloadi1
68792 SDNode *N = Node;
68793 (void)N;
68794if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i1) return false;
68795return true;
68796
68797 }
68798 case 21: {
68799 // Predicate_pre_store
68800 // Predicate_pre_truncst
68801 SDNode *N = Node;
68802 (void)N;
68803
68804 ISD::MemIndexedMode AM = cast<StoreSDNode>(Val: N)->getAddressingMode();
68805 return AM == ISD::PRE_INC || AM == ISD::PRE_DEC;
68806
68807 }
68808 case 22: {
68809 // Predicate_imm64ZExt32
68810 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68811
68812 // imm64ZExt32 predicate - True if the i64 immediate fits in a 32-bit
68813 // zero extended field.
68814 return isUInt<32>(x: Imm);
68815
68816 }
68817 case 23: {
68818 // Predicate_imm16ShiftedZExt
68819 auto *N = cast<ConstantSDNode>(Val: Node);
68820 (void)N;
68821
68822 // imm16ShiftedZExt predicate - True if only bits in the top 16-bits of the
68823 // immediate are set. Used by instructions like 'xoris'.
68824 return (N->getZExtValue() & ~uint64_t(0xFFFF0000)) == 0;
68825
68826 }
68827 case 24: {
68828 // Predicate_immEQOneV
68829 SDNode *N = Node;
68830 (void)N;
68831
68832 if (ConstantSDNode *C = cast<BuildVectorSDNode>(Val: N)->getConstantSplatNode())
68833 return C->isOne();
68834 return false;
68835
68836 }
68837 case 25: {
68838 // Predicate_extloadf16
68839 // Predicate_truncstoref16
68840 SDNode *N = Node;
68841 (void)N;
68842if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::f16) return false;
68843return true;
68844
68845 }
68846 case 26: {
68847 // Predicate_truncstorei32
68848 SDNode *N = Node;
68849 (void)N;
68850if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
68851 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
68852return true;
68853
68854 }
68855 case 27: {
68856 // Predicate_add_without_simm16
68857 // Predicate_mul_without_simm16
68858 SDNode *N = Node;
68859 (void)N;
68860
68861 int16_t Imm;
68862 return !isIntS16Immediate(Op: N->getOperand(Num: 0), Imm)
68863 && !isIntS16Immediate(Op: N->getOperand(Num: 1), Imm);
68864
68865 }
68866 case 28: {
68867 // Predicate_imm16ShiftedSExt
68868 auto *N = cast<ConstantSDNode>(Val: Node);
68869 (void)N;
68870
68871 // imm16ShiftedSExt predicate - True if only bits in the top 16-bits of the
68872 // immediate are set. Used by instructions like 'addis'. Identical to
68873 // imm16ShiftedZExt in 32-bit mode.
68874 if (N->getZExtValue() & 0xFFFF) return false;
68875 if (N->getValueType(ResNo: 0) == MVT::i32)
68876 return true;
68877 // For 64-bit, make sure it is sext right.
68878 return N->getZExtValue() == (uint64_t)(int)N->getZExtValue();
68879
68880 }
68881 case 29: {
68882 // Predicate_Msk8Imm
68883 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
68884 return isUInt<8>(x: Imm);
68885 }
68886 case 30: {
68887 // Predicate_fpimm0neg
68888 auto *N = cast<ConstantFPSDNode>(Val: Node);
68889 (void)N;
68890return N->isExactlyValue(V: -0.0);
68891 }
68892 case 31: {
68893 // Predicate_vmrglw_unary_shuffle
68894 SDNode *N = Node;
68895 (void)N;
68896
68897 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 1, DAG&: *CurDAG);
68898
68899 }
68900 case 32: {
68901 // Predicate_vmrghw_unary_shuffle
68902 SDNode *N = Node;
68903 (void)N;
68904
68905 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 1, DAG&: *CurDAG);
68906
68907 }
68908 case 33: {
68909 // Predicate_vmrglw_shuffle
68910 SDNode *N = Node;
68911 (void)N;
68912
68913 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 0, DAG&: *CurDAG);
68914
68915 }
68916 case 34: {
68917 // Predicate_vmrghw_shuffle
68918 SDNode *N = Node;
68919 (void)N;
68920
68921 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 0, DAG&: *CurDAG);
68922
68923 }
68924 case 35: {
68925 // Predicate_vmrglw_swapped_shuffle
68926 SDNode *N = Node;
68927 (void)N;
68928
68929 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 2, DAG&: *CurDAG);
68930
68931 }
68932 case 36: {
68933 // Predicate_vmrghw_swapped_shuffle
68934 SDNode *N = Node;
68935 (void)N;
68936
68937 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 4, ShuffleKind: 2, DAG&: *CurDAG);
68938
68939 }
68940 case 37: {
68941 // Predicate_DSFormPreStore
68942 SDNode *N = Node;
68943 (void)N;
68944
68945 return isOffsetMultipleOf(N, Val: 4) || cast<StoreSDNode>(Val: N)->getAlign() >= 4;
68946
68947 }
68948 case 38: {
68949 // Predicate_maskimm32
68950 auto *N = cast<ConstantSDNode>(Val: Node);
68951 (void)N;
68952
68953 // maskImm predicate - True if immediate is a run of ones.
68954 unsigned mb, me;
68955 if (N->getValueType(ResNo: 0) == MVT::i32)
68956 return isRunOfOnes(Val: (unsigned)N->getZExtValue(), MB&: mb, ME&: me);
68957 else
68958 return false;
68959
68960 }
68961 case 39: {
68962 // Predicate_imm34
68963 auto *N = cast<ConstantSDNode>(Val: Node);
68964 (void)N;
68965
68966 return isInt<34>(x: N->getSExtValue());
68967
68968 }
68969 case 40: {
68970 // Predicate_fpimm0
68971 auto *N = cast<ConstantFPSDNode>(Val: Node);
68972 (void)N;
68973 return N->isExactlyValue(V: +0.0);
68974 }
68975 case 41: {
68976 // Predicate_nzFPImmAsi32
68977 auto *N = cast<ConstantFPSDNode>(Val: Node);
68978 (void)N;
68979
68980 APFloat APFloatOfN = N->getValueAPF();
68981 return convertToNonDenormSingle(ArgAPFloat&: APFloatOfN) && !N->isExactlyValue(V: +0.0);
68982
68983 }
68984 case 42: {
68985 // Predicate_nzFPImmExactInti5
68986 auto *N = cast<ConstantFPSDNode>(Val: Node);
68987 (void)N;
68988
68989 APFloat FloatValue = N->getValueAPF();
68990 bool IsExact;
68991 APSInt IntResult(16, false);
68992 FloatValue.convertToInteger(Result&: IntResult, RM: APFloat::rmTowardZero, IsExact: &IsExact);
68993 return IsExact && IntResult <= 15 && IntResult >= -16 && !FloatValue.isZero();
68994
68995 }
68996 case 43: {
68997 // Predicate_nzFPImmAsi64
68998 auto *N = cast<ConstantFPSDNode>(Val: Node);
68999 (void)N;
69000
69001 APFloat APFloatOfN = N->getValueAPF();
69002 return !N->isExactlyValue(V: +0.0) && !checkConvertToNonDenormSingle(ArgAPFloat&: APFloatOfN);
69003
69004 }
69005 case 44: {
69006 // Predicate_immNonAllOneAnyExt8
69007 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
69008
69009 return (isInt<8>(x: Imm) && (Imm != -1)) || (isUInt<8>(x: Imm) && (Imm != 0xFF));
69010
69011 }
69012 case 45: {
69013 // Predicate_immSExt5NonZero
69014 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
69015 return Imm && isInt<5>(x: Imm);
69016 }
69017 case 46: {
69018 // Predicate_i32immNonAllOneNonZero
69019 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
69020 return Imm && (Imm != -1);
69021 }
69022 case 47: {
69023 // Predicate_vecspltisb
69024 SDNode *N = Node;
69025 (void)N;
69026
69027 return PPC::get_VSPLTI_elt(N, ByteSize: 1, DAG&: *CurDAG).getNode() != nullptr;
69028
69029 }
69030 case 48: {
69031 // Predicate_vecspltish
69032 SDNode *N = Node;
69033 (void)N;
69034
69035 return PPC::get_VSPLTI_elt(N, ByteSize: 2, DAG&: *CurDAG).getNode() != nullptr;
69036
69037 }
69038 case 49: {
69039 // Predicate_vecspltisw
69040 SDNode *N = Node;
69041 (void)N;
69042
69043 return PPC::get_VSPLTI_elt(N, ByteSize: 4, DAG&: *CurDAG).getNode() != nullptr;
69044
69045 }
69046 case 50: {
69047 // Predicate_PPCldsplatAlign16
69048 SDNode *N = Node;
69049 (void)N;
69050
69051 return cast<MemIntrinsicSDNode>(Val: N)->getAlign() >= Align(16) &&
69052 isOffsetMultipleOf(N, Val: 16);
69053
69054 }
69055 case 51: {
69056 // Predicate_vspltb_shuffle
69057 SDNode *N = Node;
69058 (void)N;
69059
69060 return PPC::isSplatShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), EltSize: 1);
69061
69062 }
69063 case 52: {
69064 // Predicate_vsplth_shuffle
69065 SDNode *N = Node;
69066 (void)N;
69067
69068 return PPC::isSplatShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), EltSize: 2);
69069
69070 }
69071 case 53: {
69072 // Predicate_vspltw_shuffle
69073 SDNode *N = Node;
69074 (void)N;
69075
69076 return PPC::isSplatShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), EltSize: 4);
69077
69078 }
69079 case 54: {
69080 // Predicate_vsldoi_unary_shuffle
69081 SDNode *N = Node;
69082 (void)N;
69083
69084 return PPC::isVSLDOIShuffleMask(N, ShuffleKind: 1, DAG&: *CurDAG) != -1;
69085
69086 }
69087 case 55: {
69088 // Predicate_vpkuwum_unary_shuffle
69089 SDNode *N = Node;
69090 (void)N;
69091
69092 return PPC::isVPKUWUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 1, DAG&: *CurDAG);
69093
69094 }
69095 case 56: {
69096 // Predicate_vpkuhum_unary_shuffle
69097 SDNode *N = Node;
69098 (void)N;
69099
69100 return PPC::isVPKUHUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 1, DAG&: *CurDAG);
69101
69102 }
69103 case 57: {
69104 // Predicate_vmrglb_unary_shuffle
69105 SDNode *N = Node;
69106 (void)N;
69107
69108 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 1, DAG&: *CurDAG);
69109
69110 }
69111 case 58: {
69112 // Predicate_vmrglh_unary_shuffle
69113 SDNode *N = Node;
69114 (void)N;
69115
69116 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 1, DAG&: *CurDAG);
69117
69118 }
69119 case 59: {
69120 // Predicate_vmrghb_unary_shuffle
69121 SDNode *N = Node;
69122 (void)N;
69123
69124 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 1, DAG&: *CurDAG);
69125
69126 }
69127 case 60: {
69128 // Predicate_vmrghh_unary_shuffle
69129 SDNode *N = Node;
69130 (void)N;
69131
69132 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 1, DAG&: *CurDAG);
69133
69134 }
69135 case 61: {
69136 // Predicate_vmrgew_unary_shuffle
69137 SDNode *N = Node;
69138 (void)N;
69139
69140 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: true, ShuffleKind: 1, DAG&: *CurDAG);
69141
69142 }
69143 case 62: {
69144 // Predicate_vmrgow_unary_shuffle
69145 SDNode *N = Node;
69146 (void)N;
69147
69148 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: false, ShuffleKind: 1, DAG&: *CurDAG);
69149
69150 }
69151 case 63: {
69152 // Predicate_vpkudum_unary_shuffle
69153 SDNode *N = Node;
69154 (void)N;
69155
69156 return PPC::isVPKUDUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 1, DAG&: *CurDAG);
69157
69158 }
69159 case 64: {
69160 // Predicate_vmrghb_shuffle
69161 SDNode *N = Node;
69162 (void)N;
69163
69164 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 0, DAG&: *CurDAG);
69165
69166 }
69167 case 65: {
69168 // Predicate_vmrghh_shuffle
69169 SDNode *N = Node;
69170 (void)N;
69171
69172 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 0, DAG&: *CurDAG);
69173
69174 }
69175 case 66: {
69176 // Predicate_vmrglb_shuffle
69177 SDNode *N = Node;
69178 (void)N;
69179
69180 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 0, DAG&: *CurDAG);
69181
69182 }
69183 case 67: {
69184 // Predicate_vmrglh_shuffle
69185 SDNode *N = Node;
69186 (void)N;
69187
69188 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 0, DAG&: *CurDAG);
69189
69190 }
69191 case 68: {
69192 // Predicate_vpkuhum_shuffle
69193 SDNode *N = Node;
69194 (void)N;
69195
69196 return PPC::isVPKUHUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 0, DAG&: *CurDAG);
69197
69198 }
69199 case 69: {
69200 // Predicate_vpkuwum_shuffle
69201 SDNode *N = Node;
69202 (void)N;
69203
69204 return PPC::isVPKUWUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 0, DAG&: *CurDAG);
69205
69206 }
69207 case 70: {
69208 // Predicate_vsldoi_shuffle
69209 SDNode *N = Node;
69210 (void)N;
69211
69212 return PPC::isVSLDOIShuffleMask(N, ShuffleKind: 0, DAG&: *CurDAG) != -1;
69213
69214 }
69215 case 71: {
69216 // Predicate_vsldoi_swapped_shuffle
69217 SDNode *N = Node;
69218 (void)N;
69219
69220 return PPC::isVSLDOIShuffleMask(N, ShuffleKind: 2, DAG&: *CurDAG) != -1;
69221
69222 }
69223 case 72: {
69224 // Predicate_vpkuwum_swapped_shuffle
69225 SDNode *N = Node;
69226 (void)N;
69227
69228 return PPC::isVPKUWUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 2, DAG&: *CurDAG);
69229
69230 }
69231 case 73: {
69232 // Predicate_vpkuhum_swapped_shuffle
69233 SDNode *N = Node;
69234 (void)N;
69235
69236 return PPC::isVPKUHUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 2, DAG&: *CurDAG);
69237
69238 }
69239 case 74: {
69240 // Predicate_vmrglb_swapped_shuffle
69241 SDNode *N = Node;
69242 (void)N;
69243
69244 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 2, DAG&: *CurDAG);
69245
69246 }
69247 case 75: {
69248 // Predicate_vmrglh_swapped_shuffle
69249 SDNode *N = Node;
69250 (void)N;
69251
69252 return PPC::isVMRGLShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 2, DAG&: *CurDAG);
69253
69254 }
69255 case 76: {
69256 // Predicate_vmrghb_swapped_shuffle
69257 SDNode *N = Node;
69258 (void)N;
69259
69260 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 1, ShuffleKind: 2, DAG&: *CurDAG);
69261
69262 }
69263 case 77: {
69264 // Predicate_vmrghh_swapped_shuffle
69265 SDNode *N = Node;
69266 (void)N;
69267
69268 return PPC::isVMRGHShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), UnitSize: 2, ShuffleKind: 2, DAG&: *CurDAG);
69269
69270 }
69271 case 78: {
69272 // Predicate_vmrgew_shuffle
69273 SDNode *N = Node;
69274 (void)N;
69275
69276 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: true, ShuffleKind: 0, DAG&: *CurDAG);
69277
69278 }
69279 case 79: {
69280 // Predicate_vmrgow_shuffle
69281 SDNode *N = Node;
69282 (void)N;
69283
69284 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: false, ShuffleKind: 0, DAG&: *CurDAG);
69285
69286 }
69287 case 80: {
69288 // Predicate_vmrgew_swapped_shuffle
69289 SDNode *N = Node;
69290 (void)N;
69291
69292 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: true, ShuffleKind: 2, DAG&: *CurDAG);
69293
69294 }
69295 case 81: {
69296 // Predicate_vmrgow_swapped_shuffle
69297 SDNode *N = Node;
69298 (void)N;
69299
69300 return PPC::isVMRGEOShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), CheckEven: false, ShuffleKind: 2, DAG&: *CurDAG);
69301
69302 }
69303 case 82: {
69304 // Predicate_vpkudum_shuffle
69305 SDNode *N = Node;
69306 (void)N;
69307
69308 return PPC::isVPKUDUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 0, DAG&: *CurDAG);
69309
69310 }
69311 case 83: {
69312 // Predicate_vpkudum_swapped_shuffle
69313 SDNode *N = Node;
69314 (void)N;
69315
69316 return PPC::isVPKUDUMShuffleMask(N: cast<ShuffleVectorSDNode>(Val: N), ShuffleKind: 2, DAG&: *CurDAG);
69317
69318 }
69319 }
69320}
69321#endif // GET_DAGISEL_BODY
69322
69323#ifdef GET_DAGISEL_DECL
69324bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
69325 SDValue N, unsigned PatternNo,
69326 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
69327#endif
69328#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
69329bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
69330 SDValue N, unsigned PatternNo,
69331 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
69332#if DAGISEL_INLINE
69333 override
69334#endif
69335{
69336 unsigned NextRes = Result.size();
69337 switch (PatternNo) {
69338 default: llvm_unreachable("Invalid pattern # in table?");
69339 case 0:
69340 Result.resize(N: NextRes+2);
69341 return SelectForceXForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69342 case 1:
69343 Result.resize(N: NextRes+2);
69344 return SelectXForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69345 case 2:
69346 Result.resize(N: NextRes+2);
69347 return SelectPCRelForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69348 case 3:
69349 Result.resize(N: NextRes+2);
69350 return SelectPDForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69351 case 4:
69352 Result.resize(N: NextRes+2);
69353 return SelectDSForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69354 case 5:
69355 Result.resize(N: NextRes+2);
69356 return SelectDForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69357 case 6:
69358 Result.resize(N: NextRes+2);
69359 return SelectAddrIdxOnly(N, Base&: Result[NextRes+0].first, Index&: Result[NextRes+1].first);
69360 case 7:
69361 Result.resize(N: NextRes+2);
69362 return SelectDQForm(Parent, N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69363 case 8:
69364 Result.resize(N: NextRes+2);
69365 return SelectAddrImm(N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69366 case 9:
69367 Result.resize(N: NextRes+1);
69368 return SelectAddrImmOffs(N, Out&: Result[NextRes+0].first);
69369 case 10:
69370 Result.resize(N: NextRes+1);
69371 return SelectAddr(N, Base&: Result[NextRes+0].first);
69372 case 11:
69373 Result.resize(N: NextRes+2);
69374 return SelectAddrIdx(N, Base&: Result[NextRes+0].first, Index&: Result[NextRes+1].first);
69375 case 12:
69376 Result.resize(N: NextRes+2);
69377 return SelectAddrImmX4(N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69378 case 13:
69379 Result.resize(N: NextRes+2);
69380 return SelectAddrImmX16(N, Disp&: Result[NextRes+0].first, Base&: Result[NextRes+1].first);
69381 }
69382}
69383#endif // GET_DAGISEL_BODY
69384
69385#ifdef GET_DAGISEL_DECL
69386SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
69387#endif
69388#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
69389SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
69390#if DAGISEL_INLINE
69391 override
69392#endif
69393{
69394 switch (XFormNo) {
69395 default: llvm_unreachable("Invalid xform # in table?");
69396 case 0: {
69397 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69398
69399 // Transformation function: shift the immediate value down into the low bits.
69400 return getI32Imm(Imm: (unsigned)N->getZExtValue() >> 16, dl: SDLoc(N));
69401
69402 }
69403 case 1: {
69404 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69405
69406 // Transformation function: get the low 16 bits.
69407 return getI32Imm(Imm: (unsigned short)N->getZExtValue(), dl: SDLoc(N));
69408
69409 }
69410 case 2: {
69411 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69412
69413 return getI32Imm (Imm: N->getZExtValue(), dl: SDLoc(N));
69414
69415 }
69416 case 3: {
69417 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69418
69419 // Transformation function: shift the immediate value down into the low bits.
69420 int64_t Val = N->getZExtValue();
69421 return getI32Imm(Imm: (Val - (signed short)Val) >> 16, dl: SDLoc(N));
69422
69423 }
69424 case 4: {
69425 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69426
69427 // Transformation function: get the start bit of a mask
69428 unsigned mb = 0, me;
69429 (void)isRunOfOnes(Val: (unsigned)N->getZExtValue(), MB&: mb, ME&: me);
69430 return getI32Imm(Imm: mb, dl: SDLoc(N));
69431
69432 }
69433 case 5: {
69434 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69435
69436 // Transformation function: get the end bit of a mask
69437 unsigned mb, me = 0;
69438 (void)isRunOfOnes(Val: (unsigned)N->getZExtValue(), MB&: mb, ME&: me);
69439 return getI32Imm(Imm: me, dl: SDLoc(N));
69440
69441 }
69442 case 6: {
69443 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69444
69445 // Transformation function: 32 - imm
69446 return N->getZExtValue() ? getI32Imm(Imm: 32 - N->getZExtValue(), dl: SDLoc(N))
69447 : getI32Imm(Imm: 0, dl: SDLoc(N));
69448
69449 }
69450 case 7: {
69451 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69452
69453 // Transformation function: 64 - imm
69454 return N->getZExtValue() ? getI32Imm(Imm: 64 - N->getZExtValue(), dl: SDLoc(N))
69455 : getI32Imm(Imm: 0, dl: SDLoc(N));
69456
69457 }
69458 case 8: {
69459 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69460
69461 // Transformation function: 31 - imm
69462 return getI32Imm(Imm: 31 - N->getZExtValue(), dl: SDLoc(N));
69463
69464 }
69465 case 9: {
69466 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69467
69468 // Transformation function: 63 - imm
69469 return getI32Imm(Imm: 63 - N->getZExtValue(), dl: SDLoc(N));
69470
69471 }
69472 case 10: {
69473 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
69474
69475 return getI64Imm(Imm: N->getSExtValue(), dl: SDLoc(N));
69476
69477 }
69478 case 11: {
69479 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
69480
69481 APFloat APFloatOfN = N->getValueAPF();
69482 convertToNonDenormSingle(ArgAPFloat&: APFloatOfN);
69483 return CurDAG->getTargetConstant(Val: APFloatOfN.bitcastToAPInt().getZExtValue(),
69484 DL: SDLoc(N), VT: MVT::i32);
69485
69486 }
69487 case 12: {
69488 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
69489
69490 APFloat FloatValue = N->getValueAPF();
69491 bool IsExact;
69492 APSInt IntResult(32, false);
69493 FloatValue.convertToInteger(Result&: IntResult, RM: APFloat::rmTowardZero, IsExact: &IsExact);
69494 return CurDAG->getTargetConstant(Val: IntResult, DL: SDLoc(N), VT: MVT::i32);
69495
69496 }
69497 case 13: {
69498 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
69499
69500 APFloat APFloatOfN = N->getValueAPF();
69501 bool Unused;
69502 APFloatOfN.convert(ToSemantics: APFloat::IEEEdouble(), RM: APFloat::rmNearestTiesToEven,
69503 losesInfo: &Unused);
69504 uint32_t Hi = (uint32_t)((APFloatOfN.bitcastToAPInt().getZExtValue() &
69505 0xFFFFFFFF00000000LL) >> 32);
69506 return CurDAG->getTargetConstant(Val: Hi, DL: SDLoc(N), VT: MVT::i32);
69507
69508 }
69509 case 14: {
69510 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
69511
69512 APFloat APFloatOfN = N->getValueAPF();
69513 bool Unused;
69514 APFloatOfN.convert(ToSemantics: APFloat::IEEEdouble(), RM: APFloat::rmNearestTiesToEven,
69515 losesInfo: &Unused);
69516 uint32_t Lo = (uint32_t)(APFloatOfN.bitcastToAPInt().getZExtValue() &
69517 0xFFFFFFFF);
69518 return CurDAG->getTargetConstant(Val: Lo, DL: SDLoc(N), VT: MVT::i32);
69519
69520 }
69521 case 15: {
69522 SDNode *N = V.getNode();
69523
69524 return PPC::get_VSPLTI_elt(N, ByteSize: 1, DAG&: *CurDAG);
69525
69526 }
69527 case 16: {
69528 SDNode *N = V.getNode();
69529
69530 return PPC::get_VSPLTI_elt(N, ByteSize: 2, DAG&: *CurDAG);
69531
69532 }
69533 case 17: {
69534 SDNode *N = V.getNode();
69535
69536 return PPC::get_VSPLTI_elt(N, ByteSize: 4, DAG&: *CurDAG);
69537
69538 }
69539 case 18: {
69540 SDNode *N = V.getNode();
69541
69542 return getI32Imm(Imm: PPC::getSplatIdxForPPCMnemonics(N, EltSize: 1, DAG&: *CurDAG), dl: SDLoc(N));
69543
69544 }
69545 case 19: {
69546 SDNode *N = V.getNode();
69547
69548 return getI32Imm(Imm: PPC::getSplatIdxForPPCMnemonics(N, EltSize: 2, DAG&: *CurDAG), dl: SDLoc(N));
69549
69550 }
69551 case 20: {
69552 SDNode *N = V.getNode();
69553
69554 return getI32Imm(Imm: PPC::getSplatIdxForPPCMnemonics(N, EltSize: 4, DAG&: *CurDAG), dl: SDLoc(N));
69555
69556 }
69557 case 21: {
69558 SDNode *N = V.getNode();
69559
69560 return getI32Imm(Imm: PPC::isVSLDOIShuffleMask(N, ShuffleKind: 1, DAG&: *CurDAG), dl: SDLoc(N));
69561
69562 }
69563 case 22: {
69564 SDNode *N = V.getNode();
69565
69566 return getI32Imm(Imm: PPC::isVSLDOIShuffleMask(N, ShuffleKind: 0, DAG&: *CurDAG), dl: SDLoc(N));
69567
69568 }
69569 case 23: {
69570 SDNode *N = V.getNode();
69571
69572 return getI32Imm(Imm: PPC::isVSLDOIShuffleMask(N, ShuffleKind: 2, DAG&: *CurDAG), dl: SDLoc(N));
69573
69574 }
69575 }
69576}
69577#endif // GET_DAGISEL_BODY
69578
69579
69580#ifdef DAGISEL_INLINE
69581#undef DAGISEL_INLINE
69582#endif
69583#ifdef DAGISEL_CLASS_COLONCOLON
69584#undef DAGISEL_CLASS_COLONCOLON
69585#endif
69586#ifdef GET_DAGISEL_DECL
69587#undef GET_DAGISEL_DECL
69588#endif
69589#ifdef GET_DAGISEL_BODY
69590#undef GET_DAGISEL_BODY
69591#endif
69592