1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the WebAssembly target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9// *** NOTE: This file is #included into the middle of the target
10// *** instruction selector class. These functions are really methods.
11
12// If GET_DAGISEL_DECL is #defined with any value, only function
13// declarations will be included when this file is included.
14// If GET_DAGISEL_BODY is #defined, its value should be the name of
15// the instruction selector class. Function bodies will be emitted
16// and each function's name will be qualified with the name of the
17// class.
18//
19// When neither of the GET_DAGISEL* macros is defined, the functions
20// are emitted inline.
21
22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24#endif
25
26#ifdef GET_DAGISEL_BODY
27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this. Coverage indexes are emitted as 4 bytes,
55 // COVERAGE_IDX_VAL handles this.
56 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
57 #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
58 static const uint8_t MatcherTable[] = {
59 OPC_SwitchOpcode , 107|128,8, TARGET_VAL(ISD::ZERO_EXTEND),
60 OPC_Scope, 95|128,8,
61 OPC_MoveChild0,
62 OPC_SwitchOpcode , 108, TARGET_VAL(ISD::AssertZext),
63 OPC_MoveChild0,
64 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
65 OPC_RecordMemRef,
66 OPC_RecordNode,
67 OPC_CheckFoldableChainNode,
68 OPC_RecordChild1,
69 OPC_Scope, 48,
70 OPC_CheckChild1TypeI32,
71 OPC_MoveChild2,
72 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
73 OPC_RecordChild0,
74 OPC_MoveSibling3,
75 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
76 OPC_RecordChild0,
77 OPC_MoveParent,
78 OPC_Scope, 16,
79 OPC_CheckPredicate1,
80 OPC_MoveParent,
81 OPC_MoveParent,
82 OPC_CheckPatternPredicate1,
83 OPC_CheckComplexPat0, /*#*/1,
84 OPC_EmitMergeInputChains1_0,
85 OPC_EmitIntegerI32, 0,
86 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
87 MVT::i64, 6, 62,
88 16,
89 OPC_CheckPredicate2,
90 OPC_MoveParent,
91 OPC_MoveParent,
92 OPC_CheckPatternPredicate1,
93 OPC_CheckComplexPat0, /*#*/1,
94 OPC_EmitMergeInputChains1_0,
95 OPC_EmitIntegerI32, 0,
96 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
97 MVT::i64, 6, 62,
98 0,
99 48,
100 OPC_CheckChild1TypeI64,
101 OPC_MoveChild2,
102 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
103 OPC_RecordChild0,
104 OPC_MoveSibling3,
105 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
106 OPC_RecordChild0,
107 OPC_MoveParent,
108 OPC_Scope, 16,
109 OPC_CheckPredicate1,
110 OPC_MoveParent,
111 OPC_MoveParent,
112 OPC_CheckPatternPredicate2,
113 OPC_CheckComplexPat1, /*#*/1,
114 OPC_EmitMergeInputChains1_0,
115 OPC_EmitIntegerI32, 0,
116 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
117 MVT::i64, 6, 62,
118 16,
119 OPC_CheckPredicate2,
120 OPC_MoveParent,
121 OPC_MoveParent,
122 OPC_CheckPatternPredicate2,
123 OPC_CheckComplexPat1, /*#*/1,
124 OPC_EmitMergeInputChains1_0,
125 OPC_EmitIntegerI32, 0,
126 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
127 MVT::i64, 6, 62,
128 0,
129 0,
130 61, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
131 OPC_RecordMemRef,
132 OPC_RecordNode,
133 OPC_RecordChild1,
134 OPC_Scope, 27,
135 OPC_CheckChild1TypeI32,
136 OPC_MoveChild2,
137 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
138 OPC_RecordChild0,
139 OPC_MoveSibling3,
140 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
141 OPC_RecordChild0,
142 OPC_MoveParent,
143 OPC_CheckPredicate3,
144 OPC_MoveParent,
145 OPC_CheckPatternPredicate1,
146 OPC_CheckComplexPat0, /*#*/1,
147 OPC_EmitMergeInputChains1_0,
148 OPC_EmitIntegerI32, 0,
149 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
150 MVT::i64, 6, 62,
151 27,
152 OPC_CheckChild1TypeI64,
153 OPC_MoveChild2,
154 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
155 OPC_RecordChild0,
156 OPC_MoveSibling3,
157 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
158 OPC_RecordChild0,
159 OPC_MoveParent,
160 OPC_CheckPredicate3,
161 OPC_MoveParent,
162 OPC_CheckPatternPredicate2,
163 OPC_CheckComplexPat1, /*#*/1,
164 OPC_EmitMergeInputChains1_0,
165 OPC_EmitIntegerI32, 0,
166 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
167 MVT::i64, 6, 62,
168 0,
169 121, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
170 OPC_RecordMemRef,
171 OPC_RecordNode,
172 OPC_RecordChild1,
173 OPC_Scope, 57,
174 OPC_CheckChild1TypeI32,
175 OPC_MoveChild2,
176 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
177 OPC_RecordChild0,
178 OPC_MoveParent,
179 OPC_Scope, 15,
180 OPC_CheckPredicate1,
181 OPC_MoveParent,
182 OPC_CheckPatternPredicate1,
183 OPC_CheckComplexPat0, /*#*/1,
184 OPC_EmitMergeInputChains1_0,
185 OPC_EmitIntegerI32, 0,
186 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
187 MVT::i64, 5, 50,
188 15,
189 OPC_CheckPredicate2,
190 OPC_MoveParent,
191 OPC_CheckPatternPredicate1,
192 OPC_CheckComplexPat0, /*#*/1,
193 OPC_EmitMergeInputChains1_0,
194 OPC_EmitIntegerI32, 0,
195 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
196 MVT::i64, 5, 50,
197 15,
198 OPC_CheckPredicate3,
199 OPC_MoveParent,
200 OPC_CheckPatternPredicate1,
201 OPC_CheckComplexPat0, /*#*/1,
202 OPC_EmitMergeInputChains1_0,
203 OPC_EmitIntegerI32, 0,
204 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
205 MVT::i64, 5, 50,
206 0,
207 57,
208 OPC_CheckChild1TypeI64,
209 OPC_MoveChild2,
210 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
211 OPC_RecordChild0,
212 OPC_MoveParent,
213 OPC_Scope, 15,
214 OPC_CheckPredicate1,
215 OPC_MoveParent,
216 OPC_CheckPatternPredicate2,
217 OPC_CheckComplexPat1, /*#*/1,
218 OPC_EmitMergeInputChains1_0,
219 OPC_EmitIntegerI32, 0,
220 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
221 MVT::i64, 5, 50,
222 15,
223 OPC_CheckPredicate2,
224 OPC_MoveParent,
225 OPC_CheckPatternPredicate2,
226 OPC_CheckComplexPat1, /*#*/1,
227 OPC_EmitMergeInputChains1_0,
228 OPC_EmitIntegerI32, 0,
229 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
230 MVT::i64, 5, 50,
231 15,
232 OPC_CheckPredicate3,
233 OPC_MoveParent,
234 OPC_CheckPatternPredicate2,
235 OPC_CheckComplexPat1, /*#*/1,
236 OPC_EmitMergeInputChains1_0,
237 OPC_EmitIntegerI32, 0,
238 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
239 MVT::i64, 5, 50,
240 0,
241 0,
242 121, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
243 OPC_RecordMemRef,
244 OPC_RecordNode,
245 OPC_RecordChild1,
246 OPC_Scope, 57,
247 OPC_CheckChild1TypeI32,
248 OPC_MoveChild2,
249 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
250 OPC_RecordChild0,
251 OPC_MoveParent,
252 OPC_Scope, 15,
253 OPC_CheckPredicate1,
254 OPC_MoveParent,
255 OPC_CheckPatternPredicate1,
256 OPC_CheckComplexPat0, /*#*/1,
257 OPC_EmitMergeInputChains1_0,
258 OPC_EmitIntegerI32, 0,
259 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
260 MVT::i64, 5, 50,
261 15,
262 OPC_CheckPredicate2,
263 OPC_MoveParent,
264 OPC_CheckPatternPredicate1,
265 OPC_CheckComplexPat0, /*#*/1,
266 OPC_EmitMergeInputChains1_0,
267 OPC_EmitIntegerI32, 0,
268 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
269 MVT::i64, 5, 50,
270 15,
271 OPC_CheckPredicate3,
272 OPC_MoveParent,
273 OPC_CheckPatternPredicate1,
274 OPC_CheckComplexPat0, /*#*/1,
275 OPC_EmitMergeInputChains1_0,
276 OPC_EmitIntegerI32, 0,
277 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
278 MVT::i64, 5, 50,
279 0,
280 57,
281 OPC_CheckChild1TypeI64,
282 OPC_MoveChild2,
283 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
284 OPC_RecordChild0,
285 OPC_MoveParent,
286 OPC_Scope, 15,
287 OPC_CheckPredicate1,
288 OPC_MoveParent,
289 OPC_CheckPatternPredicate2,
290 OPC_CheckComplexPat1, /*#*/1,
291 OPC_EmitMergeInputChains1_0,
292 OPC_EmitIntegerI32, 0,
293 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
294 MVT::i64, 5, 50,
295 15,
296 OPC_CheckPredicate2,
297 OPC_MoveParent,
298 OPC_CheckPatternPredicate2,
299 OPC_CheckComplexPat1, /*#*/1,
300 OPC_EmitMergeInputChains1_0,
301 OPC_EmitIntegerI32, 0,
302 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
303 MVT::i64, 5, 50,
304 15,
305 OPC_CheckPredicate3,
306 OPC_MoveParent,
307 OPC_CheckPatternPredicate2,
308 OPC_CheckComplexPat1, /*#*/1,
309 OPC_EmitMergeInputChains1_0,
310 OPC_EmitIntegerI32, 0,
311 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
312 MVT::i64, 5, 50,
313 0,
314 0,
315 121, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
316 OPC_RecordMemRef,
317 OPC_RecordNode,
318 OPC_RecordChild1,
319 OPC_Scope, 57,
320 OPC_CheckChild1TypeI32,
321 OPC_MoveChild2,
322 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
323 OPC_RecordChild0,
324 OPC_MoveParent,
325 OPC_Scope, 15,
326 OPC_CheckPredicate1,
327 OPC_MoveParent,
328 OPC_CheckPatternPredicate1,
329 OPC_CheckComplexPat0, /*#*/1,
330 OPC_EmitMergeInputChains1_0,
331 OPC_EmitIntegerI32, 0,
332 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
333 MVT::i64, 5, 50,
334 15,
335 OPC_CheckPredicate2,
336 OPC_MoveParent,
337 OPC_CheckPatternPredicate1,
338 OPC_CheckComplexPat0, /*#*/1,
339 OPC_EmitMergeInputChains1_0,
340 OPC_EmitIntegerI32, 0,
341 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
342 MVT::i64, 5, 50,
343 15,
344 OPC_CheckPredicate3,
345 OPC_MoveParent,
346 OPC_CheckPatternPredicate1,
347 OPC_CheckComplexPat0, /*#*/1,
348 OPC_EmitMergeInputChains1_0,
349 OPC_EmitIntegerI32, 0,
350 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
351 MVT::i64, 5, 50,
352 0,
353 57,
354 OPC_CheckChild1TypeI64,
355 OPC_MoveChild2,
356 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
357 OPC_RecordChild0,
358 OPC_MoveParent,
359 OPC_Scope, 15,
360 OPC_CheckPredicate1,
361 OPC_MoveParent,
362 OPC_CheckPatternPredicate2,
363 OPC_CheckComplexPat1, /*#*/1,
364 OPC_EmitMergeInputChains1_0,
365 OPC_EmitIntegerI32, 0,
366 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
367 MVT::i64, 5, 50,
368 15,
369 OPC_CheckPredicate2,
370 OPC_MoveParent,
371 OPC_CheckPatternPredicate2,
372 OPC_CheckComplexPat1, /*#*/1,
373 OPC_EmitMergeInputChains1_0,
374 OPC_EmitIntegerI32, 0,
375 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
376 MVT::i64, 5, 50,
377 15,
378 OPC_CheckPredicate3,
379 OPC_MoveParent,
380 OPC_CheckPatternPredicate2,
381 OPC_CheckComplexPat1, /*#*/1,
382 OPC_EmitMergeInputChains1_0,
383 OPC_EmitIntegerI32, 0,
384 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
385 MVT::i64, 5, 50,
386 0,
387 0,
388 121, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
389 OPC_RecordMemRef,
390 OPC_RecordNode,
391 OPC_RecordChild1,
392 OPC_Scope, 57,
393 OPC_CheckChild1TypeI32,
394 OPC_MoveChild2,
395 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
396 OPC_RecordChild0,
397 OPC_MoveParent,
398 OPC_Scope, 15,
399 OPC_CheckPredicate1,
400 OPC_MoveParent,
401 OPC_CheckPatternPredicate1,
402 OPC_CheckComplexPat0, /*#*/1,
403 OPC_EmitMergeInputChains1_0,
404 OPC_EmitIntegerI32, 0,
405 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
406 MVT::i64, 5, 50,
407 15,
408 OPC_CheckPredicate2,
409 OPC_MoveParent,
410 OPC_CheckPatternPredicate1,
411 OPC_CheckComplexPat0, /*#*/1,
412 OPC_EmitMergeInputChains1_0,
413 OPC_EmitIntegerI32, 0,
414 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
415 MVT::i64, 5, 50,
416 15,
417 OPC_CheckPredicate3,
418 OPC_MoveParent,
419 OPC_CheckPatternPredicate1,
420 OPC_CheckComplexPat0, /*#*/1,
421 OPC_EmitMergeInputChains1_0,
422 OPC_EmitIntegerI32, 0,
423 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
424 MVT::i64, 5, 50,
425 0,
426 57,
427 OPC_CheckChild1TypeI64,
428 OPC_MoveChild2,
429 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
430 OPC_RecordChild0,
431 OPC_MoveParent,
432 OPC_Scope, 15,
433 OPC_CheckPredicate1,
434 OPC_MoveParent,
435 OPC_CheckPatternPredicate2,
436 OPC_CheckComplexPat1, /*#*/1,
437 OPC_EmitMergeInputChains1_0,
438 OPC_EmitIntegerI32, 0,
439 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
440 MVT::i64, 5, 50,
441 15,
442 OPC_CheckPredicate2,
443 OPC_MoveParent,
444 OPC_CheckPatternPredicate2,
445 OPC_CheckComplexPat1, /*#*/1,
446 OPC_EmitMergeInputChains1_0,
447 OPC_EmitIntegerI32, 0,
448 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
449 MVT::i64, 5, 50,
450 15,
451 OPC_CheckPredicate3,
452 OPC_MoveParent,
453 OPC_CheckPatternPredicate2,
454 OPC_CheckComplexPat1, /*#*/1,
455 OPC_EmitMergeInputChains1_0,
456 OPC_EmitIntegerI32, 0,
457 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
458 MVT::i64, 5, 50,
459 0,
460 0,
461 121, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
462 OPC_RecordMemRef,
463 OPC_RecordNode,
464 OPC_RecordChild1,
465 OPC_Scope, 57,
466 OPC_CheckChild1TypeI32,
467 OPC_MoveChild2,
468 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
469 OPC_RecordChild0,
470 OPC_MoveParent,
471 OPC_Scope, 15,
472 OPC_CheckPredicate1,
473 OPC_MoveParent,
474 OPC_CheckPatternPredicate1,
475 OPC_CheckComplexPat0, /*#*/1,
476 OPC_EmitMergeInputChains1_0,
477 OPC_EmitIntegerI32, 0,
478 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
479 MVT::i64, 5, 50,
480 15,
481 OPC_CheckPredicate2,
482 OPC_MoveParent,
483 OPC_CheckPatternPredicate1,
484 OPC_CheckComplexPat0, /*#*/1,
485 OPC_EmitMergeInputChains1_0,
486 OPC_EmitIntegerI32, 0,
487 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
488 MVT::i64, 5, 50,
489 15,
490 OPC_CheckPredicate3,
491 OPC_MoveParent,
492 OPC_CheckPatternPredicate1,
493 OPC_CheckComplexPat0, /*#*/1,
494 OPC_EmitMergeInputChains1_0,
495 OPC_EmitIntegerI32, 0,
496 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
497 MVT::i64, 5, 50,
498 0,
499 57,
500 OPC_CheckChild1TypeI64,
501 OPC_MoveChild2,
502 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
503 OPC_RecordChild0,
504 OPC_MoveParent,
505 OPC_Scope, 15,
506 OPC_CheckPredicate1,
507 OPC_MoveParent,
508 OPC_CheckPatternPredicate2,
509 OPC_CheckComplexPat1, /*#*/1,
510 OPC_EmitMergeInputChains1_0,
511 OPC_EmitIntegerI32, 0,
512 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
513 MVT::i64, 5, 50,
514 15,
515 OPC_CheckPredicate2,
516 OPC_MoveParent,
517 OPC_CheckPatternPredicate2,
518 OPC_CheckComplexPat1, /*#*/1,
519 OPC_EmitMergeInputChains1_0,
520 OPC_EmitIntegerI32, 0,
521 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
522 MVT::i64, 5, 50,
523 15,
524 OPC_CheckPredicate3,
525 OPC_MoveParent,
526 OPC_CheckPatternPredicate2,
527 OPC_CheckComplexPat1, /*#*/1,
528 OPC_EmitMergeInputChains1_0,
529 OPC_EmitIntegerI32, 0,
530 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
531 MVT::i64, 5, 50,
532 0,
533 0,
534 121, TARGET_VAL(ISD::ATOMIC_SWAP),
535 OPC_RecordMemRef,
536 OPC_RecordNode,
537 OPC_RecordChild1,
538 OPC_Scope, 57,
539 OPC_CheckChild1TypeI32,
540 OPC_MoveChild2,
541 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
542 OPC_RecordChild0,
543 OPC_MoveParent,
544 OPC_Scope, 15,
545 OPC_CheckPredicate1,
546 OPC_MoveParent,
547 OPC_CheckPatternPredicate1,
548 OPC_CheckComplexPat0, /*#*/1,
549 OPC_EmitMergeInputChains1_0,
550 OPC_EmitIntegerI32, 0,
551 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
552 MVT::i64, 5, 50,
553 15,
554 OPC_CheckPredicate2,
555 OPC_MoveParent,
556 OPC_CheckPatternPredicate1,
557 OPC_CheckComplexPat0, /*#*/1,
558 OPC_EmitMergeInputChains1_0,
559 OPC_EmitIntegerI32, 0,
560 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
561 MVT::i64, 5, 50,
562 15,
563 OPC_CheckPredicate3,
564 OPC_MoveParent,
565 OPC_CheckPatternPredicate1,
566 OPC_CheckComplexPat0, /*#*/1,
567 OPC_EmitMergeInputChains1_0,
568 OPC_EmitIntegerI32, 0,
569 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
570 MVT::i64, 5, 50,
571 0,
572 57,
573 OPC_CheckChild1TypeI64,
574 OPC_MoveChild2,
575 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
576 OPC_RecordChild0,
577 OPC_MoveParent,
578 OPC_Scope, 15,
579 OPC_CheckPredicate1,
580 OPC_MoveParent,
581 OPC_CheckPatternPredicate2,
582 OPC_CheckComplexPat1, /*#*/1,
583 OPC_EmitMergeInputChains1_0,
584 OPC_EmitIntegerI32, 0,
585 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
586 MVT::i64, 5, 50,
587 15,
588 OPC_CheckPredicate2,
589 OPC_MoveParent,
590 OPC_CheckPatternPredicate2,
591 OPC_CheckComplexPat1, /*#*/1,
592 OPC_EmitMergeInputChains1_0,
593 OPC_EmitIntegerI32, 0,
594 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
595 MVT::i64, 5, 50,
596 15,
597 OPC_CheckPredicate3,
598 OPC_MoveParent,
599 OPC_CheckPatternPredicate2,
600 OPC_CheckComplexPat1, /*#*/1,
601 OPC_EmitMergeInputChains1_0,
602 OPC_EmitIntegerI32, 0,
603 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
604 MVT::i64, 5, 50,
605 0,
606 0,
607 65|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
608 OPC_RecordMemRef,
609 OPC_RecordNode,
610 OPC_RecordChild1,
611 OPC_Scope, 93,
612 OPC_CheckChild1TypeI32,
613 OPC_Scope, 17,
614 OPC_CheckPredicate, 18,
615 OPC_CheckPredicate1,
616 OPC_MoveParent,
617 OPC_CheckPatternPredicate1,
618 OPC_CheckComplexPat0, /*#*/1,
619 OPC_EmitMergeInputChains1_0,
620 OPC_EmitIntegerI32, 0,
621 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
622 MVT::i64, 4, 64,
623 17,
624 OPC_CheckPredicate, 15,
625 OPC_CheckPredicate1,
626 OPC_MoveParent,
627 OPC_CheckPatternPredicate1,
628 OPC_CheckComplexPat0, /*#*/1,
629 OPC_EmitMergeInputChains1_0,
630 OPC_EmitIntegerI32, 0,
631 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
632 MVT::i64, 4, 64,
633 17,
634 OPC_CheckPredicate, 18,
635 OPC_CheckPredicate2,
636 OPC_MoveParent,
637 OPC_CheckPatternPredicate1,
638 OPC_CheckComplexPat0, /*#*/1,
639 OPC_EmitMergeInputChains1_0,
640 OPC_EmitIntegerI32, 0,
641 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
642 MVT::i64, 4, 64,
643 17,
644 OPC_CheckPredicate, 15,
645 OPC_CheckPredicate2,
646 OPC_MoveParent,
647 OPC_CheckPatternPredicate1,
648 OPC_CheckComplexPat0, /*#*/1,
649 OPC_EmitMergeInputChains1_0,
650 OPC_EmitIntegerI32, 0,
651 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
652 MVT::i64, 4, 64,
653 17,
654 OPC_CheckPredicate, 28,
655 OPC_CheckPredicate3,
656 OPC_MoveParent,
657 OPC_CheckPatternPredicate1,
658 OPC_CheckComplexPat0, /*#*/1,
659 OPC_EmitMergeInputChains1_0,
660 OPC_EmitIntegerI32, 0,
661 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
662 MVT::i64, 4, 64,
663 0,
664 93,
665 OPC_CheckChild1TypeI64,
666 OPC_Scope, 17,
667 OPC_CheckPredicate, 18,
668 OPC_CheckPredicate1,
669 OPC_MoveParent,
670 OPC_CheckPatternPredicate2,
671 OPC_CheckComplexPat1, /*#*/1,
672 OPC_EmitMergeInputChains1_0,
673 OPC_EmitIntegerI32, 0,
674 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
675 MVT::i64, 4, 64,
676 17,
677 OPC_CheckPredicate, 15,
678 OPC_CheckPredicate1,
679 OPC_MoveParent,
680 OPC_CheckPatternPredicate2,
681 OPC_CheckComplexPat1, /*#*/1,
682 OPC_EmitMergeInputChains1_0,
683 OPC_EmitIntegerI32, 0,
684 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
685 MVT::i64, 4, 64,
686 17,
687 OPC_CheckPredicate, 18,
688 OPC_CheckPredicate2,
689 OPC_MoveParent,
690 OPC_CheckPatternPredicate2,
691 OPC_CheckComplexPat1, /*#*/1,
692 OPC_EmitMergeInputChains1_0,
693 OPC_EmitIntegerI32, 0,
694 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
695 MVT::i64, 4, 64,
696 17,
697 OPC_CheckPredicate, 15,
698 OPC_CheckPredicate2,
699 OPC_MoveParent,
700 OPC_CheckPatternPredicate2,
701 OPC_CheckComplexPat1, /*#*/1,
702 OPC_EmitMergeInputChains1_0,
703 OPC_EmitIntegerI32, 0,
704 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
705 MVT::i64, 4, 64,
706 17,
707 OPC_CheckPredicate, 28,
708 OPC_CheckPredicate3,
709 OPC_MoveParent,
710 OPC_CheckPatternPredicate2,
711 OPC_CheckComplexPat1, /*#*/1,
712 OPC_EmitMergeInputChains1_0,
713 OPC_EmitIntegerI32, 0,
714 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
715 MVT::i64, 4, 64,
716 0,
717 0,
718 0,
719 7,
720 OPC_RecordChild0,
721 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
722 MVT::i64, 1, 2,
723 0,
724 71|128,6, TARGET_VAL(ISD::ANY_EXTEND),
725 OPC_Scope, 59|128,6,
726 OPC_MoveChild0,
727 OPC_SwitchOpcode , 108, TARGET_VAL(ISD::AssertZext),
728 OPC_MoveChild0,
729 OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
730 OPC_RecordMemRef,
731 OPC_RecordNode,
732 OPC_CheckFoldableChainNode,
733 OPC_RecordChild1,
734 OPC_Scope, 48,
735 OPC_CheckChild1TypeI32,
736 OPC_MoveChild2,
737 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
738 OPC_RecordChild0,
739 OPC_MoveSibling3,
740 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
741 OPC_RecordChild0,
742 OPC_MoveParent,
743 OPC_Scope, 16,
744 OPC_CheckPredicate1,
745 OPC_MoveParent,
746 OPC_MoveParent,
747 OPC_CheckPatternPredicate1,
748 OPC_CheckComplexPat0, /*#*/1,
749 OPC_EmitMergeInputChains1_0,
750 OPC_EmitIntegerI32, 0,
751 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
752 MVT::i64, 6, 62,
753 16,
754 OPC_CheckPredicate2,
755 OPC_MoveParent,
756 OPC_MoveParent,
757 OPC_CheckPatternPredicate1,
758 OPC_CheckComplexPat0, /*#*/1,
759 OPC_EmitMergeInputChains1_0,
760 OPC_EmitIntegerI32, 0,
761 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
762 MVT::i64, 6, 62,
763 0,
764 48,
765 OPC_CheckChild1TypeI64,
766 OPC_MoveChild2,
767 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
768 OPC_RecordChild0,
769 OPC_MoveSibling3,
770 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
771 OPC_RecordChild0,
772 OPC_MoveParent,
773 OPC_Scope, 16,
774 OPC_CheckPredicate1,
775 OPC_MoveParent,
776 OPC_MoveParent,
777 OPC_CheckPatternPredicate2,
778 OPC_CheckComplexPat1, /*#*/1,
779 OPC_EmitMergeInputChains1_0,
780 OPC_EmitIntegerI32, 0,
781 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
782 MVT::i64, 6, 62,
783 16,
784 OPC_CheckPredicate2,
785 OPC_MoveParent,
786 OPC_MoveParent,
787 OPC_CheckPatternPredicate2,
788 OPC_CheckComplexPat1, /*#*/1,
789 OPC_EmitMergeInputChains1_0,
790 OPC_EmitIntegerI32, 0,
791 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
792 MVT::i64, 6, 62,
793 0,
794 0,
795 89, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
796 OPC_RecordMemRef,
797 OPC_RecordNode,
798 OPC_RecordChild1,
799 OPC_Scope, 41,
800 OPC_CheckChild1TypeI32,
801 OPC_MoveChild2,
802 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
803 OPC_RecordChild0,
804 OPC_MoveParent,
805 OPC_Scope, 15,
806 OPC_CheckPredicate1,
807 OPC_MoveParent,
808 OPC_CheckPatternPredicate1,
809 OPC_CheckComplexPat0, /*#*/1,
810 OPC_EmitMergeInputChains1_0,
811 OPC_EmitIntegerI32, 0,
812 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
813 MVT::i64, 5, 50,
814 15,
815 OPC_CheckPredicate2,
816 OPC_MoveParent,
817 OPC_CheckPatternPredicate1,
818 OPC_CheckComplexPat0, /*#*/1,
819 OPC_EmitMergeInputChains1_0,
820 OPC_EmitIntegerI32, 0,
821 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
822 MVT::i64, 5, 50,
823 0,
824 41,
825 OPC_CheckChild1TypeI64,
826 OPC_MoveChild2,
827 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
828 OPC_RecordChild0,
829 OPC_MoveParent,
830 OPC_Scope, 15,
831 OPC_CheckPredicate1,
832 OPC_MoveParent,
833 OPC_CheckPatternPredicate2,
834 OPC_CheckComplexPat1, /*#*/1,
835 OPC_EmitMergeInputChains1_0,
836 OPC_EmitIntegerI32, 0,
837 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
838 MVT::i64, 5, 50,
839 15,
840 OPC_CheckPredicate2,
841 OPC_MoveParent,
842 OPC_CheckPatternPredicate2,
843 OPC_CheckComplexPat1, /*#*/1,
844 OPC_EmitMergeInputChains1_0,
845 OPC_EmitIntegerI32, 0,
846 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
847 MVT::i64, 5, 50,
848 0,
849 0,
850 89, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
851 OPC_RecordMemRef,
852 OPC_RecordNode,
853 OPC_RecordChild1,
854 OPC_Scope, 41,
855 OPC_CheckChild1TypeI32,
856 OPC_MoveChild2,
857 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
858 OPC_RecordChild0,
859 OPC_MoveParent,
860 OPC_Scope, 15,
861 OPC_CheckPredicate1,
862 OPC_MoveParent,
863 OPC_CheckPatternPredicate1,
864 OPC_CheckComplexPat0, /*#*/1,
865 OPC_EmitMergeInputChains1_0,
866 OPC_EmitIntegerI32, 0,
867 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
868 MVT::i64, 5, 50,
869 15,
870 OPC_CheckPredicate2,
871 OPC_MoveParent,
872 OPC_CheckPatternPredicate1,
873 OPC_CheckComplexPat0, /*#*/1,
874 OPC_EmitMergeInputChains1_0,
875 OPC_EmitIntegerI32, 0,
876 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
877 MVT::i64, 5, 50,
878 0,
879 41,
880 OPC_CheckChild1TypeI64,
881 OPC_MoveChild2,
882 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
883 OPC_RecordChild0,
884 OPC_MoveParent,
885 OPC_Scope, 15,
886 OPC_CheckPredicate1,
887 OPC_MoveParent,
888 OPC_CheckPatternPredicate2,
889 OPC_CheckComplexPat1, /*#*/1,
890 OPC_EmitMergeInputChains1_0,
891 OPC_EmitIntegerI32, 0,
892 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
893 MVT::i64, 5, 50,
894 15,
895 OPC_CheckPredicate2,
896 OPC_MoveParent,
897 OPC_CheckPatternPredicate2,
898 OPC_CheckComplexPat1, /*#*/1,
899 OPC_EmitMergeInputChains1_0,
900 OPC_EmitIntegerI32, 0,
901 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
902 MVT::i64, 5, 50,
903 0,
904 0,
905 89, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
906 OPC_RecordMemRef,
907 OPC_RecordNode,
908 OPC_RecordChild1,
909 OPC_Scope, 41,
910 OPC_CheckChild1TypeI32,
911 OPC_MoveChild2,
912 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
913 OPC_RecordChild0,
914 OPC_MoveParent,
915 OPC_Scope, 15,
916 OPC_CheckPredicate1,
917 OPC_MoveParent,
918 OPC_CheckPatternPredicate1,
919 OPC_CheckComplexPat0, /*#*/1,
920 OPC_EmitMergeInputChains1_0,
921 OPC_EmitIntegerI32, 0,
922 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
923 MVT::i64, 5, 50,
924 15,
925 OPC_CheckPredicate2,
926 OPC_MoveParent,
927 OPC_CheckPatternPredicate1,
928 OPC_CheckComplexPat0, /*#*/1,
929 OPC_EmitMergeInputChains1_0,
930 OPC_EmitIntegerI32, 0,
931 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
932 MVT::i64, 5, 50,
933 0,
934 41,
935 OPC_CheckChild1TypeI64,
936 OPC_MoveChild2,
937 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
938 OPC_RecordChild0,
939 OPC_MoveParent,
940 OPC_Scope, 15,
941 OPC_CheckPredicate1,
942 OPC_MoveParent,
943 OPC_CheckPatternPredicate2,
944 OPC_CheckComplexPat1, /*#*/1,
945 OPC_EmitMergeInputChains1_0,
946 OPC_EmitIntegerI32, 0,
947 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
948 MVT::i64, 5, 50,
949 15,
950 OPC_CheckPredicate2,
951 OPC_MoveParent,
952 OPC_CheckPatternPredicate2,
953 OPC_CheckComplexPat1, /*#*/1,
954 OPC_EmitMergeInputChains1_0,
955 OPC_EmitIntegerI32, 0,
956 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
957 MVT::i64, 5, 50,
958 0,
959 0,
960 89, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
961 OPC_RecordMemRef,
962 OPC_RecordNode,
963 OPC_RecordChild1,
964 OPC_Scope, 41,
965 OPC_CheckChild1TypeI32,
966 OPC_MoveChild2,
967 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
968 OPC_RecordChild0,
969 OPC_MoveParent,
970 OPC_Scope, 15,
971 OPC_CheckPredicate1,
972 OPC_MoveParent,
973 OPC_CheckPatternPredicate1,
974 OPC_CheckComplexPat0, /*#*/1,
975 OPC_EmitMergeInputChains1_0,
976 OPC_EmitIntegerI32, 0,
977 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
978 MVT::i64, 5, 50,
979 15,
980 OPC_CheckPredicate2,
981 OPC_MoveParent,
982 OPC_CheckPatternPredicate1,
983 OPC_CheckComplexPat0, /*#*/1,
984 OPC_EmitMergeInputChains1_0,
985 OPC_EmitIntegerI32, 0,
986 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
987 MVT::i64, 5, 50,
988 0,
989 41,
990 OPC_CheckChild1TypeI64,
991 OPC_MoveChild2,
992 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
993 OPC_RecordChild0,
994 OPC_MoveParent,
995 OPC_Scope, 15,
996 OPC_CheckPredicate1,
997 OPC_MoveParent,
998 OPC_CheckPatternPredicate2,
999 OPC_CheckComplexPat1, /*#*/1,
1000 OPC_EmitMergeInputChains1_0,
1001 OPC_EmitIntegerI32, 0,
1002 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1003 MVT::i64, 5, 50,
1004 15,
1005 OPC_CheckPredicate2,
1006 OPC_MoveParent,
1007 OPC_CheckPatternPredicate2,
1008 OPC_CheckComplexPat1, /*#*/1,
1009 OPC_EmitMergeInputChains1_0,
1010 OPC_EmitIntegerI32, 0,
1011 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1012 MVT::i64, 5, 50,
1013 0,
1014 0,
1015 89, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1016 OPC_RecordMemRef,
1017 OPC_RecordNode,
1018 OPC_RecordChild1,
1019 OPC_Scope, 41,
1020 OPC_CheckChild1TypeI32,
1021 OPC_MoveChild2,
1022 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1023 OPC_RecordChild0,
1024 OPC_MoveParent,
1025 OPC_Scope, 15,
1026 OPC_CheckPredicate1,
1027 OPC_MoveParent,
1028 OPC_CheckPatternPredicate1,
1029 OPC_CheckComplexPat0, /*#*/1,
1030 OPC_EmitMergeInputChains1_0,
1031 OPC_EmitIntegerI32, 0,
1032 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1033 MVT::i64, 5, 50,
1034 15,
1035 OPC_CheckPredicate2,
1036 OPC_MoveParent,
1037 OPC_CheckPatternPredicate1,
1038 OPC_CheckComplexPat0, /*#*/1,
1039 OPC_EmitMergeInputChains1_0,
1040 OPC_EmitIntegerI32, 0,
1041 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1042 MVT::i64, 5, 50,
1043 0,
1044 41,
1045 OPC_CheckChild1TypeI64,
1046 OPC_MoveChild2,
1047 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1048 OPC_RecordChild0,
1049 OPC_MoveParent,
1050 OPC_Scope, 15,
1051 OPC_CheckPredicate1,
1052 OPC_MoveParent,
1053 OPC_CheckPatternPredicate2,
1054 OPC_CheckComplexPat1, /*#*/1,
1055 OPC_EmitMergeInputChains1_0,
1056 OPC_EmitIntegerI32, 0,
1057 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1058 MVT::i64, 5, 50,
1059 15,
1060 OPC_CheckPredicate2,
1061 OPC_MoveParent,
1062 OPC_CheckPatternPredicate2,
1063 OPC_CheckComplexPat1, /*#*/1,
1064 OPC_EmitMergeInputChains1_0,
1065 OPC_EmitIntegerI32, 0,
1066 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1067 MVT::i64, 5, 50,
1068 0,
1069 0,
1070 89, TARGET_VAL(ISD::ATOMIC_SWAP),
1071 OPC_RecordMemRef,
1072 OPC_RecordNode,
1073 OPC_RecordChild1,
1074 OPC_Scope, 41,
1075 OPC_CheckChild1TypeI32,
1076 OPC_MoveChild2,
1077 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1078 OPC_RecordChild0,
1079 OPC_MoveParent,
1080 OPC_Scope, 15,
1081 OPC_CheckPredicate1,
1082 OPC_MoveParent,
1083 OPC_CheckPatternPredicate1,
1084 OPC_CheckComplexPat0, /*#*/1,
1085 OPC_EmitMergeInputChains1_0,
1086 OPC_EmitIntegerI32, 0,
1087 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1088 MVT::i64, 5, 50,
1089 15,
1090 OPC_CheckPredicate2,
1091 OPC_MoveParent,
1092 OPC_CheckPatternPredicate1,
1093 OPC_CheckComplexPat0, /*#*/1,
1094 OPC_EmitMergeInputChains1_0,
1095 OPC_EmitIntegerI32, 0,
1096 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1097 MVT::i64, 5, 50,
1098 0,
1099 41,
1100 OPC_CheckChild1TypeI64,
1101 OPC_MoveChild2,
1102 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1103 OPC_RecordChild0,
1104 OPC_MoveParent,
1105 OPC_Scope, 15,
1106 OPC_CheckPredicate1,
1107 OPC_MoveParent,
1108 OPC_CheckPatternPredicate2,
1109 OPC_CheckComplexPat1, /*#*/1,
1110 OPC_EmitMergeInputChains1_0,
1111 OPC_EmitIntegerI32, 0,
1112 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1113 MVT::i64, 5, 50,
1114 15,
1115 OPC_CheckPredicate2,
1116 OPC_MoveParent,
1117 OPC_CheckPatternPredicate2,
1118 OPC_CheckComplexPat1, /*#*/1,
1119 OPC_EmitMergeInputChains1_0,
1120 OPC_EmitIntegerI32, 0,
1121 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1122 MVT::i64, 5, 50,
1123 0,
1124 0,
1125 29|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
1126 OPC_RecordMemRef,
1127 OPC_RecordNode,
1128 OPC_RecordChild1,
1129 OPC_Scope, 75,
1130 OPC_CheckChild1TypeI32,
1131 OPC_Scope, 17,
1132 OPC_CheckPredicate, 18,
1133 OPC_CheckPredicate1,
1134 OPC_MoveParent,
1135 OPC_CheckPatternPredicate1,
1136 OPC_CheckComplexPat0, /*#*/1,
1137 OPC_EmitMergeInputChains1_0,
1138 OPC_EmitIntegerI32, 0,
1139 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1140 MVT::i64, 4, 64,
1141 17,
1142 OPC_CheckPredicate, 15,
1143 OPC_CheckPredicate1,
1144 OPC_MoveParent,
1145 OPC_CheckPatternPredicate1,
1146 OPC_CheckComplexPat0, /*#*/1,
1147 OPC_EmitMergeInputChains1_0,
1148 OPC_EmitIntegerI32, 0,
1149 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1150 MVT::i64, 4, 64,
1151 17,
1152 OPC_CheckPredicate, 18,
1153 OPC_CheckPredicate2,
1154 OPC_MoveParent,
1155 OPC_CheckPatternPredicate1,
1156 OPC_CheckComplexPat0, /*#*/1,
1157 OPC_EmitMergeInputChains1_0,
1158 OPC_EmitIntegerI32, 0,
1159 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1160 MVT::i64, 4, 64,
1161 17,
1162 OPC_CheckPredicate, 15,
1163 OPC_CheckPredicate2,
1164 OPC_MoveParent,
1165 OPC_CheckPatternPredicate1,
1166 OPC_CheckComplexPat0, /*#*/1,
1167 OPC_EmitMergeInputChains1_0,
1168 OPC_EmitIntegerI32, 0,
1169 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1170 MVT::i64, 4, 64,
1171 0,
1172 75,
1173 OPC_CheckChild1TypeI64,
1174 OPC_Scope, 17,
1175 OPC_CheckPredicate, 18,
1176 OPC_CheckPredicate1,
1177 OPC_MoveParent,
1178 OPC_CheckPatternPredicate2,
1179 OPC_CheckComplexPat1, /*#*/1,
1180 OPC_EmitMergeInputChains1_0,
1181 OPC_EmitIntegerI32, 0,
1182 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1183 MVT::i64, 4, 64,
1184 17,
1185 OPC_CheckPredicate, 15,
1186 OPC_CheckPredicate1,
1187 OPC_MoveParent,
1188 OPC_CheckPatternPredicate2,
1189 OPC_CheckComplexPat1, /*#*/1,
1190 OPC_EmitMergeInputChains1_0,
1191 OPC_EmitIntegerI32, 0,
1192 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1193 MVT::i64, 4, 64,
1194 17,
1195 OPC_CheckPredicate, 18,
1196 OPC_CheckPredicate2,
1197 OPC_MoveParent,
1198 OPC_CheckPatternPredicate2,
1199 OPC_CheckComplexPat1, /*#*/1,
1200 OPC_EmitMergeInputChains1_0,
1201 OPC_EmitIntegerI32, 0,
1202 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1203 MVT::i64, 4, 64,
1204 17,
1205 OPC_CheckPredicate, 15,
1206 OPC_CheckPredicate2,
1207 OPC_MoveParent,
1208 OPC_CheckPatternPredicate2,
1209 OPC_CheckComplexPat1, /*#*/1,
1210 OPC_EmitMergeInputChains1_0,
1211 OPC_EmitIntegerI32, 0,
1212 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1213 MVT::i64, 4, 64,
1214 0,
1215 0,
1216 0,
1217 7,
1218 OPC_RecordChild0,
1219 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
1220 MVT::i64, 1, 2,
1221 0,
1222 93|128,6, TARGET_VAL(ISD::STORE),
1223 OPC_RecordMemRef,
1224 OPC_RecordNode,
1225 OPC_Scope, 91|128,1,
1226 OPC_MoveChild1,
1227 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
1228 OPC_RecordChild0,
1229 OPC_Scope, 54,
1230 OPC_CheckChild0Type, MVT::v16i8,
1231 OPC_RecordChild1,
1232 OPC_MoveChild1,
1233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1234 OPC_CheckPredicate, 22,
1235 OPC_CheckTypeI32,
1236 OPC_MoveParent,
1237 OPC_CheckTypeI32,
1238 OPC_MoveParent,
1239 OPC_RecordChild2,
1240 OPC_Scope, 18,
1241 OPC_CheckChild2TypeI32,
1242 OPC_CheckPredicate4,
1243 OPC_CheckPredicate, 16,
1244 OPC_CheckPredicate1,
1245 OPC_CheckPatternPredicate3,
1246 OPC_CheckComplexPat2, /*#*/3,
1247 OPC_EmitMergeInputChains1_0,
1248 OPC_EmitIntegerI32, 0,
1249 OPC_EmitConvertToTarget2,
1250 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I8x16_A32), 0|OPFL_Chain|OPFL_MemRefs,
1251 5, 36,
1252 18,
1253 OPC_CheckChild2TypeI64,
1254 OPC_CheckPredicate4,
1255 OPC_CheckPredicate, 16,
1256 OPC_CheckPredicate1,
1257 OPC_CheckPatternPredicate4,
1258 OPC_CheckComplexPat3, /*#*/3,
1259 OPC_EmitMergeInputChains1_0,
1260 OPC_EmitIntegerI32, 0,
1261 OPC_EmitConvertToTarget2,
1262 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I8x16_A64), 0|OPFL_Chain|OPFL_MemRefs,
1263 5, 36,
1264 0,
1265 54,
1266 OPC_CheckChild0Type, MVT::v8i16,
1267 OPC_RecordChild1,
1268 OPC_MoveChild1,
1269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1270 OPC_CheckPredicate, 17,
1271 OPC_CheckTypeI32,
1272 OPC_MoveParent,
1273 OPC_CheckTypeI32,
1274 OPC_MoveParent,
1275 OPC_RecordChild2,
1276 OPC_Scope, 18,
1277 OPC_CheckChild2TypeI32,
1278 OPC_CheckPredicate4,
1279 OPC_CheckPredicate, 16,
1280 OPC_CheckPredicate2,
1281 OPC_CheckPatternPredicate3,
1282 OPC_CheckComplexPat2, /*#*/3,
1283 OPC_EmitMergeInputChains1_0,
1284 OPC_EmitIntegerI32, 0,
1285 OPC_EmitConvertToTarget2,
1286 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
1287 5, 36,
1288 18,
1289 OPC_CheckChild2TypeI64,
1290 OPC_CheckPredicate4,
1291 OPC_CheckPredicate, 16,
1292 OPC_CheckPredicate2,
1293 OPC_CheckPatternPredicate4,
1294 OPC_CheckComplexPat3, /*#*/3,
1295 OPC_EmitMergeInputChains1_0,
1296 OPC_EmitIntegerI32, 0,
1297 OPC_EmitConvertToTarget2,
1298 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
1299 5, 36,
1300 0,
1301 50,
1302 OPC_CheckChild0Type, MVT::v4i32,
1303 OPC_RecordChild1,
1304 OPC_MoveChild1,
1305 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1306 OPC_CheckPredicate, 13,
1307 OPC_CheckTypeI32,
1308 OPC_MoveParent,
1309 OPC_CheckTypeI32,
1310 OPC_MoveParent,
1311 OPC_RecordChild2,
1312 OPC_Scope, 16,
1313 OPC_CheckChild2TypeI32,
1314 OPC_CheckPredicate4,
1315 OPC_CheckPredicate6,
1316 OPC_CheckPatternPredicate3,
1317 OPC_CheckComplexPat2, /*#*/3,
1318 OPC_EmitMergeInputChains1_0,
1319 OPC_EmitIntegerI32, 0,
1320 OPC_EmitConvertToTarget2,
1321 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
1322 5, 36,
1323 16,
1324 OPC_CheckChild2TypeI64,
1325 OPC_CheckPredicate4,
1326 OPC_CheckPredicate6,
1327 OPC_CheckPatternPredicate4,
1328 OPC_CheckComplexPat3, /*#*/3,
1329 OPC_EmitMergeInputChains1_0,
1330 OPC_EmitIntegerI32, 0,
1331 OPC_EmitConvertToTarget2,
1332 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
1333 5, 36,
1334 0,
1335 50,
1336 OPC_CheckChild0Type, MVT::v2i64,
1337 OPC_RecordChild1,
1338 OPC_MoveChild1,
1339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1340 OPC_CheckPredicate, 14,
1341 OPC_CheckTypeI32,
1342 OPC_MoveParent,
1343 OPC_CheckTypeI64,
1344 OPC_MoveParent,
1345 OPC_RecordChild2,
1346 OPC_Scope, 16,
1347 OPC_CheckChild2TypeI32,
1348 OPC_CheckPredicate4,
1349 OPC_CheckPredicate6,
1350 OPC_CheckPatternPredicate3,
1351 OPC_CheckComplexPat2, /*#*/3,
1352 OPC_EmitMergeInputChains1_0,
1353 OPC_EmitIntegerI32, 0,
1354 OPC_EmitConvertToTarget2,
1355 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
1356 5, 36,
1357 16,
1358 OPC_CheckChild2TypeI64,
1359 OPC_CheckPredicate4,
1360 OPC_CheckPredicate6,
1361 OPC_CheckPatternPredicate4,
1362 OPC_CheckComplexPat3, /*#*/3,
1363 OPC_EmitMergeInputChains1_0,
1364 OPC_EmitIntegerI32, 0,
1365 OPC_EmitConvertToTarget2,
1366 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_LANE_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
1367 5, 36,
1368 0,
1369 0,
1370 122|128,4,
1371 OPC_RecordChild1,
1372 OPC_Scope, 108,
1373 OPC_CheckChild1TypeI32,
1374 OPC_RecordChild2,
1375 OPC_Scope, 51,
1376 OPC_CheckChild2TypeI32,
1377 OPC_CheckPredicate4,
1378 OPC_Scope, 13,
1379 OPC_CheckPredicate6,
1380 OPC_CheckPatternPredicate3,
1381 OPC_CheckComplexPat2, /*#*/2,
1382 OPC_EmitMergeInputChains1_0,
1383 OPC_EmitIntegerI32, 0,
1384 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1385 4, 27,
1386 32,
1387 OPC_CheckPredicate, 16,
1388 OPC_Scope, 13,
1389 OPC_CheckPredicate1,
1390 OPC_CheckPatternPredicate3,
1391 OPC_CheckComplexPat2, /*#*/2,
1392 OPC_EmitMergeInputChains1_0,
1393 OPC_EmitIntegerI32, 0,
1394 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1395 4, 27,
1396 13,
1397 OPC_CheckPredicate2,
1398 OPC_CheckPatternPredicate3,
1399 OPC_CheckComplexPat2, /*#*/2,
1400 OPC_EmitMergeInputChains1_0,
1401 OPC_EmitIntegerI32, 0,
1402 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1403 4, 27,
1404 0,
1405 0,
1406 51,
1407 OPC_CheckChild2TypeI64,
1408 OPC_CheckPredicate4,
1409 OPC_Scope, 13,
1410 OPC_CheckPredicate6,
1411 OPC_CheckPatternPredicate4,
1412 OPC_CheckComplexPat3, /*#*/2,
1413 OPC_EmitMergeInputChains1_0,
1414 OPC_EmitIntegerI32, 0,
1415 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1416 4, 27,
1417 32,
1418 OPC_CheckPredicate, 16,
1419 OPC_Scope, 13,
1420 OPC_CheckPredicate1,
1421 OPC_CheckPatternPredicate4,
1422 OPC_CheckComplexPat3, /*#*/2,
1423 OPC_EmitMergeInputChains1_0,
1424 OPC_EmitIntegerI32, 0,
1425 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1426 4, 27,
1427 13,
1428 OPC_CheckPredicate2,
1429 OPC_CheckPatternPredicate4,
1430 OPC_CheckComplexPat3, /*#*/2,
1431 OPC_EmitMergeInputChains1_0,
1432 OPC_EmitIntegerI32, 0,
1433 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1434 4, 27,
1435 0,
1436 0,
1437 0,
1438 8|128,1,
1439 OPC_CheckChild1TypeI64,
1440 OPC_RecordChild2,
1441 OPC_Scope, 65,
1442 OPC_CheckChild2TypeI32,
1443 OPC_CheckPredicate4,
1444 OPC_Scope, 13,
1445 OPC_CheckPredicate6,
1446 OPC_CheckPatternPredicate3,
1447 OPC_CheckComplexPat2, /*#*/2,
1448 OPC_EmitMergeInputChains1_0,
1449 OPC_EmitIntegerI32, 0,
1450 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1451 4, 27,
1452 46,
1453 OPC_CheckPredicate, 16,
1454 OPC_Scope, 13,
1455 OPC_CheckPredicate1,
1456 OPC_CheckPatternPredicate3,
1457 OPC_CheckComplexPat2, /*#*/2,
1458 OPC_EmitMergeInputChains1_0,
1459 OPC_EmitIntegerI32, 0,
1460 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1461 4, 27,
1462 13,
1463 OPC_CheckPredicate2,
1464 OPC_CheckPatternPredicate3,
1465 OPC_CheckComplexPat2, /*#*/2,
1466 OPC_EmitMergeInputChains1_0,
1467 OPC_EmitIntegerI32, 0,
1468 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1469 4, 27,
1470 13,
1471 OPC_CheckPredicate3,
1472 OPC_CheckPatternPredicate3,
1473 OPC_CheckComplexPat2, /*#*/2,
1474 OPC_EmitMergeInputChains1_0,
1475 OPC_EmitIntegerI32, 0,
1476 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1477 4, 27,
1478 0,
1479 0,
1480 65,
1481 OPC_CheckChild2TypeI64,
1482 OPC_CheckPredicate4,
1483 OPC_Scope, 13,
1484 OPC_CheckPredicate6,
1485 OPC_CheckPatternPredicate4,
1486 OPC_CheckComplexPat3, /*#*/2,
1487 OPC_EmitMergeInputChains1_0,
1488 OPC_EmitIntegerI32, 0,
1489 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1490 4, 27,
1491 46,
1492 OPC_CheckPredicate, 16,
1493 OPC_Scope, 13,
1494 OPC_CheckPredicate1,
1495 OPC_CheckPatternPredicate4,
1496 OPC_CheckComplexPat3, /*#*/2,
1497 OPC_EmitMergeInputChains1_0,
1498 OPC_EmitIntegerI32, 0,
1499 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1500 4, 27,
1501 13,
1502 OPC_CheckPredicate2,
1503 OPC_CheckPatternPredicate4,
1504 OPC_CheckComplexPat3, /*#*/2,
1505 OPC_EmitMergeInputChains1_0,
1506 OPC_EmitIntegerI32, 0,
1507 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1508 4, 27,
1509 13,
1510 OPC_CheckPredicate3,
1511 OPC_CheckPatternPredicate4,
1512 OPC_CheckComplexPat3, /*#*/2,
1513 OPC_EmitMergeInputChains1_0,
1514 OPC_EmitIntegerI32, 0,
1515 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1516 4, 27,
1517 0,
1518 0,
1519 0,
1520 77,
1521 OPC_CheckChild1Type, MVT::f32,
1522 OPC_RecordChild2,
1523 OPC_Scope, 35,
1524 OPC_CheckChild2TypeI32,
1525 OPC_CheckPredicate4,
1526 OPC_Scope, 13,
1527 OPC_CheckPredicate6,
1528 OPC_CheckPatternPredicate3,
1529 OPC_CheckComplexPat2, /*#*/2,
1530 OPC_EmitMergeInputChains1_0,
1531 OPC_EmitIntegerI32, 0,
1532 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1533 4, 27,
1534 16,
1535 OPC_CheckPredicate, 16,
1536 OPC_CheckPredicate, 23,
1537 OPC_CheckPatternPredicate3,
1538 OPC_CheckComplexPat2, /*#*/2,
1539 OPC_EmitMergeInputChains1_0,
1540 OPC_EmitIntegerI32, 0,
1541 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1542 4, 27,
1543 0,
1544 35,
1545 OPC_CheckChild2TypeI64,
1546 OPC_CheckPredicate4,
1547 OPC_Scope, 13,
1548 OPC_CheckPredicate6,
1549 OPC_CheckPatternPredicate4,
1550 OPC_CheckComplexPat3, /*#*/2,
1551 OPC_EmitMergeInputChains1_0,
1552 OPC_EmitIntegerI32, 0,
1553 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1554 4, 27,
1555 16,
1556 OPC_CheckPredicate, 16,
1557 OPC_CheckPredicate, 23,
1558 OPC_CheckPatternPredicate4,
1559 OPC_CheckComplexPat3, /*#*/2,
1560 OPC_EmitMergeInputChains1_0,
1561 OPC_EmitIntegerI32, 0,
1562 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1563 4, 27,
1564 0,
1565 0,
1566 37,
1567 OPC_CheckChild1Type, MVT::f64,
1568 OPC_RecordChild2,
1569 OPC_Scope, 15,
1570 OPC_CheckChild2TypeI32,
1571 OPC_CheckPredicate4,
1572 OPC_CheckPredicate6,
1573 OPC_CheckPatternPredicate3,
1574 OPC_CheckComplexPat2, /*#*/2,
1575 OPC_EmitMergeInputChains1_0,
1576 OPC_EmitIntegerI32, 0,
1577 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1578 4, 27,
1579 15,
1580 OPC_CheckChild2TypeI64,
1581 OPC_CheckPredicate4,
1582 OPC_CheckPredicate6,
1583 OPC_CheckPatternPredicate4,
1584 OPC_CheckComplexPat3, /*#*/2,
1585 OPC_EmitMergeInputChains1_0,
1586 OPC_EmitIntegerI32, 0,
1587 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1588 4, 27,
1589 0,
1590 37,
1591 OPC_CheckChild1Type, MVT::v16i8,
1592 OPC_RecordChild2,
1593 OPC_Scope, 15,
1594 OPC_CheckChild2TypeI32,
1595 OPC_CheckPredicate4,
1596 OPC_CheckPredicate6,
1597 OPC_CheckPatternPredicate3,
1598 OPC_CheckComplexPat2, /*#*/2,
1599 OPC_EmitMergeInputChains1_0,
1600 OPC_EmitIntegerI32, 0,
1601 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1602 4, 27,
1603 15,
1604 OPC_CheckChild2TypeI64,
1605 OPC_CheckPredicate4,
1606 OPC_CheckPredicate6,
1607 OPC_CheckPatternPredicate4,
1608 OPC_CheckComplexPat3, /*#*/2,
1609 OPC_EmitMergeInputChains1_0,
1610 OPC_EmitIntegerI32, 0,
1611 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1612 4, 27,
1613 0,
1614 37,
1615 OPC_CheckChild1Type, MVT::v8i16,
1616 OPC_RecordChild2,
1617 OPC_Scope, 15,
1618 OPC_CheckChild2TypeI32,
1619 OPC_CheckPredicate4,
1620 OPC_CheckPredicate6,
1621 OPC_CheckPatternPredicate3,
1622 OPC_CheckComplexPat2, /*#*/2,
1623 OPC_EmitMergeInputChains1_0,
1624 OPC_EmitIntegerI32, 0,
1625 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1626 4, 27,
1627 15,
1628 OPC_CheckChild2TypeI64,
1629 OPC_CheckPredicate4,
1630 OPC_CheckPredicate6,
1631 OPC_CheckPatternPredicate4,
1632 OPC_CheckComplexPat3, /*#*/2,
1633 OPC_EmitMergeInputChains1_0,
1634 OPC_EmitIntegerI32, 0,
1635 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1636 4, 27,
1637 0,
1638 37,
1639 OPC_CheckChild1Type, MVT::v4i32,
1640 OPC_RecordChild2,
1641 OPC_Scope, 15,
1642 OPC_CheckChild2TypeI32,
1643 OPC_CheckPredicate4,
1644 OPC_CheckPredicate6,
1645 OPC_CheckPatternPredicate3,
1646 OPC_CheckComplexPat2, /*#*/2,
1647 OPC_EmitMergeInputChains1_0,
1648 OPC_EmitIntegerI32, 0,
1649 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1650 4, 27,
1651 15,
1652 OPC_CheckChild2TypeI64,
1653 OPC_CheckPredicate4,
1654 OPC_CheckPredicate6,
1655 OPC_CheckPatternPredicate4,
1656 OPC_CheckComplexPat3, /*#*/2,
1657 OPC_EmitMergeInputChains1_0,
1658 OPC_EmitIntegerI32, 0,
1659 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1660 4, 27,
1661 0,
1662 37,
1663 OPC_CheckChild1Type, MVT::v2i64,
1664 OPC_RecordChild2,
1665 OPC_Scope, 15,
1666 OPC_CheckChild2TypeI32,
1667 OPC_CheckPredicate4,
1668 OPC_CheckPredicate6,
1669 OPC_CheckPatternPredicate3,
1670 OPC_CheckComplexPat2, /*#*/2,
1671 OPC_EmitMergeInputChains1_0,
1672 OPC_EmitIntegerI32, 0,
1673 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1674 4, 27,
1675 15,
1676 OPC_CheckChild2TypeI64,
1677 OPC_CheckPredicate4,
1678 OPC_CheckPredicate6,
1679 OPC_CheckPatternPredicate4,
1680 OPC_CheckComplexPat3, /*#*/2,
1681 OPC_EmitMergeInputChains1_0,
1682 OPC_EmitIntegerI32, 0,
1683 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1684 4, 27,
1685 0,
1686 38,
1687 OPC_CheckChild1Type, 8|128,1,
1688 OPC_RecordChild2,
1689 OPC_Scope, 15,
1690 OPC_CheckChild2TypeI32,
1691 OPC_CheckPredicate4,
1692 OPC_CheckPredicate6,
1693 OPC_CheckPatternPredicate3,
1694 OPC_CheckComplexPat2, /*#*/2,
1695 OPC_EmitMergeInputChains1_0,
1696 OPC_EmitIntegerI32, 0,
1697 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1698 4, 27,
1699 15,
1700 OPC_CheckChild2TypeI64,
1701 OPC_CheckPredicate4,
1702 OPC_CheckPredicate6,
1703 OPC_CheckPatternPredicate4,
1704 OPC_CheckComplexPat3, /*#*/2,
1705 OPC_EmitMergeInputChains1_0,
1706 OPC_EmitIntegerI32, 0,
1707 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1708 4, 27,
1709 0,
1710 38,
1711 OPC_CheckChild1Type, 26|128,1,
1712 OPC_RecordChild2,
1713 OPC_Scope, 15,
1714 OPC_CheckChild2TypeI32,
1715 OPC_CheckPredicate4,
1716 OPC_CheckPredicate6,
1717 OPC_CheckPatternPredicate3,
1718 OPC_CheckComplexPat2, /*#*/2,
1719 OPC_EmitMergeInputChains1_0,
1720 OPC_EmitIntegerI32, 0,
1721 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1722 4, 27,
1723 15,
1724 OPC_CheckChild2TypeI64,
1725 OPC_CheckPredicate4,
1726 OPC_CheckPredicate6,
1727 OPC_CheckPatternPredicate4,
1728 OPC_CheckComplexPat3, /*#*/2,
1729 OPC_EmitMergeInputChains1_0,
1730 OPC_EmitIntegerI32, 0,
1731 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1732 4, 27,
1733 0,
1734 37,
1735 OPC_CheckChild1Type, MVT::v8f16,
1736 OPC_RecordChild2,
1737 OPC_Scope, 15,
1738 OPC_CheckChild2TypeI32,
1739 OPC_CheckPredicate4,
1740 OPC_CheckPredicate6,
1741 OPC_CheckPatternPredicate3,
1742 OPC_CheckComplexPat2, /*#*/2,
1743 OPC_EmitMergeInputChains1_0,
1744 OPC_EmitIntegerI32, 0,
1745 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1746 4, 27,
1747 15,
1748 OPC_CheckChild2TypeI64,
1749 OPC_CheckPredicate4,
1750 OPC_CheckPredicate6,
1751 OPC_CheckPatternPredicate4,
1752 OPC_CheckComplexPat3, /*#*/2,
1753 OPC_EmitMergeInputChains1_0,
1754 OPC_EmitIntegerI32, 0,
1755 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1756 4, 27,
1757 0,
1758 0,
1759 0,
1760 110|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
1761 OPC_Scope, 36,
1762 OPC_RecordNode,
1763 OPC_CheckChild1Integer, 59|128,114|128,0,
1764 OPC_MoveChild2,
1765 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1766 OPC_RecordChild0,
1767 OPC_MoveChild0,
1768 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1769 OPC_MoveParent,
1770 OPC_MoveSibling3,
1771 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1772 OPC_RecordChild0,
1773 OPC_MoveChild0,
1774 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1775 OPC_MoveParent,
1776 OPC_MoveParent,
1777 OPC_RecordChild4,
1778 OPC_RecordChild5,
1779 OPC_RecordChild6,
1780 OPC_CheckPatternPredicate7,
1781 OPC_EmitMergeInputChains1_0,
1782 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_COPY),
1783 5, 76,
1784 38,
1785 OPC_RecordMemRef,
1786 OPC_RecordNode,
1787 OPC_CheckChild1Integer, 57|128,114|128,0,
1788 OPC_RecordChild2,
1789 OPC_RecordChild3,
1790 OPC_Scope, 13,
1791 OPC_CheckChild3TypeI32,
1792 OPC_CheckPatternPredicate3,
1793 OPC_CheckComplexPat2, /*#*/2,
1794 OPC_EmitMergeInputChains1_0,
1795 OPC_EmitIntegerI32, 0,
1796 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1797 4, 27,
1798 13,
1799 OPC_CheckChild3TypeI64,
1800 OPC_CheckPatternPredicate4,
1801 OPC_CheckComplexPat3, /*#*/2,
1802 OPC_EmitMergeInputChains1_0,
1803 OPC_EmitIntegerI32, 0,
1804 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1805 4, 27,
1806 0,
1807 30|128,1,
1808 OPC_RecordNode,
1809 OPC_Scope, 24,
1810 OPC_CheckChild1Integer, 71|128,114|128,0,
1811 OPC_MoveChild2,
1812 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1813 OPC_RecordChild0,
1814 OPC_MoveChild0,
1815 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1816 OPC_MoveParent,
1817 OPC_MoveParent,
1818 OPC_RecordChild3,
1819 OPC_RecordChild4,
1820 OPC_CheckPatternPredicate7,
1821 OPC_EmitMergeInputChains1_0,
1822 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF),
1823 3, 56,
1824 25,
1825 OPC_CheckChild1Integer, 62|128,114|128,0,
1826 OPC_MoveChild2,
1827 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1828 OPC_RecordChild0,
1829 OPC_MoveChild0,
1830 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1831 OPC_MoveParent,
1832 OPC_MoveParent,
1833 OPC_RecordChild3,
1834 OPC_RecordChild4,
1835 OPC_RecordChild5,
1836 OPC_CheckPatternPredicate7,
1837 OPC_EmitMergeInputChains1_0,
1838 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_FUNCREF),
1839 4, 68,
1840 24,
1841 OPC_CheckChild1Integer, 70|128,114|128,0,
1842 OPC_MoveChild2,
1843 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1844 OPC_RecordChild0,
1845 OPC_MoveChild0,
1846 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1847 OPC_MoveParent,
1848 OPC_MoveParent,
1849 OPC_RecordChild3,
1850 OPC_RecordChild4,
1851 OPC_CheckPatternPredicate7,
1852 OPC_EmitMergeInputChains1_0,
1853 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF),
1854 3, 56,
1855 25,
1856 OPC_CheckChild1Integer, 61|128,114|128,0,
1857 OPC_MoveChild2,
1858 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1859 OPC_RecordChild0,
1860 OPC_MoveChild0,
1861 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1862 OPC_MoveParent,
1863 OPC_MoveParent,
1864 OPC_RecordChild3,
1865 OPC_RecordChild4,
1866 OPC_RecordChild5,
1867 OPC_CheckPatternPredicate7,
1868 OPC_EmitMergeInputChains1_0,
1869 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_EXTERNREF),
1870 4, 68,
1871 25,
1872 OPC_CheckChild1Integer, 69|128,114|128,0,
1873 OPC_MoveChild2,
1874 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1875 OPC_RecordChild0,
1876 OPC_MoveChild0,
1877 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1878 OPC_MoveParent,
1879 OPC_MoveParent,
1880 OPC_RecordChild3,
1881 OPC_RecordChild4,
1882 OPC_CheckPatternPredicate, 8,
1883 OPC_EmitMergeInputChains1_0,
1884 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_EXNREF),
1885 3, 56,
1886 26,
1887 OPC_CheckChild1Integer, 60|128,114|128,0,
1888 OPC_MoveChild2,
1889 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1890 OPC_RecordChild0,
1891 OPC_MoveChild0,
1892 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1893 OPC_MoveParent,
1894 OPC_MoveParent,
1895 OPC_RecordChild3,
1896 OPC_RecordChild4,
1897 OPC_RecordChild5,
1898 OPC_CheckPatternPredicate, 8,
1899 OPC_EmitMergeInputChains1_0,
1900 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_EXNREF),
1901 4, 68,
1902 0,
1903 0,
1904 117|128,1, TARGET_VAL(ISD::ATOMIC_STORE),
1905 OPC_RecordMemRef,
1906 OPC_RecordNode,
1907 OPC_Scope, 101,
1908 OPC_MoveChild1,
1909 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1910 OPC_RecordChild0,
1911 OPC_MoveParent,
1912 OPC_RecordChild2,
1913 OPC_Scope, 45,
1914 OPC_CheckChild2TypeI32,
1915 OPC_Scope, 13,
1916 OPC_CheckPredicate1,
1917 OPC_CheckPatternPredicate1,
1918 OPC_CheckComplexPat0, /*#*/2,
1919 OPC_EmitMergeInputChains1_0,
1920 OPC_EmitIntegerI32, 0,
1921 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1922 5, 31,
1923 13,
1924 OPC_CheckPredicate2,
1925 OPC_CheckPatternPredicate1,
1926 OPC_CheckComplexPat0, /*#*/2,
1927 OPC_EmitMergeInputChains1_0,
1928 OPC_EmitIntegerI32, 0,
1929 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1930 5, 31,
1931 13,
1932 OPC_CheckPredicate3,
1933 OPC_CheckPatternPredicate1,
1934 OPC_CheckComplexPat0, /*#*/2,
1935 OPC_EmitMergeInputChains1_0,
1936 OPC_EmitIntegerI32, 0,
1937 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1938 5, 31,
1939 0,
1940 45,
1941 OPC_CheckChild2TypeI64,
1942 OPC_Scope, 13,
1943 OPC_CheckPredicate1,
1944 OPC_CheckPatternPredicate2,
1945 OPC_CheckComplexPat1, /*#*/2,
1946 OPC_EmitMergeInputChains1_0,
1947 OPC_EmitIntegerI32, 0,
1948 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1949 5, 31,
1950 13,
1951 OPC_CheckPredicate2,
1952 OPC_CheckPatternPredicate2,
1953 OPC_CheckComplexPat1, /*#*/2,
1954 OPC_EmitMergeInputChains1_0,
1955 OPC_EmitIntegerI32, 0,
1956 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1957 5, 31,
1958 13,
1959 OPC_CheckPredicate3,
1960 OPC_CheckPatternPredicate2,
1961 OPC_CheckComplexPat1, /*#*/2,
1962 OPC_EmitMergeInputChains1_0,
1963 OPC_EmitIntegerI32, 0,
1964 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1965 5, 31,
1966 0,
1967 0,
1968 9|128,1,
1969 OPC_RecordChild1,
1970 OPC_Scope, 96,
1971 OPC_CheckChild1TypeI32,
1972 OPC_RecordChild2,
1973 OPC_Scope, 45,
1974 OPC_CheckChild2TypeI32,
1975 OPC_Scope, 13,
1976 OPC_CheckPredicate3,
1977 OPC_CheckPatternPredicate1,
1978 OPC_CheckComplexPat0, /*#*/2,
1979 OPC_EmitMergeInputChains1_0,
1980 OPC_EmitIntegerI32, 0,
1981 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1982 5, 31,
1983 13,
1984 OPC_CheckPredicate1,
1985 OPC_CheckPatternPredicate1,
1986 OPC_CheckComplexPat0, /*#*/2,
1987 OPC_EmitMergeInputChains1_0,
1988 OPC_EmitIntegerI32, 0,
1989 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1990 5, 31,
1991 13,
1992 OPC_CheckPredicate2,
1993 OPC_CheckPatternPredicate1,
1994 OPC_CheckComplexPat0, /*#*/2,
1995 OPC_EmitMergeInputChains1_0,
1996 OPC_EmitIntegerI32, 0,
1997 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1998 5, 31,
1999 0,
2000 45,
2001 OPC_CheckChild2TypeI64,
2002 OPC_Scope, 13,
2003 OPC_CheckPredicate3,
2004 OPC_CheckPatternPredicate2,
2005 OPC_CheckComplexPat1, /*#*/2,
2006 OPC_EmitMergeInputChains1_0,
2007 OPC_EmitIntegerI32, 0,
2008 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2009 5, 31,
2010 13,
2011 OPC_CheckPredicate1,
2012 OPC_CheckPatternPredicate2,
2013 OPC_CheckComplexPat1, /*#*/2,
2014 OPC_EmitMergeInputChains1_0,
2015 OPC_EmitIntegerI32, 0,
2016 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2017 5, 31,
2018 13,
2019 OPC_CheckPredicate2,
2020 OPC_CheckPatternPredicate2,
2021 OPC_CheckComplexPat1, /*#*/2,
2022 OPC_EmitMergeInputChains1_0,
2023 OPC_EmitIntegerI32, 0,
2024 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2025 5, 31,
2026 0,
2027 0,
2028 36,
2029 OPC_CheckChild1TypeI64,
2030 OPC_RecordChild2,
2031 OPC_Scope, 15,
2032 OPC_CheckChild2TypeI32,
2033 OPC_CheckPredicate, 8,
2034 OPC_CheckPatternPredicate1,
2035 OPC_CheckComplexPat0, /*#*/2,
2036 OPC_EmitMergeInputChains1_0,
2037 OPC_EmitIntegerI32, 0,
2038 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2039 5, 31,
2040 15,
2041 OPC_CheckChild2TypeI64,
2042 OPC_CheckPredicate, 8,
2043 OPC_CheckPatternPredicate2,
2044 OPC_CheckComplexPat1, /*#*/2,
2045 OPC_EmitMergeInputChains1_0,
2046 OPC_EmitIntegerI32, 0,
2047 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2048 5, 31,
2049 0,
2050 0,
2051 0,
2052 56|128,3, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
2053 OPC_Scope, 12|128,1,
2054 OPC_RecordMemRef,
2055 OPC_RecordNode,
2056 OPC_Scope, 43,
2057 OPC_CheckChild1Integer, 21|128,114|128,0,
2058 OPC_RecordChild2,
2059 OPC_Scope, 17,
2060 OPC_CheckChild2TypeI32,
2061 OPC_RecordChild3,
2062 OPC_CheckPatternPredicate1,
2063 OPC_CheckComplexPat2, /*#*/1,
2064 OPC_EmitMergeInputChains1_0,
2065 OPC_EmitIntegerI32, 0,
2066 OPC_EmitIntegerI32, 0,
2067 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
2068 MVT::i32, 5, 50,
2069 17,
2070 OPC_CheckChild2TypeI64,
2071 OPC_RecordChild3,
2072 OPC_CheckPatternPredicate2,
2073 OPC_CheckComplexPat3, /*#*/1,
2074 OPC_EmitMergeInputChains1_0,
2075 OPC_EmitIntegerI32, 0,
2076 OPC_EmitIntegerI32, 0,
2077 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
2078 MVT::i32, 5, 50,
2079 0,
2080 45,
2081 OPC_CheckChild1Integer, 22|128,114|128,0,
2082 OPC_RecordChild2,
2083 OPC_Scope, 18,
2084 OPC_CheckChild2TypeI32,
2085 OPC_RecordChild3,
2086 OPC_RecordChild4,
2087 OPC_CheckPatternPredicate1,
2088 OPC_CheckComplexPat2, /*#*/1,
2089 OPC_EmitMergeInputChains1_0,
2090 OPC_EmitIntegerI32, 0,
2091 OPC_EmitIntegerI32, 0,
2092 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2093 MVT::i32, 6, 62,
2094 18,
2095 OPC_CheckChild2TypeI64,
2096 OPC_RecordChild3,
2097 OPC_RecordChild4,
2098 OPC_CheckPatternPredicate2,
2099 OPC_CheckComplexPat3, /*#*/1,
2100 OPC_EmitMergeInputChains1_0,
2101 OPC_EmitIntegerI32, 0,
2102 OPC_EmitIntegerI32, 0,
2103 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2104 MVT::i32, 6, 62,
2105 0,
2106 45,
2107 OPC_CheckChild1Integer, 23|128,114|128,0,
2108 OPC_RecordChild2,
2109 OPC_Scope, 18,
2110 OPC_CheckChild2TypeI32,
2111 OPC_RecordChild3,
2112 OPC_RecordChild4,
2113 OPC_CheckPatternPredicate1,
2114 OPC_CheckComplexPat2, /*#*/1,
2115 OPC_EmitMergeInputChains1_0,
2116 OPC_EmitIntegerI32, 0,
2117 OPC_EmitIntegerI32, 0,
2118 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2119 MVT::i32, 6, 62,
2120 18,
2121 OPC_CheckChild2TypeI64,
2122 OPC_RecordChild3,
2123 OPC_RecordChild4,
2124 OPC_CheckPatternPredicate2,
2125 OPC_CheckComplexPat3, /*#*/1,
2126 OPC_EmitMergeInputChains1_0,
2127 OPC_EmitIntegerI32, 0,
2128 OPC_EmitIntegerI32, 0,
2129 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2130 MVT::i32, 6, 62,
2131 0,
2132 0,
2133 126|128,1,
2134 OPC_RecordNode,
2135 OPC_Scope, 25,
2136 OPC_CheckChild1Integer, 65|128,114|128,0,
2137 OPC_MoveChild2,
2138 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2139 OPC_RecordChild0,
2140 OPC_MoveChild0,
2141 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2142 OPC_MoveParent,
2143 OPC_MoveParent,
2144 OPC_RecordChild3,
2145 OPC_CheckPatternPredicate7,
2146 OPC_EmitMergeInputChains1_0,
2147 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF),
2148 124|128,1, 2, 45,
2149 25,
2150 OPC_CheckChild1Integer, 68|128,114|128,0,
2151 OPC_MoveChild2,
2152 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2153 OPC_RecordChild0,
2154 OPC_MoveChild0,
2155 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2156 OPC_MoveParent,
2157 OPC_MoveParent,
2158 OPC_RecordChild3,
2159 OPC_RecordChild4,
2160 OPC_CheckPatternPredicate7,
2161 OPC_EmitMergeInputChains1_0,
2162 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_FUNCREF),
2163 MVT::i32, 3, 56,
2164 25,
2165 OPC_CheckChild1Integer, 64|128,114|128,0,
2166 OPC_MoveChild2,
2167 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2168 OPC_RecordChild0,
2169 OPC_MoveChild0,
2170 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2171 OPC_MoveParent,
2172 OPC_MoveParent,
2173 OPC_RecordChild3,
2174 OPC_CheckPatternPredicate7,
2175 OPC_EmitMergeInputChains1_0,
2176 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF),
2177 125|128,1, 2, 45,
2178 25,
2179 OPC_CheckChild1Integer, 67|128,114|128,0,
2180 OPC_MoveChild2,
2181 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2182 OPC_RecordChild0,
2183 OPC_MoveChild0,
2184 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2185 OPC_MoveParent,
2186 OPC_MoveParent,
2187 OPC_RecordChild3,
2188 OPC_RecordChild4,
2189 OPC_CheckPatternPredicate7,
2190 OPC_EmitMergeInputChains1_0,
2191 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_EXTERNREF),
2192 MVT::i32, 3, 56,
2193 26,
2194 OPC_CheckChild1Integer, 63|128,114|128,0,
2195 OPC_MoveChild2,
2196 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2197 OPC_RecordChild0,
2198 OPC_MoveChild0,
2199 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2200 OPC_MoveParent,
2201 OPC_MoveParent,
2202 OPC_RecordChild3,
2203 OPC_CheckPatternPredicate, 8,
2204 OPC_EmitMergeInputChains1_0,
2205 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_EXNREF),
2206 126|128,1, 2, 45,
2207 26,
2208 OPC_CheckChild1Integer, 66|128,114|128,0,
2209 OPC_MoveChild2,
2210 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2211 OPC_RecordChild0,
2212 OPC_MoveChild0,
2213 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2214 OPC_MoveParent,
2215 OPC_MoveParent,
2216 OPC_RecordChild3,
2217 OPC_RecordChild4,
2218 OPC_CheckPatternPredicate, 8,
2219 OPC_EmitMergeInputChains1_0,
2220 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_EXNREF),
2221 MVT::i32, 3, 56,
2222 23,
2223 OPC_CheckChild1Integer, 72|128,114|128,0,
2224 OPC_MoveChild2,
2225 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2226 OPC_RecordChild0,
2227 OPC_MoveChild0,
2228 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2229 OPC_MoveParent,
2230 OPC_MoveParent,
2231 OPC_CheckPatternPredicate7,
2232 OPC_EmitMergeInputChains1_0,
2233 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_SIZE),
2234 MVT::i32, 1, 17,
2235 32,
2236 OPC_CheckChild1Integer, 25|128,114|128,0,
2237 OPC_RecordChild2,
2238 OPC_MoveChild2,
2239 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2240 OPC_MoveParent,
2241 OPC_SwitchType , 8, MVT::i32,
2242 OPC_EmitMergeInputChains1_0,
2243 OPC_EmitConvertToTarget1,
2244 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_13995MEMORY_SIZE_A32),
2245 MVT::i32, 1, 43,
2246 8, MVT::i64,
2247 OPC_EmitMergeInputChains1_0,
2248 OPC_EmitConvertToTarget1,
2249 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_13996MEMORY_SIZE_A64),
2250 MVT::i64, 1, 43,
2251 0,
2252 35,
2253 OPC_CheckChild1Integer, 24|128,114|128,0,
2254 OPC_RecordChild2,
2255 OPC_MoveChild2,
2256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2257 OPC_MoveParent,
2258 OPC_RecordChild3,
2259 OPC_SwitchType , 9, MVT::i32,
2260 OPC_CheckChild3TypeI32,
2261 OPC_EmitMergeInputChains1_0,
2262 OPC_EmitConvertToTarget1,
2263 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_13995MEMORY_GROW_A32),
2264 MVT::i32, 2, 48,
2265 9, MVT::i64,
2266 OPC_CheckChild3TypeI64,
2267 OPC_EmitMergeInputChains1_0,
2268 OPC_EmitConvertToTarget1,
2269 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_13996MEMORY_GROW_A64),
2270 MVT::i64, 2, 48,
2271 0,
2272 0,
2273 39,
2274 OPC_RecordMemRef,
2275 OPC_RecordNode,
2276 OPC_CheckChild1Integer, 19|128,114|128,0,
2277 OPC_RecordChild2,
2278 OPC_Scope, 14,
2279 OPC_CheckChild2TypeI32,
2280 OPC_CheckPatternPredicate3,
2281 OPC_CheckComplexPat2, /*#*/1,
2282 OPC_EmitMergeInputChains1_0,
2283 OPC_EmitIntegerI32, 0,
2284 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2285 MVT::f32, 3, 59,
2286 14,
2287 OPC_CheckChild2TypeI64,
2288 OPC_CheckPatternPredicate4,
2289 OPC_CheckComplexPat3, /*#*/1,
2290 OPC_EmitMergeInputChains1_0,
2291 OPC_EmitIntegerI32, 0,
2292 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2293 MVT::f32, 3, 59,
2294 0,
2295 0,
2296 33|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
2297 OPC_RecordMemRef,
2298 OPC_RecordNode,
2299 OPC_RecordChild1,
2300 OPC_Scope, 77,
2301 OPC_CheckChild1TypeI32,
2302 OPC_Scope, 37,
2303 OPC_CheckPredicate, 28,
2304 OPC_SwitchType , 14, MVT::i32,
2305 OPC_CheckPredicate3,
2306 OPC_CheckPatternPredicate1,
2307 OPC_CheckComplexPat0, /*#*/1,
2308 OPC_EmitMergeInputChains1_0,
2309 OPC_EmitIntegerI32, 0,
2310 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2311 MVT::i32, 4, 64,
2312 15, MVT::i64,
2313 OPC_CheckPredicate, 8,
2314 OPC_CheckPatternPredicate1,
2315 OPC_CheckComplexPat0, /*#*/1,
2316 OPC_EmitMergeInputChains1_0,
2317 OPC_EmitIntegerI32, 0,
2318 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2319 MVT::i64, 4, 64,
2320 0,
2321 35,
2322 OPC_CheckPredicate, 15,
2323 OPC_CheckTypeI32,
2324 OPC_Scope, 14,
2325 OPC_CheckPredicate1,
2326 OPC_CheckPatternPredicate1,
2327 OPC_CheckComplexPat0, /*#*/1,
2328 OPC_EmitMergeInputChains1_0,
2329 OPC_EmitIntegerI32, 0,
2330 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2331 MVT::i32, 4, 64,
2332 14,
2333 OPC_CheckPredicate2,
2334 OPC_CheckPatternPredicate1,
2335 OPC_CheckComplexPat0, /*#*/1,
2336 OPC_EmitMergeInputChains1_0,
2337 OPC_EmitIntegerI32, 0,
2338 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2339 MVT::i32, 4, 64,
2340 0,
2341 0,
2342 77,
2343 OPC_CheckChild1TypeI64,
2344 OPC_Scope, 37,
2345 OPC_CheckPredicate, 28,
2346 OPC_SwitchType , 14, MVT::i32,
2347 OPC_CheckPredicate3,
2348 OPC_CheckPatternPredicate2,
2349 OPC_CheckComplexPat1, /*#*/1,
2350 OPC_EmitMergeInputChains1_0,
2351 OPC_EmitIntegerI32, 0,
2352 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2353 MVT::i32, 4, 64,
2354 15, MVT::i64,
2355 OPC_CheckPredicate, 8,
2356 OPC_CheckPatternPredicate2,
2357 OPC_CheckComplexPat1, /*#*/1,
2358 OPC_EmitMergeInputChains1_0,
2359 OPC_EmitIntegerI32, 0,
2360 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2361 MVT::i64, 4, 64,
2362 0,
2363 35,
2364 OPC_CheckPredicate, 15,
2365 OPC_CheckTypeI32,
2366 OPC_Scope, 14,
2367 OPC_CheckPredicate1,
2368 OPC_CheckPatternPredicate2,
2369 OPC_CheckComplexPat1, /*#*/1,
2370 OPC_EmitMergeInputChains1_0,
2371 OPC_EmitIntegerI32, 0,
2372 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2373 MVT::i32, 4, 64,
2374 14,
2375 OPC_CheckPredicate2,
2376 OPC_CheckPatternPredicate2,
2377 OPC_CheckComplexPat1, /*#*/1,
2378 OPC_EmitMergeInputChains1_0,
2379 OPC_EmitIntegerI32, 0,
2380 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2381 MVT::i32, 4, 64,
2382 0,
2383 0,
2384 0,
2385 79|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2386 OPC_RecordMemRef,
2387 OPC_RecordNode,
2388 OPC_RecordChild1,
2389 OPC_Scope, 100,
2390 OPC_CheckChild1TypeI32,
2391 OPC_RecordChild2,
2392 OPC_SwitchType , 77, MVT::i32,
2393 OPC_Scope, 14,
2394 OPC_CheckPredicate3,
2395 OPC_CheckPatternPredicate1,
2396 OPC_CheckComplexPat0, /*#*/1,
2397 OPC_EmitMergeInputChains1_0,
2398 OPC_EmitIntegerI32, 0,
2399 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2400 MVT::i32, 5, 50,
2401 14,
2402 OPC_CheckPredicate1,
2403 OPC_CheckPatternPredicate1,
2404 OPC_CheckComplexPat0, /*#*/1,
2405 OPC_EmitMergeInputChains1_0,
2406 OPC_EmitIntegerI32, 0,
2407 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2408 MVT::i32, 5, 50,
2409 14,
2410 OPC_CheckPredicate2,
2411 OPC_CheckPatternPredicate1,
2412 OPC_CheckComplexPat0, /*#*/1,
2413 OPC_EmitMergeInputChains1_0,
2414 OPC_EmitIntegerI32, 0,
2415 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2416 MVT::i32, 5, 50,
2417 14,
2418 OPC_CheckPredicate1,
2419 OPC_CheckPatternPredicate1,
2420 OPC_CheckComplexPat0, /*#*/1,
2421 OPC_EmitMergeInputChains1_0,
2422 OPC_EmitIntegerI32, 0,
2423 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2424 MVT::i32, 5, 50,
2425 14,
2426 OPC_CheckPredicate2,
2427 OPC_CheckPatternPredicate1,
2428 OPC_CheckComplexPat0, /*#*/1,
2429 OPC_EmitMergeInputChains1_0,
2430 OPC_EmitIntegerI32, 0,
2431 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2432 MVT::i32, 5, 50,
2433 0,
2434 15, MVT::i64,
2435 OPC_CheckPredicate, 8,
2436 OPC_CheckPatternPredicate1,
2437 OPC_CheckComplexPat0, /*#*/1,
2438 OPC_EmitMergeInputChains1_0,
2439 OPC_EmitIntegerI32, 0,
2440 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2441 MVT::i64, 5, 50,
2442 0,
2443 100,
2444 OPC_CheckChild1TypeI64,
2445 OPC_RecordChild2,
2446 OPC_SwitchType , 77, MVT::i32,
2447 OPC_Scope, 14,
2448 OPC_CheckPredicate3,
2449 OPC_CheckPatternPredicate2,
2450 OPC_CheckComplexPat1, /*#*/1,
2451 OPC_EmitMergeInputChains1_0,
2452 OPC_EmitIntegerI32, 0,
2453 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2454 MVT::i32, 5, 50,
2455 14,
2456 OPC_CheckPredicate1,
2457 OPC_CheckPatternPredicate2,
2458 OPC_CheckComplexPat1, /*#*/1,
2459 OPC_EmitMergeInputChains1_0,
2460 OPC_EmitIntegerI32, 0,
2461 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2462 MVT::i32, 5, 50,
2463 14,
2464 OPC_CheckPredicate2,
2465 OPC_CheckPatternPredicate2,
2466 OPC_CheckComplexPat1, /*#*/1,
2467 OPC_EmitMergeInputChains1_0,
2468 OPC_EmitIntegerI32, 0,
2469 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2470 MVT::i32, 5, 50,
2471 14,
2472 OPC_CheckPredicate1,
2473 OPC_CheckPatternPredicate2,
2474 OPC_CheckComplexPat1, /*#*/1,
2475 OPC_EmitMergeInputChains1_0,
2476 OPC_EmitIntegerI32, 0,
2477 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2478 MVT::i32, 5, 50,
2479 14,
2480 OPC_CheckPredicate2,
2481 OPC_CheckPatternPredicate2,
2482 OPC_CheckComplexPat1, /*#*/1,
2483 OPC_EmitMergeInputChains1_0,
2484 OPC_EmitIntegerI32, 0,
2485 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2486 MVT::i32, 5, 50,
2487 0,
2488 15, MVT::i64,
2489 OPC_CheckPredicate, 8,
2490 OPC_CheckPatternPredicate2,
2491 OPC_CheckComplexPat1, /*#*/1,
2492 OPC_EmitMergeInputChains1_0,
2493 OPC_EmitIntegerI32, 0,
2494 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2495 MVT::i64, 5, 50,
2496 0,
2497 0,
2498 79|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2499 OPC_RecordMemRef,
2500 OPC_RecordNode,
2501 OPC_RecordChild1,
2502 OPC_Scope, 100,
2503 OPC_CheckChild1TypeI32,
2504 OPC_RecordChild2,
2505 OPC_SwitchType , 77, MVT::i32,
2506 OPC_Scope, 14,
2507 OPC_CheckPredicate3,
2508 OPC_CheckPatternPredicate1,
2509 OPC_CheckComplexPat0, /*#*/1,
2510 OPC_EmitMergeInputChains1_0,
2511 OPC_EmitIntegerI32, 0,
2512 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2513 MVT::i32, 5, 50,
2514 14,
2515 OPC_CheckPredicate1,
2516 OPC_CheckPatternPredicate1,
2517 OPC_CheckComplexPat0, /*#*/1,
2518 OPC_EmitMergeInputChains1_0,
2519 OPC_EmitIntegerI32, 0,
2520 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2521 MVT::i32, 5, 50,
2522 14,
2523 OPC_CheckPredicate2,
2524 OPC_CheckPatternPredicate1,
2525 OPC_CheckComplexPat0, /*#*/1,
2526 OPC_EmitMergeInputChains1_0,
2527 OPC_EmitIntegerI32, 0,
2528 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2529 MVT::i32, 5, 50,
2530 14,
2531 OPC_CheckPredicate1,
2532 OPC_CheckPatternPredicate1,
2533 OPC_CheckComplexPat0, /*#*/1,
2534 OPC_EmitMergeInputChains1_0,
2535 OPC_EmitIntegerI32, 0,
2536 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2537 MVT::i32, 5, 50,
2538 14,
2539 OPC_CheckPredicate2,
2540 OPC_CheckPatternPredicate1,
2541 OPC_CheckComplexPat0, /*#*/1,
2542 OPC_EmitMergeInputChains1_0,
2543 OPC_EmitIntegerI32, 0,
2544 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2545 MVT::i32, 5, 50,
2546 0,
2547 15, MVT::i64,
2548 OPC_CheckPredicate, 8,
2549 OPC_CheckPatternPredicate1,
2550 OPC_CheckComplexPat0, /*#*/1,
2551 OPC_EmitMergeInputChains1_0,
2552 OPC_EmitIntegerI32, 0,
2553 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2554 MVT::i64, 5, 50,
2555 0,
2556 100,
2557 OPC_CheckChild1TypeI64,
2558 OPC_RecordChild2,
2559 OPC_SwitchType , 77, MVT::i32,
2560 OPC_Scope, 14,
2561 OPC_CheckPredicate3,
2562 OPC_CheckPatternPredicate2,
2563 OPC_CheckComplexPat1, /*#*/1,
2564 OPC_EmitMergeInputChains1_0,
2565 OPC_EmitIntegerI32, 0,
2566 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2567 MVT::i32, 5, 50,
2568 14,
2569 OPC_CheckPredicate1,
2570 OPC_CheckPatternPredicate2,
2571 OPC_CheckComplexPat1, /*#*/1,
2572 OPC_EmitMergeInputChains1_0,
2573 OPC_EmitIntegerI32, 0,
2574 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2575 MVT::i32, 5, 50,
2576 14,
2577 OPC_CheckPredicate2,
2578 OPC_CheckPatternPredicate2,
2579 OPC_CheckComplexPat1, /*#*/1,
2580 OPC_EmitMergeInputChains1_0,
2581 OPC_EmitIntegerI32, 0,
2582 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2583 MVT::i32, 5, 50,
2584 14,
2585 OPC_CheckPredicate1,
2586 OPC_CheckPatternPredicate2,
2587 OPC_CheckComplexPat1, /*#*/1,
2588 OPC_EmitMergeInputChains1_0,
2589 OPC_EmitIntegerI32, 0,
2590 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2591 MVT::i32, 5, 50,
2592 14,
2593 OPC_CheckPredicate2,
2594 OPC_CheckPatternPredicate2,
2595 OPC_CheckComplexPat1, /*#*/1,
2596 OPC_EmitMergeInputChains1_0,
2597 OPC_EmitIntegerI32, 0,
2598 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2599 MVT::i32, 5, 50,
2600 0,
2601 15, MVT::i64,
2602 OPC_CheckPredicate, 8,
2603 OPC_CheckPatternPredicate2,
2604 OPC_CheckComplexPat1, /*#*/1,
2605 OPC_EmitMergeInputChains1_0,
2606 OPC_EmitIntegerI32, 0,
2607 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2608 MVT::i64, 5, 50,
2609 0,
2610 0,
2611 79|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2612 OPC_RecordMemRef,
2613 OPC_RecordNode,
2614 OPC_RecordChild1,
2615 OPC_Scope, 100,
2616 OPC_CheckChild1TypeI32,
2617 OPC_RecordChild2,
2618 OPC_SwitchType , 77, MVT::i32,
2619 OPC_Scope, 14,
2620 OPC_CheckPredicate3,
2621 OPC_CheckPatternPredicate1,
2622 OPC_CheckComplexPat0, /*#*/1,
2623 OPC_EmitMergeInputChains1_0,
2624 OPC_EmitIntegerI32, 0,
2625 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2626 MVT::i32, 5, 50,
2627 14,
2628 OPC_CheckPredicate1,
2629 OPC_CheckPatternPredicate1,
2630 OPC_CheckComplexPat0, /*#*/1,
2631 OPC_EmitMergeInputChains1_0,
2632 OPC_EmitIntegerI32, 0,
2633 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2634 MVT::i32, 5, 50,
2635 14,
2636 OPC_CheckPredicate2,
2637 OPC_CheckPatternPredicate1,
2638 OPC_CheckComplexPat0, /*#*/1,
2639 OPC_EmitMergeInputChains1_0,
2640 OPC_EmitIntegerI32, 0,
2641 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2642 MVT::i32, 5, 50,
2643 14,
2644 OPC_CheckPredicate1,
2645 OPC_CheckPatternPredicate1,
2646 OPC_CheckComplexPat0, /*#*/1,
2647 OPC_EmitMergeInputChains1_0,
2648 OPC_EmitIntegerI32, 0,
2649 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2650 MVT::i32, 5, 50,
2651 14,
2652 OPC_CheckPredicate2,
2653 OPC_CheckPatternPredicate1,
2654 OPC_CheckComplexPat0, /*#*/1,
2655 OPC_EmitMergeInputChains1_0,
2656 OPC_EmitIntegerI32, 0,
2657 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2658 MVT::i32, 5, 50,
2659 0,
2660 15, MVT::i64,
2661 OPC_CheckPredicate, 8,
2662 OPC_CheckPatternPredicate1,
2663 OPC_CheckComplexPat0, /*#*/1,
2664 OPC_EmitMergeInputChains1_0,
2665 OPC_EmitIntegerI32, 0,
2666 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2667 MVT::i64, 5, 50,
2668 0,
2669 100,
2670 OPC_CheckChild1TypeI64,
2671 OPC_RecordChild2,
2672 OPC_SwitchType , 77, MVT::i32,
2673 OPC_Scope, 14,
2674 OPC_CheckPredicate3,
2675 OPC_CheckPatternPredicate2,
2676 OPC_CheckComplexPat1, /*#*/1,
2677 OPC_EmitMergeInputChains1_0,
2678 OPC_EmitIntegerI32, 0,
2679 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2680 MVT::i32, 5, 50,
2681 14,
2682 OPC_CheckPredicate1,
2683 OPC_CheckPatternPredicate2,
2684 OPC_CheckComplexPat1, /*#*/1,
2685 OPC_EmitMergeInputChains1_0,
2686 OPC_EmitIntegerI32, 0,
2687 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2688 MVT::i32, 5, 50,
2689 14,
2690 OPC_CheckPredicate2,
2691 OPC_CheckPatternPredicate2,
2692 OPC_CheckComplexPat1, /*#*/1,
2693 OPC_EmitMergeInputChains1_0,
2694 OPC_EmitIntegerI32, 0,
2695 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2696 MVT::i32, 5, 50,
2697 14,
2698 OPC_CheckPredicate1,
2699 OPC_CheckPatternPredicate2,
2700 OPC_CheckComplexPat1, /*#*/1,
2701 OPC_EmitMergeInputChains1_0,
2702 OPC_EmitIntegerI32, 0,
2703 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2704 MVT::i32, 5, 50,
2705 14,
2706 OPC_CheckPredicate2,
2707 OPC_CheckPatternPredicate2,
2708 OPC_CheckComplexPat1, /*#*/1,
2709 OPC_EmitMergeInputChains1_0,
2710 OPC_EmitIntegerI32, 0,
2711 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2712 MVT::i32, 5, 50,
2713 0,
2714 15, MVT::i64,
2715 OPC_CheckPredicate, 8,
2716 OPC_CheckPatternPredicate2,
2717 OPC_CheckComplexPat1, /*#*/1,
2718 OPC_EmitMergeInputChains1_0,
2719 OPC_EmitIntegerI32, 0,
2720 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2721 MVT::i64, 5, 50,
2722 0,
2723 0,
2724 79|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2725 OPC_RecordMemRef,
2726 OPC_RecordNode,
2727 OPC_RecordChild1,
2728 OPC_Scope, 100,
2729 OPC_CheckChild1TypeI32,
2730 OPC_RecordChild2,
2731 OPC_SwitchType , 77, MVT::i32,
2732 OPC_Scope, 14,
2733 OPC_CheckPredicate3,
2734 OPC_CheckPatternPredicate1,
2735 OPC_CheckComplexPat0, /*#*/1,
2736 OPC_EmitMergeInputChains1_0,
2737 OPC_EmitIntegerI32, 0,
2738 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2739 MVT::i32, 5, 50,
2740 14,
2741 OPC_CheckPredicate1,
2742 OPC_CheckPatternPredicate1,
2743 OPC_CheckComplexPat0, /*#*/1,
2744 OPC_EmitMergeInputChains1_0,
2745 OPC_EmitIntegerI32, 0,
2746 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2747 MVT::i32, 5, 50,
2748 14,
2749 OPC_CheckPredicate2,
2750 OPC_CheckPatternPredicate1,
2751 OPC_CheckComplexPat0, /*#*/1,
2752 OPC_EmitMergeInputChains1_0,
2753 OPC_EmitIntegerI32, 0,
2754 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2755 MVT::i32, 5, 50,
2756 14,
2757 OPC_CheckPredicate1,
2758 OPC_CheckPatternPredicate1,
2759 OPC_CheckComplexPat0, /*#*/1,
2760 OPC_EmitMergeInputChains1_0,
2761 OPC_EmitIntegerI32, 0,
2762 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2763 MVT::i32, 5, 50,
2764 14,
2765 OPC_CheckPredicate2,
2766 OPC_CheckPatternPredicate1,
2767 OPC_CheckComplexPat0, /*#*/1,
2768 OPC_EmitMergeInputChains1_0,
2769 OPC_EmitIntegerI32, 0,
2770 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2771 MVT::i32, 5, 50,
2772 0,
2773 15, MVT::i64,
2774 OPC_CheckPredicate, 8,
2775 OPC_CheckPatternPredicate1,
2776 OPC_CheckComplexPat0, /*#*/1,
2777 OPC_EmitMergeInputChains1_0,
2778 OPC_EmitIntegerI32, 0,
2779 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2780 MVT::i64, 5, 50,
2781 0,
2782 100,
2783 OPC_CheckChild1TypeI64,
2784 OPC_RecordChild2,
2785 OPC_SwitchType , 77, MVT::i32,
2786 OPC_Scope, 14,
2787 OPC_CheckPredicate3,
2788 OPC_CheckPatternPredicate2,
2789 OPC_CheckComplexPat1, /*#*/1,
2790 OPC_EmitMergeInputChains1_0,
2791 OPC_EmitIntegerI32, 0,
2792 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2793 MVT::i32, 5, 50,
2794 14,
2795 OPC_CheckPredicate1,
2796 OPC_CheckPatternPredicate2,
2797 OPC_CheckComplexPat1, /*#*/1,
2798 OPC_EmitMergeInputChains1_0,
2799 OPC_EmitIntegerI32, 0,
2800 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2801 MVT::i32, 5, 50,
2802 14,
2803 OPC_CheckPredicate2,
2804 OPC_CheckPatternPredicate2,
2805 OPC_CheckComplexPat1, /*#*/1,
2806 OPC_EmitMergeInputChains1_0,
2807 OPC_EmitIntegerI32, 0,
2808 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2809 MVT::i32, 5, 50,
2810 14,
2811 OPC_CheckPredicate1,
2812 OPC_CheckPatternPredicate2,
2813 OPC_CheckComplexPat1, /*#*/1,
2814 OPC_EmitMergeInputChains1_0,
2815 OPC_EmitIntegerI32, 0,
2816 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2817 MVT::i32, 5, 50,
2818 14,
2819 OPC_CheckPredicate2,
2820 OPC_CheckPatternPredicate2,
2821 OPC_CheckComplexPat1, /*#*/1,
2822 OPC_EmitMergeInputChains1_0,
2823 OPC_EmitIntegerI32, 0,
2824 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2825 MVT::i32, 5, 50,
2826 0,
2827 15, MVT::i64,
2828 OPC_CheckPredicate, 8,
2829 OPC_CheckPatternPredicate2,
2830 OPC_CheckComplexPat1, /*#*/1,
2831 OPC_EmitMergeInputChains1_0,
2832 OPC_EmitIntegerI32, 0,
2833 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2834 MVT::i64, 5, 50,
2835 0,
2836 0,
2837 79|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2838 OPC_RecordMemRef,
2839 OPC_RecordNode,
2840 OPC_RecordChild1,
2841 OPC_Scope, 100,
2842 OPC_CheckChild1TypeI32,
2843 OPC_RecordChild2,
2844 OPC_SwitchType , 77, MVT::i32,
2845 OPC_Scope, 14,
2846 OPC_CheckPredicate3,
2847 OPC_CheckPatternPredicate1,
2848 OPC_CheckComplexPat0, /*#*/1,
2849 OPC_EmitMergeInputChains1_0,
2850 OPC_EmitIntegerI32, 0,
2851 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2852 MVT::i32, 5, 50,
2853 14,
2854 OPC_CheckPredicate1,
2855 OPC_CheckPatternPredicate1,
2856 OPC_CheckComplexPat0, /*#*/1,
2857 OPC_EmitMergeInputChains1_0,
2858 OPC_EmitIntegerI32, 0,
2859 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2860 MVT::i32, 5, 50,
2861 14,
2862 OPC_CheckPredicate2,
2863 OPC_CheckPatternPredicate1,
2864 OPC_CheckComplexPat0, /*#*/1,
2865 OPC_EmitMergeInputChains1_0,
2866 OPC_EmitIntegerI32, 0,
2867 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2868 MVT::i32, 5, 50,
2869 14,
2870 OPC_CheckPredicate1,
2871 OPC_CheckPatternPredicate1,
2872 OPC_CheckComplexPat0, /*#*/1,
2873 OPC_EmitMergeInputChains1_0,
2874 OPC_EmitIntegerI32, 0,
2875 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2876 MVT::i32, 5, 50,
2877 14,
2878 OPC_CheckPredicate2,
2879 OPC_CheckPatternPredicate1,
2880 OPC_CheckComplexPat0, /*#*/1,
2881 OPC_EmitMergeInputChains1_0,
2882 OPC_EmitIntegerI32, 0,
2883 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2884 MVT::i32, 5, 50,
2885 0,
2886 15, MVT::i64,
2887 OPC_CheckPredicate, 8,
2888 OPC_CheckPatternPredicate1,
2889 OPC_CheckComplexPat0, /*#*/1,
2890 OPC_EmitMergeInputChains1_0,
2891 OPC_EmitIntegerI32, 0,
2892 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2893 MVT::i64, 5, 50,
2894 0,
2895 100,
2896 OPC_CheckChild1TypeI64,
2897 OPC_RecordChild2,
2898 OPC_SwitchType , 77, MVT::i32,
2899 OPC_Scope, 14,
2900 OPC_CheckPredicate3,
2901 OPC_CheckPatternPredicate2,
2902 OPC_CheckComplexPat1, /*#*/1,
2903 OPC_EmitMergeInputChains1_0,
2904 OPC_EmitIntegerI32, 0,
2905 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2906 MVT::i32, 5, 50,
2907 14,
2908 OPC_CheckPredicate1,
2909 OPC_CheckPatternPredicate2,
2910 OPC_CheckComplexPat1, /*#*/1,
2911 OPC_EmitMergeInputChains1_0,
2912 OPC_EmitIntegerI32, 0,
2913 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2914 MVT::i32, 5, 50,
2915 14,
2916 OPC_CheckPredicate2,
2917 OPC_CheckPatternPredicate2,
2918 OPC_CheckComplexPat1, /*#*/1,
2919 OPC_EmitMergeInputChains1_0,
2920 OPC_EmitIntegerI32, 0,
2921 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2922 MVT::i32, 5, 50,
2923 14,
2924 OPC_CheckPredicate1,
2925 OPC_CheckPatternPredicate2,
2926 OPC_CheckComplexPat1, /*#*/1,
2927 OPC_EmitMergeInputChains1_0,
2928 OPC_EmitIntegerI32, 0,
2929 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2930 MVT::i32, 5, 50,
2931 14,
2932 OPC_CheckPredicate2,
2933 OPC_CheckPatternPredicate2,
2934 OPC_CheckComplexPat1, /*#*/1,
2935 OPC_EmitMergeInputChains1_0,
2936 OPC_EmitIntegerI32, 0,
2937 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2938 MVT::i32, 5, 50,
2939 0,
2940 15, MVT::i64,
2941 OPC_CheckPredicate, 8,
2942 OPC_CheckPatternPredicate2,
2943 OPC_CheckComplexPat1, /*#*/1,
2944 OPC_EmitMergeInputChains1_0,
2945 OPC_EmitIntegerI32, 0,
2946 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2947 MVT::i64, 5, 50,
2948 0,
2949 0,
2950 79|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
2951 OPC_RecordMemRef,
2952 OPC_RecordNode,
2953 OPC_RecordChild1,
2954 OPC_Scope, 100,
2955 OPC_CheckChild1TypeI32,
2956 OPC_RecordChild2,
2957 OPC_SwitchType , 77, MVT::i32,
2958 OPC_Scope, 14,
2959 OPC_CheckPredicate3,
2960 OPC_CheckPatternPredicate1,
2961 OPC_CheckComplexPat0, /*#*/1,
2962 OPC_EmitMergeInputChains1_0,
2963 OPC_EmitIntegerI32, 0,
2964 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2965 MVT::i32, 5, 50,
2966 14,
2967 OPC_CheckPredicate1,
2968 OPC_CheckPatternPredicate1,
2969 OPC_CheckComplexPat0, /*#*/1,
2970 OPC_EmitMergeInputChains1_0,
2971 OPC_EmitIntegerI32, 0,
2972 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2973 MVT::i32, 5, 50,
2974 14,
2975 OPC_CheckPredicate2,
2976 OPC_CheckPatternPredicate1,
2977 OPC_CheckComplexPat0, /*#*/1,
2978 OPC_EmitMergeInputChains1_0,
2979 OPC_EmitIntegerI32, 0,
2980 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2981 MVT::i32, 5, 50,
2982 14,
2983 OPC_CheckPredicate1,
2984 OPC_CheckPatternPredicate1,
2985 OPC_CheckComplexPat0, /*#*/1,
2986 OPC_EmitMergeInputChains1_0,
2987 OPC_EmitIntegerI32, 0,
2988 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2989 MVT::i32, 5, 50,
2990 14,
2991 OPC_CheckPredicate2,
2992 OPC_CheckPatternPredicate1,
2993 OPC_CheckComplexPat0, /*#*/1,
2994 OPC_EmitMergeInputChains1_0,
2995 OPC_EmitIntegerI32, 0,
2996 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2997 MVT::i32, 5, 50,
2998 0,
2999 15, MVT::i64,
3000 OPC_CheckPredicate, 8,
3001 OPC_CheckPatternPredicate1,
3002 OPC_CheckComplexPat0, /*#*/1,
3003 OPC_EmitMergeInputChains1_0,
3004 OPC_EmitIntegerI32, 0,
3005 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3006 MVT::i64, 5, 50,
3007 0,
3008 100,
3009 OPC_CheckChild1TypeI64,
3010 OPC_RecordChild2,
3011 OPC_SwitchType , 77, MVT::i32,
3012 OPC_Scope, 14,
3013 OPC_CheckPredicate3,
3014 OPC_CheckPatternPredicate2,
3015 OPC_CheckComplexPat1, /*#*/1,
3016 OPC_EmitMergeInputChains1_0,
3017 OPC_EmitIntegerI32, 0,
3018 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3019 MVT::i32, 5, 50,
3020 14,
3021 OPC_CheckPredicate1,
3022 OPC_CheckPatternPredicate2,
3023 OPC_CheckComplexPat1, /*#*/1,
3024 OPC_EmitMergeInputChains1_0,
3025 OPC_EmitIntegerI32, 0,
3026 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3027 MVT::i32, 5, 50,
3028 14,
3029 OPC_CheckPredicate2,
3030 OPC_CheckPatternPredicate2,
3031 OPC_CheckComplexPat1, /*#*/1,
3032 OPC_EmitMergeInputChains1_0,
3033 OPC_EmitIntegerI32, 0,
3034 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3035 MVT::i32, 5, 50,
3036 14,
3037 OPC_CheckPredicate1,
3038 OPC_CheckPatternPredicate2,
3039 OPC_CheckComplexPat1, /*#*/1,
3040 OPC_EmitMergeInputChains1_0,
3041 OPC_EmitIntegerI32, 0,
3042 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3043 MVT::i32, 5, 50,
3044 14,
3045 OPC_CheckPredicate2,
3046 OPC_CheckPatternPredicate2,
3047 OPC_CheckComplexPat1, /*#*/1,
3048 OPC_EmitMergeInputChains1_0,
3049 OPC_EmitIntegerI32, 0,
3050 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3051 MVT::i32, 5, 50,
3052 0,
3053 15, MVT::i64,
3054 OPC_CheckPredicate, 8,
3055 OPC_CheckPatternPredicate2,
3056 OPC_CheckComplexPat1, /*#*/1,
3057 OPC_EmitMergeInputChains1_0,
3058 OPC_EmitIntegerI32, 0,
3059 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3060 MVT::i64, 5, 50,
3061 0,
3062 0,
3063 81|128,1, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
3064 OPC_RecordMemRef,
3065 OPC_RecordNode,
3066 OPC_RecordChild1,
3067 OPC_Scope, 101,
3068 OPC_CheckChild1TypeI32,
3069 OPC_RecordChild2,
3070 OPC_RecordChild3,
3071 OPC_SwitchType , 77, MVT::i32,
3072 OPC_Scope, 14,
3073 OPC_CheckPredicate3,
3074 OPC_CheckPatternPredicate1,
3075 OPC_CheckComplexPat0, /*#*/1,
3076 OPC_EmitMergeInputChains1_0,
3077 OPC_EmitIntegerI32, 0,
3078 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3079 MVT::i32, 6, 62,
3080 14,
3081 OPC_CheckPredicate1,
3082 OPC_CheckPatternPredicate1,
3083 OPC_CheckComplexPat0, /*#*/1,
3084 OPC_EmitMergeInputChains1_0,
3085 OPC_EmitIntegerI32, 0,
3086 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3087 MVT::i32, 6, 62,
3088 14,
3089 OPC_CheckPredicate2,
3090 OPC_CheckPatternPredicate1,
3091 OPC_CheckComplexPat0, /*#*/1,
3092 OPC_EmitMergeInputChains1_0,
3093 OPC_EmitIntegerI32, 0,
3094 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3095 MVT::i32, 6, 62,
3096 14,
3097 OPC_CheckPredicate1,
3098 OPC_CheckPatternPredicate1,
3099 OPC_CheckComplexPat0, /*#*/1,
3100 OPC_EmitMergeInputChains1_0,
3101 OPC_EmitIntegerI32, 0,
3102 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3103 MVT::i32, 6, 62,
3104 14,
3105 OPC_CheckPredicate2,
3106 OPC_CheckPatternPredicate1,
3107 OPC_CheckComplexPat0, /*#*/1,
3108 OPC_EmitMergeInputChains1_0,
3109 OPC_EmitIntegerI32, 0,
3110 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3111 MVT::i32, 6, 62,
3112 0,
3113 15, MVT::i64,
3114 OPC_CheckPredicate, 8,
3115 OPC_CheckPatternPredicate1,
3116 OPC_CheckComplexPat0, /*#*/1,
3117 OPC_EmitMergeInputChains1_0,
3118 OPC_EmitIntegerI32, 0,
3119 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3120 MVT::i64, 6, 62,
3121 0,
3122 101,
3123 OPC_CheckChild1TypeI64,
3124 OPC_RecordChild2,
3125 OPC_RecordChild3,
3126 OPC_SwitchType , 77, MVT::i32,
3127 OPC_Scope, 14,
3128 OPC_CheckPredicate3,
3129 OPC_CheckPatternPredicate2,
3130 OPC_CheckComplexPat1, /*#*/1,
3131 OPC_EmitMergeInputChains1_0,
3132 OPC_EmitIntegerI32, 0,
3133 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3134 MVT::i32, 6, 62,
3135 14,
3136 OPC_CheckPredicate1,
3137 OPC_CheckPatternPredicate2,
3138 OPC_CheckComplexPat1, /*#*/1,
3139 OPC_EmitMergeInputChains1_0,
3140 OPC_EmitIntegerI32, 0,
3141 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3142 MVT::i32, 6, 62,
3143 14,
3144 OPC_CheckPredicate2,
3145 OPC_CheckPatternPredicate2,
3146 OPC_CheckComplexPat1, /*#*/1,
3147 OPC_EmitMergeInputChains1_0,
3148 OPC_EmitIntegerI32, 0,
3149 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3150 MVT::i32, 6, 62,
3151 14,
3152 OPC_CheckPredicate1,
3153 OPC_CheckPatternPredicate2,
3154 OPC_CheckComplexPat1, /*#*/1,
3155 OPC_EmitMergeInputChains1_0,
3156 OPC_EmitIntegerI32, 0,
3157 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3158 MVT::i32, 6, 62,
3159 14,
3160 OPC_CheckPredicate2,
3161 OPC_CheckPatternPredicate2,
3162 OPC_CheckComplexPat1, /*#*/1,
3163 OPC_EmitMergeInputChains1_0,
3164 OPC_EmitIntegerI32, 0,
3165 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3166 MVT::i32, 6, 62,
3167 0,
3168 15, MVT::i64,
3169 OPC_CheckPredicate, 8,
3170 OPC_CheckPatternPredicate2,
3171 OPC_CheckComplexPat1, /*#*/1,
3172 OPC_EmitMergeInputChains1_0,
3173 OPC_EmitIntegerI32, 0,
3174 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3175 MVT::i64, 6, 62,
3176 0,
3177 0,
3178 74|128,2, TARGET_VAL(ISD::AND),
3179 OPC_Scope, 118,
3180 OPC_MoveChild0,
3181 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
3182 OPC_Scope, 55,
3183 OPC_CheckChild0Integer, 6|128,114|128,0,
3184 OPC_RecordChild1,
3185 OPC_Scope, 11,
3186 OPC_CheckChild1Type, MVT::v16i8,
3187 OPC_MoveParent,
3188 OPC_CheckChild1Integer, 1,
3189 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3190 MVT::i32, 1, 2,
3191 11,
3192 OPC_CheckChild1Type, MVT::v8i16,
3193 OPC_MoveParent,
3194 OPC_CheckChild1Integer, 1,
3195 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3196 MVT::i32, 1, 2,
3197 11,
3198 OPC_CheckChild1Type, MVT::v4i32,
3199 OPC_MoveParent,
3200 OPC_CheckChild1Integer, 1,
3201 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3202 MVT::i32, 1, 2,
3203 11,
3204 OPC_CheckChild1Type, MVT::v2i64,
3205 OPC_MoveParent,
3206 OPC_CheckChild1Integer, 1,
3207 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3208 MVT::i32, 1, 2,
3209 0,
3210 55,
3211 OPC_CheckChild0Integer, 5|128,114|128,0,
3212 OPC_RecordChild1,
3213 OPC_Scope, 11,
3214 OPC_CheckChild1Type, MVT::v16i8,
3215 OPC_MoveParent,
3216 OPC_CheckChild1Integer, 1,
3217 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
3218 MVT::i32, 1, 2,
3219 11,
3220 OPC_CheckChild1Type, MVT::v8i16,
3221 OPC_MoveParent,
3222 OPC_CheckChild1Integer, 1,
3223 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
3224 MVT::i32, 1, 2,
3225 11,
3226 OPC_CheckChild1Type, MVT::v4i32,
3227 OPC_MoveParent,
3228 OPC_CheckChild1Integer, 1,
3229 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
3230 MVT::i32, 1, 2,
3231 11,
3232 OPC_CheckChild1Type, MVT::v2i64,
3233 OPC_MoveParent,
3234 OPC_CheckChild1Integer, 1,
3235 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
3236 MVT::i32, 1, 2,
3237 0,
3238 0,
3239 28,
3240 OPC_CheckAndImm, 127|128,1,
3241 OPC_MoveChild0,
3242 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3243 OPC_RecordChild0,
3244 OPC_CheckChild0Type, MVT::v16i8,
3245 OPC_RecordChild1,
3246 OPC_MoveChild1,
3247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3248 OPC_CheckPredicate, 22,
3249 OPC_CheckTypeI32,
3250 OPC_MoveParent,
3251 OPC_MoveParent,
3252 OPC_CheckTypeI32,
3253 OPC_EmitConvertToTarget1,
3254 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u),
3255 MVT::i32, 2, 42,
3256 29,
3257 OPC_CheckAndImm, 127|128,127|128,3,
3258 OPC_MoveChild0,
3259 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3260 OPC_RecordChild0,
3261 OPC_CheckChild0Type, MVT::v8i16,
3262 OPC_RecordChild1,
3263 OPC_MoveChild1,
3264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3265 OPC_CheckPredicate, 17,
3266 OPC_CheckTypeI32,
3267 OPC_MoveParent,
3268 OPC_MoveParent,
3269 OPC_CheckTypeI32,
3270 OPC_EmitConvertToTarget1,
3271 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u),
3272 MVT::i32, 2, 42,
3273 67,
3274 OPC_RecordChild0,
3275 OPC_Scope, 19,
3276 OPC_RecordChild1,
3277 OPC_SwitchType , 6, MVT::i32,
3278 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I32),
3279 MVT::i32, 2, 16,
3280 6, MVT::i64,
3281 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I64),
3282 MVT::i64, 2, 16,
3283 0,
3284 43,
3285 OPC_MoveChild1,
3286 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3287 OPC_RecordChild0,
3288 OPC_MoveChild1,
3289 OPC_CheckImmAllOnesV,
3290 OPC_MoveParent,
3291 OPC_MoveParent,
3292 OPC_SwitchType , 6, MVT::v16i8,
3293 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3294 MVT::v16i8, 2, 16,
3295 6, MVT::v8i16,
3296 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3297 MVT::v8i16, 2, 16,
3298 6, MVT::v4i32,
3299 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3300 MVT::v4i32, 2, 16,
3301 6, MVT::v2i64,
3302 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3303 MVT::v2i64, 2, 16,
3304 0,
3305 0,
3306 44,
3307 OPC_MoveChild0,
3308 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
3309 OPC_RecordChild0,
3310 OPC_MoveChild1,
3311 OPC_CheckImmAllOnesV,
3312 OPC_MoveParent,
3313 OPC_MoveParent,
3314 OPC_RecordChild1,
3315 OPC_SwitchType , 6, MVT::v16i8,
3316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3317 MVT::v16i8, 2, 1,
3318 6, MVT::v8i16,
3319 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3320 MVT::v8i16, 2, 1,
3321 6, MVT::v4i32,
3322 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3323 MVT::v4i32, 2, 1,
3324 6, MVT::v2i64,
3325 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
3326 MVT::v2i64, 2, 1,
3327 0,
3328 36,
3329 OPC_RecordChild0,
3330 OPC_RecordChild1,
3331 OPC_SwitchType , 6, MVT::v16i8,
3332 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
3333 MVT::v16i8, 2, 16,
3334 6, MVT::v8i16,
3335 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
3336 MVT::v8i16, 2, 16,
3337 6, MVT::v4i32,
3338 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
3339 MVT::v4i32, 2, 16,
3340 6, MVT::v2i64,
3341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
3342 MVT::v2i64, 2, 16,
3343 0,
3344 0,
3345 48|128,13, TARGET_VAL(ISD::SETCC),
3346 OPC_Scope, 32|128,4,
3347 OPC_MoveChild0,
3348 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
3349 OPC_Scope, 11|128,2,
3350 OPC_CheckChild0Integer, 6|128,114|128,0,
3351 OPC_RecordChild1,
3352 OPC_Scope, 64,
3353 OPC_CheckChild1Type, MVT::v16i8,
3354 OPC_MoveParent,
3355 OPC_CheckTypeI32,
3356 OPC_Scope, 28,
3357 OPC_CheckChild1Integer, 0,
3358 OPC_Scope, 8,
3359 OPC_CheckChild2CondCode, ISD::SETNE,
3360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3361 MVT::i32, 1, 2,
3362 14,
3363 OPC_CheckChild2CondCode, ISD::SETEQ,
3364 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3365 MVT::i32, 1, 2,
3366 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3367 MVT::i32, 1, 17,
3368 0,
3369 28,
3370 OPC_CheckChild1Integer, 1,
3371 OPC_Scope, 8,
3372 OPC_CheckChild2CondCode, ISD::SETEQ,
3373 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3374 MVT::i32, 1, 2,
3375 14,
3376 OPC_CheckChild2CondCode, ISD::SETNE,
3377 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3378 MVT::i32, 1, 2,
3379 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3380 MVT::i32, 1, 17,
3381 0,
3382 0,
3383 64,
3384 OPC_CheckChild1Type, MVT::v8i16,
3385 OPC_MoveParent,
3386 OPC_CheckTypeI32,
3387 OPC_Scope, 28,
3388 OPC_CheckChild1Integer, 0,
3389 OPC_Scope, 8,
3390 OPC_CheckChild2CondCode, ISD::SETNE,
3391 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3392 MVT::i32, 1, 2,
3393 14,
3394 OPC_CheckChild2CondCode, ISD::SETEQ,
3395 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3396 MVT::i32, 1, 2,
3397 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3398 MVT::i32, 1, 17,
3399 0,
3400 28,
3401 OPC_CheckChild1Integer, 1,
3402 OPC_Scope, 8,
3403 OPC_CheckChild2CondCode, ISD::SETEQ,
3404 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3405 MVT::i32, 1, 2,
3406 14,
3407 OPC_CheckChild2CondCode, ISD::SETNE,
3408 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3409 MVT::i32, 1, 2,
3410 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3411 MVT::i32, 1, 17,
3412 0,
3413 0,
3414 64,
3415 OPC_CheckChild1Type, MVT::v4i32,
3416 OPC_MoveParent,
3417 OPC_CheckTypeI32,
3418 OPC_Scope, 28,
3419 OPC_CheckChild1Integer, 0,
3420 OPC_Scope, 8,
3421 OPC_CheckChild2CondCode, ISD::SETNE,
3422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3423 MVT::i32, 1, 2,
3424 14,
3425 OPC_CheckChild2CondCode, ISD::SETEQ,
3426 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3427 MVT::i32, 1, 2,
3428 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3429 MVT::i32, 1, 17,
3430 0,
3431 28,
3432 OPC_CheckChild1Integer, 1,
3433 OPC_Scope, 8,
3434 OPC_CheckChild2CondCode, ISD::SETEQ,
3435 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3436 MVT::i32, 1, 2,
3437 14,
3438 OPC_CheckChild2CondCode, ISD::SETNE,
3439 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3440 MVT::i32, 1, 2,
3441 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3442 MVT::i32, 1, 17,
3443 0,
3444 0,
3445 64,
3446 OPC_CheckChild1Type, MVT::v2i64,
3447 OPC_MoveParent,
3448 OPC_CheckTypeI32,
3449 OPC_Scope, 28,
3450 OPC_CheckChild1Integer, 0,
3451 OPC_Scope, 8,
3452 OPC_CheckChild2CondCode, ISD::SETNE,
3453 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3454 MVT::i32, 1, 2,
3455 14,
3456 OPC_CheckChild2CondCode, ISD::SETEQ,
3457 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3458 MVT::i32, 1, 2,
3459 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3460 MVT::i32, 1, 17,
3461 0,
3462 28,
3463 OPC_CheckChild1Integer, 1,
3464 OPC_Scope, 8,
3465 OPC_CheckChild2CondCode, ISD::SETEQ,
3466 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
3467 MVT::i32, 1, 2,
3468 14,
3469 OPC_CheckChild2CondCode, ISD::SETNE,
3470 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ANYTRUE),
3471 MVT::i32, 1, 2,
3472 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3473 MVT::i32, 1, 17,
3474 0,
3475 0,
3476 0,
3477 11|128,2,
3478 OPC_CheckChild0Integer, 5|128,114|128,0,
3479 OPC_RecordChild1,
3480 OPC_Scope, 64,
3481 OPC_CheckChild1Type, MVT::v16i8,
3482 OPC_MoveParent,
3483 OPC_CheckTypeI32,
3484 OPC_Scope, 28,
3485 OPC_CheckChild1Integer, 0,
3486 OPC_Scope, 8,
3487 OPC_CheckChild2CondCode, ISD::SETNE,
3488 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
3489 MVT::i32, 1, 2,
3490 14,
3491 OPC_CheckChild2CondCode, ISD::SETEQ,
3492 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
3493 MVT::i32, 1, 2,
3494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3495 MVT::i32, 1, 17,
3496 0,
3497 28,
3498 OPC_CheckChild1Integer, 1,
3499 OPC_Scope, 8,
3500 OPC_CheckChild2CondCode, ISD::SETEQ,
3501 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
3502 MVT::i32, 1, 2,
3503 14,
3504 OPC_CheckChild2CondCode, ISD::SETNE,
3505 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
3506 MVT::i32, 1, 2,
3507 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3508 MVT::i32, 1, 17,
3509 0,
3510 0,
3511 64,
3512 OPC_CheckChild1Type, MVT::v8i16,
3513 OPC_MoveParent,
3514 OPC_CheckTypeI32,
3515 OPC_Scope, 28,
3516 OPC_CheckChild1Integer, 0,
3517 OPC_Scope, 8,
3518 OPC_CheckChild2CondCode, ISD::SETNE,
3519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
3520 MVT::i32, 1, 2,
3521 14,
3522 OPC_CheckChild2CondCode, ISD::SETEQ,
3523 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
3524 MVT::i32, 1, 2,
3525 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3526 MVT::i32, 1, 17,
3527 0,
3528 28,
3529 OPC_CheckChild1Integer, 1,
3530 OPC_Scope, 8,
3531 OPC_CheckChild2CondCode, ISD::SETEQ,
3532 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
3533 MVT::i32, 1, 2,
3534 14,
3535 OPC_CheckChild2CondCode, ISD::SETNE,
3536 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
3537 MVT::i32, 1, 2,
3538 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3539 MVT::i32, 1, 17,
3540 0,
3541 0,
3542 64,
3543 OPC_CheckChild1Type, MVT::v4i32,
3544 OPC_MoveParent,
3545 OPC_CheckTypeI32,
3546 OPC_Scope, 28,
3547 OPC_CheckChild1Integer, 0,
3548 OPC_Scope, 8,
3549 OPC_CheckChild2CondCode, ISD::SETNE,
3550 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
3551 MVT::i32, 1, 2,
3552 14,
3553 OPC_CheckChild2CondCode, ISD::SETEQ,
3554 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
3555 MVT::i32, 1, 2,
3556 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3557 MVT::i32, 1, 17,
3558 0,
3559 28,
3560 OPC_CheckChild1Integer, 1,
3561 OPC_Scope, 8,
3562 OPC_CheckChild2CondCode, ISD::SETEQ,
3563 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
3564 MVT::i32, 1, 2,
3565 14,
3566 OPC_CheckChild2CondCode, ISD::SETNE,
3567 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
3568 MVT::i32, 1, 2,
3569 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3570 MVT::i32, 1, 17,
3571 0,
3572 0,
3573 64,
3574 OPC_CheckChild1Type, MVT::v2i64,
3575 OPC_MoveParent,
3576 OPC_CheckTypeI32,
3577 OPC_Scope, 28,
3578 OPC_CheckChild1Integer, 0,
3579 OPC_Scope, 8,
3580 OPC_CheckChild2CondCode, ISD::SETNE,
3581 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
3582 MVT::i32, 1, 2,
3583 14,
3584 OPC_CheckChild2CondCode, ISD::SETEQ,
3585 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
3586 MVT::i32, 1, 2,
3587 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3588 MVT::i32, 1, 17,
3589 0,
3590 28,
3591 OPC_CheckChild1Integer, 1,
3592 OPC_Scope, 8,
3593 OPC_CheckChild2CondCode, ISD::SETEQ,
3594 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
3595 MVT::i32, 1, 2,
3596 14,
3597 OPC_CheckChild2CondCode, ISD::SETNE,
3598 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
3599 MVT::i32, 1, 2,
3600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3601 MVT::i32, 1, 17,
3602 0,
3603 0,
3604 0,
3605 0,
3606 10|128,9,
3607 OPC_RecordChild0,
3608 OPC_SwitchType , 64|128,3, MVT::i32,
3609 OPC_Scope, 108,
3610 OPC_CheckChild0TypeI32,
3611 OPC_Scope, 10,
3612 OPC_CheckChild1Integer, 0,
3613 OPC_CheckChild2CondCode, ISD::SETEQ,
3614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
3615 MVT::i32, 1, 2,
3616 93,
3617 OPC_RecordChild1,
3618 OPC_Scope, 8,
3619 OPC_CheckChild2CondCode, ISD::SETEQ,
3620 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I32),
3621 MVT::i32, 2, 16,
3622 8,
3623 OPC_CheckChild2CondCode, ISD::SETNE,
3624 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32),
3625 MVT::i32, 2, 16,
3626 8,
3627 OPC_CheckChild2CondCode, ISD::SETLT,
3628 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32),
3629 MVT::i32, 2, 16,
3630 8,
3631 OPC_CheckChild2CondCode, ISD::SETULT,
3632 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32),
3633 MVT::i32, 2, 16,
3634 8,
3635 OPC_CheckChild2CondCode, ISD::SETGT,
3636 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32),
3637 MVT::i32, 2, 16,
3638 8,
3639 OPC_CheckChild2CondCode, ISD::SETUGT,
3640 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32),
3641 MVT::i32, 2, 16,
3642 8,
3643 OPC_CheckChild2CondCode, ISD::SETLE,
3644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32),
3645 MVT::i32, 2, 16,
3646 8,
3647 OPC_CheckChild2CondCode, ISD::SETULE,
3648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32),
3649 MVT::i32, 2, 16,
3650 8,
3651 OPC_CheckChild2CondCode, ISD::SETGE,
3652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32),
3653 MVT::i32, 2, 16,
3654 8,
3655 OPC_CheckChild2CondCode, ISD::SETUGE,
3656 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32),
3657 MVT::i32, 2, 16,
3658 0,
3659 0,
3660 108,
3661 OPC_CheckChild0TypeI64,
3662 OPC_Scope, 10,
3663 OPC_CheckChild1Integer, 0,
3664 OPC_CheckChild2CondCode, ISD::SETEQ,
3665 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I64),
3666 MVT::i32, 1, 2,
3667 93,
3668 OPC_RecordChild1,
3669 OPC_Scope, 8,
3670 OPC_CheckChild2CondCode, ISD::SETEQ,
3671 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I64),
3672 MVT::i32, 2, 16,
3673 8,
3674 OPC_CheckChild2CondCode, ISD::SETNE,
3675 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64),
3676 MVT::i32, 2, 16,
3677 8,
3678 OPC_CheckChild2CondCode, ISD::SETLT,
3679 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64),
3680 MVT::i32, 2, 16,
3681 8,
3682 OPC_CheckChild2CondCode, ISD::SETULT,
3683 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I64),
3684 MVT::i32, 2, 16,
3685 8,
3686 OPC_CheckChild2CondCode, ISD::SETGT,
3687 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64),
3688 MVT::i32, 2, 16,
3689 8,
3690 OPC_CheckChild2CondCode, ISD::SETUGT,
3691 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I64),
3692 MVT::i32, 2, 16,
3693 8,
3694 OPC_CheckChild2CondCode, ISD::SETLE,
3695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64),
3696 MVT::i32, 2, 16,
3697 8,
3698 OPC_CheckChild2CondCode, ISD::SETULE,
3699 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I64),
3700 MVT::i32, 2, 16,
3701 8,
3702 OPC_CheckChild2CondCode, ISD::SETGE,
3703 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64),
3704 MVT::i32, 2, 16,
3705 8,
3706 OPC_CheckChild2CondCode, ISD::SETUGE,
3707 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I64),
3708 MVT::i32, 2, 16,
3709 0,
3710 0,
3711 113,
3712 OPC_CheckChild0Type, MVT::f32,
3713 OPC_RecordChild1,
3714 OPC_Scope, 8,
3715 OPC_CheckChild2CondCode, ISD::SETOEQ,
3716 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
3717 MVT::i32, 2, 16,
3718 8,
3719 OPC_CheckChild2CondCode, ISD::SETUNE,
3720 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
3721 MVT::i32, 2, 16,
3722 8,
3723 OPC_CheckChild2CondCode, ISD::SETOLT,
3724 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
3725 MVT::i32, 2, 16,
3726 8,
3727 OPC_CheckChild2CondCode, ISD::SETOLE,
3728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
3729 MVT::i32, 2, 16,
3730 8,
3731 OPC_CheckChild2CondCode, ISD::SETOGT,
3732 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
3733 MVT::i32, 2, 16,
3734 8,
3735 OPC_CheckChild2CondCode, ISD::SETOGE,
3736 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
3737 MVT::i32, 2, 16,
3738 8,
3739 OPC_CheckChild2CondCode, ISD::SETEQ,
3740 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
3741 MVT::i32, 2, 16,
3742 8,
3743 OPC_CheckChild2CondCode, ISD::SETNE,
3744 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
3745 MVT::i32, 2, 16,
3746 8,
3747 OPC_CheckChild2CondCode, ISD::SETLT,
3748 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
3749 MVT::i32, 2, 16,
3750 8,
3751 OPC_CheckChild2CondCode, ISD::SETLE,
3752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
3753 MVT::i32, 2, 16,
3754 8,
3755 OPC_CheckChild2CondCode, ISD::SETGT,
3756 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
3757 MVT::i32, 2, 16,
3758 8,
3759 OPC_CheckChild2CondCode, ISD::SETGE,
3760 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
3761 MVT::i32, 2, 16,
3762 0,
3763 113,
3764 OPC_CheckChild0Type, MVT::f64,
3765 OPC_RecordChild1,
3766 OPC_Scope, 8,
3767 OPC_CheckChild2CondCode, ISD::SETOEQ,
3768 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
3769 MVT::i32, 2, 16,
3770 8,
3771 OPC_CheckChild2CondCode, ISD::SETUNE,
3772 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
3773 MVT::i32, 2, 16,
3774 8,
3775 OPC_CheckChild2CondCode, ISD::SETOLT,
3776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
3777 MVT::i32, 2, 16,
3778 8,
3779 OPC_CheckChild2CondCode, ISD::SETOLE,
3780 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
3781 MVT::i32, 2, 16,
3782 8,
3783 OPC_CheckChild2CondCode, ISD::SETOGT,
3784 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
3785 MVT::i32, 2, 16,
3786 8,
3787 OPC_CheckChild2CondCode, ISD::SETOGE,
3788 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
3789 MVT::i32, 2, 16,
3790 8,
3791 OPC_CheckChild2CondCode, ISD::SETEQ,
3792 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
3793 MVT::i32, 2, 16,
3794 8,
3795 OPC_CheckChild2CondCode, ISD::SETNE,
3796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
3797 MVT::i32, 2, 16,
3798 8,
3799 OPC_CheckChild2CondCode, ISD::SETLT,
3800 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
3801 MVT::i32, 2, 16,
3802 8,
3803 OPC_CheckChild2CondCode, ISD::SETLE,
3804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
3805 MVT::i32, 2, 16,
3806 8,
3807 OPC_CheckChild2CondCode, ISD::SETGT,
3808 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
3809 MVT::i32, 2, 16,
3810 8,
3811 OPC_CheckChild2CondCode, ISD::SETGE,
3812 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
3813 MVT::i32, 2, 16,
3814 0,
3815 0,
3816 105, MVT::v16i8,
3817 OPC_CheckChild0Type, MVT::v16i8,
3818 OPC_RecordChild1,
3819 OPC_Scope, 9,
3820 OPC_CheckChild2CondCode, ISD::SETEQ,
3821 OPC_CheckPatternPredicate0,
3822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I8x16),
3823 MVT::v16i8, 2, 16,
3824 9,
3825 OPC_CheckChild2CondCode, ISD::SETNE,
3826 OPC_CheckPatternPredicate0,
3827 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I8x16),
3828 MVT::v16i8, 2, 16,
3829 9,
3830 OPC_CheckChild2CondCode, ISD::SETLT,
3831 OPC_CheckPatternPredicate0,
3832 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I8x16),
3833 MVT::v16i8, 2, 16,
3834 9,
3835 OPC_CheckChild2CondCode, ISD::SETULT,
3836 OPC_CheckPatternPredicate0,
3837 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I8x16),
3838 MVT::v16i8, 2, 16,
3839 9,
3840 OPC_CheckChild2CondCode, ISD::SETGT,
3841 OPC_CheckPatternPredicate0,
3842 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I8x16),
3843 MVT::v16i8, 2, 16,
3844 9,
3845 OPC_CheckChild2CondCode, ISD::SETUGT,
3846 OPC_CheckPatternPredicate0,
3847 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I8x16),
3848 MVT::v16i8, 2, 16,
3849 9,
3850 OPC_CheckChild2CondCode, ISD::SETLE,
3851 OPC_CheckPatternPredicate0,
3852 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I8x16),
3853 MVT::v16i8, 2, 16,
3854 9,
3855 OPC_CheckChild2CondCode, ISD::SETULE,
3856 OPC_CheckPatternPredicate0,
3857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I8x16),
3858 MVT::v16i8, 2, 16,
3859 9,
3860 OPC_CheckChild2CondCode, ISD::SETGE,
3861 OPC_CheckPatternPredicate0,
3862 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I8x16),
3863 MVT::v16i8, 2, 16,
3864 9,
3865 OPC_CheckChild2CondCode, ISD::SETUGE,
3866 OPC_CheckPatternPredicate0,
3867 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I8x16),
3868 MVT::v16i8, 2, 16,
3869 0,
3870 46|128,1, MVT::v8i16,
3871 OPC_Scope, 105,
3872 OPC_CheckChild0Type, MVT::v8i16,
3873 OPC_RecordChild1,
3874 OPC_Scope, 9,
3875 OPC_CheckChild2CondCode, ISD::SETEQ,
3876 OPC_CheckPatternPredicate0,
3877 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I16x8),
3878 MVT::v8i16, 2, 16,
3879 9,
3880 OPC_CheckChild2CondCode, ISD::SETNE,
3881 OPC_CheckPatternPredicate0,
3882 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I16x8),
3883 MVT::v8i16, 2, 16,
3884 9,
3885 OPC_CheckChild2CondCode, ISD::SETLT,
3886 OPC_CheckPatternPredicate0,
3887 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I16x8),
3888 MVT::v8i16, 2, 16,
3889 9,
3890 OPC_CheckChild2CondCode, ISD::SETULT,
3891 OPC_CheckPatternPredicate0,
3892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I16x8),
3893 MVT::v8i16, 2, 16,
3894 9,
3895 OPC_CheckChild2CondCode, ISD::SETGT,
3896 OPC_CheckPatternPredicate0,
3897 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I16x8),
3898 MVT::v8i16, 2, 16,
3899 9,
3900 OPC_CheckChild2CondCode, ISD::SETUGT,
3901 OPC_CheckPatternPredicate0,
3902 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I16x8),
3903 MVT::v8i16, 2, 16,
3904 9,
3905 OPC_CheckChild2CondCode, ISD::SETLE,
3906 OPC_CheckPatternPredicate0,
3907 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I16x8),
3908 MVT::v8i16, 2, 16,
3909 9,
3910 OPC_CheckChild2CondCode, ISD::SETULE,
3911 OPC_CheckPatternPredicate0,
3912 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I16x8),
3913 MVT::v8i16, 2, 16,
3914 9,
3915 OPC_CheckChild2CondCode, ISD::SETGE,
3916 OPC_CheckPatternPredicate0,
3917 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I16x8),
3918 MVT::v8i16, 2, 16,
3919 9,
3920 OPC_CheckChild2CondCode, ISD::SETUGE,
3921 OPC_CheckPatternPredicate0,
3922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I16x8),
3923 MVT::v8i16, 2, 16,
3924 0,
3925 65,
3926 OPC_CheckChild0Type, MVT::v8f16,
3927 OPC_RecordChild1,
3928 OPC_Scope, 9,
3929 OPC_CheckChild2CondCode, ISD::SETOEQ,
3930 OPC_CheckPatternPredicate6,
3931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F16x8),
3932 MVT::v8i16, 2, 16,
3933 9,
3934 OPC_CheckChild2CondCode, ISD::SETUNE,
3935 OPC_CheckPatternPredicate6,
3936 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F16x8),
3937 MVT::v8i16, 2, 16,
3938 9,
3939 OPC_CheckChild2CondCode, ISD::SETOLT,
3940 OPC_CheckPatternPredicate6,
3941 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F16x8),
3942 MVT::v8i16, 2, 16,
3943 9,
3944 OPC_CheckChild2CondCode, ISD::SETOGT,
3945 OPC_CheckPatternPredicate6,
3946 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F16x8),
3947 MVT::v8i16, 2, 16,
3948 9,
3949 OPC_CheckChild2CondCode, ISD::SETOLE,
3950 OPC_CheckPatternPredicate6,
3951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F16x8),
3952 MVT::v8i16, 2, 16,
3953 9,
3954 OPC_CheckChild2CondCode, ISD::SETOGE,
3955 OPC_CheckPatternPredicate6,
3956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F16x8),
3957 MVT::v8i16, 2, 16,
3958 0,
3959 0,
3960 101|128,1, MVT::v4i32,
3961 OPC_Scope, 105,
3962 OPC_CheckChild0Type, MVT::v4i32,
3963 OPC_RecordChild1,
3964 OPC_Scope, 9,
3965 OPC_CheckChild2CondCode, ISD::SETEQ,
3966 OPC_CheckPatternPredicate0,
3967 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I32x4),
3968 MVT::v4i32, 2, 16,
3969 9,
3970 OPC_CheckChild2CondCode, ISD::SETNE,
3971 OPC_CheckPatternPredicate0,
3972 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32x4),
3973 MVT::v4i32, 2, 16,
3974 9,
3975 OPC_CheckChild2CondCode, ISD::SETLT,
3976 OPC_CheckPatternPredicate0,
3977 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32x4),
3978 MVT::v4i32, 2, 16,
3979 9,
3980 OPC_CheckChild2CondCode, ISD::SETULT,
3981 OPC_CheckPatternPredicate0,
3982 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32x4),
3983 MVT::v4i32, 2, 16,
3984 9,
3985 OPC_CheckChild2CondCode, ISD::SETGT,
3986 OPC_CheckPatternPredicate0,
3987 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32x4),
3988 MVT::v4i32, 2, 16,
3989 9,
3990 OPC_CheckChild2CondCode, ISD::SETUGT,
3991 OPC_CheckPatternPredicate0,
3992 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32x4),
3993 MVT::v4i32, 2, 16,
3994 9,
3995 OPC_CheckChild2CondCode, ISD::SETLE,
3996 OPC_CheckPatternPredicate0,
3997 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32x4),
3998 MVT::v4i32, 2, 16,
3999 9,
4000 OPC_CheckChild2CondCode, ISD::SETULE,
4001 OPC_CheckPatternPredicate0,
4002 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32x4),
4003 MVT::v4i32, 2, 16,
4004 9,
4005 OPC_CheckChild2CondCode, ISD::SETGE,
4006 OPC_CheckPatternPredicate0,
4007 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32x4),
4008 MVT::v4i32, 2, 16,
4009 9,
4010 OPC_CheckChild2CondCode, ISD::SETUGE,
4011 OPC_CheckPatternPredicate0,
4012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32x4),
4013 MVT::v4i32, 2, 16,
4014 0,
4015 120,
4016 OPC_CheckChild0Type, 8|128,1,
4017 OPC_RecordChild1,
4018 OPC_Scope, 9,
4019 OPC_CheckChild2CondCode, ISD::SETOEQ,
4020 OPC_CheckPatternPredicate0,
4021 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
4022 MVT::v4i32, 2, 16,
4023 9,
4024 OPC_CheckChild2CondCode, ISD::SETUNE,
4025 OPC_CheckPatternPredicate0,
4026 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
4027 MVT::v4i32, 2, 16,
4028 9,
4029 OPC_CheckChild2CondCode, ISD::SETOLT,
4030 OPC_CheckPatternPredicate0,
4031 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
4032 MVT::v4i32, 2, 16,
4033 9,
4034 OPC_CheckChild2CondCode, ISD::SETOGT,
4035 OPC_CheckPatternPredicate0,
4036 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
4037 MVT::v4i32, 2, 16,
4038 9,
4039 OPC_CheckChild2CondCode, ISD::SETOLE,
4040 OPC_CheckPatternPredicate0,
4041 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
4042 MVT::v4i32, 2, 16,
4043 9,
4044 OPC_CheckChild2CondCode, ISD::SETOGE,
4045 OPC_CheckPatternPredicate0,
4046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
4047 MVT::v4i32, 2, 16,
4048 8,
4049 OPC_CheckChild2CondCode, ISD::SETEQ,
4050 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
4051 MVT::v4i32, 2, 16,
4052 8,
4053 OPC_CheckChild2CondCode, ISD::SETNE,
4054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
4055 MVT::v4i32, 2, 16,
4056 8,
4057 OPC_CheckChild2CondCode, ISD::SETLT,
4058 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
4059 MVT::v4i32, 2, 16,
4060 8,
4061 OPC_CheckChild2CondCode, ISD::SETGT,
4062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
4063 MVT::v4i32, 2, 16,
4064 8,
4065 OPC_CheckChild2CondCode, ISD::SETLE,
4066 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
4067 MVT::v4i32, 2, 16,
4068 8,
4069 OPC_CheckChild2CondCode, ISD::SETGE,
4070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
4071 MVT::v4i32, 2, 16,
4072 0,
4073 0,
4074 61|128,1, MVT::v2i64,
4075 OPC_Scope, 65,
4076 OPC_CheckChild0Type, MVT::v2i64,
4077 OPC_RecordChild1,
4078 OPC_Scope, 9,
4079 OPC_CheckChild2CondCode, ISD::SETEQ,
4080 OPC_CheckPatternPredicate0,
4081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I64x2),
4082 MVT::v2i64, 2, 16,
4083 9,
4084 OPC_CheckChild2CondCode, ISD::SETNE,
4085 OPC_CheckPatternPredicate0,
4086 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64x2),
4087 MVT::v2i64, 2, 16,
4088 9,
4089 OPC_CheckChild2CondCode, ISD::SETLT,
4090 OPC_CheckPatternPredicate0,
4091 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64x2),
4092 MVT::v2i64, 2, 16,
4093 9,
4094 OPC_CheckChild2CondCode, ISD::SETGT,
4095 OPC_CheckPatternPredicate0,
4096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64x2),
4097 MVT::v2i64, 2, 16,
4098 9,
4099 OPC_CheckChild2CondCode, ISD::SETLE,
4100 OPC_CheckPatternPredicate0,
4101 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64x2),
4102 MVT::v2i64, 2, 16,
4103 9,
4104 OPC_CheckChild2CondCode, ISD::SETGE,
4105 OPC_CheckPatternPredicate0,
4106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64x2),
4107 MVT::v2i64, 2, 16,
4108 0,
4109 120,
4110 OPC_CheckChild0Type, 26|128,1,
4111 OPC_RecordChild1,
4112 OPC_Scope, 9,
4113 OPC_CheckChild2CondCode, ISD::SETOEQ,
4114 OPC_CheckPatternPredicate0,
4115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64x2),
4116 MVT::v2i64, 2, 16,
4117 9,
4118 OPC_CheckChild2CondCode, ISD::SETUNE,
4119 OPC_CheckPatternPredicate0,
4120 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
4121 MVT::v2i64, 2, 16,
4122 9,
4123 OPC_CheckChild2CondCode, ISD::SETOLT,
4124 OPC_CheckPatternPredicate0,
4125 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
4126 MVT::v2i64, 2, 16,
4127 9,
4128 OPC_CheckChild2CondCode, ISD::SETOGT,
4129 OPC_CheckPatternPredicate0,
4130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
4131 MVT::v2i64, 2, 16,
4132 9,
4133 OPC_CheckChild2CondCode, ISD::SETOLE,
4134 OPC_CheckPatternPredicate0,
4135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
4136 MVT::v2i64, 2, 16,
4137 9,
4138 OPC_CheckChild2CondCode, ISD::SETOGE,
4139 OPC_CheckPatternPredicate0,
4140 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
4141 MVT::v2i64, 2, 16,
4142 8,
4143 OPC_CheckChild2CondCode, ISD::SETEQ,
4144 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64x2),
4145 MVT::v2i64, 2, 16,
4146 8,
4147 OPC_CheckChild2CondCode, ISD::SETNE,
4148 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
4149 MVT::v2i64, 2, 16,
4150 8,
4151 OPC_CheckChild2CondCode, ISD::SETLT,
4152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
4153 MVT::v2i64, 2, 16,
4154 8,
4155 OPC_CheckChild2CondCode, ISD::SETGT,
4156 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
4157 MVT::v2i64, 2, 16,
4158 8,
4159 OPC_CheckChild2CondCode, ISD::SETLE,
4160 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
4161 MVT::v2i64, 2, 16,
4162 8,
4163 OPC_CheckChild2CondCode, ISD::SETGE,
4164 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
4165 MVT::v2i64, 2, 16,
4166 0,
4167 0,
4168 0,
4169 0,
4170 78, TARGET_VAL(ISD::SHL),
4171 OPC_RecordChild0,
4172 OPC_Scope, 52,
4173 OPC_MoveChild1,
4174 OPC_Scope, 22,
4175 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
4176 OPC_MoveChild0,
4177 OPC_CheckAndImm, 63,
4178 OPC_RecordChild0,
4179 OPC_MoveParent,
4180 OPC_MoveParent,
4181 OPC_CheckTypeI64,
4182 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
4183 MVT::i64, 1, 17,
4184 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
4185 MVT::i64, 2, 42,
4186 12,
4187 OPC_CheckAndImm, 31,
4188 OPC_RecordChild0,
4189 OPC_CheckTypeI32,
4190 OPC_MoveParent,
4191 OPC_CheckTypeI32,
4192 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
4193 MVT::i32, 2, 16,
4194 12,
4195 OPC_CheckAndImm, 63,
4196 OPC_RecordChild0,
4197 OPC_CheckTypeI64,
4198 OPC_MoveParent,
4199 OPC_CheckTypeI64,
4200 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
4201 MVT::i64, 2, 16,
4202 0,
4203 21,
4204 OPC_RecordChild1,
4205 OPC_SwitchType , 7, MVT::i32,
4206 OPC_CheckChild1TypeI32,
4207 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
4208 MVT::i32, 2, 16,
4209 7, MVT::i64,
4210 OPC_CheckChild1TypeI64,
4211 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
4212 MVT::i64, 2, 16,
4213 0,
4214 0,
4215 78, TARGET_VAL(ISD::SRA),
4216 OPC_RecordChild0,
4217 OPC_Scope, 52,
4218 OPC_MoveChild1,
4219 OPC_Scope, 22,
4220 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
4221 OPC_MoveChild0,
4222 OPC_CheckAndImm, 63,
4223 OPC_RecordChild0,
4224 OPC_MoveParent,
4225 OPC_MoveParent,
4226 OPC_CheckTypeI64,
4227 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
4228 MVT::i64, 1, 17,
4229 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
4230 MVT::i64, 2, 42,
4231 12,
4232 OPC_CheckAndImm, 31,
4233 OPC_RecordChild0,
4234 OPC_CheckTypeI32,
4235 OPC_MoveParent,
4236 OPC_CheckTypeI32,
4237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
4238 MVT::i32, 2, 16,
4239 12,
4240 OPC_CheckAndImm, 63,
4241 OPC_RecordChild0,
4242 OPC_CheckTypeI64,
4243 OPC_MoveParent,
4244 OPC_CheckTypeI64,
4245 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
4246 MVT::i64, 2, 16,
4247 0,
4248 21,
4249 OPC_RecordChild1,
4250 OPC_SwitchType , 7, MVT::i32,
4251 OPC_CheckChild1TypeI32,
4252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
4253 MVT::i32, 2, 16,
4254 7, MVT::i64,
4255 OPC_CheckChild1TypeI64,
4256 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
4257 MVT::i64, 2, 16,
4258 0,
4259 0,
4260 78, TARGET_VAL(ISD::SRL),
4261 OPC_RecordChild0,
4262 OPC_Scope, 52,
4263 OPC_MoveChild1,
4264 OPC_Scope, 22,
4265 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
4266 OPC_MoveChild0,
4267 OPC_CheckAndImm, 63,
4268 OPC_RecordChild0,
4269 OPC_MoveParent,
4270 OPC_MoveParent,
4271 OPC_CheckTypeI64,
4272 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
4273 MVT::i64, 1, 17,
4274 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
4275 MVT::i64, 2, 42,
4276 12,
4277 OPC_CheckAndImm, 31,
4278 OPC_RecordChild0,
4279 OPC_CheckTypeI32,
4280 OPC_MoveParent,
4281 OPC_CheckTypeI32,
4282 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
4283 MVT::i32, 2, 16,
4284 12,
4285 OPC_CheckAndImm, 63,
4286 OPC_RecordChild0,
4287 OPC_CheckTypeI64,
4288 OPC_MoveParent,
4289 OPC_CheckTypeI64,
4290 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
4291 MVT::i64, 2, 16,
4292 0,
4293 21,
4294 OPC_RecordChild1,
4295 OPC_SwitchType , 7, MVT::i32,
4296 OPC_CheckChild1TypeI32,
4297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
4298 MVT::i32, 2, 16,
4299 7, MVT::i64,
4300 OPC_CheckChild1TypeI64,
4301 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
4302 MVT::i64, 2, 16,
4303 0,
4304 0,
4305 93|128,10, TARGET_VAL(ISD::LOAD),
4306 OPC_RecordMemRef,
4307 OPC_RecordNode,
4308 OPC_RecordChild1,
4309 OPC_Scope, 42|128,5,
4310 OPC_CheckChild1TypeI32,
4311 OPC_CheckPredicate7,
4312 OPC_Scope, 33,
4313 OPC_CheckPredicate5,
4314 OPC_SwitchType , 13, MVT::i32,
4315 OPC_CheckPatternPredicate3,
4316 OPC_CheckComplexPat2, /*#*/1,
4317 OPC_EmitMergeInputChains1_0,
4318 OPC_EmitIntegerI32, 0,
4319 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4320 MVT::i32, 3, 59,
4321 13, MVT::i64,
4322 OPC_CheckPatternPredicate3,
4323 OPC_CheckComplexPat2, /*#*/1,
4324 OPC_EmitMergeInputChains1_0,
4325 OPC_EmitIntegerI32, 0,
4326 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4327 MVT::i64, 3, 59,
4328 0,
4329 87,
4330 OPC_CheckPredicate, 19,
4331 OPC_SwitchType , 32, MVT::i32,
4332 OPC_Scope, 14,
4333 OPC_CheckPredicate1,
4334 OPC_CheckPatternPredicate3,
4335 OPC_CheckComplexPat2, /*#*/1,
4336 OPC_EmitMergeInputChains1_0,
4337 OPC_EmitIntegerI32, 0,
4338 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4339 MVT::i32, 3, 59,
4340 14,
4341 OPC_CheckPredicate2,
4342 OPC_CheckPatternPredicate3,
4343 OPC_CheckComplexPat2, /*#*/1,
4344 OPC_EmitMergeInputChains1_0,
4345 OPC_EmitIntegerI32, 0,
4346 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4347 MVT::i32, 3, 59,
4348 0,
4349 47, MVT::i64,
4350 OPC_Scope, 14,
4351 OPC_CheckPredicate1,
4352 OPC_CheckPatternPredicate3,
4353 OPC_CheckComplexPat2, /*#*/1,
4354 OPC_EmitMergeInputChains1_0,
4355 OPC_EmitIntegerI32, 0,
4356 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4357 MVT::i64, 3, 59,
4358 14,
4359 OPC_CheckPredicate2,
4360 OPC_CheckPatternPredicate3,
4361 OPC_CheckComplexPat2, /*#*/1,
4362 OPC_EmitMergeInputChains1_0,
4363 OPC_EmitIntegerI32, 0,
4364 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4365 MVT::i64, 3, 59,
4366 14,
4367 OPC_CheckPredicate3,
4368 OPC_CheckPatternPredicate3,
4369 OPC_CheckComplexPat2, /*#*/1,
4370 OPC_EmitMergeInputChains1_0,
4371 OPC_EmitIntegerI32, 0,
4372 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4373 MVT::i64, 3, 59,
4374 0,
4375 0,
4376 87,
4377 OPC_CheckPredicate, 20,
4378 OPC_SwitchType , 32, MVT::i32,
4379 OPC_Scope, 14,
4380 OPC_CheckPredicate1,
4381 OPC_CheckPatternPredicate3,
4382 OPC_CheckComplexPat2, /*#*/1,
4383 OPC_EmitMergeInputChains1_0,
4384 OPC_EmitIntegerI32, 0,
4385 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4386 MVT::i32, 3, 59,
4387 14,
4388 OPC_CheckPredicate2,
4389 OPC_CheckPatternPredicate3,
4390 OPC_CheckComplexPat2, /*#*/1,
4391 OPC_EmitMergeInputChains1_0,
4392 OPC_EmitIntegerI32, 0,
4393 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4394 MVT::i32, 3, 59,
4395 0,
4396 47, MVT::i64,
4397 OPC_Scope, 14,
4398 OPC_CheckPredicate1,
4399 OPC_CheckPatternPredicate3,
4400 OPC_CheckComplexPat2, /*#*/1,
4401 OPC_EmitMergeInputChains1_0,
4402 OPC_EmitIntegerI32, 0,
4403 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4404 MVT::i64, 3, 59,
4405 14,
4406 OPC_CheckPredicate2,
4407 OPC_CheckPatternPredicate3,
4408 OPC_CheckComplexPat2, /*#*/1,
4409 OPC_EmitMergeInputChains1_0,
4410 OPC_EmitIntegerI32, 0,
4411 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4412 MVT::i64, 3, 59,
4413 14,
4414 OPC_CheckPredicate3,
4415 OPC_CheckPatternPredicate3,
4416 OPC_CheckComplexPat2, /*#*/1,
4417 OPC_EmitMergeInputChains1_0,
4418 OPC_EmitIntegerI32, 0,
4419 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4420 MVT::i64, 3, 59,
4421 0,
4422 0,
4423 87,
4424 OPC_CheckPredicate, 9,
4425 OPC_SwitchType , 32, MVT::i32,
4426 OPC_Scope, 14,
4427 OPC_CheckPredicate1,
4428 OPC_CheckPatternPredicate3,
4429 OPC_CheckComplexPat2, /*#*/1,
4430 OPC_EmitMergeInputChains1_0,
4431 OPC_EmitIntegerI32, 0,
4432 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4433 MVT::i32, 3, 59,
4434 14,
4435 OPC_CheckPredicate2,
4436 OPC_CheckPatternPredicate3,
4437 OPC_CheckComplexPat2, /*#*/1,
4438 OPC_EmitMergeInputChains1_0,
4439 OPC_EmitIntegerI32, 0,
4440 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4441 MVT::i32, 3, 59,
4442 0,
4443 47, MVT::i64,
4444 OPC_Scope, 14,
4445 OPC_CheckPredicate1,
4446 OPC_CheckPatternPredicate3,
4447 OPC_CheckComplexPat2, /*#*/1,
4448 OPC_EmitMergeInputChains1_0,
4449 OPC_EmitIntegerI32, 0,
4450 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4451 MVT::i64, 3, 59,
4452 14,
4453 OPC_CheckPredicate2,
4454 OPC_CheckPatternPredicate3,
4455 OPC_CheckComplexPat2, /*#*/1,
4456 OPC_EmitMergeInputChains1_0,
4457 OPC_EmitIntegerI32, 0,
4458 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4459 MVT::i64, 3, 59,
4460 14,
4461 OPC_CheckPredicate3,
4462 OPC_CheckPatternPredicate3,
4463 OPC_CheckComplexPat2, /*#*/1,
4464 OPC_EmitMergeInputChains1_0,
4465 OPC_EmitIntegerI32, 0,
4466 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4467 MVT::i64, 3, 59,
4468 0,
4469 0,
4470 33,
4471 OPC_CheckPredicate5,
4472 OPC_SwitchType , 13, MVT::f32,
4473 OPC_CheckPatternPredicate3,
4474 OPC_CheckComplexPat2, /*#*/1,
4475 OPC_EmitMergeInputChains1_0,
4476 OPC_EmitIntegerI32, 0,
4477 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4478 MVT::f32, 3, 59,
4479 13, MVT::f64,
4480 OPC_CheckPatternPredicate3,
4481 OPC_CheckComplexPat2, /*#*/1,
4482 OPC_EmitMergeInputChains1_0,
4483 OPC_EmitIntegerI32, 0,
4484 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4485 MVT::f64, 3, 59,
4486 0,
4487 19,
4488 OPC_CheckPredicate, 9,
4489 OPC_CheckPredicate, 23,
4490 OPC_CheckType, MVT::f32,
4491 OPC_CheckPatternPredicate3,
4492 OPC_CheckComplexPat2, /*#*/1,
4493 OPC_EmitMergeInputChains1_0,
4494 OPC_EmitIntegerI32, 0,
4495 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4496 MVT::f32, 3, 59,
4497 63,
4498 OPC_CheckPredicate5,
4499 OPC_SwitchType , 13, MVT::v16i8,
4500 OPC_CheckPatternPredicate3,
4501 OPC_CheckComplexPat2, /*#*/1,
4502 OPC_EmitMergeInputChains1_0,
4503 OPC_EmitIntegerI32, 0,
4504 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4505 MVT::v16i8, 3, 59,
4506 13, MVT::v8i16,
4507 OPC_CheckPatternPredicate3,
4508 OPC_CheckComplexPat2, /*#*/1,
4509 OPC_EmitMergeInputChains1_0,
4510 OPC_EmitIntegerI32, 0,
4511 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4512 MVT::v8i16, 3, 59,
4513 13, MVT::v4i32,
4514 OPC_CheckPatternPredicate3,
4515 OPC_CheckComplexPat2, /*#*/1,
4516 OPC_EmitMergeInputChains1_0,
4517 OPC_EmitIntegerI32, 0,
4518 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4519 MVT::v4i32, 3, 59,
4520 13, MVT::v2i64,
4521 OPC_CheckPatternPredicate3,
4522 OPC_CheckComplexPat2, /*#*/1,
4523 OPC_EmitMergeInputChains1_0,
4524 OPC_EmitIntegerI32, 0,
4525 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4526 MVT::v2i64, 3, 59,
4527 0,
4528 19,
4529 OPC_CheckPredicate, 19,
4530 OPC_CheckPredicate, 24,
4531 OPC_CheckType, MVT::v8i16,
4532 OPC_CheckPatternPredicate3,
4533 OPC_CheckComplexPat2, /*#*/1,
4534 OPC_EmitMergeInputChains1_0,
4535 OPC_EmitIntegerI32, 0,
4536 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
4537 MVT::v8i16, 3, 59,
4538 19,
4539 OPC_CheckPredicate, 20,
4540 OPC_CheckPredicate, 24,
4541 OPC_CheckType, MVT::v8i16,
4542 OPC_CheckPatternPredicate3,
4543 OPC_CheckComplexPat2, /*#*/1,
4544 OPC_EmitMergeInputChains1_0,
4545 OPC_EmitIntegerI32, 0,
4546 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
4547 MVT::v8i16, 3, 59,
4548 19,
4549 OPC_CheckPredicate, 9,
4550 OPC_CheckPredicate, 24,
4551 OPC_CheckType, MVT::v8i16,
4552 OPC_CheckPatternPredicate3,
4553 OPC_CheckComplexPat2, /*#*/1,
4554 OPC_EmitMergeInputChains1_0,
4555 OPC_EmitIntegerI32, 0,
4556 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
4557 MVT::v8i16, 3, 59,
4558 19,
4559 OPC_CheckPredicate, 19,
4560 OPC_CheckPredicate, 25,
4561 OPC_CheckType, MVT::v4i32,
4562 OPC_CheckPatternPredicate3,
4563 OPC_CheckComplexPat2, /*#*/1,
4564 OPC_EmitMergeInputChains1_0,
4565 OPC_EmitIntegerI32, 0,
4566 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
4567 MVT::v4i32, 3, 59,
4568 19,
4569 OPC_CheckPredicate, 20,
4570 OPC_CheckPredicate, 25,
4571 OPC_CheckType, MVT::v4i32,
4572 OPC_CheckPatternPredicate3,
4573 OPC_CheckComplexPat2, /*#*/1,
4574 OPC_EmitMergeInputChains1_0,
4575 OPC_EmitIntegerI32, 0,
4576 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
4577 MVT::v4i32, 3, 59,
4578 19,
4579 OPC_CheckPredicate, 9,
4580 OPC_CheckPredicate, 25,
4581 OPC_CheckType, MVT::v4i32,
4582 OPC_CheckPatternPredicate3,
4583 OPC_CheckComplexPat2, /*#*/1,
4584 OPC_EmitMergeInputChains1_0,
4585 OPC_EmitIntegerI32, 0,
4586 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
4587 MVT::v4i32, 3, 59,
4588 19,
4589 OPC_CheckPredicate, 19,
4590 OPC_CheckPredicate, 26,
4591 OPC_CheckType, MVT::v2i64,
4592 OPC_CheckPatternPredicate3,
4593 OPC_CheckComplexPat2, /*#*/1,
4594 OPC_EmitMergeInputChains1_0,
4595 OPC_EmitIntegerI32, 0,
4596 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
4597 MVT::v2i64, 3, 59,
4598 19,
4599 OPC_CheckPredicate, 20,
4600 OPC_CheckPredicate, 26,
4601 OPC_CheckType, MVT::v2i64,
4602 OPC_CheckPatternPredicate3,
4603 OPC_CheckComplexPat2, /*#*/1,
4604 OPC_EmitMergeInputChains1_0,
4605 OPC_EmitIntegerI32, 0,
4606 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
4607 MVT::v2i64, 3, 59,
4608 19,
4609 OPC_CheckPredicate, 9,
4610 OPC_CheckPredicate, 26,
4611 OPC_CheckType, MVT::v2i64,
4612 OPC_CheckPatternPredicate3,
4613 OPC_CheckComplexPat2, /*#*/1,
4614 OPC_EmitMergeInputChains1_0,
4615 OPC_EmitIntegerI32, 0,
4616 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
4617 MVT::v2i64, 3, 59,
4618 52,
4619 OPC_CheckPredicate5,
4620 OPC_SwitchType , 14, 8|128,1,
4621 OPC_CheckPatternPredicate3,
4622 OPC_CheckComplexPat2, /*#*/1,
4623 OPC_EmitMergeInputChains1_0,
4624 OPC_EmitIntegerI32, 0,
4625 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4626 8|128,1, 3, 59,
4627 14, 26|128,1,
4628 OPC_CheckPatternPredicate3,
4629 OPC_CheckComplexPat2, /*#*/1,
4630 OPC_EmitMergeInputChains1_0,
4631 OPC_EmitIntegerI32, 0,
4632 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4633 26|128,1, 3, 59,
4634 13, MVT::v8f16,
4635 OPC_CheckPatternPredicate3,
4636 OPC_CheckComplexPat2, /*#*/1,
4637 OPC_EmitMergeInputChains1_0,
4638 OPC_EmitIntegerI32, 0,
4639 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
4640 MVT::v8f16, 3, 59,
4641 0,
4642 28,
4643 OPC_CheckPredicate, 9,
4644 OPC_CheckType, 26|128,1,
4645 OPC_CheckPatternPredicate3,
4646 OPC_EmitMergeInputChains1_0,
4647 OPC_EmitIntegerI32, 0,
4648 OPC_EmitIntegerI32, 0,
4649 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4650 MVT::v16i8, 3, 24,
4651 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
4652 26|128,1, 1, 71,
4653 OPC_CompleteMatch, 1, 5,
4654
4655 0,
4656 42|128,5,
4657 OPC_CheckChild1TypeI64,
4658 OPC_CheckPredicate7,
4659 OPC_Scope, 33,
4660 OPC_CheckPredicate5,
4661 OPC_SwitchType , 13, MVT::i32,
4662 OPC_CheckPatternPredicate4,
4663 OPC_CheckComplexPat3, /*#*/1,
4664 OPC_EmitMergeInputChains1_0,
4665 OPC_EmitIntegerI32, 0,
4666 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4667 MVT::i32, 3, 59,
4668 13, MVT::i64,
4669 OPC_CheckPatternPredicate4,
4670 OPC_CheckComplexPat3, /*#*/1,
4671 OPC_EmitMergeInputChains1_0,
4672 OPC_EmitIntegerI32, 0,
4673 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4674 MVT::i64, 3, 59,
4675 0,
4676 87,
4677 OPC_CheckPredicate, 19,
4678 OPC_SwitchType , 32, MVT::i32,
4679 OPC_Scope, 14,
4680 OPC_CheckPredicate1,
4681 OPC_CheckPatternPredicate4,
4682 OPC_CheckComplexPat3, /*#*/1,
4683 OPC_EmitMergeInputChains1_0,
4684 OPC_EmitIntegerI32, 0,
4685 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4686 MVT::i32, 3, 59,
4687 14,
4688 OPC_CheckPredicate2,
4689 OPC_CheckPatternPredicate4,
4690 OPC_CheckComplexPat3, /*#*/1,
4691 OPC_EmitMergeInputChains1_0,
4692 OPC_EmitIntegerI32, 0,
4693 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4694 MVT::i32, 3, 59,
4695 0,
4696 47, MVT::i64,
4697 OPC_Scope, 14,
4698 OPC_CheckPredicate1,
4699 OPC_CheckPatternPredicate4,
4700 OPC_CheckComplexPat3, /*#*/1,
4701 OPC_EmitMergeInputChains1_0,
4702 OPC_EmitIntegerI32, 0,
4703 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4704 MVT::i64, 3, 59,
4705 14,
4706 OPC_CheckPredicate2,
4707 OPC_CheckPatternPredicate4,
4708 OPC_CheckComplexPat3, /*#*/1,
4709 OPC_EmitMergeInputChains1_0,
4710 OPC_EmitIntegerI32, 0,
4711 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4712 MVT::i64, 3, 59,
4713 14,
4714 OPC_CheckPredicate3,
4715 OPC_CheckPatternPredicate4,
4716 OPC_CheckComplexPat3, /*#*/1,
4717 OPC_EmitMergeInputChains1_0,
4718 OPC_EmitIntegerI32, 0,
4719 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4720 MVT::i64, 3, 59,
4721 0,
4722 0,
4723 87,
4724 OPC_CheckPredicate, 20,
4725 OPC_SwitchType , 32, MVT::i32,
4726 OPC_Scope, 14,
4727 OPC_CheckPredicate1,
4728 OPC_CheckPatternPredicate4,
4729 OPC_CheckComplexPat3, /*#*/1,
4730 OPC_EmitMergeInputChains1_0,
4731 OPC_EmitIntegerI32, 0,
4732 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4733 MVT::i32, 3, 59,
4734 14,
4735 OPC_CheckPredicate2,
4736 OPC_CheckPatternPredicate4,
4737 OPC_CheckComplexPat3, /*#*/1,
4738 OPC_EmitMergeInputChains1_0,
4739 OPC_EmitIntegerI32, 0,
4740 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4741 MVT::i32, 3, 59,
4742 0,
4743 47, MVT::i64,
4744 OPC_Scope, 14,
4745 OPC_CheckPredicate1,
4746 OPC_CheckPatternPredicate4,
4747 OPC_CheckComplexPat3, /*#*/1,
4748 OPC_EmitMergeInputChains1_0,
4749 OPC_EmitIntegerI32, 0,
4750 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4751 MVT::i64, 3, 59,
4752 14,
4753 OPC_CheckPredicate2,
4754 OPC_CheckPatternPredicate4,
4755 OPC_CheckComplexPat3, /*#*/1,
4756 OPC_EmitMergeInputChains1_0,
4757 OPC_EmitIntegerI32, 0,
4758 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4759 MVT::i64, 3, 59,
4760 14,
4761 OPC_CheckPredicate3,
4762 OPC_CheckPatternPredicate4,
4763 OPC_CheckComplexPat3, /*#*/1,
4764 OPC_EmitMergeInputChains1_0,
4765 OPC_EmitIntegerI32, 0,
4766 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4767 MVT::i64, 3, 59,
4768 0,
4769 0,
4770 87,
4771 OPC_CheckPredicate, 9,
4772 OPC_SwitchType , 32, MVT::i32,
4773 OPC_Scope, 14,
4774 OPC_CheckPredicate1,
4775 OPC_CheckPatternPredicate4,
4776 OPC_CheckComplexPat3, /*#*/1,
4777 OPC_EmitMergeInputChains1_0,
4778 OPC_EmitIntegerI32, 0,
4779 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4780 MVT::i32, 3, 59,
4781 14,
4782 OPC_CheckPredicate2,
4783 OPC_CheckPatternPredicate4,
4784 OPC_CheckComplexPat3, /*#*/1,
4785 OPC_EmitMergeInputChains1_0,
4786 OPC_EmitIntegerI32, 0,
4787 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4788 MVT::i32, 3, 59,
4789 0,
4790 47, MVT::i64,
4791 OPC_Scope, 14,
4792 OPC_CheckPredicate1,
4793 OPC_CheckPatternPredicate4,
4794 OPC_CheckComplexPat3, /*#*/1,
4795 OPC_EmitMergeInputChains1_0,
4796 OPC_EmitIntegerI32, 0,
4797 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4798 MVT::i64, 3, 59,
4799 14,
4800 OPC_CheckPredicate2,
4801 OPC_CheckPatternPredicate4,
4802 OPC_CheckComplexPat3, /*#*/1,
4803 OPC_EmitMergeInputChains1_0,
4804 OPC_EmitIntegerI32, 0,
4805 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4806 MVT::i64, 3, 59,
4807 14,
4808 OPC_CheckPredicate3,
4809 OPC_CheckPatternPredicate4,
4810 OPC_CheckComplexPat3, /*#*/1,
4811 OPC_EmitMergeInputChains1_0,
4812 OPC_EmitIntegerI32, 0,
4813 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4814 MVT::i64, 3, 59,
4815 0,
4816 0,
4817 33,
4818 OPC_CheckPredicate5,
4819 OPC_SwitchType , 13, MVT::f32,
4820 OPC_CheckPatternPredicate4,
4821 OPC_CheckComplexPat3, /*#*/1,
4822 OPC_EmitMergeInputChains1_0,
4823 OPC_EmitIntegerI32, 0,
4824 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4825 MVT::f32, 3, 59,
4826 13, MVT::f64,
4827 OPC_CheckPatternPredicate4,
4828 OPC_CheckComplexPat3, /*#*/1,
4829 OPC_EmitMergeInputChains1_0,
4830 OPC_EmitIntegerI32, 0,
4831 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4832 MVT::f64, 3, 59,
4833 0,
4834 19,
4835 OPC_CheckPredicate, 9,
4836 OPC_CheckPredicate, 23,
4837 OPC_CheckType, MVT::f32,
4838 OPC_CheckPatternPredicate4,
4839 OPC_CheckComplexPat3, /*#*/1,
4840 OPC_EmitMergeInputChains1_0,
4841 OPC_EmitIntegerI32, 0,
4842 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4843 MVT::f32, 3, 59,
4844 63,
4845 OPC_CheckPredicate5,
4846 OPC_SwitchType , 13, MVT::v16i8,
4847 OPC_CheckPatternPredicate4,
4848 OPC_CheckComplexPat3, /*#*/1,
4849 OPC_EmitMergeInputChains1_0,
4850 OPC_EmitIntegerI32, 0,
4851 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4852 MVT::v16i8, 3, 59,
4853 13, MVT::v8i16,
4854 OPC_CheckPatternPredicate4,
4855 OPC_CheckComplexPat3, /*#*/1,
4856 OPC_EmitMergeInputChains1_0,
4857 OPC_EmitIntegerI32, 0,
4858 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4859 MVT::v8i16, 3, 59,
4860 13, MVT::v4i32,
4861 OPC_CheckPatternPredicate4,
4862 OPC_CheckComplexPat3, /*#*/1,
4863 OPC_EmitMergeInputChains1_0,
4864 OPC_EmitIntegerI32, 0,
4865 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4866 MVT::v4i32, 3, 59,
4867 13, MVT::v2i64,
4868 OPC_CheckPatternPredicate4,
4869 OPC_CheckComplexPat3, /*#*/1,
4870 OPC_EmitMergeInputChains1_0,
4871 OPC_EmitIntegerI32, 0,
4872 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4873 MVT::v2i64, 3, 59,
4874 0,
4875 19,
4876 OPC_CheckPredicate, 19,
4877 OPC_CheckPredicate, 24,
4878 OPC_CheckType, MVT::v8i16,
4879 OPC_CheckPatternPredicate4,
4880 OPC_CheckComplexPat3, /*#*/1,
4881 OPC_EmitMergeInputChains1_0,
4882 OPC_EmitIntegerI32, 0,
4883 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
4884 MVT::v8i16, 3, 59,
4885 19,
4886 OPC_CheckPredicate, 20,
4887 OPC_CheckPredicate, 24,
4888 OPC_CheckType, MVT::v8i16,
4889 OPC_CheckPatternPredicate4,
4890 OPC_CheckComplexPat3, /*#*/1,
4891 OPC_EmitMergeInputChains1_0,
4892 OPC_EmitIntegerI32, 0,
4893 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
4894 MVT::v8i16, 3, 59,
4895 19,
4896 OPC_CheckPredicate, 9,
4897 OPC_CheckPredicate, 24,
4898 OPC_CheckType, MVT::v8i16,
4899 OPC_CheckPatternPredicate4,
4900 OPC_CheckComplexPat3, /*#*/1,
4901 OPC_EmitMergeInputChains1_0,
4902 OPC_EmitIntegerI32, 0,
4903 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
4904 MVT::v8i16, 3, 59,
4905 19,
4906 OPC_CheckPredicate, 19,
4907 OPC_CheckPredicate, 25,
4908 OPC_CheckType, MVT::v4i32,
4909 OPC_CheckPatternPredicate4,
4910 OPC_CheckComplexPat3, /*#*/1,
4911 OPC_EmitMergeInputChains1_0,
4912 OPC_EmitIntegerI32, 0,
4913 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
4914 MVT::v4i32, 3, 59,
4915 19,
4916 OPC_CheckPredicate, 20,
4917 OPC_CheckPredicate, 25,
4918 OPC_CheckType, MVT::v4i32,
4919 OPC_CheckPatternPredicate4,
4920 OPC_CheckComplexPat3, /*#*/1,
4921 OPC_EmitMergeInputChains1_0,
4922 OPC_EmitIntegerI32, 0,
4923 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
4924 MVT::v4i32, 3, 59,
4925 19,
4926 OPC_CheckPredicate, 9,
4927 OPC_CheckPredicate, 25,
4928 OPC_CheckType, MVT::v4i32,
4929 OPC_CheckPatternPredicate4,
4930 OPC_CheckComplexPat3, /*#*/1,
4931 OPC_EmitMergeInputChains1_0,
4932 OPC_EmitIntegerI32, 0,
4933 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
4934 MVT::v4i32, 3, 59,
4935 19,
4936 OPC_CheckPredicate, 19,
4937 OPC_CheckPredicate, 26,
4938 OPC_CheckType, MVT::v2i64,
4939 OPC_CheckPatternPredicate4,
4940 OPC_CheckComplexPat3, /*#*/1,
4941 OPC_EmitMergeInputChains1_0,
4942 OPC_EmitIntegerI32, 0,
4943 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
4944 MVT::v2i64, 3, 59,
4945 19,
4946 OPC_CheckPredicate, 20,
4947 OPC_CheckPredicate, 26,
4948 OPC_CheckType, MVT::v2i64,
4949 OPC_CheckPatternPredicate4,
4950 OPC_CheckComplexPat3, /*#*/1,
4951 OPC_EmitMergeInputChains1_0,
4952 OPC_EmitIntegerI32, 0,
4953 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
4954 MVT::v2i64, 3, 59,
4955 19,
4956 OPC_CheckPredicate, 9,
4957 OPC_CheckPredicate, 26,
4958 OPC_CheckType, MVT::v2i64,
4959 OPC_CheckPatternPredicate4,
4960 OPC_CheckComplexPat3, /*#*/1,
4961 OPC_EmitMergeInputChains1_0,
4962 OPC_EmitIntegerI32, 0,
4963 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
4964 MVT::v2i64, 3, 59,
4965 52,
4966 OPC_CheckPredicate5,
4967 OPC_SwitchType , 14, 8|128,1,
4968 OPC_CheckPatternPredicate4,
4969 OPC_CheckComplexPat3, /*#*/1,
4970 OPC_EmitMergeInputChains1_0,
4971 OPC_EmitIntegerI32, 0,
4972 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4973 8|128,1, 3, 59,
4974 14, 26|128,1,
4975 OPC_CheckPatternPredicate4,
4976 OPC_CheckComplexPat3, /*#*/1,
4977 OPC_EmitMergeInputChains1_0,
4978 OPC_EmitIntegerI32, 0,
4979 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4980 26|128,1, 3, 59,
4981 13, MVT::v8f16,
4982 OPC_CheckPatternPredicate4,
4983 OPC_CheckComplexPat3, /*#*/1,
4984 OPC_EmitMergeInputChains1_0,
4985 OPC_EmitIntegerI32, 0,
4986 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
4987 MVT::v8f16, 3, 59,
4988 0,
4989 28,
4990 OPC_CheckPredicate, 9,
4991 OPC_CheckType, 26|128,1,
4992 OPC_CheckPatternPredicate4,
4993 OPC_EmitMergeInputChains1_0,
4994 OPC_EmitIntegerI32, 0,
4995 OPC_EmitIntegerI64, 0,
4996 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4997 MVT::v16i8, 3, 24,
4998 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
4999 26|128,1, 1, 71,
5000 OPC_CompleteMatch, 1, 5,
5001
5002 0,
5003 0,
5004 85, TARGET_VAL(ISD::BRCOND),
5005 OPC_RecordNode,
5006 OPC_Scope, 66,
5007 OPC_MoveChild1,
5008 OPC_SwitchOpcode , 20, TARGET_VAL(ISD::XOR),
5009 OPC_RecordChild0,
5010 OPC_MoveChild0,
5011 OPC_CheckPredicate, 30,
5012 OPC_MoveParent,
5013 OPC_CheckChild1Integer, 1,
5014 OPC_CheckTypeI32,
5015 OPC_MoveSibling2,
5016 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
5017 OPC_RecordNode,
5018 OPC_MoveParent,
5019 OPC_EmitMergeInputChains1_0,
5020 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
5021 2, 19,
5022 37, TARGET_VAL(ISD::SETCC),
5023 OPC_RecordChild0,
5024 OPC_CheckChild0TypeI32,
5025 OPC_CheckChild1Integer, 0,
5026 OPC_CheckTypeI32,
5027 OPC_Scope, 14,
5028 OPC_CheckChild2CondCode, ISD::SETNE,
5029 OPC_MoveSibling2,
5030 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
5031 OPC_RecordNode,
5032 OPC_MoveParent,
5033 OPC_EmitMergeInputChains1_0,
5034 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
5035 2, 19,
5036 14,
5037 OPC_CheckChild2CondCode, ISD::SETEQ,
5038 OPC_MoveSibling2,
5039 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
5040 OPC_RecordNode,
5041 OPC_MoveParent,
5042 OPC_EmitMergeInputChains1_0,
5043 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
5044 2, 19,
5045 0,
5046 0,
5047 14,
5048 OPC_RecordChild1,
5049 OPC_CheckChild1TypeI32,
5050 OPC_RecordChild2,
5051 OPC_MoveChild2,
5052 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
5053 OPC_MoveParent,
5054 OPC_EmitMergeInputChains1_0,
5055 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
5056 2, 19,
5057 0,
5058 55, TARGET_VAL(ISD::ROTL),
5059 OPC_RecordChild0,
5060 OPC_Scope, 29,
5061 OPC_MoveChild1,
5062 OPC_SwitchType , 11, MVT::i32,
5063 OPC_CheckAndImm, 31,
5064 OPC_RecordChild0,
5065 OPC_MoveParent,
5066 OPC_CheckTypeI32,
5067 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
5068 MVT::i32, 2, 16,
5069 11, MVT::i64,
5070 OPC_CheckAndImm, 63,
5071 OPC_RecordChild0,
5072 OPC_MoveParent,
5073 OPC_CheckTypeI64,
5074 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
5075 MVT::i64, 2, 16,
5076 0,
5077 21,
5078 OPC_RecordChild1,
5079 OPC_SwitchType , 7, MVT::i32,
5080 OPC_CheckChild1TypeI32,
5081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
5082 MVT::i32, 2, 16,
5083 7, MVT::i64,
5084 OPC_CheckChild1TypeI64,
5085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
5086 MVT::i64, 2, 16,
5087 0,
5088 0,
5089 55, TARGET_VAL(ISD::ROTR),
5090 OPC_RecordChild0,
5091 OPC_Scope, 29,
5092 OPC_MoveChild1,
5093 OPC_SwitchType , 11, MVT::i32,
5094 OPC_CheckAndImm, 31,
5095 OPC_RecordChild0,
5096 OPC_MoveParent,
5097 OPC_CheckTypeI32,
5098 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
5099 MVT::i32, 2, 16,
5100 11, MVT::i64,
5101 OPC_CheckAndImm, 63,
5102 OPC_RecordChild0,
5103 OPC_MoveParent,
5104 OPC_CheckTypeI64,
5105 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
5106 MVT::i64, 2, 16,
5107 0,
5108 21,
5109 OPC_RecordChild1,
5110 OPC_SwitchType , 7, MVT::i32,
5111 OPC_CheckChild1TypeI32,
5112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
5113 MVT::i32, 2, 16,
5114 7, MVT::i64,
5115 OPC_CheckChild1TypeI64,
5116 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
5117 MVT::i64, 2, 16,
5118 0,
5119 0,
5120 103|128,3, TARGET_VAL(ISD::SELECT),
5121 OPC_Scope, 119,
5122 OPC_MoveChild0,
5123 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5124 OPC_RecordChild0,
5125 OPC_CheckChild0TypeI32,
5126 OPC_CheckChild1Integer, 0,
5127 OPC_CheckTypeI32,
5128 OPC_Scope, 53,
5129 OPC_CheckChild2CondCode, ISD::SETNE,
5130 OPC_MoveParent,
5131 OPC_RecordChild1,
5132 OPC_RecordChild2,
5133 OPC_SwitchType , 6, MVT::i32,
5134 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
5135 MVT::i32, 3, 3,
5136 6, MVT::i64,
5137 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
5138 MVT::i64, 3, 3,
5139 7, 124|128,1,
5140 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
5141 124|128,1, 3, 3,
5142 7, 125|128,1,
5143 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
5144 125|128,1, 3, 3,
5145 7, 126|128,1,
5146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
5147 126|128,1, 3, 3,
5148 0,
5149 53,
5150 OPC_CheckChild2CondCode, ISD::SETEQ,
5151 OPC_MoveParent,
5152 OPC_RecordChild1,
5153 OPC_RecordChild2,
5154 OPC_SwitchType , 6, MVT::i32,
5155 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
5156 MVT::i32, 3, 0,
5157 6, MVT::i64,
5158 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
5159 MVT::i64, 3, 0,
5160 7, 124|128,1,
5161 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
5162 124|128,1, 3, 0,
5163 7, 125|128,1,
5164 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
5165 125|128,1, 3, 0,
5166 7, 126|128,1,
5167 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
5168 126|128,1, 3, 0,
5169 0,
5170 0,
5171 55,
5172 OPC_RecordChild0,
5173 OPC_CheckChild0TypeI32,
5174 OPC_RecordChild1,
5175 OPC_RecordChild2,
5176 OPC_SwitchType , 6, MVT::i32,
5177 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
5178 MVT::i32, 3, 3,
5179 6, MVT::i64,
5180 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
5181 MVT::i64, 3, 3,
5182 8, 124|128,1,
5183 OPC_CheckPatternPredicate7,
5184 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
5185 124|128,1, 3, 3,
5186 8, 125|128,1,
5187 OPC_CheckPatternPredicate7,
5188 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
5189 125|128,1, 3, 3,
5190 8, 126|128,1,
5191 OPC_CheckPatternPredicate7,
5192 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
5193 126|128,1, 3, 3,
5194 0,
5195 59,
5196 OPC_MoveChild0,
5197 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5198 OPC_RecordChild0,
5199 OPC_CheckChild0TypeI32,
5200 OPC_CheckChild1Integer, 0,
5201 OPC_CheckTypeI32,
5202 OPC_Scope, 23,
5203 OPC_CheckChild2CondCode, ISD::SETNE,
5204 OPC_MoveParent,
5205 OPC_RecordChild1,
5206 OPC_RecordChild2,
5207 OPC_SwitchType , 6, MVT::f32,
5208 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5209 MVT::f32, 3, 3,
5210 6, MVT::f64,
5211 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5212 MVT::f64, 3, 3,
5213 0,
5214 23,
5215 OPC_CheckChild2CondCode, ISD::SETEQ,
5216 OPC_MoveParent,
5217 OPC_RecordChild1,
5218 OPC_RecordChild2,
5219 OPC_SwitchType , 6, MVT::f32,
5220 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5221 MVT::f32, 3, 0,
5222 6, MVT::f64,
5223 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5224 MVT::f64, 3, 0,
5225 0,
5226 0,
5227 22,
5228 OPC_RecordChild0,
5229 OPC_CheckChild0TypeI32,
5230 OPC_RecordChild1,
5231 OPC_RecordChild2,
5232 OPC_SwitchType , 6, MVT::f32,
5233 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5234 MVT::f32, 3, 3,
5235 6, MVT::f64,
5236 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5237 MVT::f64, 3, 3,
5238 0,
5239 91,
5240 OPC_MoveChild0,
5241 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5242 OPC_RecordChild0,
5243 OPC_CheckChild0TypeI32,
5244 OPC_CheckChild1Integer, 0,
5245 OPC_CheckTypeI32,
5246 OPC_Scope, 39,
5247 OPC_CheckChild2CondCode, ISD::SETNE,
5248 OPC_MoveParent,
5249 OPC_RecordChild1,
5250 OPC_RecordChild2,
5251 OPC_SwitchType , 6, MVT::v16i8,
5252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5253 MVT::v16i8, 3, 3,
5254 6, MVT::v8i16,
5255 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5256 MVT::v8i16, 3, 3,
5257 6, MVT::v4i32,
5258 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5259 MVT::v4i32, 3, 3,
5260 6, MVT::v2i64,
5261 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5262 MVT::v2i64, 3, 3,
5263 0,
5264 39,
5265 OPC_CheckChild2CondCode, ISD::SETEQ,
5266 OPC_MoveParent,
5267 OPC_RecordChild1,
5268 OPC_RecordChild2,
5269 OPC_SwitchType , 6, MVT::v16i8,
5270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5271 MVT::v16i8, 3, 0,
5272 6, MVT::v8i16,
5273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5274 MVT::v8i16, 3, 0,
5275 6, MVT::v4i32,
5276 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5277 MVT::v4i32, 3, 0,
5278 6, MVT::v2i64,
5279 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5280 MVT::v2i64, 3, 0,
5281 0,
5282 0,
5283 38,
5284 OPC_RecordChild0,
5285 OPC_CheckChild0TypeI32,
5286 OPC_RecordChild1,
5287 OPC_RecordChild2,
5288 OPC_SwitchType , 6, MVT::v16i8,
5289 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5290 MVT::v16i8, 3, 3,
5291 6, MVT::v8i16,
5292 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5293 MVT::v8i16, 3, 3,
5294 6, MVT::v4i32,
5295 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5296 MVT::v4i32, 3, 3,
5297 6, MVT::v2i64,
5298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5299 MVT::v2i64, 3, 3,
5300 0,
5301 67,
5302 OPC_MoveChild0,
5303 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5304 OPC_RecordChild0,
5305 OPC_CheckChild0TypeI32,
5306 OPC_CheckChild1Integer, 0,
5307 OPC_CheckTypeI32,
5308 OPC_Scope, 27,
5309 OPC_CheckChild2CondCode, ISD::SETNE,
5310 OPC_MoveParent,
5311 OPC_RecordChild1,
5312 OPC_RecordChild2,
5313 OPC_SwitchType , 7, 8|128,1,
5314 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5315 8|128,1, 3, 3,
5316 7, 26|128,1,
5317 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5318 26|128,1, 3, 3,
5319 0,
5320 27,
5321 OPC_CheckChild2CondCode, ISD::SETEQ,
5322 OPC_MoveParent,
5323 OPC_RecordChild1,
5324 OPC_RecordChild2,
5325 OPC_SwitchType , 7, 8|128,1,
5326 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5327 8|128,1, 3, 0,
5328 7, 26|128,1,
5329 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5330 26|128,1, 3, 0,
5331 0,
5332 0,
5333 26,
5334 OPC_RecordChild0,
5335 OPC_CheckChild0TypeI32,
5336 OPC_RecordChild1,
5337 OPC_RecordChild2,
5338 OPC_SwitchType , 7, 8|128,1,
5339 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5340 8|128,1, 3, 3,
5341 7, 26|128,1,
5342 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5343 26|128,1, 3, 3,
5344 0,
5345 0,
5346 127, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
5347 OPC_Scope, 55,
5348 OPC_MoveChild0,
5349 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
5350 OPC_RecordChild0,
5351 OPC_Scope, 23,
5352 OPC_CheckChild0Type, MVT::v16i8,
5353 OPC_RecordChild1,
5354 OPC_MoveChild1,
5355 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5356 OPC_CheckPredicate, 22,
5357 OPC_CheckTypeI32,
5358 OPC_MoveParent,
5359 OPC_MoveSibling1,
5360 OPC_CheckValueType, MVT::i8,
5361 OPC_MoveParent,
5362 OPC_CheckTypeI32,
5363 OPC_EmitConvertToTarget1,
5364 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_s),
5365 MVT::i32, 2, 42,
5366 23,
5367 OPC_CheckChild0Type, MVT::v8i16,
5368 OPC_RecordChild1,
5369 OPC_MoveChild1,
5370 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5371 OPC_CheckPredicate, 17,
5372 OPC_CheckTypeI32,
5373 OPC_MoveParent,
5374 OPC_MoveSibling1,
5375 OPC_CheckValueType, MVT::i16,
5376 OPC_MoveParent,
5377 OPC_CheckTypeI32,
5378 OPC_EmitConvertToTarget1,
5379 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_s),
5380 MVT::i32, 2, 42,
5381 0,
5382 68,
5383 OPC_RecordChild0,
5384 OPC_MoveChild1,
5385 OPC_Scope, 25,
5386 OPC_CheckValueType, MVT::i8,
5387 OPC_MoveParent,
5388 OPC_SwitchType , 8, MVT::i32,
5389 OPC_CheckPatternPredicate, 11,
5390 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32),
5391 MVT::i32, 1, 2,
5392 8, MVT::i64,
5393 OPC_CheckPatternPredicate, 11,
5394 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64),
5395 MVT::i64, 1, 2,
5396 0,
5397 25,
5398 OPC_CheckValueType, MVT::i16,
5399 OPC_MoveParent,
5400 OPC_SwitchType , 8, MVT::i32,
5401 OPC_CheckPatternPredicate, 11,
5402 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32),
5403 MVT::i32, 1, 2,
5404 8, MVT::i64,
5405 OPC_CheckPatternPredicate, 11,
5406 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64),
5407 MVT::i64, 1, 2,
5408 0,
5409 11,
5410 OPC_CheckValueType, MVT::i32,
5411 OPC_MoveParent,
5412 OPC_CheckPatternPredicate, 11,
5413 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64),
5414 MVT::i64, 1, 2,
5415 0,
5416 0,
5417 48|128,1, TARGET_VAL(WebAssemblyISD::GLOBAL_GET),
5418 OPC_RecordMemRef,
5419 OPC_RecordNode,
5420 OPC_MoveChild1,
5421 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5422 OPC_RecordChild0,
5423 OPC_MoveChild0,
5424 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5425 OPC_MoveParent,
5426 OPC_MoveParent,
5427 OPC_SwitchType , 8, MVT::i32,
5428 OPC_EmitMergeInputChains1_0,
5429 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5430 MVT::i32, 1, 17,
5431 8, MVT::i64,
5432 OPC_EmitMergeInputChains1_0,
5433 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5434 MVT::i64, 1, 17,
5435 10, 124|128,1,
5436 OPC_CheckPatternPredicate7,
5437 OPC_EmitMergeInputChains1_0,
5438 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5439 124|128,1, 1, 17,
5440 10, 125|128,1,
5441 OPC_CheckPatternPredicate7,
5442 OPC_EmitMergeInputChains1_0,
5443 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5444 125|128,1, 1, 17,
5445 11, 126|128,1,
5446 OPC_CheckPatternPredicate, 8,
5447 OPC_EmitMergeInputChains1_0,
5448 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5449 126|128,1, 1, 17,
5450 8, MVT::f32,
5451 OPC_EmitMergeInputChains1_0,
5452 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5453 MVT::f32, 1, 17,
5454 8, MVT::f64,
5455 OPC_EmitMergeInputChains1_0,
5456 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5457 MVT::f64, 1, 17,
5458 9, MVT::v2i64,
5459 OPC_CheckPatternPredicate0,
5460 OPC_EmitMergeInputChains1_0,
5461 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5462 MVT::v2i64, 1, 17,
5463 9, MVT::v4i32,
5464 OPC_CheckPatternPredicate0,
5465 OPC_EmitMergeInputChains1_0,
5466 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5467 MVT::v4i32, 1, 17,
5468 9, MVT::v16i8,
5469 OPC_CheckPatternPredicate0,
5470 OPC_EmitMergeInputChains1_0,
5471 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5472 MVT::v16i8, 1, 17,
5473 9, MVT::v8i16,
5474 OPC_CheckPatternPredicate0,
5475 OPC_EmitMergeInputChains1_0,
5476 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5477 MVT::v8i16, 1, 17,
5478 9, MVT::v8f16,
5479 OPC_CheckPatternPredicate0,
5480 OPC_EmitMergeInputChains1_0,
5481 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5482 MVT::v8f16, 1, 17,
5483 10, 8|128,1,
5484 OPC_CheckPatternPredicate0,
5485 OPC_EmitMergeInputChains1_0,
5486 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5487 8|128,1, 1, 17,
5488 10, 26|128,1,
5489 OPC_CheckPatternPredicate0,
5490 OPC_EmitMergeInputChains1_0,
5491 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5492 26|128,1, 1, 17,
5493 0,
5494 57|128,2, TARGET_VAL(WebAssemblyISD::GLOBAL_SET),
5495 OPC_RecordMemRef,
5496 OPC_RecordNode,
5497 OPC_RecordChild1,
5498 OPC_Scope, 19,
5499 OPC_CheckChild1TypeI32,
5500 OPC_MoveChild2,
5501 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5502 OPC_RecordChild0,
5503 OPC_MoveChild0,
5504 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5505 OPC_MoveParent,
5506 OPC_MoveParent,
5507 OPC_EmitMergeInputChains1_0,
5508 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5509 2, 19,
5510 19,
5511 OPC_CheckChild1TypeI64,
5512 OPC_MoveChild2,
5513 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5514 OPC_RecordChild0,
5515 OPC_MoveChild0,
5516 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5517 OPC_MoveParent,
5518 OPC_MoveParent,
5519 OPC_EmitMergeInputChains1_0,
5520 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5521 2, 19,
5522 20,
5523 OPC_CheckChild1Type, MVT::f32,
5524 OPC_MoveChild2,
5525 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5526 OPC_RecordChild0,
5527 OPC_MoveChild0,
5528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5529 OPC_MoveParent,
5530 OPC_MoveParent,
5531 OPC_EmitMergeInputChains1_0,
5532 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5533 2, 19,
5534 20,
5535 OPC_CheckChild1Type, MVT::f64,
5536 OPC_MoveChild2,
5537 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5538 OPC_RecordChild0,
5539 OPC_MoveChild0,
5540 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5541 OPC_MoveParent,
5542 OPC_MoveParent,
5543 OPC_EmitMergeInputChains1_0,
5544 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5545 2, 19,
5546 21,
5547 OPC_CheckChild1Type, MVT::v2i64,
5548 OPC_MoveChild2,
5549 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5550 OPC_RecordChild0,
5551 OPC_MoveChild0,
5552 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5553 OPC_MoveParent,
5554 OPC_MoveParent,
5555 OPC_CheckPatternPredicate0,
5556 OPC_EmitMergeInputChains1_0,
5557 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5558 2, 19,
5559 21,
5560 OPC_CheckChild1Type, MVT::v4i32,
5561 OPC_MoveChild2,
5562 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5563 OPC_RecordChild0,
5564 OPC_MoveChild0,
5565 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5566 OPC_MoveParent,
5567 OPC_MoveParent,
5568 OPC_CheckPatternPredicate0,
5569 OPC_EmitMergeInputChains1_0,
5570 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5571 2, 19,
5572 21,
5573 OPC_CheckChild1Type, MVT::v16i8,
5574 OPC_MoveChild2,
5575 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5576 OPC_RecordChild0,
5577 OPC_MoveChild0,
5578 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5579 OPC_MoveParent,
5580 OPC_MoveParent,
5581 OPC_CheckPatternPredicate0,
5582 OPC_EmitMergeInputChains1_0,
5583 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5584 2, 19,
5585 21,
5586 OPC_CheckChild1Type, MVT::v8i16,
5587 OPC_MoveChild2,
5588 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5589 OPC_RecordChild0,
5590 OPC_MoveChild0,
5591 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5592 OPC_MoveParent,
5593 OPC_MoveParent,
5594 OPC_CheckPatternPredicate0,
5595 OPC_EmitMergeInputChains1_0,
5596 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5597 2, 19,
5598 21,
5599 OPC_CheckChild1Type, MVT::v8f16,
5600 OPC_MoveChild2,
5601 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5602 OPC_RecordChild0,
5603 OPC_MoveChild0,
5604 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5605 OPC_MoveParent,
5606 OPC_MoveParent,
5607 OPC_CheckPatternPredicate0,
5608 OPC_EmitMergeInputChains1_0,
5609 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5610 2, 19,
5611 22,
5612 OPC_CheckChild1Type, 8|128,1,
5613 OPC_MoveChild2,
5614 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5615 OPC_RecordChild0,
5616 OPC_MoveChild0,
5617 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5618 OPC_MoveParent,
5619 OPC_MoveParent,
5620 OPC_CheckPatternPredicate0,
5621 OPC_EmitMergeInputChains1_0,
5622 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5623 2, 19,
5624 22,
5625 OPC_CheckChild1Type, 26|128,1,
5626 OPC_MoveChild2,
5627 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5628 OPC_RecordChild0,
5629 OPC_MoveChild0,
5630 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5631 OPC_MoveParent,
5632 OPC_MoveParent,
5633 OPC_CheckPatternPredicate0,
5634 OPC_EmitMergeInputChains1_0,
5635 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5636 2, 19,
5637 22,
5638 OPC_CheckChild1Type, 124|128,1,
5639 OPC_MoveChild2,
5640 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5641 OPC_RecordChild0,
5642 OPC_MoveChild0,
5643 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5644 OPC_MoveParent,
5645 OPC_MoveParent,
5646 OPC_CheckPatternPredicate7,
5647 OPC_EmitMergeInputChains1_0,
5648 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5649 2, 19,
5650 22,
5651 OPC_CheckChild1Type, 125|128,1,
5652 OPC_MoveChild2,
5653 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5654 OPC_RecordChild0,
5655 OPC_MoveChild0,
5656 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5657 OPC_MoveParent,
5658 OPC_MoveParent,
5659 OPC_CheckPatternPredicate7,
5660 OPC_EmitMergeInputChains1_0,
5661 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5662 2, 19,
5663 23,
5664 OPC_CheckChild1Type, 126|128,1,
5665 OPC_MoveChild2,
5666 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5667 OPC_RecordChild0,
5668 OPC_MoveChild0,
5669 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5670 OPC_MoveParent,
5671 OPC_MoveParent,
5672 OPC_CheckPatternPredicate, 8,
5673 OPC_EmitMergeInputChains1_0,
5674 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5675 2, 19,
5676 0,
5677 20, TARGET_VAL(ISD::CALLSEQ_START),
5678 OPC_RecordNode,
5679 OPC_RecordChild1,
5680 OPC_MoveChild1,
5681 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5682 OPC_MoveSibling2,
5683 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5684 OPC_RecordNode,
5685 OPC_MoveParent,
5686 OPC_EmitMergeInputChains1_0,
5687 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
5688 MVT::i32, 2, 45,
5689 21, TARGET_VAL(ISD::CALLSEQ_END),
5690 OPC_RecordNode,
5691 OPC_CaptureGlueInput,
5692 OPC_RecordChild1,
5693 OPC_MoveChild1,
5694 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5695 OPC_MoveSibling2,
5696 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5697 OPC_RecordNode,
5698 OPC_MoveParent,
5699 OPC_EmitMergeInputChains1_0,
5700 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
5701 MVT::i32, 2, 45,
5702 57, TARGET_VAL(WebAssemblyISD::TABLE_GET),
5703 OPC_RecordMemRef,
5704 OPC_RecordNode,
5705 OPC_MoveChild1,
5706 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5707 OPC_RecordChild0,
5708 OPC_MoveChild0,
5709 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5710 OPC_MoveParent,
5711 OPC_MoveParent,
5712 OPC_RecordChild2,
5713 OPC_CheckChild2TypeI32,
5714 OPC_SwitchType , 10, 124|128,1,
5715 OPC_CheckPatternPredicate7,
5716 OPC_EmitMergeInputChains1_0,
5717 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5718 124|128,1, 2, 45,
5719 10, 125|128,1,
5720 OPC_CheckPatternPredicate7,
5721 OPC_EmitMergeInputChains1_0,
5722 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5723 125|128,1, 2, 45,
5724 11, 126|128,1,
5725 OPC_CheckPatternPredicate, 8,
5726 OPC_EmitMergeInputChains1_0,
5727 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5728 126|128,1, 2, 45,
5729 0,
5730 79, TARGET_VAL(WebAssemblyISD::TABLE_SET),
5731 OPC_RecordMemRef,
5732 OPC_RecordNode,
5733 OPC_Scope, 53,
5734 OPC_MoveChild1,
5735 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5736 OPC_RecordChild0,
5737 OPC_MoveChild0,
5738 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5739 OPC_MoveParent,
5740 OPC_MoveParent,
5741 OPC_RecordChild2,
5742 OPC_CheckChild2TypeI32,
5743 OPC_RecordChild3,
5744 OPC_Scope, 11,
5745 OPC_CheckChild3Type, 124|128,1,
5746 OPC_CheckPatternPredicate7,
5747 OPC_EmitMergeInputChains1_0,
5748 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5749 3, 56,
5750 11,
5751 OPC_CheckChild3Type, 125|128,1,
5752 OPC_CheckPatternPredicate7,
5753 OPC_EmitMergeInputChains1_0,
5754 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5755 3, 56,
5756 12,
5757 OPC_CheckChild3Type, 126|128,1,
5758 OPC_CheckPatternPredicate, 8,
5759 OPC_EmitMergeInputChains1_0,
5760 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5761 3, 56,
5762 0,
5763 20,
5764 OPC_RecordChild1,
5765 OPC_MoveChild1,
5766 OPC_CheckOpcode, TARGET_VAL(ISD::MCSymbol),
5767 OPC_MoveParent,
5768 OPC_RecordChild2,
5769 OPC_CheckChild2TypeI32,
5770 OPC_RecordChild3,
5771 OPC_CheckChild3Type, 124|128,1,
5772 OPC_CheckPatternPredicate7,
5773 OPC_EmitMergeInputChains1_0,
5774 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5775 3, 56,
5776 0,
5777 49, TARGET_VAL(WebAssemblyISD::MEMCPY),
5778 OPC_RecordNode,
5779 OPC_RecordChild1,
5780 OPC_MoveChild1,
5781 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5782 OPC_CheckTypeI32,
5783 OPC_MoveSibling2,
5784 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5785 OPC_RecordNode,
5786 OPC_CheckTypeI32,
5787 OPC_MoveParent,
5788 OPC_RecordChild3,
5789 OPC_Scope, 15,
5790 OPC_CheckChild3TypeI32,
5791 OPC_RecordChild4,
5792 OPC_CheckChild4TypeI32,
5793 OPC_RecordChild5,
5794 OPC_CheckChild5TypeI32,
5795 OPC_CheckPatternPredicate, 12,
5796 OPC_EmitMergeInputChains1_0,
5797 OPC_EmitConvertToTarget1,
5798 OPC_EmitConvertToTarget2,
5799 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A32),
5800 5, 81,
5801 15,
5802 OPC_CheckChild3TypeI64,
5803 OPC_RecordChild4,
5804 OPC_CheckChild4TypeI64,
5805 OPC_RecordChild5,
5806 OPC_CheckChild5TypeI64,
5807 OPC_CheckPatternPredicate, 12,
5808 OPC_EmitMergeInputChains1_0,
5809 OPC_EmitConvertToTarget1,
5810 OPC_EmitConvertToTarget2,
5811 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A64),
5812 5, 81,
5813 0,
5814 59|128,10, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
5815 OPC_Scope, 49,
5816 OPC_CheckChild0Integer, 79|128,114|128,0,
5817 OPC_RecordChild1,
5818 OPC_Scope, 20,
5819 OPC_CheckChild1Type, MVT::f32,
5820 OPC_SwitchType , 6, MVT::i32,
5821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F32),
5822 MVT::i32, 1, 2,
5823 6, MVT::i64,
5824 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F32),
5825 MVT::i64, 1, 2,
5826 0,
5827 20,
5828 OPC_CheckChild1Type, MVT::f64,
5829 OPC_SwitchType , 6, MVT::i32,
5830 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F64),
5831 MVT::i32, 1, 2,
5832 6, MVT::i64,
5833 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F64),
5834 MVT::i64, 1, 2,
5835 0,
5836 0,
5837 49,
5838 OPC_CheckChild0Integer, 80|128,114|128,0,
5839 OPC_RecordChild1,
5840 OPC_Scope, 20,
5841 OPC_CheckChild1Type, MVT::f32,
5842 OPC_SwitchType , 6, MVT::i32,
5843 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F32),
5844 MVT::i32, 1, 2,
5845 6, MVT::i64,
5846 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F32),
5847 MVT::i64, 1, 2,
5848 0,
5849 20,
5850 OPC_CheckChild1Type, MVT::f64,
5851 OPC_SwitchType , 6, MVT::i32,
5852 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F64),
5853 MVT::i32, 1, 2,
5854 6, MVT::i64,
5855 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F64),
5856 MVT::i64, 1, 2,
5857 0,
5858 0,
5859 43,
5860 OPC_CheckChild0Integer, 6|128,114|128,0,
5861 OPC_RecordChild1,
5862 OPC_Scope, 8,
5863 OPC_CheckChild1Type, MVT::v16i8,
5864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5865 MVT::i32, 1, 2,
5866 8,
5867 OPC_CheckChild1Type, MVT::v8i16,
5868 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5869 MVT::i32, 1, 2,
5870 8,
5871 OPC_CheckChild1Type, MVT::v4i32,
5872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5873 MVT::i32, 1, 2,
5874 8,
5875 OPC_CheckChild1Type, MVT::v2i64,
5876 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5877 MVT::i32, 1, 2,
5878 0,
5879 47,
5880 OPC_CheckChild0Integer, 5|128,114|128,0,
5881 OPC_RecordChild1,
5882 OPC_Scope, 9,
5883 OPC_CheckChild1Type, MVT::v16i8,
5884 OPC_CheckPatternPredicate0,
5885 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
5886 MVT::i32, 1, 2,
5887 9,
5888 OPC_CheckChild1Type, MVT::v8i16,
5889 OPC_CheckPatternPredicate0,
5890 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
5891 MVT::i32, 1, 2,
5892 9,
5893 OPC_CheckChild1Type, MVT::v4i32,
5894 OPC_CheckPatternPredicate0,
5895 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
5896 MVT::i32, 1, 2,
5897 9,
5898 OPC_CheckChild1Type, MVT::v2i64,
5899 OPC_CheckPatternPredicate0,
5900 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
5901 MVT::i32, 1, 2,
5902 0,
5903 47,
5904 OPC_CheckChild0Integer, 8|128,114|128,0,
5905 OPC_RecordChild1,
5906 OPC_Scope, 9,
5907 OPC_CheckChild1Type, MVT::v16i8,
5908 OPC_CheckPatternPredicate0,
5909 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I8x16),
5910 MVT::i32, 1, 2,
5911 9,
5912 OPC_CheckChild1Type, MVT::v8i16,
5913 OPC_CheckPatternPredicate0,
5914 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I16x8),
5915 MVT::i32, 1, 2,
5916 9,
5917 OPC_CheckChild1Type, MVT::v4i32,
5918 OPC_CheckPatternPredicate0,
5919 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I32x4),
5920 MVT::i32, 1, 2,
5921 9,
5922 OPC_CheckChild1Type, MVT::v2i64,
5923 OPC_CheckPatternPredicate0,
5924 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I64x2),
5925 MVT::i32, 1, 2,
5926 0,
5927 11,
5928 OPC_CheckChild0Integer, 37|128,114|128,0,
5929 OPC_CheckPatternPredicate7,
5930 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_FUNCREF),
5931 124|128,1, 0,
5932 12,
5933 OPC_CheckChild0Integer, 34|128,114|128,0,
5934 OPC_RecordChild1,
5935 OPC_CheckPatternPredicate7,
5936 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_FUNCREF),
5937 MVT::i32, 1, 2,
5938 11,
5939 OPC_CheckChild0Integer, 36|128,114|128,0,
5940 OPC_CheckPatternPredicate7,
5941 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXTERNREF),
5942 125|128,1, 0,
5943 12,
5944 OPC_CheckChild0Integer, 33|128,114|128,0,
5945 OPC_RecordChild1,
5946 OPC_CheckPatternPredicate7,
5947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXTERNREF),
5948 MVT::i32, 1, 2,
5949 11,
5950 OPC_CheckChild0Integer, 35|128,114|128,0,
5951 OPC_CheckPatternPredicate7,
5952 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXNREF),
5953 126|128,1, 0,
5954 12,
5955 OPC_CheckChild0Integer, 32|128,114|128,0,
5956 OPC_RecordChild1,
5957 OPC_CheckPatternPredicate7,
5958 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXNREF),
5959 MVT::i32, 1, 2,
5960 22,
5961 OPC_CheckChild0Integer, 14|128,114|128,0,
5962 OPC_RecordChild1,
5963 OPC_RecordChild2,
5964 OPC_MoveChild2,
5965 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5966 OPC_CheckPredicate, 17,
5967 OPC_MoveParent,
5968 OPC_CheckPatternPredicate, 16,
5969 OPC_EmitConvertToTarget1,
5970 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F16x8),
5971 MVT::f32, 2, 42,
5972 12,
5973 OPC_CheckChild0Integer, 58|128,114|128,0,
5974 OPC_RecordChild1,
5975 OPC_RecordChild2,
5976 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
5977 MVT::v16i8, 2, 16,
5978 113,
5979 OPC_CheckChild0Integer, 9|128,114|128,0,
5980 OPC_RecordChild1,
5981 OPC_SwitchType , 14, MVT::v16i8,
5982 OPC_CheckChild1Type, MVT::v16i8,
5983 OPC_RecordChild2,
5984 OPC_CheckChild2Type, MVT::v16i8,
5985 OPC_RecordChild3,
5986 OPC_CheckChild3Type, MVT::v16i8,
5987 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5988 MVT::v16i8, 3, 44,
5989 14, MVT::v8i16,
5990 OPC_CheckChild1Type, MVT::v8i16,
5991 OPC_RecordChild2,
5992 OPC_CheckChild2Type, MVT::v8i16,
5993 OPC_RecordChild3,
5994 OPC_CheckChild3Type, MVT::v8i16,
5995 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5996 MVT::v8i16, 3, 44,
5997 14, MVT::v4i32,
5998 OPC_CheckChild1Type, MVT::v4i32,
5999 OPC_RecordChild2,
6000 OPC_CheckChild2Type, MVT::v4i32,
6001 OPC_RecordChild3,
6002 OPC_CheckChild3Type, MVT::v4i32,
6003 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6004 MVT::v4i32, 3, 44,
6005 14, MVT::v2i64,
6006 OPC_CheckChild1Type, MVT::v2i64,
6007 OPC_RecordChild2,
6008 OPC_CheckChild2Type, MVT::v2i64,
6009 OPC_RecordChild3,
6010 OPC_CheckChild3Type, MVT::v2i64,
6011 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6012 MVT::v2i64, 3, 44,
6013 18, 8|128,1,
6014 OPC_CheckChild1Type, 8|128,1,
6015 OPC_RecordChild2,
6016 OPC_CheckChild2Type, 8|128,1,
6017 OPC_RecordChild3,
6018 OPC_CheckChild3Type, 8|128,1,
6019 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6020 8|128,1, 3, 44,
6021 18, 26|128,1,
6022 OPC_CheckChild1Type, 26|128,1,
6023 OPC_RecordChild2,
6024 OPC_CheckChild2Type, 26|128,1,
6025 OPC_RecordChild3,
6026 OPC_CheckChild3Type, 26|128,1,
6027 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6028 26|128,1, 3, 44,
6029 0,
6030 35,
6031 OPC_CheckChild0Integer, 7|128,114|128,0,
6032 OPC_RecordChild1,
6033 OPC_SwitchType , 12, MVT::v16i8,
6034 OPC_CheckChild1Type, MVT::v16i8,
6035 OPC_RecordChild2,
6036 OPC_CheckChild2Type, MVT::v16i8,
6037 OPC_CheckPatternPredicate0,
6038 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
6039 MVT::v16i8, 2, 16,
6040 12, MVT::v8i16,
6041 OPC_CheckChild1Type, MVT::v8i16,
6042 OPC_RecordChild2,
6043 OPC_CheckChild2Type, MVT::v8i16,
6044 OPC_CheckPatternPredicate0,
6045 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
6046 MVT::v8i16, 2, 16,
6047 0,
6048 13,
6049 OPC_CheckChild0Integer, 11|128,114|128,0,
6050 OPC_RecordChild1,
6051 OPC_RecordChild2,
6052 OPC_CheckPatternPredicate0,
6053 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
6054 MVT::v4i32, 2, 16,
6055 35,
6056 OPC_CheckChild0Integer, 26|128,114|128,0,
6057 OPC_RecordChild1,
6058 OPC_SwitchType , 12, MVT::v16i8,
6059 OPC_CheckChild1Type, MVT::v8i16,
6060 OPC_RecordChild2,
6061 OPC_CheckChild2Type, MVT::v8i16,
6062 OPC_CheckPatternPredicate0,
6063 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
6064 MVT::v16i8, 2, 16,
6065 12, MVT::v8i16,
6066 OPC_CheckChild1Type, MVT::v4i32,
6067 OPC_RecordChild2,
6068 OPC_CheckChild2Type, MVT::v4i32,
6069 OPC_CheckPatternPredicate0,
6070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
6071 MVT::v8i16, 2, 16,
6072 0,
6073 35,
6074 OPC_CheckChild0Integer, 27|128,114|128,0,
6075 OPC_RecordChild1,
6076 OPC_SwitchType , 12, MVT::v16i8,
6077 OPC_CheckChild1Type, MVT::v8i16,
6078 OPC_RecordChild2,
6079 OPC_CheckChild2Type, MVT::v8i16,
6080 OPC_CheckPatternPredicate0,
6081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
6082 MVT::v16i8, 2, 16,
6083 12, MVT::v8i16,
6084 OPC_CheckChild1Type, MVT::v4i32,
6085 OPC_RecordChild2,
6086 OPC_CheckChild2Type, MVT::v4i32,
6087 OPC_CheckPatternPredicate0,
6088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
6089 MVT::v8i16, 2, 16,
6090 0,
6091 27,
6092 OPC_CheckChild0Integer, 13|128,114|128,0,
6093 OPC_RecordChild1,
6094 OPC_SwitchType , 8, MVT::v4i32,
6095 OPC_CheckChild1Type, MVT::v8i16,
6096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
6097 MVT::v4i32, 1, 2,
6098 8, MVT::v8i16,
6099 OPC_CheckChild1Type, MVT::v16i8,
6100 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
6101 MVT::v8i16, 1, 2,
6102 0,
6103 27,
6104 OPC_CheckChild0Integer, 12|128,114|128,0,
6105 OPC_RecordChild1,
6106 OPC_SwitchType , 8, MVT::v4i32,
6107 OPC_CheckChild1Type, MVT::v8i16,
6108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
6109 MVT::v4i32, 1, 2,
6110 8, MVT::v8i16,
6111 OPC_CheckChild1Type, MVT::v16i8,
6112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
6113 MVT::v8i16, 1, 2,
6114 0,
6115 13,
6116 OPC_CheckChild0Integer, 31|128,114|128,0,
6117 OPC_RecordChild1,
6118 OPC_RecordChild2,
6119 OPC_CheckPatternPredicate0,
6120 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::Q15MULR_SAT_S_I16x8),
6121 MVT::v8i16, 2, 16,
6122 13,
6123 OPC_CheckChild0Integer, 48|128,114|128,0,
6124 OPC_RecordChild1,
6125 OPC_RecordChild2,
6126 OPC_CheckPatternPredicate5,
6127 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_SWIZZLE),
6128 MVT::v16i8, 2, 16,
6129 12,
6130 OPC_CheckChild0Integer, 49|128,114|128,0,
6131 OPC_RecordChild1,
6132 OPC_CheckPatternPredicate5,
6133 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_I32x4),
6134 MVT::v4i32, 1, 2,
6135 12,
6136 OPC_CheckChild0Integer, 51|128,114|128,0,
6137 OPC_RecordChild1,
6138 OPC_CheckPatternPredicate5,
6139 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_I32x4),
6140 MVT::v4i32, 1, 2,
6141 12,
6142 OPC_CheckChild0Integer, 50|128,114|128,0,
6143 OPC_RecordChild1,
6144 OPC_CheckPatternPredicate5,
6145 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_zero_I32x4),
6146 MVT::v4i32, 1, 2,
6147 12,
6148 OPC_CheckChild0Integer, 52|128,114|128,0,
6149 OPC_RecordChild1,
6150 OPC_CheckPatternPredicate5,
6151 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_zero_I32x4),
6152 MVT::v4i32, 1, 2,
6153 75,
6154 OPC_CheckChild0Integer, 42|128,114|128,0,
6155 OPC_RecordChild1,
6156 OPC_SwitchType , 15, MVT::v16i8,
6157 OPC_CheckChild1Type, MVT::v16i8,
6158 OPC_RecordChild2,
6159 OPC_CheckChild2Type, MVT::v16i8,
6160 OPC_RecordChild3,
6161 OPC_CheckChild3Type, MVT::v16i8,
6162 OPC_CheckPatternPredicate5,
6163 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I8x16),
6164 MVT::v16i8, 3, 44,
6165 15, MVT::v8i16,
6166 OPC_CheckChild1Type, MVT::v8i16,
6167 OPC_RecordChild2,
6168 OPC_CheckChild2Type, MVT::v8i16,
6169 OPC_RecordChild3,
6170 OPC_CheckChild3Type, MVT::v8i16,
6171 OPC_CheckPatternPredicate5,
6172 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I16x8),
6173 MVT::v8i16, 3, 44,
6174 15, MVT::v4i32,
6175 OPC_CheckChild1Type, MVT::v4i32,
6176 OPC_RecordChild2,
6177 OPC_CheckChild2Type, MVT::v4i32,
6178 OPC_RecordChild3,
6179 OPC_CheckChild3Type, MVT::v4i32,
6180 OPC_CheckPatternPredicate5,
6181 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I32x4),
6182 MVT::v4i32, 3, 44,
6183 15, MVT::v2i64,
6184 OPC_CheckChild1Type, MVT::v2i64,
6185 OPC_RecordChild2,
6186 OPC_CheckChild2Type, MVT::v2i64,
6187 OPC_RecordChild3,
6188 OPC_CheckChild3Type, MVT::v2i64,
6189 OPC_CheckPatternPredicate5,
6190 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I64x2),
6191 MVT::v2i64, 3, 44,
6192 0,
6193 13,
6194 OPC_CheckChild0Integer, 47|128,114|128,0,
6195 OPC_RecordChild1,
6196 OPC_RecordChild2,
6197 OPC_CheckPatternPredicate5,
6198 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_Q15MULR_S_I16x8),
6199 MVT::v8i16, 2, 16,
6200 13,
6201 OPC_CheckChild0Integer, 41|128,114|128,0,
6202 OPC_RecordChild1,
6203 OPC_RecordChild2,
6204 OPC_CheckPatternPredicate5,
6205 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
6206 MVT::v8i16, 2, 16,
6207 14,
6208 OPC_CheckChild0Integer, 40|128,114|128,0,
6209 OPC_RecordChild1,
6210 OPC_RecordChild2,
6211 OPC_RecordChild3,
6212 OPC_CheckPatternPredicate5,
6213 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
6214 MVT::v4i32, 3, 44,
6215 116,
6216 OPC_CheckChild0Integer, 56|128,114|128,0,
6217 OPC_Scope, 99,
6218 OPC_MoveChild1,
6219 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
6220 OPC_RecordMemRef,
6221 OPC_RecordNode,
6222 OPC_CheckFoldableChainNode,
6223 OPC_CheckChild1Integer, 19|128,114|128,0,
6224 OPC_RecordChild2,
6225 OPC_Scope, 15,
6226 OPC_CheckChild2TypeI32,
6227 OPC_MoveParent,
6228 OPC_CheckPatternPredicate3,
6229 OPC_CheckComplexPat2, /*#*/1,
6230 OPC_EmitMergeInputChains1_0,
6231 OPC_EmitIntegerI32, 0,
6232 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
6233 MVT::v8f16, 3, 59,
6234 15,
6235 OPC_CheckChild2TypeI64,
6236 OPC_MoveParent,
6237 OPC_CheckPatternPredicate4,
6238 OPC_CheckComplexPat3, /*#*/1,
6239 OPC_EmitMergeInputChains1_0,
6240 OPC_EmitIntegerI32, 0,
6241 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
6242 MVT::v8f16, 3, 59,
6243 0,
6244 48, TARGET_VAL(ISD::LOAD),
6245 OPC_RecordMemRef,
6246 OPC_RecordNode,
6247 OPC_CheckFoldableChainNode,
6248 OPC_RecordChild1,
6249 OPC_Scope, 20,
6250 OPC_CheckChild1TypeI32,
6251 OPC_CheckPredicate7,
6252 OPC_CheckPredicate, 9,
6253 OPC_CheckPredicate, 23,
6254 OPC_MoveParent,
6255 OPC_CheckPatternPredicate3,
6256 OPC_CheckComplexPat2, /*#*/1,
6257 OPC_EmitMergeInputChains1_0,
6258 OPC_EmitIntegerI32, 0,
6259 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
6260 MVT::v8f16, 3, 59,
6261 20,
6262 OPC_CheckChild1TypeI64,
6263 OPC_CheckPredicate7,
6264 OPC_CheckPredicate, 9,
6265 OPC_CheckPredicate, 23,
6266 OPC_MoveParent,
6267 OPC_CheckPatternPredicate4,
6268 OPC_CheckComplexPat3, /*#*/1,
6269 OPC_EmitMergeInputChains1_0,
6270 OPC_EmitIntegerI32, 0,
6271 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
6272 MVT::v8f16, 3, 59,
6273 0,
6274 0,
6275 9,
6276 OPC_RecordChild1,
6277 OPC_CheckPatternPredicate, 16,
6278 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F16x8),
6279 MVT::v8f16, 1, 2,
6280 0,
6281 23,
6282 OPC_CheckChild0Integer, 53|128,114|128,0,
6283 OPC_RecordChild1,
6284 OPC_RecordChild2,
6285 OPC_MoveChild2,
6286 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6287 OPC_CheckPredicate, 17,
6288 OPC_MoveParent,
6289 OPC_RecordChild3,
6290 OPC_CheckPatternPredicate, 16,
6291 OPC_EmitConvertToTarget1,
6292 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F16x8),
6293 MVT::v8f16, 3, 47,
6294 54,
6295 OPC_CheckChild0Integer, 29|128,114|128,0,
6296 OPC_RecordChild1,
6297 OPC_SwitchType , 14, 8|128,1,
6298 OPC_CheckChild1Type, 8|128,1,
6299 OPC_RecordChild2,
6300 OPC_CheckChild2Type, 8|128,1,
6301 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
6302 8|128,1, 2, 16,
6303 14, 26|128,1,
6304 OPC_CheckChild1Type, 26|128,1,
6305 OPC_RecordChild2,
6306 OPC_CheckChild2Type, 26|128,1,
6307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
6308 26|128,1, 2, 16,
6309 11, MVT::v8f16,
6310 OPC_CheckChild1Type, MVT::v8f16,
6311 OPC_RecordChild2,
6312 OPC_CheckChild2Type, MVT::v8f16,
6313 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
6314 MVT::v8f16, 2, 16,
6315 0,
6316 54,
6317 OPC_CheckChild0Integer, 28|128,114|128,0,
6318 OPC_RecordChild1,
6319 OPC_SwitchType , 14, 8|128,1,
6320 OPC_CheckChild1Type, 8|128,1,
6321 OPC_RecordChild2,
6322 OPC_CheckChild2Type, 8|128,1,
6323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
6324 8|128,1, 2, 16,
6325 14, 26|128,1,
6326 OPC_CheckChild1Type, 26|128,1,
6327 OPC_RecordChild2,
6328 OPC_CheckChild2Type, 26|128,1,
6329 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
6330 26|128,1, 2, 16,
6331 11, MVT::v8f16,
6332 OPC_CheckChild1Type, MVT::v8f16,
6333 OPC_RecordChild2,
6334 OPC_CheckChild2Type, MVT::v8f16,
6335 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
6336 MVT::v8f16, 2, 16,
6337 0,
6338 69,
6339 OPC_CheckChild0Integer, 43|128,114|128,0,
6340 OPC_RecordChild1,
6341 OPC_SwitchType , 20, 8|128,1,
6342 OPC_CheckChild1Type, 8|128,1,
6343 OPC_RecordChild2,
6344 OPC_CheckChild2Type, 8|128,1,
6345 OPC_RecordChild3,
6346 OPC_CheckChild3Type, 8|128,1,
6347 OPC_CheckPatternPredicate, 13,
6348 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
6349 8|128,1, 3, 44,
6350 20, 26|128,1,
6351 OPC_CheckChild1Type, 26|128,1,
6352 OPC_RecordChild2,
6353 OPC_CheckChild2Type, 26|128,1,
6354 OPC_RecordChild3,
6355 OPC_CheckChild3Type, 26|128,1,
6356 OPC_CheckPatternPredicate, 13,
6357 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
6358 26|128,1, 3, 44,
6359 14, MVT::v8f16,
6360 OPC_CheckChild1Type, MVT::v8f16,
6361 OPC_RecordChild2,
6362 OPC_CheckChild2Type, MVT::v8f16,
6363 OPC_RecordChild3,
6364 OPC_CheckChild3Type, MVT::v8f16,
6365 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F16x8),
6366 MVT::v8f16, 3, 44,
6367 0,
6368 69,
6369 OPC_CheckChild0Integer, 46|128,114|128,0,
6370 OPC_RecordChild1,
6371 OPC_SwitchType , 20, 8|128,1,
6372 OPC_CheckChild1Type, 8|128,1,
6373 OPC_RecordChild2,
6374 OPC_CheckChild2Type, 8|128,1,
6375 OPC_RecordChild3,
6376 OPC_CheckChild3Type, 8|128,1,
6377 OPC_CheckPatternPredicate, 13,
6378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
6379 8|128,1, 3, 44,
6380 20, 26|128,1,
6381 OPC_CheckChild1Type, 26|128,1,
6382 OPC_RecordChild2,
6383 OPC_CheckChild2Type, 26|128,1,
6384 OPC_RecordChild3,
6385 OPC_CheckChild3Type, 26|128,1,
6386 OPC_CheckPatternPredicate, 13,
6387 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
6388 26|128,1, 3, 44,
6389 14, MVT::v8f16,
6390 OPC_CheckChild1Type, MVT::v8f16,
6391 OPC_RecordChild2,
6392 OPC_CheckChild2Type, MVT::v8f16,
6393 OPC_RecordChild3,
6394 OPC_CheckChild3Type, MVT::v8f16,
6395 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
6396 MVT::v8f16, 3, 44,
6397 0,
6398 43,
6399 OPC_CheckChild0Integer, 45|128,114|128,0,
6400 OPC_RecordChild1,
6401 OPC_SwitchType , 15, 8|128,1,
6402 OPC_CheckChild1Type, 8|128,1,
6403 OPC_RecordChild2,
6404 OPC_CheckChild2Type, 8|128,1,
6405 OPC_CheckPatternPredicate5,
6406 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
6407 8|128,1, 2, 16,
6408 15, 26|128,1,
6409 OPC_CheckChild1Type, 26|128,1,
6410 OPC_RecordChild2,
6411 OPC_CheckChild2Type, 26|128,1,
6412 OPC_CheckPatternPredicate5,
6413 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
6414 26|128,1, 2, 16,
6415 0,
6416 43,
6417 OPC_CheckChild0Integer, 44|128,114|128,0,
6418 OPC_RecordChild1,
6419 OPC_SwitchType , 15, 8|128,1,
6420 OPC_CheckChild1Type, 8|128,1,
6421 OPC_RecordChild2,
6422 OPC_CheckChild2Type, 8|128,1,
6423 OPC_CheckPatternPredicate5,
6424 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
6425 8|128,1, 2, 16,
6426 15, 26|128,1,
6427 OPC_CheckChild1Type, 26|128,1,
6428 OPC_RecordChild2,
6429 OPC_CheckChild2Type, 26|128,1,
6430 OPC_CheckPatternPredicate5,
6431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
6432 26|128,1, 2, 16,
6433 0,
6434 15,
6435 OPC_CheckChild0Integer, 39|128,114|128,0,
6436 OPC_RecordChild1,
6437 OPC_RecordChild2,
6438 OPC_RecordChild3,
6439 OPC_CheckPatternPredicate5,
6440 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_BFLOAT),
6441 8|128,1, 3, 44,
6442 0,
6443 127, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
6444 OPC_RecordChild0,
6445 OPC_Scope, 19,
6446 OPC_CheckChild0Type, MVT::v16i8,
6447 OPC_RecordChild1,
6448 OPC_MoveChild1,
6449 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6450 OPC_CheckPredicate, 22,
6451 OPC_CheckTypeI32,
6452 OPC_MoveParent,
6453 OPC_CheckTypeI32,
6454 OPC_EmitConvertToTarget1,
6455 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u),
6456 MVT::i32, 2, 42,
6457 19,
6458 OPC_CheckChild0Type, MVT::v8i16,
6459 OPC_RecordChild1,
6460 OPC_MoveChild1,
6461 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6462 OPC_CheckPredicate, 17,
6463 OPC_CheckTypeI32,
6464 OPC_MoveParent,
6465 OPC_CheckTypeI32,
6466 OPC_EmitConvertToTarget1,
6467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u),
6468 MVT::i32, 2, 42,
6469 19,
6470 OPC_CheckChild0Type, MVT::v4i32,
6471 OPC_RecordChild1,
6472 OPC_MoveChild1,
6473 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6474 OPC_CheckPredicate, 13,
6475 OPC_CheckTypeI32,
6476 OPC_MoveParent,
6477 OPC_CheckTypeI32,
6478 OPC_EmitConvertToTarget1,
6479 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I32x4),
6480 MVT::i32, 2, 42,
6481 19,
6482 OPC_CheckChild0Type, MVT::v2i64,
6483 OPC_RecordChild1,
6484 OPC_MoveChild1,
6485 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6486 OPC_CheckPredicate, 14,
6487 OPC_CheckTypeI32,
6488 OPC_MoveParent,
6489 OPC_CheckTypeI64,
6490 OPC_EmitConvertToTarget1,
6491 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2),
6492 MVT::i64, 2, 42,
6493 21,
6494 OPC_CheckChild0Type, 8|128,1,
6495 OPC_RecordChild1,
6496 OPC_MoveChild1,
6497 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6498 OPC_CheckPredicate, 13,
6499 OPC_CheckTypeI32,
6500 OPC_MoveParent,
6501 OPC_CheckType, MVT::f32,
6502 OPC_EmitConvertToTarget1,
6503 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F32x4),
6504 MVT::f32, 2, 42,
6505 21,
6506 OPC_CheckChild0Type, 26|128,1,
6507 OPC_RecordChild1,
6508 OPC_MoveChild1,
6509 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6510 OPC_CheckPredicate, 14,
6511 OPC_CheckTypeI32,
6512 OPC_MoveParent,
6513 OPC_CheckType, MVT::f64,
6514 OPC_EmitConvertToTarget1,
6515 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F64x2),
6516 MVT::f64, 2, 42,
6517 0,
6518 2|128,1, TARGET_VAL(WebAssemblyISD::ARGUMENT),
6519 OPC_RecordChild0,
6520 OPC_MoveChild0,
6521 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6522 OPC_MoveParent,
6523 OPC_SwitchType , 6, MVT::i32,
6524 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i32),
6525 MVT::i32, 1, 2,
6526 6, MVT::i64,
6527 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i64),
6528 MVT::i64, 1, 2,
6529 7, 124|128,1,
6530 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_funcref),
6531 124|128,1, 1, 2,
6532 7, 125|128,1,
6533 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_externref),
6534 125|128,1, 1, 2,
6535 7, 126|128,1,
6536 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_exnref),
6537 126|128,1, 1, 2,
6538 6, MVT::f32,
6539 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f32),
6540 MVT::f32, 1, 2,
6541 6, MVT::f64,
6542 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f64),
6543 MVT::f64, 1, 2,
6544 6, MVT::v16i8,
6545 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v16i8),
6546 MVT::v16i8, 1, 2,
6547 6, MVT::v8i16,
6548 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8i16),
6549 MVT::v8i16, 1, 2,
6550 6, MVT::v4i32,
6551 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4i32),
6552 MVT::v4i32, 1, 2,
6553 6, MVT::v2i64,
6554 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2i64),
6555 MVT::v2i64, 1, 2,
6556 7, 8|128,1,
6557 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4f32),
6558 8|128,1, 1, 2,
6559 7, 26|128,1,
6560 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2f64),
6561 26|128,1, 1, 2,
6562 6, MVT::v8f16,
6563 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8f16),
6564 MVT::v8f16, 1, 2,
6565 0,
6566 28|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_GET),
6567 OPC_RecordNode,
6568 OPC_RecordChild1,
6569 OPC_MoveChild1,
6570 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6571 OPC_MoveParent,
6572 OPC_SwitchType , 7, MVT::i32,
6573 OPC_EmitMergeInputChains1_0,
6574 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I32),
6575 MVT::i32, 1, 17,
6576 7, MVT::i64,
6577 OPC_EmitMergeInputChains1_0,
6578 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I64),
6579 MVT::i64, 1, 17,
6580 9, 124|128,1,
6581 OPC_CheckPatternPredicate7,
6582 OPC_EmitMergeInputChains1_0,
6583 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_FUNCREF),
6584 124|128,1, 1, 17,
6585 9, 125|128,1,
6586 OPC_CheckPatternPredicate7,
6587 OPC_EmitMergeInputChains1_0,
6588 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXTERNREF),
6589 125|128,1, 1, 17,
6590 10, 126|128,1,
6591 OPC_CheckPatternPredicate, 8,
6592 OPC_EmitMergeInputChains1_0,
6593 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXNREF),
6594 126|128,1, 1, 17,
6595 7, MVT::f32,
6596 OPC_EmitMergeInputChains1_0,
6597 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F32),
6598 MVT::f32, 1, 17,
6599 7, MVT::f64,
6600 OPC_EmitMergeInputChains1_0,
6601 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F64),
6602 MVT::f64, 1, 17,
6603 8, MVT::v2i64,
6604 OPC_CheckPatternPredicate0,
6605 OPC_EmitMergeInputChains1_0,
6606 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6607 MVT::v2i64, 1, 17,
6608 8, MVT::v4i32,
6609 OPC_CheckPatternPredicate0,
6610 OPC_EmitMergeInputChains1_0,
6611 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6612 MVT::v4i32, 1, 17,
6613 8, MVT::v16i8,
6614 OPC_CheckPatternPredicate0,
6615 OPC_EmitMergeInputChains1_0,
6616 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6617 MVT::v16i8, 1, 17,
6618 8, MVT::v8i16,
6619 OPC_CheckPatternPredicate0,
6620 OPC_EmitMergeInputChains1_0,
6621 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6622 MVT::v8i16, 1, 17,
6623 8, MVT::v8f16,
6624 OPC_CheckPatternPredicate0,
6625 OPC_EmitMergeInputChains1_0,
6626 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6627 MVT::v8f16, 1, 17,
6628 9, 8|128,1,
6629 OPC_CheckPatternPredicate0,
6630 OPC_EmitMergeInputChains1_0,
6631 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6632 8|128,1, 1, 17,
6633 9, 26|128,1,
6634 OPC_CheckPatternPredicate0,
6635 OPC_EmitMergeInputChains1_0,
6636 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6637 26|128,1, 1, 17,
6638 0,
6639 22|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_SET),
6640 OPC_RecordNode,
6641 OPC_RecordChild1,
6642 OPC_MoveChild1,
6643 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6644 OPC_MoveParent,
6645 OPC_RecordChild2,
6646 OPC_Scope, 7,
6647 OPC_CheckChild2TypeI32,
6648 OPC_EmitMergeInputChains1_0,
6649 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I32),
6650 2, 45,
6651 7,
6652 OPC_CheckChild2TypeI64,
6653 OPC_EmitMergeInputChains1_0,
6654 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I64),
6655 2, 45,
6656 8,
6657 OPC_CheckChild2Type, MVT::f32,
6658 OPC_EmitMergeInputChains1_0,
6659 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F32),
6660 2, 45,
6661 8,
6662 OPC_CheckChild2Type, MVT::f64,
6663 OPC_EmitMergeInputChains1_0,
6664 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F64),
6665 2, 45,
6666 9,
6667 OPC_CheckChild2Type, MVT::v2i64,
6668 OPC_CheckPatternPredicate0,
6669 OPC_EmitMergeInputChains1_0,
6670 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6671 2, 45,
6672 9,
6673 OPC_CheckChild2Type, MVT::v4i32,
6674 OPC_CheckPatternPredicate0,
6675 OPC_EmitMergeInputChains1_0,
6676 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6677 2, 45,
6678 9,
6679 OPC_CheckChild2Type, MVT::v16i8,
6680 OPC_CheckPatternPredicate0,
6681 OPC_EmitMergeInputChains1_0,
6682 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6683 2, 45,
6684 9,
6685 OPC_CheckChild2Type, MVT::v8i16,
6686 OPC_CheckPatternPredicate0,
6687 OPC_EmitMergeInputChains1_0,
6688 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6689 2, 45,
6690 9,
6691 OPC_CheckChild2Type, MVT::v8f16,
6692 OPC_CheckPatternPredicate0,
6693 OPC_EmitMergeInputChains1_0,
6694 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6695 2, 45,
6696 10,
6697 OPC_CheckChild2Type, 8|128,1,
6698 OPC_CheckPatternPredicate0,
6699 OPC_EmitMergeInputChains1_0,
6700 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6701 2, 45,
6702 10,
6703 OPC_CheckChild2Type, 26|128,1,
6704 OPC_CheckPatternPredicate0,
6705 OPC_EmitMergeInputChains1_0,
6706 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6707 2, 45,
6708 10,
6709 OPC_CheckChild2Type, 124|128,1,
6710 OPC_CheckPatternPredicate7,
6711 OPC_EmitMergeInputChains1_0,
6712 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_FUNCREF),
6713 2, 45,
6714 10,
6715 OPC_CheckChild2Type, 125|128,1,
6716 OPC_CheckPatternPredicate7,
6717 OPC_EmitMergeInputChains1_0,
6718 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXTERNREF),
6719 2, 45,
6720 11,
6721 OPC_CheckChild2Type, 126|128,1,
6722 OPC_CheckPatternPredicate, 8,
6723 OPC_EmitMergeInputChains1_0,
6724 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXNREF),
6725 2, 45,
6726 0,
6727 0|128,1, TARGET_VAL(WebAssemblyISD::Wrapper),
6728 OPC_RecordChild0,
6729 OPC_MoveChild0,
6730 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::TargetGlobalAddress),
6731 OPC_MoveParent,
6732 OPC_SwitchType , 20, MVT::i32,
6733 OPC_Scope, 8,
6734 OPC_CheckPatternPredicate, 17,
6735 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6736 MVT::i32, 1, 2,
6737 8,
6738 OPC_CheckPatternPredicate, 14,
6739 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6740 MVT::i32, 1, 2,
6741 0,
6742 20, MVT::i64,
6743 OPC_Scope, 8,
6744 OPC_CheckPatternPredicate, 18,
6745 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6746 MVT::i64, 1, 2,
6747 8,
6748 OPC_CheckPatternPredicate, 15,
6749 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6750 MVT::i64, 1, 2,
6751 0,
6752 0,
6753 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6754 OPC_MoveParent,
6755 OPC_SwitchType , 7, MVT::i32,
6756 OPC_CheckPatternPredicate3,
6757 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6758 MVT::i32, 1, 2,
6759 7, MVT::i64,
6760 OPC_CheckPatternPredicate4,
6761 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6762 MVT::i64, 1, 2,
6763 0,
6764 47, TARGET_VAL(ISD::TargetExternalSymbol),
6765 OPC_MoveParent,
6766 OPC_SwitchType , 20, MVT::i32,
6767 OPC_Scope, 8,
6768 OPC_CheckPatternPredicate, 14,
6769 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6770 MVT::i32, 1, 2,
6771 8,
6772 OPC_CheckPatternPredicate, 17,
6773 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6774 MVT::i32, 1, 2,
6775 0,
6776 20, MVT::i64,
6777 OPC_Scope, 8,
6778 OPC_CheckPatternPredicate, 15,
6779 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6780 MVT::i64, 1, 2,
6781 8,
6782 OPC_CheckPatternPredicate, 18,
6783 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6784 MVT::i64, 1, 2,
6785 0,
6786 0,
6787 0,
6788 80, TARGET_VAL(WebAssemblyISD::WrapperREL),
6789 OPC_RecordChild0,
6790 OPC_MoveChild0,
6791 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
6792 OPC_MoveParent,
6793 OPC_SwitchType , 8, MVT::i32,
6794 OPC_CheckPatternPredicate, 14,
6795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6796 MVT::i32, 1, 2,
6797 8, MVT::i64,
6798 OPC_CheckPatternPredicate, 15,
6799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6800 MVT::i64, 1, 2,
6801 0,
6802 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6803 OPC_MoveParent,
6804 OPC_SwitchType , 7, MVT::i32,
6805 OPC_CheckPatternPredicate3,
6806 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6807 MVT::i32, 1, 2,
6808 7, MVT::i64,
6809 OPC_CheckPatternPredicate4,
6810 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6811 MVT::i64, 1, 2,
6812 0,
6813 23, TARGET_VAL(ISD::TargetExternalSymbol),
6814 OPC_MoveParent,
6815 OPC_SwitchType , 8, MVT::i32,
6816 OPC_CheckPatternPredicate, 14,
6817 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6818 MVT::i32, 1, 2,
6819 8, MVT::i64,
6820 OPC_CheckPatternPredicate, 15,
6821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6822 MVT::i64, 1, 2,
6823 0,
6824 0,
6825 41, TARGET_VAL(WebAssemblyISD::MEMSET),
6826 OPC_RecordNode,
6827 OPC_RecordChild1,
6828 OPC_MoveChild1,
6829 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6830 OPC_CheckTypeI32,
6831 OPC_MoveParent,
6832 OPC_RecordChild2,
6833 OPC_Scope, 14,
6834 OPC_CheckChild2TypeI32,
6835 OPC_RecordChild3,
6836 OPC_CheckChild3TypeI32,
6837 OPC_RecordChild4,
6838 OPC_CheckChild4TypeI32,
6839 OPC_CheckPatternPredicate, 12,
6840 OPC_EmitMergeInputChains1_0,
6841 OPC_EmitConvertToTarget1,
6842 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A32),
6843 4, 72,
6844 14,
6845 OPC_CheckChild2TypeI64,
6846 OPC_RecordChild3,
6847 OPC_CheckChild3TypeI32,
6848 OPC_RecordChild4,
6849 OPC_CheckChild4TypeI64,
6850 OPC_CheckPatternPredicate, 12,
6851 OPC_EmitMergeInputChains1_0,
6852 OPC_EmitConvertToTarget1,
6853 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A64),
6854 4, 72,
6855 0,
6856 21, TARGET_VAL(ISD::Constant),
6857 OPC_RecordNode,
6858 OPC_SwitchType , 7, MVT::i32,
6859 OPC_EmitConvertToTarget0,
6860 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6861 MVT::i32, 1, 17,
6862 7, MVT::i64,
6863 OPC_EmitConvertToTarget0,
6864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6865 MVT::i64, 1, 17,
6866 0,
6867 13, TARGET_VAL(ISD::BR),
6868 OPC_RecordNode,
6869 OPC_RecordChild1,
6870 OPC_MoveChild1,
6871 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6872 OPC_MoveParent,
6873 OPC_EmitMergeInputChains1_0,
6874 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR),
6875 1, 17,
6876 22, TARGET_VAL(WebAssemblyISD::BR_TABLE),
6877 OPC_RecordNode,
6878 OPC_RecordChild1,
6879 OPC_Scope, 8,
6880 OPC_CheckChild1TypeI32,
6881 OPC_EmitMergeInputChains1_0,
6882 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
6883 1, 17,
6884 8,
6885 OPC_CheckChild1TypeI64,
6886 OPC_EmitMergeInputChains1_0,
6887 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
6888 1, 17,
6889 0,
6890 7, TARGET_VAL(WebAssemblyISD::RETURN),
6891 OPC_RecordNode,
6892 OPC_EmitMergeInputChains1_0,
6893 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN), 0|OPFL_Chain|OPFL_Variadic0,
6894 0,
6895 6, TARGET_VAL(ISD::TRAP),
6896 OPC_RecordNode,
6897 OPC_EmitMergeInputChains1_0,
6898 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::UNREACHABLE),
6899 0,
6900 6, TARGET_VAL(ISD::DEBUGTRAP),
6901 OPC_RecordNode,
6902 OPC_EmitMergeInputChains1_0,
6903 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::DEBUG_UNREACHABLE),
6904 0,
6905 15, TARGET_VAL(ISD::CLEANUPRET),
6906 OPC_RecordNode,
6907 OPC_RecordChild1,
6908 OPC_MoveChild1,
6909 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6910 OPC_MoveParent,
6911 OPC_CheckPatternPredicate, 19,
6912 OPC_EmitMergeInputChains1_0,
6913 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CLEANUPRET),
6914 1, 17,
6915 20, TARGET_VAL(ISD::CATCHRET),
6916 OPC_RecordNode,
6917 OPC_RecordChild1,
6918 OPC_MoveChild1,
6919 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6920 OPC_MoveSibling2,
6921 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6922 OPC_RecordNode,
6923 OPC_MoveParent,
6924 OPC_CheckPatternPredicate, 19,
6925 OPC_EmitMergeInputChains1_0,
6926 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CATCHRET),
6927 2, 45,
6928 7, TARGET_VAL(ISD::TRUNCATE),
6929 OPC_RecordChild0,
6930 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
6931 MVT::i32, 1, 2,
6932 7, TARGET_VAL(ISD::SIGN_EXTEND),
6933 OPC_RecordChild0,
6934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32),
6935 MVT::i64, 1, 2,
6936 121, TARGET_VAL(ISD::FP_TO_SINT),
6937 OPC_RecordChild0,
6938 OPC_Scope, 48,
6939 OPC_CheckChild0Type, MVT::f32,
6940 OPC_SwitchType , 20, MVT::i32,
6941 OPC_Scope, 8,
6942 OPC_CheckPatternPredicate, 9,
6943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
6944 MVT::i32, 1, 2,
6945 8,
6946 OPC_CheckPatternPredicate, 10,
6947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32),
6948 MVT::i32, 1, 2,
6949 0,
6950 20, MVT::i64,
6951 OPC_Scope, 8,
6952 OPC_CheckPatternPredicate, 9,
6953 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
6954 MVT::i64, 1, 2,
6955 8,
6956 OPC_CheckPatternPredicate, 10,
6957 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32),
6958 MVT::i64, 1, 2,
6959 0,
6960 0,
6961 48,
6962 OPC_CheckChild0Type, MVT::f64,
6963 OPC_SwitchType , 20, MVT::i32,
6964 OPC_Scope, 8,
6965 OPC_CheckPatternPredicate, 9,
6966 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
6967 MVT::i32, 1, 2,
6968 8,
6969 OPC_CheckPatternPredicate, 10,
6970 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64),
6971 MVT::i32, 1, 2,
6972 0,
6973 20, MVT::i64,
6974 OPC_Scope, 8,
6975 OPC_CheckPatternPredicate, 9,
6976 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
6977 MVT::i64, 1, 2,
6978 8,
6979 OPC_CheckPatternPredicate, 10,
6980 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64),
6981 MVT::i64, 1, 2,
6982 0,
6983 0,
6984 9,
6985 OPC_CheckType, MVT::v4i32,
6986 OPC_CheckPatternPredicate0,
6987 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
6988 MVT::v4i32, 1, 2,
6989 9,
6990 OPC_CheckType, MVT::v8i16,
6991 OPC_CheckPatternPredicate6,
6992 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
6993 MVT::v8i16, 1, 2,
6994 0,
6995 121, TARGET_VAL(ISD::FP_TO_UINT),
6996 OPC_RecordChild0,
6997 OPC_Scope, 48,
6998 OPC_CheckChild0Type, MVT::f32,
6999 OPC_SwitchType , 20, MVT::i32,
7000 OPC_Scope, 8,
7001 OPC_CheckPatternPredicate, 9,
7002 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
7003 MVT::i32, 1, 2,
7004 8,
7005 OPC_CheckPatternPredicate, 10,
7006 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32),
7007 MVT::i32, 1, 2,
7008 0,
7009 20, MVT::i64,
7010 OPC_Scope, 8,
7011 OPC_CheckPatternPredicate, 9,
7012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
7013 MVT::i64, 1, 2,
7014 8,
7015 OPC_CheckPatternPredicate, 10,
7016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32),
7017 MVT::i64, 1, 2,
7018 0,
7019 0,
7020 48,
7021 OPC_CheckChild0Type, MVT::f64,
7022 OPC_SwitchType , 20, MVT::i32,
7023 OPC_Scope, 8,
7024 OPC_CheckPatternPredicate, 9,
7025 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
7026 MVT::i32, 1, 2,
7027 8,
7028 OPC_CheckPatternPredicate, 10,
7029 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64),
7030 MVT::i32, 1, 2,
7031 0,
7032 20, MVT::i64,
7033 OPC_Scope, 8,
7034 OPC_CheckPatternPredicate, 9,
7035 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
7036 MVT::i64, 1, 2,
7037 8,
7038 OPC_CheckPatternPredicate, 10,
7039 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64),
7040 MVT::i64, 1, 2,
7041 0,
7042 0,
7043 9,
7044 OPC_CheckType, MVT::v4i32,
7045 OPC_CheckPatternPredicate0,
7046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
7047 MVT::v4i32, 1, 2,
7048 9,
7049 OPC_CheckType, MVT::v8i16,
7050 OPC_CheckPatternPredicate6,
7051 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
7052 MVT::v8i16, 1, 2,
7053 0,
7054 87, TARGET_VAL(ISD::FP_TO_SINT_SAT),
7055 OPC_RecordChild0,
7056 OPC_Scope, 27,
7057 OPC_CheckChild0Type, MVT::f32,
7058 OPC_MoveChild1,
7059 OPC_Scope, 10,
7060 OPC_CheckValueType, MVT::i32,
7061 OPC_MoveParent,
7062 OPC_CheckTypeI32,
7063 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
7064 MVT::i32, 1, 2,
7065 10,
7066 OPC_CheckValueType, MVT::i64,
7067 OPC_MoveParent,
7068 OPC_CheckTypeI64,
7069 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
7070 MVT::i64, 1, 2,
7071 0,
7072 27,
7073 OPC_CheckChild0Type, MVT::f64,
7074 OPC_MoveChild1,
7075 OPC_Scope, 10,
7076 OPC_CheckValueType, MVT::i32,
7077 OPC_MoveParent,
7078 OPC_CheckTypeI32,
7079 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
7080 MVT::i32, 1, 2,
7081 10,
7082 OPC_CheckValueType, MVT::i64,
7083 OPC_MoveParent,
7084 OPC_CheckTypeI64,
7085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
7086 MVT::i64, 1, 2,
7087 0,
7088 27,
7089 OPC_MoveChild1,
7090 OPC_Scope, 11,
7091 OPC_CheckValueType, MVT::i32,
7092 OPC_MoveParent,
7093 OPC_CheckType, MVT::v4i32,
7094 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
7095 MVT::v4i32, 1, 2,
7096 11,
7097 OPC_CheckValueType, MVT::i16,
7098 OPC_MoveParent,
7099 OPC_CheckType, MVT::v8i16,
7100 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
7101 MVT::v8i16, 1, 2,
7102 0,
7103 0,
7104 87, TARGET_VAL(ISD::FP_TO_UINT_SAT),
7105 OPC_RecordChild0,
7106 OPC_Scope, 27,
7107 OPC_CheckChild0Type, MVT::f32,
7108 OPC_MoveChild1,
7109 OPC_Scope, 10,
7110 OPC_CheckValueType, MVT::i32,
7111 OPC_MoveParent,
7112 OPC_CheckTypeI32,
7113 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
7114 MVT::i32, 1, 2,
7115 10,
7116 OPC_CheckValueType, MVT::i64,
7117 OPC_MoveParent,
7118 OPC_CheckTypeI64,
7119 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
7120 MVT::i64, 1, 2,
7121 0,
7122 27,
7123 OPC_CheckChild0Type, MVT::f64,
7124 OPC_MoveChild1,
7125 OPC_Scope, 10,
7126 OPC_CheckValueType, MVT::i32,
7127 OPC_MoveParent,
7128 OPC_CheckTypeI32,
7129 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
7130 MVT::i32, 1, 2,
7131 10,
7132 OPC_CheckValueType, MVT::i64,
7133 OPC_MoveParent,
7134 OPC_CheckTypeI64,
7135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
7136 MVT::i64, 1, 2,
7137 0,
7138 27,
7139 OPC_MoveChild1,
7140 OPC_Scope, 11,
7141 OPC_CheckValueType, MVT::i32,
7142 OPC_MoveParent,
7143 OPC_CheckType, MVT::v4i32,
7144 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
7145 MVT::v4i32, 1, 2,
7146 11,
7147 OPC_CheckValueType, MVT::i16,
7148 OPC_MoveParent,
7149 OPC_CheckType, MVT::v8i16,
7150 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
7151 MVT::v8i16, 1, 2,
7152 0,
7153 0,
7154 46|128,2, TARGET_VAL(ISD::BITCAST),
7155 OPC_RecordChild0,
7156 OPC_Scope, 9,
7157 OPC_CheckChild0Type, MVT::f32,
7158 OPC_CheckTypeI32,
7159 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32),
7160 MVT::i32, 1, 2,
7161 9,
7162 OPC_CheckChild0Type, MVT::f64,
7163 OPC_CheckTypeI64,
7164 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64),
7165 MVT::i64, 1, 2,
7166 9,
7167 OPC_CheckChild0TypeI32,
7168 OPC_CheckType, MVT::f32,
7169 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32),
7170 MVT::f32, 1, 2,
7171 9,
7172 OPC_CheckChild0TypeI64,
7173 OPC_CheckType, MVT::f64,
7174 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64),
7175 MVT::f64, 1, 2,
7176 36,
7177 OPC_CheckChild0Type, MVT::v8i16,
7178 OPC_SwitchType , 3, MVT::v16i8,
7179 OPC_CompleteMatch, 1, 0,
7180
7181 3, MVT::v4i32,
7182 OPC_CompleteMatch, 1, 0,
7183
7184 3, MVT::v2i64,
7185 OPC_CompleteMatch, 1, 0,
7186
7187 3, 8|128,1,
7188 OPC_CompleteMatch, 1, 0,
7189
7190 3, 26|128,1,
7191 OPC_CompleteMatch, 1, 0,
7192
7193 3, MVT::v8f16,
7194 OPC_CompleteMatch, 1, 0,
7195
7196 0,
7197 36,
7198 OPC_CheckChild0Type, MVT::v4i32,
7199 OPC_SwitchType , 3, MVT::v16i8,
7200 OPC_CompleteMatch, 1, 0,
7201
7202 3, MVT::v8i16,
7203 OPC_CompleteMatch, 1, 0,
7204
7205 3, MVT::v2i64,
7206 OPC_CompleteMatch, 1, 0,
7207
7208 3, 8|128,1,
7209 OPC_CompleteMatch, 1, 0,
7210
7211 3, 26|128,1,
7212 OPC_CompleteMatch, 1, 0,
7213
7214 3, MVT::v8f16,
7215 OPC_CompleteMatch, 1, 0,
7216
7217 0,
7218 36,
7219 OPC_CheckChild0Type, MVT::v2i64,
7220 OPC_SwitchType , 3, MVT::v16i8,
7221 OPC_CompleteMatch, 1, 0,
7222
7223 3, MVT::v8i16,
7224 OPC_CompleteMatch, 1, 0,
7225
7226 3, MVT::v4i32,
7227 OPC_CompleteMatch, 1, 0,
7228
7229 3, 8|128,1,
7230 OPC_CompleteMatch, 1, 0,
7231
7232 3, 26|128,1,
7233 OPC_CompleteMatch, 1, 0,
7234
7235 3, MVT::v8f16,
7236 OPC_CompleteMatch, 1, 0,
7237
7238 0,
7239 36,
7240 OPC_CheckChild0Type, 8|128,1,
7241 OPC_SwitchType , 3, MVT::v16i8,
7242 OPC_CompleteMatch, 1, 0,
7243
7244 3, MVT::v8i16,
7245 OPC_CompleteMatch, 1, 0,
7246
7247 3, MVT::v4i32,
7248 OPC_CompleteMatch, 1, 0,
7249
7250 3, MVT::v2i64,
7251 OPC_CompleteMatch, 1, 0,
7252
7253 3, 26|128,1,
7254 OPC_CompleteMatch, 1, 0,
7255
7256 3, MVT::v8f16,
7257 OPC_CompleteMatch, 1, 0,
7258
7259 0,
7260 36,
7261 OPC_CheckChild0Type, 26|128,1,
7262 OPC_SwitchType , 3, MVT::v16i8,
7263 OPC_CompleteMatch, 1, 0,
7264
7265 3, MVT::v8i16,
7266 OPC_CompleteMatch, 1, 0,
7267
7268 3, MVT::v4i32,
7269 OPC_CompleteMatch, 1, 0,
7270
7271 3, MVT::v2i64,
7272 OPC_CompleteMatch, 1, 0,
7273
7274 3, 8|128,1,
7275 OPC_CompleteMatch, 1, 0,
7276
7277 3, MVT::v8f16,
7278 OPC_CompleteMatch, 1, 0,
7279
7280 0,
7281 36,
7282 OPC_CheckChild0Type, MVT::v8f16,
7283 OPC_SwitchType , 3, MVT::v16i8,
7284 OPC_CompleteMatch, 1, 0,
7285
7286 3, MVT::v8i16,
7287 OPC_CompleteMatch, 1, 0,
7288
7289 3, MVT::v4i32,
7290 OPC_CompleteMatch, 1, 0,
7291
7292 3, MVT::v2i64,
7293 OPC_CompleteMatch, 1, 0,
7294
7295 3, 8|128,1,
7296 OPC_CompleteMatch, 1, 0,
7297
7298 3, 26|128,1,
7299 OPC_CompleteMatch, 1, 0,
7300
7301 0,
7302 36,
7303 OPC_CheckChild0Type, MVT::v16i8,
7304 OPC_SwitchType , 3, MVT::v8i16,
7305 OPC_CompleteMatch, 1, 0,
7306
7307 3, MVT::v4i32,
7308 OPC_CompleteMatch, 1, 0,
7309
7310 3, MVT::v2i64,
7311 OPC_CompleteMatch, 1, 0,
7312
7313 3, 8|128,1,
7314 OPC_CompleteMatch, 1, 0,
7315
7316 3, 26|128,1,
7317 OPC_CompleteMatch, 1, 0,
7318
7319 3, MVT::v8f16,
7320 OPC_CompleteMatch, 1, 0,
7321
7322 0,
7323 0,
7324 3|128,81, TARGET_VAL(ISD::ADD),
7325 OPC_Scope, 20,
7326 OPC_RecordChild0,
7327 OPC_RecordChild1,
7328 OPC_SwitchType , 6, MVT::i32,
7329 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32),
7330 MVT::i32, 2, 16,
7331 6, MVT::i64,
7332 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64),
7333 MVT::i64, 2, 16,
7334 0,
7335 33|128,80,
7336 OPC_MoveChild0,
7337 OPC_SwitchOpcode , 96|128,70, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7338 OPC_MoveChild0,
7339 OPC_SwitchOpcode , 11|128,59, TARGET_VAL(ISD::MUL),
7340 OPC_MoveChild0,
7341 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7342 OPC_RecordChild0,
7343 OPC_Scope, 64|128,29,
7344 OPC_CheckChild0Type, MVT::v8i16,
7345 OPC_MoveSibling1,
7346 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7347 OPC_RecordChild0,
7348 OPC_CheckChild0Type, MVT::v8i16,
7349 OPC_MoveParent,
7350 OPC_CheckType, MVT::v4i32,
7351 OPC_MoveSibling1,
7352 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7353 OPC_MoveChild0,
7354 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7355 OPC_Scope, 8|128,4,
7356 OPC_CheckChild0Same, 0,
7357 OPC_MoveSibling1,
7358 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7359 OPC_CheckChild0Same, 1,
7360 OPC_MoveParent,
7361 OPC_CheckType, MVT::v4i32,
7362 OPC_MoveParent,
7363 OPC_CheckChild2Integer, 0,
7364 OPC_CheckChild2TypeI32,
7365 OPC_CheckChild3Integer, 1,
7366 OPC_CheckChild3TypeI32,
7367 OPC_CheckChild4Integer, 2,
7368 OPC_CheckChild4TypeI32,
7369 OPC_MoveChild5,
7370 OPC_CheckInteger, 3,
7371 OPC_CheckTypeI32,
7372 OPC_MoveSibling6,
7373 OPC_CheckInteger, 8,
7374 OPC_CheckTypeI32,
7375 OPC_MoveSibling7,
7376 OPC_CheckInteger, 9,
7377 OPC_CheckTypeI32,
7378 OPC_MoveSibling, 8,
7379 OPC_CheckInteger, 10,
7380 OPC_CheckTypeI32,
7381 OPC_MoveSibling, 9,
7382 OPC_CheckInteger, 11,
7383 OPC_CheckTypeI32,
7384 OPC_MoveSibling, 10,
7385 OPC_CheckInteger, 16,
7386 OPC_CheckTypeI32,
7387 OPC_MoveSibling, 11,
7388 OPC_CheckInteger, 17,
7389 OPC_CheckTypeI32,
7390 OPC_MoveSibling, 12,
7391 OPC_CheckInteger, 18,
7392 OPC_CheckTypeI32,
7393 OPC_MoveSibling, 13,
7394 OPC_CheckInteger, 19,
7395 OPC_CheckTypeI32,
7396 OPC_MoveSibling, 14,
7397 OPC_CheckInteger, 24,
7398 OPC_CheckTypeI32,
7399 OPC_MoveSibling, 15,
7400 OPC_CheckInteger, 25,
7401 OPC_CheckTypeI32,
7402 OPC_MoveSibling, 16,
7403 OPC_CheckInteger, 26,
7404 OPC_CheckTypeI32,
7405 OPC_MoveSibling, 17,
7406 OPC_CheckInteger, 27,
7407 OPC_CheckTypeI32,
7408 OPC_MoveParent,
7409 OPC_MoveSibling1,
7410 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7411 OPC_MoveChild0,
7412 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7413 OPC_MoveChild0,
7414 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7415 OPC_Scope, 81|128,1,
7416 OPC_CheckChild0Same, 0,
7417 OPC_MoveSibling1,
7418 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7419 OPC_CheckChild0Same, 1,
7420 OPC_MoveParent,
7421 OPC_CheckType, MVT::v4i32,
7422 OPC_MoveSibling1,
7423 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7424 OPC_MoveChild0,
7425 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7426 OPC_Scope, 93,
7427 OPC_CheckChild0Same, 0,
7428 OPC_MoveSibling1,
7429 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7430 OPC_CheckChild0Same, 1,
7431 OPC_MoveParent,
7432 OPC_CheckType, MVT::v4i32,
7433 OPC_MoveParent,
7434 OPC_CheckChild2Integer, 4,
7435 OPC_CheckChild2TypeI32,
7436 OPC_CheckChild3Integer, 5,
7437 OPC_CheckChild3TypeI32,
7438 OPC_CheckChild4Integer, 6,
7439 OPC_CheckChild4TypeI32,
7440 OPC_MoveChild5,
7441 OPC_CheckInteger, 7,
7442 OPC_CheckTypeI32,
7443 OPC_MoveSibling6,
7444 OPC_CheckInteger, 12,
7445 OPC_CheckTypeI32,
7446 OPC_MoveSibling7,
7447 OPC_CheckInteger, 13,
7448 OPC_CheckTypeI32,
7449 OPC_MoveSibling, 8,
7450 OPC_CheckInteger, 14,
7451 OPC_CheckTypeI32,
7452 OPC_MoveSibling, 9,
7453 OPC_CheckInteger, 15,
7454 OPC_CheckTypeI32,
7455 OPC_MoveSibling, 10,
7456 OPC_CheckInteger, 20,
7457 OPC_CheckTypeI32,
7458 OPC_MoveSibling, 11,
7459 OPC_CheckInteger, 21,
7460 OPC_CheckTypeI32,
7461 OPC_MoveSibling, 12,
7462 OPC_CheckInteger, 22,
7463 OPC_CheckTypeI32,
7464 OPC_MoveSibling, 13,
7465 OPC_CheckInteger, 23,
7466 OPC_CheckTypeI32,
7467 OPC_MoveSibling, 14,
7468 OPC_CheckInteger, 28,
7469 OPC_CheckTypeI32,
7470 OPC_MoveSibling, 15,
7471 OPC_CheckInteger, 29,
7472 OPC_CheckTypeI32,
7473 OPC_MoveSibling, 16,
7474 OPC_CheckInteger, 30,
7475 OPC_CheckTypeI32,
7476 OPC_MoveSibling, 17,
7477 OPC_CheckInteger, 31,
7478 OPC_CheckTypeI32,
7479 OPC_MoveParent,
7480 OPC_MoveParent,
7481 OPC_CheckType, MVT::v4i32,
7482 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7483 MVT::v4i32, 2, 16,
7484 93,
7485 OPC_CheckChild0Same, 1,
7486 OPC_MoveSibling1,
7487 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7488 OPC_CheckChild0Same, 0,
7489 OPC_MoveParent,
7490 OPC_CheckType, MVT::v4i32,
7491 OPC_MoveParent,
7492 OPC_CheckChild2Integer, 4,
7493 OPC_CheckChild2TypeI32,
7494 OPC_CheckChild3Integer, 5,
7495 OPC_CheckChild3TypeI32,
7496 OPC_CheckChild4Integer, 6,
7497 OPC_CheckChild4TypeI32,
7498 OPC_MoveChild5,
7499 OPC_CheckInteger, 7,
7500 OPC_CheckTypeI32,
7501 OPC_MoveSibling6,
7502 OPC_CheckInteger, 12,
7503 OPC_CheckTypeI32,
7504 OPC_MoveSibling7,
7505 OPC_CheckInteger, 13,
7506 OPC_CheckTypeI32,
7507 OPC_MoveSibling, 8,
7508 OPC_CheckInteger, 14,
7509 OPC_CheckTypeI32,
7510 OPC_MoveSibling, 9,
7511 OPC_CheckInteger, 15,
7512 OPC_CheckTypeI32,
7513 OPC_MoveSibling, 10,
7514 OPC_CheckInteger, 20,
7515 OPC_CheckTypeI32,
7516 OPC_MoveSibling, 11,
7517 OPC_CheckInteger, 21,
7518 OPC_CheckTypeI32,
7519 OPC_MoveSibling, 12,
7520 OPC_CheckInteger, 22,
7521 OPC_CheckTypeI32,
7522 OPC_MoveSibling, 13,
7523 OPC_CheckInteger, 23,
7524 OPC_CheckTypeI32,
7525 OPC_MoveSibling, 14,
7526 OPC_CheckInteger, 28,
7527 OPC_CheckTypeI32,
7528 OPC_MoveSibling, 15,
7529 OPC_CheckInteger, 29,
7530 OPC_CheckTypeI32,
7531 OPC_MoveSibling, 16,
7532 OPC_CheckInteger, 30,
7533 OPC_CheckTypeI32,
7534 OPC_MoveSibling, 17,
7535 OPC_CheckInteger, 31,
7536 OPC_CheckTypeI32,
7537 OPC_MoveParent,
7538 OPC_MoveParent,
7539 OPC_CheckType, MVT::v4i32,
7540 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7541 MVT::v4i32, 2, 16,
7542 0,
7543 81|128,1,
7544 OPC_CheckChild0Same, 1,
7545 OPC_MoveSibling1,
7546 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7547 OPC_CheckChild0Same, 0,
7548 OPC_MoveParent,
7549 OPC_CheckType, MVT::v4i32,
7550 OPC_MoveSibling1,
7551 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7552 OPC_MoveChild0,
7553 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7554 OPC_Scope, 93,
7555 OPC_CheckChild0Same, 0,
7556 OPC_MoveSibling1,
7557 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7558 OPC_CheckChild0Same, 1,
7559 OPC_MoveParent,
7560 OPC_CheckType, MVT::v4i32,
7561 OPC_MoveParent,
7562 OPC_CheckChild2Integer, 4,
7563 OPC_CheckChild2TypeI32,
7564 OPC_CheckChild3Integer, 5,
7565 OPC_CheckChild3TypeI32,
7566 OPC_CheckChild4Integer, 6,
7567 OPC_CheckChild4TypeI32,
7568 OPC_MoveChild5,
7569 OPC_CheckInteger, 7,
7570 OPC_CheckTypeI32,
7571 OPC_MoveSibling6,
7572 OPC_CheckInteger, 12,
7573 OPC_CheckTypeI32,
7574 OPC_MoveSibling7,
7575 OPC_CheckInteger, 13,
7576 OPC_CheckTypeI32,
7577 OPC_MoveSibling, 8,
7578 OPC_CheckInteger, 14,
7579 OPC_CheckTypeI32,
7580 OPC_MoveSibling, 9,
7581 OPC_CheckInteger, 15,
7582 OPC_CheckTypeI32,
7583 OPC_MoveSibling, 10,
7584 OPC_CheckInteger, 20,
7585 OPC_CheckTypeI32,
7586 OPC_MoveSibling, 11,
7587 OPC_CheckInteger, 21,
7588 OPC_CheckTypeI32,
7589 OPC_MoveSibling, 12,
7590 OPC_CheckInteger, 22,
7591 OPC_CheckTypeI32,
7592 OPC_MoveSibling, 13,
7593 OPC_CheckInteger, 23,
7594 OPC_CheckTypeI32,
7595 OPC_MoveSibling, 14,
7596 OPC_CheckInteger, 28,
7597 OPC_CheckTypeI32,
7598 OPC_MoveSibling, 15,
7599 OPC_CheckInteger, 29,
7600 OPC_CheckTypeI32,
7601 OPC_MoveSibling, 16,
7602 OPC_CheckInteger, 30,
7603 OPC_CheckTypeI32,
7604 OPC_MoveSibling, 17,
7605 OPC_CheckInteger, 31,
7606 OPC_CheckTypeI32,
7607 OPC_MoveParent,
7608 OPC_MoveParent,
7609 OPC_CheckType, MVT::v4i32,
7610 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7611 MVT::v4i32, 2, 16,
7612 93,
7613 OPC_CheckChild0Same, 1,
7614 OPC_MoveSibling1,
7615 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7616 OPC_CheckChild0Same, 0,
7617 OPC_MoveParent,
7618 OPC_CheckType, MVT::v4i32,
7619 OPC_MoveParent,
7620 OPC_CheckChild2Integer, 4,
7621 OPC_CheckChild2TypeI32,
7622 OPC_CheckChild3Integer, 5,
7623 OPC_CheckChild3TypeI32,
7624 OPC_CheckChild4Integer, 6,
7625 OPC_CheckChild4TypeI32,
7626 OPC_MoveChild5,
7627 OPC_CheckInteger, 7,
7628 OPC_CheckTypeI32,
7629 OPC_MoveSibling6,
7630 OPC_CheckInteger, 12,
7631 OPC_CheckTypeI32,
7632 OPC_MoveSibling7,
7633 OPC_CheckInteger, 13,
7634 OPC_CheckTypeI32,
7635 OPC_MoveSibling, 8,
7636 OPC_CheckInteger, 14,
7637 OPC_CheckTypeI32,
7638 OPC_MoveSibling, 9,
7639 OPC_CheckInteger, 15,
7640 OPC_CheckTypeI32,
7641 OPC_MoveSibling, 10,
7642 OPC_CheckInteger, 20,
7643 OPC_CheckTypeI32,
7644 OPC_MoveSibling, 11,
7645 OPC_CheckInteger, 21,
7646 OPC_CheckTypeI32,
7647 OPC_MoveSibling, 12,
7648 OPC_CheckInteger, 22,
7649 OPC_CheckTypeI32,
7650 OPC_MoveSibling, 13,
7651 OPC_CheckInteger, 23,
7652 OPC_CheckTypeI32,
7653 OPC_MoveSibling, 14,
7654 OPC_CheckInteger, 28,
7655 OPC_CheckTypeI32,
7656 OPC_MoveSibling, 15,
7657 OPC_CheckInteger, 29,
7658 OPC_CheckTypeI32,
7659 OPC_MoveSibling, 16,
7660 OPC_CheckInteger, 30,
7661 OPC_CheckTypeI32,
7662 OPC_MoveSibling, 17,
7663 OPC_CheckInteger, 31,
7664 OPC_CheckTypeI32,
7665 OPC_MoveParent,
7666 OPC_MoveParent,
7667 OPC_CheckType, MVT::v4i32,
7668 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7669 MVT::v4i32, 2, 16,
7670 0,
7671 0,
7672 67|128,6,
7673 OPC_CheckChild0Same, 1,
7674 OPC_MoveSibling1,
7675 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7676 OPC_CheckChild0Same, 0,
7677 OPC_MoveParent,
7678 OPC_CheckType, MVT::v4i32,
7679 OPC_MoveParent,
7680 OPC_CheckChild2Integer, 0,
7681 OPC_CheckChild2TypeI32,
7682 OPC_CheckChild3Integer, 1,
7683 OPC_CheckChild3TypeI32,
7684 OPC_CheckChild4Integer, 2,
7685 OPC_CheckChild4TypeI32,
7686 OPC_MoveChild5,
7687 OPC_CheckInteger, 3,
7688 OPC_CheckTypeI32,
7689 OPC_MoveSibling6,
7690 OPC_CheckInteger, 8,
7691 OPC_CheckTypeI32,
7692 OPC_MoveSibling7,
7693 OPC_CheckInteger, 9,
7694 OPC_CheckTypeI32,
7695 OPC_MoveSibling, 8,
7696 OPC_CheckInteger, 10,
7697 OPC_CheckTypeI32,
7698 OPC_MoveSibling, 9,
7699 OPC_CheckInteger, 11,
7700 OPC_CheckTypeI32,
7701 OPC_MoveSibling, 10,
7702 OPC_CheckInteger, 16,
7703 OPC_CheckTypeI32,
7704 OPC_MoveSibling, 11,
7705 OPC_CheckInteger, 17,
7706 OPC_CheckTypeI32,
7707 OPC_MoveSibling, 12,
7708 OPC_CheckInteger, 18,
7709 OPC_CheckTypeI32,
7710 OPC_MoveSibling, 13,
7711 OPC_CheckInteger, 19,
7712 OPC_CheckTypeI32,
7713 OPC_MoveSibling, 14,
7714 OPC_CheckInteger, 24,
7715 OPC_CheckTypeI32,
7716 OPC_MoveSibling, 15,
7717 OPC_CheckInteger, 25,
7718 OPC_CheckTypeI32,
7719 OPC_MoveSibling, 16,
7720 OPC_CheckInteger, 26,
7721 OPC_CheckTypeI32,
7722 OPC_MoveSibling, 17,
7723 OPC_CheckInteger, 27,
7724 OPC_CheckTypeI32,
7725 OPC_MoveParent,
7726 OPC_MoveSibling1,
7727 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7728 OPC_MoveChild0,
7729 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7730 OPC_MoveChild0,
7731 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7732 OPC_Scope, 81|128,1,
7733 OPC_CheckChild0Same, 0,
7734 OPC_MoveSibling1,
7735 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7736 OPC_CheckChild0Same, 1,
7737 OPC_MoveParent,
7738 OPC_CheckType, MVT::v4i32,
7739 OPC_MoveSibling1,
7740 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7741 OPC_MoveChild0,
7742 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7743 OPC_Scope, 93,
7744 OPC_CheckChild0Same, 0,
7745 OPC_MoveSibling1,
7746 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7747 OPC_CheckChild0Same, 1,
7748 OPC_MoveParent,
7749 OPC_CheckType, MVT::v4i32,
7750 OPC_MoveParent,
7751 OPC_CheckChild2Integer, 4,
7752 OPC_CheckChild2TypeI32,
7753 OPC_CheckChild3Integer, 5,
7754 OPC_CheckChild3TypeI32,
7755 OPC_CheckChild4Integer, 6,
7756 OPC_CheckChild4TypeI32,
7757 OPC_MoveChild5,
7758 OPC_CheckInteger, 7,
7759 OPC_CheckTypeI32,
7760 OPC_MoveSibling6,
7761 OPC_CheckInteger, 12,
7762 OPC_CheckTypeI32,
7763 OPC_MoveSibling7,
7764 OPC_CheckInteger, 13,
7765 OPC_CheckTypeI32,
7766 OPC_MoveSibling, 8,
7767 OPC_CheckInteger, 14,
7768 OPC_CheckTypeI32,
7769 OPC_MoveSibling, 9,
7770 OPC_CheckInteger, 15,
7771 OPC_CheckTypeI32,
7772 OPC_MoveSibling, 10,
7773 OPC_CheckInteger, 20,
7774 OPC_CheckTypeI32,
7775 OPC_MoveSibling, 11,
7776 OPC_CheckInteger, 21,
7777 OPC_CheckTypeI32,
7778 OPC_MoveSibling, 12,
7779 OPC_CheckInteger, 22,
7780 OPC_CheckTypeI32,
7781 OPC_MoveSibling, 13,
7782 OPC_CheckInteger, 23,
7783 OPC_CheckTypeI32,
7784 OPC_MoveSibling, 14,
7785 OPC_CheckInteger, 28,
7786 OPC_CheckTypeI32,
7787 OPC_MoveSibling, 15,
7788 OPC_CheckInteger, 29,
7789 OPC_CheckTypeI32,
7790 OPC_MoveSibling, 16,
7791 OPC_CheckInteger, 30,
7792 OPC_CheckTypeI32,
7793 OPC_MoveSibling, 17,
7794 OPC_CheckInteger, 31,
7795 OPC_CheckTypeI32,
7796 OPC_MoveParent,
7797 OPC_MoveParent,
7798 OPC_CheckType, MVT::v4i32,
7799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7800 MVT::v4i32, 2, 16,
7801 93,
7802 OPC_CheckChild0Same, 1,
7803 OPC_MoveSibling1,
7804 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7805 OPC_CheckChild0Same, 0,
7806 OPC_MoveParent,
7807 OPC_CheckType, MVT::v4i32,
7808 OPC_MoveParent,
7809 OPC_CheckChild2Integer, 4,
7810 OPC_CheckChild2TypeI32,
7811 OPC_CheckChild3Integer, 5,
7812 OPC_CheckChild3TypeI32,
7813 OPC_CheckChild4Integer, 6,
7814 OPC_CheckChild4TypeI32,
7815 OPC_MoveChild5,
7816 OPC_CheckInteger, 7,
7817 OPC_CheckTypeI32,
7818 OPC_MoveSibling6,
7819 OPC_CheckInteger, 12,
7820 OPC_CheckTypeI32,
7821 OPC_MoveSibling7,
7822 OPC_CheckInteger, 13,
7823 OPC_CheckTypeI32,
7824 OPC_MoveSibling, 8,
7825 OPC_CheckInteger, 14,
7826 OPC_CheckTypeI32,
7827 OPC_MoveSibling, 9,
7828 OPC_CheckInteger, 15,
7829 OPC_CheckTypeI32,
7830 OPC_MoveSibling, 10,
7831 OPC_CheckInteger, 20,
7832 OPC_CheckTypeI32,
7833 OPC_MoveSibling, 11,
7834 OPC_CheckInteger, 21,
7835 OPC_CheckTypeI32,
7836 OPC_MoveSibling, 12,
7837 OPC_CheckInteger, 22,
7838 OPC_CheckTypeI32,
7839 OPC_MoveSibling, 13,
7840 OPC_CheckInteger, 23,
7841 OPC_CheckTypeI32,
7842 OPC_MoveSibling, 14,
7843 OPC_CheckInteger, 28,
7844 OPC_CheckTypeI32,
7845 OPC_MoveSibling, 15,
7846 OPC_CheckInteger, 29,
7847 OPC_CheckTypeI32,
7848 OPC_MoveSibling, 16,
7849 OPC_CheckInteger, 30,
7850 OPC_CheckTypeI32,
7851 OPC_MoveSibling, 17,
7852 OPC_CheckInteger, 31,
7853 OPC_CheckTypeI32,
7854 OPC_MoveParent,
7855 OPC_MoveParent,
7856 OPC_CheckType, MVT::v4i32,
7857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7858 MVT::v4i32, 2, 16,
7859 0,
7860 57|128,2,
7861 OPC_CheckChild0Same, 1,
7862 OPC_MoveSibling1,
7863 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7864 OPC_CheckChild0Same, 0,
7865 OPC_MoveParent,
7866 OPC_CheckType, MVT::v4i32,
7867 OPC_MoveSibling1,
7868 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7869 OPC_MoveChild0,
7870 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7871 OPC_Scope, 93,
7872 OPC_CheckChild0Same, 0,
7873 OPC_MoveSibling1,
7874 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7875 OPC_CheckChild0Same, 1,
7876 OPC_MoveParent,
7877 OPC_CheckType, MVT::v4i32,
7878 OPC_MoveParent,
7879 OPC_CheckChild2Integer, 4,
7880 OPC_CheckChild2TypeI32,
7881 OPC_CheckChild3Integer, 5,
7882 OPC_CheckChild3TypeI32,
7883 OPC_CheckChild4Integer, 6,
7884 OPC_CheckChild4TypeI32,
7885 OPC_MoveChild5,
7886 OPC_CheckInteger, 7,
7887 OPC_CheckTypeI32,
7888 OPC_MoveSibling6,
7889 OPC_CheckInteger, 12,
7890 OPC_CheckTypeI32,
7891 OPC_MoveSibling7,
7892 OPC_CheckInteger, 13,
7893 OPC_CheckTypeI32,
7894 OPC_MoveSibling, 8,
7895 OPC_CheckInteger, 14,
7896 OPC_CheckTypeI32,
7897 OPC_MoveSibling, 9,
7898 OPC_CheckInteger, 15,
7899 OPC_CheckTypeI32,
7900 OPC_MoveSibling, 10,
7901 OPC_CheckInteger, 20,
7902 OPC_CheckTypeI32,
7903 OPC_MoveSibling, 11,
7904 OPC_CheckInteger, 21,
7905 OPC_CheckTypeI32,
7906 OPC_MoveSibling, 12,
7907 OPC_CheckInteger, 22,
7908 OPC_CheckTypeI32,
7909 OPC_MoveSibling, 13,
7910 OPC_CheckInteger, 23,
7911 OPC_CheckTypeI32,
7912 OPC_MoveSibling, 14,
7913 OPC_CheckInteger, 28,
7914 OPC_CheckTypeI32,
7915 OPC_MoveSibling, 15,
7916 OPC_CheckInteger, 29,
7917 OPC_CheckTypeI32,
7918 OPC_MoveSibling, 16,
7919 OPC_CheckInteger, 30,
7920 OPC_CheckTypeI32,
7921 OPC_MoveSibling, 17,
7922 OPC_CheckInteger, 31,
7923 OPC_CheckTypeI32,
7924 OPC_MoveParent,
7925 OPC_MoveParent,
7926 OPC_CheckType, MVT::v4i32,
7927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7928 MVT::v4i32, 2, 16,
7929 103,
7930 OPC_CheckChild0Same, 1,
7931 OPC_MoveSibling1,
7932 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7933 OPC_CheckChild0Same, 0,
7934 OPC_MoveParent,
7935 OPC_CheckType, MVT::v4i32,
7936 OPC_MoveParent,
7937 OPC_CheckChild2Integer, 4,
7938 OPC_CheckChild2TypeI32,
7939 OPC_CheckChild3Integer, 5,
7940 OPC_CheckChild3TypeI32,
7941 OPC_CheckChild4Integer, 6,
7942 OPC_CheckChild4TypeI32,
7943 OPC_MoveChild5,
7944 OPC_CheckInteger, 7,
7945 OPC_CheckTypeI32,
7946 OPC_MoveSibling6,
7947 OPC_CheckInteger, 12,
7948 OPC_CheckTypeI32,
7949 OPC_MoveSibling7,
7950 OPC_CheckInteger, 13,
7951 OPC_CheckTypeI32,
7952 OPC_MoveSibling, 8,
7953 OPC_CheckInteger, 14,
7954 OPC_CheckTypeI32,
7955 OPC_MoveSibling, 9,
7956 OPC_CheckInteger, 15,
7957 OPC_CheckTypeI32,
7958 OPC_MoveSibling, 10,
7959 OPC_CheckInteger, 20,
7960 OPC_CheckTypeI32,
7961 OPC_MoveSibling, 11,
7962 OPC_CheckInteger, 21,
7963 OPC_CheckTypeI32,
7964 OPC_MoveSibling, 12,
7965 OPC_CheckInteger, 22,
7966 OPC_CheckTypeI32,
7967 OPC_MoveSibling, 13,
7968 OPC_CheckInteger, 23,
7969 OPC_CheckTypeI32,
7970 OPC_MoveSibling, 14,
7971 OPC_CheckInteger, 28,
7972 OPC_CheckTypeI32,
7973 OPC_MoveSibling, 15,
7974 OPC_CheckInteger, 29,
7975 OPC_CheckTypeI32,
7976 OPC_MoveSibling, 16,
7977 OPC_CheckInteger, 30,
7978 OPC_CheckTypeI32,
7979 OPC_MoveSibling, 17,
7980 OPC_CheckInteger, 31,
7981 OPC_CheckTypeI32,
7982 OPC_MoveParent,
7983 OPC_MoveParent,
7984 OPC_CheckType, MVT::v4i32,
7985 OPC_Scope, 6,
7986 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7987 MVT::v4i32, 2, 16,
7988 6,
7989 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7990 MVT::v4i32, 2, 1,
7991 0,
7992 93,
7993 OPC_CheckChild0Same, 0,
7994 OPC_MoveSibling1,
7995 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7996 OPC_CheckChild0Same, 1,
7997 OPC_MoveParent,
7998 OPC_CheckType, MVT::v4i32,
7999 OPC_MoveParent,
8000 OPC_CheckChild2Integer, 4,
8001 OPC_CheckChild2TypeI32,
8002 OPC_CheckChild3Integer, 5,
8003 OPC_CheckChild3TypeI32,
8004 OPC_CheckChild4Integer, 6,
8005 OPC_CheckChild4TypeI32,
8006 OPC_MoveChild5,
8007 OPC_CheckInteger, 7,
8008 OPC_CheckTypeI32,
8009 OPC_MoveSibling6,
8010 OPC_CheckInteger, 12,
8011 OPC_CheckTypeI32,
8012 OPC_MoveSibling7,
8013 OPC_CheckInteger, 13,
8014 OPC_CheckTypeI32,
8015 OPC_MoveSibling, 8,
8016 OPC_CheckInteger, 14,
8017 OPC_CheckTypeI32,
8018 OPC_MoveSibling, 9,
8019 OPC_CheckInteger, 15,
8020 OPC_CheckTypeI32,
8021 OPC_MoveSibling, 10,
8022 OPC_CheckInteger, 20,
8023 OPC_CheckTypeI32,
8024 OPC_MoveSibling, 11,
8025 OPC_CheckInteger, 21,
8026 OPC_CheckTypeI32,
8027 OPC_MoveSibling, 12,
8028 OPC_CheckInteger, 22,
8029 OPC_CheckTypeI32,
8030 OPC_MoveSibling, 13,
8031 OPC_CheckInteger, 23,
8032 OPC_CheckTypeI32,
8033 OPC_MoveSibling, 14,
8034 OPC_CheckInteger, 28,
8035 OPC_CheckTypeI32,
8036 OPC_MoveSibling, 15,
8037 OPC_CheckInteger, 29,
8038 OPC_CheckTypeI32,
8039 OPC_MoveSibling, 16,
8040 OPC_CheckInteger, 30,
8041 OPC_CheckTypeI32,
8042 OPC_MoveSibling, 17,
8043 OPC_CheckInteger, 31,
8044 OPC_CheckTypeI32,
8045 OPC_MoveParent,
8046 OPC_MoveParent,
8047 OPC_CheckType, MVT::v4i32,
8048 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8049 MVT::v4i32, 2, 1,
8050 0,
8051 81|128,1,
8052 OPC_CheckChild0Same, 0,
8053 OPC_MoveSibling1,
8054 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8055 OPC_CheckChild0Same, 1,
8056 OPC_MoveParent,
8057 OPC_CheckType, MVT::v4i32,
8058 OPC_MoveSibling1,
8059 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8060 OPC_MoveChild0,
8061 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8062 OPC_Scope, 93,
8063 OPC_CheckChild0Same, 1,
8064 OPC_MoveSibling1,
8065 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8066 OPC_CheckChild0Same, 0,
8067 OPC_MoveParent,
8068 OPC_CheckType, MVT::v4i32,
8069 OPC_MoveParent,
8070 OPC_CheckChild2Integer, 4,
8071 OPC_CheckChild2TypeI32,
8072 OPC_CheckChild3Integer, 5,
8073 OPC_CheckChild3TypeI32,
8074 OPC_CheckChild4Integer, 6,
8075 OPC_CheckChild4TypeI32,
8076 OPC_MoveChild5,
8077 OPC_CheckInteger, 7,
8078 OPC_CheckTypeI32,
8079 OPC_MoveSibling6,
8080 OPC_CheckInteger, 12,
8081 OPC_CheckTypeI32,
8082 OPC_MoveSibling7,
8083 OPC_CheckInteger, 13,
8084 OPC_CheckTypeI32,
8085 OPC_MoveSibling, 8,
8086 OPC_CheckInteger, 14,
8087 OPC_CheckTypeI32,
8088 OPC_MoveSibling, 9,
8089 OPC_CheckInteger, 15,
8090 OPC_CheckTypeI32,
8091 OPC_MoveSibling, 10,
8092 OPC_CheckInteger, 20,
8093 OPC_CheckTypeI32,
8094 OPC_MoveSibling, 11,
8095 OPC_CheckInteger, 21,
8096 OPC_CheckTypeI32,
8097 OPC_MoveSibling, 12,
8098 OPC_CheckInteger, 22,
8099 OPC_CheckTypeI32,
8100 OPC_MoveSibling, 13,
8101 OPC_CheckInteger, 23,
8102 OPC_CheckTypeI32,
8103 OPC_MoveSibling, 14,
8104 OPC_CheckInteger, 28,
8105 OPC_CheckTypeI32,
8106 OPC_MoveSibling, 15,
8107 OPC_CheckInteger, 29,
8108 OPC_CheckTypeI32,
8109 OPC_MoveSibling, 16,
8110 OPC_CheckInteger, 30,
8111 OPC_CheckTypeI32,
8112 OPC_MoveSibling, 17,
8113 OPC_CheckInteger, 31,
8114 OPC_CheckTypeI32,
8115 OPC_MoveParent,
8116 OPC_MoveParent,
8117 OPC_CheckType, MVT::v4i32,
8118 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8119 MVT::v4i32, 2, 1,
8120 93,
8121 OPC_CheckChild0Same, 0,
8122 OPC_MoveSibling1,
8123 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8124 OPC_CheckChild0Same, 1,
8125 OPC_MoveParent,
8126 OPC_CheckType, MVT::v4i32,
8127 OPC_MoveParent,
8128 OPC_CheckChild2Integer, 4,
8129 OPC_CheckChild2TypeI32,
8130 OPC_CheckChild3Integer, 5,
8131 OPC_CheckChild3TypeI32,
8132 OPC_CheckChild4Integer, 6,
8133 OPC_CheckChild4TypeI32,
8134 OPC_MoveChild5,
8135 OPC_CheckInteger, 7,
8136 OPC_CheckTypeI32,
8137 OPC_MoveSibling6,
8138 OPC_CheckInteger, 12,
8139 OPC_CheckTypeI32,
8140 OPC_MoveSibling7,
8141 OPC_CheckInteger, 13,
8142 OPC_CheckTypeI32,
8143 OPC_MoveSibling, 8,
8144 OPC_CheckInteger, 14,
8145 OPC_CheckTypeI32,
8146 OPC_MoveSibling, 9,
8147 OPC_CheckInteger, 15,
8148 OPC_CheckTypeI32,
8149 OPC_MoveSibling, 10,
8150 OPC_CheckInteger, 20,
8151 OPC_CheckTypeI32,
8152 OPC_MoveSibling, 11,
8153 OPC_CheckInteger, 21,
8154 OPC_CheckTypeI32,
8155 OPC_MoveSibling, 12,
8156 OPC_CheckInteger, 22,
8157 OPC_CheckTypeI32,
8158 OPC_MoveSibling, 13,
8159 OPC_CheckInteger, 23,
8160 OPC_CheckTypeI32,
8161 OPC_MoveSibling, 14,
8162 OPC_CheckInteger, 28,
8163 OPC_CheckTypeI32,
8164 OPC_MoveSibling, 15,
8165 OPC_CheckInteger, 29,
8166 OPC_CheckTypeI32,
8167 OPC_MoveSibling, 16,
8168 OPC_CheckInteger, 30,
8169 OPC_CheckTypeI32,
8170 OPC_MoveSibling, 17,
8171 OPC_CheckInteger, 31,
8172 OPC_CheckTypeI32,
8173 OPC_MoveParent,
8174 OPC_MoveParent,
8175 OPC_CheckType, MVT::v4i32,
8176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8177 MVT::v4i32, 2, 1,
8178 0,
8179 0,
8180 10|128,8,
8181 OPC_CheckChild0Same, 0,
8182 OPC_MoveSibling1,
8183 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8184 OPC_CheckChild0Same, 1,
8185 OPC_MoveParent,
8186 OPC_CheckType, MVT::v4i32,
8187 OPC_MoveParent,
8188 OPC_Scope, 124|128,3,
8189 OPC_CheckChild2Integer, 0,
8190 OPC_CheckChild2TypeI32,
8191 OPC_CheckChild3Integer, 1,
8192 OPC_CheckChild3TypeI32,
8193 OPC_CheckChild4Integer, 2,
8194 OPC_CheckChild4TypeI32,
8195 OPC_MoveChild5,
8196 OPC_CheckInteger, 3,
8197 OPC_CheckTypeI32,
8198 OPC_MoveSibling6,
8199 OPC_CheckInteger, 8,
8200 OPC_CheckTypeI32,
8201 OPC_MoveSibling7,
8202 OPC_CheckInteger, 9,
8203 OPC_CheckTypeI32,
8204 OPC_MoveSibling, 8,
8205 OPC_CheckInteger, 10,
8206 OPC_CheckTypeI32,
8207 OPC_MoveSibling, 9,
8208 OPC_CheckInteger, 11,
8209 OPC_CheckTypeI32,
8210 OPC_MoveSibling, 10,
8211 OPC_CheckInteger, 16,
8212 OPC_CheckTypeI32,
8213 OPC_MoveSibling, 11,
8214 OPC_CheckInteger, 17,
8215 OPC_CheckTypeI32,
8216 OPC_MoveSibling, 12,
8217 OPC_CheckInteger, 18,
8218 OPC_CheckTypeI32,
8219 OPC_MoveSibling, 13,
8220 OPC_CheckInteger, 19,
8221 OPC_CheckTypeI32,
8222 OPC_MoveSibling, 14,
8223 OPC_CheckInteger, 24,
8224 OPC_CheckTypeI32,
8225 OPC_MoveSibling, 15,
8226 OPC_CheckInteger, 25,
8227 OPC_CheckTypeI32,
8228 OPC_MoveSibling, 16,
8229 OPC_CheckInteger, 26,
8230 OPC_CheckTypeI32,
8231 OPC_MoveSibling, 17,
8232 OPC_CheckInteger, 27,
8233 OPC_CheckTypeI32,
8234 OPC_MoveParent,
8235 OPC_MoveSibling1,
8236 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
8237 OPC_MoveChild0,
8238 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8239 OPC_MoveChild0,
8240 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8241 OPC_Scope, 81|128,1,
8242 OPC_CheckChild0Same, 1,
8243 OPC_MoveSibling1,
8244 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8245 OPC_CheckChild0Same, 0,
8246 OPC_MoveParent,
8247 OPC_CheckType, MVT::v4i32,
8248 OPC_MoveSibling1,
8249 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8250 OPC_MoveChild0,
8251 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8252 OPC_Scope, 93,
8253 OPC_CheckChild0Same, 1,
8254 OPC_MoveSibling1,
8255 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8256 OPC_CheckChild0Same, 0,
8257 OPC_MoveParent,
8258 OPC_CheckType, MVT::v4i32,
8259 OPC_MoveParent,
8260 OPC_CheckChild2Integer, 4,
8261 OPC_CheckChild2TypeI32,
8262 OPC_CheckChild3Integer, 5,
8263 OPC_CheckChild3TypeI32,
8264 OPC_CheckChild4Integer, 6,
8265 OPC_CheckChild4TypeI32,
8266 OPC_MoveChild5,
8267 OPC_CheckInteger, 7,
8268 OPC_CheckTypeI32,
8269 OPC_MoveSibling6,
8270 OPC_CheckInteger, 12,
8271 OPC_CheckTypeI32,
8272 OPC_MoveSibling7,
8273 OPC_CheckInteger, 13,
8274 OPC_CheckTypeI32,
8275 OPC_MoveSibling, 8,
8276 OPC_CheckInteger, 14,
8277 OPC_CheckTypeI32,
8278 OPC_MoveSibling, 9,
8279 OPC_CheckInteger, 15,
8280 OPC_CheckTypeI32,
8281 OPC_MoveSibling, 10,
8282 OPC_CheckInteger, 20,
8283 OPC_CheckTypeI32,
8284 OPC_MoveSibling, 11,
8285 OPC_CheckInteger, 21,
8286 OPC_CheckTypeI32,
8287 OPC_MoveSibling, 12,
8288 OPC_CheckInteger, 22,
8289 OPC_CheckTypeI32,
8290 OPC_MoveSibling, 13,
8291 OPC_CheckInteger, 23,
8292 OPC_CheckTypeI32,
8293 OPC_MoveSibling, 14,
8294 OPC_CheckInteger, 28,
8295 OPC_CheckTypeI32,
8296 OPC_MoveSibling, 15,
8297 OPC_CheckInteger, 29,
8298 OPC_CheckTypeI32,
8299 OPC_MoveSibling, 16,
8300 OPC_CheckInteger, 30,
8301 OPC_CheckTypeI32,
8302 OPC_MoveSibling, 17,
8303 OPC_CheckInteger, 31,
8304 OPC_CheckTypeI32,
8305 OPC_MoveParent,
8306 OPC_MoveParent,
8307 OPC_CheckType, MVT::v4i32,
8308 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8309 MVT::v4i32, 2, 1,
8310 93,
8311 OPC_CheckChild0Same, 0,
8312 OPC_MoveSibling1,
8313 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8314 OPC_CheckChild0Same, 1,
8315 OPC_MoveParent,
8316 OPC_CheckType, MVT::v4i32,
8317 OPC_MoveParent,
8318 OPC_CheckChild2Integer, 4,
8319 OPC_CheckChild2TypeI32,
8320 OPC_CheckChild3Integer, 5,
8321 OPC_CheckChild3TypeI32,
8322 OPC_CheckChild4Integer, 6,
8323 OPC_CheckChild4TypeI32,
8324 OPC_MoveChild5,
8325 OPC_CheckInteger, 7,
8326 OPC_CheckTypeI32,
8327 OPC_MoveSibling6,
8328 OPC_CheckInteger, 12,
8329 OPC_CheckTypeI32,
8330 OPC_MoveSibling7,
8331 OPC_CheckInteger, 13,
8332 OPC_CheckTypeI32,
8333 OPC_MoveSibling, 8,
8334 OPC_CheckInteger, 14,
8335 OPC_CheckTypeI32,
8336 OPC_MoveSibling, 9,
8337 OPC_CheckInteger, 15,
8338 OPC_CheckTypeI32,
8339 OPC_MoveSibling, 10,
8340 OPC_CheckInteger, 20,
8341 OPC_CheckTypeI32,
8342 OPC_MoveSibling, 11,
8343 OPC_CheckInteger, 21,
8344 OPC_CheckTypeI32,
8345 OPC_MoveSibling, 12,
8346 OPC_CheckInteger, 22,
8347 OPC_CheckTypeI32,
8348 OPC_MoveSibling, 13,
8349 OPC_CheckInteger, 23,
8350 OPC_CheckTypeI32,
8351 OPC_MoveSibling, 14,
8352 OPC_CheckInteger, 28,
8353 OPC_CheckTypeI32,
8354 OPC_MoveSibling, 15,
8355 OPC_CheckInteger, 29,
8356 OPC_CheckTypeI32,
8357 OPC_MoveSibling, 16,
8358 OPC_CheckInteger, 30,
8359 OPC_CheckTypeI32,
8360 OPC_MoveSibling, 17,
8361 OPC_CheckInteger, 31,
8362 OPC_CheckTypeI32,
8363 OPC_MoveParent,
8364 OPC_MoveParent,
8365 OPC_CheckType, MVT::v4i32,
8366 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8367 MVT::v4i32, 2, 1,
8368 0,
8369 81|128,1,
8370 OPC_CheckChild0Same, 0,
8371 OPC_MoveSibling1,
8372 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8373 OPC_CheckChild0Same, 1,
8374 OPC_MoveParent,
8375 OPC_CheckType, MVT::v4i32,
8376 OPC_MoveSibling1,
8377 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8378 OPC_MoveChild0,
8379 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8380 OPC_Scope, 93,
8381 OPC_CheckChild0Same, 1,
8382 OPC_MoveSibling1,
8383 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8384 OPC_CheckChild0Same, 0,
8385 OPC_MoveParent,
8386 OPC_CheckType, MVT::v4i32,
8387 OPC_MoveParent,
8388 OPC_CheckChild2Integer, 4,
8389 OPC_CheckChild2TypeI32,
8390 OPC_CheckChild3Integer, 5,
8391 OPC_CheckChild3TypeI32,
8392 OPC_CheckChild4Integer, 6,
8393 OPC_CheckChild4TypeI32,
8394 OPC_MoveChild5,
8395 OPC_CheckInteger, 7,
8396 OPC_CheckTypeI32,
8397 OPC_MoveSibling6,
8398 OPC_CheckInteger, 12,
8399 OPC_CheckTypeI32,
8400 OPC_MoveSibling7,
8401 OPC_CheckInteger, 13,
8402 OPC_CheckTypeI32,
8403 OPC_MoveSibling, 8,
8404 OPC_CheckInteger, 14,
8405 OPC_CheckTypeI32,
8406 OPC_MoveSibling, 9,
8407 OPC_CheckInteger, 15,
8408 OPC_CheckTypeI32,
8409 OPC_MoveSibling, 10,
8410 OPC_CheckInteger, 20,
8411 OPC_CheckTypeI32,
8412 OPC_MoveSibling, 11,
8413 OPC_CheckInteger, 21,
8414 OPC_CheckTypeI32,
8415 OPC_MoveSibling, 12,
8416 OPC_CheckInteger, 22,
8417 OPC_CheckTypeI32,
8418 OPC_MoveSibling, 13,
8419 OPC_CheckInteger, 23,
8420 OPC_CheckTypeI32,
8421 OPC_MoveSibling, 14,
8422 OPC_CheckInteger, 28,
8423 OPC_CheckTypeI32,
8424 OPC_MoveSibling, 15,
8425 OPC_CheckInteger, 29,
8426 OPC_CheckTypeI32,
8427 OPC_MoveSibling, 16,
8428 OPC_CheckInteger, 30,
8429 OPC_CheckTypeI32,
8430 OPC_MoveSibling, 17,
8431 OPC_CheckInteger, 31,
8432 OPC_CheckTypeI32,
8433 OPC_MoveParent,
8434 OPC_MoveParent,
8435 OPC_CheckType, MVT::v4i32,
8436 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8437 MVT::v4i32, 2, 1,
8438 93,
8439 OPC_CheckChild0Same, 0,
8440 OPC_MoveSibling1,
8441 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8442 OPC_CheckChild0Same, 1,
8443 OPC_MoveParent,
8444 OPC_CheckType, MVT::v4i32,
8445 OPC_MoveParent,
8446 OPC_CheckChild2Integer, 4,
8447 OPC_CheckChild2TypeI32,
8448 OPC_CheckChild3Integer, 5,
8449 OPC_CheckChild3TypeI32,
8450 OPC_CheckChild4Integer, 6,
8451 OPC_CheckChild4TypeI32,
8452 OPC_MoveChild5,
8453 OPC_CheckInteger, 7,
8454 OPC_CheckTypeI32,
8455 OPC_MoveSibling6,
8456 OPC_CheckInteger, 12,
8457 OPC_CheckTypeI32,
8458 OPC_MoveSibling7,
8459 OPC_CheckInteger, 13,
8460 OPC_CheckTypeI32,
8461 OPC_MoveSibling, 8,
8462 OPC_CheckInteger, 14,
8463 OPC_CheckTypeI32,
8464 OPC_MoveSibling, 9,
8465 OPC_CheckInteger, 15,
8466 OPC_CheckTypeI32,
8467 OPC_MoveSibling, 10,
8468 OPC_CheckInteger, 20,
8469 OPC_CheckTypeI32,
8470 OPC_MoveSibling, 11,
8471 OPC_CheckInteger, 21,
8472 OPC_CheckTypeI32,
8473 OPC_MoveSibling, 12,
8474 OPC_CheckInteger, 22,
8475 OPC_CheckTypeI32,
8476 OPC_MoveSibling, 13,
8477 OPC_CheckInteger, 23,
8478 OPC_CheckTypeI32,
8479 OPC_MoveSibling, 14,
8480 OPC_CheckInteger, 28,
8481 OPC_CheckTypeI32,
8482 OPC_MoveSibling, 15,
8483 OPC_CheckInteger, 29,
8484 OPC_CheckTypeI32,
8485 OPC_MoveSibling, 16,
8486 OPC_CheckInteger, 30,
8487 OPC_CheckTypeI32,
8488 OPC_MoveSibling, 17,
8489 OPC_CheckInteger, 31,
8490 OPC_CheckTypeI32,
8491 OPC_MoveParent,
8492 OPC_MoveParent,
8493 OPC_CheckType, MVT::v4i32,
8494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8495 MVT::v4i32, 2, 1,
8496 0,
8497 0,
8498 124|128,3,
8499 OPC_CheckChild2Integer, 4,
8500 OPC_CheckChild2TypeI32,
8501 OPC_CheckChild3Integer, 5,
8502 OPC_CheckChild3TypeI32,
8503 OPC_CheckChild4Integer, 6,
8504 OPC_CheckChild4TypeI32,
8505 OPC_MoveChild5,
8506 OPC_CheckInteger, 7,
8507 OPC_CheckTypeI32,
8508 OPC_MoveSibling6,
8509 OPC_CheckInteger, 12,
8510 OPC_CheckTypeI32,
8511 OPC_MoveSibling7,
8512 OPC_CheckInteger, 13,
8513 OPC_CheckTypeI32,
8514 OPC_MoveSibling, 8,
8515 OPC_CheckInteger, 14,
8516 OPC_CheckTypeI32,
8517 OPC_MoveSibling, 9,
8518 OPC_CheckInteger, 15,
8519 OPC_CheckTypeI32,
8520 OPC_MoveSibling, 10,
8521 OPC_CheckInteger, 20,
8522 OPC_CheckTypeI32,
8523 OPC_MoveSibling, 11,
8524 OPC_CheckInteger, 21,
8525 OPC_CheckTypeI32,
8526 OPC_MoveSibling, 12,
8527 OPC_CheckInteger, 22,
8528 OPC_CheckTypeI32,
8529 OPC_MoveSibling, 13,
8530 OPC_CheckInteger, 23,
8531 OPC_CheckTypeI32,
8532 OPC_MoveSibling, 14,
8533 OPC_CheckInteger, 28,
8534 OPC_CheckTypeI32,
8535 OPC_MoveSibling, 15,
8536 OPC_CheckInteger, 29,
8537 OPC_CheckTypeI32,
8538 OPC_MoveSibling, 16,
8539 OPC_CheckInteger, 30,
8540 OPC_CheckTypeI32,
8541 OPC_MoveSibling, 17,
8542 OPC_CheckInteger, 31,
8543 OPC_CheckTypeI32,
8544 OPC_MoveParent,
8545 OPC_MoveSibling1,
8546 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
8547 OPC_MoveChild0,
8548 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8549 OPC_MoveChild0,
8550 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8551 OPC_Scope, 81|128,1,
8552 OPC_CheckChild0Same, 0,
8553 OPC_MoveSibling1,
8554 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8555 OPC_CheckChild0Same, 1,
8556 OPC_MoveParent,
8557 OPC_CheckType, MVT::v4i32,
8558 OPC_MoveSibling1,
8559 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8560 OPC_MoveChild0,
8561 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8562 OPC_Scope, 93,
8563 OPC_CheckChild0Same, 0,
8564 OPC_MoveSibling1,
8565 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8566 OPC_CheckChild0Same, 1,
8567 OPC_MoveParent,
8568 OPC_CheckType, MVT::v4i32,
8569 OPC_MoveParent,
8570 OPC_CheckChild2Integer, 0,
8571 OPC_CheckChild2TypeI32,
8572 OPC_CheckChild3Integer, 1,
8573 OPC_CheckChild3TypeI32,
8574 OPC_CheckChild4Integer, 2,
8575 OPC_CheckChild4TypeI32,
8576 OPC_MoveChild5,
8577 OPC_CheckInteger, 3,
8578 OPC_CheckTypeI32,
8579 OPC_MoveSibling6,
8580 OPC_CheckInteger, 8,
8581 OPC_CheckTypeI32,
8582 OPC_MoveSibling7,
8583 OPC_CheckInteger, 9,
8584 OPC_CheckTypeI32,
8585 OPC_MoveSibling, 8,
8586 OPC_CheckInteger, 10,
8587 OPC_CheckTypeI32,
8588 OPC_MoveSibling, 9,
8589 OPC_CheckInteger, 11,
8590 OPC_CheckTypeI32,
8591 OPC_MoveSibling, 10,
8592 OPC_CheckInteger, 16,
8593 OPC_CheckTypeI32,
8594 OPC_MoveSibling, 11,
8595 OPC_CheckInteger, 17,
8596 OPC_CheckTypeI32,
8597 OPC_MoveSibling, 12,
8598 OPC_CheckInteger, 18,
8599 OPC_CheckTypeI32,
8600 OPC_MoveSibling, 13,
8601 OPC_CheckInteger, 19,
8602 OPC_CheckTypeI32,
8603 OPC_MoveSibling, 14,
8604 OPC_CheckInteger, 24,
8605 OPC_CheckTypeI32,
8606 OPC_MoveSibling, 15,
8607 OPC_CheckInteger, 25,
8608 OPC_CheckTypeI32,
8609 OPC_MoveSibling, 16,
8610 OPC_CheckInteger, 26,
8611 OPC_CheckTypeI32,
8612 OPC_MoveSibling, 17,
8613 OPC_CheckInteger, 27,
8614 OPC_CheckTypeI32,
8615 OPC_MoveParent,
8616 OPC_MoveParent,
8617 OPC_CheckType, MVT::v4i32,
8618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8619 MVT::v4i32, 2, 16,
8620 93,
8621 OPC_CheckChild0Same, 1,
8622 OPC_MoveSibling1,
8623 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8624 OPC_CheckChild0Same, 0,
8625 OPC_MoveParent,
8626 OPC_CheckType, MVT::v4i32,
8627 OPC_MoveParent,
8628 OPC_CheckChild2Integer, 0,
8629 OPC_CheckChild2TypeI32,
8630 OPC_CheckChild3Integer, 1,
8631 OPC_CheckChild3TypeI32,
8632 OPC_CheckChild4Integer, 2,
8633 OPC_CheckChild4TypeI32,
8634 OPC_MoveChild5,
8635 OPC_CheckInteger, 3,
8636 OPC_CheckTypeI32,
8637 OPC_MoveSibling6,
8638 OPC_CheckInteger, 8,
8639 OPC_CheckTypeI32,
8640 OPC_MoveSibling7,
8641 OPC_CheckInteger, 9,
8642 OPC_CheckTypeI32,
8643 OPC_MoveSibling, 8,
8644 OPC_CheckInteger, 10,
8645 OPC_CheckTypeI32,
8646 OPC_MoveSibling, 9,
8647 OPC_CheckInteger, 11,
8648 OPC_CheckTypeI32,
8649 OPC_MoveSibling, 10,
8650 OPC_CheckInteger, 16,
8651 OPC_CheckTypeI32,
8652 OPC_MoveSibling, 11,
8653 OPC_CheckInteger, 17,
8654 OPC_CheckTypeI32,
8655 OPC_MoveSibling, 12,
8656 OPC_CheckInteger, 18,
8657 OPC_CheckTypeI32,
8658 OPC_MoveSibling, 13,
8659 OPC_CheckInteger, 19,
8660 OPC_CheckTypeI32,
8661 OPC_MoveSibling, 14,
8662 OPC_CheckInteger, 24,
8663 OPC_CheckTypeI32,
8664 OPC_MoveSibling, 15,
8665 OPC_CheckInteger, 25,
8666 OPC_CheckTypeI32,
8667 OPC_MoveSibling, 16,
8668 OPC_CheckInteger, 26,
8669 OPC_CheckTypeI32,
8670 OPC_MoveSibling, 17,
8671 OPC_CheckInteger, 27,
8672 OPC_CheckTypeI32,
8673 OPC_MoveParent,
8674 OPC_MoveParent,
8675 OPC_CheckType, MVT::v4i32,
8676 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8677 MVT::v4i32, 2, 16,
8678 0,
8679 81|128,1,
8680 OPC_CheckChild0Same, 1,
8681 OPC_MoveSibling1,
8682 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8683 OPC_CheckChild0Same, 0,
8684 OPC_MoveParent,
8685 OPC_CheckType, MVT::v4i32,
8686 OPC_MoveSibling1,
8687 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8688 OPC_MoveChild0,
8689 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8690 OPC_Scope, 93,
8691 OPC_CheckChild0Same, 0,
8692 OPC_MoveSibling1,
8693 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8694 OPC_CheckChild0Same, 1,
8695 OPC_MoveParent,
8696 OPC_CheckType, MVT::v4i32,
8697 OPC_MoveParent,
8698 OPC_CheckChild2Integer, 0,
8699 OPC_CheckChild2TypeI32,
8700 OPC_CheckChild3Integer, 1,
8701 OPC_CheckChild3TypeI32,
8702 OPC_CheckChild4Integer, 2,
8703 OPC_CheckChild4TypeI32,
8704 OPC_MoveChild5,
8705 OPC_CheckInteger, 3,
8706 OPC_CheckTypeI32,
8707 OPC_MoveSibling6,
8708 OPC_CheckInteger, 8,
8709 OPC_CheckTypeI32,
8710 OPC_MoveSibling7,
8711 OPC_CheckInteger, 9,
8712 OPC_CheckTypeI32,
8713 OPC_MoveSibling, 8,
8714 OPC_CheckInteger, 10,
8715 OPC_CheckTypeI32,
8716 OPC_MoveSibling, 9,
8717 OPC_CheckInteger, 11,
8718 OPC_CheckTypeI32,
8719 OPC_MoveSibling, 10,
8720 OPC_CheckInteger, 16,
8721 OPC_CheckTypeI32,
8722 OPC_MoveSibling, 11,
8723 OPC_CheckInteger, 17,
8724 OPC_CheckTypeI32,
8725 OPC_MoveSibling, 12,
8726 OPC_CheckInteger, 18,
8727 OPC_CheckTypeI32,
8728 OPC_MoveSibling, 13,
8729 OPC_CheckInteger, 19,
8730 OPC_CheckTypeI32,
8731 OPC_MoveSibling, 14,
8732 OPC_CheckInteger, 24,
8733 OPC_CheckTypeI32,
8734 OPC_MoveSibling, 15,
8735 OPC_CheckInteger, 25,
8736 OPC_CheckTypeI32,
8737 OPC_MoveSibling, 16,
8738 OPC_CheckInteger, 26,
8739 OPC_CheckTypeI32,
8740 OPC_MoveSibling, 17,
8741 OPC_CheckInteger, 27,
8742 OPC_CheckTypeI32,
8743 OPC_MoveParent,
8744 OPC_MoveParent,
8745 OPC_CheckType, MVT::v4i32,
8746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8747 MVT::v4i32, 2, 16,
8748 93,
8749 OPC_CheckChild0Same, 1,
8750 OPC_MoveSibling1,
8751 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8752 OPC_CheckChild0Same, 0,
8753 OPC_MoveParent,
8754 OPC_CheckType, MVT::v4i32,
8755 OPC_MoveParent,
8756 OPC_CheckChild2Integer, 0,
8757 OPC_CheckChild2TypeI32,
8758 OPC_CheckChild3Integer, 1,
8759 OPC_CheckChild3TypeI32,
8760 OPC_CheckChild4Integer, 2,
8761 OPC_CheckChild4TypeI32,
8762 OPC_MoveChild5,
8763 OPC_CheckInteger, 3,
8764 OPC_CheckTypeI32,
8765 OPC_MoveSibling6,
8766 OPC_CheckInteger, 8,
8767 OPC_CheckTypeI32,
8768 OPC_MoveSibling7,
8769 OPC_CheckInteger, 9,
8770 OPC_CheckTypeI32,
8771 OPC_MoveSibling, 8,
8772 OPC_CheckInteger, 10,
8773 OPC_CheckTypeI32,
8774 OPC_MoveSibling, 9,
8775 OPC_CheckInteger, 11,
8776 OPC_CheckTypeI32,
8777 OPC_MoveSibling, 10,
8778 OPC_CheckInteger, 16,
8779 OPC_CheckTypeI32,
8780 OPC_MoveSibling, 11,
8781 OPC_CheckInteger, 17,
8782 OPC_CheckTypeI32,
8783 OPC_MoveSibling, 12,
8784 OPC_CheckInteger, 18,
8785 OPC_CheckTypeI32,
8786 OPC_MoveSibling, 13,
8787 OPC_CheckInteger, 19,
8788 OPC_CheckTypeI32,
8789 OPC_MoveSibling, 14,
8790 OPC_CheckInteger, 24,
8791 OPC_CheckTypeI32,
8792 OPC_MoveSibling, 15,
8793 OPC_CheckInteger, 25,
8794 OPC_CheckTypeI32,
8795 OPC_MoveSibling, 16,
8796 OPC_CheckInteger, 26,
8797 OPC_CheckTypeI32,
8798 OPC_MoveSibling, 17,
8799 OPC_CheckInteger, 27,
8800 OPC_CheckTypeI32,
8801 OPC_MoveParent,
8802 OPC_MoveParent,
8803 OPC_CheckType, MVT::v4i32,
8804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8805 MVT::v4i32, 2, 16,
8806 0,
8807 0,
8808 0,
8809 67|128,6,
8810 OPC_CheckChild0Same, 1,
8811 OPC_MoveSibling1,
8812 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8813 OPC_CheckChild0Same, 0,
8814 OPC_MoveParent,
8815 OPC_CheckType, MVT::v4i32,
8816 OPC_MoveParent,
8817 OPC_CheckChild2Integer, 4,
8818 OPC_CheckChild2TypeI32,
8819 OPC_CheckChild3Integer, 5,
8820 OPC_CheckChild3TypeI32,
8821 OPC_CheckChild4Integer, 6,
8822 OPC_CheckChild4TypeI32,
8823 OPC_MoveChild5,
8824 OPC_CheckInteger, 7,
8825 OPC_CheckTypeI32,
8826 OPC_MoveSibling6,
8827 OPC_CheckInteger, 12,
8828 OPC_CheckTypeI32,
8829 OPC_MoveSibling7,
8830 OPC_CheckInteger, 13,
8831 OPC_CheckTypeI32,
8832 OPC_MoveSibling, 8,
8833 OPC_CheckInteger, 14,
8834 OPC_CheckTypeI32,
8835 OPC_MoveSibling, 9,
8836 OPC_CheckInteger, 15,
8837 OPC_CheckTypeI32,
8838 OPC_MoveSibling, 10,
8839 OPC_CheckInteger, 20,
8840 OPC_CheckTypeI32,
8841 OPC_MoveSibling, 11,
8842 OPC_CheckInteger, 21,
8843 OPC_CheckTypeI32,
8844 OPC_MoveSibling, 12,
8845 OPC_CheckInteger, 22,
8846 OPC_CheckTypeI32,
8847 OPC_MoveSibling, 13,
8848 OPC_CheckInteger, 23,
8849 OPC_CheckTypeI32,
8850 OPC_MoveSibling, 14,
8851 OPC_CheckInteger, 28,
8852 OPC_CheckTypeI32,
8853 OPC_MoveSibling, 15,
8854 OPC_CheckInteger, 29,
8855 OPC_CheckTypeI32,
8856 OPC_MoveSibling, 16,
8857 OPC_CheckInteger, 30,
8858 OPC_CheckTypeI32,
8859 OPC_MoveSibling, 17,
8860 OPC_CheckInteger, 31,
8861 OPC_CheckTypeI32,
8862 OPC_MoveParent,
8863 OPC_MoveSibling1,
8864 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
8865 OPC_MoveChild0,
8866 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8867 OPC_MoveChild0,
8868 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8869 OPC_Scope, 81|128,1,
8870 OPC_CheckChild0Same, 0,
8871 OPC_MoveSibling1,
8872 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8873 OPC_CheckChild0Same, 1,
8874 OPC_MoveParent,
8875 OPC_CheckType, MVT::v4i32,
8876 OPC_MoveSibling1,
8877 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8878 OPC_MoveChild0,
8879 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8880 OPC_Scope, 93,
8881 OPC_CheckChild0Same, 0,
8882 OPC_MoveSibling1,
8883 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8884 OPC_CheckChild0Same, 1,
8885 OPC_MoveParent,
8886 OPC_CheckType, MVT::v4i32,
8887 OPC_MoveParent,
8888 OPC_CheckChild2Integer, 0,
8889 OPC_CheckChild2TypeI32,
8890 OPC_CheckChild3Integer, 1,
8891 OPC_CheckChild3TypeI32,
8892 OPC_CheckChild4Integer, 2,
8893 OPC_CheckChild4TypeI32,
8894 OPC_MoveChild5,
8895 OPC_CheckInteger, 3,
8896 OPC_CheckTypeI32,
8897 OPC_MoveSibling6,
8898 OPC_CheckInteger, 8,
8899 OPC_CheckTypeI32,
8900 OPC_MoveSibling7,
8901 OPC_CheckInteger, 9,
8902 OPC_CheckTypeI32,
8903 OPC_MoveSibling, 8,
8904 OPC_CheckInteger, 10,
8905 OPC_CheckTypeI32,
8906 OPC_MoveSibling, 9,
8907 OPC_CheckInteger, 11,
8908 OPC_CheckTypeI32,
8909 OPC_MoveSibling, 10,
8910 OPC_CheckInteger, 16,
8911 OPC_CheckTypeI32,
8912 OPC_MoveSibling, 11,
8913 OPC_CheckInteger, 17,
8914 OPC_CheckTypeI32,
8915 OPC_MoveSibling, 12,
8916 OPC_CheckInteger, 18,
8917 OPC_CheckTypeI32,
8918 OPC_MoveSibling, 13,
8919 OPC_CheckInteger, 19,
8920 OPC_CheckTypeI32,
8921 OPC_MoveSibling, 14,
8922 OPC_CheckInteger, 24,
8923 OPC_CheckTypeI32,
8924 OPC_MoveSibling, 15,
8925 OPC_CheckInteger, 25,
8926 OPC_CheckTypeI32,
8927 OPC_MoveSibling, 16,
8928 OPC_CheckInteger, 26,
8929 OPC_CheckTypeI32,
8930 OPC_MoveSibling, 17,
8931 OPC_CheckInteger, 27,
8932 OPC_CheckTypeI32,
8933 OPC_MoveParent,
8934 OPC_MoveParent,
8935 OPC_CheckType, MVT::v4i32,
8936 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8937 MVT::v4i32, 2, 16,
8938 93,
8939 OPC_CheckChild0Same, 1,
8940 OPC_MoveSibling1,
8941 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8942 OPC_CheckChild0Same, 0,
8943 OPC_MoveParent,
8944 OPC_CheckType, MVT::v4i32,
8945 OPC_MoveParent,
8946 OPC_CheckChild2Integer, 0,
8947 OPC_CheckChild2TypeI32,
8948 OPC_CheckChild3Integer, 1,
8949 OPC_CheckChild3TypeI32,
8950 OPC_CheckChild4Integer, 2,
8951 OPC_CheckChild4TypeI32,
8952 OPC_MoveChild5,
8953 OPC_CheckInteger, 3,
8954 OPC_CheckTypeI32,
8955 OPC_MoveSibling6,
8956 OPC_CheckInteger, 8,
8957 OPC_CheckTypeI32,
8958 OPC_MoveSibling7,
8959 OPC_CheckInteger, 9,
8960 OPC_CheckTypeI32,
8961 OPC_MoveSibling, 8,
8962 OPC_CheckInteger, 10,
8963 OPC_CheckTypeI32,
8964 OPC_MoveSibling, 9,
8965 OPC_CheckInteger, 11,
8966 OPC_CheckTypeI32,
8967 OPC_MoveSibling, 10,
8968 OPC_CheckInteger, 16,
8969 OPC_CheckTypeI32,
8970 OPC_MoveSibling, 11,
8971 OPC_CheckInteger, 17,
8972 OPC_CheckTypeI32,
8973 OPC_MoveSibling, 12,
8974 OPC_CheckInteger, 18,
8975 OPC_CheckTypeI32,
8976 OPC_MoveSibling, 13,
8977 OPC_CheckInteger, 19,
8978 OPC_CheckTypeI32,
8979 OPC_MoveSibling, 14,
8980 OPC_CheckInteger, 24,
8981 OPC_CheckTypeI32,
8982 OPC_MoveSibling, 15,
8983 OPC_CheckInteger, 25,
8984 OPC_CheckTypeI32,
8985 OPC_MoveSibling, 16,
8986 OPC_CheckInteger, 26,
8987 OPC_CheckTypeI32,
8988 OPC_MoveSibling, 17,
8989 OPC_CheckInteger, 27,
8990 OPC_CheckTypeI32,
8991 OPC_MoveParent,
8992 OPC_MoveParent,
8993 OPC_CheckType, MVT::v4i32,
8994 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8995 MVT::v4i32, 2, 16,
8996 0,
8997 57|128,2,
8998 OPC_CheckChild0Same, 1,
8999 OPC_MoveSibling1,
9000 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9001 OPC_CheckChild0Same, 0,
9002 OPC_MoveParent,
9003 OPC_CheckType, MVT::v4i32,
9004 OPC_MoveSibling1,
9005 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9006 OPC_MoveChild0,
9007 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9008 OPC_Scope, 93,
9009 OPC_CheckChild0Same, 0,
9010 OPC_MoveSibling1,
9011 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9012 OPC_CheckChild0Same, 1,
9013 OPC_MoveParent,
9014 OPC_CheckType, MVT::v4i32,
9015 OPC_MoveParent,
9016 OPC_CheckChild2Integer, 0,
9017 OPC_CheckChild2TypeI32,
9018 OPC_CheckChild3Integer, 1,
9019 OPC_CheckChild3TypeI32,
9020 OPC_CheckChild4Integer, 2,
9021 OPC_CheckChild4TypeI32,
9022 OPC_MoveChild5,
9023 OPC_CheckInteger, 3,
9024 OPC_CheckTypeI32,
9025 OPC_MoveSibling6,
9026 OPC_CheckInteger, 8,
9027 OPC_CheckTypeI32,
9028 OPC_MoveSibling7,
9029 OPC_CheckInteger, 9,
9030 OPC_CheckTypeI32,
9031 OPC_MoveSibling, 8,
9032 OPC_CheckInteger, 10,
9033 OPC_CheckTypeI32,
9034 OPC_MoveSibling, 9,
9035 OPC_CheckInteger, 11,
9036 OPC_CheckTypeI32,
9037 OPC_MoveSibling, 10,
9038 OPC_CheckInteger, 16,
9039 OPC_CheckTypeI32,
9040 OPC_MoveSibling, 11,
9041 OPC_CheckInteger, 17,
9042 OPC_CheckTypeI32,
9043 OPC_MoveSibling, 12,
9044 OPC_CheckInteger, 18,
9045 OPC_CheckTypeI32,
9046 OPC_MoveSibling, 13,
9047 OPC_CheckInteger, 19,
9048 OPC_CheckTypeI32,
9049 OPC_MoveSibling, 14,
9050 OPC_CheckInteger, 24,
9051 OPC_CheckTypeI32,
9052 OPC_MoveSibling, 15,
9053 OPC_CheckInteger, 25,
9054 OPC_CheckTypeI32,
9055 OPC_MoveSibling, 16,
9056 OPC_CheckInteger, 26,
9057 OPC_CheckTypeI32,
9058 OPC_MoveSibling, 17,
9059 OPC_CheckInteger, 27,
9060 OPC_CheckTypeI32,
9061 OPC_MoveParent,
9062 OPC_MoveParent,
9063 OPC_CheckType, MVT::v4i32,
9064 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9065 MVT::v4i32, 2, 16,
9066 103,
9067 OPC_CheckChild0Same, 1,
9068 OPC_MoveSibling1,
9069 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9070 OPC_CheckChild0Same, 0,
9071 OPC_MoveParent,
9072 OPC_CheckType, MVT::v4i32,
9073 OPC_MoveParent,
9074 OPC_CheckChild2Integer, 0,
9075 OPC_CheckChild2TypeI32,
9076 OPC_CheckChild3Integer, 1,
9077 OPC_CheckChild3TypeI32,
9078 OPC_CheckChild4Integer, 2,
9079 OPC_CheckChild4TypeI32,
9080 OPC_MoveChild5,
9081 OPC_CheckInteger, 3,
9082 OPC_CheckTypeI32,
9083 OPC_MoveSibling6,
9084 OPC_CheckInteger, 8,
9085 OPC_CheckTypeI32,
9086 OPC_MoveSibling7,
9087 OPC_CheckInteger, 9,
9088 OPC_CheckTypeI32,
9089 OPC_MoveSibling, 8,
9090 OPC_CheckInteger, 10,
9091 OPC_CheckTypeI32,
9092 OPC_MoveSibling, 9,
9093 OPC_CheckInteger, 11,
9094 OPC_CheckTypeI32,
9095 OPC_MoveSibling, 10,
9096 OPC_CheckInteger, 16,
9097 OPC_CheckTypeI32,
9098 OPC_MoveSibling, 11,
9099 OPC_CheckInteger, 17,
9100 OPC_CheckTypeI32,
9101 OPC_MoveSibling, 12,
9102 OPC_CheckInteger, 18,
9103 OPC_CheckTypeI32,
9104 OPC_MoveSibling, 13,
9105 OPC_CheckInteger, 19,
9106 OPC_CheckTypeI32,
9107 OPC_MoveSibling, 14,
9108 OPC_CheckInteger, 24,
9109 OPC_CheckTypeI32,
9110 OPC_MoveSibling, 15,
9111 OPC_CheckInteger, 25,
9112 OPC_CheckTypeI32,
9113 OPC_MoveSibling, 16,
9114 OPC_CheckInteger, 26,
9115 OPC_CheckTypeI32,
9116 OPC_MoveSibling, 17,
9117 OPC_CheckInteger, 27,
9118 OPC_CheckTypeI32,
9119 OPC_MoveParent,
9120 OPC_MoveParent,
9121 OPC_CheckType, MVT::v4i32,
9122 OPC_Scope, 6,
9123 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9124 MVT::v4i32, 2, 16,
9125 6,
9126 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9127 MVT::v4i32, 2, 1,
9128 0,
9129 93,
9130 OPC_CheckChild0Same, 0,
9131 OPC_MoveSibling1,
9132 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9133 OPC_CheckChild0Same, 1,
9134 OPC_MoveParent,
9135 OPC_CheckType, MVT::v4i32,
9136 OPC_MoveParent,
9137 OPC_CheckChild2Integer, 0,
9138 OPC_CheckChild2TypeI32,
9139 OPC_CheckChild3Integer, 1,
9140 OPC_CheckChild3TypeI32,
9141 OPC_CheckChild4Integer, 2,
9142 OPC_CheckChild4TypeI32,
9143 OPC_MoveChild5,
9144 OPC_CheckInteger, 3,
9145 OPC_CheckTypeI32,
9146 OPC_MoveSibling6,
9147 OPC_CheckInteger, 8,
9148 OPC_CheckTypeI32,
9149 OPC_MoveSibling7,
9150 OPC_CheckInteger, 9,
9151 OPC_CheckTypeI32,
9152 OPC_MoveSibling, 8,
9153 OPC_CheckInteger, 10,
9154 OPC_CheckTypeI32,
9155 OPC_MoveSibling, 9,
9156 OPC_CheckInteger, 11,
9157 OPC_CheckTypeI32,
9158 OPC_MoveSibling, 10,
9159 OPC_CheckInteger, 16,
9160 OPC_CheckTypeI32,
9161 OPC_MoveSibling, 11,
9162 OPC_CheckInteger, 17,
9163 OPC_CheckTypeI32,
9164 OPC_MoveSibling, 12,
9165 OPC_CheckInteger, 18,
9166 OPC_CheckTypeI32,
9167 OPC_MoveSibling, 13,
9168 OPC_CheckInteger, 19,
9169 OPC_CheckTypeI32,
9170 OPC_MoveSibling, 14,
9171 OPC_CheckInteger, 24,
9172 OPC_CheckTypeI32,
9173 OPC_MoveSibling, 15,
9174 OPC_CheckInteger, 25,
9175 OPC_CheckTypeI32,
9176 OPC_MoveSibling, 16,
9177 OPC_CheckInteger, 26,
9178 OPC_CheckTypeI32,
9179 OPC_MoveSibling, 17,
9180 OPC_CheckInteger, 27,
9181 OPC_CheckTypeI32,
9182 OPC_MoveParent,
9183 OPC_MoveParent,
9184 OPC_CheckType, MVT::v4i32,
9185 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9186 MVT::v4i32, 2, 1,
9187 0,
9188 81|128,1,
9189 OPC_CheckChild0Same, 0,
9190 OPC_MoveSibling1,
9191 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9192 OPC_CheckChild0Same, 1,
9193 OPC_MoveParent,
9194 OPC_CheckType, MVT::v4i32,
9195 OPC_MoveSibling1,
9196 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9197 OPC_MoveChild0,
9198 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9199 OPC_Scope, 93,
9200 OPC_CheckChild0Same, 1,
9201 OPC_MoveSibling1,
9202 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9203 OPC_CheckChild0Same, 0,
9204 OPC_MoveParent,
9205 OPC_CheckType, MVT::v4i32,
9206 OPC_MoveParent,
9207 OPC_CheckChild2Integer, 0,
9208 OPC_CheckChild2TypeI32,
9209 OPC_CheckChild3Integer, 1,
9210 OPC_CheckChild3TypeI32,
9211 OPC_CheckChild4Integer, 2,
9212 OPC_CheckChild4TypeI32,
9213 OPC_MoveChild5,
9214 OPC_CheckInteger, 3,
9215 OPC_CheckTypeI32,
9216 OPC_MoveSibling6,
9217 OPC_CheckInteger, 8,
9218 OPC_CheckTypeI32,
9219 OPC_MoveSibling7,
9220 OPC_CheckInteger, 9,
9221 OPC_CheckTypeI32,
9222 OPC_MoveSibling, 8,
9223 OPC_CheckInteger, 10,
9224 OPC_CheckTypeI32,
9225 OPC_MoveSibling, 9,
9226 OPC_CheckInteger, 11,
9227 OPC_CheckTypeI32,
9228 OPC_MoveSibling, 10,
9229 OPC_CheckInteger, 16,
9230 OPC_CheckTypeI32,
9231 OPC_MoveSibling, 11,
9232 OPC_CheckInteger, 17,
9233 OPC_CheckTypeI32,
9234 OPC_MoveSibling, 12,
9235 OPC_CheckInteger, 18,
9236 OPC_CheckTypeI32,
9237 OPC_MoveSibling, 13,
9238 OPC_CheckInteger, 19,
9239 OPC_CheckTypeI32,
9240 OPC_MoveSibling, 14,
9241 OPC_CheckInteger, 24,
9242 OPC_CheckTypeI32,
9243 OPC_MoveSibling, 15,
9244 OPC_CheckInteger, 25,
9245 OPC_CheckTypeI32,
9246 OPC_MoveSibling, 16,
9247 OPC_CheckInteger, 26,
9248 OPC_CheckTypeI32,
9249 OPC_MoveSibling, 17,
9250 OPC_CheckInteger, 27,
9251 OPC_CheckTypeI32,
9252 OPC_MoveParent,
9253 OPC_MoveParent,
9254 OPC_CheckType, MVT::v4i32,
9255 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9256 MVT::v4i32, 2, 1,
9257 93,
9258 OPC_CheckChild0Same, 0,
9259 OPC_MoveSibling1,
9260 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9261 OPC_CheckChild0Same, 1,
9262 OPC_MoveParent,
9263 OPC_CheckType, MVT::v4i32,
9264 OPC_MoveParent,
9265 OPC_CheckChild2Integer, 0,
9266 OPC_CheckChild2TypeI32,
9267 OPC_CheckChild3Integer, 1,
9268 OPC_CheckChild3TypeI32,
9269 OPC_CheckChild4Integer, 2,
9270 OPC_CheckChild4TypeI32,
9271 OPC_MoveChild5,
9272 OPC_CheckInteger, 3,
9273 OPC_CheckTypeI32,
9274 OPC_MoveSibling6,
9275 OPC_CheckInteger, 8,
9276 OPC_CheckTypeI32,
9277 OPC_MoveSibling7,
9278 OPC_CheckInteger, 9,
9279 OPC_CheckTypeI32,
9280 OPC_MoveSibling, 8,
9281 OPC_CheckInteger, 10,
9282 OPC_CheckTypeI32,
9283 OPC_MoveSibling, 9,
9284 OPC_CheckInteger, 11,
9285 OPC_CheckTypeI32,
9286 OPC_MoveSibling, 10,
9287 OPC_CheckInteger, 16,
9288 OPC_CheckTypeI32,
9289 OPC_MoveSibling, 11,
9290 OPC_CheckInteger, 17,
9291 OPC_CheckTypeI32,
9292 OPC_MoveSibling, 12,
9293 OPC_CheckInteger, 18,
9294 OPC_CheckTypeI32,
9295 OPC_MoveSibling, 13,
9296 OPC_CheckInteger, 19,
9297 OPC_CheckTypeI32,
9298 OPC_MoveSibling, 14,
9299 OPC_CheckInteger, 24,
9300 OPC_CheckTypeI32,
9301 OPC_MoveSibling, 15,
9302 OPC_CheckInteger, 25,
9303 OPC_CheckTypeI32,
9304 OPC_MoveSibling, 16,
9305 OPC_CheckInteger, 26,
9306 OPC_CheckTypeI32,
9307 OPC_MoveSibling, 17,
9308 OPC_CheckInteger, 27,
9309 OPC_CheckTypeI32,
9310 OPC_MoveParent,
9311 OPC_MoveParent,
9312 OPC_CheckType, MVT::v4i32,
9313 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9314 MVT::v4i32, 2, 1,
9315 0,
9316 0,
9317 8|128,4,
9318 OPC_CheckChild0Same, 0,
9319 OPC_MoveSibling1,
9320 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9321 OPC_CheckChild0Same, 1,
9322 OPC_MoveParent,
9323 OPC_CheckType, MVT::v4i32,
9324 OPC_MoveParent,
9325 OPC_CheckChild2Integer, 4,
9326 OPC_CheckChild2TypeI32,
9327 OPC_CheckChild3Integer, 5,
9328 OPC_CheckChild3TypeI32,
9329 OPC_CheckChild4Integer, 6,
9330 OPC_CheckChild4TypeI32,
9331 OPC_MoveChild5,
9332 OPC_CheckInteger, 7,
9333 OPC_CheckTypeI32,
9334 OPC_MoveSibling6,
9335 OPC_CheckInteger, 12,
9336 OPC_CheckTypeI32,
9337 OPC_MoveSibling7,
9338 OPC_CheckInteger, 13,
9339 OPC_CheckTypeI32,
9340 OPC_MoveSibling, 8,
9341 OPC_CheckInteger, 14,
9342 OPC_CheckTypeI32,
9343 OPC_MoveSibling, 9,
9344 OPC_CheckInteger, 15,
9345 OPC_CheckTypeI32,
9346 OPC_MoveSibling, 10,
9347 OPC_CheckInteger, 20,
9348 OPC_CheckTypeI32,
9349 OPC_MoveSibling, 11,
9350 OPC_CheckInteger, 21,
9351 OPC_CheckTypeI32,
9352 OPC_MoveSibling, 12,
9353 OPC_CheckInteger, 22,
9354 OPC_CheckTypeI32,
9355 OPC_MoveSibling, 13,
9356 OPC_CheckInteger, 23,
9357 OPC_CheckTypeI32,
9358 OPC_MoveSibling, 14,
9359 OPC_CheckInteger, 28,
9360 OPC_CheckTypeI32,
9361 OPC_MoveSibling, 15,
9362 OPC_CheckInteger, 29,
9363 OPC_CheckTypeI32,
9364 OPC_MoveSibling, 16,
9365 OPC_CheckInteger, 30,
9366 OPC_CheckTypeI32,
9367 OPC_MoveSibling, 17,
9368 OPC_CheckInteger, 31,
9369 OPC_CheckTypeI32,
9370 OPC_MoveParent,
9371 OPC_MoveSibling1,
9372 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9373 OPC_MoveChild0,
9374 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9375 OPC_MoveChild0,
9376 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9377 OPC_Scope, 81|128,1,
9378 OPC_CheckChild0Same, 1,
9379 OPC_MoveSibling1,
9380 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9381 OPC_CheckChild0Same, 0,
9382 OPC_MoveParent,
9383 OPC_CheckType, MVT::v4i32,
9384 OPC_MoveSibling1,
9385 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9386 OPC_MoveChild0,
9387 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9388 OPC_Scope, 93,
9389 OPC_CheckChild0Same, 1,
9390 OPC_MoveSibling1,
9391 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9392 OPC_CheckChild0Same, 0,
9393 OPC_MoveParent,
9394 OPC_CheckType, MVT::v4i32,
9395 OPC_MoveParent,
9396 OPC_CheckChild2Integer, 0,
9397 OPC_CheckChild2TypeI32,
9398 OPC_CheckChild3Integer, 1,
9399 OPC_CheckChild3TypeI32,
9400 OPC_CheckChild4Integer, 2,
9401 OPC_CheckChild4TypeI32,
9402 OPC_MoveChild5,
9403 OPC_CheckInteger, 3,
9404 OPC_CheckTypeI32,
9405 OPC_MoveSibling6,
9406 OPC_CheckInteger, 8,
9407 OPC_CheckTypeI32,
9408 OPC_MoveSibling7,
9409 OPC_CheckInteger, 9,
9410 OPC_CheckTypeI32,
9411 OPC_MoveSibling, 8,
9412 OPC_CheckInteger, 10,
9413 OPC_CheckTypeI32,
9414 OPC_MoveSibling, 9,
9415 OPC_CheckInteger, 11,
9416 OPC_CheckTypeI32,
9417 OPC_MoveSibling, 10,
9418 OPC_CheckInteger, 16,
9419 OPC_CheckTypeI32,
9420 OPC_MoveSibling, 11,
9421 OPC_CheckInteger, 17,
9422 OPC_CheckTypeI32,
9423 OPC_MoveSibling, 12,
9424 OPC_CheckInteger, 18,
9425 OPC_CheckTypeI32,
9426 OPC_MoveSibling, 13,
9427 OPC_CheckInteger, 19,
9428 OPC_CheckTypeI32,
9429 OPC_MoveSibling, 14,
9430 OPC_CheckInteger, 24,
9431 OPC_CheckTypeI32,
9432 OPC_MoveSibling, 15,
9433 OPC_CheckInteger, 25,
9434 OPC_CheckTypeI32,
9435 OPC_MoveSibling, 16,
9436 OPC_CheckInteger, 26,
9437 OPC_CheckTypeI32,
9438 OPC_MoveSibling, 17,
9439 OPC_CheckInteger, 27,
9440 OPC_CheckTypeI32,
9441 OPC_MoveParent,
9442 OPC_MoveParent,
9443 OPC_CheckType, MVT::v4i32,
9444 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9445 MVT::v4i32, 2, 1,
9446 93,
9447 OPC_CheckChild0Same, 0,
9448 OPC_MoveSibling1,
9449 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9450 OPC_CheckChild0Same, 1,
9451 OPC_MoveParent,
9452 OPC_CheckType, MVT::v4i32,
9453 OPC_MoveParent,
9454 OPC_CheckChild2Integer, 0,
9455 OPC_CheckChild2TypeI32,
9456 OPC_CheckChild3Integer, 1,
9457 OPC_CheckChild3TypeI32,
9458 OPC_CheckChild4Integer, 2,
9459 OPC_CheckChild4TypeI32,
9460 OPC_MoveChild5,
9461 OPC_CheckInteger, 3,
9462 OPC_CheckTypeI32,
9463 OPC_MoveSibling6,
9464 OPC_CheckInteger, 8,
9465 OPC_CheckTypeI32,
9466 OPC_MoveSibling7,
9467 OPC_CheckInteger, 9,
9468 OPC_CheckTypeI32,
9469 OPC_MoveSibling, 8,
9470 OPC_CheckInteger, 10,
9471 OPC_CheckTypeI32,
9472 OPC_MoveSibling, 9,
9473 OPC_CheckInteger, 11,
9474 OPC_CheckTypeI32,
9475 OPC_MoveSibling, 10,
9476 OPC_CheckInteger, 16,
9477 OPC_CheckTypeI32,
9478 OPC_MoveSibling, 11,
9479 OPC_CheckInteger, 17,
9480 OPC_CheckTypeI32,
9481 OPC_MoveSibling, 12,
9482 OPC_CheckInteger, 18,
9483 OPC_CheckTypeI32,
9484 OPC_MoveSibling, 13,
9485 OPC_CheckInteger, 19,
9486 OPC_CheckTypeI32,
9487 OPC_MoveSibling, 14,
9488 OPC_CheckInteger, 24,
9489 OPC_CheckTypeI32,
9490 OPC_MoveSibling, 15,
9491 OPC_CheckInteger, 25,
9492 OPC_CheckTypeI32,
9493 OPC_MoveSibling, 16,
9494 OPC_CheckInteger, 26,
9495 OPC_CheckTypeI32,
9496 OPC_MoveSibling, 17,
9497 OPC_CheckInteger, 27,
9498 OPC_CheckTypeI32,
9499 OPC_MoveParent,
9500 OPC_MoveParent,
9501 OPC_CheckType, MVT::v4i32,
9502 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9503 MVT::v4i32, 2, 1,
9504 0,
9505 81|128,1,
9506 OPC_CheckChild0Same, 0,
9507 OPC_MoveSibling1,
9508 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9509 OPC_CheckChild0Same, 1,
9510 OPC_MoveParent,
9511 OPC_CheckType, MVT::v4i32,
9512 OPC_MoveSibling1,
9513 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9514 OPC_MoveChild0,
9515 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9516 OPC_Scope, 93,
9517 OPC_CheckChild0Same, 1,
9518 OPC_MoveSibling1,
9519 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9520 OPC_CheckChild0Same, 0,
9521 OPC_MoveParent,
9522 OPC_CheckType, MVT::v4i32,
9523 OPC_MoveParent,
9524 OPC_CheckChild2Integer, 0,
9525 OPC_CheckChild2TypeI32,
9526 OPC_CheckChild3Integer, 1,
9527 OPC_CheckChild3TypeI32,
9528 OPC_CheckChild4Integer, 2,
9529 OPC_CheckChild4TypeI32,
9530 OPC_MoveChild5,
9531 OPC_CheckInteger, 3,
9532 OPC_CheckTypeI32,
9533 OPC_MoveSibling6,
9534 OPC_CheckInteger, 8,
9535 OPC_CheckTypeI32,
9536 OPC_MoveSibling7,
9537 OPC_CheckInteger, 9,
9538 OPC_CheckTypeI32,
9539 OPC_MoveSibling, 8,
9540 OPC_CheckInteger, 10,
9541 OPC_CheckTypeI32,
9542 OPC_MoveSibling, 9,
9543 OPC_CheckInteger, 11,
9544 OPC_CheckTypeI32,
9545 OPC_MoveSibling, 10,
9546 OPC_CheckInteger, 16,
9547 OPC_CheckTypeI32,
9548 OPC_MoveSibling, 11,
9549 OPC_CheckInteger, 17,
9550 OPC_CheckTypeI32,
9551 OPC_MoveSibling, 12,
9552 OPC_CheckInteger, 18,
9553 OPC_CheckTypeI32,
9554 OPC_MoveSibling, 13,
9555 OPC_CheckInteger, 19,
9556 OPC_CheckTypeI32,
9557 OPC_MoveSibling, 14,
9558 OPC_CheckInteger, 24,
9559 OPC_CheckTypeI32,
9560 OPC_MoveSibling, 15,
9561 OPC_CheckInteger, 25,
9562 OPC_CheckTypeI32,
9563 OPC_MoveSibling, 16,
9564 OPC_CheckInteger, 26,
9565 OPC_CheckTypeI32,
9566 OPC_MoveSibling, 17,
9567 OPC_CheckInteger, 27,
9568 OPC_CheckTypeI32,
9569 OPC_MoveParent,
9570 OPC_MoveParent,
9571 OPC_CheckType, MVT::v4i32,
9572 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9573 MVT::v4i32, 2, 1,
9574 93,
9575 OPC_CheckChild0Same, 0,
9576 OPC_MoveSibling1,
9577 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9578 OPC_CheckChild0Same, 1,
9579 OPC_MoveParent,
9580 OPC_CheckType, MVT::v4i32,
9581 OPC_MoveParent,
9582 OPC_CheckChild2Integer, 0,
9583 OPC_CheckChild2TypeI32,
9584 OPC_CheckChild3Integer, 1,
9585 OPC_CheckChild3TypeI32,
9586 OPC_CheckChild4Integer, 2,
9587 OPC_CheckChild4TypeI32,
9588 OPC_MoveChild5,
9589 OPC_CheckInteger, 3,
9590 OPC_CheckTypeI32,
9591 OPC_MoveSibling6,
9592 OPC_CheckInteger, 8,
9593 OPC_CheckTypeI32,
9594 OPC_MoveSibling7,
9595 OPC_CheckInteger, 9,
9596 OPC_CheckTypeI32,
9597 OPC_MoveSibling, 8,
9598 OPC_CheckInteger, 10,
9599 OPC_CheckTypeI32,
9600 OPC_MoveSibling, 9,
9601 OPC_CheckInteger, 11,
9602 OPC_CheckTypeI32,
9603 OPC_MoveSibling, 10,
9604 OPC_CheckInteger, 16,
9605 OPC_CheckTypeI32,
9606 OPC_MoveSibling, 11,
9607 OPC_CheckInteger, 17,
9608 OPC_CheckTypeI32,
9609 OPC_MoveSibling, 12,
9610 OPC_CheckInteger, 18,
9611 OPC_CheckTypeI32,
9612 OPC_MoveSibling, 13,
9613 OPC_CheckInteger, 19,
9614 OPC_CheckTypeI32,
9615 OPC_MoveSibling, 14,
9616 OPC_CheckInteger, 24,
9617 OPC_CheckTypeI32,
9618 OPC_MoveSibling, 15,
9619 OPC_CheckInteger, 25,
9620 OPC_CheckTypeI32,
9621 OPC_MoveSibling, 16,
9622 OPC_CheckInteger, 26,
9623 OPC_CheckTypeI32,
9624 OPC_MoveSibling, 17,
9625 OPC_CheckInteger, 27,
9626 OPC_CheckTypeI32,
9627 OPC_MoveParent,
9628 OPC_MoveParent,
9629 OPC_CheckType, MVT::v4i32,
9630 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9631 MVT::v4i32, 2, 1,
9632 0,
9633 0,
9634 0,
9635 64|128,29,
9636 OPC_CheckChild0Type, MVT::v16i8,
9637 OPC_MoveSibling1,
9638 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9639 OPC_RecordChild0,
9640 OPC_CheckChild0Type, MVT::v16i8,
9641 OPC_MoveParent,
9642 OPC_CheckType, MVT::v8i16,
9643 OPC_MoveSibling1,
9644 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9645 OPC_MoveChild0,
9646 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9647 OPC_Scope, 8|128,4,
9648 OPC_CheckChild0Same, 0,
9649 OPC_MoveSibling1,
9650 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9651 OPC_CheckChild0Same, 1,
9652 OPC_MoveParent,
9653 OPC_CheckType, MVT::v8i16,
9654 OPC_MoveParent,
9655 OPC_CheckChild2Integer, 0,
9656 OPC_CheckChild2TypeI32,
9657 OPC_CheckChild3Integer, 1,
9658 OPC_CheckChild3TypeI32,
9659 OPC_CheckChild4Integer, 4,
9660 OPC_CheckChild4TypeI32,
9661 OPC_MoveChild5,
9662 OPC_CheckInteger, 5,
9663 OPC_CheckTypeI32,
9664 OPC_MoveSibling6,
9665 OPC_CheckInteger, 8,
9666 OPC_CheckTypeI32,
9667 OPC_MoveSibling7,
9668 OPC_CheckInteger, 9,
9669 OPC_CheckTypeI32,
9670 OPC_MoveSibling, 8,
9671 OPC_CheckInteger, 12,
9672 OPC_CheckTypeI32,
9673 OPC_MoveSibling, 9,
9674 OPC_CheckInteger, 13,
9675 OPC_CheckTypeI32,
9676 OPC_MoveSibling, 10,
9677 OPC_CheckInteger, 16,
9678 OPC_CheckTypeI32,
9679 OPC_MoveSibling, 11,
9680 OPC_CheckInteger, 17,
9681 OPC_CheckTypeI32,
9682 OPC_MoveSibling, 12,
9683 OPC_CheckInteger, 20,
9684 OPC_CheckTypeI32,
9685 OPC_MoveSibling, 13,
9686 OPC_CheckInteger, 21,
9687 OPC_CheckTypeI32,
9688 OPC_MoveSibling, 14,
9689 OPC_CheckInteger, 24,
9690 OPC_CheckTypeI32,
9691 OPC_MoveSibling, 15,
9692 OPC_CheckInteger, 25,
9693 OPC_CheckTypeI32,
9694 OPC_MoveSibling, 16,
9695 OPC_CheckInteger, 28,
9696 OPC_CheckTypeI32,
9697 OPC_MoveSibling, 17,
9698 OPC_CheckInteger, 29,
9699 OPC_CheckTypeI32,
9700 OPC_MoveParent,
9701 OPC_MoveSibling1,
9702 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9703 OPC_MoveChild0,
9704 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9705 OPC_MoveChild0,
9706 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9707 OPC_Scope, 81|128,1,
9708 OPC_CheckChild0Same, 0,
9709 OPC_MoveSibling1,
9710 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9711 OPC_CheckChild0Same, 1,
9712 OPC_MoveParent,
9713 OPC_CheckType, MVT::v8i16,
9714 OPC_MoveSibling1,
9715 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9716 OPC_MoveChild0,
9717 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9718 OPC_Scope, 93,
9719 OPC_CheckChild0Same, 0,
9720 OPC_MoveSibling1,
9721 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9722 OPC_CheckChild0Same, 1,
9723 OPC_MoveParent,
9724 OPC_CheckType, MVT::v8i16,
9725 OPC_MoveParent,
9726 OPC_CheckChild2Integer, 2,
9727 OPC_CheckChild2TypeI32,
9728 OPC_CheckChild3Integer, 3,
9729 OPC_CheckChild3TypeI32,
9730 OPC_CheckChild4Integer, 6,
9731 OPC_CheckChild4TypeI32,
9732 OPC_MoveChild5,
9733 OPC_CheckInteger, 7,
9734 OPC_CheckTypeI32,
9735 OPC_MoveSibling6,
9736 OPC_CheckInteger, 10,
9737 OPC_CheckTypeI32,
9738 OPC_MoveSibling7,
9739 OPC_CheckInteger, 11,
9740 OPC_CheckTypeI32,
9741 OPC_MoveSibling, 8,
9742 OPC_CheckInteger, 14,
9743 OPC_CheckTypeI32,
9744 OPC_MoveSibling, 9,
9745 OPC_CheckInteger, 15,
9746 OPC_CheckTypeI32,
9747 OPC_MoveSibling, 10,
9748 OPC_CheckInteger, 18,
9749 OPC_CheckTypeI32,
9750 OPC_MoveSibling, 11,
9751 OPC_CheckInteger, 19,
9752 OPC_CheckTypeI32,
9753 OPC_MoveSibling, 12,
9754 OPC_CheckInteger, 22,
9755 OPC_CheckTypeI32,
9756 OPC_MoveSibling, 13,
9757 OPC_CheckInteger, 23,
9758 OPC_CheckTypeI32,
9759 OPC_MoveSibling, 14,
9760 OPC_CheckInteger, 26,
9761 OPC_CheckTypeI32,
9762 OPC_MoveSibling, 15,
9763 OPC_CheckInteger, 27,
9764 OPC_CheckTypeI32,
9765 OPC_MoveSibling, 16,
9766 OPC_CheckInteger, 30,
9767 OPC_CheckTypeI32,
9768 OPC_MoveSibling, 17,
9769 OPC_CheckInteger, 31,
9770 OPC_CheckTypeI32,
9771 OPC_MoveParent,
9772 OPC_MoveParent,
9773 OPC_CheckType, MVT::v8i16,
9774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9775 MVT::v8i16, 2, 16,
9776 93,
9777 OPC_CheckChild0Same, 1,
9778 OPC_MoveSibling1,
9779 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9780 OPC_CheckChild0Same, 0,
9781 OPC_MoveParent,
9782 OPC_CheckType, MVT::v8i16,
9783 OPC_MoveParent,
9784 OPC_CheckChild2Integer, 2,
9785 OPC_CheckChild2TypeI32,
9786 OPC_CheckChild3Integer, 3,
9787 OPC_CheckChild3TypeI32,
9788 OPC_CheckChild4Integer, 6,
9789 OPC_CheckChild4TypeI32,
9790 OPC_MoveChild5,
9791 OPC_CheckInteger, 7,
9792 OPC_CheckTypeI32,
9793 OPC_MoveSibling6,
9794 OPC_CheckInteger, 10,
9795 OPC_CheckTypeI32,
9796 OPC_MoveSibling7,
9797 OPC_CheckInteger, 11,
9798 OPC_CheckTypeI32,
9799 OPC_MoveSibling, 8,
9800 OPC_CheckInteger, 14,
9801 OPC_CheckTypeI32,
9802 OPC_MoveSibling, 9,
9803 OPC_CheckInteger, 15,
9804 OPC_CheckTypeI32,
9805 OPC_MoveSibling, 10,
9806 OPC_CheckInteger, 18,
9807 OPC_CheckTypeI32,
9808 OPC_MoveSibling, 11,
9809 OPC_CheckInteger, 19,
9810 OPC_CheckTypeI32,
9811 OPC_MoveSibling, 12,
9812 OPC_CheckInteger, 22,
9813 OPC_CheckTypeI32,
9814 OPC_MoveSibling, 13,
9815 OPC_CheckInteger, 23,
9816 OPC_CheckTypeI32,
9817 OPC_MoveSibling, 14,
9818 OPC_CheckInteger, 26,
9819 OPC_CheckTypeI32,
9820 OPC_MoveSibling, 15,
9821 OPC_CheckInteger, 27,
9822 OPC_CheckTypeI32,
9823 OPC_MoveSibling, 16,
9824 OPC_CheckInteger, 30,
9825 OPC_CheckTypeI32,
9826 OPC_MoveSibling, 17,
9827 OPC_CheckInteger, 31,
9828 OPC_CheckTypeI32,
9829 OPC_MoveParent,
9830 OPC_MoveParent,
9831 OPC_CheckType, MVT::v8i16,
9832 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9833 MVT::v8i16, 2, 16,
9834 0,
9835 81|128,1,
9836 OPC_CheckChild0Same, 1,
9837 OPC_MoveSibling1,
9838 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9839 OPC_CheckChild0Same, 0,
9840 OPC_MoveParent,
9841 OPC_CheckType, MVT::v8i16,
9842 OPC_MoveSibling1,
9843 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9844 OPC_MoveChild0,
9845 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9846 OPC_Scope, 93,
9847 OPC_CheckChild0Same, 0,
9848 OPC_MoveSibling1,
9849 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9850 OPC_CheckChild0Same, 1,
9851 OPC_MoveParent,
9852 OPC_CheckType, MVT::v8i16,
9853 OPC_MoveParent,
9854 OPC_CheckChild2Integer, 2,
9855 OPC_CheckChild2TypeI32,
9856 OPC_CheckChild3Integer, 3,
9857 OPC_CheckChild3TypeI32,
9858 OPC_CheckChild4Integer, 6,
9859 OPC_CheckChild4TypeI32,
9860 OPC_MoveChild5,
9861 OPC_CheckInteger, 7,
9862 OPC_CheckTypeI32,
9863 OPC_MoveSibling6,
9864 OPC_CheckInteger, 10,
9865 OPC_CheckTypeI32,
9866 OPC_MoveSibling7,
9867 OPC_CheckInteger, 11,
9868 OPC_CheckTypeI32,
9869 OPC_MoveSibling, 8,
9870 OPC_CheckInteger, 14,
9871 OPC_CheckTypeI32,
9872 OPC_MoveSibling, 9,
9873 OPC_CheckInteger, 15,
9874 OPC_CheckTypeI32,
9875 OPC_MoveSibling, 10,
9876 OPC_CheckInteger, 18,
9877 OPC_CheckTypeI32,
9878 OPC_MoveSibling, 11,
9879 OPC_CheckInteger, 19,
9880 OPC_CheckTypeI32,
9881 OPC_MoveSibling, 12,
9882 OPC_CheckInteger, 22,
9883 OPC_CheckTypeI32,
9884 OPC_MoveSibling, 13,
9885 OPC_CheckInteger, 23,
9886 OPC_CheckTypeI32,
9887 OPC_MoveSibling, 14,
9888 OPC_CheckInteger, 26,
9889 OPC_CheckTypeI32,
9890 OPC_MoveSibling, 15,
9891 OPC_CheckInteger, 27,
9892 OPC_CheckTypeI32,
9893 OPC_MoveSibling, 16,
9894 OPC_CheckInteger, 30,
9895 OPC_CheckTypeI32,
9896 OPC_MoveSibling, 17,
9897 OPC_CheckInteger, 31,
9898 OPC_CheckTypeI32,
9899 OPC_MoveParent,
9900 OPC_MoveParent,
9901 OPC_CheckType, MVT::v8i16,
9902 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9903 MVT::v8i16, 2, 16,
9904 93,
9905 OPC_CheckChild0Same, 1,
9906 OPC_MoveSibling1,
9907 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9908 OPC_CheckChild0Same, 0,
9909 OPC_MoveParent,
9910 OPC_CheckType, MVT::v8i16,
9911 OPC_MoveParent,
9912 OPC_CheckChild2Integer, 2,
9913 OPC_CheckChild2TypeI32,
9914 OPC_CheckChild3Integer, 3,
9915 OPC_CheckChild3TypeI32,
9916 OPC_CheckChild4Integer, 6,
9917 OPC_CheckChild4TypeI32,
9918 OPC_MoveChild5,
9919 OPC_CheckInteger, 7,
9920 OPC_CheckTypeI32,
9921 OPC_MoveSibling6,
9922 OPC_CheckInteger, 10,
9923 OPC_CheckTypeI32,
9924 OPC_MoveSibling7,
9925 OPC_CheckInteger, 11,
9926 OPC_CheckTypeI32,
9927 OPC_MoveSibling, 8,
9928 OPC_CheckInteger, 14,
9929 OPC_CheckTypeI32,
9930 OPC_MoveSibling, 9,
9931 OPC_CheckInteger, 15,
9932 OPC_CheckTypeI32,
9933 OPC_MoveSibling, 10,
9934 OPC_CheckInteger, 18,
9935 OPC_CheckTypeI32,
9936 OPC_MoveSibling, 11,
9937 OPC_CheckInteger, 19,
9938 OPC_CheckTypeI32,
9939 OPC_MoveSibling, 12,
9940 OPC_CheckInteger, 22,
9941 OPC_CheckTypeI32,
9942 OPC_MoveSibling, 13,
9943 OPC_CheckInteger, 23,
9944 OPC_CheckTypeI32,
9945 OPC_MoveSibling, 14,
9946 OPC_CheckInteger, 26,
9947 OPC_CheckTypeI32,
9948 OPC_MoveSibling, 15,
9949 OPC_CheckInteger, 27,
9950 OPC_CheckTypeI32,
9951 OPC_MoveSibling, 16,
9952 OPC_CheckInteger, 30,
9953 OPC_CheckTypeI32,
9954 OPC_MoveSibling, 17,
9955 OPC_CheckInteger, 31,
9956 OPC_CheckTypeI32,
9957 OPC_MoveParent,
9958 OPC_MoveParent,
9959 OPC_CheckType, MVT::v8i16,
9960 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9961 MVT::v8i16, 2, 16,
9962 0,
9963 0,
9964 67|128,6,
9965 OPC_CheckChild0Same, 1,
9966 OPC_MoveSibling1,
9967 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9968 OPC_CheckChild0Same, 0,
9969 OPC_MoveParent,
9970 OPC_CheckType, MVT::v8i16,
9971 OPC_MoveParent,
9972 OPC_CheckChild2Integer, 0,
9973 OPC_CheckChild2TypeI32,
9974 OPC_CheckChild3Integer, 1,
9975 OPC_CheckChild3TypeI32,
9976 OPC_CheckChild4Integer, 4,
9977 OPC_CheckChild4TypeI32,
9978 OPC_MoveChild5,
9979 OPC_CheckInteger, 5,
9980 OPC_CheckTypeI32,
9981 OPC_MoveSibling6,
9982 OPC_CheckInteger, 8,
9983 OPC_CheckTypeI32,
9984 OPC_MoveSibling7,
9985 OPC_CheckInteger, 9,
9986 OPC_CheckTypeI32,
9987 OPC_MoveSibling, 8,
9988 OPC_CheckInteger, 12,
9989 OPC_CheckTypeI32,
9990 OPC_MoveSibling, 9,
9991 OPC_CheckInteger, 13,
9992 OPC_CheckTypeI32,
9993 OPC_MoveSibling, 10,
9994 OPC_CheckInteger, 16,
9995 OPC_CheckTypeI32,
9996 OPC_MoveSibling, 11,
9997 OPC_CheckInteger, 17,
9998 OPC_CheckTypeI32,
9999 OPC_MoveSibling, 12,
10000 OPC_CheckInteger, 20,
10001 OPC_CheckTypeI32,
10002 OPC_MoveSibling, 13,
10003 OPC_CheckInteger, 21,
10004 OPC_CheckTypeI32,
10005 OPC_MoveSibling, 14,
10006 OPC_CheckInteger, 24,
10007 OPC_CheckTypeI32,
10008 OPC_MoveSibling, 15,
10009 OPC_CheckInteger, 25,
10010 OPC_CheckTypeI32,
10011 OPC_MoveSibling, 16,
10012 OPC_CheckInteger, 28,
10013 OPC_CheckTypeI32,
10014 OPC_MoveSibling, 17,
10015 OPC_CheckInteger, 29,
10016 OPC_CheckTypeI32,
10017 OPC_MoveParent,
10018 OPC_MoveSibling1,
10019 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10020 OPC_MoveChild0,
10021 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10022 OPC_MoveChild0,
10023 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10024 OPC_Scope, 81|128,1,
10025 OPC_CheckChild0Same, 0,
10026 OPC_MoveSibling1,
10027 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10028 OPC_CheckChild0Same, 1,
10029 OPC_MoveParent,
10030 OPC_CheckType, MVT::v8i16,
10031 OPC_MoveSibling1,
10032 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10033 OPC_MoveChild0,
10034 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10035 OPC_Scope, 93,
10036 OPC_CheckChild0Same, 0,
10037 OPC_MoveSibling1,
10038 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10039 OPC_CheckChild0Same, 1,
10040 OPC_MoveParent,
10041 OPC_CheckType, MVT::v8i16,
10042 OPC_MoveParent,
10043 OPC_CheckChild2Integer, 2,
10044 OPC_CheckChild2TypeI32,
10045 OPC_CheckChild3Integer, 3,
10046 OPC_CheckChild3TypeI32,
10047 OPC_CheckChild4Integer, 6,
10048 OPC_CheckChild4TypeI32,
10049 OPC_MoveChild5,
10050 OPC_CheckInteger, 7,
10051 OPC_CheckTypeI32,
10052 OPC_MoveSibling6,
10053 OPC_CheckInteger, 10,
10054 OPC_CheckTypeI32,
10055 OPC_MoveSibling7,
10056 OPC_CheckInteger, 11,
10057 OPC_CheckTypeI32,
10058 OPC_MoveSibling, 8,
10059 OPC_CheckInteger, 14,
10060 OPC_CheckTypeI32,
10061 OPC_MoveSibling, 9,
10062 OPC_CheckInteger, 15,
10063 OPC_CheckTypeI32,
10064 OPC_MoveSibling, 10,
10065 OPC_CheckInteger, 18,
10066 OPC_CheckTypeI32,
10067 OPC_MoveSibling, 11,
10068 OPC_CheckInteger, 19,
10069 OPC_CheckTypeI32,
10070 OPC_MoveSibling, 12,
10071 OPC_CheckInteger, 22,
10072 OPC_CheckTypeI32,
10073 OPC_MoveSibling, 13,
10074 OPC_CheckInteger, 23,
10075 OPC_CheckTypeI32,
10076 OPC_MoveSibling, 14,
10077 OPC_CheckInteger, 26,
10078 OPC_CheckTypeI32,
10079 OPC_MoveSibling, 15,
10080 OPC_CheckInteger, 27,
10081 OPC_CheckTypeI32,
10082 OPC_MoveSibling, 16,
10083 OPC_CheckInteger, 30,
10084 OPC_CheckTypeI32,
10085 OPC_MoveSibling, 17,
10086 OPC_CheckInteger, 31,
10087 OPC_CheckTypeI32,
10088 OPC_MoveParent,
10089 OPC_MoveParent,
10090 OPC_CheckType, MVT::v8i16,
10091 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10092 MVT::v8i16, 2, 16,
10093 93,
10094 OPC_CheckChild0Same, 1,
10095 OPC_MoveSibling1,
10096 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10097 OPC_CheckChild0Same, 0,
10098 OPC_MoveParent,
10099 OPC_CheckType, MVT::v8i16,
10100 OPC_MoveParent,
10101 OPC_CheckChild2Integer, 2,
10102 OPC_CheckChild2TypeI32,
10103 OPC_CheckChild3Integer, 3,
10104 OPC_CheckChild3TypeI32,
10105 OPC_CheckChild4Integer, 6,
10106 OPC_CheckChild4TypeI32,
10107 OPC_MoveChild5,
10108 OPC_CheckInteger, 7,
10109 OPC_CheckTypeI32,
10110 OPC_MoveSibling6,
10111 OPC_CheckInteger, 10,
10112 OPC_CheckTypeI32,
10113 OPC_MoveSibling7,
10114 OPC_CheckInteger, 11,
10115 OPC_CheckTypeI32,
10116 OPC_MoveSibling, 8,
10117 OPC_CheckInteger, 14,
10118 OPC_CheckTypeI32,
10119 OPC_MoveSibling, 9,
10120 OPC_CheckInteger, 15,
10121 OPC_CheckTypeI32,
10122 OPC_MoveSibling, 10,
10123 OPC_CheckInteger, 18,
10124 OPC_CheckTypeI32,
10125 OPC_MoveSibling, 11,
10126 OPC_CheckInteger, 19,
10127 OPC_CheckTypeI32,
10128 OPC_MoveSibling, 12,
10129 OPC_CheckInteger, 22,
10130 OPC_CheckTypeI32,
10131 OPC_MoveSibling, 13,
10132 OPC_CheckInteger, 23,
10133 OPC_CheckTypeI32,
10134 OPC_MoveSibling, 14,
10135 OPC_CheckInteger, 26,
10136 OPC_CheckTypeI32,
10137 OPC_MoveSibling, 15,
10138 OPC_CheckInteger, 27,
10139 OPC_CheckTypeI32,
10140 OPC_MoveSibling, 16,
10141 OPC_CheckInteger, 30,
10142 OPC_CheckTypeI32,
10143 OPC_MoveSibling, 17,
10144 OPC_CheckInteger, 31,
10145 OPC_CheckTypeI32,
10146 OPC_MoveParent,
10147 OPC_MoveParent,
10148 OPC_CheckType, MVT::v8i16,
10149 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10150 MVT::v8i16, 2, 16,
10151 0,
10152 57|128,2,
10153 OPC_CheckChild0Same, 1,
10154 OPC_MoveSibling1,
10155 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10156 OPC_CheckChild0Same, 0,
10157 OPC_MoveParent,
10158 OPC_CheckType, MVT::v8i16,
10159 OPC_MoveSibling1,
10160 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10161 OPC_MoveChild0,
10162 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10163 OPC_Scope, 93,
10164 OPC_CheckChild0Same, 0,
10165 OPC_MoveSibling1,
10166 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10167 OPC_CheckChild0Same, 1,
10168 OPC_MoveParent,
10169 OPC_CheckType, MVT::v8i16,
10170 OPC_MoveParent,
10171 OPC_CheckChild2Integer, 2,
10172 OPC_CheckChild2TypeI32,
10173 OPC_CheckChild3Integer, 3,
10174 OPC_CheckChild3TypeI32,
10175 OPC_CheckChild4Integer, 6,
10176 OPC_CheckChild4TypeI32,
10177 OPC_MoveChild5,
10178 OPC_CheckInteger, 7,
10179 OPC_CheckTypeI32,
10180 OPC_MoveSibling6,
10181 OPC_CheckInteger, 10,
10182 OPC_CheckTypeI32,
10183 OPC_MoveSibling7,
10184 OPC_CheckInteger, 11,
10185 OPC_CheckTypeI32,
10186 OPC_MoveSibling, 8,
10187 OPC_CheckInteger, 14,
10188 OPC_CheckTypeI32,
10189 OPC_MoveSibling, 9,
10190 OPC_CheckInteger, 15,
10191 OPC_CheckTypeI32,
10192 OPC_MoveSibling, 10,
10193 OPC_CheckInteger, 18,
10194 OPC_CheckTypeI32,
10195 OPC_MoveSibling, 11,
10196 OPC_CheckInteger, 19,
10197 OPC_CheckTypeI32,
10198 OPC_MoveSibling, 12,
10199 OPC_CheckInteger, 22,
10200 OPC_CheckTypeI32,
10201 OPC_MoveSibling, 13,
10202 OPC_CheckInteger, 23,
10203 OPC_CheckTypeI32,
10204 OPC_MoveSibling, 14,
10205 OPC_CheckInteger, 26,
10206 OPC_CheckTypeI32,
10207 OPC_MoveSibling, 15,
10208 OPC_CheckInteger, 27,
10209 OPC_CheckTypeI32,
10210 OPC_MoveSibling, 16,
10211 OPC_CheckInteger, 30,
10212 OPC_CheckTypeI32,
10213 OPC_MoveSibling, 17,
10214 OPC_CheckInteger, 31,
10215 OPC_CheckTypeI32,
10216 OPC_MoveParent,
10217 OPC_MoveParent,
10218 OPC_CheckType, MVT::v8i16,
10219 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10220 MVT::v8i16, 2, 16,
10221 103,
10222 OPC_CheckChild0Same, 1,
10223 OPC_MoveSibling1,
10224 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10225 OPC_CheckChild0Same, 0,
10226 OPC_MoveParent,
10227 OPC_CheckType, MVT::v8i16,
10228 OPC_MoveParent,
10229 OPC_CheckChild2Integer, 2,
10230 OPC_CheckChild2TypeI32,
10231 OPC_CheckChild3Integer, 3,
10232 OPC_CheckChild3TypeI32,
10233 OPC_CheckChild4Integer, 6,
10234 OPC_CheckChild4TypeI32,
10235 OPC_MoveChild5,
10236 OPC_CheckInteger, 7,
10237 OPC_CheckTypeI32,
10238 OPC_MoveSibling6,
10239 OPC_CheckInteger, 10,
10240 OPC_CheckTypeI32,
10241 OPC_MoveSibling7,
10242 OPC_CheckInteger, 11,
10243 OPC_CheckTypeI32,
10244 OPC_MoveSibling, 8,
10245 OPC_CheckInteger, 14,
10246 OPC_CheckTypeI32,
10247 OPC_MoveSibling, 9,
10248 OPC_CheckInteger, 15,
10249 OPC_CheckTypeI32,
10250 OPC_MoveSibling, 10,
10251 OPC_CheckInteger, 18,
10252 OPC_CheckTypeI32,
10253 OPC_MoveSibling, 11,
10254 OPC_CheckInteger, 19,
10255 OPC_CheckTypeI32,
10256 OPC_MoveSibling, 12,
10257 OPC_CheckInteger, 22,
10258 OPC_CheckTypeI32,
10259 OPC_MoveSibling, 13,
10260 OPC_CheckInteger, 23,
10261 OPC_CheckTypeI32,
10262 OPC_MoveSibling, 14,
10263 OPC_CheckInteger, 26,
10264 OPC_CheckTypeI32,
10265 OPC_MoveSibling, 15,
10266 OPC_CheckInteger, 27,
10267 OPC_CheckTypeI32,
10268 OPC_MoveSibling, 16,
10269 OPC_CheckInteger, 30,
10270 OPC_CheckTypeI32,
10271 OPC_MoveSibling, 17,
10272 OPC_CheckInteger, 31,
10273 OPC_CheckTypeI32,
10274 OPC_MoveParent,
10275 OPC_MoveParent,
10276 OPC_CheckType, MVT::v8i16,
10277 OPC_Scope, 6,
10278 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10279 MVT::v8i16, 2, 16,
10280 6,
10281 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10282 MVT::v8i16, 2, 1,
10283 0,
10284 93,
10285 OPC_CheckChild0Same, 0,
10286 OPC_MoveSibling1,
10287 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10288 OPC_CheckChild0Same, 1,
10289 OPC_MoveParent,
10290 OPC_CheckType, MVT::v8i16,
10291 OPC_MoveParent,
10292 OPC_CheckChild2Integer, 2,
10293 OPC_CheckChild2TypeI32,
10294 OPC_CheckChild3Integer, 3,
10295 OPC_CheckChild3TypeI32,
10296 OPC_CheckChild4Integer, 6,
10297 OPC_CheckChild4TypeI32,
10298 OPC_MoveChild5,
10299 OPC_CheckInteger, 7,
10300 OPC_CheckTypeI32,
10301 OPC_MoveSibling6,
10302 OPC_CheckInteger, 10,
10303 OPC_CheckTypeI32,
10304 OPC_MoveSibling7,
10305 OPC_CheckInteger, 11,
10306 OPC_CheckTypeI32,
10307 OPC_MoveSibling, 8,
10308 OPC_CheckInteger, 14,
10309 OPC_CheckTypeI32,
10310 OPC_MoveSibling, 9,
10311 OPC_CheckInteger, 15,
10312 OPC_CheckTypeI32,
10313 OPC_MoveSibling, 10,
10314 OPC_CheckInteger, 18,
10315 OPC_CheckTypeI32,
10316 OPC_MoveSibling, 11,
10317 OPC_CheckInteger, 19,
10318 OPC_CheckTypeI32,
10319 OPC_MoveSibling, 12,
10320 OPC_CheckInteger, 22,
10321 OPC_CheckTypeI32,
10322 OPC_MoveSibling, 13,
10323 OPC_CheckInteger, 23,
10324 OPC_CheckTypeI32,
10325 OPC_MoveSibling, 14,
10326 OPC_CheckInteger, 26,
10327 OPC_CheckTypeI32,
10328 OPC_MoveSibling, 15,
10329 OPC_CheckInteger, 27,
10330 OPC_CheckTypeI32,
10331 OPC_MoveSibling, 16,
10332 OPC_CheckInteger, 30,
10333 OPC_CheckTypeI32,
10334 OPC_MoveSibling, 17,
10335 OPC_CheckInteger, 31,
10336 OPC_CheckTypeI32,
10337 OPC_MoveParent,
10338 OPC_MoveParent,
10339 OPC_CheckType, MVT::v8i16,
10340 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10341 MVT::v8i16, 2, 1,
10342 0,
10343 81|128,1,
10344 OPC_CheckChild0Same, 0,
10345 OPC_MoveSibling1,
10346 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10347 OPC_CheckChild0Same, 1,
10348 OPC_MoveParent,
10349 OPC_CheckType, MVT::v8i16,
10350 OPC_MoveSibling1,
10351 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10352 OPC_MoveChild0,
10353 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10354 OPC_Scope, 93,
10355 OPC_CheckChild0Same, 1,
10356 OPC_MoveSibling1,
10357 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10358 OPC_CheckChild0Same, 0,
10359 OPC_MoveParent,
10360 OPC_CheckType, MVT::v8i16,
10361 OPC_MoveParent,
10362 OPC_CheckChild2Integer, 2,
10363 OPC_CheckChild2TypeI32,
10364 OPC_CheckChild3Integer, 3,
10365 OPC_CheckChild3TypeI32,
10366 OPC_CheckChild4Integer, 6,
10367 OPC_CheckChild4TypeI32,
10368 OPC_MoveChild5,
10369 OPC_CheckInteger, 7,
10370 OPC_CheckTypeI32,
10371 OPC_MoveSibling6,
10372 OPC_CheckInteger, 10,
10373 OPC_CheckTypeI32,
10374 OPC_MoveSibling7,
10375 OPC_CheckInteger, 11,
10376 OPC_CheckTypeI32,
10377 OPC_MoveSibling, 8,
10378 OPC_CheckInteger, 14,
10379 OPC_CheckTypeI32,
10380 OPC_MoveSibling, 9,
10381 OPC_CheckInteger, 15,
10382 OPC_CheckTypeI32,
10383 OPC_MoveSibling, 10,
10384 OPC_CheckInteger, 18,
10385 OPC_CheckTypeI32,
10386 OPC_MoveSibling, 11,
10387 OPC_CheckInteger, 19,
10388 OPC_CheckTypeI32,
10389 OPC_MoveSibling, 12,
10390 OPC_CheckInteger, 22,
10391 OPC_CheckTypeI32,
10392 OPC_MoveSibling, 13,
10393 OPC_CheckInteger, 23,
10394 OPC_CheckTypeI32,
10395 OPC_MoveSibling, 14,
10396 OPC_CheckInteger, 26,
10397 OPC_CheckTypeI32,
10398 OPC_MoveSibling, 15,
10399 OPC_CheckInteger, 27,
10400 OPC_CheckTypeI32,
10401 OPC_MoveSibling, 16,
10402 OPC_CheckInteger, 30,
10403 OPC_CheckTypeI32,
10404 OPC_MoveSibling, 17,
10405 OPC_CheckInteger, 31,
10406 OPC_CheckTypeI32,
10407 OPC_MoveParent,
10408 OPC_MoveParent,
10409 OPC_CheckType, MVT::v8i16,
10410 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10411 MVT::v8i16, 2, 1,
10412 93,
10413 OPC_CheckChild0Same, 0,
10414 OPC_MoveSibling1,
10415 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10416 OPC_CheckChild0Same, 1,
10417 OPC_MoveParent,
10418 OPC_CheckType, MVT::v8i16,
10419 OPC_MoveParent,
10420 OPC_CheckChild2Integer, 2,
10421 OPC_CheckChild2TypeI32,
10422 OPC_CheckChild3Integer, 3,
10423 OPC_CheckChild3TypeI32,
10424 OPC_CheckChild4Integer, 6,
10425 OPC_CheckChild4TypeI32,
10426 OPC_MoveChild5,
10427 OPC_CheckInteger, 7,
10428 OPC_CheckTypeI32,
10429 OPC_MoveSibling6,
10430 OPC_CheckInteger, 10,
10431 OPC_CheckTypeI32,
10432 OPC_MoveSibling7,
10433 OPC_CheckInteger, 11,
10434 OPC_CheckTypeI32,
10435 OPC_MoveSibling, 8,
10436 OPC_CheckInteger, 14,
10437 OPC_CheckTypeI32,
10438 OPC_MoveSibling, 9,
10439 OPC_CheckInteger, 15,
10440 OPC_CheckTypeI32,
10441 OPC_MoveSibling, 10,
10442 OPC_CheckInteger, 18,
10443 OPC_CheckTypeI32,
10444 OPC_MoveSibling, 11,
10445 OPC_CheckInteger, 19,
10446 OPC_CheckTypeI32,
10447 OPC_MoveSibling, 12,
10448 OPC_CheckInteger, 22,
10449 OPC_CheckTypeI32,
10450 OPC_MoveSibling, 13,
10451 OPC_CheckInteger, 23,
10452 OPC_CheckTypeI32,
10453 OPC_MoveSibling, 14,
10454 OPC_CheckInteger, 26,
10455 OPC_CheckTypeI32,
10456 OPC_MoveSibling, 15,
10457 OPC_CheckInteger, 27,
10458 OPC_CheckTypeI32,
10459 OPC_MoveSibling, 16,
10460 OPC_CheckInteger, 30,
10461 OPC_CheckTypeI32,
10462 OPC_MoveSibling, 17,
10463 OPC_CheckInteger, 31,
10464 OPC_CheckTypeI32,
10465 OPC_MoveParent,
10466 OPC_MoveParent,
10467 OPC_CheckType, MVT::v8i16,
10468 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10469 MVT::v8i16, 2, 1,
10470 0,
10471 0,
10472 10|128,8,
10473 OPC_CheckChild0Same, 0,
10474 OPC_MoveSibling1,
10475 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10476 OPC_CheckChild0Same, 1,
10477 OPC_MoveParent,
10478 OPC_CheckType, MVT::v8i16,
10479 OPC_MoveParent,
10480 OPC_Scope, 124|128,3,
10481 OPC_CheckChild2Integer, 0,
10482 OPC_CheckChild2TypeI32,
10483 OPC_CheckChild3Integer, 1,
10484 OPC_CheckChild3TypeI32,
10485 OPC_CheckChild4Integer, 4,
10486 OPC_CheckChild4TypeI32,
10487 OPC_MoveChild5,
10488 OPC_CheckInteger, 5,
10489 OPC_CheckTypeI32,
10490 OPC_MoveSibling6,
10491 OPC_CheckInteger, 8,
10492 OPC_CheckTypeI32,
10493 OPC_MoveSibling7,
10494 OPC_CheckInteger, 9,
10495 OPC_CheckTypeI32,
10496 OPC_MoveSibling, 8,
10497 OPC_CheckInteger, 12,
10498 OPC_CheckTypeI32,
10499 OPC_MoveSibling, 9,
10500 OPC_CheckInteger, 13,
10501 OPC_CheckTypeI32,
10502 OPC_MoveSibling, 10,
10503 OPC_CheckInteger, 16,
10504 OPC_CheckTypeI32,
10505 OPC_MoveSibling, 11,
10506 OPC_CheckInteger, 17,
10507 OPC_CheckTypeI32,
10508 OPC_MoveSibling, 12,
10509 OPC_CheckInteger, 20,
10510 OPC_CheckTypeI32,
10511 OPC_MoveSibling, 13,
10512 OPC_CheckInteger, 21,
10513 OPC_CheckTypeI32,
10514 OPC_MoveSibling, 14,
10515 OPC_CheckInteger, 24,
10516 OPC_CheckTypeI32,
10517 OPC_MoveSibling, 15,
10518 OPC_CheckInteger, 25,
10519 OPC_CheckTypeI32,
10520 OPC_MoveSibling, 16,
10521 OPC_CheckInteger, 28,
10522 OPC_CheckTypeI32,
10523 OPC_MoveSibling, 17,
10524 OPC_CheckInteger, 29,
10525 OPC_CheckTypeI32,
10526 OPC_MoveParent,
10527 OPC_MoveSibling1,
10528 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10529 OPC_MoveChild0,
10530 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10531 OPC_MoveChild0,
10532 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10533 OPC_Scope, 81|128,1,
10534 OPC_CheckChild0Same, 1,
10535 OPC_MoveSibling1,
10536 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10537 OPC_CheckChild0Same, 0,
10538 OPC_MoveParent,
10539 OPC_CheckType, MVT::v8i16,
10540 OPC_MoveSibling1,
10541 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10542 OPC_MoveChild0,
10543 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10544 OPC_Scope, 93,
10545 OPC_CheckChild0Same, 1,
10546 OPC_MoveSibling1,
10547 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10548 OPC_CheckChild0Same, 0,
10549 OPC_MoveParent,
10550 OPC_CheckType, MVT::v8i16,
10551 OPC_MoveParent,
10552 OPC_CheckChild2Integer, 2,
10553 OPC_CheckChild2TypeI32,
10554 OPC_CheckChild3Integer, 3,
10555 OPC_CheckChild3TypeI32,
10556 OPC_CheckChild4Integer, 6,
10557 OPC_CheckChild4TypeI32,
10558 OPC_MoveChild5,
10559 OPC_CheckInteger, 7,
10560 OPC_CheckTypeI32,
10561 OPC_MoveSibling6,
10562 OPC_CheckInteger, 10,
10563 OPC_CheckTypeI32,
10564 OPC_MoveSibling7,
10565 OPC_CheckInteger, 11,
10566 OPC_CheckTypeI32,
10567 OPC_MoveSibling, 8,
10568 OPC_CheckInteger, 14,
10569 OPC_CheckTypeI32,
10570 OPC_MoveSibling, 9,
10571 OPC_CheckInteger, 15,
10572 OPC_CheckTypeI32,
10573 OPC_MoveSibling, 10,
10574 OPC_CheckInteger, 18,
10575 OPC_CheckTypeI32,
10576 OPC_MoveSibling, 11,
10577 OPC_CheckInteger, 19,
10578 OPC_CheckTypeI32,
10579 OPC_MoveSibling, 12,
10580 OPC_CheckInteger, 22,
10581 OPC_CheckTypeI32,
10582 OPC_MoveSibling, 13,
10583 OPC_CheckInteger, 23,
10584 OPC_CheckTypeI32,
10585 OPC_MoveSibling, 14,
10586 OPC_CheckInteger, 26,
10587 OPC_CheckTypeI32,
10588 OPC_MoveSibling, 15,
10589 OPC_CheckInteger, 27,
10590 OPC_CheckTypeI32,
10591 OPC_MoveSibling, 16,
10592 OPC_CheckInteger, 30,
10593 OPC_CheckTypeI32,
10594 OPC_MoveSibling, 17,
10595 OPC_CheckInteger, 31,
10596 OPC_CheckTypeI32,
10597 OPC_MoveParent,
10598 OPC_MoveParent,
10599 OPC_CheckType, MVT::v8i16,
10600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10601 MVT::v8i16, 2, 1,
10602 93,
10603 OPC_CheckChild0Same, 0,
10604 OPC_MoveSibling1,
10605 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10606 OPC_CheckChild0Same, 1,
10607 OPC_MoveParent,
10608 OPC_CheckType, MVT::v8i16,
10609 OPC_MoveParent,
10610 OPC_CheckChild2Integer, 2,
10611 OPC_CheckChild2TypeI32,
10612 OPC_CheckChild3Integer, 3,
10613 OPC_CheckChild3TypeI32,
10614 OPC_CheckChild4Integer, 6,
10615 OPC_CheckChild4TypeI32,
10616 OPC_MoveChild5,
10617 OPC_CheckInteger, 7,
10618 OPC_CheckTypeI32,
10619 OPC_MoveSibling6,
10620 OPC_CheckInteger, 10,
10621 OPC_CheckTypeI32,
10622 OPC_MoveSibling7,
10623 OPC_CheckInteger, 11,
10624 OPC_CheckTypeI32,
10625 OPC_MoveSibling, 8,
10626 OPC_CheckInteger, 14,
10627 OPC_CheckTypeI32,
10628 OPC_MoveSibling, 9,
10629 OPC_CheckInteger, 15,
10630 OPC_CheckTypeI32,
10631 OPC_MoveSibling, 10,
10632 OPC_CheckInteger, 18,
10633 OPC_CheckTypeI32,
10634 OPC_MoveSibling, 11,
10635 OPC_CheckInteger, 19,
10636 OPC_CheckTypeI32,
10637 OPC_MoveSibling, 12,
10638 OPC_CheckInteger, 22,
10639 OPC_CheckTypeI32,
10640 OPC_MoveSibling, 13,
10641 OPC_CheckInteger, 23,
10642 OPC_CheckTypeI32,
10643 OPC_MoveSibling, 14,
10644 OPC_CheckInteger, 26,
10645 OPC_CheckTypeI32,
10646 OPC_MoveSibling, 15,
10647 OPC_CheckInteger, 27,
10648 OPC_CheckTypeI32,
10649 OPC_MoveSibling, 16,
10650 OPC_CheckInteger, 30,
10651 OPC_CheckTypeI32,
10652 OPC_MoveSibling, 17,
10653 OPC_CheckInteger, 31,
10654 OPC_CheckTypeI32,
10655 OPC_MoveParent,
10656 OPC_MoveParent,
10657 OPC_CheckType, MVT::v8i16,
10658 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10659 MVT::v8i16, 2, 1,
10660 0,
10661 81|128,1,
10662 OPC_CheckChild0Same, 0,
10663 OPC_MoveSibling1,
10664 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10665 OPC_CheckChild0Same, 1,
10666 OPC_MoveParent,
10667 OPC_CheckType, MVT::v8i16,
10668 OPC_MoveSibling1,
10669 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10670 OPC_MoveChild0,
10671 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10672 OPC_Scope, 93,
10673 OPC_CheckChild0Same, 1,
10674 OPC_MoveSibling1,
10675 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10676 OPC_CheckChild0Same, 0,
10677 OPC_MoveParent,
10678 OPC_CheckType, MVT::v8i16,
10679 OPC_MoveParent,
10680 OPC_CheckChild2Integer, 2,
10681 OPC_CheckChild2TypeI32,
10682 OPC_CheckChild3Integer, 3,
10683 OPC_CheckChild3TypeI32,
10684 OPC_CheckChild4Integer, 6,
10685 OPC_CheckChild4TypeI32,
10686 OPC_MoveChild5,
10687 OPC_CheckInteger, 7,
10688 OPC_CheckTypeI32,
10689 OPC_MoveSibling6,
10690 OPC_CheckInteger, 10,
10691 OPC_CheckTypeI32,
10692 OPC_MoveSibling7,
10693 OPC_CheckInteger, 11,
10694 OPC_CheckTypeI32,
10695 OPC_MoveSibling, 8,
10696 OPC_CheckInteger, 14,
10697 OPC_CheckTypeI32,
10698 OPC_MoveSibling, 9,
10699 OPC_CheckInteger, 15,
10700 OPC_CheckTypeI32,
10701 OPC_MoveSibling, 10,
10702 OPC_CheckInteger, 18,
10703 OPC_CheckTypeI32,
10704 OPC_MoveSibling, 11,
10705 OPC_CheckInteger, 19,
10706 OPC_CheckTypeI32,
10707 OPC_MoveSibling, 12,
10708 OPC_CheckInteger, 22,
10709 OPC_CheckTypeI32,
10710 OPC_MoveSibling, 13,
10711 OPC_CheckInteger, 23,
10712 OPC_CheckTypeI32,
10713 OPC_MoveSibling, 14,
10714 OPC_CheckInteger, 26,
10715 OPC_CheckTypeI32,
10716 OPC_MoveSibling, 15,
10717 OPC_CheckInteger, 27,
10718 OPC_CheckTypeI32,
10719 OPC_MoveSibling, 16,
10720 OPC_CheckInteger, 30,
10721 OPC_CheckTypeI32,
10722 OPC_MoveSibling, 17,
10723 OPC_CheckInteger, 31,
10724 OPC_CheckTypeI32,
10725 OPC_MoveParent,
10726 OPC_MoveParent,
10727 OPC_CheckType, MVT::v8i16,
10728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10729 MVT::v8i16, 2, 1,
10730 93,
10731 OPC_CheckChild0Same, 0,
10732 OPC_MoveSibling1,
10733 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10734 OPC_CheckChild0Same, 1,
10735 OPC_MoveParent,
10736 OPC_CheckType, MVT::v8i16,
10737 OPC_MoveParent,
10738 OPC_CheckChild2Integer, 2,
10739 OPC_CheckChild2TypeI32,
10740 OPC_CheckChild3Integer, 3,
10741 OPC_CheckChild3TypeI32,
10742 OPC_CheckChild4Integer, 6,
10743 OPC_CheckChild4TypeI32,
10744 OPC_MoveChild5,
10745 OPC_CheckInteger, 7,
10746 OPC_CheckTypeI32,
10747 OPC_MoveSibling6,
10748 OPC_CheckInteger, 10,
10749 OPC_CheckTypeI32,
10750 OPC_MoveSibling7,
10751 OPC_CheckInteger, 11,
10752 OPC_CheckTypeI32,
10753 OPC_MoveSibling, 8,
10754 OPC_CheckInteger, 14,
10755 OPC_CheckTypeI32,
10756 OPC_MoveSibling, 9,
10757 OPC_CheckInteger, 15,
10758 OPC_CheckTypeI32,
10759 OPC_MoveSibling, 10,
10760 OPC_CheckInteger, 18,
10761 OPC_CheckTypeI32,
10762 OPC_MoveSibling, 11,
10763 OPC_CheckInteger, 19,
10764 OPC_CheckTypeI32,
10765 OPC_MoveSibling, 12,
10766 OPC_CheckInteger, 22,
10767 OPC_CheckTypeI32,
10768 OPC_MoveSibling, 13,
10769 OPC_CheckInteger, 23,
10770 OPC_CheckTypeI32,
10771 OPC_MoveSibling, 14,
10772 OPC_CheckInteger, 26,
10773 OPC_CheckTypeI32,
10774 OPC_MoveSibling, 15,
10775 OPC_CheckInteger, 27,
10776 OPC_CheckTypeI32,
10777 OPC_MoveSibling, 16,
10778 OPC_CheckInteger, 30,
10779 OPC_CheckTypeI32,
10780 OPC_MoveSibling, 17,
10781 OPC_CheckInteger, 31,
10782 OPC_CheckTypeI32,
10783 OPC_MoveParent,
10784 OPC_MoveParent,
10785 OPC_CheckType, MVT::v8i16,
10786 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10787 MVT::v8i16, 2, 1,
10788 0,
10789 0,
10790 124|128,3,
10791 OPC_CheckChild2Integer, 2,
10792 OPC_CheckChild2TypeI32,
10793 OPC_CheckChild3Integer, 3,
10794 OPC_CheckChild3TypeI32,
10795 OPC_CheckChild4Integer, 6,
10796 OPC_CheckChild4TypeI32,
10797 OPC_MoveChild5,
10798 OPC_CheckInteger, 7,
10799 OPC_CheckTypeI32,
10800 OPC_MoveSibling6,
10801 OPC_CheckInteger, 10,
10802 OPC_CheckTypeI32,
10803 OPC_MoveSibling7,
10804 OPC_CheckInteger, 11,
10805 OPC_CheckTypeI32,
10806 OPC_MoveSibling, 8,
10807 OPC_CheckInteger, 14,
10808 OPC_CheckTypeI32,
10809 OPC_MoveSibling, 9,
10810 OPC_CheckInteger, 15,
10811 OPC_CheckTypeI32,
10812 OPC_MoveSibling, 10,
10813 OPC_CheckInteger, 18,
10814 OPC_CheckTypeI32,
10815 OPC_MoveSibling, 11,
10816 OPC_CheckInteger, 19,
10817 OPC_CheckTypeI32,
10818 OPC_MoveSibling, 12,
10819 OPC_CheckInteger, 22,
10820 OPC_CheckTypeI32,
10821 OPC_MoveSibling, 13,
10822 OPC_CheckInteger, 23,
10823 OPC_CheckTypeI32,
10824 OPC_MoveSibling, 14,
10825 OPC_CheckInteger, 26,
10826 OPC_CheckTypeI32,
10827 OPC_MoveSibling, 15,
10828 OPC_CheckInteger, 27,
10829 OPC_CheckTypeI32,
10830 OPC_MoveSibling, 16,
10831 OPC_CheckInteger, 30,
10832 OPC_CheckTypeI32,
10833 OPC_MoveSibling, 17,
10834 OPC_CheckInteger, 31,
10835 OPC_CheckTypeI32,
10836 OPC_MoveParent,
10837 OPC_MoveSibling1,
10838 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10839 OPC_MoveChild0,
10840 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10841 OPC_MoveChild0,
10842 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10843 OPC_Scope, 81|128,1,
10844 OPC_CheckChild0Same, 0,
10845 OPC_MoveSibling1,
10846 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10847 OPC_CheckChild0Same, 1,
10848 OPC_MoveParent,
10849 OPC_CheckType, MVT::v8i16,
10850 OPC_MoveSibling1,
10851 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10852 OPC_MoveChild0,
10853 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10854 OPC_Scope, 93,
10855 OPC_CheckChild0Same, 0,
10856 OPC_MoveSibling1,
10857 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10858 OPC_CheckChild0Same, 1,
10859 OPC_MoveParent,
10860 OPC_CheckType, MVT::v8i16,
10861 OPC_MoveParent,
10862 OPC_CheckChild2Integer, 0,
10863 OPC_CheckChild2TypeI32,
10864 OPC_CheckChild3Integer, 1,
10865 OPC_CheckChild3TypeI32,
10866 OPC_CheckChild4Integer, 4,
10867 OPC_CheckChild4TypeI32,
10868 OPC_MoveChild5,
10869 OPC_CheckInteger, 5,
10870 OPC_CheckTypeI32,
10871 OPC_MoveSibling6,
10872 OPC_CheckInteger, 8,
10873 OPC_CheckTypeI32,
10874 OPC_MoveSibling7,
10875 OPC_CheckInteger, 9,
10876 OPC_CheckTypeI32,
10877 OPC_MoveSibling, 8,
10878 OPC_CheckInteger, 12,
10879 OPC_CheckTypeI32,
10880 OPC_MoveSibling, 9,
10881 OPC_CheckInteger, 13,
10882 OPC_CheckTypeI32,
10883 OPC_MoveSibling, 10,
10884 OPC_CheckInteger, 16,
10885 OPC_CheckTypeI32,
10886 OPC_MoveSibling, 11,
10887 OPC_CheckInteger, 17,
10888 OPC_CheckTypeI32,
10889 OPC_MoveSibling, 12,
10890 OPC_CheckInteger, 20,
10891 OPC_CheckTypeI32,
10892 OPC_MoveSibling, 13,
10893 OPC_CheckInteger, 21,
10894 OPC_CheckTypeI32,
10895 OPC_MoveSibling, 14,
10896 OPC_CheckInteger, 24,
10897 OPC_CheckTypeI32,
10898 OPC_MoveSibling, 15,
10899 OPC_CheckInteger, 25,
10900 OPC_CheckTypeI32,
10901 OPC_MoveSibling, 16,
10902 OPC_CheckInteger, 28,
10903 OPC_CheckTypeI32,
10904 OPC_MoveSibling, 17,
10905 OPC_CheckInteger, 29,
10906 OPC_CheckTypeI32,
10907 OPC_MoveParent,
10908 OPC_MoveParent,
10909 OPC_CheckType, MVT::v8i16,
10910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10911 MVT::v8i16, 2, 16,
10912 93,
10913 OPC_CheckChild0Same, 1,
10914 OPC_MoveSibling1,
10915 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10916 OPC_CheckChild0Same, 0,
10917 OPC_MoveParent,
10918 OPC_CheckType, MVT::v8i16,
10919 OPC_MoveParent,
10920 OPC_CheckChild2Integer, 0,
10921 OPC_CheckChild2TypeI32,
10922 OPC_CheckChild3Integer, 1,
10923 OPC_CheckChild3TypeI32,
10924 OPC_CheckChild4Integer, 4,
10925 OPC_CheckChild4TypeI32,
10926 OPC_MoveChild5,
10927 OPC_CheckInteger, 5,
10928 OPC_CheckTypeI32,
10929 OPC_MoveSibling6,
10930 OPC_CheckInteger, 8,
10931 OPC_CheckTypeI32,
10932 OPC_MoveSibling7,
10933 OPC_CheckInteger, 9,
10934 OPC_CheckTypeI32,
10935 OPC_MoveSibling, 8,
10936 OPC_CheckInteger, 12,
10937 OPC_CheckTypeI32,
10938 OPC_MoveSibling, 9,
10939 OPC_CheckInteger, 13,
10940 OPC_CheckTypeI32,
10941 OPC_MoveSibling, 10,
10942 OPC_CheckInteger, 16,
10943 OPC_CheckTypeI32,
10944 OPC_MoveSibling, 11,
10945 OPC_CheckInteger, 17,
10946 OPC_CheckTypeI32,
10947 OPC_MoveSibling, 12,
10948 OPC_CheckInteger, 20,
10949 OPC_CheckTypeI32,
10950 OPC_MoveSibling, 13,
10951 OPC_CheckInteger, 21,
10952 OPC_CheckTypeI32,
10953 OPC_MoveSibling, 14,
10954 OPC_CheckInteger, 24,
10955 OPC_CheckTypeI32,
10956 OPC_MoveSibling, 15,
10957 OPC_CheckInteger, 25,
10958 OPC_CheckTypeI32,
10959 OPC_MoveSibling, 16,
10960 OPC_CheckInteger, 28,
10961 OPC_CheckTypeI32,
10962 OPC_MoveSibling, 17,
10963 OPC_CheckInteger, 29,
10964 OPC_CheckTypeI32,
10965 OPC_MoveParent,
10966 OPC_MoveParent,
10967 OPC_CheckType, MVT::v8i16,
10968 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10969 MVT::v8i16, 2, 16,
10970 0,
10971 81|128,1,
10972 OPC_CheckChild0Same, 1,
10973 OPC_MoveSibling1,
10974 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10975 OPC_CheckChild0Same, 0,
10976 OPC_MoveParent,
10977 OPC_CheckType, MVT::v8i16,
10978 OPC_MoveSibling1,
10979 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10980 OPC_MoveChild0,
10981 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10982 OPC_Scope, 93,
10983 OPC_CheckChild0Same, 0,
10984 OPC_MoveSibling1,
10985 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10986 OPC_CheckChild0Same, 1,
10987 OPC_MoveParent,
10988 OPC_CheckType, MVT::v8i16,
10989 OPC_MoveParent,
10990 OPC_CheckChild2Integer, 0,
10991 OPC_CheckChild2TypeI32,
10992 OPC_CheckChild3Integer, 1,
10993 OPC_CheckChild3TypeI32,
10994 OPC_CheckChild4Integer, 4,
10995 OPC_CheckChild4TypeI32,
10996 OPC_MoveChild5,
10997 OPC_CheckInteger, 5,
10998 OPC_CheckTypeI32,
10999 OPC_MoveSibling6,
11000 OPC_CheckInteger, 8,
11001 OPC_CheckTypeI32,
11002 OPC_MoveSibling7,
11003 OPC_CheckInteger, 9,
11004 OPC_CheckTypeI32,
11005 OPC_MoveSibling, 8,
11006 OPC_CheckInteger, 12,
11007 OPC_CheckTypeI32,
11008 OPC_MoveSibling, 9,
11009 OPC_CheckInteger, 13,
11010 OPC_CheckTypeI32,
11011 OPC_MoveSibling, 10,
11012 OPC_CheckInteger, 16,
11013 OPC_CheckTypeI32,
11014 OPC_MoveSibling, 11,
11015 OPC_CheckInteger, 17,
11016 OPC_CheckTypeI32,
11017 OPC_MoveSibling, 12,
11018 OPC_CheckInteger, 20,
11019 OPC_CheckTypeI32,
11020 OPC_MoveSibling, 13,
11021 OPC_CheckInteger, 21,
11022 OPC_CheckTypeI32,
11023 OPC_MoveSibling, 14,
11024 OPC_CheckInteger, 24,
11025 OPC_CheckTypeI32,
11026 OPC_MoveSibling, 15,
11027 OPC_CheckInteger, 25,
11028 OPC_CheckTypeI32,
11029 OPC_MoveSibling, 16,
11030 OPC_CheckInteger, 28,
11031 OPC_CheckTypeI32,
11032 OPC_MoveSibling, 17,
11033 OPC_CheckInteger, 29,
11034 OPC_CheckTypeI32,
11035 OPC_MoveParent,
11036 OPC_MoveParent,
11037 OPC_CheckType, MVT::v8i16,
11038 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11039 MVT::v8i16, 2, 16,
11040 93,
11041 OPC_CheckChild0Same, 1,
11042 OPC_MoveSibling1,
11043 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11044 OPC_CheckChild0Same, 0,
11045 OPC_MoveParent,
11046 OPC_CheckType, MVT::v8i16,
11047 OPC_MoveParent,
11048 OPC_CheckChild2Integer, 0,
11049 OPC_CheckChild2TypeI32,
11050 OPC_CheckChild3Integer, 1,
11051 OPC_CheckChild3TypeI32,
11052 OPC_CheckChild4Integer, 4,
11053 OPC_CheckChild4TypeI32,
11054 OPC_MoveChild5,
11055 OPC_CheckInteger, 5,
11056 OPC_CheckTypeI32,
11057 OPC_MoveSibling6,
11058 OPC_CheckInteger, 8,
11059 OPC_CheckTypeI32,
11060 OPC_MoveSibling7,
11061 OPC_CheckInteger, 9,
11062 OPC_CheckTypeI32,
11063 OPC_MoveSibling, 8,
11064 OPC_CheckInteger, 12,
11065 OPC_CheckTypeI32,
11066 OPC_MoveSibling, 9,
11067 OPC_CheckInteger, 13,
11068 OPC_CheckTypeI32,
11069 OPC_MoveSibling, 10,
11070 OPC_CheckInteger, 16,
11071 OPC_CheckTypeI32,
11072 OPC_MoveSibling, 11,
11073 OPC_CheckInteger, 17,
11074 OPC_CheckTypeI32,
11075 OPC_MoveSibling, 12,
11076 OPC_CheckInteger, 20,
11077 OPC_CheckTypeI32,
11078 OPC_MoveSibling, 13,
11079 OPC_CheckInteger, 21,
11080 OPC_CheckTypeI32,
11081 OPC_MoveSibling, 14,
11082 OPC_CheckInteger, 24,
11083 OPC_CheckTypeI32,
11084 OPC_MoveSibling, 15,
11085 OPC_CheckInteger, 25,
11086 OPC_CheckTypeI32,
11087 OPC_MoveSibling, 16,
11088 OPC_CheckInteger, 28,
11089 OPC_CheckTypeI32,
11090 OPC_MoveSibling, 17,
11091 OPC_CheckInteger, 29,
11092 OPC_CheckTypeI32,
11093 OPC_MoveParent,
11094 OPC_MoveParent,
11095 OPC_CheckType, MVT::v8i16,
11096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11097 MVT::v8i16, 2, 16,
11098 0,
11099 0,
11100 0,
11101 67|128,6,
11102 OPC_CheckChild0Same, 1,
11103 OPC_MoveSibling1,
11104 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11105 OPC_CheckChild0Same, 0,
11106 OPC_MoveParent,
11107 OPC_CheckType, MVT::v8i16,
11108 OPC_MoveParent,
11109 OPC_CheckChild2Integer, 2,
11110 OPC_CheckChild2TypeI32,
11111 OPC_CheckChild3Integer, 3,
11112 OPC_CheckChild3TypeI32,
11113 OPC_CheckChild4Integer, 6,
11114 OPC_CheckChild4TypeI32,
11115 OPC_MoveChild5,
11116 OPC_CheckInteger, 7,
11117 OPC_CheckTypeI32,
11118 OPC_MoveSibling6,
11119 OPC_CheckInteger, 10,
11120 OPC_CheckTypeI32,
11121 OPC_MoveSibling7,
11122 OPC_CheckInteger, 11,
11123 OPC_CheckTypeI32,
11124 OPC_MoveSibling, 8,
11125 OPC_CheckInteger, 14,
11126 OPC_CheckTypeI32,
11127 OPC_MoveSibling, 9,
11128 OPC_CheckInteger, 15,
11129 OPC_CheckTypeI32,
11130 OPC_MoveSibling, 10,
11131 OPC_CheckInteger, 18,
11132 OPC_CheckTypeI32,
11133 OPC_MoveSibling, 11,
11134 OPC_CheckInteger, 19,
11135 OPC_CheckTypeI32,
11136 OPC_MoveSibling, 12,
11137 OPC_CheckInteger, 22,
11138 OPC_CheckTypeI32,
11139 OPC_MoveSibling, 13,
11140 OPC_CheckInteger, 23,
11141 OPC_CheckTypeI32,
11142 OPC_MoveSibling, 14,
11143 OPC_CheckInteger, 26,
11144 OPC_CheckTypeI32,
11145 OPC_MoveSibling, 15,
11146 OPC_CheckInteger, 27,
11147 OPC_CheckTypeI32,
11148 OPC_MoveSibling, 16,
11149 OPC_CheckInteger, 30,
11150 OPC_CheckTypeI32,
11151 OPC_MoveSibling, 17,
11152 OPC_CheckInteger, 31,
11153 OPC_CheckTypeI32,
11154 OPC_MoveParent,
11155 OPC_MoveSibling1,
11156 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11157 OPC_MoveChild0,
11158 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11159 OPC_MoveChild0,
11160 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11161 OPC_Scope, 81|128,1,
11162 OPC_CheckChild0Same, 0,
11163 OPC_MoveSibling1,
11164 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11165 OPC_CheckChild0Same, 1,
11166 OPC_MoveParent,
11167 OPC_CheckType, MVT::v8i16,
11168 OPC_MoveSibling1,
11169 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11170 OPC_MoveChild0,
11171 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11172 OPC_Scope, 93,
11173 OPC_CheckChild0Same, 0,
11174 OPC_MoveSibling1,
11175 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11176 OPC_CheckChild0Same, 1,
11177 OPC_MoveParent,
11178 OPC_CheckType, MVT::v8i16,
11179 OPC_MoveParent,
11180 OPC_CheckChild2Integer, 0,
11181 OPC_CheckChild2TypeI32,
11182 OPC_CheckChild3Integer, 1,
11183 OPC_CheckChild3TypeI32,
11184 OPC_CheckChild4Integer, 4,
11185 OPC_CheckChild4TypeI32,
11186 OPC_MoveChild5,
11187 OPC_CheckInteger, 5,
11188 OPC_CheckTypeI32,
11189 OPC_MoveSibling6,
11190 OPC_CheckInteger, 8,
11191 OPC_CheckTypeI32,
11192 OPC_MoveSibling7,
11193 OPC_CheckInteger, 9,
11194 OPC_CheckTypeI32,
11195 OPC_MoveSibling, 8,
11196 OPC_CheckInteger, 12,
11197 OPC_CheckTypeI32,
11198 OPC_MoveSibling, 9,
11199 OPC_CheckInteger, 13,
11200 OPC_CheckTypeI32,
11201 OPC_MoveSibling, 10,
11202 OPC_CheckInteger, 16,
11203 OPC_CheckTypeI32,
11204 OPC_MoveSibling, 11,
11205 OPC_CheckInteger, 17,
11206 OPC_CheckTypeI32,
11207 OPC_MoveSibling, 12,
11208 OPC_CheckInteger, 20,
11209 OPC_CheckTypeI32,
11210 OPC_MoveSibling, 13,
11211 OPC_CheckInteger, 21,
11212 OPC_CheckTypeI32,
11213 OPC_MoveSibling, 14,
11214 OPC_CheckInteger, 24,
11215 OPC_CheckTypeI32,
11216 OPC_MoveSibling, 15,
11217 OPC_CheckInteger, 25,
11218 OPC_CheckTypeI32,
11219 OPC_MoveSibling, 16,
11220 OPC_CheckInteger, 28,
11221 OPC_CheckTypeI32,
11222 OPC_MoveSibling, 17,
11223 OPC_CheckInteger, 29,
11224 OPC_CheckTypeI32,
11225 OPC_MoveParent,
11226 OPC_MoveParent,
11227 OPC_CheckType, MVT::v8i16,
11228 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11229 MVT::v8i16, 2, 16,
11230 93,
11231 OPC_CheckChild0Same, 1,
11232 OPC_MoveSibling1,
11233 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11234 OPC_CheckChild0Same, 0,
11235 OPC_MoveParent,
11236 OPC_CheckType, MVT::v8i16,
11237 OPC_MoveParent,
11238 OPC_CheckChild2Integer, 0,
11239 OPC_CheckChild2TypeI32,
11240 OPC_CheckChild3Integer, 1,
11241 OPC_CheckChild3TypeI32,
11242 OPC_CheckChild4Integer, 4,
11243 OPC_CheckChild4TypeI32,
11244 OPC_MoveChild5,
11245 OPC_CheckInteger, 5,
11246 OPC_CheckTypeI32,
11247 OPC_MoveSibling6,
11248 OPC_CheckInteger, 8,
11249 OPC_CheckTypeI32,
11250 OPC_MoveSibling7,
11251 OPC_CheckInteger, 9,
11252 OPC_CheckTypeI32,
11253 OPC_MoveSibling, 8,
11254 OPC_CheckInteger, 12,
11255 OPC_CheckTypeI32,
11256 OPC_MoveSibling, 9,
11257 OPC_CheckInteger, 13,
11258 OPC_CheckTypeI32,
11259 OPC_MoveSibling, 10,
11260 OPC_CheckInteger, 16,
11261 OPC_CheckTypeI32,
11262 OPC_MoveSibling, 11,
11263 OPC_CheckInteger, 17,
11264 OPC_CheckTypeI32,
11265 OPC_MoveSibling, 12,
11266 OPC_CheckInteger, 20,
11267 OPC_CheckTypeI32,
11268 OPC_MoveSibling, 13,
11269 OPC_CheckInteger, 21,
11270 OPC_CheckTypeI32,
11271 OPC_MoveSibling, 14,
11272 OPC_CheckInteger, 24,
11273 OPC_CheckTypeI32,
11274 OPC_MoveSibling, 15,
11275 OPC_CheckInteger, 25,
11276 OPC_CheckTypeI32,
11277 OPC_MoveSibling, 16,
11278 OPC_CheckInteger, 28,
11279 OPC_CheckTypeI32,
11280 OPC_MoveSibling, 17,
11281 OPC_CheckInteger, 29,
11282 OPC_CheckTypeI32,
11283 OPC_MoveParent,
11284 OPC_MoveParent,
11285 OPC_CheckType, MVT::v8i16,
11286 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11287 MVT::v8i16, 2, 16,
11288 0,
11289 57|128,2,
11290 OPC_CheckChild0Same, 1,
11291 OPC_MoveSibling1,
11292 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11293 OPC_CheckChild0Same, 0,
11294 OPC_MoveParent,
11295 OPC_CheckType, MVT::v8i16,
11296 OPC_MoveSibling1,
11297 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11298 OPC_MoveChild0,
11299 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11300 OPC_Scope, 93,
11301 OPC_CheckChild0Same, 0,
11302 OPC_MoveSibling1,
11303 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11304 OPC_CheckChild0Same, 1,
11305 OPC_MoveParent,
11306 OPC_CheckType, MVT::v8i16,
11307 OPC_MoveParent,
11308 OPC_CheckChild2Integer, 0,
11309 OPC_CheckChild2TypeI32,
11310 OPC_CheckChild3Integer, 1,
11311 OPC_CheckChild3TypeI32,
11312 OPC_CheckChild4Integer, 4,
11313 OPC_CheckChild4TypeI32,
11314 OPC_MoveChild5,
11315 OPC_CheckInteger, 5,
11316 OPC_CheckTypeI32,
11317 OPC_MoveSibling6,
11318 OPC_CheckInteger, 8,
11319 OPC_CheckTypeI32,
11320 OPC_MoveSibling7,
11321 OPC_CheckInteger, 9,
11322 OPC_CheckTypeI32,
11323 OPC_MoveSibling, 8,
11324 OPC_CheckInteger, 12,
11325 OPC_CheckTypeI32,
11326 OPC_MoveSibling, 9,
11327 OPC_CheckInteger, 13,
11328 OPC_CheckTypeI32,
11329 OPC_MoveSibling, 10,
11330 OPC_CheckInteger, 16,
11331 OPC_CheckTypeI32,
11332 OPC_MoveSibling, 11,
11333 OPC_CheckInteger, 17,
11334 OPC_CheckTypeI32,
11335 OPC_MoveSibling, 12,
11336 OPC_CheckInteger, 20,
11337 OPC_CheckTypeI32,
11338 OPC_MoveSibling, 13,
11339 OPC_CheckInteger, 21,
11340 OPC_CheckTypeI32,
11341 OPC_MoveSibling, 14,
11342 OPC_CheckInteger, 24,
11343 OPC_CheckTypeI32,
11344 OPC_MoveSibling, 15,
11345 OPC_CheckInteger, 25,
11346 OPC_CheckTypeI32,
11347 OPC_MoveSibling, 16,
11348 OPC_CheckInteger, 28,
11349 OPC_CheckTypeI32,
11350 OPC_MoveSibling, 17,
11351 OPC_CheckInteger, 29,
11352 OPC_CheckTypeI32,
11353 OPC_MoveParent,
11354 OPC_MoveParent,
11355 OPC_CheckType, MVT::v8i16,
11356 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11357 MVT::v8i16, 2, 16,
11358 103,
11359 OPC_CheckChild0Same, 1,
11360 OPC_MoveSibling1,
11361 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11362 OPC_CheckChild0Same, 0,
11363 OPC_MoveParent,
11364 OPC_CheckType, MVT::v8i16,
11365 OPC_MoveParent,
11366 OPC_CheckChild2Integer, 0,
11367 OPC_CheckChild2TypeI32,
11368 OPC_CheckChild3Integer, 1,
11369 OPC_CheckChild3TypeI32,
11370 OPC_CheckChild4Integer, 4,
11371 OPC_CheckChild4TypeI32,
11372 OPC_MoveChild5,
11373 OPC_CheckInteger, 5,
11374 OPC_CheckTypeI32,
11375 OPC_MoveSibling6,
11376 OPC_CheckInteger, 8,
11377 OPC_CheckTypeI32,
11378 OPC_MoveSibling7,
11379 OPC_CheckInteger, 9,
11380 OPC_CheckTypeI32,
11381 OPC_MoveSibling, 8,
11382 OPC_CheckInteger, 12,
11383 OPC_CheckTypeI32,
11384 OPC_MoveSibling, 9,
11385 OPC_CheckInteger, 13,
11386 OPC_CheckTypeI32,
11387 OPC_MoveSibling, 10,
11388 OPC_CheckInteger, 16,
11389 OPC_CheckTypeI32,
11390 OPC_MoveSibling, 11,
11391 OPC_CheckInteger, 17,
11392 OPC_CheckTypeI32,
11393 OPC_MoveSibling, 12,
11394 OPC_CheckInteger, 20,
11395 OPC_CheckTypeI32,
11396 OPC_MoveSibling, 13,
11397 OPC_CheckInteger, 21,
11398 OPC_CheckTypeI32,
11399 OPC_MoveSibling, 14,
11400 OPC_CheckInteger, 24,
11401 OPC_CheckTypeI32,
11402 OPC_MoveSibling, 15,
11403 OPC_CheckInteger, 25,
11404 OPC_CheckTypeI32,
11405 OPC_MoveSibling, 16,
11406 OPC_CheckInteger, 28,
11407 OPC_CheckTypeI32,
11408 OPC_MoveSibling, 17,
11409 OPC_CheckInteger, 29,
11410 OPC_CheckTypeI32,
11411 OPC_MoveParent,
11412 OPC_MoveParent,
11413 OPC_CheckType, MVT::v8i16,
11414 OPC_Scope, 6,
11415 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11416 MVT::v8i16, 2, 16,
11417 6,
11418 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11419 MVT::v8i16, 2, 1,
11420 0,
11421 93,
11422 OPC_CheckChild0Same, 0,
11423 OPC_MoveSibling1,
11424 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11425 OPC_CheckChild0Same, 1,
11426 OPC_MoveParent,
11427 OPC_CheckType, MVT::v8i16,
11428 OPC_MoveParent,
11429 OPC_CheckChild2Integer, 0,
11430 OPC_CheckChild2TypeI32,
11431 OPC_CheckChild3Integer, 1,
11432 OPC_CheckChild3TypeI32,
11433 OPC_CheckChild4Integer, 4,
11434 OPC_CheckChild4TypeI32,
11435 OPC_MoveChild5,
11436 OPC_CheckInteger, 5,
11437 OPC_CheckTypeI32,
11438 OPC_MoveSibling6,
11439 OPC_CheckInteger, 8,
11440 OPC_CheckTypeI32,
11441 OPC_MoveSibling7,
11442 OPC_CheckInteger, 9,
11443 OPC_CheckTypeI32,
11444 OPC_MoveSibling, 8,
11445 OPC_CheckInteger, 12,
11446 OPC_CheckTypeI32,
11447 OPC_MoveSibling, 9,
11448 OPC_CheckInteger, 13,
11449 OPC_CheckTypeI32,
11450 OPC_MoveSibling, 10,
11451 OPC_CheckInteger, 16,
11452 OPC_CheckTypeI32,
11453 OPC_MoveSibling, 11,
11454 OPC_CheckInteger, 17,
11455 OPC_CheckTypeI32,
11456 OPC_MoveSibling, 12,
11457 OPC_CheckInteger, 20,
11458 OPC_CheckTypeI32,
11459 OPC_MoveSibling, 13,
11460 OPC_CheckInteger, 21,
11461 OPC_CheckTypeI32,
11462 OPC_MoveSibling, 14,
11463 OPC_CheckInteger, 24,
11464 OPC_CheckTypeI32,
11465 OPC_MoveSibling, 15,
11466 OPC_CheckInteger, 25,
11467 OPC_CheckTypeI32,
11468 OPC_MoveSibling, 16,
11469 OPC_CheckInteger, 28,
11470 OPC_CheckTypeI32,
11471 OPC_MoveSibling, 17,
11472 OPC_CheckInteger, 29,
11473 OPC_CheckTypeI32,
11474 OPC_MoveParent,
11475 OPC_MoveParent,
11476 OPC_CheckType, MVT::v8i16,
11477 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11478 MVT::v8i16, 2, 1,
11479 0,
11480 81|128,1,
11481 OPC_CheckChild0Same, 0,
11482 OPC_MoveSibling1,
11483 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11484 OPC_CheckChild0Same, 1,
11485 OPC_MoveParent,
11486 OPC_CheckType, MVT::v8i16,
11487 OPC_MoveSibling1,
11488 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11489 OPC_MoveChild0,
11490 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11491 OPC_Scope, 93,
11492 OPC_CheckChild0Same, 1,
11493 OPC_MoveSibling1,
11494 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11495 OPC_CheckChild0Same, 0,
11496 OPC_MoveParent,
11497 OPC_CheckType, MVT::v8i16,
11498 OPC_MoveParent,
11499 OPC_CheckChild2Integer, 0,
11500 OPC_CheckChild2TypeI32,
11501 OPC_CheckChild3Integer, 1,
11502 OPC_CheckChild3TypeI32,
11503 OPC_CheckChild4Integer, 4,
11504 OPC_CheckChild4TypeI32,
11505 OPC_MoveChild5,
11506 OPC_CheckInteger, 5,
11507 OPC_CheckTypeI32,
11508 OPC_MoveSibling6,
11509 OPC_CheckInteger, 8,
11510 OPC_CheckTypeI32,
11511 OPC_MoveSibling7,
11512 OPC_CheckInteger, 9,
11513 OPC_CheckTypeI32,
11514 OPC_MoveSibling, 8,
11515 OPC_CheckInteger, 12,
11516 OPC_CheckTypeI32,
11517 OPC_MoveSibling, 9,
11518 OPC_CheckInteger, 13,
11519 OPC_CheckTypeI32,
11520 OPC_MoveSibling, 10,
11521 OPC_CheckInteger, 16,
11522 OPC_CheckTypeI32,
11523 OPC_MoveSibling, 11,
11524 OPC_CheckInteger, 17,
11525 OPC_CheckTypeI32,
11526 OPC_MoveSibling, 12,
11527 OPC_CheckInteger, 20,
11528 OPC_CheckTypeI32,
11529 OPC_MoveSibling, 13,
11530 OPC_CheckInteger, 21,
11531 OPC_CheckTypeI32,
11532 OPC_MoveSibling, 14,
11533 OPC_CheckInteger, 24,
11534 OPC_CheckTypeI32,
11535 OPC_MoveSibling, 15,
11536 OPC_CheckInteger, 25,
11537 OPC_CheckTypeI32,
11538 OPC_MoveSibling, 16,
11539 OPC_CheckInteger, 28,
11540 OPC_CheckTypeI32,
11541 OPC_MoveSibling, 17,
11542 OPC_CheckInteger, 29,
11543 OPC_CheckTypeI32,
11544 OPC_MoveParent,
11545 OPC_MoveParent,
11546 OPC_CheckType, MVT::v8i16,
11547 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11548 MVT::v8i16, 2, 1,
11549 93,
11550 OPC_CheckChild0Same, 0,
11551 OPC_MoveSibling1,
11552 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11553 OPC_CheckChild0Same, 1,
11554 OPC_MoveParent,
11555 OPC_CheckType, MVT::v8i16,
11556 OPC_MoveParent,
11557 OPC_CheckChild2Integer, 0,
11558 OPC_CheckChild2TypeI32,
11559 OPC_CheckChild3Integer, 1,
11560 OPC_CheckChild3TypeI32,
11561 OPC_CheckChild4Integer, 4,
11562 OPC_CheckChild4TypeI32,
11563 OPC_MoveChild5,
11564 OPC_CheckInteger, 5,
11565 OPC_CheckTypeI32,
11566 OPC_MoveSibling6,
11567 OPC_CheckInteger, 8,
11568 OPC_CheckTypeI32,
11569 OPC_MoveSibling7,
11570 OPC_CheckInteger, 9,
11571 OPC_CheckTypeI32,
11572 OPC_MoveSibling, 8,
11573 OPC_CheckInteger, 12,
11574 OPC_CheckTypeI32,
11575 OPC_MoveSibling, 9,
11576 OPC_CheckInteger, 13,
11577 OPC_CheckTypeI32,
11578 OPC_MoveSibling, 10,
11579 OPC_CheckInteger, 16,
11580 OPC_CheckTypeI32,
11581 OPC_MoveSibling, 11,
11582 OPC_CheckInteger, 17,
11583 OPC_CheckTypeI32,
11584 OPC_MoveSibling, 12,
11585 OPC_CheckInteger, 20,
11586 OPC_CheckTypeI32,
11587 OPC_MoveSibling, 13,
11588 OPC_CheckInteger, 21,
11589 OPC_CheckTypeI32,
11590 OPC_MoveSibling, 14,
11591 OPC_CheckInteger, 24,
11592 OPC_CheckTypeI32,
11593 OPC_MoveSibling, 15,
11594 OPC_CheckInteger, 25,
11595 OPC_CheckTypeI32,
11596 OPC_MoveSibling, 16,
11597 OPC_CheckInteger, 28,
11598 OPC_CheckTypeI32,
11599 OPC_MoveSibling, 17,
11600 OPC_CheckInteger, 29,
11601 OPC_CheckTypeI32,
11602 OPC_MoveParent,
11603 OPC_MoveParent,
11604 OPC_CheckType, MVT::v8i16,
11605 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11606 MVT::v8i16, 2, 1,
11607 0,
11608 0,
11609 8|128,4,
11610 OPC_CheckChild0Same, 0,
11611 OPC_MoveSibling1,
11612 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11613 OPC_CheckChild0Same, 1,
11614 OPC_MoveParent,
11615 OPC_CheckType, MVT::v8i16,
11616 OPC_MoveParent,
11617 OPC_CheckChild2Integer, 2,
11618 OPC_CheckChild2TypeI32,
11619 OPC_CheckChild3Integer, 3,
11620 OPC_CheckChild3TypeI32,
11621 OPC_CheckChild4Integer, 6,
11622 OPC_CheckChild4TypeI32,
11623 OPC_MoveChild5,
11624 OPC_CheckInteger, 7,
11625 OPC_CheckTypeI32,
11626 OPC_MoveSibling6,
11627 OPC_CheckInteger, 10,
11628 OPC_CheckTypeI32,
11629 OPC_MoveSibling7,
11630 OPC_CheckInteger, 11,
11631 OPC_CheckTypeI32,
11632 OPC_MoveSibling, 8,
11633 OPC_CheckInteger, 14,
11634 OPC_CheckTypeI32,
11635 OPC_MoveSibling, 9,
11636 OPC_CheckInteger, 15,
11637 OPC_CheckTypeI32,
11638 OPC_MoveSibling, 10,
11639 OPC_CheckInteger, 18,
11640 OPC_CheckTypeI32,
11641 OPC_MoveSibling, 11,
11642 OPC_CheckInteger, 19,
11643 OPC_CheckTypeI32,
11644 OPC_MoveSibling, 12,
11645 OPC_CheckInteger, 22,
11646 OPC_CheckTypeI32,
11647 OPC_MoveSibling, 13,
11648 OPC_CheckInteger, 23,
11649 OPC_CheckTypeI32,
11650 OPC_MoveSibling, 14,
11651 OPC_CheckInteger, 26,
11652 OPC_CheckTypeI32,
11653 OPC_MoveSibling, 15,
11654 OPC_CheckInteger, 27,
11655 OPC_CheckTypeI32,
11656 OPC_MoveSibling, 16,
11657 OPC_CheckInteger, 30,
11658 OPC_CheckTypeI32,
11659 OPC_MoveSibling, 17,
11660 OPC_CheckInteger, 31,
11661 OPC_CheckTypeI32,
11662 OPC_MoveParent,
11663 OPC_MoveSibling1,
11664 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11665 OPC_MoveChild0,
11666 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11667 OPC_MoveChild0,
11668 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11669 OPC_Scope, 81|128,1,
11670 OPC_CheckChild0Same, 1,
11671 OPC_MoveSibling1,
11672 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11673 OPC_CheckChild0Same, 0,
11674 OPC_MoveParent,
11675 OPC_CheckType, MVT::v8i16,
11676 OPC_MoveSibling1,
11677 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11678 OPC_MoveChild0,
11679 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11680 OPC_Scope, 93,
11681 OPC_CheckChild0Same, 1,
11682 OPC_MoveSibling1,
11683 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11684 OPC_CheckChild0Same, 0,
11685 OPC_MoveParent,
11686 OPC_CheckType, MVT::v8i16,
11687 OPC_MoveParent,
11688 OPC_CheckChild2Integer, 0,
11689 OPC_CheckChild2TypeI32,
11690 OPC_CheckChild3Integer, 1,
11691 OPC_CheckChild3TypeI32,
11692 OPC_CheckChild4Integer, 4,
11693 OPC_CheckChild4TypeI32,
11694 OPC_MoveChild5,
11695 OPC_CheckInteger, 5,
11696 OPC_CheckTypeI32,
11697 OPC_MoveSibling6,
11698 OPC_CheckInteger, 8,
11699 OPC_CheckTypeI32,
11700 OPC_MoveSibling7,
11701 OPC_CheckInteger, 9,
11702 OPC_CheckTypeI32,
11703 OPC_MoveSibling, 8,
11704 OPC_CheckInteger, 12,
11705 OPC_CheckTypeI32,
11706 OPC_MoveSibling, 9,
11707 OPC_CheckInteger, 13,
11708 OPC_CheckTypeI32,
11709 OPC_MoveSibling, 10,
11710 OPC_CheckInteger, 16,
11711 OPC_CheckTypeI32,
11712 OPC_MoveSibling, 11,
11713 OPC_CheckInteger, 17,
11714 OPC_CheckTypeI32,
11715 OPC_MoveSibling, 12,
11716 OPC_CheckInteger, 20,
11717 OPC_CheckTypeI32,
11718 OPC_MoveSibling, 13,
11719 OPC_CheckInteger, 21,
11720 OPC_CheckTypeI32,
11721 OPC_MoveSibling, 14,
11722 OPC_CheckInteger, 24,
11723 OPC_CheckTypeI32,
11724 OPC_MoveSibling, 15,
11725 OPC_CheckInteger, 25,
11726 OPC_CheckTypeI32,
11727 OPC_MoveSibling, 16,
11728 OPC_CheckInteger, 28,
11729 OPC_CheckTypeI32,
11730 OPC_MoveSibling, 17,
11731 OPC_CheckInteger, 29,
11732 OPC_CheckTypeI32,
11733 OPC_MoveParent,
11734 OPC_MoveParent,
11735 OPC_CheckType, MVT::v8i16,
11736 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11737 MVT::v8i16, 2, 1,
11738 93,
11739 OPC_CheckChild0Same, 0,
11740 OPC_MoveSibling1,
11741 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11742 OPC_CheckChild0Same, 1,
11743 OPC_MoveParent,
11744 OPC_CheckType, MVT::v8i16,
11745 OPC_MoveParent,
11746 OPC_CheckChild2Integer, 0,
11747 OPC_CheckChild2TypeI32,
11748 OPC_CheckChild3Integer, 1,
11749 OPC_CheckChild3TypeI32,
11750 OPC_CheckChild4Integer, 4,
11751 OPC_CheckChild4TypeI32,
11752 OPC_MoveChild5,
11753 OPC_CheckInteger, 5,
11754 OPC_CheckTypeI32,
11755 OPC_MoveSibling6,
11756 OPC_CheckInteger, 8,
11757 OPC_CheckTypeI32,
11758 OPC_MoveSibling7,
11759 OPC_CheckInteger, 9,
11760 OPC_CheckTypeI32,
11761 OPC_MoveSibling, 8,
11762 OPC_CheckInteger, 12,
11763 OPC_CheckTypeI32,
11764 OPC_MoveSibling, 9,
11765 OPC_CheckInteger, 13,
11766 OPC_CheckTypeI32,
11767 OPC_MoveSibling, 10,
11768 OPC_CheckInteger, 16,
11769 OPC_CheckTypeI32,
11770 OPC_MoveSibling, 11,
11771 OPC_CheckInteger, 17,
11772 OPC_CheckTypeI32,
11773 OPC_MoveSibling, 12,
11774 OPC_CheckInteger, 20,
11775 OPC_CheckTypeI32,
11776 OPC_MoveSibling, 13,
11777 OPC_CheckInteger, 21,
11778 OPC_CheckTypeI32,
11779 OPC_MoveSibling, 14,
11780 OPC_CheckInteger, 24,
11781 OPC_CheckTypeI32,
11782 OPC_MoveSibling, 15,
11783 OPC_CheckInteger, 25,
11784 OPC_CheckTypeI32,
11785 OPC_MoveSibling, 16,
11786 OPC_CheckInteger, 28,
11787 OPC_CheckTypeI32,
11788 OPC_MoveSibling, 17,
11789 OPC_CheckInteger, 29,
11790 OPC_CheckTypeI32,
11791 OPC_MoveParent,
11792 OPC_MoveParent,
11793 OPC_CheckType, MVT::v8i16,
11794 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11795 MVT::v8i16, 2, 1,
11796 0,
11797 81|128,1,
11798 OPC_CheckChild0Same, 0,
11799 OPC_MoveSibling1,
11800 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11801 OPC_CheckChild0Same, 1,
11802 OPC_MoveParent,
11803 OPC_CheckType, MVT::v8i16,
11804 OPC_MoveSibling1,
11805 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11806 OPC_MoveChild0,
11807 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11808 OPC_Scope, 93,
11809 OPC_CheckChild0Same, 1,
11810 OPC_MoveSibling1,
11811 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11812 OPC_CheckChild0Same, 0,
11813 OPC_MoveParent,
11814 OPC_CheckType, MVT::v8i16,
11815 OPC_MoveParent,
11816 OPC_CheckChild2Integer, 0,
11817 OPC_CheckChild2TypeI32,
11818 OPC_CheckChild3Integer, 1,
11819 OPC_CheckChild3TypeI32,
11820 OPC_CheckChild4Integer, 4,
11821 OPC_CheckChild4TypeI32,
11822 OPC_MoveChild5,
11823 OPC_CheckInteger, 5,
11824 OPC_CheckTypeI32,
11825 OPC_MoveSibling6,
11826 OPC_CheckInteger, 8,
11827 OPC_CheckTypeI32,
11828 OPC_MoveSibling7,
11829 OPC_CheckInteger, 9,
11830 OPC_CheckTypeI32,
11831 OPC_MoveSibling, 8,
11832 OPC_CheckInteger, 12,
11833 OPC_CheckTypeI32,
11834 OPC_MoveSibling, 9,
11835 OPC_CheckInteger, 13,
11836 OPC_CheckTypeI32,
11837 OPC_MoveSibling, 10,
11838 OPC_CheckInteger, 16,
11839 OPC_CheckTypeI32,
11840 OPC_MoveSibling, 11,
11841 OPC_CheckInteger, 17,
11842 OPC_CheckTypeI32,
11843 OPC_MoveSibling, 12,
11844 OPC_CheckInteger, 20,
11845 OPC_CheckTypeI32,
11846 OPC_MoveSibling, 13,
11847 OPC_CheckInteger, 21,
11848 OPC_CheckTypeI32,
11849 OPC_MoveSibling, 14,
11850 OPC_CheckInteger, 24,
11851 OPC_CheckTypeI32,
11852 OPC_MoveSibling, 15,
11853 OPC_CheckInteger, 25,
11854 OPC_CheckTypeI32,
11855 OPC_MoveSibling, 16,
11856 OPC_CheckInteger, 28,
11857 OPC_CheckTypeI32,
11858 OPC_MoveSibling, 17,
11859 OPC_CheckInteger, 29,
11860 OPC_CheckTypeI32,
11861 OPC_MoveParent,
11862 OPC_MoveParent,
11863 OPC_CheckType, MVT::v8i16,
11864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11865 MVT::v8i16, 2, 1,
11866 93,
11867 OPC_CheckChild0Same, 0,
11868 OPC_MoveSibling1,
11869 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11870 OPC_CheckChild0Same, 1,
11871 OPC_MoveParent,
11872 OPC_CheckType, MVT::v8i16,
11873 OPC_MoveParent,
11874 OPC_CheckChild2Integer, 0,
11875 OPC_CheckChild2TypeI32,
11876 OPC_CheckChild3Integer, 1,
11877 OPC_CheckChild3TypeI32,
11878 OPC_CheckChild4Integer, 4,
11879 OPC_CheckChild4TypeI32,
11880 OPC_MoveChild5,
11881 OPC_CheckInteger, 5,
11882 OPC_CheckTypeI32,
11883 OPC_MoveSibling6,
11884 OPC_CheckInteger, 8,
11885 OPC_CheckTypeI32,
11886 OPC_MoveSibling7,
11887 OPC_CheckInteger, 9,
11888 OPC_CheckTypeI32,
11889 OPC_MoveSibling, 8,
11890 OPC_CheckInteger, 12,
11891 OPC_CheckTypeI32,
11892 OPC_MoveSibling, 9,
11893 OPC_CheckInteger, 13,
11894 OPC_CheckTypeI32,
11895 OPC_MoveSibling, 10,
11896 OPC_CheckInteger, 16,
11897 OPC_CheckTypeI32,
11898 OPC_MoveSibling, 11,
11899 OPC_CheckInteger, 17,
11900 OPC_CheckTypeI32,
11901 OPC_MoveSibling, 12,
11902 OPC_CheckInteger, 20,
11903 OPC_CheckTypeI32,
11904 OPC_MoveSibling, 13,
11905 OPC_CheckInteger, 21,
11906 OPC_CheckTypeI32,
11907 OPC_MoveSibling, 14,
11908 OPC_CheckInteger, 24,
11909 OPC_CheckTypeI32,
11910 OPC_MoveSibling, 15,
11911 OPC_CheckInteger, 25,
11912 OPC_CheckTypeI32,
11913 OPC_MoveSibling, 16,
11914 OPC_CheckInteger, 28,
11915 OPC_CheckTypeI32,
11916 OPC_MoveSibling, 17,
11917 OPC_CheckInteger, 29,
11918 OPC_CheckTypeI32,
11919 OPC_MoveParent,
11920 OPC_MoveParent,
11921 OPC_CheckType, MVT::v8i16,
11922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11923 MVT::v8i16, 2, 1,
11924 0,
11925 0,
11926 0,
11927 0,
11928 99|128,5, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11929 OPC_RecordChild0,
11930 OPC_SwitchType , 109|128,2, MVT::v4i32,
11931 OPC_CheckChild0Type, MVT::v8i16,
11932 OPC_MoveSibling1,
11933 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11934 OPC_CheckChild0Same, 0,
11935 OPC_CheckType, MVT::v4i32,
11936 OPC_MoveParent,
11937 OPC_Scope, 46|128,1,
11938 OPC_CheckChild2Integer, 0,
11939 OPC_CheckChild2TypeI32,
11940 OPC_CheckChild3Integer, 1,
11941 OPC_CheckChild3TypeI32,
11942 OPC_CheckChild4Integer, 2,
11943 OPC_CheckChild4TypeI32,
11944 OPC_MoveChild5,
11945 OPC_CheckInteger, 3,
11946 OPC_CheckTypeI32,
11947 OPC_MoveSibling6,
11948 OPC_CheckInteger, 8,
11949 OPC_CheckTypeI32,
11950 OPC_MoveSibling7,
11951 OPC_CheckInteger, 9,
11952 OPC_CheckTypeI32,
11953 OPC_MoveSibling, 8,
11954 OPC_CheckInteger, 10,
11955 OPC_CheckTypeI32,
11956 OPC_MoveSibling, 9,
11957 OPC_CheckInteger, 11,
11958 OPC_CheckTypeI32,
11959 OPC_MoveSibling, 10,
11960 OPC_CheckInteger, 16,
11961 OPC_CheckTypeI32,
11962 OPC_MoveSibling, 11,
11963 OPC_CheckInteger, 17,
11964 OPC_CheckTypeI32,
11965 OPC_MoveSibling, 12,
11966 OPC_CheckInteger, 18,
11967 OPC_CheckTypeI32,
11968 OPC_MoveSibling, 13,
11969 OPC_CheckInteger, 19,
11970 OPC_CheckTypeI32,
11971 OPC_MoveSibling, 14,
11972 OPC_CheckInteger, 24,
11973 OPC_CheckTypeI32,
11974 OPC_MoveSibling, 15,
11975 OPC_CheckInteger, 25,
11976 OPC_CheckTypeI32,
11977 OPC_MoveSibling, 16,
11978 OPC_CheckInteger, 26,
11979 OPC_CheckTypeI32,
11980 OPC_MoveSibling, 17,
11981 OPC_CheckInteger, 27,
11982 OPC_CheckTypeI32,
11983 OPC_MoveParent,
11984 OPC_MoveSibling1,
11985 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11986 OPC_MoveChild0,
11987 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11988 OPC_CheckChild0Same, 0,
11989 OPC_CheckType, MVT::v4i32,
11990 OPC_MoveSibling1,
11991 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11992 OPC_CheckChild0Same, 0,
11993 OPC_CheckType, MVT::v4i32,
11994 OPC_MoveParent,
11995 OPC_CheckChild2Integer, 4,
11996 OPC_CheckChild2TypeI32,
11997 OPC_CheckChild3Integer, 5,
11998 OPC_CheckChild3TypeI32,
11999 OPC_CheckChild4Integer, 6,
12000 OPC_CheckChild4TypeI32,
12001 OPC_MoveChild5,
12002 OPC_CheckInteger, 7,
12003 OPC_CheckTypeI32,
12004 OPC_MoveSibling6,
12005 OPC_CheckInteger, 12,
12006 OPC_CheckTypeI32,
12007 OPC_MoveSibling7,
12008 OPC_CheckInteger, 13,
12009 OPC_CheckTypeI32,
12010 OPC_MoveSibling, 8,
12011 OPC_CheckInteger, 14,
12012 OPC_CheckTypeI32,
12013 OPC_MoveSibling, 9,
12014 OPC_CheckInteger, 15,
12015 OPC_CheckTypeI32,
12016 OPC_MoveSibling, 10,
12017 OPC_CheckInteger, 20,
12018 OPC_CheckTypeI32,
12019 OPC_MoveSibling, 11,
12020 OPC_CheckInteger, 21,
12021 OPC_CheckTypeI32,
12022 OPC_MoveSibling, 12,
12023 OPC_CheckInteger, 22,
12024 OPC_CheckTypeI32,
12025 OPC_MoveSibling, 13,
12026 OPC_CheckInteger, 23,
12027 OPC_CheckTypeI32,
12028 OPC_MoveSibling, 14,
12029 OPC_CheckInteger, 28,
12030 OPC_CheckTypeI32,
12031 OPC_MoveSibling, 15,
12032 OPC_CheckInteger, 29,
12033 OPC_CheckTypeI32,
12034 OPC_MoveSibling, 16,
12035 OPC_CheckInteger, 30,
12036 OPC_CheckTypeI32,
12037 OPC_MoveSibling, 17,
12038 OPC_CheckInteger, 31,
12039 OPC_CheckTypeI32,
12040 OPC_MoveParent,
12041 OPC_MoveParent,
12042 OPC_CheckType, MVT::v4i32,
12043 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
12044 MVT::v4i32, 1, 2,
12045 46|128,1,
12046 OPC_CheckChild2Integer, 4,
12047 OPC_CheckChild2TypeI32,
12048 OPC_CheckChild3Integer, 5,
12049 OPC_CheckChild3TypeI32,
12050 OPC_CheckChild4Integer, 6,
12051 OPC_CheckChild4TypeI32,
12052 OPC_MoveChild5,
12053 OPC_CheckInteger, 7,
12054 OPC_CheckTypeI32,
12055 OPC_MoveSibling6,
12056 OPC_CheckInteger, 12,
12057 OPC_CheckTypeI32,
12058 OPC_MoveSibling7,
12059 OPC_CheckInteger, 13,
12060 OPC_CheckTypeI32,
12061 OPC_MoveSibling, 8,
12062 OPC_CheckInteger, 14,
12063 OPC_CheckTypeI32,
12064 OPC_MoveSibling, 9,
12065 OPC_CheckInteger, 15,
12066 OPC_CheckTypeI32,
12067 OPC_MoveSibling, 10,
12068 OPC_CheckInteger, 20,
12069 OPC_CheckTypeI32,
12070 OPC_MoveSibling, 11,
12071 OPC_CheckInteger, 21,
12072 OPC_CheckTypeI32,
12073 OPC_MoveSibling, 12,
12074 OPC_CheckInteger, 22,
12075 OPC_CheckTypeI32,
12076 OPC_MoveSibling, 13,
12077 OPC_CheckInteger, 23,
12078 OPC_CheckTypeI32,
12079 OPC_MoveSibling, 14,
12080 OPC_CheckInteger, 28,
12081 OPC_CheckTypeI32,
12082 OPC_MoveSibling, 15,
12083 OPC_CheckInteger, 29,
12084 OPC_CheckTypeI32,
12085 OPC_MoveSibling, 16,
12086 OPC_CheckInteger, 30,
12087 OPC_CheckTypeI32,
12088 OPC_MoveSibling, 17,
12089 OPC_CheckInteger, 31,
12090 OPC_CheckTypeI32,
12091 OPC_MoveParent,
12092 OPC_MoveSibling1,
12093 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12094 OPC_MoveChild0,
12095 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12096 OPC_CheckChild0Same, 0,
12097 OPC_CheckType, MVT::v4i32,
12098 OPC_MoveSibling1,
12099 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12100 OPC_CheckChild0Same, 0,
12101 OPC_CheckType, MVT::v4i32,
12102 OPC_MoveParent,
12103 OPC_CheckChild2Integer, 0,
12104 OPC_CheckChild2TypeI32,
12105 OPC_CheckChild3Integer, 1,
12106 OPC_CheckChild3TypeI32,
12107 OPC_CheckChild4Integer, 2,
12108 OPC_CheckChild4TypeI32,
12109 OPC_MoveChild5,
12110 OPC_CheckInteger, 3,
12111 OPC_CheckTypeI32,
12112 OPC_MoveSibling6,
12113 OPC_CheckInteger, 8,
12114 OPC_CheckTypeI32,
12115 OPC_MoveSibling7,
12116 OPC_CheckInteger, 9,
12117 OPC_CheckTypeI32,
12118 OPC_MoveSibling, 8,
12119 OPC_CheckInteger, 10,
12120 OPC_CheckTypeI32,
12121 OPC_MoveSibling, 9,
12122 OPC_CheckInteger, 11,
12123 OPC_CheckTypeI32,
12124 OPC_MoveSibling, 10,
12125 OPC_CheckInteger, 16,
12126 OPC_CheckTypeI32,
12127 OPC_MoveSibling, 11,
12128 OPC_CheckInteger, 17,
12129 OPC_CheckTypeI32,
12130 OPC_MoveSibling, 12,
12131 OPC_CheckInteger, 18,
12132 OPC_CheckTypeI32,
12133 OPC_MoveSibling, 13,
12134 OPC_CheckInteger, 19,
12135 OPC_CheckTypeI32,
12136 OPC_MoveSibling, 14,
12137 OPC_CheckInteger, 24,
12138 OPC_CheckTypeI32,
12139 OPC_MoveSibling, 15,
12140 OPC_CheckInteger, 25,
12141 OPC_CheckTypeI32,
12142 OPC_MoveSibling, 16,
12143 OPC_CheckInteger, 26,
12144 OPC_CheckTypeI32,
12145 OPC_MoveSibling, 17,
12146 OPC_CheckInteger, 27,
12147 OPC_CheckTypeI32,
12148 OPC_MoveParent,
12149 OPC_MoveParent,
12150 OPC_CheckType, MVT::v4i32,
12151 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
12152 MVT::v4i32, 1, 2,
12153 0,
12154 109|128,2, MVT::v8i16,
12155 OPC_CheckChild0Type, MVT::v16i8,
12156 OPC_MoveSibling1,
12157 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12158 OPC_CheckChild0Same, 0,
12159 OPC_CheckType, MVT::v8i16,
12160 OPC_MoveParent,
12161 OPC_Scope, 46|128,1,
12162 OPC_CheckChild2Integer, 0,
12163 OPC_CheckChild2TypeI32,
12164 OPC_CheckChild3Integer, 1,
12165 OPC_CheckChild3TypeI32,
12166 OPC_CheckChild4Integer, 4,
12167 OPC_CheckChild4TypeI32,
12168 OPC_MoveChild5,
12169 OPC_CheckInteger, 5,
12170 OPC_CheckTypeI32,
12171 OPC_MoveSibling6,
12172 OPC_CheckInteger, 8,
12173 OPC_CheckTypeI32,
12174 OPC_MoveSibling7,
12175 OPC_CheckInteger, 9,
12176 OPC_CheckTypeI32,
12177 OPC_MoveSibling, 8,
12178 OPC_CheckInteger, 12,
12179 OPC_CheckTypeI32,
12180 OPC_MoveSibling, 9,
12181 OPC_CheckInteger, 13,
12182 OPC_CheckTypeI32,
12183 OPC_MoveSibling, 10,
12184 OPC_CheckInteger, 16,
12185 OPC_CheckTypeI32,
12186 OPC_MoveSibling, 11,
12187 OPC_CheckInteger, 17,
12188 OPC_CheckTypeI32,
12189 OPC_MoveSibling, 12,
12190 OPC_CheckInteger, 20,
12191 OPC_CheckTypeI32,
12192 OPC_MoveSibling, 13,
12193 OPC_CheckInteger, 21,
12194 OPC_CheckTypeI32,
12195 OPC_MoveSibling, 14,
12196 OPC_CheckInteger, 24,
12197 OPC_CheckTypeI32,
12198 OPC_MoveSibling, 15,
12199 OPC_CheckInteger, 25,
12200 OPC_CheckTypeI32,
12201 OPC_MoveSibling, 16,
12202 OPC_CheckInteger, 28,
12203 OPC_CheckTypeI32,
12204 OPC_MoveSibling, 17,
12205 OPC_CheckInteger, 29,
12206 OPC_CheckTypeI32,
12207 OPC_MoveParent,
12208 OPC_MoveSibling1,
12209 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12210 OPC_MoveChild0,
12211 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12212 OPC_CheckChild0Same, 0,
12213 OPC_CheckType, MVT::v8i16,
12214 OPC_MoveSibling1,
12215 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12216 OPC_CheckChild0Same, 0,
12217 OPC_CheckType, MVT::v8i16,
12218 OPC_MoveParent,
12219 OPC_CheckChild2Integer, 2,
12220 OPC_CheckChild2TypeI32,
12221 OPC_CheckChild3Integer, 3,
12222 OPC_CheckChild3TypeI32,
12223 OPC_CheckChild4Integer, 6,
12224 OPC_CheckChild4TypeI32,
12225 OPC_MoveChild5,
12226 OPC_CheckInteger, 7,
12227 OPC_CheckTypeI32,
12228 OPC_MoveSibling6,
12229 OPC_CheckInteger, 10,
12230 OPC_CheckTypeI32,
12231 OPC_MoveSibling7,
12232 OPC_CheckInteger, 11,
12233 OPC_CheckTypeI32,
12234 OPC_MoveSibling, 8,
12235 OPC_CheckInteger, 14,
12236 OPC_CheckTypeI32,
12237 OPC_MoveSibling, 9,
12238 OPC_CheckInteger, 15,
12239 OPC_CheckTypeI32,
12240 OPC_MoveSibling, 10,
12241 OPC_CheckInteger, 18,
12242 OPC_CheckTypeI32,
12243 OPC_MoveSibling, 11,
12244 OPC_CheckInteger, 19,
12245 OPC_CheckTypeI32,
12246 OPC_MoveSibling, 12,
12247 OPC_CheckInteger, 22,
12248 OPC_CheckTypeI32,
12249 OPC_MoveSibling, 13,
12250 OPC_CheckInteger, 23,
12251 OPC_CheckTypeI32,
12252 OPC_MoveSibling, 14,
12253 OPC_CheckInteger, 26,
12254 OPC_CheckTypeI32,
12255 OPC_MoveSibling, 15,
12256 OPC_CheckInteger, 27,
12257 OPC_CheckTypeI32,
12258 OPC_MoveSibling, 16,
12259 OPC_CheckInteger, 30,
12260 OPC_CheckTypeI32,
12261 OPC_MoveSibling, 17,
12262 OPC_CheckInteger, 31,
12263 OPC_CheckTypeI32,
12264 OPC_MoveParent,
12265 OPC_MoveParent,
12266 OPC_CheckType, MVT::v8i16,
12267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
12268 MVT::v8i16, 1, 2,
12269 46|128,1,
12270 OPC_CheckChild2Integer, 2,
12271 OPC_CheckChild2TypeI32,
12272 OPC_CheckChild3Integer, 3,
12273 OPC_CheckChild3TypeI32,
12274 OPC_CheckChild4Integer, 6,
12275 OPC_CheckChild4TypeI32,
12276 OPC_MoveChild5,
12277 OPC_CheckInteger, 7,
12278 OPC_CheckTypeI32,
12279 OPC_MoveSibling6,
12280 OPC_CheckInteger, 10,
12281 OPC_CheckTypeI32,
12282 OPC_MoveSibling7,
12283 OPC_CheckInteger, 11,
12284 OPC_CheckTypeI32,
12285 OPC_MoveSibling, 8,
12286 OPC_CheckInteger, 14,
12287 OPC_CheckTypeI32,
12288 OPC_MoveSibling, 9,
12289 OPC_CheckInteger, 15,
12290 OPC_CheckTypeI32,
12291 OPC_MoveSibling, 10,
12292 OPC_CheckInteger, 18,
12293 OPC_CheckTypeI32,
12294 OPC_MoveSibling, 11,
12295 OPC_CheckInteger, 19,
12296 OPC_CheckTypeI32,
12297 OPC_MoveSibling, 12,
12298 OPC_CheckInteger, 22,
12299 OPC_CheckTypeI32,
12300 OPC_MoveSibling, 13,
12301 OPC_CheckInteger, 23,
12302 OPC_CheckTypeI32,
12303 OPC_MoveSibling, 14,
12304 OPC_CheckInteger, 26,
12305 OPC_CheckTypeI32,
12306 OPC_MoveSibling, 15,
12307 OPC_CheckInteger, 27,
12308 OPC_CheckTypeI32,
12309 OPC_MoveSibling, 16,
12310 OPC_CheckInteger, 30,
12311 OPC_CheckTypeI32,
12312 OPC_MoveSibling, 17,
12313 OPC_CheckInteger, 31,
12314 OPC_CheckTypeI32,
12315 OPC_MoveParent,
12316 OPC_MoveSibling1,
12317 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12318 OPC_MoveChild0,
12319 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12320 OPC_CheckChild0Same, 0,
12321 OPC_CheckType, MVT::v8i16,
12322 OPC_MoveSibling1,
12323 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12324 OPC_CheckChild0Same, 0,
12325 OPC_CheckType, MVT::v8i16,
12326 OPC_MoveParent,
12327 OPC_CheckChild2Integer, 0,
12328 OPC_CheckChild2TypeI32,
12329 OPC_CheckChild3Integer, 1,
12330 OPC_CheckChild3TypeI32,
12331 OPC_CheckChild4Integer, 4,
12332 OPC_CheckChild4TypeI32,
12333 OPC_MoveChild5,
12334 OPC_CheckInteger, 5,
12335 OPC_CheckTypeI32,
12336 OPC_MoveSibling6,
12337 OPC_CheckInteger, 8,
12338 OPC_CheckTypeI32,
12339 OPC_MoveSibling7,
12340 OPC_CheckInteger, 9,
12341 OPC_CheckTypeI32,
12342 OPC_MoveSibling, 8,
12343 OPC_CheckInteger, 12,
12344 OPC_CheckTypeI32,
12345 OPC_MoveSibling, 9,
12346 OPC_CheckInteger, 13,
12347 OPC_CheckTypeI32,
12348 OPC_MoveSibling, 10,
12349 OPC_CheckInteger, 16,
12350 OPC_CheckTypeI32,
12351 OPC_MoveSibling, 11,
12352 OPC_CheckInteger, 17,
12353 OPC_CheckTypeI32,
12354 OPC_MoveSibling, 12,
12355 OPC_CheckInteger, 20,
12356 OPC_CheckTypeI32,
12357 OPC_MoveSibling, 13,
12358 OPC_CheckInteger, 21,
12359 OPC_CheckTypeI32,
12360 OPC_MoveSibling, 14,
12361 OPC_CheckInteger, 24,
12362 OPC_CheckTypeI32,
12363 OPC_MoveSibling, 15,
12364 OPC_CheckInteger, 25,
12365 OPC_CheckTypeI32,
12366 OPC_MoveSibling, 16,
12367 OPC_CheckInteger, 28,
12368 OPC_CheckTypeI32,
12369 OPC_MoveSibling, 17,
12370 OPC_CheckInteger, 29,
12371 OPC_CheckTypeI32,
12372 OPC_MoveParent,
12373 OPC_MoveParent,
12374 OPC_CheckType, MVT::v8i16,
12375 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
12376 MVT::v8i16, 1, 2,
12377 0,
12378 0,
12379 99|128,5, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12380 OPC_RecordChild0,
12381 OPC_SwitchType , 109|128,2, MVT::v4i32,
12382 OPC_CheckChild0Type, MVT::v8i16,
12383 OPC_MoveSibling1,
12384 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12385 OPC_CheckChild0Same, 0,
12386 OPC_CheckType, MVT::v4i32,
12387 OPC_MoveParent,
12388 OPC_Scope, 46|128,1,
12389 OPC_CheckChild2Integer, 0,
12390 OPC_CheckChild2TypeI32,
12391 OPC_CheckChild3Integer, 1,
12392 OPC_CheckChild3TypeI32,
12393 OPC_CheckChild4Integer, 2,
12394 OPC_CheckChild4TypeI32,
12395 OPC_MoveChild5,
12396 OPC_CheckInteger, 3,
12397 OPC_CheckTypeI32,
12398 OPC_MoveSibling6,
12399 OPC_CheckInteger, 8,
12400 OPC_CheckTypeI32,
12401 OPC_MoveSibling7,
12402 OPC_CheckInteger, 9,
12403 OPC_CheckTypeI32,
12404 OPC_MoveSibling, 8,
12405 OPC_CheckInteger, 10,
12406 OPC_CheckTypeI32,
12407 OPC_MoveSibling, 9,
12408 OPC_CheckInteger, 11,
12409 OPC_CheckTypeI32,
12410 OPC_MoveSibling, 10,
12411 OPC_CheckInteger, 16,
12412 OPC_CheckTypeI32,
12413 OPC_MoveSibling, 11,
12414 OPC_CheckInteger, 17,
12415 OPC_CheckTypeI32,
12416 OPC_MoveSibling, 12,
12417 OPC_CheckInteger, 18,
12418 OPC_CheckTypeI32,
12419 OPC_MoveSibling, 13,
12420 OPC_CheckInteger, 19,
12421 OPC_CheckTypeI32,
12422 OPC_MoveSibling, 14,
12423 OPC_CheckInteger, 24,
12424 OPC_CheckTypeI32,
12425 OPC_MoveSibling, 15,
12426 OPC_CheckInteger, 25,
12427 OPC_CheckTypeI32,
12428 OPC_MoveSibling, 16,
12429 OPC_CheckInteger, 26,
12430 OPC_CheckTypeI32,
12431 OPC_MoveSibling, 17,
12432 OPC_CheckInteger, 27,
12433 OPC_CheckTypeI32,
12434 OPC_MoveParent,
12435 OPC_MoveSibling1,
12436 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12437 OPC_MoveChild0,
12438 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12439 OPC_CheckChild0Same, 0,
12440 OPC_CheckType, MVT::v4i32,
12441 OPC_MoveSibling1,
12442 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12443 OPC_CheckChild0Same, 0,
12444 OPC_CheckType, MVT::v4i32,
12445 OPC_MoveParent,
12446 OPC_CheckChild2Integer, 4,
12447 OPC_CheckChild2TypeI32,
12448 OPC_CheckChild3Integer, 5,
12449 OPC_CheckChild3TypeI32,
12450 OPC_CheckChild4Integer, 6,
12451 OPC_CheckChild4TypeI32,
12452 OPC_MoveChild5,
12453 OPC_CheckInteger, 7,
12454 OPC_CheckTypeI32,
12455 OPC_MoveSibling6,
12456 OPC_CheckInteger, 12,
12457 OPC_CheckTypeI32,
12458 OPC_MoveSibling7,
12459 OPC_CheckInteger, 13,
12460 OPC_CheckTypeI32,
12461 OPC_MoveSibling, 8,
12462 OPC_CheckInteger, 14,
12463 OPC_CheckTypeI32,
12464 OPC_MoveSibling, 9,
12465 OPC_CheckInteger, 15,
12466 OPC_CheckTypeI32,
12467 OPC_MoveSibling, 10,
12468 OPC_CheckInteger, 20,
12469 OPC_CheckTypeI32,
12470 OPC_MoveSibling, 11,
12471 OPC_CheckInteger, 21,
12472 OPC_CheckTypeI32,
12473 OPC_MoveSibling, 12,
12474 OPC_CheckInteger, 22,
12475 OPC_CheckTypeI32,
12476 OPC_MoveSibling, 13,
12477 OPC_CheckInteger, 23,
12478 OPC_CheckTypeI32,
12479 OPC_MoveSibling, 14,
12480 OPC_CheckInteger, 28,
12481 OPC_CheckTypeI32,
12482 OPC_MoveSibling, 15,
12483 OPC_CheckInteger, 29,
12484 OPC_CheckTypeI32,
12485 OPC_MoveSibling, 16,
12486 OPC_CheckInteger, 30,
12487 OPC_CheckTypeI32,
12488 OPC_MoveSibling, 17,
12489 OPC_CheckInteger, 31,
12490 OPC_CheckTypeI32,
12491 OPC_MoveParent,
12492 OPC_MoveParent,
12493 OPC_CheckType, MVT::v4i32,
12494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
12495 MVT::v4i32, 1, 2,
12496 46|128,1,
12497 OPC_CheckChild2Integer, 4,
12498 OPC_CheckChild2TypeI32,
12499 OPC_CheckChild3Integer, 5,
12500 OPC_CheckChild3TypeI32,
12501 OPC_CheckChild4Integer, 6,
12502 OPC_CheckChild4TypeI32,
12503 OPC_MoveChild5,
12504 OPC_CheckInteger, 7,
12505 OPC_CheckTypeI32,
12506 OPC_MoveSibling6,
12507 OPC_CheckInteger, 12,
12508 OPC_CheckTypeI32,
12509 OPC_MoveSibling7,
12510 OPC_CheckInteger, 13,
12511 OPC_CheckTypeI32,
12512 OPC_MoveSibling, 8,
12513 OPC_CheckInteger, 14,
12514 OPC_CheckTypeI32,
12515 OPC_MoveSibling, 9,
12516 OPC_CheckInteger, 15,
12517 OPC_CheckTypeI32,
12518 OPC_MoveSibling, 10,
12519 OPC_CheckInteger, 20,
12520 OPC_CheckTypeI32,
12521 OPC_MoveSibling, 11,
12522 OPC_CheckInteger, 21,
12523 OPC_CheckTypeI32,
12524 OPC_MoveSibling, 12,
12525 OPC_CheckInteger, 22,
12526 OPC_CheckTypeI32,
12527 OPC_MoveSibling, 13,
12528 OPC_CheckInteger, 23,
12529 OPC_CheckTypeI32,
12530 OPC_MoveSibling, 14,
12531 OPC_CheckInteger, 28,
12532 OPC_CheckTypeI32,
12533 OPC_MoveSibling, 15,
12534 OPC_CheckInteger, 29,
12535 OPC_CheckTypeI32,
12536 OPC_MoveSibling, 16,
12537 OPC_CheckInteger, 30,
12538 OPC_CheckTypeI32,
12539 OPC_MoveSibling, 17,
12540 OPC_CheckInteger, 31,
12541 OPC_CheckTypeI32,
12542 OPC_MoveParent,
12543 OPC_MoveSibling1,
12544 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12545 OPC_MoveChild0,
12546 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12547 OPC_CheckChild0Same, 0,
12548 OPC_CheckType, MVT::v4i32,
12549 OPC_MoveSibling1,
12550 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12551 OPC_CheckChild0Same, 0,
12552 OPC_CheckType, MVT::v4i32,
12553 OPC_MoveParent,
12554 OPC_CheckChild2Integer, 0,
12555 OPC_CheckChild2TypeI32,
12556 OPC_CheckChild3Integer, 1,
12557 OPC_CheckChild3TypeI32,
12558 OPC_CheckChild4Integer, 2,
12559 OPC_CheckChild4TypeI32,
12560 OPC_MoveChild5,
12561 OPC_CheckInteger, 3,
12562 OPC_CheckTypeI32,
12563 OPC_MoveSibling6,
12564 OPC_CheckInteger, 8,
12565 OPC_CheckTypeI32,
12566 OPC_MoveSibling7,
12567 OPC_CheckInteger, 9,
12568 OPC_CheckTypeI32,
12569 OPC_MoveSibling, 8,
12570 OPC_CheckInteger, 10,
12571 OPC_CheckTypeI32,
12572 OPC_MoveSibling, 9,
12573 OPC_CheckInteger, 11,
12574 OPC_CheckTypeI32,
12575 OPC_MoveSibling, 10,
12576 OPC_CheckInteger, 16,
12577 OPC_CheckTypeI32,
12578 OPC_MoveSibling, 11,
12579 OPC_CheckInteger, 17,
12580 OPC_CheckTypeI32,
12581 OPC_MoveSibling, 12,
12582 OPC_CheckInteger, 18,
12583 OPC_CheckTypeI32,
12584 OPC_MoveSibling, 13,
12585 OPC_CheckInteger, 19,
12586 OPC_CheckTypeI32,
12587 OPC_MoveSibling, 14,
12588 OPC_CheckInteger, 24,
12589 OPC_CheckTypeI32,
12590 OPC_MoveSibling, 15,
12591 OPC_CheckInteger, 25,
12592 OPC_CheckTypeI32,
12593 OPC_MoveSibling, 16,
12594 OPC_CheckInteger, 26,
12595 OPC_CheckTypeI32,
12596 OPC_MoveSibling, 17,
12597 OPC_CheckInteger, 27,
12598 OPC_CheckTypeI32,
12599 OPC_MoveParent,
12600 OPC_MoveParent,
12601 OPC_CheckType, MVT::v4i32,
12602 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
12603 MVT::v4i32, 1, 2,
12604 0,
12605 109|128,2, MVT::v8i16,
12606 OPC_CheckChild0Type, MVT::v16i8,
12607 OPC_MoveSibling1,
12608 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12609 OPC_CheckChild0Same, 0,
12610 OPC_CheckType, MVT::v8i16,
12611 OPC_MoveParent,
12612 OPC_Scope, 46|128,1,
12613 OPC_CheckChild2Integer, 0,
12614 OPC_CheckChild2TypeI32,
12615 OPC_CheckChild3Integer, 1,
12616 OPC_CheckChild3TypeI32,
12617 OPC_CheckChild4Integer, 4,
12618 OPC_CheckChild4TypeI32,
12619 OPC_MoveChild5,
12620 OPC_CheckInteger, 5,
12621 OPC_CheckTypeI32,
12622 OPC_MoveSibling6,
12623 OPC_CheckInteger, 8,
12624 OPC_CheckTypeI32,
12625 OPC_MoveSibling7,
12626 OPC_CheckInteger, 9,
12627 OPC_CheckTypeI32,
12628 OPC_MoveSibling, 8,
12629 OPC_CheckInteger, 12,
12630 OPC_CheckTypeI32,
12631 OPC_MoveSibling, 9,
12632 OPC_CheckInteger, 13,
12633 OPC_CheckTypeI32,
12634 OPC_MoveSibling, 10,
12635 OPC_CheckInteger, 16,
12636 OPC_CheckTypeI32,
12637 OPC_MoveSibling, 11,
12638 OPC_CheckInteger, 17,
12639 OPC_CheckTypeI32,
12640 OPC_MoveSibling, 12,
12641 OPC_CheckInteger, 20,
12642 OPC_CheckTypeI32,
12643 OPC_MoveSibling, 13,
12644 OPC_CheckInteger, 21,
12645 OPC_CheckTypeI32,
12646 OPC_MoveSibling, 14,
12647 OPC_CheckInteger, 24,
12648 OPC_CheckTypeI32,
12649 OPC_MoveSibling, 15,
12650 OPC_CheckInteger, 25,
12651 OPC_CheckTypeI32,
12652 OPC_MoveSibling, 16,
12653 OPC_CheckInteger, 28,
12654 OPC_CheckTypeI32,
12655 OPC_MoveSibling, 17,
12656 OPC_CheckInteger, 29,
12657 OPC_CheckTypeI32,
12658 OPC_MoveParent,
12659 OPC_MoveSibling1,
12660 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12661 OPC_MoveChild0,
12662 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12663 OPC_CheckChild0Same, 0,
12664 OPC_CheckType, MVT::v8i16,
12665 OPC_MoveSibling1,
12666 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12667 OPC_CheckChild0Same, 0,
12668 OPC_CheckType, MVT::v8i16,
12669 OPC_MoveParent,
12670 OPC_CheckChild2Integer, 2,
12671 OPC_CheckChild2TypeI32,
12672 OPC_CheckChild3Integer, 3,
12673 OPC_CheckChild3TypeI32,
12674 OPC_CheckChild4Integer, 6,
12675 OPC_CheckChild4TypeI32,
12676 OPC_MoveChild5,
12677 OPC_CheckInteger, 7,
12678 OPC_CheckTypeI32,
12679 OPC_MoveSibling6,
12680 OPC_CheckInteger, 10,
12681 OPC_CheckTypeI32,
12682 OPC_MoveSibling7,
12683 OPC_CheckInteger, 11,
12684 OPC_CheckTypeI32,
12685 OPC_MoveSibling, 8,
12686 OPC_CheckInteger, 14,
12687 OPC_CheckTypeI32,
12688 OPC_MoveSibling, 9,
12689 OPC_CheckInteger, 15,
12690 OPC_CheckTypeI32,
12691 OPC_MoveSibling, 10,
12692 OPC_CheckInteger, 18,
12693 OPC_CheckTypeI32,
12694 OPC_MoveSibling, 11,
12695 OPC_CheckInteger, 19,
12696 OPC_CheckTypeI32,
12697 OPC_MoveSibling, 12,
12698 OPC_CheckInteger, 22,
12699 OPC_CheckTypeI32,
12700 OPC_MoveSibling, 13,
12701 OPC_CheckInteger, 23,
12702 OPC_CheckTypeI32,
12703 OPC_MoveSibling, 14,
12704 OPC_CheckInteger, 26,
12705 OPC_CheckTypeI32,
12706 OPC_MoveSibling, 15,
12707 OPC_CheckInteger, 27,
12708 OPC_CheckTypeI32,
12709 OPC_MoveSibling, 16,
12710 OPC_CheckInteger, 30,
12711 OPC_CheckTypeI32,
12712 OPC_MoveSibling, 17,
12713 OPC_CheckInteger, 31,
12714 OPC_CheckTypeI32,
12715 OPC_MoveParent,
12716 OPC_MoveParent,
12717 OPC_CheckType, MVT::v8i16,
12718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
12719 MVT::v8i16, 1, 2,
12720 46|128,1,
12721 OPC_CheckChild2Integer, 2,
12722 OPC_CheckChild2TypeI32,
12723 OPC_CheckChild3Integer, 3,
12724 OPC_CheckChild3TypeI32,
12725 OPC_CheckChild4Integer, 6,
12726 OPC_CheckChild4TypeI32,
12727 OPC_MoveChild5,
12728 OPC_CheckInteger, 7,
12729 OPC_CheckTypeI32,
12730 OPC_MoveSibling6,
12731 OPC_CheckInteger, 10,
12732 OPC_CheckTypeI32,
12733 OPC_MoveSibling7,
12734 OPC_CheckInteger, 11,
12735 OPC_CheckTypeI32,
12736 OPC_MoveSibling, 8,
12737 OPC_CheckInteger, 14,
12738 OPC_CheckTypeI32,
12739 OPC_MoveSibling, 9,
12740 OPC_CheckInteger, 15,
12741 OPC_CheckTypeI32,
12742 OPC_MoveSibling, 10,
12743 OPC_CheckInteger, 18,
12744 OPC_CheckTypeI32,
12745 OPC_MoveSibling, 11,
12746 OPC_CheckInteger, 19,
12747 OPC_CheckTypeI32,
12748 OPC_MoveSibling, 12,
12749 OPC_CheckInteger, 22,
12750 OPC_CheckTypeI32,
12751 OPC_MoveSibling, 13,
12752 OPC_CheckInteger, 23,
12753 OPC_CheckTypeI32,
12754 OPC_MoveSibling, 14,
12755 OPC_CheckInteger, 26,
12756 OPC_CheckTypeI32,
12757 OPC_MoveSibling, 15,
12758 OPC_CheckInteger, 27,
12759 OPC_CheckTypeI32,
12760 OPC_MoveSibling, 16,
12761 OPC_CheckInteger, 30,
12762 OPC_CheckTypeI32,
12763 OPC_MoveSibling, 17,
12764 OPC_CheckInteger, 31,
12765 OPC_CheckTypeI32,
12766 OPC_MoveParent,
12767 OPC_MoveSibling1,
12768 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12769 OPC_MoveChild0,
12770 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12771 OPC_CheckChild0Same, 0,
12772 OPC_CheckType, MVT::v8i16,
12773 OPC_MoveSibling1,
12774 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12775 OPC_CheckChild0Same, 0,
12776 OPC_CheckType, MVT::v8i16,
12777 OPC_MoveParent,
12778 OPC_CheckChild2Integer, 0,
12779 OPC_CheckChild2TypeI32,
12780 OPC_CheckChild3Integer, 1,
12781 OPC_CheckChild3TypeI32,
12782 OPC_CheckChild4Integer, 4,
12783 OPC_CheckChild4TypeI32,
12784 OPC_MoveChild5,
12785 OPC_CheckInteger, 5,
12786 OPC_CheckTypeI32,
12787 OPC_MoveSibling6,
12788 OPC_CheckInteger, 8,
12789 OPC_CheckTypeI32,
12790 OPC_MoveSibling7,
12791 OPC_CheckInteger, 9,
12792 OPC_CheckTypeI32,
12793 OPC_MoveSibling, 8,
12794 OPC_CheckInteger, 12,
12795 OPC_CheckTypeI32,
12796 OPC_MoveSibling, 9,
12797 OPC_CheckInteger, 13,
12798 OPC_CheckTypeI32,
12799 OPC_MoveSibling, 10,
12800 OPC_CheckInteger, 16,
12801 OPC_CheckTypeI32,
12802 OPC_MoveSibling, 11,
12803 OPC_CheckInteger, 17,
12804 OPC_CheckTypeI32,
12805 OPC_MoveSibling, 12,
12806 OPC_CheckInteger, 20,
12807 OPC_CheckTypeI32,
12808 OPC_MoveSibling, 13,
12809 OPC_CheckInteger, 21,
12810 OPC_CheckTypeI32,
12811 OPC_MoveSibling, 14,
12812 OPC_CheckInteger, 24,
12813 OPC_CheckTypeI32,
12814 OPC_MoveSibling, 15,
12815 OPC_CheckInteger, 25,
12816 OPC_CheckTypeI32,
12817 OPC_MoveSibling, 16,
12818 OPC_CheckInteger, 28,
12819 OPC_CheckTypeI32,
12820 OPC_MoveSibling, 17,
12821 OPC_CheckInteger, 29,
12822 OPC_CheckTypeI32,
12823 OPC_MoveParent,
12824 OPC_MoveParent,
12825 OPC_CheckType, MVT::v8i16,
12826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
12827 MVT::v8i16, 1, 2,
12828 0,
12829 0,
12830 0,
12831 75|128,4, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12832 OPC_MoveChild0,
12833 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12834 OPC_RecordChild0,
12835 OPC_Scope, 32|128,2,
12836 OPC_CheckChild0Type, MVT::v8i16,
12837 OPC_CheckChild1Type, MVT::v8i16,
12838 OPC_Scope, 11|128,1,
12839 OPC_CheckChild2Integer, 0,
12840 OPC_CheckChild2TypeI32,
12841 OPC_CheckChild3Integer, 1,
12842 OPC_CheckChild3TypeI32,
12843 OPC_CheckChild4Integer, 4,
12844 OPC_CheckChild4TypeI32,
12845 OPC_MoveChild5,
12846 OPC_CheckInteger, 5,
12847 OPC_CheckTypeI32,
12848 OPC_MoveSibling6,
12849 OPC_CheckInteger, 8,
12850 OPC_CheckTypeI32,
12851 OPC_MoveSibling7,
12852 OPC_CheckInteger, 9,
12853 OPC_CheckTypeI32,
12854 OPC_MoveSibling, 8,
12855 OPC_CheckInteger, 12,
12856 OPC_CheckTypeI32,
12857 OPC_MoveSibling, 9,
12858 OPC_CheckInteger, 13,
12859 OPC_CheckTypeI32,
12860 OPC_MoveSibling, 10,
12861 OPC_CheckTypeI32,
12862 OPC_MoveSibling, 11,
12863 OPC_CheckTypeI32,
12864 OPC_MoveSibling, 12,
12865 OPC_CheckTypeI32,
12866 OPC_MoveSibling, 13,
12867 OPC_CheckTypeI32,
12868 OPC_MoveSibling, 14,
12869 OPC_CheckTypeI32,
12870 OPC_MoveSibling, 15,
12871 OPC_CheckTypeI32,
12872 OPC_MoveSibling, 16,
12873 OPC_CheckTypeI32,
12874 OPC_MoveSibling, 17,
12875 OPC_CheckTypeI32,
12876 OPC_MoveParent,
12877 OPC_CheckType, MVT::v8i16,
12878 OPC_MoveParent,
12879 OPC_MoveSibling1,
12880 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12881 OPC_MoveChild0,
12882 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12883 OPC_CheckChild0Same, 0,
12884 OPC_CheckChild1Type, MVT::v8i16,
12885 OPC_CheckChild2Integer, 2,
12886 OPC_CheckChild2TypeI32,
12887 OPC_CheckChild3Integer, 3,
12888 OPC_CheckChild3TypeI32,
12889 OPC_CheckChild4Integer, 6,
12890 OPC_CheckChild4TypeI32,
12891 OPC_MoveChild5,
12892 OPC_CheckInteger, 7,
12893 OPC_CheckTypeI32,
12894 OPC_MoveSibling6,
12895 OPC_CheckInteger, 10,
12896 OPC_CheckTypeI32,
12897 OPC_MoveSibling7,
12898 OPC_CheckInteger, 11,
12899 OPC_CheckTypeI32,
12900 OPC_MoveSibling, 8,
12901 OPC_CheckInteger, 14,
12902 OPC_CheckTypeI32,
12903 OPC_MoveSibling, 9,
12904 OPC_CheckInteger, 15,
12905 OPC_CheckTypeI32,
12906 OPC_MoveSibling, 10,
12907 OPC_CheckTypeI32,
12908 OPC_MoveSibling, 11,
12909 OPC_CheckTypeI32,
12910 OPC_MoveSibling, 12,
12911 OPC_CheckTypeI32,
12912 OPC_MoveSibling, 13,
12913 OPC_CheckTypeI32,
12914 OPC_MoveSibling, 14,
12915 OPC_CheckTypeI32,
12916 OPC_MoveSibling, 15,
12917 OPC_CheckTypeI32,
12918 OPC_MoveSibling, 16,
12919 OPC_CheckTypeI32,
12920 OPC_MoveSibling, 17,
12921 OPC_CheckTypeI32,
12922 OPC_MoveParent,
12923 OPC_CheckType, MVT::v8i16,
12924 OPC_MoveParent,
12925 OPC_MoveParent,
12926 OPC_CheckType, MVT::v4i32,
12927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
12928 MVT::v4i32, 1, 2,
12929 11|128,1,
12930 OPC_CheckChild2Integer, 2,
12931 OPC_CheckChild2TypeI32,
12932 OPC_CheckChild3Integer, 3,
12933 OPC_CheckChild3TypeI32,
12934 OPC_CheckChild4Integer, 6,
12935 OPC_CheckChild4TypeI32,
12936 OPC_MoveChild5,
12937 OPC_CheckInteger, 7,
12938 OPC_CheckTypeI32,
12939 OPC_MoveSibling6,
12940 OPC_CheckInteger, 10,
12941 OPC_CheckTypeI32,
12942 OPC_MoveSibling7,
12943 OPC_CheckInteger, 11,
12944 OPC_CheckTypeI32,
12945 OPC_MoveSibling, 8,
12946 OPC_CheckInteger, 14,
12947 OPC_CheckTypeI32,
12948 OPC_MoveSibling, 9,
12949 OPC_CheckInteger, 15,
12950 OPC_CheckTypeI32,
12951 OPC_MoveSibling, 10,
12952 OPC_CheckTypeI32,
12953 OPC_MoveSibling, 11,
12954 OPC_CheckTypeI32,
12955 OPC_MoveSibling, 12,
12956 OPC_CheckTypeI32,
12957 OPC_MoveSibling, 13,
12958 OPC_CheckTypeI32,
12959 OPC_MoveSibling, 14,
12960 OPC_CheckTypeI32,
12961 OPC_MoveSibling, 15,
12962 OPC_CheckTypeI32,
12963 OPC_MoveSibling, 16,
12964 OPC_CheckTypeI32,
12965 OPC_MoveSibling, 17,
12966 OPC_CheckTypeI32,
12967 OPC_MoveParent,
12968 OPC_CheckType, MVT::v8i16,
12969 OPC_MoveParent,
12970 OPC_MoveSibling1,
12971 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12972 OPC_MoveChild0,
12973 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12974 OPC_CheckChild0Same, 0,
12975 OPC_CheckChild1Type, MVT::v8i16,
12976 OPC_CheckChild2Integer, 0,
12977 OPC_CheckChild2TypeI32,
12978 OPC_CheckChild3Integer, 1,
12979 OPC_CheckChild3TypeI32,
12980 OPC_CheckChild4Integer, 4,
12981 OPC_CheckChild4TypeI32,
12982 OPC_MoveChild5,
12983 OPC_CheckInteger, 5,
12984 OPC_CheckTypeI32,
12985 OPC_MoveSibling6,
12986 OPC_CheckInteger, 8,
12987 OPC_CheckTypeI32,
12988 OPC_MoveSibling7,
12989 OPC_CheckInteger, 9,
12990 OPC_CheckTypeI32,
12991 OPC_MoveSibling, 8,
12992 OPC_CheckInteger, 12,
12993 OPC_CheckTypeI32,
12994 OPC_MoveSibling, 9,
12995 OPC_CheckInteger, 13,
12996 OPC_CheckTypeI32,
12997 OPC_MoveSibling, 10,
12998 OPC_CheckTypeI32,
12999 OPC_MoveSibling, 11,
13000 OPC_CheckTypeI32,
13001 OPC_MoveSibling, 12,
13002 OPC_CheckTypeI32,
13003 OPC_MoveSibling, 13,
13004 OPC_CheckTypeI32,
13005 OPC_MoveSibling, 14,
13006 OPC_CheckTypeI32,
13007 OPC_MoveSibling, 15,
13008 OPC_CheckTypeI32,
13009 OPC_MoveSibling, 16,
13010 OPC_CheckTypeI32,
13011 OPC_MoveSibling, 17,
13012 OPC_CheckTypeI32,
13013 OPC_MoveParent,
13014 OPC_CheckType, MVT::v8i16,
13015 OPC_MoveParent,
13016 OPC_MoveParent,
13017 OPC_CheckType, MVT::v4i32,
13018 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
13019 MVT::v4i32, 1, 2,
13020 0,
13021 32|128,2,
13022 OPC_CheckChild0Type, MVT::v16i8,
13023 OPC_CheckChild1Type, MVT::v16i8,
13024 OPC_Scope, 11|128,1,
13025 OPC_CheckChild2Integer, 0,
13026 OPC_CheckChild2TypeI32,
13027 OPC_CheckChild3Integer, 2,
13028 OPC_CheckChild3TypeI32,
13029 OPC_CheckChild4Integer, 4,
13030 OPC_CheckChild4TypeI32,
13031 OPC_MoveChild5,
13032 OPC_CheckInteger, 6,
13033 OPC_CheckTypeI32,
13034 OPC_MoveSibling6,
13035 OPC_CheckInteger, 8,
13036 OPC_CheckTypeI32,
13037 OPC_MoveSibling7,
13038 OPC_CheckInteger, 10,
13039 OPC_CheckTypeI32,
13040 OPC_MoveSibling, 8,
13041 OPC_CheckInteger, 12,
13042 OPC_CheckTypeI32,
13043 OPC_MoveSibling, 9,
13044 OPC_CheckInteger, 14,
13045 OPC_CheckTypeI32,
13046 OPC_MoveSibling, 10,
13047 OPC_CheckTypeI32,
13048 OPC_MoveSibling, 11,
13049 OPC_CheckTypeI32,
13050 OPC_MoveSibling, 12,
13051 OPC_CheckTypeI32,
13052 OPC_MoveSibling, 13,
13053 OPC_CheckTypeI32,
13054 OPC_MoveSibling, 14,
13055 OPC_CheckTypeI32,
13056 OPC_MoveSibling, 15,
13057 OPC_CheckTypeI32,
13058 OPC_MoveSibling, 16,
13059 OPC_CheckTypeI32,
13060 OPC_MoveSibling, 17,
13061 OPC_CheckTypeI32,
13062 OPC_MoveParent,
13063 OPC_CheckType, MVT::v16i8,
13064 OPC_MoveParent,
13065 OPC_MoveSibling1,
13066 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13067 OPC_MoveChild0,
13068 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13069 OPC_CheckChild0Same, 0,
13070 OPC_CheckChild1Type, MVT::v16i8,
13071 OPC_CheckChild2Integer, 1,
13072 OPC_CheckChild2TypeI32,
13073 OPC_CheckChild3Integer, 3,
13074 OPC_CheckChild3TypeI32,
13075 OPC_CheckChild4Integer, 5,
13076 OPC_CheckChild4TypeI32,
13077 OPC_MoveChild5,
13078 OPC_CheckInteger, 7,
13079 OPC_CheckTypeI32,
13080 OPC_MoveSibling6,
13081 OPC_CheckInteger, 9,
13082 OPC_CheckTypeI32,
13083 OPC_MoveSibling7,
13084 OPC_CheckInteger, 11,
13085 OPC_CheckTypeI32,
13086 OPC_MoveSibling, 8,
13087 OPC_CheckInteger, 13,
13088 OPC_CheckTypeI32,
13089 OPC_MoveSibling, 9,
13090 OPC_CheckInteger, 15,
13091 OPC_CheckTypeI32,
13092 OPC_MoveSibling, 10,
13093 OPC_CheckTypeI32,
13094 OPC_MoveSibling, 11,
13095 OPC_CheckTypeI32,
13096 OPC_MoveSibling, 12,
13097 OPC_CheckTypeI32,
13098 OPC_MoveSibling, 13,
13099 OPC_CheckTypeI32,
13100 OPC_MoveSibling, 14,
13101 OPC_CheckTypeI32,
13102 OPC_MoveSibling, 15,
13103 OPC_CheckTypeI32,
13104 OPC_MoveSibling, 16,
13105 OPC_CheckTypeI32,
13106 OPC_MoveSibling, 17,
13107 OPC_CheckTypeI32,
13108 OPC_MoveParent,
13109 OPC_CheckType, MVT::v16i8,
13110 OPC_MoveParent,
13111 OPC_MoveParent,
13112 OPC_CheckType, MVT::v8i16,
13113 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
13114 MVT::v8i16, 1, 2,
13115 11|128,1,
13116 OPC_CheckChild2Integer, 1,
13117 OPC_CheckChild2TypeI32,
13118 OPC_CheckChild3Integer, 3,
13119 OPC_CheckChild3TypeI32,
13120 OPC_CheckChild4Integer, 5,
13121 OPC_CheckChild4TypeI32,
13122 OPC_MoveChild5,
13123 OPC_CheckInteger, 7,
13124 OPC_CheckTypeI32,
13125 OPC_MoveSibling6,
13126 OPC_CheckInteger, 9,
13127 OPC_CheckTypeI32,
13128 OPC_MoveSibling7,
13129 OPC_CheckInteger, 11,
13130 OPC_CheckTypeI32,
13131 OPC_MoveSibling, 8,
13132 OPC_CheckInteger, 13,
13133 OPC_CheckTypeI32,
13134 OPC_MoveSibling, 9,
13135 OPC_CheckInteger, 15,
13136 OPC_CheckTypeI32,
13137 OPC_MoveSibling, 10,
13138 OPC_CheckTypeI32,
13139 OPC_MoveSibling, 11,
13140 OPC_CheckTypeI32,
13141 OPC_MoveSibling, 12,
13142 OPC_CheckTypeI32,
13143 OPC_MoveSibling, 13,
13144 OPC_CheckTypeI32,
13145 OPC_MoveSibling, 14,
13146 OPC_CheckTypeI32,
13147 OPC_MoveSibling, 15,
13148 OPC_CheckTypeI32,
13149 OPC_MoveSibling, 16,
13150 OPC_CheckTypeI32,
13151 OPC_MoveSibling, 17,
13152 OPC_CheckTypeI32,
13153 OPC_MoveParent,
13154 OPC_CheckType, MVT::v16i8,
13155 OPC_MoveParent,
13156 OPC_MoveSibling1,
13157 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13158 OPC_MoveChild0,
13159 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13160 OPC_CheckChild0Same, 0,
13161 OPC_CheckChild1Type, MVT::v16i8,
13162 OPC_CheckChild2Integer, 0,
13163 OPC_CheckChild2TypeI32,
13164 OPC_CheckChild3Integer, 2,
13165 OPC_CheckChild3TypeI32,
13166 OPC_CheckChild4Integer, 4,
13167 OPC_CheckChild4TypeI32,
13168 OPC_MoveChild5,
13169 OPC_CheckInteger, 6,
13170 OPC_CheckTypeI32,
13171 OPC_MoveSibling6,
13172 OPC_CheckInteger, 8,
13173 OPC_CheckTypeI32,
13174 OPC_MoveSibling7,
13175 OPC_CheckInteger, 10,
13176 OPC_CheckTypeI32,
13177 OPC_MoveSibling, 8,
13178 OPC_CheckInteger, 12,
13179 OPC_CheckTypeI32,
13180 OPC_MoveSibling, 9,
13181 OPC_CheckInteger, 14,
13182 OPC_CheckTypeI32,
13183 OPC_MoveSibling, 10,
13184 OPC_CheckTypeI32,
13185 OPC_MoveSibling, 11,
13186 OPC_CheckTypeI32,
13187 OPC_MoveSibling, 12,
13188 OPC_CheckTypeI32,
13189 OPC_MoveSibling, 13,
13190 OPC_CheckTypeI32,
13191 OPC_MoveSibling, 14,
13192 OPC_CheckTypeI32,
13193 OPC_MoveSibling, 15,
13194 OPC_CheckTypeI32,
13195 OPC_MoveSibling, 16,
13196 OPC_CheckTypeI32,
13197 OPC_MoveSibling, 17,
13198 OPC_CheckTypeI32,
13199 OPC_MoveParent,
13200 OPC_CheckType, MVT::v16i8,
13201 OPC_MoveParent,
13202 OPC_MoveParent,
13203 OPC_CheckType, MVT::v8i16,
13204 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
13205 MVT::v8i16, 1, 2,
13206 0,
13207 0,
13208 75|128,4, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13209 OPC_MoveChild0,
13210 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13211 OPC_RecordChild0,
13212 OPC_Scope, 32|128,2,
13213 OPC_CheckChild0Type, MVT::v8i16,
13214 OPC_CheckChild1Type, MVT::v8i16,
13215 OPC_Scope, 11|128,1,
13216 OPC_CheckChild2Integer, 0,
13217 OPC_CheckChild2TypeI32,
13218 OPC_CheckChild3Integer, 1,
13219 OPC_CheckChild3TypeI32,
13220 OPC_CheckChild4Integer, 4,
13221 OPC_CheckChild4TypeI32,
13222 OPC_MoveChild5,
13223 OPC_CheckInteger, 5,
13224 OPC_CheckTypeI32,
13225 OPC_MoveSibling6,
13226 OPC_CheckInteger, 8,
13227 OPC_CheckTypeI32,
13228 OPC_MoveSibling7,
13229 OPC_CheckInteger, 9,
13230 OPC_CheckTypeI32,
13231 OPC_MoveSibling, 8,
13232 OPC_CheckInteger, 12,
13233 OPC_CheckTypeI32,
13234 OPC_MoveSibling, 9,
13235 OPC_CheckInteger, 13,
13236 OPC_CheckTypeI32,
13237 OPC_MoveSibling, 10,
13238 OPC_CheckTypeI32,
13239 OPC_MoveSibling, 11,
13240 OPC_CheckTypeI32,
13241 OPC_MoveSibling, 12,
13242 OPC_CheckTypeI32,
13243 OPC_MoveSibling, 13,
13244 OPC_CheckTypeI32,
13245 OPC_MoveSibling, 14,
13246 OPC_CheckTypeI32,
13247 OPC_MoveSibling, 15,
13248 OPC_CheckTypeI32,
13249 OPC_MoveSibling, 16,
13250 OPC_CheckTypeI32,
13251 OPC_MoveSibling, 17,
13252 OPC_CheckTypeI32,
13253 OPC_MoveParent,
13254 OPC_CheckType, MVT::v8i16,
13255 OPC_MoveParent,
13256 OPC_MoveSibling1,
13257 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13258 OPC_MoveChild0,
13259 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13260 OPC_CheckChild0Same, 0,
13261 OPC_CheckChild1Type, MVT::v8i16,
13262 OPC_CheckChild2Integer, 2,
13263 OPC_CheckChild2TypeI32,
13264 OPC_CheckChild3Integer, 3,
13265 OPC_CheckChild3TypeI32,
13266 OPC_CheckChild4Integer, 6,
13267 OPC_CheckChild4TypeI32,
13268 OPC_MoveChild5,
13269 OPC_CheckInteger, 7,
13270 OPC_CheckTypeI32,
13271 OPC_MoveSibling6,
13272 OPC_CheckInteger, 10,
13273 OPC_CheckTypeI32,
13274 OPC_MoveSibling7,
13275 OPC_CheckInteger, 11,
13276 OPC_CheckTypeI32,
13277 OPC_MoveSibling, 8,
13278 OPC_CheckInteger, 14,
13279 OPC_CheckTypeI32,
13280 OPC_MoveSibling, 9,
13281 OPC_CheckInteger, 15,
13282 OPC_CheckTypeI32,
13283 OPC_MoveSibling, 10,
13284 OPC_CheckTypeI32,
13285 OPC_MoveSibling, 11,
13286 OPC_CheckTypeI32,
13287 OPC_MoveSibling, 12,
13288 OPC_CheckTypeI32,
13289 OPC_MoveSibling, 13,
13290 OPC_CheckTypeI32,
13291 OPC_MoveSibling, 14,
13292 OPC_CheckTypeI32,
13293 OPC_MoveSibling, 15,
13294 OPC_CheckTypeI32,
13295 OPC_MoveSibling, 16,
13296 OPC_CheckTypeI32,
13297 OPC_MoveSibling, 17,
13298 OPC_CheckTypeI32,
13299 OPC_MoveParent,
13300 OPC_CheckType, MVT::v8i16,
13301 OPC_MoveParent,
13302 OPC_MoveParent,
13303 OPC_CheckType, MVT::v4i32,
13304 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
13305 MVT::v4i32, 1, 2,
13306 11|128,1,
13307 OPC_CheckChild2Integer, 2,
13308 OPC_CheckChild2TypeI32,
13309 OPC_CheckChild3Integer, 3,
13310 OPC_CheckChild3TypeI32,
13311 OPC_CheckChild4Integer, 6,
13312 OPC_CheckChild4TypeI32,
13313 OPC_MoveChild5,
13314 OPC_CheckInteger, 7,
13315 OPC_CheckTypeI32,
13316 OPC_MoveSibling6,
13317 OPC_CheckInteger, 10,
13318 OPC_CheckTypeI32,
13319 OPC_MoveSibling7,
13320 OPC_CheckInteger, 11,
13321 OPC_CheckTypeI32,
13322 OPC_MoveSibling, 8,
13323 OPC_CheckInteger, 14,
13324 OPC_CheckTypeI32,
13325 OPC_MoveSibling, 9,
13326 OPC_CheckInteger, 15,
13327 OPC_CheckTypeI32,
13328 OPC_MoveSibling, 10,
13329 OPC_CheckTypeI32,
13330 OPC_MoveSibling, 11,
13331 OPC_CheckTypeI32,
13332 OPC_MoveSibling, 12,
13333 OPC_CheckTypeI32,
13334 OPC_MoveSibling, 13,
13335 OPC_CheckTypeI32,
13336 OPC_MoveSibling, 14,
13337 OPC_CheckTypeI32,
13338 OPC_MoveSibling, 15,
13339 OPC_CheckTypeI32,
13340 OPC_MoveSibling, 16,
13341 OPC_CheckTypeI32,
13342 OPC_MoveSibling, 17,
13343 OPC_CheckTypeI32,
13344 OPC_MoveParent,
13345 OPC_CheckType, MVT::v8i16,
13346 OPC_MoveParent,
13347 OPC_MoveSibling1,
13348 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13349 OPC_MoveChild0,
13350 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13351 OPC_CheckChild0Same, 0,
13352 OPC_CheckChild1Type, MVT::v8i16,
13353 OPC_CheckChild2Integer, 0,
13354 OPC_CheckChild2TypeI32,
13355 OPC_CheckChild3Integer, 1,
13356 OPC_CheckChild3TypeI32,
13357 OPC_CheckChild4Integer, 4,
13358 OPC_CheckChild4TypeI32,
13359 OPC_MoveChild5,
13360 OPC_CheckInteger, 5,
13361 OPC_CheckTypeI32,
13362 OPC_MoveSibling6,
13363 OPC_CheckInteger, 8,
13364 OPC_CheckTypeI32,
13365 OPC_MoveSibling7,
13366 OPC_CheckInteger, 9,
13367 OPC_CheckTypeI32,
13368 OPC_MoveSibling, 8,
13369 OPC_CheckInteger, 12,
13370 OPC_CheckTypeI32,
13371 OPC_MoveSibling, 9,
13372 OPC_CheckInteger, 13,
13373 OPC_CheckTypeI32,
13374 OPC_MoveSibling, 10,
13375 OPC_CheckTypeI32,
13376 OPC_MoveSibling, 11,
13377 OPC_CheckTypeI32,
13378 OPC_MoveSibling, 12,
13379 OPC_CheckTypeI32,
13380 OPC_MoveSibling, 13,
13381 OPC_CheckTypeI32,
13382 OPC_MoveSibling, 14,
13383 OPC_CheckTypeI32,
13384 OPC_MoveSibling, 15,
13385 OPC_CheckTypeI32,
13386 OPC_MoveSibling, 16,
13387 OPC_CheckTypeI32,
13388 OPC_MoveSibling, 17,
13389 OPC_CheckTypeI32,
13390 OPC_MoveParent,
13391 OPC_CheckType, MVT::v8i16,
13392 OPC_MoveParent,
13393 OPC_MoveParent,
13394 OPC_CheckType, MVT::v4i32,
13395 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
13396 MVT::v4i32, 1, 2,
13397 0,
13398 32|128,2,
13399 OPC_CheckChild0Type, MVT::v16i8,
13400 OPC_CheckChild1Type, MVT::v16i8,
13401 OPC_Scope, 11|128,1,
13402 OPC_CheckChild2Integer, 0,
13403 OPC_CheckChild2TypeI32,
13404 OPC_CheckChild3Integer, 2,
13405 OPC_CheckChild3TypeI32,
13406 OPC_CheckChild4Integer, 4,
13407 OPC_CheckChild4TypeI32,
13408 OPC_MoveChild5,
13409 OPC_CheckInteger, 6,
13410 OPC_CheckTypeI32,
13411 OPC_MoveSibling6,
13412 OPC_CheckInteger, 8,
13413 OPC_CheckTypeI32,
13414 OPC_MoveSibling7,
13415 OPC_CheckInteger, 10,
13416 OPC_CheckTypeI32,
13417 OPC_MoveSibling, 8,
13418 OPC_CheckInteger, 12,
13419 OPC_CheckTypeI32,
13420 OPC_MoveSibling, 9,
13421 OPC_CheckInteger, 14,
13422 OPC_CheckTypeI32,
13423 OPC_MoveSibling, 10,
13424 OPC_CheckTypeI32,
13425 OPC_MoveSibling, 11,
13426 OPC_CheckTypeI32,
13427 OPC_MoveSibling, 12,
13428 OPC_CheckTypeI32,
13429 OPC_MoveSibling, 13,
13430 OPC_CheckTypeI32,
13431 OPC_MoveSibling, 14,
13432 OPC_CheckTypeI32,
13433 OPC_MoveSibling, 15,
13434 OPC_CheckTypeI32,
13435 OPC_MoveSibling, 16,
13436 OPC_CheckTypeI32,
13437 OPC_MoveSibling, 17,
13438 OPC_CheckTypeI32,
13439 OPC_MoveParent,
13440 OPC_CheckType, MVT::v16i8,
13441 OPC_MoveParent,
13442 OPC_MoveSibling1,
13443 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13444 OPC_MoveChild0,
13445 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13446 OPC_CheckChild0Same, 0,
13447 OPC_CheckChild1Type, MVT::v16i8,
13448 OPC_CheckChild2Integer, 1,
13449 OPC_CheckChild2TypeI32,
13450 OPC_CheckChild3Integer, 3,
13451 OPC_CheckChild3TypeI32,
13452 OPC_CheckChild4Integer, 5,
13453 OPC_CheckChild4TypeI32,
13454 OPC_MoveChild5,
13455 OPC_CheckInteger, 7,
13456 OPC_CheckTypeI32,
13457 OPC_MoveSibling6,
13458 OPC_CheckInteger, 9,
13459 OPC_CheckTypeI32,
13460 OPC_MoveSibling7,
13461 OPC_CheckInteger, 11,
13462 OPC_CheckTypeI32,
13463 OPC_MoveSibling, 8,
13464 OPC_CheckInteger, 13,
13465 OPC_CheckTypeI32,
13466 OPC_MoveSibling, 9,
13467 OPC_CheckInteger, 15,
13468 OPC_CheckTypeI32,
13469 OPC_MoveSibling, 10,
13470 OPC_CheckTypeI32,
13471 OPC_MoveSibling, 11,
13472 OPC_CheckTypeI32,
13473 OPC_MoveSibling, 12,
13474 OPC_CheckTypeI32,
13475 OPC_MoveSibling, 13,
13476 OPC_CheckTypeI32,
13477 OPC_MoveSibling, 14,
13478 OPC_CheckTypeI32,
13479 OPC_MoveSibling, 15,
13480 OPC_CheckTypeI32,
13481 OPC_MoveSibling, 16,
13482 OPC_CheckTypeI32,
13483 OPC_MoveSibling, 17,
13484 OPC_CheckTypeI32,
13485 OPC_MoveParent,
13486 OPC_CheckType, MVT::v16i8,
13487 OPC_MoveParent,
13488 OPC_MoveParent,
13489 OPC_CheckType, MVT::v8i16,
13490 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
13491 MVT::v8i16, 1, 2,
13492 11|128,1,
13493 OPC_CheckChild2Integer, 1,
13494 OPC_CheckChild2TypeI32,
13495 OPC_CheckChild3Integer, 3,
13496 OPC_CheckChild3TypeI32,
13497 OPC_CheckChild4Integer, 5,
13498 OPC_CheckChild4TypeI32,
13499 OPC_MoveChild5,
13500 OPC_CheckInteger, 7,
13501 OPC_CheckTypeI32,
13502 OPC_MoveSibling6,
13503 OPC_CheckInteger, 9,
13504 OPC_CheckTypeI32,
13505 OPC_MoveSibling7,
13506 OPC_CheckInteger, 11,
13507 OPC_CheckTypeI32,
13508 OPC_MoveSibling, 8,
13509 OPC_CheckInteger, 13,
13510 OPC_CheckTypeI32,
13511 OPC_MoveSibling, 9,
13512 OPC_CheckInteger, 15,
13513 OPC_CheckTypeI32,
13514 OPC_MoveSibling, 10,
13515 OPC_CheckTypeI32,
13516 OPC_MoveSibling, 11,
13517 OPC_CheckTypeI32,
13518 OPC_MoveSibling, 12,
13519 OPC_CheckTypeI32,
13520 OPC_MoveSibling, 13,
13521 OPC_CheckTypeI32,
13522 OPC_MoveSibling, 14,
13523 OPC_CheckTypeI32,
13524 OPC_MoveSibling, 15,
13525 OPC_CheckTypeI32,
13526 OPC_MoveSibling, 16,
13527 OPC_CheckTypeI32,
13528 OPC_MoveSibling, 17,
13529 OPC_CheckTypeI32,
13530 OPC_MoveParent,
13531 OPC_CheckType, MVT::v16i8,
13532 OPC_MoveParent,
13533 OPC_MoveSibling1,
13534 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13535 OPC_MoveChild0,
13536 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
13537 OPC_CheckChild0Same, 0,
13538 OPC_CheckChild1Type, MVT::v16i8,
13539 OPC_CheckChild2Integer, 0,
13540 OPC_CheckChild2TypeI32,
13541 OPC_CheckChild3Integer, 2,
13542 OPC_CheckChild3TypeI32,
13543 OPC_CheckChild4Integer, 4,
13544 OPC_CheckChild4TypeI32,
13545 OPC_MoveChild5,
13546 OPC_CheckInteger, 6,
13547 OPC_CheckTypeI32,
13548 OPC_MoveSibling6,
13549 OPC_CheckInteger, 8,
13550 OPC_CheckTypeI32,
13551 OPC_MoveSibling7,
13552 OPC_CheckInteger, 10,
13553 OPC_CheckTypeI32,
13554 OPC_MoveSibling, 8,
13555 OPC_CheckInteger, 12,
13556 OPC_CheckTypeI32,
13557 OPC_MoveSibling, 9,
13558 OPC_CheckInteger, 14,
13559 OPC_CheckTypeI32,
13560 OPC_MoveSibling, 10,
13561 OPC_CheckTypeI32,
13562 OPC_MoveSibling, 11,
13563 OPC_CheckTypeI32,
13564 OPC_MoveSibling, 12,
13565 OPC_CheckTypeI32,
13566 OPC_MoveSibling, 13,
13567 OPC_CheckTypeI32,
13568 OPC_MoveSibling, 14,
13569 OPC_CheckTypeI32,
13570 OPC_MoveSibling, 15,
13571 OPC_CheckTypeI32,
13572 OPC_MoveSibling, 16,
13573 OPC_CheckTypeI32,
13574 OPC_MoveSibling, 17,
13575 OPC_CheckTypeI32,
13576 OPC_MoveParent,
13577 OPC_CheckType, MVT::v16i8,
13578 OPC_MoveParent,
13579 OPC_MoveParent,
13580 OPC_CheckType, MVT::v8i16,
13581 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
13582 MVT::v8i16, 1, 2,
13583 0,
13584 0,
13585 25, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
13586 OPC_CheckChild0Integer, 12|128,114|128,0,
13587 OPC_MoveChild1,
13588 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
13589 OPC_CheckChild0Integer, 41|128,114|128,0,
13590 OPC_RecordChild1,
13591 OPC_RecordChild2,
13592 OPC_MoveParent,
13593 OPC_MoveParent,
13594 OPC_RecordChild1,
13595 OPC_CheckType, MVT::v4i32,
13596 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
13597 MVT::v4i32, 3, 44,
13598 0,
13599 72,
13600 OPC_RecordChild0,
13601 OPC_Scope, 28,
13602 OPC_MoveChild1,
13603 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
13604 OPC_CheckChild0Integer, 12|128,114|128,0,
13605 OPC_MoveChild1,
13606 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
13607 OPC_CheckChild0Integer, 41|128,114|128,0,
13608 OPC_RecordChild1,
13609 OPC_RecordChild2,
13610 OPC_MoveParent,
13611 OPC_MoveParent,
13612 OPC_CheckType, MVT::v4i32,
13613 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
13614 MVT::v4i32, 3, 3,
13615 39,
13616 OPC_RecordChild1,
13617 OPC_SwitchType , 7, MVT::v16i8,
13618 OPC_CheckPatternPredicate0,
13619 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I8x16),
13620 MVT::v16i8, 2, 16,
13621 7, MVT::v8i16,
13622 OPC_CheckPatternPredicate0,
13623 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I16x8),
13624 MVT::v8i16, 2, 16,
13625 7, MVT::v4i32,
13626 OPC_CheckPatternPredicate0,
13627 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
13628 MVT::v4i32, 2, 16,
13629 7, MVT::v2i64,
13630 OPC_CheckPatternPredicate0,
13631 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64x2),
13632 MVT::v2i64, 2, 16,
13633 0,
13634 0,
13635 0,
13636 107, TARGET_VAL(ISD::SUB),
13637 OPC_Scope, 20,
13638 OPC_RecordChild0,
13639 OPC_RecordChild1,
13640 OPC_SwitchType , 6, MVT::i32,
13641 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32),
13642 MVT::i32, 2, 16,
13643 6, MVT::i64,
13644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64),
13645 MVT::i64, 2, 16,
13646 0,
13647 42,
13648 OPC_MoveChild0,
13649 OPC_CheckImmAllZerosV,
13650 OPC_MoveParent,
13651 OPC_RecordChild1,
13652 OPC_SwitchType , 7, MVT::v16i8,
13653 OPC_CheckPatternPredicate0,
13654 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I8x16),
13655 MVT::v16i8, 1, 2,
13656 7, MVT::v8i16,
13657 OPC_CheckPatternPredicate0,
13658 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I16x8),
13659 MVT::v8i16, 1, 2,
13660 7, MVT::v4i32,
13661 OPC_CheckPatternPredicate0,
13662 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I32x4),
13663 MVT::v4i32, 1, 2,
13664 7, MVT::v2i64,
13665 OPC_CheckPatternPredicate0,
13666 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I64x2),
13667 MVT::v2i64, 1, 2,
13668 0,
13669 40,
13670 OPC_RecordChild0,
13671 OPC_RecordChild1,
13672 OPC_SwitchType , 7, MVT::v16i8,
13673 OPC_CheckPatternPredicate0,
13674 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I8x16),
13675 MVT::v16i8, 2, 16,
13676 7, MVT::v8i16,
13677 OPC_CheckPatternPredicate0,
13678 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I16x8),
13679 MVT::v8i16, 2, 16,
13680 7, MVT::v4i32,
13681 OPC_CheckPatternPredicate0,
13682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32x4),
13683 MVT::v4i32, 2, 16,
13684 7, MVT::v2i64,
13685 OPC_CheckPatternPredicate0,
13686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64x2),
13687 MVT::v2i64, 2, 16,
13688 0,
13689 0,
13690 68|128,2, TARGET_VAL(ISD::MUL),
13691 OPC_Scope, 20,
13692 OPC_RecordChild0,
13693 OPC_RecordChild1,
13694 OPC_SwitchType , 6, MVT::i32,
13695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32),
13696 MVT::i32, 2, 16,
13697 6, MVT::i64,
13698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64),
13699 MVT::i64, 2, 16,
13700 0,
13701 11|128,2,
13702 OPC_MoveChild0,
13703 OPC_SwitchOpcode , 63, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13704 OPC_RecordChild0,
13705 OPC_Scope, 19,
13706 OPC_CheckChild0Type, MVT::v16i8,
13707 OPC_MoveSibling1,
13708 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13709 OPC_RecordChild0,
13710 OPC_CheckChild0Type, MVT::v16i8,
13711 OPC_MoveParent,
13712 OPC_CheckType, MVT::v8i16,
13713 OPC_CheckPatternPredicate0,
13714 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8),
13715 MVT::v8i16, 2, 16,
13716 19,
13717 OPC_CheckChild0Type, MVT::v8i16,
13718 OPC_MoveSibling1,
13719 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13720 OPC_RecordChild0,
13721 OPC_CheckChild0Type, MVT::v8i16,
13722 OPC_MoveParent,
13723 OPC_CheckType, MVT::v4i32,
13724 OPC_CheckPatternPredicate0,
13725 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I32x4),
13726 MVT::v4i32, 2, 16,
13727 19,
13728 OPC_CheckChild0Type, MVT::v4i32,
13729 OPC_MoveSibling1,
13730 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
13731 OPC_RecordChild0,
13732 OPC_CheckChild0Type, MVT::v4i32,
13733 OPC_MoveParent,
13734 OPC_CheckType, MVT::v2i64,
13735 OPC_CheckPatternPredicate0,
13736 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I64x2),
13737 MVT::v2i64, 2, 16,
13738 0,
13739 63, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
13740 OPC_RecordChild0,
13741 OPC_Scope, 19,
13742 OPC_CheckChild0Type, MVT::v16i8,
13743 OPC_MoveSibling1,
13744 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
13745 OPC_RecordChild0,
13746 OPC_CheckChild0Type, MVT::v16i8,
13747 OPC_MoveParent,
13748 OPC_CheckType, MVT::v8i16,
13749 OPC_CheckPatternPredicate0,
13750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8),
13751 MVT::v8i16, 2, 16,
13752 19,
13753 OPC_CheckChild0Type, MVT::v8i16,
13754 OPC_MoveSibling1,
13755 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
13756 OPC_RecordChild0,
13757 OPC_CheckChild0Type, MVT::v8i16,
13758 OPC_MoveParent,
13759 OPC_CheckType, MVT::v4i32,
13760 OPC_CheckPatternPredicate0,
13761 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I32x4),
13762 MVT::v4i32, 2, 16,
13763 19,
13764 OPC_CheckChild0Type, MVT::v4i32,
13765 OPC_MoveSibling1,
13766 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
13767 OPC_RecordChild0,
13768 OPC_CheckChild0Type, MVT::v4i32,
13769 OPC_MoveParent,
13770 OPC_CheckType, MVT::v2i64,
13771 OPC_CheckPatternPredicate0,
13772 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I64x2),
13773 MVT::v2i64, 2, 16,
13774 0,
13775 63, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13776 OPC_RecordChild0,
13777 OPC_Scope, 19,
13778 OPC_CheckChild0Type, MVT::v16i8,
13779 OPC_MoveSibling1,
13780 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13781 OPC_RecordChild0,
13782 OPC_CheckChild0Type, MVT::v16i8,
13783 OPC_MoveParent,
13784 OPC_CheckType, MVT::v8i16,
13785 OPC_CheckPatternPredicate0,
13786 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8),
13787 MVT::v8i16, 2, 16,
13788 19,
13789 OPC_CheckChild0Type, MVT::v8i16,
13790 OPC_MoveSibling1,
13791 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13792 OPC_RecordChild0,
13793 OPC_CheckChild0Type, MVT::v8i16,
13794 OPC_MoveParent,
13795 OPC_CheckType, MVT::v4i32,
13796 OPC_CheckPatternPredicate0,
13797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4),
13798 MVT::v4i32, 2, 16,
13799 19,
13800 OPC_CheckChild0Type, MVT::v4i32,
13801 OPC_MoveSibling1,
13802 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
13803 OPC_RecordChild0,
13804 OPC_CheckChild0Type, MVT::v4i32,
13805 OPC_MoveParent,
13806 OPC_CheckType, MVT::v2i64,
13807 OPC_CheckPatternPredicate0,
13808 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I64x2),
13809 MVT::v2i64, 2, 16,
13810 0,
13811 63, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
13812 OPC_RecordChild0,
13813 OPC_Scope, 19,
13814 OPC_CheckChild0Type, MVT::v16i8,
13815 OPC_MoveSibling1,
13816 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
13817 OPC_RecordChild0,
13818 OPC_CheckChild0Type, MVT::v16i8,
13819 OPC_MoveParent,
13820 OPC_CheckType, MVT::v8i16,
13821 OPC_CheckPatternPredicate0,
13822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8),
13823 MVT::v8i16, 2, 16,
13824 19,
13825 OPC_CheckChild0Type, MVT::v8i16,
13826 OPC_MoveSibling1,
13827 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
13828 OPC_RecordChild0,
13829 OPC_CheckChild0Type, MVT::v8i16,
13830 OPC_MoveParent,
13831 OPC_CheckType, MVT::v4i32,
13832 OPC_CheckPatternPredicate0,
13833 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4),
13834 MVT::v4i32, 2, 16,
13835 19,
13836 OPC_CheckChild0Type, MVT::v4i32,
13837 OPC_MoveSibling1,
13838 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
13839 OPC_RecordChild0,
13840 OPC_CheckChild0Type, MVT::v4i32,
13841 OPC_MoveParent,
13842 OPC_CheckType, MVT::v2i64,
13843 OPC_CheckPatternPredicate0,
13844 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I64x2),
13845 MVT::v2i64, 2, 16,
13846 0,
13847 0,
13848 31,
13849 OPC_RecordChild0,
13850 OPC_RecordChild1,
13851 OPC_SwitchType , 7, MVT::v8i16,
13852 OPC_CheckPatternPredicate0,
13853 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I16x8),
13854 MVT::v8i16, 2, 16,
13855 7, MVT::v4i32,
13856 OPC_CheckPatternPredicate0,
13857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32x4),
13858 MVT::v4i32, 2, 16,
13859 7, MVT::v2i64,
13860 OPC_CheckPatternPredicate0,
13861 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64x2),
13862 MVT::v2i64, 2, 16,
13863 0,
13864 0,
13865 20, TARGET_VAL(ISD::SDIV),
13866 OPC_RecordChild0,
13867 OPC_RecordChild1,
13868 OPC_SwitchType , 6, MVT::i32,
13869 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I32),
13870 MVT::i32, 2, 16,
13871 6, MVT::i64,
13872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I64),
13873 MVT::i64, 2, 16,
13874 0,
13875 20, TARGET_VAL(ISD::UDIV),
13876 OPC_RecordChild0,
13877 OPC_RecordChild1,
13878 OPC_SwitchType , 6, MVT::i32,
13879 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I32),
13880 MVT::i32, 2, 16,
13881 6, MVT::i64,
13882 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I64),
13883 MVT::i64, 2, 16,
13884 0,
13885 20, TARGET_VAL(ISD::SREM),
13886 OPC_RecordChild0,
13887 OPC_RecordChild1,
13888 OPC_SwitchType , 6, MVT::i32,
13889 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I32),
13890 MVT::i32, 2, 16,
13891 6, MVT::i64,
13892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I64),
13893 MVT::i64, 2, 16,
13894 0,
13895 20, TARGET_VAL(ISD::UREM),
13896 OPC_RecordChild0,
13897 OPC_RecordChild1,
13898 OPC_SwitchType , 6, MVT::i32,
13899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I32),
13900 MVT::i32, 2, 16,
13901 6, MVT::i64,
13902 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I64),
13903 MVT::i64, 2, 16,
13904 0,
13905 113|128,5, TARGET_VAL(ISD::OR),
13906 OPC_Scope, 20,
13907 OPC_RecordChild0,
13908 OPC_RecordChild1,
13909 OPC_SwitchType , 6, MVT::i32,
13910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I32),
13911 MVT::i32, 2, 16,
13912 6, MVT::i64,
13913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I64),
13914 MVT::i64, 2, 16,
13915 0,
13916 51|128,5,
13917 OPC_MoveChild0,
13918 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13919 OPC_Scope, 118,
13920 OPC_RecordChild0,
13921 OPC_RecordChild1,
13922 OPC_MoveSibling1,
13923 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13924 OPC_Scope, 46,
13925 OPC_MoveChild0,
13926 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13927 OPC_CheckChild0Same, 0,
13928 OPC_MoveChild1,
13929 OPC_CheckImmAllOnesV,
13930 OPC_MoveParent,
13931 OPC_MoveParent,
13932 OPC_RecordChild1,
13933 OPC_MoveParent,
13934 OPC_SwitchType , 6, MVT::v16i8,
13935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13936 MVT::v16i8, 3, 3,
13937 6, MVT::v8i16,
13938 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13939 MVT::v8i16, 3, 3,
13940 6, MVT::v4i32,
13941 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13942 MVT::v4i32, 3, 3,
13943 6, MVT::v2i64,
13944 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13945 MVT::v2i64, 3, 3,
13946 0,
13947 20,
13948 OPC_RecordChild0,
13949 OPC_MoveChild1,
13950 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13951 OPC_CheckChild0Same, 0,
13952 OPC_MoveChild1,
13953 OPC_CheckImmAllOnesV,
13954 OPC_MoveParent,
13955 OPC_MoveParent,
13956 OPC_MoveParent,
13957 OPC_CheckType, MVT::v16i8,
13958 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13959 MVT::v16i8, 3, 3,
13960 20,
13961 OPC_MoveChild0,
13962 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13963 OPC_CheckChild0Same, 1,
13964 OPC_MoveChild1,
13965 OPC_CheckImmAllOnesV,
13966 OPC_MoveParent,
13967 OPC_MoveParent,
13968 OPC_RecordChild1,
13969 OPC_MoveParent,
13970 OPC_CheckType, MVT::v16i8,
13971 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13972 MVT::v16i8, 3, 18,
13973 20,
13974 OPC_RecordChild0,
13975 OPC_MoveChild1,
13976 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13977 OPC_CheckChild0Same, 1,
13978 OPC_MoveChild1,
13979 OPC_CheckImmAllOnesV,
13980 OPC_MoveParent,
13981 OPC_MoveParent,
13982 OPC_MoveParent,
13983 OPC_CheckType, MVT::v16i8,
13984 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13985 MVT::v16i8, 3, 18,
13986 0,
13987 42,
13988 OPC_MoveChild0,
13989 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13990 OPC_RecordChild0,
13991 OPC_MoveChild1,
13992 OPC_CheckImmAllOnesV,
13993 OPC_MoveParent,
13994 OPC_MoveParent,
13995 OPC_RecordChild1,
13996 OPC_MoveSibling1,
13997 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13998 OPC_Scope, 12,
13999 OPC_CheckChild0Same, 0,
14000 OPC_RecordChild1,
14001 OPC_MoveParent,
14002 OPC_CheckType, MVT::v16i8,
14003 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14004 MVT::v16i8, 3, 0,
14005 12,
14006 OPC_RecordChild0,
14007 OPC_CheckChild1Same, 0,
14008 OPC_MoveParent,
14009 OPC_CheckType, MVT::v16i8,
14010 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14011 MVT::v16i8, 3, 0,
14012 0,
14013 116,
14014 OPC_RecordChild0,
14015 OPC_Scope, 41,
14016 OPC_MoveChild1,
14017 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14018 OPC_RecordChild0,
14019 OPC_MoveChild1,
14020 OPC_CheckImmAllOnesV,
14021 OPC_MoveParent,
14022 OPC_MoveParent,
14023 OPC_MoveSibling1,
14024 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14025 OPC_Scope, 12,
14026 OPC_CheckChild0Same, 1,
14027 OPC_RecordChild1,
14028 OPC_MoveParent,
14029 OPC_CheckType, MVT::v16i8,
14030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14031 MVT::v16i8, 3, 15,
14032 12,
14033 OPC_RecordChild0,
14034 OPC_CheckChild1Same, 1,
14035 OPC_MoveParent,
14036 OPC_CheckType, MVT::v16i8,
14037 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14038 MVT::v16i8, 3, 15,
14039 0,
14040 70,
14041 OPC_RecordChild1,
14042 OPC_MoveSibling1,
14043 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14044 OPC_Scope, 20,
14045 OPC_RecordChild0,
14046 OPC_MoveChild1,
14047 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14048 OPC_CheckChild0Same, 0,
14049 OPC_MoveChild1,
14050 OPC_CheckImmAllOnesV,
14051 OPC_MoveParent,
14052 OPC_MoveParent,
14053 OPC_MoveParent,
14054 OPC_CheckType, MVT::v8i16,
14055 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14056 MVT::v8i16, 3, 3,
14057 20,
14058 OPC_MoveChild0,
14059 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14060 OPC_CheckChild0Same, 1,
14061 OPC_MoveChild1,
14062 OPC_CheckImmAllOnesV,
14063 OPC_MoveParent,
14064 OPC_MoveParent,
14065 OPC_RecordChild1,
14066 OPC_MoveParent,
14067 OPC_CheckType, MVT::v8i16,
14068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14069 MVT::v8i16, 3, 18,
14070 20,
14071 OPC_RecordChild0,
14072 OPC_MoveChild1,
14073 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14074 OPC_CheckChild0Same, 1,
14075 OPC_MoveChild1,
14076 OPC_CheckImmAllOnesV,
14077 OPC_MoveParent,
14078 OPC_MoveParent,
14079 OPC_MoveParent,
14080 OPC_CheckType, MVT::v8i16,
14081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14082 MVT::v8i16, 3, 18,
14083 0,
14084 0,
14085 42,
14086 OPC_MoveChild0,
14087 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14088 OPC_RecordChild0,
14089 OPC_MoveChild1,
14090 OPC_CheckImmAllOnesV,
14091 OPC_MoveParent,
14092 OPC_MoveParent,
14093 OPC_RecordChild1,
14094 OPC_MoveSibling1,
14095 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14096 OPC_Scope, 12,
14097 OPC_CheckChild0Same, 0,
14098 OPC_RecordChild1,
14099 OPC_MoveParent,
14100 OPC_CheckType, MVT::v8i16,
14101 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14102 MVT::v8i16, 3, 0,
14103 12,
14104 OPC_RecordChild0,
14105 OPC_CheckChild1Same, 0,
14106 OPC_MoveParent,
14107 OPC_CheckType, MVT::v8i16,
14108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14109 MVT::v8i16, 3, 0,
14110 0,
14111 116,
14112 OPC_RecordChild0,
14113 OPC_Scope, 41,
14114 OPC_MoveChild1,
14115 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14116 OPC_RecordChild0,
14117 OPC_MoveChild1,
14118 OPC_CheckImmAllOnesV,
14119 OPC_MoveParent,
14120 OPC_MoveParent,
14121 OPC_MoveSibling1,
14122 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14123 OPC_Scope, 12,
14124 OPC_CheckChild0Same, 1,
14125 OPC_RecordChild1,
14126 OPC_MoveParent,
14127 OPC_CheckType, MVT::v8i16,
14128 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14129 MVT::v8i16, 3, 15,
14130 12,
14131 OPC_RecordChild0,
14132 OPC_CheckChild1Same, 1,
14133 OPC_MoveParent,
14134 OPC_CheckType, MVT::v8i16,
14135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14136 MVT::v8i16, 3, 15,
14137 0,
14138 70,
14139 OPC_RecordChild1,
14140 OPC_MoveSibling1,
14141 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14142 OPC_Scope, 20,
14143 OPC_RecordChild0,
14144 OPC_MoveChild1,
14145 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14146 OPC_CheckChild0Same, 0,
14147 OPC_MoveChild1,
14148 OPC_CheckImmAllOnesV,
14149 OPC_MoveParent,
14150 OPC_MoveParent,
14151 OPC_MoveParent,
14152 OPC_CheckType, MVT::v4i32,
14153 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14154 MVT::v4i32, 3, 3,
14155 20,
14156 OPC_MoveChild0,
14157 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14158 OPC_CheckChild0Same, 1,
14159 OPC_MoveChild1,
14160 OPC_CheckImmAllOnesV,
14161 OPC_MoveParent,
14162 OPC_MoveParent,
14163 OPC_RecordChild1,
14164 OPC_MoveParent,
14165 OPC_CheckType, MVT::v4i32,
14166 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14167 MVT::v4i32, 3, 18,
14168 20,
14169 OPC_RecordChild0,
14170 OPC_MoveChild1,
14171 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14172 OPC_CheckChild0Same, 1,
14173 OPC_MoveChild1,
14174 OPC_CheckImmAllOnesV,
14175 OPC_MoveParent,
14176 OPC_MoveParent,
14177 OPC_MoveParent,
14178 OPC_CheckType, MVT::v4i32,
14179 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14180 MVT::v4i32, 3, 18,
14181 0,
14182 0,
14183 42,
14184 OPC_MoveChild0,
14185 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14186 OPC_RecordChild0,
14187 OPC_MoveChild1,
14188 OPC_CheckImmAllOnesV,
14189 OPC_MoveParent,
14190 OPC_MoveParent,
14191 OPC_RecordChild1,
14192 OPC_MoveSibling1,
14193 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14194 OPC_Scope, 12,
14195 OPC_CheckChild0Same, 0,
14196 OPC_RecordChild1,
14197 OPC_MoveParent,
14198 OPC_CheckType, MVT::v4i32,
14199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14200 MVT::v4i32, 3, 0,
14201 12,
14202 OPC_RecordChild0,
14203 OPC_CheckChild1Same, 0,
14204 OPC_MoveParent,
14205 OPC_CheckType, MVT::v4i32,
14206 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14207 MVT::v4i32, 3, 0,
14208 0,
14209 116,
14210 OPC_RecordChild0,
14211 OPC_Scope, 41,
14212 OPC_MoveChild1,
14213 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14214 OPC_RecordChild0,
14215 OPC_MoveChild1,
14216 OPC_CheckImmAllOnesV,
14217 OPC_MoveParent,
14218 OPC_MoveParent,
14219 OPC_MoveSibling1,
14220 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14221 OPC_Scope, 12,
14222 OPC_CheckChild0Same, 1,
14223 OPC_RecordChild1,
14224 OPC_MoveParent,
14225 OPC_CheckType, MVT::v4i32,
14226 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14227 MVT::v4i32, 3, 15,
14228 12,
14229 OPC_RecordChild0,
14230 OPC_CheckChild1Same, 1,
14231 OPC_MoveParent,
14232 OPC_CheckType, MVT::v4i32,
14233 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14234 MVT::v4i32, 3, 15,
14235 0,
14236 70,
14237 OPC_RecordChild1,
14238 OPC_MoveSibling1,
14239 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14240 OPC_Scope, 20,
14241 OPC_RecordChild0,
14242 OPC_MoveChild1,
14243 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14244 OPC_CheckChild0Same, 0,
14245 OPC_MoveChild1,
14246 OPC_CheckImmAllOnesV,
14247 OPC_MoveParent,
14248 OPC_MoveParent,
14249 OPC_MoveParent,
14250 OPC_CheckType, MVT::v2i64,
14251 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14252 MVT::v2i64, 3, 3,
14253 20,
14254 OPC_MoveChild0,
14255 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14256 OPC_CheckChild0Same, 1,
14257 OPC_MoveChild1,
14258 OPC_CheckImmAllOnesV,
14259 OPC_MoveParent,
14260 OPC_MoveParent,
14261 OPC_RecordChild1,
14262 OPC_MoveParent,
14263 OPC_CheckType, MVT::v2i64,
14264 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14265 MVT::v2i64, 3, 18,
14266 20,
14267 OPC_RecordChild0,
14268 OPC_MoveChild1,
14269 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14270 OPC_CheckChild0Same, 1,
14271 OPC_MoveChild1,
14272 OPC_CheckImmAllOnesV,
14273 OPC_MoveParent,
14274 OPC_MoveParent,
14275 OPC_MoveParent,
14276 OPC_CheckType, MVT::v2i64,
14277 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14278 MVT::v2i64, 3, 18,
14279 0,
14280 0,
14281 42,
14282 OPC_MoveChild0,
14283 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14284 OPC_RecordChild0,
14285 OPC_MoveChild1,
14286 OPC_CheckImmAllOnesV,
14287 OPC_MoveParent,
14288 OPC_MoveParent,
14289 OPC_RecordChild1,
14290 OPC_MoveSibling1,
14291 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14292 OPC_Scope, 12,
14293 OPC_CheckChild0Same, 0,
14294 OPC_RecordChild1,
14295 OPC_MoveParent,
14296 OPC_CheckType, MVT::v2i64,
14297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14298 MVT::v2i64, 3, 0,
14299 12,
14300 OPC_RecordChild0,
14301 OPC_CheckChild1Same, 0,
14302 OPC_MoveParent,
14303 OPC_CheckType, MVT::v2i64,
14304 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14305 MVT::v2i64, 3, 0,
14306 0,
14307 42,
14308 OPC_RecordChild0,
14309 OPC_MoveChild1,
14310 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14311 OPC_RecordChild0,
14312 OPC_MoveChild1,
14313 OPC_CheckImmAllOnesV,
14314 OPC_MoveParent,
14315 OPC_MoveParent,
14316 OPC_MoveSibling1,
14317 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14318 OPC_Scope, 12,
14319 OPC_CheckChild0Same, 1,
14320 OPC_RecordChild1,
14321 OPC_MoveParent,
14322 OPC_CheckType, MVT::v2i64,
14323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14324 MVT::v2i64, 3, 15,
14325 12,
14326 OPC_RecordChild0,
14327 OPC_CheckChild1Same, 1,
14328 OPC_MoveParent,
14329 OPC_CheckType, MVT::v2i64,
14330 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14331 MVT::v2i64, 3, 15,
14332 0,
14333 0,
14334 36,
14335 OPC_RecordChild0,
14336 OPC_RecordChild1,
14337 OPC_SwitchType , 6, MVT::v16i8,
14338 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
14339 MVT::v16i8, 2, 16,
14340 6, MVT::v8i16,
14341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
14342 MVT::v8i16, 2, 16,
14343 6, MVT::v4i32,
14344 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
14345 MVT::v4i32, 2, 16,
14346 6, MVT::v2i64,
14347 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
14348 MVT::v2i64, 2, 16,
14349 0,
14350 0,
14351 115|128,10, TARGET_VAL(ISD::XOR),
14352 OPC_Scope, 20,
14353 OPC_RecordChild0,
14354 OPC_RecordChild1,
14355 OPC_SwitchType , 6, MVT::i32,
14356 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I32),
14357 MVT::i32, 2, 16,
14358 6, MVT::i64,
14359 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I64),
14360 MVT::i64, 2, 16,
14361 0,
14362 107,
14363 OPC_MoveChild0,
14364 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14365 OPC_MoveChild0,
14366 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14367 OPC_RecordChild0,
14368 OPC_Scope, 61,
14369 OPC_RecordChild1,
14370 OPC_MoveSibling1,
14371 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14372 OPC_RecordChild0,
14373 OPC_MoveChild1,
14374 OPC_CheckImmAllOnesV,
14375 OPC_MoveParent,
14376 OPC_MoveParent,
14377 OPC_MoveParent,
14378 OPC_Scope, 36,
14379 OPC_CheckChild1Same, 1,
14380 OPC_SwitchType , 6, MVT::v16i8,
14381 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14382 MVT::v16i8, 3, 41,
14383 6, MVT::v8i16,
14384 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14385 MVT::v8i16, 3, 41,
14386 6, MVT::v4i32,
14387 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14388 MVT::v4i32, 3, 41,
14389 6, MVT::v2i64,
14390 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14391 MVT::v2i64, 3, 41,
14392 0,
14393 10,
14394 OPC_CheckChild1Same, 0,
14395 OPC_CheckType, MVT::v16i8,
14396 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14397 MVT::v16i8, 3, 44,
14398 0,
14399 33,
14400 OPC_MoveChild1,
14401 OPC_CheckImmAllOnesV,
14402 OPC_MoveParent,
14403 OPC_MoveSibling1,
14404 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14405 OPC_RecordChild0,
14406 OPC_RecordChild1,
14407 OPC_MoveParent,
14408 OPC_MoveParent,
14409 OPC_CheckType, MVT::v16i8,
14410 OPC_Scope, 8,
14411 OPC_CheckChild1Same, 2,
14412 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14413 MVT::v16i8, 3, 0,
14414 8,
14415 OPC_CheckChild1Same, 1,
14416 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14417 MVT::v16i8, 3, 3,
14418 0,
14419 0,
14420 94,
14421 OPC_RecordChild0,
14422 OPC_MoveChild1,
14423 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14424 OPC_MoveChild0,
14425 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14426 OPC_Scope, 21,
14427 OPC_RecordChild0,
14428 OPC_CheckChild1Same, 0,
14429 OPC_MoveSibling1,
14430 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14431 OPC_RecordChild0,
14432 OPC_MoveChild1,
14433 OPC_CheckImmAllOnesV,
14434 OPC_MoveParent,
14435 OPC_MoveParent,
14436 OPC_MoveParent,
14437 OPC_CheckType, MVT::v16i8,
14438 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14439 MVT::v16i8, 3, 44,
14440 21,
14441 OPC_CheckChild0Same, 0,
14442 OPC_RecordChild1,
14443 OPC_MoveSibling1,
14444 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14445 OPC_RecordChild0,
14446 OPC_MoveChild1,
14447 OPC_CheckImmAllOnesV,
14448 OPC_MoveParent,
14449 OPC_MoveParent,
14450 OPC_MoveParent,
14451 OPC_CheckType, MVT::v16i8,
14452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14453 MVT::v16i8, 3, 44,
14454 38,
14455 OPC_RecordChild0,
14456 OPC_MoveChild1,
14457 OPC_CheckImmAllOnesV,
14458 OPC_MoveParent,
14459 OPC_MoveSibling1,
14460 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14461 OPC_Scope, 13,
14462 OPC_RecordChild0,
14463 OPC_CheckChild1Same, 0,
14464 OPC_MoveParent,
14465 OPC_MoveParent,
14466 OPC_CheckType, MVT::v16i8,
14467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14468 MVT::v16i8, 3, 18,
14469 13,
14470 OPC_CheckChild0Same, 0,
14471 OPC_RecordChild1,
14472 OPC_MoveParent,
14473 OPC_MoveParent,
14474 OPC_CheckType, MVT::v16i8,
14475 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14476 MVT::v16i8, 3, 18,
14477 0,
14478 0,
14479 67,
14480 OPC_MoveChild0,
14481 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14482 OPC_MoveChild0,
14483 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14484 OPC_RecordChild0,
14485 OPC_Scope, 21,
14486 OPC_RecordChild1,
14487 OPC_MoveSibling1,
14488 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14489 OPC_RecordChild0,
14490 OPC_MoveChild1,
14491 OPC_CheckImmAllOnesV,
14492 OPC_MoveParent,
14493 OPC_MoveParent,
14494 OPC_MoveParent,
14495 OPC_CheckChild1Same, 0,
14496 OPC_CheckType, MVT::v8i16,
14497 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14498 MVT::v8i16, 3, 44,
14499 33,
14500 OPC_MoveChild1,
14501 OPC_CheckImmAllOnesV,
14502 OPC_MoveParent,
14503 OPC_MoveSibling1,
14504 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14505 OPC_RecordChild0,
14506 OPC_RecordChild1,
14507 OPC_MoveParent,
14508 OPC_MoveParent,
14509 OPC_CheckType, MVT::v8i16,
14510 OPC_Scope, 8,
14511 OPC_CheckChild1Same, 2,
14512 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14513 MVT::v8i16, 3, 0,
14514 8,
14515 OPC_CheckChild1Same, 1,
14516 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14517 MVT::v8i16, 3, 3,
14518 0,
14519 0,
14520 94,
14521 OPC_RecordChild0,
14522 OPC_MoveChild1,
14523 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14524 OPC_MoveChild0,
14525 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14526 OPC_Scope, 21,
14527 OPC_RecordChild0,
14528 OPC_CheckChild1Same, 0,
14529 OPC_MoveSibling1,
14530 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14531 OPC_RecordChild0,
14532 OPC_MoveChild1,
14533 OPC_CheckImmAllOnesV,
14534 OPC_MoveParent,
14535 OPC_MoveParent,
14536 OPC_MoveParent,
14537 OPC_CheckType, MVT::v8i16,
14538 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14539 MVT::v8i16, 3, 44,
14540 21,
14541 OPC_CheckChild0Same, 0,
14542 OPC_RecordChild1,
14543 OPC_MoveSibling1,
14544 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14545 OPC_RecordChild0,
14546 OPC_MoveChild1,
14547 OPC_CheckImmAllOnesV,
14548 OPC_MoveParent,
14549 OPC_MoveParent,
14550 OPC_MoveParent,
14551 OPC_CheckType, MVT::v8i16,
14552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14553 MVT::v8i16, 3, 44,
14554 38,
14555 OPC_RecordChild0,
14556 OPC_MoveChild1,
14557 OPC_CheckImmAllOnesV,
14558 OPC_MoveParent,
14559 OPC_MoveSibling1,
14560 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14561 OPC_Scope, 13,
14562 OPC_RecordChild0,
14563 OPC_CheckChild1Same, 0,
14564 OPC_MoveParent,
14565 OPC_MoveParent,
14566 OPC_CheckType, MVT::v8i16,
14567 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14568 MVT::v8i16, 3, 18,
14569 13,
14570 OPC_CheckChild0Same, 0,
14571 OPC_RecordChild1,
14572 OPC_MoveParent,
14573 OPC_MoveParent,
14574 OPC_CheckType, MVT::v8i16,
14575 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14576 MVT::v8i16, 3, 18,
14577 0,
14578 0,
14579 67,
14580 OPC_MoveChild0,
14581 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14582 OPC_MoveChild0,
14583 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14584 OPC_RecordChild0,
14585 OPC_Scope, 21,
14586 OPC_RecordChild1,
14587 OPC_MoveSibling1,
14588 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14589 OPC_RecordChild0,
14590 OPC_MoveChild1,
14591 OPC_CheckImmAllOnesV,
14592 OPC_MoveParent,
14593 OPC_MoveParent,
14594 OPC_MoveParent,
14595 OPC_CheckChild1Same, 0,
14596 OPC_CheckType, MVT::v4i32,
14597 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14598 MVT::v4i32, 3, 44,
14599 33,
14600 OPC_MoveChild1,
14601 OPC_CheckImmAllOnesV,
14602 OPC_MoveParent,
14603 OPC_MoveSibling1,
14604 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14605 OPC_RecordChild0,
14606 OPC_RecordChild1,
14607 OPC_MoveParent,
14608 OPC_MoveParent,
14609 OPC_CheckType, MVT::v4i32,
14610 OPC_Scope, 8,
14611 OPC_CheckChild1Same, 2,
14612 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14613 MVT::v4i32, 3, 0,
14614 8,
14615 OPC_CheckChild1Same, 1,
14616 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14617 MVT::v4i32, 3, 3,
14618 0,
14619 0,
14620 94,
14621 OPC_RecordChild0,
14622 OPC_MoveChild1,
14623 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14624 OPC_MoveChild0,
14625 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14626 OPC_Scope, 21,
14627 OPC_RecordChild0,
14628 OPC_CheckChild1Same, 0,
14629 OPC_MoveSibling1,
14630 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14631 OPC_RecordChild0,
14632 OPC_MoveChild1,
14633 OPC_CheckImmAllOnesV,
14634 OPC_MoveParent,
14635 OPC_MoveParent,
14636 OPC_MoveParent,
14637 OPC_CheckType, MVT::v4i32,
14638 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14639 MVT::v4i32, 3, 44,
14640 21,
14641 OPC_CheckChild0Same, 0,
14642 OPC_RecordChild1,
14643 OPC_MoveSibling1,
14644 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14645 OPC_RecordChild0,
14646 OPC_MoveChild1,
14647 OPC_CheckImmAllOnesV,
14648 OPC_MoveParent,
14649 OPC_MoveParent,
14650 OPC_MoveParent,
14651 OPC_CheckType, MVT::v4i32,
14652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14653 MVT::v4i32, 3, 44,
14654 38,
14655 OPC_RecordChild0,
14656 OPC_MoveChild1,
14657 OPC_CheckImmAllOnesV,
14658 OPC_MoveParent,
14659 OPC_MoveSibling1,
14660 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14661 OPC_Scope, 13,
14662 OPC_RecordChild0,
14663 OPC_CheckChild1Same, 0,
14664 OPC_MoveParent,
14665 OPC_MoveParent,
14666 OPC_CheckType, MVT::v4i32,
14667 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14668 MVT::v4i32, 3, 18,
14669 13,
14670 OPC_CheckChild0Same, 0,
14671 OPC_RecordChild1,
14672 OPC_MoveParent,
14673 OPC_MoveParent,
14674 OPC_CheckType, MVT::v4i32,
14675 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14676 MVT::v4i32, 3, 18,
14677 0,
14678 0,
14679 67,
14680 OPC_MoveChild0,
14681 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14682 OPC_MoveChild0,
14683 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14684 OPC_RecordChild0,
14685 OPC_Scope, 21,
14686 OPC_RecordChild1,
14687 OPC_MoveSibling1,
14688 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14689 OPC_RecordChild0,
14690 OPC_MoveChild1,
14691 OPC_CheckImmAllOnesV,
14692 OPC_MoveParent,
14693 OPC_MoveParent,
14694 OPC_MoveParent,
14695 OPC_CheckChild1Same, 0,
14696 OPC_CheckType, MVT::v2i64,
14697 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14698 MVT::v2i64, 3, 44,
14699 33,
14700 OPC_MoveChild1,
14701 OPC_CheckImmAllOnesV,
14702 OPC_MoveParent,
14703 OPC_MoveSibling1,
14704 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14705 OPC_RecordChild0,
14706 OPC_RecordChild1,
14707 OPC_MoveParent,
14708 OPC_MoveParent,
14709 OPC_CheckType, MVT::v2i64,
14710 OPC_Scope, 8,
14711 OPC_CheckChild1Same, 2,
14712 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14713 MVT::v2i64, 3, 0,
14714 8,
14715 OPC_CheckChild1Same, 1,
14716 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14717 MVT::v2i64, 3, 3,
14718 0,
14719 0,
14720 94,
14721 OPC_RecordChild0,
14722 OPC_MoveChild1,
14723 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14724 OPC_MoveChild0,
14725 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14726 OPC_Scope, 21,
14727 OPC_RecordChild0,
14728 OPC_CheckChild1Same, 0,
14729 OPC_MoveSibling1,
14730 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14731 OPC_RecordChild0,
14732 OPC_MoveChild1,
14733 OPC_CheckImmAllOnesV,
14734 OPC_MoveParent,
14735 OPC_MoveParent,
14736 OPC_MoveParent,
14737 OPC_CheckType, MVT::v2i64,
14738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14739 MVT::v2i64, 3, 44,
14740 21,
14741 OPC_CheckChild0Same, 0,
14742 OPC_RecordChild1,
14743 OPC_MoveSibling1,
14744 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14745 OPC_RecordChild0,
14746 OPC_MoveChild1,
14747 OPC_CheckImmAllOnesV,
14748 OPC_MoveParent,
14749 OPC_MoveParent,
14750 OPC_MoveParent,
14751 OPC_CheckType, MVT::v2i64,
14752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14753 MVT::v2i64, 3, 44,
14754 38,
14755 OPC_RecordChild0,
14756 OPC_MoveChild1,
14757 OPC_CheckImmAllOnesV,
14758 OPC_MoveParent,
14759 OPC_MoveSibling1,
14760 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14761 OPC_Scope, 13,
14762 OPC_RecordChild0,
14763 OPC_CheckChild1Same, 0,
14764 OPC_MoveParent,
14765 OPC_MoveParent,
14766 OPC_CheckType, MVT::v2i64,
14767 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14768 MVT::v2i64, 3, 18,
14769 13,
14770 OPC_CheckChild0Same, 0,
14771 OPC_RecordChild1,
14772 OPC_MoveParent,
14773 OPC_MoveParent,
14774 OPC_CheckType, MVT::v2i64,
14775 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14776 MVT::v2i64, 3, 18,
14777 0,
14778 0,
14779 98,
14780 OPC_MoveChild0,
14781 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14782 OPC_Scope, 59,
14783 OPC_MoveChild0,
14784 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14785 OPC_RecordChild0,
14786 OPC_RecordChild1,
14787 OPC_MoveParent,
14788 OPC_RecordChild1,
14789 OPC_MoveParent,
14790 OPC_Scope, 36,
14791 OPC_CheckChild1Same, 1,
14792 OPC_SwitchType , 6, MVT::v16i8,
14793 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14794 MVT::v16i8, 3, 44,
14795 6, MVT::v8i16,
14796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14797 MVT::v8i16, 3, 44,
14798 6, MVT::v4i32,
14799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14800 MVT::v4i32, 3, 44,
14801 6, MVT::v2i64,
14802 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14803 MVT::v2i64, 3, 44,
14804 0,
14805 10,
14806 OPC_CheckChild1Same, 0,
14807 OPC_CheckType, MVT::v16i8,
14808 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14809 MVT::v16i8, 3, 41,
14810 0,
14811 31,
14812 OPC_RecordChild0,
14813 OPC_MoveChild1,
14814 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14815 OPC_RecordChild0,
14816 OPC_RecordChild1,
14817 OPC_MoveParent,
14818 OPC_MoveParent,
14819 OPC_CheckType, MVT::v16i8,
14820 OPC_Scope, 8,
14821 OPC_CheckChild1Same, 2,
14822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14823 MVT::v16i8, 3, 3,
14824 8,
14825 OPC_CheckChild1Same, 1,
14826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14827 MVT::v16i8, 3, 0,
14828 0,
14829 0,
14830 80,
14831 OPC_RecordChild0,
14832 OPC_MoveChild1,
14833 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14834 OPC_Scope, 36,
14835 OPC_MoveChild0,
14836 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14837 OPC_Scope, 14,
14838 OPC_RecordChild0,
14839 OPC_CheckChild1Same, 0,
14840 OPC_MoveParent,
14841 OPC_RecordChild1,
14842 OPC_MoveParent,
14843 OPC_CheckType, MVT::v16i8,
14844 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14845 MVT::v16i8, 3, 41,
14846 14,
14847 OPC_CheckChild0Same, 0,
14848 OPC_RecordChild1,
14849 OPC_MoveParent,
14850 OPC_RecordChild1,
14851 OPC_MoveParent,
14852 OPC_CheckType, MVT::v16i8,
14853 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14854 MVT::v16i8, 3, 41,
14855 0,
14856 35,
14857 OPC_RecordChild0,
14858 OPC_MoveChild1,
14859 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14860 OPC_Scope, 13,
14861 OPC_RecordChild0,
14862 OPC_CheckChild1Same, 0,
14863 OPC_MoveParent,
14864 OPC_MoveParent,
14865 OPC_CheckType, MVT::v16i8,
14866 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14867 MVT::v16i8, 3, 15,
14868 13,
14869 OPC_CheckChild0Same, 0,
14870 OPC_RecordChild1,
14871 OPC_MoveParent,
14872 OPC_MoveParent,
14873 OPC_CheckType, MVT::v16i8,
14874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14875 MVT::v16i8, 3, 15,
14876 0,
14877 0,
14878 58,
14879 OPC_MoveChild0,
14880 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14881 OPC_Scope, 19,
14882 OPC_MoveChild0,
14883 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14884 OPC_RecordChild0,
14885 OPC_RecordChild1,
14886 OPC_MoveParent,
14887 OPC_RecordChild1,
14888 OPC_MoveParent,
14889 OPC_CheckChild1Same, 0,
14890 OPC_CheckType, MVT::v8i16,
14891 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14892 MVT::v8i16, 3, 41,
14893 31,
14894 OPC_RecordChild0,
14895 OPC_MoveChild1,
14896 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14897 OPC_RecordChild0,
14898 OPC_RecordChild1,
14899 OPC_MoveParent,
14900 OPC_MoveParent,
14901 OPC_CheckType, MVT::v8i16,
14902 OPC_Scope, 8,
14903 OPC_CheckChild1Same, 2,
14904 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14905 MVT::v8i16, 3, 3,
14906 8,
14907 OPC_CheckChild1Same, 1,
14908 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14909 MVT::v8i16, 3, 0,
14910 0,
14911 0,
14912 80,
14913 OPC_RecordChild0,
14914 OPC_MoveChild1,
14915 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14916 OPC_Scope, 36,
14917 OPC_MoveChild0,
14918 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14919 OPC_Scope, 14,
14920 OPC_RecordChild0,
14921 OPC_CheckChild1Same, 0,
14922 OPC_MoveParent,
14923 OPC_RecordChild1,
14924 OPC_MoveParent,
14925 OPC_CheckType, MVT::v8i16,
14926 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14927 MVT::v8i16, 3, 41,
14928 14,
14929 OPC_CheckChild0Same, 0,
14930 OPC_RecordChild1,
14931 OPC_MoveParent,
14932 OPC_RecordChild1,
14933 OPC_MoveParent,
14934 OPC_CheckType, MVT::v8i16,
14935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14936 MVT::v8i16, 3, 41,
14937 0,
14938 35,
14939 OPC_RecordChild0,
14940 OPC_MoveChild1,
14941 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14942 OPC_Scope, 13,
14943 OPC_RecordChild0,
14944 OPC_CheckChild1Same, 0,
14945 OPC_MoveParent,
14946 OPC_MoveParent,
14947 OPC_CheckType, MVT::v8i16,
14948 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14949 MVT::v8i16, 3, 15,
14950 13,
14951 OPC_CheckChild0Same, 0,
14952 OPC_RecordChild1,
14953 OPC_MoveParent,
14954 OPC_MoveParent,
14955 OPC_CheckType, MVT::v8i16,
14956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14957 MVT::v8i16, 3, 15,
14958 0,
14959 0,
14960 58,
14961 OPC_MoveChild0,
14962 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14963 OPC_Scope, 19,
14964 OPC_MoveChild0,
14965 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14966 OPC_RecordChild0,
14967 OPC_RecordChild1,
14968 OPC_MoveParent,
14969 OPC_RecordChild1,
14970 OPC_MoveParent,
14971 OPC_CheckChild1Same, 0,
14972 OPC_CheckType, MVT::v4i32,
14973 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14974 MVT::v4i32, 3, 41,
14975 31,
14976 OPC_RecordChild0,
14977 OPC_MoveChild1,
14978 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14979 OPC_RecordChild0,
14980 OPC_RecordChild1,
14981 OPC_MoveParent,
14982 OPC_MoveParent,
14983 OPC_CheckType, MVT::v4i32,
14984 OPC_Scope, 8,
14985 OPC_CheckChild1Same, 2,
14986 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14987 MVT::v4i32, 3, 3,
14988 8,
14989 OPC_CheckChild1Same, 1,
14990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
14991 MVT::v4i32, 3, 0,
14992 0,
14993 0,
14994 80,
14995 OPC_RecordChild0,
14996 OPC_MoveChild1,
14997 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14998 OPC_Scope, 36,
14999 OPC_MoveChild0,
15000 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15001 OPC_Scope, 14,
15002 OPC_RecordChild0,
15003 OPC_CheckChild1Same, 0,
15004 OPC_MoveParent,
15005 OPC_RecordChild1,
15006 OPC_MoveParent,
15007 OPC_CheckType, MVT::v4i32,
15008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15009 MVT::v4i32, 3, 41,
15010 14,
15011 OPC_CheckChild0Same, 0,
15012 OPC_RecordChild1,
15013 OPC_MoveParent,
15014 OPC_RecordChild1,
15015 OPC_MoveParent,
15016 OPC_CheckType, MVT::v4i32,
15017 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15018 MVT::v4i32, 3, 41,
15019 0,
15020 35,
15021 OPC_RecordChild0,
15022 OPC_MoveChild1,
15023 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15024 OPC_Scope, 13,
15025 OPC_RecordChild0,
15026 OPC_CheckChild1Same, 0,
15027 OPC_MoveParent,
15028 OPC_MoveParent,
15029 OPC_CheckType, MVT::v4i32,
15030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15031 MVT::v4i32, 3, 15,
15032 13,
15033 OPC_CheckChild0Same, 0,
15034 OPC_RecordChild1,
15035 OPC_MoveParent,
15036 OPC_MoveParent,
15037 OPC_CheckType, MVT::v4i32,
15038 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15039 MVT::v4i32, 3, 15,
15040 0,
15041 0,
15042 58,
15043 OPC_MoveChild0,
15044 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15045 OPC_Scope, 19,
15046 OPC_MoveChild0,
15047 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15048 OPC_RecordChild0,
15049 OPC_RecordChild1,
15050 OPC_MoveParent,
15051 OPC_RecordChild1,
15052 OPC_MoveParent,
15053 OPC_CheckChild1Same, 0,
15054 OPC_CheckType, MVT::v2i64,
15055 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15056 MVT::v2i64, 3, 41,
15057 31,
15058 OPC_RecordChild0,
15059 OPC_MoveChild1,
15060 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15061 OPC_RecordChild0,
15062 OPC_RecordChild1,
15063 OPC_MoveParent,
15064 OPC_MoveParent,
15065 OPC_CheckType, MVT::v2i64,
15066 OPC_Scope, 8,
15067 OPC_CheckChild1Same, 2,
15068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15069 MVT::v2i64, 3, 3,
15070 8,
15071 OPC_CheckChild1Same, 1,
15072 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15073 MVT::v2i64, 3, 0,
15074 0,
15075 0,
15076 31|128,1,
15077 OPC_RecordChild0,
15078 OPC_Scope, 119,
15079 OPC_MoveChild1,
15080 OPC_Scope, 78,
15081 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15082 OPC_Scope, 36,
15083 OPC_MoveChild0,
15084 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15085 OPC_Scope, 14,
15086 OPC_RecordChild0,
15087 OPC_CheckChild1Same, 0,
15088 OPC_MoveParent,
15089 OPC_RecordChild1,
15090 OPC_MoveParent,
15091 OPC_CheckType, MVT::v2i64,
15092 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15093 MVT::v2i64, 3, 41,
15094 14,
15095 OPC_CheckChild0Same, 0,
15096 OPC_RecordChild1,
15097 OPC_MoveParent,
15098 OPC_RecordChild1,
15099 OPC_MoveParent,
15100 OPC_CheckType, MVT::v2i64,
15101 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15102 MVT::v2i64, 3, 41,
15103 0,
15104 35,
15105 OPC_RecordChild0,
15106 OPC_MoveChild1,
15107 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15108 OPC_Scope, 13,
15109 OPC_RecordChild0,
15110 OPC_CheckChild1Same, 0,
15111 OPC_MoveParent,
15112 OPC_MoveParent,
15113 OPC_CheckType, MVT::v2i64,
15114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15115 MVT::v2i64, 3, 15,
15116 13,
15117 OPC_CheckChild0Same, 0,
15118 OPC_RecordChild1,
15119 OPC_MoveParent,
15120 OPC_MoveParent,
15121 OPC_CheckType, MVT::v2i64,
15122 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
15123 MVT::v2i64, 3, 15,
15124 0,
15125 0,
15126 36,
15127 OPC_CheckImmAllOnesV,
15128 OPC_MoveParent,
15129 OPC_SwitchType , 6, MVT::v16i8,
15130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
15131 MVT::v16i8, 1, 2,
15132 6, MVT::v8i16,
15133 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
15134 MVT::v8i16, 1, 2,
15135 6, MVT::v4i32,
15136 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
15137 MVT::v4i32, 1, 2,
15138 6, MVT::v2i64,
15139 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
15140 MVT::v2i64, 1, 2,
15141 0,
15142 0,
15143 35,
15144 OPC_RecordChild1,
15145 OPC_SwitchType , 6, MVT::v16i8,
15146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
15147 MVT::v16i8, 2, 16,
15148 6, MVT::v8i16,
15149 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
15150 MVT::v8i16, 2, 16,
15151 6, MVT::v4i32,
15152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
15153 MVT::v4i32, 2, 16,
15154 6, MVT::v2i64,
15155 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
15156 MVT::v2i64, 2, 16,
15157 0,
15158 0,
15159 0,
15160 21, TARGET_VAL(ISD::CTLZ),
15161 OPC_RecordChild0,
15162 OPC_SwitchType , 7, MVT::i32,
15163 OPC_CheckChild0TypeI32,
15164 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I32),
15165 MVT::i32, 1, 2,
15166 7, MVT::i64,
15167 OPC_CheckChild0TypeI64,
15168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I64),
15169 MVT::i64, 1, 2,
15170 0,
15171 21, TARGET_VAL(ISD::CTTZ),
15172 OPC_RecordChild0,
15173 OPC_SwitchType , 7, MVT::i32,
15174 OPC_CheckChild0TypeI32,
15175 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I32),
15176 MVT::i32, 1, 2,
15177 7, MVT::i64,
15178 OPC_CheckChild0TypeI64,
15179 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I64),
15180 MVT::i64, 1, 2,
15181 0,
15182 30, TARGET_VAL(ISD::CTPOP),
15183 OPC_RecordChild0,
15184 OPC_SwitchType , 7, MVT::i32,
15185 OPC_CheckChild0TypeI32,
15186 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I32),
15187 MVT::i32, 1, 2,
15188 7, MVT::i64,
15189 OPC_CheckChild0TypeI64,
15190 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I64),
15191 MVT::i64, 1, 2,
15192 7, MVT::v16i8,
15193 OPC_CheckPatternPredicate0,
15194 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I8x16),
15195 MVT::v16i8, 1, 2,
15196 0,
15197 19, TARGET_VAL(WebAssemblyISD::I64_ADD128),
15198 OPC_RecordChild0,
15199 OPC_CheckChild0TypeI64,
15200 OPC_RecordChild1,
15201 OPC_CheckChild1TypeI64,
15202 OPC_RecordChild2,
15203 OPC_CheckChild2TypeI64,
15204 OPC_RecordChild3,
15205 OPC_CheckChild3TypeI64,
15206 OPC_CheckTypeI64,
15207 OPC_CheckTypeRes, 1, MVT::i64,
15208 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_ADD128),
15209 MVT::i64, MVT::i64, 4, 55,
15210 19, TARGET_VAL(WebAssemblyISD::I64_SUB128),
15211 OPC_RecordChild0,
15212 OPC_CheckChild0TypeI64,
15213 OPC_RecordChild1,
15214 OPC_CheckChild1TypeI64,
15215 OPC_RecordChild2,
15216 OPC_CheckChild2TypeI64,
15217 OPC_RecordChild3,
15218 OPC_CheckChild3TypeI64,
15219 OPC_CheckTypeI64,
15220 OPC_CheckTypeRes, 1, MVT::i64,
15221 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_SUB128),
15222 MVT::i64, MVT::i64, 4, 55,
15223 15, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_S),
15224 OPC_RecordChild0,
15225 OPC_CheckChild0TypeI64,
15226 OPC_RecordChild1,
15227 OPC_CheckChild1TypeI64,
15228 OPC_CheckTypeI64,
15229 OPC_CheckTypeRes, 1, MVT::i64,
15230 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_S),
15231 MVT::i64, MVT::i64, 2, 16,
15232 15, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_U),
15233 OPC_RecordChild0,
15234 OPC_CheckChild0TypeI64,
15235 OPC_RecordChild1,
15236 OPC_CheckChild1TypeI64,
15237 OPC_CheckTypeI64,
15238 OPC_CheckTypeRes, 1, MVT::i64,
15239 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_U),
15240 MVT::i64, MVT::i64, 2, 16,
15241 21, TARGET_VAL(ISD::ConstantFP),
15242 OPC_RecordNode,
15243 OPC_SwitchType , 7, MVT::f32,
15244 OPC_EmitConvertToTarget0,
15245 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F32),
15246 MVT::f32, 1, 17,
15247 7, MVT::f64,
15248 OPC_EmitConvertToTarget0,
15249 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F64),
15250 MVT::f64, 1, 17,
15251 0,
15252 65, TARGET_VAL(ISD::SINT_TO_FP),
15253 OPC_RecordChild0,
15254 OPC_Scope, 19,
15255 OPC_CheckChild0TypeI32,
15256 OPC_SwitchType , 6, MVT::f32,
15257 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32),
15258 MVT::f32, 1, 2,
15259 6, MVT::f64,
15260 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32),
15261 MVT::f64, 1, 2,
15262 0,
15263 19,
15264 OPC_CheckChild0TypeI64,
15265 OPC_SwitchType , 6, MVT::f32,
15266 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64),
15267 MVT::f32, 1, 2,
15268 6, MVT::f64,
15269 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64),
15270 MVT::f64, 1, 2,
15271 0,
15272 11,
15273 OPC_CheckType, 8|128,1,
15274 OPC_CheckPatternPredicate0,
15275 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F32x4),
15276 8|128,1, 1, 2,
15277 9,
15278 OPC_CheckType, MVT::v8f16,
15279 OPC_CheckPatternPredicate6,
15280 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F16x8),
15281 MVT::v8f16, 1, 2,
15282 0,
15283 65, TARGET_VAL(ISD::UINT_TO_FP),
15284 OPC_RecordChild0,
15285 OPC_Scope, 19,
15286 OPC_CheckChild0TypeI32,
15287 OPC_SwitchType , 6, MVT::f32,
15288 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32),
15289 MVT::f32, 1, 2,
15290 6, MVT::f64,
15291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32),
15292 MVT::f64, 1, 2,
15293 0,
15294 19,
15295 OPC_CheckChild0TypeI64,
15296 OPC_SwitchType , 6, MVT::f32,
15297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64),
15298 MVT::f32, 1, 2,
15299 6, MVT::f64,
15300 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64),
15301 MVT::f64, 1, 2,
15302 0,
15303 11,
15304 OPC_CheckType, 8|128,1,
15305 OPC_CheckPatternPredicate0,
15306 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F32x4),
15307 8|128,1, 1, 2,
15308 9,
15309 OPC_CheckType, MVT::v8f16,
15310 OPC_CheckPatternPredicate6,
15311 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F16x8),
15312 MVT::v8f16, 1, 2,
15313 0,
15314 7, TARGET_VAL(ISD::FP_EXTEND),
15315 OPC_RecordChild0,
15316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
15317 MVT::f64, 1, 2,
15318 7, TARGET_VAL(ISD::FP_ROUND),
15319 OPC_RecordChild0,
15320 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
15321 MVT::f32, 1, 2,
15322 7|128,1, TARGET_VAL(ISD::FADD),
15323 OPC_Scope, 20,
15324 OPC_RecordChild0,
15325 OPC_RecordChild1,
15326 OPC_SwitchType , 6, MVT::f32,
15327 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32),
15328 MVT::f32, 2, 16,
15329 6, MVT::f64,
15330 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64),
15331 MVT::f64, 2, 16,
15332 0,
15333 36,
15334 OPC_MoveChild0,
15335 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
15336 OPC_RecordChild0,
15337 OPC_RecordChild1,
15338 OPC_CheckPredicate, 27,
15339 OPC_MoveParent,
15340 OPC_RecordChild1,
15341 OPC_CheckPredicate, 27,
15342 OPC_SwitchType , 8, 8|128,1,
15343 OPC_CheckPatternPredicate5,
15344 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
15345 8|128,1, 3, 44,
15346 8, 26|128,1,
15347 OPC_CheckPatternPredicate5,
15348 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
15349 26|128,1, 3, 44,
15350 0,
15351 74,
15352 OPC_RecordChild0,
15353 OPC_Scope, 35,
15354 OPC_MoveChild1,
15355 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
15356 OPC_RecordChild0,
15357 OPC_RecordChild1,
15358 OPC_CheckPredicate, 27,
15359 OPC_MoveParent,
15360 OPC_CheckPredicate, 27,
15361 OPC_SwitchType , 8, 8|128,1,
15362 OPC_CheckPatternPredicate5,
15363 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
15364 8|128,1, 3, 3,
15365 8, 26|128,1,
15366 OPC_CheckPatternPredicate5,
15367 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
15368 26|128,1, 3, 3,
15369 0,
15370 34,
15371 OPC_RecordChild1,
15372 OPC_SwitchType , 8, 8|128,1,
15373 OPC_CheckPatternPredicate0,
15374 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32x4),
15375 8|128,1, 2, 16,
15376 8, 26|128,1,
15377 OPC_CheckPatternPredicate0,
15378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64x2),
15379 26|128,1, 2, 16,
15380 7, MVT::v8f16,
15381 OPC_CheckPatternPredicate6,
15382 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F16x8),
15383 MVT::v8f16, 2, 16,
15384 0,
15385 0,
15386 0,
15387 94, TARGET_VAL(ISD::FSUB),
15388 OPC_RecordChild0,
15389 OPC_Scope, 19,
15390 OPC_RecordChild1,
15391 OPC_SwitchType , 6, MVT::f32,
15392 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32),
15393 MVT::f32, 2, 16,
15394 6, MVT::f64,
15395 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64),
15396 MVT::f64, 2, 16,
15397 0,
15398 35,
15399 OPC_MoveChild1,
15400 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
15401 OPC_RecordChild0,
15402 OPC_RecordChild1,
15403 OPC_CheckPredicate, 27,
15404 OPC_MoveParent,
15405 OPC_CheckPredicate, 27,
15406 OPC_SwitchType , 8, 8|128,1,
15407 OPC_CheckPatternPredicate5,
15408 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
15409 8|128,1, 3, 3,
15410 8, 26|128,1,
15411 OPC_CheckPatternPredicate5,
15412 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
15413 26|128,1, 3, 3,
15414 0,
15415 34,
15416 OPC_RecordChild1,
15417 OPC_SwitchType , 8, 8|128,1,
15418 OPC_CheckPatternPredicate0,
15419 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32x4),
15420 8|128,1, 2, 16,
15421 8, 26|128,1,
15422 OPC_CheckPatternPredicate0,
15423 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64x2),
15424 26|128,1, 2, 16,
15425 7, MVT::v8f16,
15426 OPC_CheckPatternPredicate6,
15427 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F16x8),
15428 MVT::v8f16, 2, 16,
15429 0,
15430 0,
15431 51, TARGET_VAL(ISD::FMUL),
15432 OPC_RecordChild0,
15433 OPC_RecordChild1,
15434 OPC_SwitchType , 6, MVT::f32,
15435 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32),
15436 MVT::f32, 2, 16,
15437 6, MVT::f64,
15438 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64),
15439 MVT::f64, 2, 16,
15440 8, 8|128,1,
15441 OPC_CheckPatternPredicate0,
15442 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32x4),
15443 8|128,1, 2, 16,
15444 8, 26|128,1,
15445 OPC_CheckPatternPredicate0,
15446 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64x2),
15447 26|128,1, 2, 16,
15448 7, MVT::v8f16,
15449 OPC_CheckPatternPredicate6,
15450 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F16x8),
15451 MVT::v8f16, 2, 16,
15452 0,
15453 51, TARGET_VAL(ISD::FDIV),
15454 OPC_RecordChild0,
15455 OPC_RecordChild1,
15456 OPC_SwitchType , 6, MVT::f32,
15457 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32),
15458 MVT::f32, 2, 16,
15459 6, MVT::f64,
15460 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64),
15461 MVT::f64, 2, 16,
15462 8, 8|128,1,
15463 OPC_CheckPatternPredicate0,
15464 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32x4),
15465 8|128,1, 2, 16,
15466 8, 26|128,1,
15467 OPC_CheckPatternPredicate0,
15468 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64x2),
15469 26|128,1, 2, 16,
15470 7, MVT::v8f16,
15471 OPC_CheckPatternPredicate6,
15472 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F16x8),
15473 MVT::v8f16, 2, 16,
15474 0,
15475 50, TARGET_VAL(ISD::FSQRT),
15476 OPC_RecordChild0,
15477 OPC_SwitchType , 6, MVT::f32,
15478 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32),
15479 MVT::f32, 1, 2,
15480 6, MVT::f64,
15481 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64),
15482 MVT::f64, 1, 2,
15483 8, 8|128,1,
15484 OPC_CheckPatternPredicate0,
15485 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32x4),
15486 8|128,1, 1, 2,
15487 8, 26|128,1,
15488 OPC_CheckPatternPredicate0,
15489 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64x2),
15490 26|128,1, 1, 2,
15491 7, MVT::v8f16,
15492 OPC_CheckPatternPredicate6,
15493 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F16x8),
15494 MVT::v8f16, 1, 2,
15495 0,
15496 50, TARGET_VAL(ISD::FABS),
15497 OPC_RecordChild0,
15498 OPC_SwitchType , 6, MVT::f32,
15499 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32),
15500 MVT::f32, 1, 2,
15501 6, MVT::f64,
15502 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64),
15503 MVT::f64, 1, 2,
15504 8, 8|128,1,
15505 OPC_CheckPatternPredicate0,
15506 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32x4),
15507 8|128,1, 1, 2,
15508 8, 26|128,1,
15509 OPC_CheckPatternPredicate0,
15510 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64x2),
15511 26|128,1, 1, 2,
15512 7, MVT::v8f16,
15513 OPC_CheckPatternPredicate6,
15514 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F16x8),
15515 MVT::v8f16, 1, 2,
15516 0,
15517 50, TARGET_VAL(ISD::FNEG),
15518 OPC_RecordChild0,
15519 OPC_SwitchType , 6, MVT::f32,
15520 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32),
15521 MVT::f32, 1, 2,
15522 6, MVT::f64,
15523 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64),
15524 MVT::f64, 1, 2,
15525 8, 8|128,1,
15526 OPC_CheckPatternPredicate0,
15527 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32x4),
15528 8|128,1, 1, 2,
15529 8, 26|128,1,
15530 OPC_CheckPatternPredicate0,
15531 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64x2),
15532 26|128,1, 1, 2,
15533 7, MVT::v8f16,
15534 OPC_CheckPatternPredicate6,
15535 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F16x8),
15536 MVT::v8f16, 1, 2,
15537 0,
15538 58, TARGET_VAL(ISD::FCOPYSIGN),
15539 OPC_RecordChild0,
15540 OPC_RecordChild1,
15541 OPC_Scope, 26,
15542 OPC_CheckChild1Type, MVT::f32,
15543 OPC_SwitchType , 6, MVT::f32,
15544 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
15545 MVT::f32, 2, 16,
15546 12, MVT::f64,
15547 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
15548 MVT::f64, 1, 17,
15549 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
15550 MVT::f64, 2, 42,
15551 0,
15552 26,
15553 OPC_CheckChild1Type, MVT::f64,
15554 OPC_SwitchType , 6, MVT::f64,
15555 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
15556 MVT::f64, 2, 16,
15557 12, MVT::f32,
15558 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
15559 MVT::f32, 1, 17,
15560 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
15561 MVT::f32, 2, 42,
15562 0,
15563 0,
15564 51, TARGET_VAL(ISD::FMINIMUM),
15565 OPC_RecordChild0,
15566 OPC_RecordChild1,
15567 OPC_SwitchType , 6, MVT::f32,
15568 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32),
15569 MVT::f32, 2, 16,
15570 6, MVT::f64,
15571 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64),
15572 MVT::f64, 2, 16,
15573 8, 8|128,1,
15574 OPC_CheckPatternPredicate0,
15575 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32x4),
15576 8|128,1, 2, 16,
15577 8, 26|128,1,
15578 OPC_CheckPatternPredicate0,
15579 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64x2),
15580 26|128,1, 2, 16,
15581 7, MVT::v8f16,
15582 OPC_CheckPatternPredicate6,
15583 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F16x8),
15584 MVT::v8f16, 2, 16,
15585 0,
15586 51, TARGET_VAL(ISD::FMAXIMUM),
15587 OPC_RecordChild0,
15588 OPC_RecordChild1,
15589 OPC_SwitchType , 6, MVT::f32,
15590 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32),
15591 MVT::f32, 2, 16,
15592 6, MVT::f64,
15593 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64),
15594 MVT::f64, 2, 16,
15595 8, 8|128,1,
15596 OPC_CheckPatternPredicate0,
15597 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32x4),
15598 8|128,1, 2, 16,
15599 8, 26|128,1,
15600 OPC_CheckPatternPredicate0,
15601 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64x2),
15602 26|128,1, 2, 16,
15603 7, MVT::v8f16,
15604 OPC_CheckPatternPredicate6,
15605 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F16x8),
15606 MVT::v8f16, 2, 16,
15607 0,
15608 50, TARGET_VAL(ISD::FCEIL),
15609 OPC_RecordChild0,
15610 OPC_SwitchType , 6, MVT::f32,
15611 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32),
15612 MVT::f32, 1, 2,
15613 6, MVT::f64,
15614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64),
15615 MVT::f64, 1, 2,
15616 8, 8|128,1,
15617 OPC_CheckPatternPredicate0,
15618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32x4),
15619 8|128,1, 1, 2,
15620 8, 26|128,1,
15621 OPC_CheckPatternPredicate0,
15622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64x2),
15623 26|128,1, 1, 2,
15624 7, MVT::v8f16,
15625 OPC_CheckPatternPredicate6,
15626 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F16x8),
15627 MVT::v8f16, 1, 2,
15628 0,
15629 50, TARGET_VAL(ISD::FFLOOR),
15630 OPC_RecordChild0,
15631 OPC_SwitchType , 6, MVT::f32,
15632 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32),
15633 MVT::f32, 1, 2,
15634 6, MVT::f64,
15635 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64),
15636 MVT::f64, 1, 2,
15637 8, 8|128,1,
15638 OPC_CheckPatternPredicate0,
15639 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32x4),
15640 8|128,1, 1, 2,
15641 8, 26|128,1,
15642 OPC_CheckPatternPredicate0,
15643 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64x2),
15644 26|128,1, 1, 2,
15645 7, MVT::v8f16,
15646 OPC_CheckPatternPredicate6,
15647 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F16x8),
15648 MVT::v8f16, 1, 2,
15649 0,
15650 50, TARGET_VAL(ISD::FTRUNC),
15651 OPC_RecordChild0,
15652 OPC_SwitchType , 6, MVT::f32,
15653 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32),
15654 MVT::f32, 1, 2,
15655 6, MVT::f64,
15656 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64),
15657 MVT::f64, 1, 2,
15658 8, 8|128,1,
15659 OPC_CheckPatternPredicate0,
15660 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32x4),
15661 8|128,1, 1, 2,
15662 8, 26|128,1,
15663 OPC_CheckPatternPredicate0,
15664 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64x2),
15665 26|128,1, 1, 2,
15666 7, MVT::v8f16,
15667 OPC_CheckPatternPredicate6,
15668 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F16x8),
15669 MVT::v8f16, 1, 2,
15670 0,
15671 50, TARGET_VAL(ISD::FNEARBYINT),
15672 OPC_RecordChild0,
15673 OPC_SwitchType , 6, MVT::f32,
15674 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
15675 MVT::f32, 1, 2,
15676 6, MVT::f64,
15677 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
15678 MVT::f64, 1, 2,
15679 8, 8|128,1,
15680 OPC_CheckPatternPredicate0,
15681 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
15682 8|128,1, 1, 2,
15683 8, 26|128,1,
15684 OPC_CheckPatternPredicate0,
15685 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
15686 26|128,1, 1, 2,
15687 7, MVT::v8f16,
15688 OPC_CheckPatternPredicate6,
15689 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
15690 MVT::v8f16, 1, 2,
15691 0,
15692 47, TARGET_VAL(ISD::FRINT),
15693 OPC_RecordChild0,
15694 OPC_SwitchType , 6, MVT::f32,
15695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
15696 MVT::f32, 1, 2,
15697 6, MVT::f64,
15698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
15699 MVT::f64, 1, 2,
15700 7, 8|128,1,
15701 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
15702 8|128,1, 1, 2,
15703 7, 26|128,1,
15704 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
15705 26|128,1, 1, 2,
15706 6, MVT::v8f16,
15707 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
15708 MVT::v8f16, 1, 2,
15709 0,
15710 47, TARGET_VAL(ISD::FROUNDEVEN),
15711 OPC_RecordChild0,
15712 OPC_SwitchType , 6, MVT::f32,
15713 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
15714 MVT::f32, 1, 2,
15715 6, MVT::f64,
15716 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
15717 MVT::f64, 1, 2,
15718 7, 8|128,1,
15719 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
15720 8|128,1, 1, 2,
15721 7, 26|128,1,
15722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
15723 26|128,1, 1, 2,
15724 6, MVT::v8f16,
15725 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
15726 MVT::v8f16, 1, 2,
15727 0,
15728 25|128,111, TARGET_VAL(WebAssemblyISD::NARROW_U),
15729 OPC_Scope, 119|128,110,
15730 OPC_MoveChild0,
15731 OPC_SwitchOpcode , 36|128,91, TARGET_VAL(ISD::AND),
15732 OPC_MoveChild0,
15733 OPC_SwitchOpcode , 15|128,23, TARGET_VAL(ISD::SMIN),
15734 OPC_MoveChild0,
15735 OPC_SwitchOpcode , 91|128,11, TARGET_VAL(ISD::SMAX),
15736 OPC_Scope, 54|128,3,
15737 OPC_RecordChild0,
15738 OPC_MoveChild1,
15739 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15740 OPC_Scope, 90|128,2,
15741 OPC_CheckChild0Integer, 0|128,127,
15742 OPC_CheckChild0TypeI32,
15743 OPC_MoveParent,
15744 OPC_MoveSibling1,
15745 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15746 OPC_CheckChild0Integer, 127|128,0,
15747 OPC_CheckChild0TypeI32,
15748 OPC_MoveParent,
15749 OPC_MoveSibling1,
15750 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15751 OPC_CheckChild0Integer, 127|128,1,
15752 OPC_CheckChild0TypeI32,
15753 OPC_MoveParent,
15754 OPC_CheckType, MVT::v8i16,
15755 OPC_MoveSibling1,
15756 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15757 OPC_MoveChild0,
15758 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
15759 OPC_MoveChild0,
15760 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
15761 OPC_Scope, 39,
15762 OPC_RecordChild0,
15763 OPC_MoveChild1,
15764 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15765 OPC_CheckChild0Integer, 0|128,127,
15766 OPC_CheckChild0TypeI32,
15767 OPC_MoveParent,
15768 OPC_MoveSibling1,
15769 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15770 OPC_CheckChild0Integer, 127|128,0,
15771 OPC_CheckChild0TypeI32,
15772 OPC_MoveParent,
15773 OPC_MoveSibling1,
15774 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15775 OPC_CheckChild0Integer, 127|128,1,
15776 OPC_CheckChild0TypeI32,
15777 OPC_MoveParent,
15778 OPC_CheckType, MVT::v8i16,
15779 OPC_MoveParent,
15780 OPC_CheckType, MVT::v16i8,
15781 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15782 MVT::v16i8, 2, 16,
15783 39,
15784 OPC_MoveChild0,
15785 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15786 OPC_CheckChild0Integer, 0|128,127,
15787 OPC_CheckChild0TypeI32,
15788 OPC_MoveParent,
15789 OPC_RecordChild1,
15790 OPC_MoveSibling1,
15791 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15792 OPC_CheckChild0Integer, 127|128,0,
15793 OPC_CheckChild0TypeI32,
15794 OPC_MoveParent,
15795 OPC_MoveSibling1,
15796 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15797 OPC_CheckChild0Integer, 127|128,1,
15798 OPC_CheckChild0TypeI32,
15799 OPC_MoveParent,
15800 OPC_CheckType, MVT::v8i16,
15801 OPC_MoveParent,
15802 OPC_CheckType, MVT::v16i8,
15803 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15804 MVT::v16i8, 2, 16,
15805 0,
15806 74, TARGET_VAL(ISD::SPLAT_VECTOR),
15807 OPC_CheckChild0Integer, 127|128,0,
15808 OPC_CheckChild0TypeI32,
15809 OPC_MoveSibling1,
15810 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15811 OPC_Scope, 31,
15812 OPC_RecordChild0,
15813 OPC_MoveChild1,
15814 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15815 OPC_CheckChild0Integer, 0|128,127,
15816 OPC_CheckChild0TypeI32,
15817 OPC_MoveParent,
15818 OPC_MoveParent,
15819 OPC_MoveSibling1,
15820 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15821 OPC_CheckChild0Integer, 127|128,1,
15822 OPC_CheckChild0TypeI32,
15823 OPC_MoveParent,
15824 OPC_CheckType, MVT::v8i16,
15825 OPC_MoveParent,
15826 OPC_CheckType, MVT::v16i8,
15827 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15828 MVT::v16i8, 2, 16,
15829 31,
15830 OPC_MoveChild0,
15831 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15832 OPC_CheckChild0Integer, 0|128,127,
15833 OPC_CheckChild0TypeI32,
15834 OPC_MoveParent,
15835 OPC_RecordChild1,
15836 OPC_MoveParent,
15837 OPC_MoveSibling1,
15838 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15839 OPC_CheckChild0Integer, 127|128,1,
15840 OPC_CheckChild0TypeI32,
15841 OPC_MoveParent,
15842 OPC_CheckType, MVT::v8i16,
15843 OPC_MoveParent,
15844 OPC_CheckType, MVT::v16i8,
15845 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15846 MVT::v16i8, 2, 16,
15847 0,
15848 0,
15849 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15850 OPC_CheckChild0Integer, 127|128,1,
15851 OPC_CheckChild0TypeI32,
15852 OPC_MoveSibling1,
15853 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15854 OPC_MoveChild0,
15855 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
15856 OPC_Scope, 31,
15857 OPC_RecordChild0,
15858 OPC_MoveChild1,
15859 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15860 OPC_CheckChild0Integer, 0|128,127,
15861 OPC_CheckChild0TypeI32,
15862 OPC_MoveParent,
15863 OPC_MoveSibling1,
15864 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15865 OPC_CheckChild0Integer, 127|128,0,
15866 OPC_CheckChild0TypeI32,
15867 OPC_MoveParent,
15868 OPC_MoveParent,
15869 OPC_CheckType, MVT::v8i16,
15870 OPC_MoveParent,
15871 OPC_CheckType, MVT::v16i8,
15872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15873 MVT::v16i8, 2, 16,
15874 31,
15875 OPC_MoveChild0,
15876 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15877 OPC_CheckChild0Integer, 0|128,127,
15878 OPC_CheckChild0TypeI32,
15879 OPC_MoveParent,
15880 OPC_RecordChild1,
15881 OPC_MoveSibling1,
15882 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15883 OPC_CheckChild0Integer, 127|128,0,
15884 OPC_CheckChild0TypeI32,
15885 OPC_MoveParent,
15886 OPC_MoveParent,
15887 OPC_CheckType, MVT::v8i16,
15888 OPC_MoveParent,
15889 OPC_CheckType, MVT::v16i8,
15890 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15891 MVT::v16i8, 2, 16,
15892 0,
15893 58, TARGET_VAL(ISD::SPLAT_VECTOR),
15894 OPC_CheckChild0Integer, 127|128,0,
15895 OPC_CheckChild0TypeI32,
15896 OPC_MoveSibling1,
15897 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15898 OPC_Scope, 23,
15899 OPC_RecordChild0,
15900 OPC_MoveChild1,
15901 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15902 OPC_CheckChild0Integer, 0|128,127,
15903 OPC_CheckChild0TypeI32,
15904 OPC_MoveParent,
15905 OPC_MoveParent,
15906 OPC_MoveParent,
15907 OPC_CheckType, MVT::v8i16,
15908 OPC_MoveParent,
15909 OPC_CheckType, MVT::v16i8,
15910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15911 MVT::v16i8, 2, 16,
15912 23,
15913 OPC_MoveChild0,
15914 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15915 OPC_CheckChild0Integer, 0|128,127,
15916 OPC_CheckChild0TypeI32,
15917 OPC_MoveParent,
15918 OPC_RecordChild1,
15919 OPC_MoveParent,
15920 OPC_MoveParent,
15921 OPC_CheckType, MVT::v8i16,
15922 OPC_MoveParent,
15923 OPC_CheckType, MVT::v16i8,
15924 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15925 MVT::v16i8, 2, 16,
15926 0,
15927 0,
15928 0,
15929 82,
15930 OPC_CheckChild0Integer, 0|128,0|128,126,
15931 OPC_CheckChild0TypeI32,
15932 OPC_MoveParent,
15933 OPC_MoveSibling1,
15934 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15935 OPC_CheckChild0Integer, 127|128,127|128,1,
15936 OPC_CheckChild0TypeI32,
15937 OPC_MoveParent,
15938 OPC_MoveSibling1,
15939 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15940 OPC_CheckChild0Integer, 127|128,127|128,3,
15941 OPC_CheckChild0TypeI32,
15942 OPC_MoveParent,
15943 OPC_CheckType, MVT::v4i32,
15944 OPC_MoveSibling1,
15945 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15946 OPC_MoveChild0,
15947 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15948 OPC_MoveChild0,
15949 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15950 OPC_RecordChild0,
15951 OPC_MoveChild1,
15952 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15953 OPC_CheckChild0Integer, 0|128,0|128,126,
15954 OPC_CheckChild0TypeI32,
15955 OPC_MoveParent,
15956 OPC_MoveSibling1,
15957 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15958 OPC_CheckChild0Integer, 127|128,127|128,1,
15959 OPC_CheckChild0TypeI32,
15960 OPC_MoveParent,
15961 OPC_MoveSibling1,
15962 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15963 OPC_CheckChild0Integer, 127|128,127|128,3,
15964 OPC_CheckChild0TypeI32,
15965 OPC_MoveParent,
15966 OPC_CheckType, MVT::v4i32,
15967 OPC_MoveParent,
15968 OPC_CheckType, MVT::v8i16,
15969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15970 MVT::v8i16, 2, 16,
15971 0,
15972 95|128,2,
15973 OPC_MoveChild0,
15974 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15975 OPC_CheckChild0Integer, 0|128,127,
15976 OPC_CheckChild0TypeI32,
15977 OPC_MoveParent,
15978 OPC_RecordChild1,
15979 OPC_MoveSibling1,
15980 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15981 OPC_CheckChild0Integer, 127|128,0,
15982 OPC_CheckChild0TypeI32,
15983 OPC_MoveParent,
15984 OPC_MoveSibling1,
15985 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15986 OPC_CheckChild0Integer, 127|128,1,
15987 OPC_CheckChild0TypeI32,
15988 OPC_MoveParent,
15989 OPC_CheckType, MVT::v8i16,
15990 OPC_MoveSibling1,
15991 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15992 OPC_MoveChild0,
15993 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
15994 OPC_MoveChild0,
15995 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
15996 OPC_Scope, 39,
15997 OPC_RecordChild0,
15998 OPC_MoveChild1,
15999 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16000 OPC_CheckChild0Integer, 0|128,127,
16001 OPC_CheckChild0TypeI32,
16002 OPC_MoveParent,
16003 OPC_MoveSibling1,
16004 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16005 OPC_CheckChild0Integer, 127|128,0,
16006 OPC_CheckChild0TypeI32,
16007 OPC_MoveParent,
16008 OPC_MoveSibling1,
16009 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16010 OPC_CheckChild0Integer, 127|128,1,
16011 OPC_CheckChild0TypeI32,
16012 OPC_MoveParent,
16013 OPC_CheckType, MVT::v8i16,
16014 OPC_MoveParent,
16015 OPC_CheckType, MVT::v16i8,
16016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16017 MVT::v16i8, 2, 16,
16018 39,
16019 OPC_MoveChild0,
16020 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16021 OPC_CheckChild0Integer, 0|128,127,
16022 OPC_CheckChild0TypeI32,
16023 OPC_MoveParent,
16024 OPC_RecordChild1,
16025 OPC_MoveSibling1,
16026 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16027 OPC_CheckChild0Integer, 127|128,0,
16028 OPC_CheckChild0TypeI32,
16029 OPC_MoveParent,
16030 OPC_MoveSibling1,
16031 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16032 OPC_CheckChild0Integer, 127|128,1,
16033 OPC_CheckChild0TypeI32,
16034 OPC_MoveParent,
16035 OPC_CheckType, MVT::v8i16,
16036 OPC_MoveParent,
16037 OPC_CheckType, MVT::v16i8,
16038 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16039 MVT::v16i8, 2, 16,
16040 0,
16041 74, TARGET_VAL(ISD::SPLAT_VECTOR),
16042 OPC_CheckChild0Integer, 127|128,0,
16043 OPC_CheckChild0TypeI32,
16044 OPC_MoveSibling1,
16045 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16046 OPC_Scope, 31,
16047 OPC_RecordChild0,
16048 OPC_MoveChild1,
16049 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16050 OPC_CheckChild0Integer, 0|128,127,
16051 OPC_CheckChild0TypeI32,
16052 OPC_MoveParent,
16053 OPC_MoveParent,
16054 OPC_MoveSibling1,
16055 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16056 OPC_CheckChild0Integer, 127|128,1,
16057 OPC_CheckChild0TypeI32,
16058 OPC_MoveParent,
16059 OPC_CheckType, MVT::v8i16,
16060 OPC_MoveParent,
16061 OPC_CheckType, MVT::v16i8,
16062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16063 MVT::v16i8, 2, 16,
16064 31,
16065 OPC_MoveChild0,
16066 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16067 OPC_CheckChild0Integer, 0|128,127,
16068 OPC_CheckChild0TypeI32,
16069 OPC_MoveParent,
16070 OPC_RecordChild1,
16071 OPC_MoveParent,
16072 OPC_MoveSibling1,
16073 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16074 OPC_CheckChild0Integer, 127|128,1,
16075 OPC_CheckChild0TypeI32,
16076 OPC_MoveParent,
16077 OPC_CheckType, MVT::v8i16,
16078 OPC_MoveParent,
16079 OPC_CheckType, MVT::v16i8,
16080 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16081 MVT::v16i8, 2, 16,
16082 0,
16083 0,
16084 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16085 OPC_CheckChild0Integer, 127|128,1,
16086 OPC_CheckChild0TypeI32,
16087 OPC_MoveSibling1,
16088 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16089 OPC_MoveChild0,
16090 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
16091 OPC_Scope, 31,
16092 OPC_RecordChild0,
16093 OPC_MoveChild1,
16094 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16095 OPC_CheckChild0Integer, 0|128,127,
16096 OPC_CheckChild0TypeI32,
16097 OPC_MoveParent,
16098 OPC_MoveSibling1,
16099 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16100 OPC_CheckChild0Integer, 127|128,0,
16101 OPC_CheckChild0TypeI32,
16102 OPC_MoveParent,
16103 OPC_MoveParent,
16104 OPC_CheckType, MVT::v8i16,
16105 OPC_MoveParent,
16106 OPC_CheckType, MVT::v16i8,
16107 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16108 MVT::v16i8, 2, 16,
16109 31,
16110 OPC_MoveChild0,
16111 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16112 OPC_CheckChild0Integer, 0|128,127,
16113 OPC_CheckChild0TypeI32,
16114 OPC_MoveParent,
16115 OPC_RecordChild1,
16116 OPC_MoveSibling1,
16117 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16118 OPC_CheckChild0Integer, 127|128,0,
16119 OPC_CheckChild0TypeI32,
16120 OPC_MoveParent,
16121 OPC_MoveParent,
16122 OPC_CheckType, MVT::v8i16,
16123 OPC_MoveParent,
16124 OPC_CheckType, MVT::v16i8,
16125 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16126 MVT::v16i8, 2, 16,
16127 0,
16128 58, TARGET_VAL(ISD::SPLAT_VECTOR),
16129 OPC_CheckChild0Integer, 127|128,0,
16130 OPC_CheckChild0TypeI32,
16131 OPC_MoveSibling1,
16132 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16133 OPC_Scope, 23,
16134 OPC_RecordChild0,
16135 OPC_MoveChild1,
16136 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16137 OPC_CheckChild0Integer, 0|128,127,
16138 OPC_CheckChild0TypeI32,
16139 OPC_MoveParent,
16140 OPC_MoveParent,
16141 OPC_MoveParent,
16142 OPC_CheckType, MVT::v8i16,
16143 OPC_MoveParent,
16144 OPC_CheckType, MVT::v16i8,
16145 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16146 MVT::v16i8, 2, 16,
16147 23,
16148 OPC_MoveChild0,
16149 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16150 OPC_CheckChild0Integer, 0|128,127,
16151 OPC_CheckChild0TypeI32,
16152 OPC_MoveParent,
16153 OPC_RecordChild1,
16154 OPC_MoveParent,
16155 OPC_MoveParent,
16156 OPC_CheckType, MVT::v8i16,
16157 OPC_MoveParent,
16158 OPC_CheckType, MVT::v16i8,
16159 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16160 MVT::v16i8, 2, 16,
16161 0,
16162 0,
16163 0,
16164 71|128,2,
16165 OPC_RecordChild0,
16166 OPC_MoveChild1,
16167 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16168 OPC_CheckChild0Integer, 0|128,0|128,126,
16169 OPC_CheckChild0TypeI32,
16170 OPC_MoveParent,
16171 OPC_MoveSibling1,
16172 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16173 OPC_CheckChild0Integer, 127|128,127|128,1,
16174 OPC_CheckChild0TypeI32,
16175 OPC_MoveParent,
16176 OPC_MoveSibling1,
16177 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16178 OPC_CheckChild0Integer, 127|128,127|128,3,
16179 OPC_CheckChild0TypeI32,
16180 OPC_MoveParent,
16181 OPC_CheckType, MVT::v4i32,
16182 OPC_MoveSibling1,
16183 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16184 OPC_MoveChild0,
16185 OPC_SwitchOpcode , 2|128,1, TARGET_VAL(ISD::SMIN),
16186 OPC_MoveChild0,
16187 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::SMAX),
16188 OPC_MoveChild0,
16189 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16190 OPC_CheckChild0Integer, 0|128,0|128,126,
16191 OPC_CheckChild0TypeI32,
16192 OPC_MoveParent,
16193 OPC_RecordChild1,
16194 OPC_MoveSibling1,
16195 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16196 OPC_CheckChild0Integer, 127|128,127|128,1,
16197 OPC_CheckChild0TypeI32,
16198 OPC_MoveParent,
16199 OPC_MoveSibling1,
16200 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16201 OPC_CheckChild0Integer, 127|128,127|128,3,
16202 OPC_CheckChild0TypeI32,
16203 OPC_MoveParent,
16204 OPC_CheckType, MVT::v4i32,
16205 OPC_MoveParent,
16206 OPC_CheckType, MVT::v8i16,
16207 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16208 MVT::v8i16, 2, 16,
16209 79, TARGET_VAL(ISD::SPLAT_VECTOR),
16210 OPC_CheckChild0Integer, 127|128,127|128,1,
16211 OPC_CheckChild0TypeI32,
16212 OPC_MoveSibling1,
16213 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16214 OPC_Scope, 33,
16215 OPC_RecordChild0,
16216 OPC_MoveChild1,
16217 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16218 OPC_CheckChild0Integer, 0|128,0|128,126,
16219 OPC_CheckChild0TypeI32,
16220 OPC_MoveParent,
16221 OPC_MoveParent,
16222 OPC_MoveSibling1,
16223 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16224 OPC_CheckChild0Integer, 127|128,127|128,3,
16225 OPC_CheckChild0TypeI32,
16226 OPC_MoveParent,
16227 OPC_CheckType, MVT::v4i32,
16228 OPC_MoveParent,
16229 OPC_CheckType, MVT::v8i16,
16230 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16231 MVT::v8i16, 2, 16,
16232 33,
16233 OPC_MoveChild0,
16234 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16235 OPC_CheckChild0Integer, 0|128,0|128,126,
16236 OPC_CheckChild0TypeI32,
16237 OPC_MoveParent,
16238 OPC_RecordChild1,
16239 OPC_MoveParent,
16240 OPC_MoveSibling1,
16241 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16242 OPC_CheckChild0Integer, 127|128,127|128,3,
16243 OPC_CheckChild0TypeI32,
16244 OPC_MoveParent,
16245 OPC_CheckType, MVT::v4i32,
16246 OPC_MoveParent,
16247 OPC_CheckType, MVT::v8i16,
16248 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16249 MVT::v8i16, 2, 16,
16250 0,
16251 0,
16252 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16253 OPC_CheckChild0Integer, 127|128,127|128,3,
16254 OPC_CheckChild0TypeI32,
16255 OPC_MoveSibling1,
16256 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16257 OPC_MoveChild0,
16258 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
16259 OPC_Scope, 33,
16260 OPC_RecordChild0,
16261 OPC_MoveChild1,
16262 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16263 OPC_CheckChild0Integer, 0|128,0|128,126,
16264 OPC_CheckChild0TypeI32,
16265 OPC_MoveParent,
16266 OPC_MoveSibling1,
16267 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16268 OPC_CheckChild0Integer, 127|128,127|128,1,
16269 OPC_CheckChild0TypeI32,
16270 OPC_MoveParent,
16271 OPC_MoveParent,
16272 OPC_CheckType, MVT::v4i32,
16273 OPC_MoveParent,
16274 OPC_CheckType, MVT::v8i16,
16275 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16276 MVT::v8i16, 2, 16,
16277 33,
16278 OPC_MoveChild0,
16279 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16280 OPC_CheckChild0Integer, 0|128,0|128,126,
16281 OPC_CheckChild0TypeI32,
16282 OPC_MoveParent,
16283 OPC_RecordChild1,
16284 OPC_MoveSibling1,
16285 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16286 OPC_CheckChild0Integer, 127|128,127|128,1,
16287 OPC_CheckChild0TypeI32,
16288 OPC_MoveParent,
16289 OPC_MoveParent,
16290 OPC_CheckType, MVT::v4i32,
16291 OPC_MoveParent,
16292 OPC_CheckType, MVT::v8i16,
16293 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16294 MVT::v8i16, 2, 16,
16295 0,
16296 61, TARGET_VAL(ISD::SPLAT_VECTOR),
16297 OPC_CheckChild0Integer, 127|128,127|128,1,
16298 OPC_CheckChild0TypeI32,
16299 OPC_MoveSibling1,
16300 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16301 OPC_Scope, 24,
16302 OPC_RecordChild0,
16303 OPC_MoveChild1,
16304 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16305 OPC_CheckChild0Integer, 0|128,0|128,126,
16306 OPC_CheckChild0TypeI32,
16307 OPC_MoveParent,
16308 OPC_MoveParent,
16309 OPC_MoveParent,
16310 OPC_CheckType, MVT::v4i32,
16311 OPC_MoveParent,
16312 OPC_CheckType, MVT::v8i16,
16313 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16314 MVT::v8i16, 2, 16,
16315 24,
16316 OPC_MoveChild0,
16317 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16318 OPC_CheckChild0Integer, 0|128,0|128,126,
16319 OPC_CheckChild0TypeI32,
16320 OPC_MoveParent,
16321 OPC_RecordChild1,
16322 OPC_MoveParent,
16323 OPC_MoveParent,
16324 OPC_CheckType, MVT::v4i32,
16325 OPC_MoveParent,
16326 OPC_CheckType, MVT::v8i16,
16327 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16328 MVT::v8i16, 2, 16,
16329 0,
16330 0,
16331 0,
16332 117|128,2,
16333 OPC_MoveChild0,
16334 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16335 OPC_CheckChild0Integer, 0|128,0|128,126,
16336 OPC_CheckChild0TypeI32,
16337 OPC_MoveParent,
16338 OPC_RecordChild1,
16339 OPC_MoveSibling1,
16340 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16341 OPC_CheckChild0Integer, 127|128,127|128,1,
16342 OPC_CheckChild0TypeI32,
16343 OPC_MoveParent,
16344 OPC_MoveSibling1,
16345 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16346 OPC_CheckChild0Integer, 127|128,127|128,3,
16347 OPC_CheckChild0TypeI32,
16348 OPC_MoveParent,
16349 OPC_CheckType, MVT::v4i32,
16350 OPC_MoveSibling1,
16351 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16352 OPC_MoveChild0,
16353 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
16354 OPC_MoveChild0,
16355 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
16356 OPC_Scope, 42,
16357 OPC_RecordChild0,
16358 OPC_MoveChild1,
16359 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16360 OPC_CheckChild0Integer, 0|128,0|128,126,
16361 OPC_CheckChild0TypeI32,
16362 OPC_MoveParent,
16363 OPC_MoveSibling1,
16364 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16365 OPC_CheckChild0Integer, 127|128,127|128,1,
16366 OPC_CheckChild0TypeI32,
16367 OPC_MoveParent,
16368 OPC_MoveSibling1,
16369 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16370 OPC_CheckChild0Integer, 127|128,127|128,3,
16371 OPC_CheckChild0TypeI32,
16372 OPC_MoveParent,
16373 OPC_CheckType, MVT::v4i32,
16374 OPC_MoveParent,
16375 OPC_CheckType, MVT::v8i16,
16376 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16377 MVT::v8i16, 2, 16,
16378 42,
16379 OPC_MoveChild0,
16380 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16381 OPC_CheckChild0Integer, 0|128,0|128,126,
16382 OPC_CheckChild0TypeI32,
16383 OPC_MoveParent,
16384 OPC_RecordChild1,
16385 OPC_MoveSibling1,
16386 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16387 OPC_CheckChild0Integer, 127|128,127|128,1,
16388 OPC_CheckChild0TypeI32,
16389 OPC_MoveParent,
16390 OPC_MoveSibling1,
16391 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16392 OPC_CheckChild0Integer, 127|128,127|128,3,
16393 OPC_CheckChild0TypeI32,
16394 OPC_MoveParent,
16395 OPC_CheckType, MVT::v4i32,
16396 OPC_MoveParent,
16397 OPC_CheckType, MVT::v8i16,
16398 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16399 MVT::v8i16, 2, 16,
16400 0,
16401 79, TARGET_VAL(ISD::SPLAT_VECTOR),
16402 OPC_CheckChild0Integer, 127|128,127|128,1,
16403 OPC_CheckChild0TypeI32,
16404 OPC_MoveSibling1,
16405 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16406 OPC_Scope, 33,
16407 OPC_RecordChild0,
16408 OPC_MoveChild1,
16409 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16410 OPC_CheckChild0Integer, 0|128,0|128,126,
16411 OPC_CheckChild0TypeI32,
16412 OPC_MoveParent,
16413 OPC_MoveParent,
16414 OPC_MoveSibling1,
16415 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16416 OPC_CheckChild0Integer, 127|128,127|128,3,
16417 OPC_CheckChild0TypeI32,
16418 OPC_MoveParent,
16419 OPC_CheckType, MVT::v4i32,
16420 OPC_MoveParent,
16421 OPC_CheckType, MVT::v8i16,
16422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16423 MVT::v8i16, 2, 16,
16424 33,
16425 OPC_MoveChild0,
16426 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16427 OPC_CheckChild0Integer, 0|128,0|128,126,
16428 OPC_CheckChild0TypeI32,
16429 OPC_MoveParent,
16430 OPC_RecordChild1,
16431 OPC_MoveParent,
16432 OPC_MoveSibling1,
16433 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16434 OPC_CheckChild0Integer, 127|128,127|128,3,
16435 OPC_CheckChild0TypeI32,
16436 OPC_MoveParent,
16437 OPC_CheckType, MVT::v4i32,
16438 OPC_MoveParent,
16439 OPC_CheckType, MVT::v8i16,
16440 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16441 MVT::v8i16, 2, 16,
16442 0,
16443 0,
16444 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16445 OPC_CheckChild0Integer, 127|128,127|128,3,
16446 OPC_CheckChild0TypeI32,
16447 OPC_MoveSibling1,
16448 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16449 OPC_MoveChild0,
16450 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
16451 OPC_Scope, 33,
16452 OPC_RecordChild0,
16453 OPC_MoveChild1,
16454 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16455 OPC_CheckChild0Integer, 0|128,0|128,126,
16456 OPC_CheckChild0TypeI32,
16457 OPC_MoveParent,
16458 OPC_MoveSibling1,
16459 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16460 OPC_CheckChild0Integer, 127|128,127|128,1,
16461 OPC_CheckChild0TypeI32,
16462 OPC_MoveParent,
16463 OPC_MoveParent,
16464 OPC_CheckType, MVT::v4i32,
16465 OPC_MoveParent,
16466 OPC_CheckType, MVT::v8i16,
16467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16468 MVT::v8i16, 2, 16,
16469 33,
16470 OPC_MoveChild0,
16471 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16472 OPC_CheckChild0Integer, 0|128,0|128,126,
16473 OPC_CheckChild0TypeI32,
16474 OPC_MoveParent,
16475 OPC_RecordChild1,
16476 OPC_MoveSibling1,
16477 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16478 OPC_CheckChild0Integer, 127|128,127|128,1,
16479 OPC_CheckChild0TypeI32,
16480 OPC_MoveParent,
16481 OPC_MoveParent,
16482 OPC_CheckType, MVT::v4i32,
16483 OPC_MoveParent,
16484 OPC_CheckType, MVT::v8i16,
16485 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16486 MVT::v8i16, 2, 16,
16487 0,
16488 61, TARGET_VAL(ISD::SPLAT_VECTOR),
16489 OPC_CheckChild0Integer, 127|128,127|128,1,
16490 OPC_CheckChild0TypeI32,
16491 OPC_MoveSibling1,
16492 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16493 OPC_Scope, 24,
16494 OPC_RecordChild0,
16495 OPC_MoveChild1,
16496 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16497 OPC_CheckChild0Integer, 0|128,0|128,126,
16498 OPC_CheckChild0TypeI32,
16499 OPC_MoveParent,
16500 OPC_MoveParent,
16501 OPC_MoveParent,
16502 OPC_CheckType, MVT::v4i32,
16503 OPC_MoveParent,
16504 OPC_CheckType, MVT::v8i16,
16505 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16506 MVT::v8i16, 2, 16,
16507 24,
16508 OPC_MoveChild0,
16509 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16510 OPC_CheckChild0Integer, 0|128,0|128,126,
16511 OPC_CheckChild0TypeI32,
16512 OPC_MoveParent,
16513 OPC_RecordChild1,
16514 OPC_MoveParent,
16515 OPC_MoveParent,
16516 OPC_CheckType, MVT::v4i32,
16517 OPC_MoveParent,
16518 OPC_CheckType, MVT::v8i16,
16519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16520 MVT::v8i16, 2, 16,
16521 0,
16522 0,
16523 0,
16524 0,
16525 41|128,11, TARGET_VAL(ISD::SPLAT_VECTOR),
16526 OPC_Scope, 60|128,5,
16527 OPC_CheckChild0Integer, 127|128,0,
16528 OPC_CheckChild0TypeI32,
16529 OPC_MoveSibling1,
16530 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16531 OPC_Scope, 87|128,2,
16532 OPC_RecordChild0,
16533 OPC_MoveChild1,
16534 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16535 OPC_CheckChild0Integer, 0|128,127,
16536 OPC_CheckChild0TypeI32,
16537 OPC_MoveParent,
16538 OPC_MoveParent,
16539 OPC_MoveSibling1,
16540 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16541 OPC_CheckChild0Integer, 127|128,1,
16542 OPC_CheckChild0TypeI32,
16543 OPC_MoveParent,
16544 OPC_CheckType, MVT::v8i16,
16545 OPC_MoveSibling1,
16546 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16547 OPC_MoveChild0,
16548 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
16549 OPC_MoveChild0,
16550 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
16551 OPC_Scope, 39,
16552 OPC_RecordChild0,
16553 OPC_MoveChild1,
16554 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16555 OPC_CheckChild0Integer, 0|128,127,
16556 OPC_CheckChild0TypeI32,
16557 OPC_MoveParent,
16558 OPC_MoveSibling1,
16559 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16560 OPC_CheckChild0Integer, 127|128,0,
16561 OPC_CheckChild0TypeI32,
16562 OPC_MoveParent,
16563 OPC_MoveSibling1,
16564 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16565 OPC_CheckChild0Integer, 127|128,1,
16566 OPC_CheckChild0TypeI32,
16567 OPC_MoveParent,
16568 OPC_CheckType, MVT::v8i16,
16569 OPC_MoveParent,
16570 OPC_CheckType, MVT::v16i8,
16571 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16572 MVT::v16i8, 2, 16,
16573 39,
16574 OPC_MoveChild0,
16575 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16576 OPC_CheckChild0Integer, 0|128,127,
16577 OPC_CheckChild0TypeI32,
16578 OPC_MoveParent,
16579 OPC_RecordChild1,
16580 OPC_MoveSibling1,
16581 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16582 OPC_CheckChild0Integer, 127|128,0,
16583 OPC_CheckChild0TypeI32,
16584 OPC_MoveParent,
16585 OPC_MoveSibling1,
16586 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16587 OPC_CheckChild0Integer, 127|128,1,
16588 OPC_CheckChild0TypeI32,
16589 OPC_MoveParent,
16590 OPC_CheckType, MVT::v8i16,
16591 OPC_MoveParent,
16592 OPC_CheckType, MVT::v16i8,
16593 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16594 MVT::v16i8, 2, 16,
16595 0,
16596 74, TARGET_VAL(ISD::SPLAT_VECTOR),
16597 OPC_CheckChild0Integer, 127|128,0,
16598 OPC_CheckChild0TypeI32,
16599 OPC_MoveSibling1,
16600 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16601 OPC_Scope, 31,
16602 OPC_RecordChild0,
16603 OPC_MoveChild1,
16604 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16605 OPC_CheckChild0Integer, 0|128,127,
16606 OPC_CheckChild0TypeI32,
16607 OPC_MoveParent,
16608 OPC_MoveParent,
16609 OPC_MoveSibling1,
16610 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16611 OPC_CheckChild0Integer, 127|128,1,
16612 OPC_CheckChild0TypeI32,
16613 OPC_MoveParent,
16614 OPC_CheckType, MVT::v8i16,
16615 OPC_MoveParent,
16616 OPC_CheckType, MVT::v16i8,
16617 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16618 MVT::v16i8, 2, 16,
16619 31,
16620 OPC_MoveChild0,
16621 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16622 OPC_CheckChild0Integer, 0|128,127,
16623 OPC_CheckChild0TypeI32,
16624 OPC_MoveParent,
16625 OPC_RecordChild1,
16626 OPC_MoveParent,
16627 OPC_MoveSibling1,
16628 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16629 OPC_CheckChild0Integer, 127|128,1,
16630 OPC_CheckChild0TypeI32,
16631 OPC_MoveParent,
16632 OPC_CheckType, MVT::v8i16,
16633 OPC_MoveParent,
16634 OPC_CheckType, MVT::v16i8,
16635 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16636 MVT::v16i8, 2, 16,
16637 0,
16638 0,
16639 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16640 OPC_CheckChild0Integer, 127|128,1,
16641 OPC_CheckChild0TypeI32,
16642 OPC_MoveSibling1,
16643 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16644 OPC_MoveChild0,
16645 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
16646 OPC_Scope, 31,
16647 OPC_RecordChild0,
16648 OPC_MoveChild1,
16649 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16650 OPC_CheckChild0Integer, 0|128,127,
16651 OPC_CheckChild0TypeI32,
16652 OPC_MoveParent,
16653 OPC_MoveSibling1,
16654 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16655 OPC_CheckChild0Integer, 127|128,0,
16656 OPC_CheckChild0TypeI32,
16657 OPC_MoveParent,
16658 OPC_MoveParent,
16659 OPC_CheckType, MVT::v8i16,
16660 OPC_MoveParent,
16661 OPC_CheckType, MVT::v16i8,
16662 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16663 MVT::v16i8, 2, 16,
16664 31,
16665 OPC_MoveChild0,
16666 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16667 OPC_CheckChild0Integer, 0|128,127,
16668 OPC_CheckChild0TypeI32,
16669 OPC_MoveParent,
16670 OPC_RecordChild1,
16671 OPC_MoveSibling1,
16672 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16673 OPC_CheckChild0Integer, 127|128,0,
16674 OPC_CheckChild0TypeI32,
16675 OPC_MoveParent,
16676 OPC_MoveParent,
16677 OPC_CheckType, MVT::v8i16,
16678 OPC_MoveParent,
16679 OPC_CheckType, MVT::v16i8,
16680 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16681 MVT::v16i8, 2, 16,
16682 0,
16683 58, TARGET_VAL(ISD::SPLAT_VECTOR),
16684 OPC_CheckChild0Integer, 127|128,0,
16685 OPC_CheckChild0TypeI32,
16686 OPC_MoveSibling1,
16687 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16688 OPC_Scope, 23,
16689 OPC_RecordChild0,
16690 OPC_MoveChild1,
16691 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16692 OPC_CheckChild0Integer, 0|128,127,
16693 OPC_CheckChild0TypeI32,
16694 OPC_MoveParent,
16695 OPC_MoveParent,
16696 OPC_MoveParent,
16697 OPC_CheckType, MVT::v8i16,
16698 OPC_MoveParent,
16699 OPC_CheckType, MVT::v16i8,
16700 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16701 MVT::v16i8, 2, 16,
16702 23,
16703 OPC_MoveChild0,
16704 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16705 OPC_CheckChild0Integer, 0|128,127,
16706 OPC_CheckChild0TypeI32,
16707 OPC_MoveParent,
16708 OPC_RecordChild1,
16709 OPC_MoveParent,
16710 OPC_MoveParent,
16711 OPC_CheckType, MVT::v8i16,
16712 OPC_MoveParent,
16713 OPC_CheckType, MVT::v16i8,
16714 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16715 MVT::v16i8, 2, 16,
16716 0,
16717 0,
16718 0,
16719 87|128,2,
16720 OPC_MoveChild0,
16721 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16722 OPC_CheckChild0Integer, 0|128,127,
16723 OPC_CheckChild0TypeI32,
16724 OPC_MoveParent,
16725 OPC_RecordChild1,
16726 OPC_MoveParent,
16727 OPC_MoveSibling1,
16728 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16729 OPC_CheckChild0Integer, 127|128,1,
16730 OPC_CheckChild0TypeI32,
16731 OPC_MoveParent,
16732 OPC_CheckType, MVT::v8i16,
16733 OPC_MoveSibling1,
16734 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16735 OPC_MoveChild0,
16736 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
16737 OPC_MoveChild0,
16738 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
16739 OPC_Scope, 39,
16740 OPC_RecordChild0,
16741 OPC_MoveChild1,
16742 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16743 OPC_CheckChild0Integer, 0|128,127,
16744 OPC_CheckChild0TypeI32,
16745 OPC_MoveParent,
16746 OPC_MoveSibling1,
16747 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16748 OPC_CheckChild0Integer, 127|128,0,
16749 OPC_CheckChild0TypeI32,
16750 OPC_MoveParent,
16751 OPC_MoveSibling1,
16752 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16753 OPC_CheckChild0Integer, 127|128,1,
16754 OPC_CheckChild0TypeI32,
16755 OPC_MoveParent,
16756 OPC_CheckType, MVT::v8i16,
16757 OPC_MoveParent,
16758 OPC_CheckType, MVT::v16i8,
16759 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16760 MVT::v16i8, 2, 16,
16761 39,
16762 OPC_MoveChild0,
16763 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16764 OPC_CheckChild0Integer, 0|128,127,
16765 OPC_CheckChild0TypeI32,
16766 OPC_MoveParent,
16767 OPC_RecordChild1,
16768 OPC_MoveSibling1,
16769 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16770 OPC_CheckChild0Integer, 127|128,0,
16771 OPC_CheckChild0TypeI32,
16772 OPC_MoveParent,
16773 OPC_MoveSibling1,
16774 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16775 OPC_CheckChild0Integer, 127|128,1,
16776 OPC_CheckChild0TypeI32,
16777 OPC_MoveParent,
16778 OPC_CheckType, MVT::v8i16,
16779 OPC_MoveParent,
16780 OPC_CheckType, MVT::v16i8,
16781 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16782 MVT::v16i8, 2, 16,
16783 0,
16784 74, TARGET_VAL(ISD::SPLAT_VECTOR),
16785 OPC_CheckChild0Integer, 127|128,0,
16786 OPC_CheckChild0TypeI32,
16787 OPC_MoveSibling1,
16788 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16789 OPC_Scope, 31,
16790 OPC_RecordChild0,
16791 OPC_MoveChild1,
16792 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16793 OPC_CheckChild0Integer, 0|128,127,
16794 OPC_CheckChild0TypeI32,
16795 OPC_MoveParent,
16796 OPC_MoveParent,
16797 OPC_MoveSibling1,
16798 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16799 OPC_CheckChild0Integer, 127|128,1,
16800 OPC_CheckChild0TypeI32,
16801 OPC_MoveParent,
16802 OPC_CheckType, MVT::v8i16,
16803 OPC_MoveParent,
16804 OPC_CheckType, MVT::v16i8,
16805 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16806 MVT::v16i8, 2, 16,
16807 31,
16808 OPC_MoveChild0,
16809 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16810 OPC_CheckChild0Integer, 0|128,127,
16811 OPC_CheckChild0TypeI32,
16812 OPC_MoveParent,
16813 OPC_RecordChild1,
16814 OPC_MoveParent,
16815 OPC_MoveSibling1,
16816 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16817 OPC_CheckChild0Integer, 127|128,1,
16818 OPC_CheckChild0TypeI32,
16819 OPC_MoveParent,
16820 OPC_CheckType, MVT::v8i16,
16821 OPC_MoveParent,
16822 OPC_CheckType, MVT::v16i8,
16823 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16824 MVT::v16i8, 2, 16,
16825 0,
16826 0,
16827 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16828 OPC_CheckChild0Integer, 127|128,1,
16829 OPC_CheckChild0TypeI32,
16830 OPC_MoveSibling1,
16831 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16832 OPC_MoveChild0,
16833 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
16834 OPC_Scope, 31,
16835 OPC_RecordChild0,
16836 OPC_MoveChild1,
16837 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16838 OPC_CheckChild0Integer, 0|128,127,
16839 OPC_CheckChild0TypeI32,
16840 OPC_MoveParent,
16841 OPC_MoveSibling1,
16842 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16843 OPC_CheckChild0Integer, 127|128,0,
16844 OPC_CheckChild0TypeI32,
16845 OPC_MoveParent,
16846 OPC_MoveParent,
16847 OPC_CheckType, MVT::v8i16,
16848 OPC_MoveParent,
16849 OPC_CheckType, MVT::v16i8,
16850 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16851 MVT::v16i8, 2, 16,
16852 31,
16853 OPC_MoveChild0,
16854 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16855 OPC_CheckChild0Integer, 0|128,127,
16856 OPC_CheckChild0TypeI32,
16857 OPC_MoveParent,
16858 OPC_RecordChild1,
16859 OPC_MoveSibling1,
16860 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16861 OPC_CheckChild0Integer, 127|128,0,
16862 OPC_CheckChild0TypeI32,
16863 OPC_MoveParent,
16864 OPC_MoveParent,
16865 OPC_CheckType, MVT::v8i16,
16866 OPC_MoveParent,
16867 OPC_CheckType, MVT::v16i8,
16868 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16869 MVT::v16i8, 2, 16,
16870 0,
16871 58, TARGET_VAL(ISD::SPLAT_VECTOR),
16872 OPC_CheckChild0Integer, 127|128,0,
16873 OPC_CheckChild0TypeI32,
16874 OPC_MoveSibling1,
16875 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16876 OPC_Scope, 23,
16877 OPC_RecordChild0,
16878 OPC_MoveChild1,
16879 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16880 OPC_CheckChild0Integer, 0|128,127,
16881 OPC_CheckChild0TypeI32,
16882 OPC_MoveParent,
16883 OPC_MoveParent,
16884 OPC_MoveParent,
16885 OPC_CheckType, MVT::v8i16,
16886 OPC_MoveParent,
16887 OPC_CheckType, MVT::v16i8,
16888 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16889 MVT::v16i8, 2, 16,
16890 23,
16891 OPC_MoveChild0,
16892 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16893 OPC_CheckChild0Integer, 0|128,127,
16894 OPC_CheckChild0TypeI32,
16895 OPC_MoveParent,
16896 OPC_RecordChild1,
16897 OPC_MoveParent,
16898 OPC_MoveParent,
16899 OPC_CheckType, MVT::v8i16,
16900 OPC_MoveParent,
16901 OPC_CheckType, MVT::v16i8,
16902 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16903 MVT::v16i8, 2, 16,
16904 0,
16905 0,
16906 0,
16907 0,
16908 103|128,5,
16909 OPC_CheckChild0Integer, 127|128,127|128,1,
16910 OPC_CheckChild0TypeI32,
16911 OPC_MoveSibling1,
16912 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16913 OPC_Scope, 108|128,2,
16914 OPC_RecordChild0,
16915 OPC_MoveChild1,
16916 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16917 OPC_CheckChild0Integer, 0|128,0|128,126,
16918 OPC_CheckChild0TypeI32,
16919 OPC_MoveParent,
16920 OPC_MoveParent,
16921 OPC_MoveSibling1,
16922 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16923 OPC_CheckChild0Integer, 127|128,127|128,3,
16924 OPC_CheckChild0TypeI32,
16925 OPC_MoveParent,
16926 OPC_CheckType, MVT::v4i32,
16927 OPC_MoveSibling1,
16928 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16929 OPC_MoveChild0,
16930 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
16931 OPC_MoveChild0,
16932 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
16933 OPC_Scope, 42,
16934 OPC_RecordChild0,
16935 OPC_MoveChild1,
16936 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16937 OPC_CheckChild0Integer, 0|128,0|128,126,
16938 OPC_CheckChild0TypeI32,
16939 OPC_MoveParent,
16940 OPC_MoveSibling1,
16941 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16942 OPC_CheckChild0Integer, 127|128,127|128,1,
16943 OPC_CheckChild0TypeI32,
16944 OPC_MoveParent,
16945 OPC_MoveSibling1,
16946 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16947 OPC_CheckChild0Integer, 127|128,127|128,3,
16948 OPC_CheckChild0TypeI32,
16949 OPC_MoveParent,
16950 OPC_CheckType, MVT::v4i32,
16951 OPC_MoveParent,
16952 OPC_CheckType, MVT::v8i16,
16953 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16954 MVT::v8i16, 2, 16,
16955 42,
16956 OPC_MoveChild0,
16957 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16958 OPC_CheckChild0Integer, 0|128,0|128,126,
16959 OPC_CheckChild0TypeI32,
16960 OPC_MoveParent,
16961 OPC_RecordChild1,
16962 OPC_MoveSibling1,
16963 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16964 OPC_CheckChild0Integer, 127|128,127|128,1,
16965 OPC_CheckChild0TypeI32,
16966 OPC_MoveParent,
16967 OPC_MoveSibling1,
16968 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16969 OPC_CheckChild0Integer, 127|128,127|128,3,
16970 OPC_CheckChild0TypeI32,
16971 OPC_MoveParent,
16972 OPC_CheckType, MVT::v4i32,
16973 OPC_MoveParent,
16974 OPC_CheckType, MVT::v8i16,
16975 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16976 MVT::v8i16, 2, 16,
16977 0,
16978 79, TARGET_VAL(ISD::SPLAT_VECTOR),
16979 OPC_CheckChild0Integer, 127|128,127|128,1,
16980 OPC_CheckChild0TypeI32,
16981 OPC_MoveSibling1,
16982 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16983 OPC_Scope, 33,
16984 OPC_RecordChild0,
16985 OPC_MoveChild1,
16986 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16987 OPC_CheckChild0Integer, 0|128,0|128,126,
16988 OPC_CheckChild0TypeI32,
16989 OPC_MoveParent,
16990 OPC_MoveParent,
16991 OPC_MoveSibling1,
16992 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16993 OPC_CheckChild0Integer, 127|128,127|128,3,
16994 OPC_CheckChild0TypeI32,
16995 OPC_MoveParent,
16996 OPC_CheckType, MVT::v4i32,
16997 OPC_MoveParent,
16998 OPC_CheckType, MVT::v8i16,
16999 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17000 MVT::v8i16, 2, 16,
17001 33,
17002 OPC_MoveChild0,
17003 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17004 OPC_CheckChild0Integer, 0|128,0|128,126,
17005 OPC_CheckChild0TypeI32,
17006 OPC_MoveParent,
17007 OPC_RecordChild1,
17008 OPC_MoveParent,
17009 OPC_MoveSibling1,
17010 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17011 OPC_CheckChild0Integer, 127|128,127|128,3,
17012 OPC_CheckChild0TypeI32,
17013 OPC_MoveParent,
17014 OPC_CheckType, MVT::v4i32,
17015 OPC_MoveParent,
17016 OPC_CheckType, MVT::v8i16,
17017 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17018 MVT::v8i16, 2, 16,
17019 0,
17020 0,
17021 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17022 OPC_CheckChild0Integer, 127|128,127|128,3,
17023 OPC_CheckChild0TypeI32,
17024 OPC_MoveSibling1,
17025 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17026 OPC_MoveChild0,
17027 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
17028 OPC_Scope, 33,
17029 OPC_RecordChild0,
17030 OPC_MoveChild1,
17031 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17032 OPC_CheckChild0Integer, 0|128,0|128,126,
17033 OPC_CheckChild0TypeI32,
17034 OPC_MoveParent,
17035 OPC_MoveSibling1,
17036 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17037 OPC_CheckChild0Integer, 127|128,127|128,1,
17038 OPC_CheckChild0TypeI32,
17039 OPC_MoveParent,
17040 OPC_MoveParent,
17041 OPC_CheckType, MVT::v4i32,
17042 OPC_MoveParent,
17043 OPC_CheckType, MVT::v8i16,
17044 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17045 MVT::v8i16, 2, 16,
17046 33,
17047 OPC_MoveChild0,
17048 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17049 OPC_CheckChild0Integer, 0|128,0|128,126,
17050 OPC_CheckChild0TypeI32,
17051 OPC_MoveParent,
17052 OPC_RecordChild1,
17053 OPC_MoveSibling1,
17054 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17055 OPC_CheckChild0Integer, 127|128,127|128,1,
17056 OPC_CheckChild0TypeI32,
17057 OPC_MoveParent,
17058 OPC_MoveParent,
17059 OPC_CheckType, MVT::v4i32,
17060 OPC_MoveParent,
17061 OPC_CheckType, MVT::v8i16,
17062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17063 MVT::v8i16, 2, 16,
17064 0,
17065 61, TARGET_VAL(ISD::SPLAT_VECTOR),
17066 OPC_CheckChild0Integer, 127|128,127|128,1,
17067 OPC_CheckChild0TypeI32,
17068 OPC_MoveSibling1,
17069 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17070 OPC_Scope, 24,
17071 OPC_RecordChild0,
17072 OPC_MoveChild1,
17073 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17074 OPC_CheckChild0Integer, 0|128,0|128,126,
17075 OPC_CheckChild0TypeI32,
17076 OPC_MoveParent,
17077 OPC_MoveParent,
17078 OPC_MoveParent,
17079 OPC_CheckType, MVT::v4i32,
17080 OPC_MoveParent,
17081 OPC_CheckType, MVT::v8i16,
17082 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17083 MVT::v8i16, 2, 16,
17084 24,
17085 OPC_MoveChild0,
17086 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17087 OPC_CheckChild0Integer, 0|128,0|128,126,
17088 OPC_CheckChild0TypeI32,
17089 OPC_MoveParent,
17090 OPC_RecordChild1,
17091 OPC_MoveParent,
17092 OPC_MoveParent,
17093 OPC_CheckType, MVT::v4i32,
17094 OPC_MoveParent,
17095 OPC_CheckType, MVT::v8i16,
17096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17097 MVT::v8i16, 2, 16,
17098 0,
17099 0,
17100 0,
17101 108|128,2,
17102 OPC_MoveChild0,
17103 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17104 OPC_CheckChild0Integer, 0|128,0|128,126,
17105 OPC_CheckChild0TypeI32,
17106 OPC_MoveParent,
17107 OPC_RecordChild1,
17108 OPC_MoveParent,
17109 OPC_MoveSibling1,
17110 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17111 OPC_CheckChild0Integer, 127|128,127|128,3,
17112 OPC_CheckChild0TypeI32,
17113 OPC_MoveParent,
17114 OPC_CheckType, MVT::v4i32,
17115 OPC_MoveSibling1,
17116 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17117 OPC_MoveChild0,
17118 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
17119 OPC_MoveChild0,
17120 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
17121 OPC_Scope, 42,
17122 OPC_RecordChild0,
17123 OPC_MoveChild1,
17124 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17125 OPC_CheckChild0Integer, 0|128,0|128,126,
17126 OPC_CheckChild0TypeI32,
17127 OPC_MoveParent,
17128 OPC_MoveSibling1,
17129 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17130 OPC_CheckChild0Integer, 127|128,127|128,1,
17131 OPC_CheckChild0TypeI32,
17132 OPC_MoveParent,
17133 OPC_MoveSibling1,
17134 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17135 OPC_CheckChild0Integer, 127|128,127|128,3,
17136 OPC_CheckChild0TypeI32,
17137 OPC_MoveParent,
17138 OPC_CheckType, MVT::v4i32,
17139 OPC_MoveParent,
17140 OPC_CheckType, MVT::v8i16,
17141 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17142 MVT::v8i16, 2, 16,
17143 42,
17144 OPC_MoveChild0,
17145 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17146 OPC_CheckChild0Integer, 0|128,0|128,126,
17147 OPC_CheckChild0TypeI32,
17148 OPC_MoveParent,
17149 OPC_RecordChild1,
17150 OPC_MoveSibling1,
17151 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17152 OPC_CheckChild0Integer, 127|128,127|128,1,
17153 OPC_CheckChild0TypeI32,
17154 OPC_MoveParent,
17155 OPC_MoveSibling1,
17156 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17157 OPC_CheckChild0Integer, 127|128,127|128,3,
17158 OPC_CheckChild0TypeI32,
17159 OPC_MoveParent,
17160 OPC_CheckType, MVT::v4i32,
17161 OPC_MoveParent,
17162 OPC_CheckType, MVT::v8i16,
17163 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17164 MVT::v8i16, 2, 16,
17165 0,
17166 79, TARGET_VAL(ISD::SPLAT_VECTOR),
17167 OPC_CheckChild0Integer, 127|128,127|128,1,
17168 OPC_CheckChild0TypeI32,
17169 OPC_MoveSibling1,
17170 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17171 OPC_Scope, 33,
17172 OPC_RecordChild0,
17173 OPC_MoveChild1,
17174 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17175 OPC_CheckChild0Integer, 0|128,0|128,126,
17176 OPC_CheckChild0TypeI32,
17177 OPC_MoveParent,
17178 OPC_MoveParent,
17179 OPC_MoveSibling1,
17180 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17181 OPC_CheckChild0Integer, 127|128,127|128,3,
17182 OPC_CheckChild0TypeI32,
17183 OPC_MoveParent,
17184 OPC_CheckType, MVT::v4i32,
17185 OPC_MoveParent,
17186 OPC_CheckType, MVT::v8i16,
17187 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17188 MVT::v8i16, 2, 16,
17189 33,
17190 OPC_MoveChild0,
17191 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17192 OPC_CheckChild0Integer, 0|128,0|128,126,
17193 OPC_CheckChild0TypeI32,
17194 OPC_MoveParent,
17195 OPC_RecordChild1,
17196 OPC_MoveParent,
17197 OPC_MoveSibling1,
17198 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17199 OPC_CheckChild0Integer, 127|128,127|128,3,
17200 OPC_CheckChild0TypeI32,
17201 OPC_MoveParent,
17202 OPC_CheckType, MVT::v4i32,
17203 OPC_MoveParent,
17204 OPC_CheckType, MVT::v8i16,
17205 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17206 MVT::v8i16, 2, 16,
17207 0,
17208 0,
17209 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17210 OPC_CheckChild0Integer, 127|128,127|128,3,
17211 OPC_CheckChild0TypeI32,
17212 OPC_MoveSibling1,
17213 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17214 OPC_MoveChild0,
17215 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
17216 OPC_Scope, 33,
17217 OPC_RecordChild0,
17218 OPC_MoveChild1,
17219 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17220 OPC_CheckChild0Integer, 0|128,0|128,126,
17221 OPC_CheckChild0TypeI32,
17222 OPC_MoveParent,
17223 OPC_MoveSibling1,
17224 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17225 OPC_CheckChild0Integer, 127|128,127|128,1,
17226 OPC_CheckChild0TypeI32,
17227 OPC_MoveParent,
17228 OPC_MoveParent,
17229 OPC_CheckType, MVT::v4i32,
17230 OPC_MoveParent,
17231 OPC_CheckType, MVT::v8i16,
17232 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17233 MVT::v8i16, 2, 16,
17234 33,
17235 OPC_MoveChild0,
17236 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17237 OPC_CheckChild0Integer, 0|128,0|128,126,
17238 OPC_CheckChild0TypeI32,
17239 OPC_MoveParent,
17240 OPC_RecordChild1,
17241 OPC_MoveSibling1,
17242 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17243 OPC_CheckChild0Integer, 127|128,127|128,1,
17244 OPC_CheckChild0TypeI32,
17245 OPC_MoveParent,
17246 OPC_MoveParent,
17247 OPC_CheckType, MVT::v4i32,
17248 OPC_MoveParent,
17249 OPC_CheckType, MVT::v8i16,
17250 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17251 MVT::v8i16, 2, 16,
17252 0,
17253 61, TARGET_VAL(ISD::SPLAT_VECTOR),
17254 OPC_CheckChild0Integer, 127|128,127|128,1,
17255 OPC_CheckChild0TypeI32,
17256 OPC_MoveSibling1,
17257 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17258 OPC_Scope, 24,
17259 OPC_RecordChild0,
17260 OPC_MoveChild1,
17261 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17262 OPC_CheckChild0Integer, 0|128,0|128,126,
17263 OPC_CheckChild0TypeI32,
17264 OPC_MoveParent,
17265 OPC_MoveParent,
17266 OPC_MoveParent,
17267 OPC_CheckType, MVT::v4i32,
17268 OPC_MoveParent,
17269 OPC_CheckType, MVT::v8i16,
17270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17271 MVT::v8i16, 2, 16,
17272 24,
17273 OPC_MoveChild0,
17274 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17275 OPC_CheckChild0Integer, 0|128,0|128,126,
17276 OPC_CheckChild0TypeI32,
17277 OPC_MoveParent,
17278 OPC_RecordChild1,
17279 OPC_MoveParent,
17280 OPC_MoveParent,
17281 OPC_CheckType, MVT::v4i32,
17282 OPC_MoveParent,
17283 OPC_CheckType, MVT::v8i16,
17284 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17285 MVT::v8i16, 2, 16,
17286 0,
17287 0,
17288 0,
17289 0,
17290 0,
17291 0,
17292 15|128,23, TARGET_VAL(ISD::SMAX),
17293 OPC_MoveChild0,
17294 OPC_SwitchOpcode , 91|128,11, TARGET_VAL(ISD::SMIN),
17295 OPC_Scope, 54|128,3,
17296 OPC_RecordChild0,
17297 OPC_MoveChild1,
17298 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17299 OPC_Scope, 90|128,2,
17300 OPC_CheckChild0Integer, 127|128,0,
17301 OPC_CheckChild0TypeI32,
17302 OPC_MoveParent,
17303 OPC_MoveSibling1,
17304 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17305 OPC_CheckChild0Integer, 0|128,127,
17306 OPC_CheckChild0TypeI32,
17307 OPC_MoveParent,
17308 OPC_MoveSibling1,
17309 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17310 OPC_CheckChild0Integer, 127|128,1,
17311 OPC_CheckChild0TypeI32,
17312 OPC_MoveParent,
17313 OPC_CheckType, MVT::v8i16,
17314 OPC_MoveSibling1,
17315 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17316 OPC_MoveChild0,
17317 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
17318 OPC_MoveChild0,
17319 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
17320 OPC_Scope, 39,
17321 OPC_RecordChild0,
17322 OPC_MoveChild1,
17323 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17324 OPC_CheckChild0Integer, 127|128,0,
17325 OPC_CheckChild0TypeI32,
17326 OPC_MoveParent,
17327 OPC_MoveSibling1,
17328 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17329 OPC_CheckChild0Integer, 0|128,127,
17330 OPC_CheckChild0TypeI32,
17331 OPC_MoveParent,
17332 OPC_MoveSibling1,
17333 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17334 OPC_CheckChild0Integer, 127|128,1,
17335 OPC_CheckChild0TypeI32,
17336 OPC_MoveParent,
17337 OPC_CheckType, MVT::v8i16,
17338 OPC_MoveParent,
17339 OPC_CheckType, MVT::v16i8,
17340 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17341 MVT::v16i8, 2, 16,
17342 39,
17343 OPC_MoveChild0,
17344 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17345 OPC_CheckChild0Integer, 127|128,0,
17346 OPC_CheckChild0TypeI32,
17347 OPC_MoveParent,
17348 OPC_RecordChild1,
17349 OPC_MoveSibling1,
17350 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17351 OPC_CheckChild0Integer, 0|128,127,
17352 OPC_CheckChild0TypeI32,
17353 OPC_MoveParent,
17354 OPC_MoveSibling1,
17355 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17356 OPC_CheckChild0Integer, 127|128,1,
17357 OPC_CheckChild0TypeI32,
17358 OPC_MoveParent,
17359 OPC_CheckType, MVT::v8i16,
17360 OPC_MoveParent,
17361 OPC_CheckType, MVT::v16i8,
17362 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17363 MVT::v16i8, 2, 16,
17364 0,
17365 74, TARGET_VAL(ISD::SPLAT_VECTOR),
17366 OPC_CheckChild0Integer, 0|128,127,
17367 OPC_CheckChild0TypeI32,
17368 OPC_MoveSibling1,
17369 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17370 OPC_Scope, 31,
17371 OPC_RecordChild0,
17372 OPC_MoveChild1,
17373 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17374 OPC_CheckChild0Integer, 127|128,0,
17375 OPC_CheckChild0TypeI32,
17376 OPC_MoveParent,
17377 OPC_MoveParent,
17378 OPC_MoveSibling1,
17379 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17380 OPC_CheckChild0Integer, 127|128,1,
17381 OPC_CheckChild0TypeI32,
17382 OPC_MoveParent,
17383 OPC_CheckType, MVT::v8i16,
17384 OPC_MoveParent,
17385 OPC_CheckType, MVT::v16i8,
17386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17387 MVT::v16i8, 2, 16,
17388 31,
17389 OPC_MoveChild0,
17390 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17391 OPC_CheckChild0Integer, 127|128,0,
17392 OPC_CheckChild0TypeI32,
17393 OPC_MoveParent,
17394 OPC_RecordChild1,
17395 OPC_MoveParent,
17396 OPC_MoveSibling1,
17397 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17398 OPC_CheckChild0Integer, 127|128,1,
17399 OPC_CheckChild0TypeI32,
17400 OPC_MoveParent,
17401 OPC_CheckType, MVT::v8i16,
17402 OPC_MoveParent,
17403 OPC_CheckType, MVT::v16i8,
17404 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17405 MVT::v16i8, 2, 16,
17406 0,
17407 0,
17408 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17409 OPC_CheckChild0Integer, 127|128,1,
17410 OPC_CheckChild0TypeI32,
17411 OPC_MoveSibling1,
17412 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17413 OPC_MoveChild0,
17414 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
17415 OPC_Scope, 31,
17416 OPC_RecordChild0,
17417 OPC_MoveChild1,
17418 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17419 OPC_CheckChild0Integer, 127|128,0,
17420 OPC_CheckChild0TypeI32,
17421 OPC_MoveParent,
17422 OPC_MoveSibling1,
17423 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17424 OPC_CheckChild0Integer, 0|128,127,
17425 OPC_CheckChild0TypeI32,
17426 OPC_MoveParent,
17427 OPC_MoveParent,
17428 OPC_CheckType, MVT::v8i16,
17429 OPC_MoveParent,
17430 OPC_CheckType, MVT::v16i8,
17431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17432 MVT::v16i8, 2, 16,
17433 31,
17434 OPC_MoveChild0,
17435 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17436 OPC_CheckChild0Integer, 127|128,0,
17437 OPC_CheckChild0TypeI32,
17438 OPC_MoveParent,
17439 OPC_RecordChild1,
17440 OPC_MoveSibling1,
17441 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17442 OPC_CheckChild0Integer, 0|128,127,
17443 OPC_CheckChild0TypeI32,
17444 OPC_MoveParent,
17445 OPC_MoveParent,
17446 OPC_CheckType, MVT::v8i16,
17447 OPC_MoveParent,
17448 OPC_CheckType, MVT::v16i8,
17449 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17450 MVT::v16i8, 2, 16,
17451 0,
17452 58, TARGET_VAL(ISD::SPLAT_VECTOR),
17453 OPC_CheckChild0Integer, 0|128,127,
17454 OPC_CheckChild0TypeI32,
17455 OPC_MoveSibling1,
17456 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17457 OPC_Scope, 23,
17458 OPC_RecordChild0,
17459 OPC_MoveChild1,
17460 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17461 OPC_CheckChild0Integer, 127|128,0,
17462 OPC_CheckChild0TypeI32,
17463 OPC_MoveParent,
17464 OPC_MoveParent,
17465 OPC_MoveParent,
17466 OPC_CheckType, MVT::v8i16,
17467 OPC_MoveParent,
17468 OPC_CheckType, MVT::v16i8,
17469 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17470 MVT::v16i8, 2, 16,
17471 23,
17472 OPC_MoveChild0,
17473 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17474 OPC_CheckChild0Integer, 127|128,0,
17475 OPC_CheckChild0TypeI32,
17476 OPC_MoveParent,
17477 OPC_RecordChild1,
17478 OPC_MoveParent,
17479 OPC_MoveParent,
17480 OPC_CheckType, MVT::v8i16,
17481 OPC_MoveParent,
17482 OPC_CheckType, MVT::v16i8,
17483 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17484 MVT::v16i8, 2, 16,
17485 0,
17486 0,
17487 0,
17488 82,
17489 OPC_CheckChild0Integer, 127|128,127|128,1,
17490 OPC_CheckChild0TypeI32,
17491 OPC_MoveParent,
17492 OPC_MoveSibling1,
17493 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17494 OPC_CheckChild0Integer, 0|128,0|128,126,
17495 OPC_CheckChild0TypeI32,
17496 OPC_MoveParent,
17497 OPC_MoveSibling1,
17498 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17499 OPC_CheckChild0Integer, 127|128,127|128,3,
17500 OPC_CheckChild0TypeI32,
17501 OPC_MoveParent,
17502 OPC_CheckType, MVT::v4i32,
17503 OPC_MoveSibling1,
17504 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17505 OPC_MoveChild0,
17506 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17507 OPC_MoveChild0,
17508 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17509 OPC_RecordChild0,
17510 OPC_MoveChild1,
17511 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17512 OPC_CheckChild0Integer, 127|128,127|128,1,
17513 OPC_CheckChild0TypeI32,
17514 OPC_MoveParent,
17515 OPC_MoveSibling1,
17516 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17517 OPC_CheckChild0Integer, 0|128,0|128,126,
17518 OPC_CheckChild0TypeI32,
17519 OPC_MoveParent,
17520 OPC_MoveSibling1,
17521 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17522 OPC_CheckChild0Integer, 127|128,127|128,3,
17523 OPC_CheckChild0TypeI32,
17524 OPC_MoveParent,
17525 OPC_CheckType, MVT::v4i32,
17526 OPC_MoveParent,
17527 OPC_CheckType, MVT::v8i16,
17528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17529 MVT::v8i16, 2, 16,
17530 0,
17531 95|128,2,
17532 OPC_MoveChild0,
17533 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17534 OPC_CheckChild0Integer, 127|128,0,
17535 OPC_CheckChild0TypeI32,
17536 OPC_MoveParent,
17537 OPC_RecordChild1,
17538 OPC_MoveSibling1,
17539 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17540 OPC_CheckChild0Integer, 0|128,127,
17541 OPC_CheckChild0TypeI32,
17542 OPC_MoveParent,
17543 OPC_MoveSibling1,
17544 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17545 OPC_CheckChild0Integer, 127|128,1,
17546 OPC_CheckChild0TypeI32,
17547 OPC_MoveParent,
17548 OPC_CheckType, MVT::v8i16,
17549 OPC_MoveSibling1,
17550 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17551 OPC_MoveChild0,
17552 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
17553 OPC_MoveChild0,
17554 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
17555 OPC_Scope, 39,
17556 OPC_RecordChild0,
17557 OPC_MoveChild1,
17558 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17559 OPC_CheckChild0Integer, 127|128,0,
17560 OPC_CheckChild0TypeI32,
17561 OPC_MoveParent,
17562 OPC_MoveSibling1,
17563 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17564 OPC_CheckChild0Integer, 0|128,127,
17565 OPC_CheckChild0TypeI32,
17566 OPC_MoveParent,
17567 OPC_MoveSibling1,
17568 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17569 OPC_CheckChild0Integer, 127|128,1,
17570 OPC_CheckChild0TypeI32,
17571 OPC_MoveParent,
17572 OPC_CheckType, MVT::v8i16,
17573 OPC_MoveParent,
17574 OPC_CheckType, MVT::v16i8,
17575 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17576 MVT::v16i8, 2, 16,
17577 39,
17578 OPC_MoveChild0,
17579 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17580 OPC_CheckChild0Integer, 127|128,0,
17581 OPC_CheckChild0TypeI32,
17582 OPC_MoveParent,
17583 OPC_RecordChild1,
17584 OPC_MoveSibling1,
17585 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17586 OPC_CheckChild0Integer, 0|128,127,
17587 OPC_CheckChild0TypeI32,
17588 OPC_MoveParent,
17589 OPC_MoveSibling1,
17590 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17591 OPC_CheckChild0Integer, 127|128,1,
17592 OPC_CheckChild0TypeI32,
17593 OPC_MoveParent,
17594 OPC_CheckType, MVT::v8i16,
17595 OPC_MoveParent,
17596 OPC_CheckType, MVT::v16i8,
17597 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17598 MVT::v16i8, 2, 16,
17599 0,
17600 74, TARGET_VAL(ISD::SPLAT_VECTOR),
17601 OPC_CheckChild0Integer, 0|128,127,
17602 OPC_CheckChild0TypeI32,
17603 OPC_MoveSibling1,
17604 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17605 OPC_Scope, 31,
17606 OPC_RecordChild0,
17607 OPC_MoveChild1,
17608 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17609 OPC_CheckChild0Integer, 127|128,0,
17610 OPC_CheckChild0TypeI32,
17611 OPC_MoveParent,
17612 OPC_MoveParent,
17613 OPC_MoveSibling1,
17614 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17615 OPC_CheckChild0Integer, 127|128,1,
17616 OPC_CheckChild0TypeI32,
17617 OPC_MoveParent,
17618 OPC_CheckType, MVT::v8i16,
17619 OPC_MoveParent,
17620 OPC_CheckType, MVT::v16i8,
17621 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17622 MVT::v16i8, 2, 16,
17623 31,
17624 OPC_MoveChild0,
17625 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17626 OPC_CheckChild0Integer, 127|128,0,
17627 OPC_CheckChild0TypeI32,
17628 OPC_MoveParent,
17629 OPC_RecordChild1,
17630 OPC_MoveParent,
17631 OPC_MoveSibling1,
17632 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17633 OPC_CheckChild0Integer, 127|128,1,
17634 OPC_CheckChild0TypeI32,
17635 OPC_MoveParent,
17636 OPC_CheckType, MVT::v8i16,
17637 OPC_MoveParent,
17638 OPC_CheckType, MVT::v16i8,
17639 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17640 MVT::v16i8, 2, 16,
17641 0,
17642 0,
17643 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17644 OPC_CheckChild0Integer, 127|128,1,
17645 OPC_CheckChild0TypeI32,
17646 OPC_MoveSibling1,
17647 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17648 OPC_MoveChild0,
17649 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
17650 OPC_Scope, 31,
17651 OPC_RecordChild0,
17652 OPC_MoveChild1,
17653 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17654 OPC_CheckChild0Integer, 127|128,0,
17655 OPC_CheckChild0TypeI32,
17656 OPC_MoveParent,
17657 OPC_MoveSibling1,
17658 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17659 OPC_CheckChild0Integer, 0|128,127,
17660 OPC_CheckChild0TypeI32,
17661 OPC_MoveParent,
17662 OPC_MoveParent,
17663 OPC_CheckType, MVT::v8i16,
17664 OPC_MoveParent,
17665 OPC_CheckType, MVT::v16i8,
17666 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17667 MVT::v16i8, 2, 16,
17668 31,
17669 OPC_MoveChild0,
17670 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17671 OPC_CheckChild0Integer, 127|128,0,
17672 OPC_CheckChild0TypeI32,
17673 OPC_MoveParent,
17674 OPC_RecordChild1,
17675 OPC_MoveSibling1,
17676 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17677 OPC_CheckChild0Integer, 0|128,127,
17678 OPC_CheckChild0TypeI32,
17679 OPC_MoveParent,
17680 OPC_MoveParent,
17681 OPC_CheckType, MVT::v8i16,
17682 OPC_MoveParent,
17683 OPC_CheckType, MVT::v16i8,
17684 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17685 MVT::v16i8, 2, 16,
17686 0,
17687 58, TARGET_VAL(ISD::SPLAT_VECTOR),
17688 OPC_CheckChild0Integer, 0|128,127,
17689 OPC_CheckChild0TypeI32,
17690 OPC_MoveSibling1,
17691 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17692 OPC_Scope, 23,
17693 OPC_RecordChild0,
17694 OPC_MoveChild1,
17695 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17696 OPC_CheckChild0Integer, 127|128,0,
17697 OPC_CheckChild0TypeI32,
17698 OPC_MoveParent,
17699 OPC_MoveParent,
17700 OPC_MoveParent,
17701 OPC_CheckType, MVT::v8i16,
17702 OPC_MoveParent,
17703 OPC_CheckType, MVT::v16i8,
17704 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17705 MVT::v16i8, 2, 16,
17706 23,
17707 OPC_MoveChild0,
17708 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17709 OPC_CheckChild0Integer, 127|128,0,
17710 OPC_CheckChild0TypeI32,
17711 OPC_MoveParent,
17712 OPC_RecordChild1,
17713 OPC_MoveParent,
17714 OPC_MoveParent,
17715 OPC_CheckType, MVT::v8i16,
17716 OPC_MoveParent,
17717 OPC_CheckType, MVT::v16i8,
17718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17719 MVT::v16i8, 2, 16,
17720 0,
17721 0,
17722 0,
17723 71|128,2,
17724 OPC_RecordChild0,
17725 OPC_MoveChild1,
17726 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17727 OPC_CheckChild0Integer, 127|128,127|128,1,
17728 OPC_CheckChild0TypeI32,
17729 OPC_MoveParent,
17730 OPC_MoveSibling1,
17731 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17732 OPC_CheckChild0Integer, 0|128,0|128,126,
17733 OPC_CheckChild0TypeI32,
17734 OPC_MoveParent,
17735 OPC_MoveSibling1,
17736 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17737 OPC_CheckChild0Integer, 127|128,127|128,3,
17738 OPC_CheckChild0TypeI32,
17739 OPC_MoveParent,
17740 OPC_CheckType, MVT::v4i32,
17741 OPC_MoveSibling1,
17742 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17743 OPC_MoveChild0,
17744 OPC_SwitchOpcode , 2|128,1, TARGET_VAL(ISD::SMAX),
17745 OPC_MoveChild0,
17746 OPC_SwitchOpcode , 42, TARGET_VAL(ISD::SMIN),
17747 OPC_MoveChild0,
17748 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17749 OPC_CheckChild0Integer, 127|128,127|128,1,
17750 OPC_CheckChild0TypeI32,
17751 OPC_MoveParent,
17752 OPC_RecordChild1,
17753 OPC_MoveSibling1,
17754 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17755 OPC_CheckChild0Integer, 0|128,0|128,126,
17756 OPC_CheckChild0TypeI32,
17757 OPC_MoveParent,
17758 OPC_MoveSibling1,
17759 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17760 OPC_CheckChild0Integer, 127|128,127|128,3,
17761 OPC_CheckChild0TypeI32,
17762 OPC_MoveParent,
17763 OPC_CheckType, MVT::v4i32,
17764 OPC_MoveParent,
17765 OPC_CheckType, MVT::v8i16,
17766 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17767 MVT::v8i16, 2, 16,
17768 79, TARGET_VAL(ISD::SPLAT_VECTOR),
17769 OPC_CheckChild0Integer, 0|128,0|128,126,
17770 OPC_CheckChild0TypeI32,
17771 OPC_MoveSibling1,
17772 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17773 OPC_Scope, 33,
17774 OPC_RecordChild0,
17775 OPC_MoveChild1,
17776 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17777 OPC_CheckChild0Integer, 127|128,127|128,1,
17778 OPC_CheckChild0TypeI32,
17779 OPC_MoveParent,
17780 OPC_MoveParent,
17781 OPC_MoveSibling1,
17782 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17783 OPC_CheckChild0Integer, 127|128,127|128,3,
17784 OPC_CheckChild0TypeI32,
17785 OPC_MoveParent,
17786 OPC_CheckType, MVT::v4i32,
17787 OPC_MoveParent,
17788 OPC_CheckType, MVT::v8i16,
17789 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17790 MVT::v8i16, 2, 16,
17791 33,
17792 OPC_MoveChild0,
17793 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17794 OPC_CheckChild0Integer, 127|128,127|128,1,
17795 OPC_CheckChild0TypeI32,
17796 OPC_MoveParent,
17797 OPC_RecordChild1,
17798 OPC_MoveParent,
17799 OPC_MoveSibling1,
17800 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17801 OPC_CheckChild0Integer, 127|128,127|128,3,
17802 OPC_CheckChild0TypeI32,
17803 OPC_MoveParent,
17804 OPC_CheckType, MVT::v4i32,
17805 OPC_MoveParent,
17806 OPC_CheckType, MVT::v8i16,
17807 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17808 MVT::v8i16, 2, 16,
17809 0,
17810 0,
17811 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17812 OPC_CheckChild0Integer, 127|128,127|128,3,
17813 OPC_CheckChild0TypeI32,
17814 OPC_MoveSibling1,
17815 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17816 OPC_MoveChild0,
17817 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
17818 OPC_Scope, 33,
17819 OPC_RecordChild0,
17820 OPC_MoveChild1,
17821 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17822 OPC_CheckChild0Integer, 127|128,127|128,1,
17823 OPC_CheckChild0TypeI32,
17824 OPC_MoveParent,
17825 OPC_MoveSibling1,
17826 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17827 OPC_CheckChild0Integer, 0|128,0|128,126,
17828 OPC_CheckChild0TypeI32,
17829 OPC_MoveParent,
17830 OPC_MoveParent,
17831 OPC_CheckType, MVT::v4i32,
17832 OPC_MoveParent,
17833 OPC_CheckType, MVT::v8i16,
17834 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17835 MVT::v8i16, 2, 16,
17836 33,
17837 OPC_MoveChild0,
17838 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17839 OPC_CheckChild0Integer, 127|128,127|128,1,
17840 OPC_CheckChild0TypeI32,
17841 OPC_MoveParent,
17842 OPC_RecordChild1,
17843 OPC_MoveSibling1,
17844 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17845 OPC_CheckChild0Integer, 0|128,0|128,126,
17846 OPC_CheckChild0TypeI32,
17847 OPC_MoveParent,
17848 OPC_MoveParent,
17849 OPC_CheckType, MVT::v4i32,
17850 OPC_MoveParent,
17851 OPC_CheckType, MVT::v8i16,
17852 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17853 MVT::v8i16, 2, 16,
17854 0,
17855 61, TARGET_VAL(ISD::SPLAT_VECTOR),
17856 OPC_CheckChild0Integer, 0|128,0|128,126,
17857 OPC_CheckChild0TypeI32,
17858 OPC_MoveSibling1,
17859 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17860 OPC_Scope, 24,
17861 OPC_RecordChild0,
17862 OPC_MoveChild1,
17863 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17864 OPC_CheckChild0Integer, 127|128,127|128,1,
17865 OPC_CheckChild0TypeI32,
17866 OPC_MoveParent,
17867 OPC_MoveParent,
17868 OPC_MoveParent,
17869 OPC_CheckType, MVT::v4i32,
17870 OPC_MoveParent,
17871 OPC_CheckType, MVT::v8i16,
17872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17873 MVT::v8i16, 2, 16,
17874 24,
17875 OPC_MoveChild0,
17876 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17877 OPC_CheckChild0Integer, 127|128,127|128,1,
17878 OPC_CheckChild0TypeI32,
17879 OPC_MoveParent,
17880 OPC_RecordChild1,
17881 OPC_MoveParent,
17882 OPC_MoveParent,
17883 OPC_CheckType, MVT::v4i32,
17884 OPC_MoveParent,
17885 OPC_CheckType, MVT::v8i16,
17886 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17887 MVT::v8i16, 2, 16,
17888 0,
17889 0,
17890 0,
17891 117|128,2,
17892 OPC_MoveChild0,
17893 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17894 OPC_CheckChild0Integer, 127|128,127|128,1,
17895 OPC_CheckChild0TypeI32,
17896 OPC_MoveParent,
17897 OPC_RecordChild1,
17898 OPC_MoveSibling1,
17899 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17900 OPC_CheckChild0Integer, 0|128,0|128,126,
17901 OPC_CheckChild0TypeI32,
17902 OPC_MoveParent,
17903 OPC_MoveSibling1,
17904 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17905 OPC_CheckChild0Integer, 127|128,127|128,3,
17906 OPC_CheckChild0TypeI32,
17907 OPC_MoveParent,
17908 OPC_CheckType, MVT::v4i32,
17909 OPC_MoveSibling1,
17910 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17911 OPC_MoveChild0,
17912 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
17913 OPC_MoveChild0,
17914 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
17915 OPC_Scope, 42,
17916 OPC_RecordChild0,
17917 OPC_MoveChild1,
17918 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17919 OPC_CheckChild0Integer, 127|128,127|128,1,
17920 OPC_CheckChild0TypeI32,
17921 OPC_MoveParent,
17922 OPC_MoveSibling1,
17923 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17924 OPC_CheckChild0Integer, 0|128,0|128,126,
17925 OPC_CheckChild0TypeI32,
17926 OPC_MoveParent,
17927 OPC_MoveSibling1,
17928 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17929 OPC_CheckChild0Integer, 127|128,127|128,3,
17930 OPC_CheckChild0TypeI32,
17931 OPC_MoveParent,
17932 OPC_CheckType, MVT::v4i32,
17933 OPC_MoveParent,
17934 OPC_CheckType, MVT::v8i16,
17935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17936 MVT::v8i16, 2, 16,
17937 42,
17938 OPC_MoveChild0,
17939 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17940 OPC_CheckChild0Integer, 127|128,127|128,1,
17941 OPC_CheckChild0TypeI32,
17942 OPC_MoveParent,
17943 OPC_RecordChild1,
17944 OPC_MoveSibling1,
17945 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17946 OPC_CheckChild0Integer, 0|128,0|128,126,
17947 OPC_CheckChild0TypeI32,
17948 OPC_MoveParent,
17949 OPC_MoveSibling1,
17950 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17951 OPC_CheckChild0Integer, 127|128,127|128,3,
17952 OPC_CheckChild0TypeI32,
17953 OPC_MoveParent,
17954 OPC_CheckType, MVT::v4i32,
17955 OPC_MoveParent,
17956 OPC_CheckType, MVT::v8i16,
17957 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17958 MVT::v8i16, 2, 16,
17959 0,
17960 79, TARGET_VAL(ISD::SPLAT_VECTOR),
17961 OPC_CheckChild0Integer, 0|128,0|128,126,
17962 OPC_CheckChild0TypeI32,
17963 OPC_MoveSibling1,
17964 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17965 OPC_Scope, 33,
17966 OPC_RecordChild0,
17967 OPC_MoveChild1,
17968 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17969 OPC_CheckChild0Integer, 127|128,127|128,1,
17970 OPC_CheckChild0TypeI32,
17971 OPC_MoveParent,
17972 OPC_MoveParent,
17973 OPC_MoveSibling1,
17974 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17975 OPC_CheckChild0Integer, 127|128,127|128,3,
17976 OPC_CheckChild0TypeI32,
17977 OPC_MoveParent,
17978 OPC_CheckType, MVT::v4i32,
17979 OPC_MoveParent,
17980 OPC_CheckType, MVT::v8i16,
17981 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17982 MVT::v8i16, 2, 16,
17983 33,
17984 OPC_MoveChild0,
17985 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17986 OPC_CheckChild0Integer, 127|128,127|128,1,
17987 OPC_CheckChild0TypeI32,
17988 OPC_MoveParent,
17989 OPC_RecordChild1,
17990 OPC_MoveParent,
17991 OPC_MoveSibling1,
17992 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17993 OPC_CheckChild0Integer, 127|128,127|128,3,
17994 OPC_CheckChild0TypeI32,
17995 OPC_MoveParent,
17996 OPC_CheckType, MVT::v4i32,
17997 OPC_MoveParent,
17998 OPC_CheckType, MVT::v8i16,
17999 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18000 MVT::v8i16, 2, 16,
18001 0,
18002 0,
18003 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18004 OPC_CheckChild0Integer, 127|128,127|128,3,
18005 OPC_CheckChild0TypeI32,
18006 OPC_MoveSibling1,
18007 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18008 OPC_MoveChild0,
18009 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
18010 OPC_Scope, 33,
18011 OPC_RecordChild0,
18012 OPC_MoveChild1,
18013 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18014 OPC_CheckChild0Integer, 127|128,127|128,1,
18015 OPC_CheckChild0TypeI32,
18016 OPC_MoveParent,
18017 OPC_MoveSibling1,
18018 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18019 OPC_CheckChild0Integer, 0|128,0|128,126,
18020 OPC_CheckChild0TypeI32,
18021 OPC_MoveParent,
18022 OPC_MoveParent,
18023 OPC_CheckType, MVT::v4i32,
18024 OPC_MoveParent,
18025 OPC_CheckType, MVT::v8i16,
18026 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18027 MVT::v8i16, 2, 16,
18028 33,
18029 OPC_MoveChild0,
18030 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18031 OPC_CheckChild0Integer, 127|128,127|128,1,
18032 OPC_CheckChild0TypeI32,
18033 OPC_MoveParent,
18034 OPC_RecordChild1,
18035 OPC_MoveSibling1,
18036 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18037 OPC_CheckChild0Integer, 0|128,0|128,126,
18038 OPC_CheckChild0TypeI32,
18039 OPC_MoveParent,
18040 OPC_MoveParent,
18041 OPC_CheckType, MVT::v4i32,
18042 OPC_MoveParent,
18043 OPC_CheckType, MVT::v8i16,
18044 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18045 MVT::v8i16, 2, 16,
18046 0,
18047 61, TARGET_VAL(ISD::SPLAT_VECTOR),
18048 OPC_CheckChild0Integer, 0|128,0|128,126,
18049 OPC_CheckChild0TypeI32,
18050 OPC_MoveSibling1,
18051 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18052 OPC_Scope, 24,
18053 OPC_RecordChild0,
18054 OPC_MoveChild1,
18055 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18056 OPC_CheckChild0Integer, 127|128,127|128,1,
18057 OPC_CheckChild0TypeI32,
18058 OPC_MoveParent,
18059 OPC_MoveParent,
18060 OPC_MoveParent,
18061 OPC_CheckType, MVT::v4i32,
18062 OPC_MoveParent,
18063 OPC_CheckType, MVT::v8i16,
18064 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18065 MVT::v8i16, 2, 16,
18066 24,
18067 OPC_MoveChild0,
18068 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18069 OPC_CheckChild0Integer, 127|128,127|128,1,
18070 OPC_CheckChild0TypeI32,
18071 OPC_MoveParent,
18072 OPC_RecordChild1,
18073 OPC_MoveParent,
18074 OPC_MoveParent,
18075 OPC_CheckType, MVT::v4i32,
18076 OPC_MoveParent,
18077 OPC_CheckType, MVT::v8i16,
18078 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18079 MVT::v8i16, 2, 16,
18080 0,
18081 0,
18082 0,
18083 0,
18084 41|128,11, TARGET_VAL(ISD::SPLAT_VECTOR),
18085 OPC_Scope, 60|128,5,
18086 OPC_CheckChild0Integer, 0|128,127,
18087 OPC_CheckChild0TypeI32,
18088 OPC_MoveSibling1,
18089 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18090 OPC_Scope, 87|128,2,
18091 OPC_RecordChild0,
18092 OPC_MoveChild1,
18093 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18094 OPC_CheckChild0Integer, 127|128,0,
18095 OPC_CheckChild0TypeI32,
18096 OPC_MoveParent,
18097 OPC_MoveParent,
18098 OPC_MoveSibling1,
18099 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18100 OPC_CheckChild0Integer, 127|128,1,
18101 OPC_CheckChild0TypeI32,
18102 OPC_MoveParent,
18103 OPC_CheckType, MVT::v8i16,
18104 OPC_MoveSibling1,
18105 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18106 OPC_MoveChild0,
18107 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
18108 OPC_MoveChild0,
18109 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
18110 OPC_Scope, 39,
18111 OPC_RecordChild0,
18112 OPC_MoveChild1,
18113 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18114 OPC_CheckChild0Integer, 127|128,0,
18115 OPC_CheckChild0TypeI32,
18116 OPC_MoveParent,
18117 OPC_MoveSibling1,
18118 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18119 OPC_CheckChild0Integer, 0|128,127,
18120 OPC_CheckChild0TypeI32,
18121 OPC_MoveParent,
18122 OPC_MoveSibling1,
18123 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18124 OPC_CheckChild0Integer, 127|128,1,
18125 OPC_CheckChild0TypeI32,
18126 OPC_MoveParent,
18127 OPC_CheckType, MVT::v8i16,
18128 OPC_MoveParent,
18129 OPC_CheckType, MVT::v16i8,
18130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18131 MVT::v16i8, 2, 16,
18132 39,
18133 OPC_MoveChild0,
18134 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18135 OPC_CheckChild0Integer, 127|128,0,
18136 OPC_CheckChild0TypeI32,
18137 OPC_MoveParent,
18138 OPC_RecordChild1,
18139 OPC_MoveSibling1,
18140 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18141 OPC_CheckChild0Integer, 0|128,127,
18142 OPC_CheckChild0TypeI32,
18143 OPC_MoveParent,
18144 OPC_MoveSibling1,
18145 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18146 OPC_CheckChild0Integer, 127|128,1,
18147 OPC_CheckChild0TypeI32,
18148 OPC_MoveParent,
18149 OPC_CheckType, MVT::v8i16,
18150 OPC_MoveParent,
18151 OPC_CheckType, MVT::v16i8,
18152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18153 MVT::v16i8, 2, 16,
18154 0,
18155 74, TARGET_VAL(ISD::SPLAT_VECTOR),
18156 OPC_CheckChild0Integer, 0|128,127,
18157 OPC_CheckChild0TypeI32,
18158 OPC_MoveSibling1,
18159 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18160 OPC_Scope, 31,
18161 OPC_RecordChild0,
18162 OPC_MoveChild1,
18163 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18164 OPC_CheckChild0Integer, 127|128,0,
18165 OPC_CheckChild0TypeI32,
18166 OPC_MoveParent,
18167 OPC_MoveParent,
18168 OPC_MoveSibling1,
18169 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18170 OPC_CheckChild0Integer, 127|128,1,
18171 OPC_CheckChild0TypeI32,
18172 OPC_MoveParent,
18173 OPC_CheckType, MVT::v8i16,
18174 OPC_MoveParent,
18175 OPC_CheckType, MVT::v16i8,
18176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18177 MVT::v16i8, 2, 16,
18178 31,
18179 OPC_MoveChild0,
18180 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18181 OPC_CheckChild0Integer, 127|128,0,
18182 OPC_CheckChild0TypeI32,
18183 OPC_MoveParent,
18184 OPC_RecordChild1,
18185 OPC_MoveParent,
18186 OPC_MoveSibling1,
18187 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18188 OPC_CheckChild0Integer, 127|128,1,
18189 OPC_CheckChild0TypeI32,
18190 OPC_MoveParent,
18191 OPC_CheckType, MVT::v8i16,
18192 OPC_MoveParent,
18193 OPC_CheckType, MVT::v16i8,
18194 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18195 MVT::v16i8, 2, 16,
18196 0,
18197 0,
18198 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18199 OPC_CheckChild0Integer, 127|128,1,
18200 OPC_CheckChild0TypeI32,
18201 OPC_MoveSibling1,
18202 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18203 OPC_MoveChild0,
18204 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
18205 OPC_Scope, 31,
18206 OPC_RecordChild0,
18207 OPC_MoveChild1,
18208 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18209 OPC_CheckChild0Integer, 127|128,0,
18210 OPC_CheckChild0TypeI32,
18211 OPC_MoveParent,
18212 OPC_MoveSibling1,
18213 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18214 OPC_CheckChild0Integer, 0|128,127,
18215 OPC_CheckChild0TypeI32,
18216 OPC_MoveParent,
18217 OPC_MoveParent,
18218 OPC_CheckType, MVT::v8i16,
18219 OPC_MoveParent,
18220 OPC_CheckType, MVT::v16i8,
18221 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18222 MVT::v16i8, 2, 16,
18223 31,
18224 OPC_MoveChild0,
18225 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18226 OPC_CheckChild0Integer, 127|128,0,
18227 OPC_CheckChild0TypeI32,
18228 OPC_MoveParent,
18229 OPC_RecordChild1,
18230 OPC_MoveSibling1,
18231 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18232 OPC_CheckChild0Integer, 0|128,127,
18233 OPC_CheckChild0TypeI32,
18234 OPC_MoveParent,
18235 OPC_MoveParent,
18236 OPC_CheckType, MVT::v8i16,
18237 OPC_MoveParent,
18238 OPC_CheckType, MVT::v16i8,
18239 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18240 MVT::v16i8, 2, 16,
18241 0,
18242 58, TARGET_VAL(ISD::SPLAT_VECTOR),
18243 OPC_CheckChild0Integer, 0|128,127,
18244 OPC_CheckChild0TypeI32,
18245 OPC_MoveSibling1,
18246 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18247 OPC_Scope, 23,
18248 OPC_RecordChild0,
18249 OPC_MoveChild1,
18250 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18251 OPC_CheckChild0Integer, 127|128,0,
18252 OPC_CheckChild0TypeI32,
18253 OPC_MoveParent,
18254 OPC_MoveParent,
18255 OPC_MoveParent,
18256 OPC_CheckType, MVT::v8i16,
18257 OPC_MoveParent,
18258 OPC_CheckType, MVT::v16i8,
18259 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18260 MVT::v16i8, 2, 16,
18261 23,
18262 OPC_MoveChild0,
18263 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18264 OPC_CheckChild0Integer, 127|128,0,
18265 OPC_CheckChild0TypeI32,
18266 OPC_MoveParent,
18267 OPC_RecordChild1,
18268 OPC_MoveParent,
18269 OPC_MoveParent,
18270 OPC_CheckType, MVT::v8i16,
18271 OPC_MoveParent,
18272 OPC_CheckType, MVT::v16i8,
18273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18274 MVT::v16i8, 2, 16,
18275 0,
18276 0,
18277 0,
18278 87|128,2,
18279 OPC_MoveChild0,
18280 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18281 OPC_CheckChild0Integer, 127|128,0,
18282 OPC_CheckChild0TypeI32,
18283 OPC_MoveParent,
18284 OPC_RecordChild1,
18285 OPC_MoveParent,
18286 OPC_MoveSibling1,
18287 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18288 OPC_CheckChild0Integer, 127|128,1,
18289 OPC_CheckChild0TypeI32,
18290 OPC_MoveParent,
18291 OPC_CheckType, MVT::v8i16,
18292 OPC_MoveSibling1,
18293 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18294 OPC_MoveChild0,
18295 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
18296 OPC_MoveChild0,
18297 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
18298 OPC_Scope, 39,
18299 OPC_RecordChild0,
18300 OPC_MoveChild1,
18301 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18302 OPC_CheckChild0Integer, 127|128,0,
18303 OPC_CheckChild0TypeI32,
18304 OPC_MoveParent,
18305 OPC_MoveSibling1,
18306 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18307 OPC_CheckChild0Integer, 0|128,127,
18308 OPC_CheckChild0TypeI32,
18309 OPC_MoveParent,
18310 OPC_MoveSibling1,
18311 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18312 OPC_CheckChild0Integer, 127|128,1,
18313 OPC_CheckChild0TypeI32,
18314 OPC_MoveParent,
18315 OPC_CheckType, MVT::v8i16,
18316 OPC_MoveParent,
18317 OPC_CheckType, MVT::v16i8,
18318 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18319 MVT::v16i8, 2, 16,
18320 39,
18321 OPC_MoveChild0,
18322 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18323 OPC_CheckChild0Integer, 127|128,0,
18324 OPC_CheckChild0TypeI32,
18325 OPC_MoveParent,
18326 OPC_RecordChild1,
18327 OPC_MoveSibling1,
18328 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18329 OPC_CheckChild0Integer, 0|128,127,
18330 OPC_CheckChild0TypeI32,
18331 OPC_MoveParent,
18332 OPC_MoveSibling1,
18333 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18334 OPC_CheckChild0Integer, 127|128,1,
18335 OPC_CheckChild0TypeI32,
18336 OPC_MoveParent,
18337 OPC_CheckType, MVT::v8i16,
18338 OPC_MoveParent,
18339 OPC_CheckType, MVT::v16i8,
18340 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18341 MVT::v16i8, 2, 16,
18342 0,
18343 74, TARGET_VAL(ISD::SPLAT_VECTOR),
18344 OPC_CheckChild0Integer, 0|128,127,
18345 OPC_CheckChild0TypeI32,
18346 OPC_MoveSibling1,
18347 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18348 OPC_Scope, 31,
18349 OPC_RecordChild0,
18350 OPC_MoveChild1,
18351 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18352 OPC_CheckChild0Integer, 127|128,0,
18353 OPC_CheckChild0TypeI32,
18354 OPC_MoveParent,
18355 OPC_MoveParent,
18356 OPC_MoveSibling1,
18357 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18358 OPC_CheckChild0Integer, 127|128,1,
18359 OPC_CheckChild0TypeI32,
18360 OPC_MoveParent,
18361 OPC_CheckType, MVT::v8i16,
18362 OPC_MoveParent,
18363 OPC_CheckType, MVT::v16i8,
18364 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18365 MVT::v16i8, 2, 16,
18366 31,
18367 OPC_MoveChild0,
18368 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18369 OPC_CheckChild0Integer, 127|128,0,
18370 OPC_CheckChild0TypeI32,
18371 OPC_MoveParent,
18372 OPC_RecordChild1,
18373 OPC_MoveParent,
18374 OPC_MoveSibling1,
18375 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18376 OPC_CheckChild0Integer, 127|128,1,
18377 OPC_CheckChild0TypeI32,
18378 OPC_MoveParent,
18379 OPC_CheckType, MVT::v8i16,
18380 OPC_MoveParent,
18381 OPC_CheckType, MVT::v16i8,
18382 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18383 MVT::v16i8, 2, 16,
18384 0,
18385 0,
18386 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18387 OPC_CheckChild0Integer, 127|128,1,
18388 OPC_CheckChild0TypeI32,
18389 OPC_MoveSibling1,
18390 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18391 OPC_MoveChild0,
18392 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
18393 OPC_Scope, 31,
18394 OPC_RecordChild0,
18395 OPC_MoveChild1,
18396 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18397 OPC_CheckChild0Integer, 127|128,0,
18398 OPC_CheckChild0TypeI32,
18399 OPC_MoveParent,
18400 OPC_MoveSibling1,
18401 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18402 OPC_CheckChild0Integer, 0|128,127,
18403 OPC_CheckChild0TypeI32,
18404 OPC_MoveParent,
18405 OPC_MoveParent,
18406 OPC_CheckType, MVT::v8i16,
18407 OPC_MoveParent,
18408 OPC_CheckType, MVT::v16i8,
18409 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18410 MVT::v16i8, 2, 16,
18411 31,
18412 OPC_MoveChild0,
18413 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18414 OPC_CheckChild0Integer, 127|128,0,
18415 OPC_CheckChild0TypeI32,
18416 OPC_MoveParent,
18417 OPC_RecordChild1,
18418 OPC_MoveSibling1,
18419 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18420 OPC_CheckChild0Integer, 0|128,127,
18421 OPC_CheckChild0TypeI32,
18422 OPC_MoveParent,
18423 OPC_MoveParent,
18424 OPC_CheckType, MVT::v8i16,
18425 OPC_MoveParent,
18426 OPC_CheckType, MVT::v16i8,
18427 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18428 MVT::v16i8, 2, 16,
18429 0,
18430 58, TARGET_VAL(ISD::SPLAT_VECTOR),
18431 OPC_CheckChild0Integer, 0|128,127,
18432 OPC_CheckChild0TypeI32,
18433 OPC_MoveSibling1,
18434 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18435 OPC_Scope, 23,
18436 OPC_RecordChild0,
18437 OPC_MoveChild1,
18438 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18439 OPC_CheckChild0Integer, 127|128,0,
18440 OPC_CheckChild0TypeI32,
18441 OPC_MoveParent,
18442 OPC_MoveParent,
18443 OPC_MoveParent,
18444 OPC_CheckType, MVT::v8i16,
18445 OPC_MoveParent,
18446 OPC_CheckType, MVT::v16i8,
18447 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18448 MVT::v16i8, 2, 16,
18449 23,
18450 OPC_MoveChild0,
18451 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18452 OPC_CheckChild0Integer, 127|128,0,
18453 OPC_CheckChild0TypeI32,
18454 OPC_MoveParent,
18455 OPC_RecordChild1,
18456 OPC_MoveParent,
18457 OPC_MoveParent,
18458 OPC_CheckType, MVT::v8i16,
18459 OPC_MoveParent,
18460 OPC_CheckType, MVT::v16i8,
18461 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18462 MVT::v16i8, 2, 16,
18463 0,
18464 0,
18465 0,
18466 0,
18467 103|128,5,
18468 OPC_CheckChild0Integer, 0|128,0|128,126,
18469 OPC_CheckChild0TypeI32,
18470 OPC_MoveSibling1,
18471 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18472 OPC_Scope, 108|128,2,
18473 OPC_RecordChild0,
18474 OPC_MoveChild1,
18475 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18476 OPC_CheckChild0Integer, 127|128,127|128,1,
18477 OPC_CheckChild0TypeI32,
18478 OPC_MoveParent,
18479 OPC_MoveParent,
18480 OPC_MoveSibling1,
18481 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18482 OPC_CheckChild0Integer, 127|128,127|128,3,
18483 OPC_CheckChild0TypeI32,
18484 OPC_MoveParent,
18485 OPC_CheckType, MVT::v4i32,
18486 OPC_MoveSibling1,
18487 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18488 OPC_MoveChild0,
18489 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
18490 OPC_MoveChild0,
18491 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
18492 OPC_Scope, 42,
18493 OPC_RecordChild0,
18494 OPC_MoveChild1,
18495 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18496 OPC_CheckChild0Integer, 127|128,127|128,1,
18497 OPC_CheckChild0TypeI32,
18498 OPC_MoveParent,
18499 OPC_MoveSibling1,
18500 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18501 OPC_CheckChild0Integer, 0|128,0|128,126,
18502 OPC_CheckChild0TypeI32,
18503 OPC_MoveParent,
18504 OPC_MoveSibling1,
18505 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18506 OPC_CheckChild0Integer, 127|128,127|128,3,
18507 OPC_CheckChild0TypeI32,
18508 OPC_MoveParent,
18509 OPC_CheckType, MVT::v4i32,
18510 OPC_MoveParent,
18511 OPC_CheckType, MVT::v8i16,
18512 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18513 MVT::v8i16, 2, 16,
18514 42,
18515 OPC_MoveChild0,
18516 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18517 OPC_CheckChild0Integer, 127|128,127|128,1,
18518 OPC_CheckChild0TypeI32,
18519 OPC_MoveParent,
18520 OPC_RecordChild1,
18521 OPC_MoveSibling1,
18522 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18523 OPC_CheckChild0Integer, 0|128,0|128,126,
18524 OPC_CheckChild0TypeI32,
18525 OPC_MoveParent,
18526 OPC_MoveSibling1,
18527 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18528 OPC_CheckChild0Integer, 127|128,127|128,3,
18529 OPC_CheckChild0TypeI32,
18530 OPC_MoveParent,
18531 OPC_CheckType, MVT::v4i32,
18532 OPC_MoveParent,
18533 OPC_CheckType, MVT::v8i16,
18534 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18535 MVT::v8i16, 2, 16,
18536 0,
18537 79, TARGET_VAL(ISD::SPLAT_VECTOR),
18538 OPC_CheckChild0Integer, 0|128,0|128,126,
18539 OPC_CheckChild0TypeI32,
18540 OPC_MoveSibling1,
18541 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18542 OPC_Scope, 33,
18543 OPC_RecordChild0,
18544 OPC_MoveChild1,
18545 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18546 OPC_CheckChild0Integer, 127|128,127|128,1,
18547 OPC_CheckChild0TypeI32,
18548 OPC_MoveParent,
18549 OPC_MoveParent,
18550 OPC_MoveSibling1,
18551 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18552 OPC_CheckChild0Integer, 127|128,127|128,3,
18553 OPC_CheckChild0TypeI32,
18554 OPC_MoveParent,
18555 OPC_CheckType, MVT::v4i32,
18556 OPC_MoveParent,
18557 OPC_CheckType, MVT::v8i16,
18558 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18559 MVT::v8i16, 2, 16,
18560 33,
18561 OPC_MoveChild0,
18562 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18563 OPC_CheckChild0Integer, 127|128,127|128,1,
18564 OPC_CheckChild0TypeI32,
18565 OPC_MoveParent,
18566 OPC_RecordChild1,
18567 OPC_MoveParent,
18568 OPC_MoveSibling1,
18569 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18570 OPC_CheckChild0Integer, 127|128,127|128,3,
18571 OPC_CheckChild0TypeI32,
18572 OPC_MoveParent,
18573 OPC_CheckType, MVT::v4i32,
18574 OPC_MoveParent,
18575 OPC_CheckType, MVT::v8i16,
18576 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18577 MVT::v8i16, 2, 16,
18578 0,
18579 0,
18580 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18581 OPC_CheckChild0Integer, 127|128,127|128,3,
18582 OPC_CheckChild0TypeI32,
18583 OPC_MoveSibling1,
18584 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18585 OPC_MoveChild0,
18586 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
18587 OPC_Scope, 33,
18588 OPC_RecordChild0,
18589 OPC_MoveChild1,
18590 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18591 OPC_CheckChild0Integer, 127|128,127|128,1,
18592 OPC_CheckChild0TypeI32,
18593 OPC_MoveParent,
18594 OPC_MoveSibling1,
18595 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18596 OPC_CheckChild0Integer, 0|128,0|128,126,
18597 OPC_CheckChild0TypeI32,
18598 OPC_MoveParent,
18599 OPC_MoveParent,
18600 OPC_CheckType, MVT::v4i32,
18601 OPC_MoveParent,
18602 OPC_CheckType, MVT::v8i16,
18603 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18604 MVT::v8i16, 2, 16,
18605 33,
18606 OPC_MoveChild0,
18607 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18608 OPC_CheckChild0Integer, 127|128,127|128,1,
18609 OPC_CheckChild0TypeI32,
18610 OPC_MoveParent,
18611 OPC_RecordChild1,
18612 OPC_MoveSibling1,
18613 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18614 OPC_CheckChild0Integer, 0|128,0|128,126,
18615 OPC_CheckChild0TypeI32,
18616 OPC_MoveParent,
18617 OPC_MoveParent,
18618 OPC_CheckType, MVT::v4i32,
18619 OPC_MoveParent,
18620 OPC_CheckType, MVT::v8i16,
18621 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18622 MVT::v8i16, 2, 16,
18623 0,
18624 61, TARGET_VAL(ISD::SPLAT_VECTOR),
18625 OPC_CheckChild0Integer, 0|128,0|128,126,
18626 OPC_CheckChild0TypeI32,
18627 OPC_MoveSibling1,
18628 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18629 OPC_Scope, 24,
18630 OPC_RecordChild0,
18631 OPC_MoveChild1,
18632 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18633 OPC_CheckChild0Integer, 127|128,127|128,1,
18634 OPC_CheckChild0TypeI32,
18635 OPC_MoveParent,
18636 OPC_MoveParent,
18637 OPC_MoveParent,
18638 OPC_CheckType, MVT::v4i32,
18639 OPC_MoveParent,
18640 OPC_CheckType, MVT::v8i16,
18641 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18642 MVT::v8i16, 2, 16,
18643 24,
18644 OPC_MoveChild0,
18645 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18646 OPC_CheckChild0Integer, 127|128,127|128,1,
18647 OPC_CheckChild0TypeI32,
18648 OPC_MoveParent,
18649 OPC_RecordChild1,
18650 OPC_MoveParent,
18651 OPC_MoveParent,
18652 OPC_CheckType, MVT::v4i32,
18653 OPC_MoveParent,
18654 OPC_CheckType, MVT::v8i16,
18655 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18656 MVT::v8i16, 2, 16,
18657 0,
18658 0,
18659 0,
18660 108|128,2,
18661 OPC_MoveChild0,
18662 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18663 OPC_CheckChild0Integer, 127|128,127|128,1,
18664 OPC_CheckChild0TypeI32,
18665 OPC_MoveParent,
18666 OPC_RecordChild1,
18667 OPC_MoveParent,
18668 OPC_MoveSibling1,
18669 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18670 OPC_CheckChild0Integer, 127|128,127|128,3,
18671 OPC_CheckChild0TypeI32,
18672 OPC_MoveParent,
18673 OPC_CheckType, MVT::v4i32,
18674 OPC_MoveSibling1,
18675 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18676 OPC_MoveChild0,
18677 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
18678 OPC_MoveChild0,
18679 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
18680 OPC_Scope, 42,
18681 OPC_RecordChild0,
18682 OPC_MoveChild1,
18683 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18684 OPC_CheckChild0Integer, 127|128,127|128,1,
18685 OPC_CheckChild0TypeI32,
18686 OPC_MoveParent,
18687 OPC_MoveSibling1,
18688 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18689 OPC_CheckChild0Integer, 0|128,0|128,126,
18690 OPC_CheckChild0TypeI32,
18691 OPC_MoveParent,
18692 OPC_MoveSibling1,
18693 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18694 OPC_CheckChild0Integer, 127|128,127|128,3,
18695 OPC_CheckChild0TypeI32,
18696 OPC_MoveParent,
18697 OPC_CheckType, MVT::v4i32,
18698 OPC_MoveParent,
18699 OPC_CheckType, MVT::v8i16,
18700 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18701 MVT::v8i16, 2, 16,
18702 42,
18703 OPC_MoveChild0,
18704 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18705 OPC_CheckChild0Integer, 127|128,127|128,1,
18706 OPC_CheckChild0TypeI32,
18707 OPC_MoveParent,
18708 OPC_RecordChild1,
18709 OPC_MoveSibling1,
18710 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18711 OPC_CheckChild0Integer, 0|128,0|128,126,
18712 OPC_CheckChild0TypeI32,
18713 OPC_MoveParent,
18714 OPC_MoveSibling1,
18715 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18716 OPC_CheckChild0Integer, 127|128,127|128,3,
18717 OPC_CheckChild0TypeI32,
18718 OPC_MoveParent,
18719 OPC_CheckType, MVT::v4i32,
18720 OPC_MoveParent,
18721 OPC_CheckType, MVT::v8i16,
18722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18723 MVT::v8i16, 2, 16,
18724 0,
18725 79, TARGET_VAL(ISD::SPLAT_VECTOR),
18726 OPC_CheckChild0Integer, 0|128,0|128,126,
18727 OPC_CheckChild0TypeI32,
18728 OPC_MoveSibling1,
18729 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18730 OPC_Scope, 33,
18731 OPC_RecordChild0,
18732 OPC_MoveChild1,
18733 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18734 OPC_CheckChild0Integer, 127|128,127|128,1,
18735 OPC_CheckChild0TypeI32,
18736 OPC_MoveParent,
18737 OPC_MoveParent,
18738 OPC_MoveSibling1,
18739 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18740 OPC_CheckChild0Integer, 127|128,127|128,3,
18741 OPC_CheckChild0TypeI32,
18742 OPC_MoveParent,
18743 OPC_CheckType, MVT::v4i32,
18744 OPC_MoveParent,
18745 OPC_CheckType, MVT::v8i16,
18746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18747 MVT::v8i16, 2, 16,
18748 33,
18749 OPC_MoveChild0,
18750 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18751 OPC_CheckChild0Integer, 127|128,127|128,1,
18752 OPC_CheckChild0TypeI32,
18753 OPC_MoveParent,
18754 OPC_RecordChild1,
18755 OPC_MoveParent,
18756 OPC_MoveSibling1,
18757 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18758 OPC_CheckChild0Integer, 127|128,127|128,3,
18759 OPC_CheckChild0TypeI32,
18760 OPC_MoveParent,
18761 OPC_CheckType, MVT::v4i32,
18762 OPC_MoveParent,
18763 OPC_CheckType, MVT::v8i16,
18764 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18765 MVT::v8i16, 2, 16,
18766 0,
18767 0,
18768 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18769 OPC_CheckChild0Integer, 127|128,127|128,3,
18770 OPC_CheckChild0TypeI32,
18771 OPC_MoveSibling1,
18772 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18773 OPC_MoveChild0,
18774 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
18775 OPC_Scope, 33,
18776 OPC_RecordChild0,
18777 OPC_MoveChild1,
18778 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18779 OPC_CheckChild0Integer, 127|128,127|128,1,
18780 OPC_CheckChild0TypeI32,
18781 OPC_MoveParent,
18782 OPC_MoveSibling1,
18783 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18784 OPC_CheckChild0Integer, 0|128,0|128,126,
18785 OPC_CheckChild0TypeI32,
18786 OPC_MoveParent,
18787 OPC_MoveParent,
18788 OPC_CheckType, MVT::v4i32,
18789 OPC_MoveParent,
18790 OPC_CheckType, MVT::v8i16,
18791 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18792 MVT::v8i16, 2, 16,
18793 33,
18794 OPC_MoveChild0,
18795 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18796 OPC_CheckChild0Integer, 127|128,127|128,1,
18797 OPC_CheckChild0TypeI32,
18798 OPC_MoveParent,
18799 OPC_RecordChild1,
18800 OPC_MoveSibling1,
18801 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18802 OPC_CheckChild0Integer, 0|128,0|128,126,
18803 OPC_CheckChild0TypeI32,
18804 OPC_MoveParent,
18805 OPC_MoveParent,
18806 OPC_CheckType, MVT::v4i32,
18807 OPC_MoveParent,
18808 OPC_CheckType, MVT::v8i16,
18809 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18810 MVT::v8i16, 2, 16,
18811 0,
18812 61, TARGET_VAL(ISD::SPLAT_VECTOR),
18813 OPC_CheckChild0Integer, 0|128,0|128,126,
18814 OPC_CheckChild0TypeI32,
18815 OPC_MoveSibling1,
18816 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18817 OPC_Scope, 24,
18818 OPC_RecordChild0,
18819 OPC_MoveChild1,
18820 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18821 OPC_CheckChild0Integer, 127|128,127|128,1,
18822 OPC_CheckChild0TypeI32,
18823 OPC_MoveParent,
18824 OPC_MoveParent,
18825 OPC_MoveParent,
18826 OPC_CheckType, MVT::v4i32,
18827 OPC_MoveParent,
18828 OPC_CheckType, MVT::v8i16,
18829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18830 MVT::v8i16, 2, 16,
18831 24,
18832 OPC_MoveChild0,
18833 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18834 OPC_CheckChild0Integer, 127|128,127|128,1,
18835 OPC_CheckChild0TypeI32,
18836 OPC_MoveParent,
18837 OPC_RecordChild1,
18838 OPC_MoveParent,
18839 OPC_MoveParent,
18840 OPC_CheckType, MVT::v4i32,
18841 OPC_MoveParent,
18842 OPC_CheckType, MVT::v8i16,
18843 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
18844 MVT::v8i16, 2, 16,
18845 0,
18846 0,
18847 0,
18848 0,
18849 0,
18850 0,
18851 119|128,44, TARGET_VAL(ISD::SPLAT_VECTOR),
18852 OPC_Scope, 101|128,21,
18853 OPC_CheckChild0Integer, 127|128,1,
18854 OPC_CheckChild0TypeI32,
18855 OPC_MoveSibling1,
18856 OPC_SwitchOpcode , 107|128,10, TARGET_VAL(ISD::SMIN),
18857 OPC_MoveChild0,
18858 OPC_SwitchOpcode , 52|128,5, TARGET_VAL(ISD::SMAX),
18859 OPC_Scope, 87|128,2,
18860 OPC_RecordChild0,
18861 OPC_MoveChild1,
18862 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18863 OPC_CheckChild0Integer, 0|128,127,
18864 OPC_CheckChild0TypeI32,
18865 OPC_MoveParent,
18866 OPC_MoveSibling1,
18867 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18868 OPC_CheckChild0Integer, 127|128,0,
18869 OPC_CheckChild0TypeI32,
18870 OPC_MoveParent,
18871 OPC_MoveParent,
18872 OPC_CheckType, MVT::v8i16,
18873 OPC_MoveSibling1,
18874 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18875 OPC_MoveChild0,
18876 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
18877 OPC_MoveChild0,
18878 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
18879 OPC_Scope, 39,
18880 OPC_RecordChild0,
18881 OPC_MoveChild1,
18882 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18883 OPC_CheckChild0Integer, 0|128,127,
18884 OPC_CheckChild0TypeI32,
18885 OPC_MoveParent,
18886 OPC_MoveSibling1,
18887 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18888 OPC_CheckChild0Integer, 127|128,0,
18889 OPC_CheckChild0TypeI32,
18890 OPC_MoveParent,
18891 OPC_MoveSibling1,
18892 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18893 OPC_CheckChild0Integer, 127|128,1,
18894 OPC_CheckChild0TypeI32,
18895 OPC_MoveParent,
18896 OPC_CheckType, MVT::v8i16,
18897 OPC_MoveParent,
18898 OPC_CheckType, MVT::v16i8,
18899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18900 MVT::v16i8, 2, 16,
18901 39,
18902 OPC_MoveChild0,
18903 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18904 OPC_CheckChild0Integer, 0|128,127,
18905 OPC_CheckChild0TypeI32,
18906 OPC_MoveParent,
18907 OPC_RecordChild1,
18908 OPC_MoveSibling1,
18909 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18910 OPC_CheckChild0Integer, 127|128,0,
18911 OPC_CheckChild0TypeI32,
18912 OPC_MoveParent,
18913 OPC_MoveSibling1,
18914 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18915 OPC_CheckChild0Integer, 127|128,1,
18916 OPC_CheckChild0TypeI32,
18917 OPC_MoveParent,
18918 OPC_CheckType, MVT::v8i16,
18919 OPC_MoveParent,
18920 OPC_CheckType, MVT::v16i8,
18921 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18922 MVT::v16i8, 2, 16,
18923 0,
18924 74, TARGET_VAL(ISD::SPLAT_VECTOR),
18925 OPC_CheckChild0Integer, 127|128,0,
18926 OPC_CheckChild0TypeI32,
18927 OPC_MoveSibling1,
18928 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18929 OPC_Scope, 31,
18930 OPC_RecordChild0,
18931 OPC_MoveChild1,
18932 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18933 OPC_CheckChild0Integer, 0|128,127,
18934 OPC_CheckChild0TypeI32,
18935 OPC_MoveParent,
18936 OPC_MoveParent,
18937 OPC_MoveSibling1,
18938 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18939 OPC_CheckChild0Integer, 127|128,1,
18940 OPC_CheckChild0TypeI32,
18941 OPC_MoveParent,
18942 OPC_CheckType, MVT::v8i16,
18943 OPC_MoveParent,
18944 OPC_CheckType, MVT::v16i8,
18945 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18946 MVT::v16i8, 2, 16,
18947 31,
18948 OPC_MoveChild0,
18949 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18950 OPC_CheckChild0Integer, 0|128,127,
18951 OPC_CheckChild0TypeI32,
18952 OPC_MoveParent,
18953 OPC_RecordChild1,
18954 OPC_MoveParent,
18955 OPC_MoveSibling1,
18956 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18957 OPC_CheckChild0Integer, 127|128,1,
18958 OPC_CheckChild0TypeI32,
18959 OPC_MoveParent,
18960 OPC_CheckType, MVT::v8i16,
18961 OPC_MoveParent,
18962 OPC_CheckType, MVT::v16i8,
18963 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18964 MVT::v16i8, 2, 16,
18965 0,
18966 0,
18967 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18968 OPC_CheckChild0Integer, 127|128,1,
18969 OPC_CheckChild0TypeI32,
18970 OPC_MoveSibling1,
18971 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18972 OPC_MoveChild0,
18973 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
18974 OPC_Scope, 31,
18975 OPC_RecordChild0,
18976 OPC_MoveChild1,
18977 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18978 OPC_CheckChild0Integer, 0|128,127,
18979 OPC_CheckChild0TypeI32,
18980 OPC_MoveParent,
18981 OPC_MoveSibling1,
18982 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18983 OPC_CheckChild0Integer, 127|128,0,
18984 OPC_CheckChild0TypeI32,
18985 OPC_MoveParent,
18986 OPC_MoveParent,
18987 OPC_CheckType, MVT::v8i16,
18988 OPC_MoveParent,
18989 OPC_CheckType, MVT::v16i8,
18990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18991 MVT::v16i8, 2, 16,
18992 31,
18993 OPC_MoveChild0,
18994 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18995 OPC_CheckChild0Integer, 0|128,127,
18996 OPC_CheckChild0TypeI32,
18997 OPC_MoveParent,
18998 OPC_RecordChild1,
18999 OPC_MoveSibling1,
19000 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19001 OPC_CheckChild0Integer, 127|128,0,
19002 OPC_CheckChild0TypeI32,
19003 OPC_MoveParent,
19004 OPC_MoveParent,
19005 OPC_CheckType, MVT::v8i16,
19006 OPC_MoveParent,
19007 OPC_CheckType, MVT::v16i8,
19008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19009 MVT::v16i8, 2, 16,
19010 0,
19011 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19012 OPC_CheckChild0Integer, 127|128,0,
19013 OPC_CheckChild0TypeI32,
19014 OPC_MoveSibling1,
19015 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19016 OPC_Scope, 23,
19017 OPC_RecordChild0,
19018 OPC_MoveChild1,
19019 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19020 OPC_CheckChild0Integer, 0|128,127,
19021 OPC_CheckChild0TypeI32,
19022 OPC_MoveParent,
19023 OPC_MoveParent,
19024 OPC_MoveParent,
19025 OPC_CheckType, MVT::v8i16,
19026 OPC_MoveParent,
19027 OPC_CheckType, MVT::v16i8,
19028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19029 MVT::v16i8, 2, 16,
19030 23,
19031 OPC_MoveChild0,
19032 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19033 OPC_CheckChild0Integer, 0|128,127,
19034 OPC_CheckChild0TypeI32,
19035 OPC_MoveParent,
19036 OPC_RecordChild1,
19037 OPC_MoveParent,
19038 OPC_MoveParent,
19039 OPC_CheckType, MVT::v8i16,
19040 OPC_MoveParent,
19041 OPC_CheckType, MVT::v16i8,
19042 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19043 MVT::v16i8, 2, 16,
19044 0,
19045 0,
19046 0,
19047 87|128,2,
19048 OPC_MoveChild0,
19049 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19050 OPC_CheckChild0Integer, 0|128,127,
19051 OPC_CheckChild0TypeI32,
19052 OPC_MoveParent,
19053 OPC_RecordChild1,
19054 OPC_MoveSibling1,
19055 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19056 OPC_CheckChild0Integer, 127|128,0,
19057 OPC_CheckChild0TypeI32,
19058 OPC_MoveParent,
19059 OPC_MoveParent,
19060 OPC_CheckType, MVT::v8i16,
19061 OPC_MoveSibling1,
19062 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19063 OPC_MoveChild0,
19064 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
19065 OPC_MoveChild0,
19066 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
19067 OPC_Scope, 39,
19068 OPC_RecordChild0,
19069 OPC_MoveChild1,
19070 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19071 OPC_CheckChild0Integer, 0|128,127,
19072 OPC_CheckChild0TypeI32,
19073 OPC_MoveParent,
19074 OPC_MoveSibling1,
19075 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19076 OPC_CheckChild0Integer, 127|128,0,
19077 OPC_CheckChild0TypeI32,
19078 OPC_MoveParent,
19079 OPC_MoveSibling1,
19080 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19081 OPC_CheckChild0Integer, 127|128,1,
19082 OPC_CheckChild0TypeI32,
19083 OPC_MoveParent,
19084 OPC_CheckType, MVT::v8i16,
19085 OPC_MoveParent,
19086 OPC_CheckType, MVT::v16i8,
19087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19088 MVT::v16i8, 2, 16,
19089 39,
19090 OPC_MoveChild0,
19091 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19092 OPC_CheckChild0Integer, 0|128,127,
19093 OPC_CheckChild0TypeI32,
19094 OPC_MoveParent,
19095 OPC_RecordChild1,
19096 OPC_MoveSibling1,
19097 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19098 OPC_CheckChild0Integer, 127|128,0,
19099 OPC_CheckChild0TypeI32,
19100 OPC_MoveParent,
19101 OPC_MoveSibling1,
19102 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19103 OPC_CheckChild0Integer, 127|128,1,
19104 OPC_CheckChild0TypeI32,
19105 OPC_MoveParent,
19106 OPC_CheckType, MVT::v8i16,
19107 OPC_MoveParent,
19108 OPC_CheckType, MVT::v16i8,
19109 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19110 MVT::v16i8, 2, 16,
19111 0,
19112 74, TARGET_VAL(ISD::SPLAT_VECTOR),
19113 OPC_CheckChild0Integer, 127|128,0,
19114 OPC_CheckChild0TypeI32,
19115 OPC_MoveSibling1,
19116 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19117 OPC_Scope, 31,
19118 OPC_RecordChild0,
19119 OPC_MoveChild1,
19120 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19121 OPC_CheckChild0Integer, 0|128,127,
19122 OPC_CheckChild0TypeI32,
19123 OPC_MoveParent,
19124 OPC_MoveParent,
19125 OPC_MoveSibling1,
19126 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19127 OPC_CheckChild0Integer, 127|128,1,
19128 OPC_CheckChild0TypeI32,
19129 OPC_MoveParent,
19130 OPC_CheckType, MVT::v8i16,
19131 OPC_MoveParent,
19132 OPC_CheckType, MVT::v16i8,
19133 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19134 MVT::v16i8, 2, 16,
19135 31,
19136 OPC_MoveChild0,
19137 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19138 OPC_CheckChild0Integer, 0|128,127,
19139 OPC_CheckChild0TypeI32,
19140 OPC_MoveParent,
19141 OPC_RecordChild1,
19142 OPC_MoveParent,
19143 OPC_MoveSibling1,
19144 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19145 OPC_CheckChild0Integer, 127|128,1,
19146 OPC_CheckChild0TypeI32,
19147 OPC_MoveParent,
19148 OPC_CheckType, MVT::v8i16,
19149 OPC_MoveParent,
19150 OPC_CheckType, MVT::v16i8,
19151 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19152 MVT::v16i8, 2, 16,
19153 0,
19154 0,
19155 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19156 OPC_CheckChild0Integer, 127|128,1,
19157 OPC_CheckChild0TypeI32,
19158 OPC_MoveSibling1,
19159 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19160 OPC_MoveChild0,
19161 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
19162 OPC_Scope, 31,
19163 OPC_RecordChild0,
19164 OPC_MoveChild1,
19165 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19166 OPC_CheckChild0Integer, 0|128,127,
19167 OPC_CheckChild0TypeI32,
19168 OPC_MoveParent,
19169 OPC_MoveSibling1,
19170 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19171 OPC_CheckChild0Integer, 127|128,0,
19172 OPC_CheckChild0TypeI32,
19173 OPC_MoveParent,
19174 OPC_MoveParent,
19175 OPC_CheckType, MVT::v8i16,
19176 OPC_MoveParent,
19177 OPC_CheckType, MVT::v16i8,
19178 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19179 MVT::v16i8, 2, 16,
19180 31,
19181 OPC_MoveChild0,
19182 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19183 OPC_CheckChild0Integer, 0|128,127,
19184 OPC_CheckChild0TypeI32,
19185 OPC_MoveParent,
19186 OPC_RecordChild1,
19187 OPC_MoveSibling1,
19188 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19189 OPC_CheckChild0Integer, 127|128,0,
19190 OPC_CheckChild0TypeI32,
19191 OPC_MoveParent,
19192 OPC_MoveParent,
19193 OPC_CheckType, MVT::v8i16,
19194 OPC_MoveParent,
19195 OPC_CheckType, MVT::v16i8,
19196 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19197 MVT::v16i8, 2, 16,
19198 0,
19199 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19200 OPC_CheckChild0Integer, 127|128,0,
19201 OPC_CheckChild0TypeI32,
19202 OPC_MoveSibling1,
19203 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19204 OPC_Scope, 23,
19205 OPC_RecordChild0,
19206 OPC_MoveChild1,
19207 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19208 OPC_CheckChild0Integer, 0|128,127,
19209 OPC_CheckChild0TypeI32,
19210 OPC_MoveParent,
19211 OPC_MoveParent,
19212 OPC_MoveParent,
19213 OPC_CheckType, MVT::v8i16,
19214 OPC_MoveParent,
19215 OPC_CheckType, MVT::v16i8,
19216 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19217 MVT::v16i8, 2, 16,
19218 23,
19219 OPC_MoveChild0,
19220 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19221 OPC_CheckChild0Integer, 0|128,127,
19222 OPC_CheckChild0TypeI32,
19223 OPC_MoveParent,
19224 OPC_RecordChild1,
19225 OPC_MoveParent,
19226 OPC_MoveParent,
19227 OPC_CheckType, MVT::v8i16,
19228 OPC_MoveParent,
19229 OPC_CheckType, MVT::v16i8,
19230 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19231 MVT::v16i8, 2, 16,
19232 0,
19233 0,
19234 0,
19235 0,
19236 44|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
19237 OPC_CheckChild0Integer, 127|128,0,
19238 OPC_CheckChild0TypeI32,
19239 OPC_MoveSibling1,
19240 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19241 OPC_Scope, 79|128,2,
19242 OPC_RecordChild0,
19243 OPC_MoveChild1,
19244 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19245 OPC_CheckChild0Integer, 0|128,127,
19246 OPC_CheckChild0TypeI32,
19247 OPC_MoveParent,
19248 OPC_MoveParent,
19249 OPC_MoveParent,
19250 OPC_CheckType, MVT::v8i16,
19251 OPC_MoveSibling1,
19252 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19253 OPC_MoveChild0,
19254 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
19255 OPC_MoveChild0,
19256 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
19257 OPC_Scope, 39,
19258 OPC_RecordChild0,
19259 OPC_MoveChild1,
19260 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19261 OPC_CheckChild0Integer, 0|128,127,
19262 OPC_CheckChild0TypeI32,
19263 OPC_MoveParent,
19264 OPC_MoveSibling1,
19265 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19266 OPC_CheckChild0Integer, 127|128,0,
19267 OPC_CheckChild0TypeI32,
19268 OPC_MoveParent,
19269 OPC_MoveSibling1,
19270 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19271 OPC_CheckChild0Integer, 127|128,1,
19272 OPC_CheckChild0TypeI32,
19273 OPC_MoveParent,
19274 OPC_CheckType, MVT::v8i16,
19275 OPC_MoveParent,
19276 OPC_CheckType, MVT::v16i8,
19277 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19278 MVT::v16i8, 2, 16,
19279 39,
19280 OPC_MoveChild0,
19281 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19282 OPC_CheckChild0Integer, 0|128,127,
19283 OPC_CheckChild0TypeI32,
19284 OPC_MoveParent,
19285 OPC_RecordChild1,
19286 OPC_MoveSibling1,
19287 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19288 OPC_CheckChild0Integer, 127|128,0,
19289 OPC_CheckChild0TypeI32,
19290 OPC_MoveParent,
19291 OPC_MoveSibling1,
19292 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19293 OPC_CheckChild0Integer, 127|128,1,
19294 OPC_CheckChild0TypeI32,
19295 OPC_MoveParent,
19296 OPC_CheckType, MVT::v8i16,
19297 OPC_MoveParent,
19298 OPC_CheckType, MVT::v16i8,
19299 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19300 MVT::v16i8, 2, 16,
19301 0,
19302 74, TARGET_VAL(ISD::SPLAT_VECTOR),
19303 OPC_CheckChild0Integer, 127|128,0,
19304 OPC_CheckChild0TypeI32,
19305 OPC_MoveSibling1,
19306 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19307 OPC_Scope, 31,
19308 OPC_RecordChild0,
19309 OPC_MoveChild1,
19310 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19311 OPC_CheckChild0Integer, 0|128,127,
19312 OPC_CheckChild0TypeI32,
19313 OPC_MoveParent,
19314 OPC_MoveParent,
19315 OPC_MoveSibling1,
19316 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19317 OPC_CheckChild0Integer, 127|128,1,
19318 OPC_CheckChild0TypeI32,
19319 OPC_MoveParent,
19320 OPC_CheckType, MVT::v8i16,
19321 OPC_MoveParent,
19322 OPC_CheckType, MVT::v16i8,
19323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19324 MVT::v16i8, 2, 16,
19325 31,
19326 OPC_MoveChild0,
19327 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19328 OPC_CheckChild0Integer, 0|128,127,
19329 OPC_CheckChild0TypeI32,
19330 OPC_MoveParent,
19331 OPC_RecordChild1,
19332 OPC_MoveParent,
19333 OPC_MoveSibling1,
19334 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19335 OPC_CheckChild0Integer, 127|128,1,
19336 OPC_CheckChild0TypeI32,
19337 OPC_MoveParent,
19338 OPC_CheckType, MVT::v8i16,
19339 OPC_MoveParent,
19340 OPC_CheckType, MVT::v16i8,
19341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19342 MVT::v16i8, 2, 16,
19343 0,
19344 0,
19345 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19346 OPC_CheckChild0Integer, 127|128,1,
19347 OPC_CheckChild0TypeI32,
19348 OPC_MoveSibling1,
19349 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19350 OPC_MoveChild0,
19351 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
19352 OPC_Scope, 31,
19353 OPC_RecordChild0,
19354 OPC_MoveChild1,
19355 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19356 OPC_CheckChild0Integer, 0|128,127,
19357 OPC_CheckChild0TypeI32,
19358 OPC_MoveParent,
19359 OPC_MoveSibling1,
19360 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19361 OPC_CheckChild0Integer, 127|128,0,
19362 OPC_CheckChild0TypeI32,
19363 OPC_MoveParent,
19364 OPC_MoveParent,
19365 OPC_CheckType, MVT::v8i16,
19366 OPC_MoveParent,
19367 OPC_CheckType, MVT::v16i8,
19368 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19369 MVT::v16i8, 2, 16,
19370 31,
19371 OPC_MoveChild0,
19372 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19373 OPC_CheckChild0Integer, 0|128,127,
19374 OPC_CheckChild0TypeI32,
19375 OPC_MoveParent,
19376 OPC_RecordChild1,
19377 OPC_MoveSibling1,
19378 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19379 OPC_CheckChild0Integer, 127|128,0,
19380 OPC_CheckChild0TypeI32,
19381 OPC_MoveParent,
19382 OPC_MoveParent,
19383 OPC_CheckType, MVT::v8i16,
19384 OPC_MoveParent,
19385 OPC_CheckType, MVT::v16i8,
19386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19387 MVT::v16i8, 2, 16,
19388 0,
19389 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19390 OPC_CheckChild0Integer, 127|128,0,
19391 OPC_CheckChild0TypeI32,
19392 OPC_MoveSibling1,
19393 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19394 OPC_Scope, 23,
19395 OPC_RecordChild0,
19396 OPC_MoveChild1,
19397 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19398 OPC_CheckChild0Integer, 0|128,127,
19399 OPC_CheckChild0TypeI32,
19400 OPC_MoveParent,
19401 OPC_MoveParent,
19402 OPC_MoveParent,
19403 OPC_CheckType, MVT::v8i16,
19404 OPC_MoveParent,
19405 OPC_CheckType, MVT::v16i8,
19406 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19407 MVT::v16i8, 2, 16,
19408 23,
19409 OPC_MoveChild0,
19410 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19411 OPC_CheckChild0Integer, 0|128,127,
19412 OPC_CheckChild0TypeI32,
19413 OPC_MoveParent,
19414 OPC_RecordChild1,
19415 OPC_MoveParent,
19416 OPC_MoveParent,
19417 OPC_CheckType, MVT::v8i16,
19418 OPC_MoveParent,
19419 OPC_CheckType, MVT::v16i8,
19420 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19421 MVT::v16i8, 2, 16,
19422 0,
19423 0,
19424 0,
19425 79|128,2,
19426 OPC_MoveChild0,
19427 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19428 OPC_CheckChild0Integer, 0|128,127,
19429 OPC_CheckChild0TypeI32,
19430 OPC_MoveParent,
19431 OPC_RecordChild1,
19432 OPC_MoveParent,
19433 OPC_MoveParent,
19434 OPC_CheckType, MVT::v8i16,
19435 OPC_MoveSibling1,
19436 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19437 OPC_MoveChild0,
19438 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMIN),
19439 OPC_MoveChild0,
19440 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMAX),
19441 OPC_Scope, 39,
19442 OPC_RecordChild0,
19443 OPC_MoveChild1,
19444 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19445 OPC_CheckChild0Integer, 0|128,127,
19446 OPC_CheckChild0TypeI32,
19447 OPC_MoveParent,
19448 OPC_MoveSibling1,
19449 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19450 OPC_CheckChild0Integer, 127|128,0,
19451 OPC_CheckChild0TypeI32,
19452 OPC_MoveParent,
19453 OPC_MoveSibling1,
19454 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19455 OPC_CheckChild0Integer, 127|128,1,
19456 OPC_CheckChild0TypeI32,
19457 OPC_MoveParent,
19458 OPC_CheckType, MVT::v8i16,
19459 OPC_MoveParent,
19460 OPC_CheckType, MVT::v16i8,
19461 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19462 MVT::v16i8, 2, 16,
19463 39,
19464 OPC_MoveChild0,
19465 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19466 OPC_CheckChild0Integer, 0|128,127,
19467 OPC_CheckChild0TypeI32,
19468 OPC_MoveParent,
19469 OPC_RecordChild1,
19470 OPC_MoveSibling1,
19471 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19472 OPC_CheckChild0Integer, 127|128,0,
19473 OPC_CheckChild0TypeI32,
19474 OPC_MoveParent,
19475 OPC_MoveSibling1,
19476 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19477 OPC_CheckChild0Integer, 127|128,1,
19478 OPC_CheckChild0TypeI32,
19479 OPC_MoveParent,
19480 OPC_CheckType, MVT::v8i16,
19481 OPC_MoveParent,
19482 OPC_CheckType, MVT::v16i8,
19483 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19484 MVT::v16i8, 2, 16,
19485 0,
19486 74, TARGET_VAL(ISD::SPLAT_VECTOR),
19487 OPC_CheckChild0Integer, 127|128,0,
19488 OPC_CheckChild0TypeI32,
19489 OPC_MoveSibling1,
19490 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19491 OPC_Scope, 31,
19492 OPC_RecordChild0,
19493 OPC_MoveChild1,
19494 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19495 OPC_CheckChild0Integer, 0|128,127,
19496 OPC_CheckChild0TypeI32,
19497 OPC_MoveParent,
19498 OPC_MoveParent,
19499 OPC_MoveSibling1,
19500 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19501 OPC_CheckChild0Integer, 127|128,1,
19502 OPC_CheckChild0TypeI32,
19503 OPC_MoveParent,
19504 OPC_CheckType, MVT::v8i16,
19505 OPC_MoveParent,
19506 OPC_CheckType, MVT::v16i8,
19507 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19508 MVT::v16i8, 2, 16,
19509 31,
19510 OPC_MoveChild0,
19511 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19512 OPC_CheckChild0Integer, 0|128,127,
19513 OPC_CheckChild0TypeI32,
19514 OPC_MoveParent,
19515 OPC_RecordChild1,
19516 OPC_MoveParent,
19517 OPC_MoveSibling1,
19518 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19519 OPC_CheckChild0Integer, 127|128,1,
19520 OPC_CheckChild0TypeI32,
19521 OPC_MoveParent,
19522 OPC_CheckType, MVT::v8i16,
19523 OPC_MoveParent,
19524 OPC_CheckType, MVT::v16i8,
19525 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19526 MVT::v16i8, 2, 16,
19527 0,
19528 0,
19529 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19530 OPC_CheckChild0Integer, 127|128,1,
19531 OPC_CheckChild0TypeI32,
19532 OPC_MoveSibling1,
19533 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19534 OPC_MoveChild0,
19535 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMAX),
19536 OPC_Scope, 31,
19537 OPC_RecordChild0,
19538 OPC_MoveChild1,
19539 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19540 OPC_CheckChild0Integer, 0|128,127,
19541 OPC_CheckChild0TypeI32,
19542 OPC_MoveParent,
19543 OPC_MoveSibling1,
19544 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19545 OPC_CheckChild0Integer, 127|128,0,
19546 OPC_CheckChild0TypeI32,
19547 OPC_MoveParent,
19548 OPC_MoveParent,
19549 OPC_CheckType, MVT::v8i16,
19550 OPC_MoveParent,
19551 OPC_CheckType, MVT::v16i8,
19552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19553 MVT::v16i8, 2, 16,
19554 31,
19555 OPC_MoveChild0,
19556 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19557 OPC_CheckChild0Integer, 0|128,127,
19558 OPC_CheckChild0TypeI32,
19559 OPC_MoveParent,
19560 OPC_RecordChild1,
19561 OPC_MoveSibling1,
19562 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19563 OPC_CheckChild0Integer, 127|128,0,
19564 OPC_CheckChild0TypeI32,
19565 OPC_MoveParent,
19566 OPC_MoveParent,
19567 OPC_CheckType, MVT::v8i16,
19568 OPC_MoveParent,
19569 OPC_CheckType, MVT::v16i8,
19570 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19571 MVT::v16i8, 2, 16,
19572 0,
19573 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19574 OPC_CheckChild0Integer, 127|128,0,
19575 OPC_CheckChild0TypeI32,
19576 OPC_MoveSibling1,
19577 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19578 OPC_Scope, 23,
19579 OPC_RecordChild0,
19580 OPC_MoveChild1,
19581 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19582 OPC_CheckChild0Integer, 0|128,127,
19583 OPC_CheckChild0TypeI32,
19584 OPC_MoveParent,
19585 OPC_MoveParent,
19586 OPC_MoveParent,
19587 OPC_CheckType, MVT::v8i16,
19588 OPC_MoveParent,
19589 OPC_CheckType, MVT::v16i8,
19590 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19591 MVT::v16i8, 2, 16,
19592 23,
19593 OPC_MoveChild0,
19594 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19595 OPC_CheckChild0Integer, 0|128,127,
19596 OPC_CheckChild0TypeI32,
19597 OPC_MoveParent,
19598 OPC_RecordChild1,
19599 OPC_MoveParent,
19600 OPC_MoveParent,
19601 OPC_CheckType, MVT::v8i16,
19602 OPC_MoveParent,
19603 OPC_CheckType, MVT::v16i8,
19604 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19605 MVT::v16i8, 2, 16,
19606 0,
19607 0,
19608 0,
19609 0,
19610 0,
19611 107|128,10, TARGET_VAL(ISD::SMAX),
19612 OPC_MoveChild0,
19613 OPC_SwitchOpcode , 52|128,5, TARGET_VAL(ISD::SMIN),
19614 OPC_Scope, 87|128,2,
19615 OPC_RecordChild0,
19616 OPC_MoveChild1,
19617 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19618 OPC_CheckChild0Integer, 127|128,0,
19619 OPC_CheckChild0TypeI32,
19620 OPC_MoveParent,
19621 OPC_MoveSibling1,
19622 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19623 OPC_CheckChild0Integer, 0|128,127,
19624 OPC_CheckChild0TypeI32,
19625 OPC_MoveParent,
19626 OPC_MoveParent,
19627 OPC_CheckType, MVT::v8i16,
19628 OPC_MoveSibling1,
19629 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19630 OPC_MoveChild0,
19631 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
19632 OPC_MoveChild0,
19633 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
19634 OPC_Scope, 39,
19635 OPC_RecordChild0,
19636 OPC_MoveChild1,
19637 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19638 OPC_CheckChild0Integer, 127|128,0,
19639 OPC_CheckChild0TypeI32,
19640 OPC_MoveParent,
19641 OPC_MoveSibling1,
19642 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19643 OPC_CheckChild0Integer, 0|128,127,
19644 OPC_CheckChild0TypeI32,
19645 OPC_MoveParent,
19646 OPC_MoveSibling1,
19647 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19648 OPC_CheckChild0Integer, 127|128,1,
19649 OPC_CheckChild0TypeI32,
19650 OPC_MoveParent,
19651 OPC_CheckType, MVT::v8i16,
19652 OPC_MoveParent,
19653 OPC_CheckType, MVT::v16i8,
19654 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19655 MVT::v16i8, 2, 16,
19656 39,
19657 OPC_MoveChild0,
19658 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19659 OPC_CheckChild0Integer, 127|128,0,
19660 OPC_CheckChild0TypeI32,
19661 OPC_MoveParent,
19662 OPC_RecordChild1,
19663 OPC_MoveSibling1,
19664 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19665 OPC_CheckChild0Integer, 0|128,127,
19666 OPC_CheckChild0TypeI32,
19667 OPC_MoveParent,
19668 OPC_MoveSibling1,
19669 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19670 OPC_CheckChild0Integer, 127|128,1,
19671 OPC_CheckChild0TypeI32,
19672 OPC_MoveParent,
19673 OPC_CheckType, MVT::v8i16,
19674 OPC_MoveParent,
19675 OPC_CheckType, MVT::v16i8,
19676 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19677 MVT::v16i8, 2, 16,
19678 0,
19679 74, TARGET_VAL(ISD::SPLAT_VECTOR),
19680 OPC_CheckChild0Integer, 0|128,127,
19681 OPC_CheckChild0TypeI32,
19682 OPC_MoveSibling1,
19683 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19684 OPC_Scope, 31,
19685 OPC_RecordChild0,
19686 OPC_MoveChild1,
19687 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19688 OPC_CheckChild0Integer, 127|128,0,
19689 OPC_CheckChild0TypeI32,
19690 OPC_MoveParent,
19691 OPC_MoveParent,
19692 OPC_MoveSibling1,
19693 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19694 OPC_CheckChild0Integer, 127|128,1,
19695 OPC_CheckChild0TypeI32,
19696 OPC_MoveParent,
19697 OPC_CheckType, MVT::v8i16,
19698 OPC_MoveParent,
19699 OPC_CheckType, MVT::v16i8,
19700 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19701 MVT::v16i8, 2, 16,
19702 31,
19703 OPC_MoveChild0,
19704 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19705 OPC_CheckChild0Integer, 127|128,0,
19706 OPC_CheckChild0TypeI32,
19707 OPC_MoveParent,
19708 OPC_RecordChild1,
19709 OPC_MoveParent,
19710 OPC_MoveSibling1,
19711 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19712 OPC_CheckChild0Integer, 127|128,1,
19713 OPC_CheckChild0TypeI32,
19714 OPC_MoveParent,
19715 OPC_CheckType, MVT::v8i16,
19716 OPC_MoveParent,
19717 OPC_CheckType, MVT::v16i8,
19718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19719 MVT::v16i8, 2, 16,
19720 0,
19721 0,
19722 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19723 OPC_CheckChild0Integer, 127|128,1,
19724 OPC_CheckChild0TypeI32,
19725 OPC_MoveSibling1,
19726 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19727 OPC_MoveChild0,
19728 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
19729 OPC_Scope, 31,
19730 OPC_RecordChild0,
19731 OPC_MoveChild1,
19732 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19733 OPC_CheckChild0Integer, 127|128,0,
19734 OPC_CheckChild0TypeI32,
19735 OPC_MoveParent,
19736 OPC_MoveSibling1,
19737 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19738 OPC_CheckChild0Integer, 0|128,127,
19739 OPC_CheckChild0TypeI32,
19740 OPC_MoveParent,
19741 OPC_MoveParent,
19742 OPC_CheckType, MVT::v8i16,
19743 OPC_MoveParent,
19744 OPC_CheckType, MVT::v16i8,
19745 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19746 MVT::v16i8, 2, 16,
19747 31,
19748 OPC_MoveChild0,
19749 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19750 OPC_CheckChild0Integer, 127|128,0,
19751 OPC_CheckChild0TypeI32,
19752 OPC_MoveParent,
19753 OPC_RecordChild1,
19754 OPC_MoveSibling1,
19755 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19756 OPC_CheckChild0Integer, 0|128,127,
19757 OPC_CheckChild0TypeI32,
19758 OPC_MoveParent,
19759 OPC_MoveParent,
19760 OPC_CheckType, MVT::v8i16,
19761 OPC_MoveParent,
19762 OPC_CheckType, MVT::v16i8,
19763 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19764 MVT::v16i8, 2, 16,
19765 0,
19766 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19767 OPC_CheckChild0Integer, 0|128,127,
19768 OPC_CheckChild0TypeI32,
19769 OPC_MoveSibling1,
19770 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19771 OPC_Scope, 23,
19772 OPC_RecordChild0,
19773 OPC_MoveChild1,
19774 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19775 OPC_CheckChild0Integer, 127|128,0,
19776 OPC_CheckChild0TypeI32,
19777 OPC_MoveParent,
19778 OPC_MoveParent,
19779 OPC_MoveParent,
19780 OPC_CheckType, MVT::v8i16,
19781 OPC_MoveParent,
19782 OPC_CheckType, MVT::v16i8,
19783 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19784 MVT::v16i8, 2, 16,
19785 23,
19786 OPC_MoveChild0,
19787 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19788 OPC_CheckChild0Integer, 127|128,0,
19789 OPC_CheckChild0TypeI32,
19790 OPC_MoveParent,
19791 OPC_RecordChild1,
19792 OPC_MoveParent,
19793 OPC_MoveParent,
19794 OPC_CheckType, MVT::v8i16,
19795 OPC_MoveParent,
19796 OPC_CheckType, MVT::v16i8,
19797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19798 MVT::v16i8, 2, 16,
19799 0,
19800 0,
19801 0,
19802 87|128,2,
19803 OPC_MoveChild0,
19804 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19805 OPC_CheckChild0Integer, 127|128,0,
19806 OPC_CheckChild0TypeI32,
19807 OPC_MoveParent,
19808 OPC_RecordChild1,
19809 OPC_MoveSibling1,
19810 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19811 OPC_CheckChild0Integer, 0|128,127,
19812 OPC_CheckChild0TypeI32,
19813 OPC_MoveParent,
19814 OPC_MoveParent,
19815 OPC_CheckType, MVT::v8i16,
19816 OPC_MoveSibling1,
19817 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19818 OPC_MoveChild0,
19819 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
19820 OPC_MoveChild0,
19821 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
19822 OPC_Scope, 39,
19823 OPC_RecordChild0,
19824 OPC_MoveChild1,
19825 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19826 OPC_CheckChild0Integer, 127|128,0,
19827 OPC_CheckChild0TypeI32,
19828 OPC_MoveParent,
19829 OPC_MoveSibling1,
19830 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19831 OPC_CheckChild0Integer, 0|128,127,
19832 OPC_CheckChild0TypeI32,
19833 OPC_MoveParent,
19834 OPC_MoveSibling1,
19835 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19836 OPC_CheckChild0Integer, 127|128,1,
19837 OPC_CheckChild0TypeI32,
19838 OPC_MoveParent,
19839 OPC_CheckType, MVT::v8i16,
19840 OPC_MoveParent,
19841 OPC_CheckType, MVT::v16i8,
19842 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19843 MVT::v16i8, 2, 16,
19844 39,
19845 OPC_MoveChild0,
19846 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19847 OPC_CheckChild0Integer, 127|128,0,
19848 OPC_CheckChild0TypeI32,
19849 OPC_MoveParent,
19850 OPC_RecordChild1,
19851 OPC_MoveSibling1,
19852 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19853 OPC_CheckChild0Integer, 0|128,127,
19854 OPC_CheckChild0TypeI32,
19855 OPC_MoveParent,
19856 OPC_MoveSibling1,
19857 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19858 OPC_CheckChild0Integer, 127|128,1,
19859 OPC_CheckChild0TypeI32,
19860 OPC_MoveParent,
19861 OPC_CheckType, MVT::v8i16,
19862 OPC_MoveParent,
19863 OPC_CheckType, MVT::v16i8,
19864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19865 MVT::v16i8, 2, 16,
19866 0,
19867 74, TARGET_VAL(ISD::SPLAT_VECTOR),
19868 OPC_CheckChild0Integer, 0|128,127,
19869 OPC_CheckChild0TypeI32,
19870 OPC_MoveSibling1,
19871 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19872 OPC_Scope, 31,
19873 OPC_RecordChild0,
19874 OPC_MoveChild1,
19875 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19876 OPC_CheckChild0Integer, 127|128,0,
19877 OPC_CheckChild0TypeI32,
19878 OPC_MoveParent,
19879 OPC_MoveParent,
19880 OPC_MoveSibling1,
19881 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19882 OPC_CheckChild0Integer, 127|128,1,
19883 OPC_CheckChild0TypeI32,
19884 OPC_MoveParent,
19885 OPC_CheckType, MVT::v8i16,
19886 OPC_MoveParent,
19887 OPC_CheckType, MVT::v16i8,
19888 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19889 MVT::v16i8, 2, 16,
19890 31,
19891 OPC_MoveChild0,
19892 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19893 OPC_CheckChild0Integer, 127|128,0,
19894 OPC_CheckChild0TypeI32,
19895 OPC_MoveParent,
19896 OPC_RecordChild1,
19897 OPC_MoveParent,
19898 OPC_MoveSibling1,
19899 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19900 OPC_CheckChild0Integer, 127|128,1,
19901 OPC_CheckChild0TypeI32,
19902 OPC_MoveParent,
19903 OPC_CheckType, MVT::v8i16,
19904 OPC_MoveParent,
19905 OPC_CheckType, MVT::v16i8,
19906 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19907 MVT::v16i8, 2, 16,
19908 0,
19909 0,
19910 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19911 OPC_CheckChild0Integer, 127|128,1,
19912 OPC_CheckChild0TypeI32,
19913 OPC_MoveSibling1,
19914 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19915 OPC_MoveChild0,
19916 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
19917 OPC_Scope, 31,
19918 OPC_RecordChild0,
19919 OPC_MoveChild1,
19920 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19921 OPC_CheckChild0Integer, 127|128,0,
19922 OPC_CheckChild0TypeI32,
19923 OPC_MoveParent,
19924 OPC_MoveSibling1,
19925 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19926 OPC_CheckChild0Integer, 0|128,127,
19927 OPC_CheckChild0TypeI32,
19928 OPC_MoveParent,
19929 OPC_MoveParent,
19930 OPC_CheckType, MVT::v8i16,
19931 OPC_MoveParent,
19932 OPC_CheckType, MVT::v16i8,
19933 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19934 MVT::v16i8, 2, 16,
19935 31,
19936 OPC_MoveChild0,
19937 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19938 OPC_CheckChild0Integer, 127|128,0,
19939 OPC_CheckChild0TypeI32,
19940 OPC_MoveParent,
19941 OPC_RecordChild1,
19942 OPC_MoveSibling1,
19943 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19944 OPC_CheckChild0Integer, 0|128,127,
19945 OPC_CheckChild0TypeI32,
19946 OPC_MoveParent,
19947 OPC_MoveParent,
19948 OPC_CheckType, MVT::v8i16,
19949 OPC_MoveParent,
19950 OPC_CheckType, MVT::v16i8,
19951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19952 MVT::v16i8, 2, 16,
19953 0,
19954 58, TARGET_VAL(ISD::SPLAT_VECTOR),
19955 OPC_CheckChild0Integer, 0|128,127,
19956 OPC_CheckChild0TypeI32,
19957 OPC_MoveSibling1,
19958 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19959 OPC_Scope, 23,
19960 OPC_RecordChild0,
19961 OPC_MoveChild1,
19962 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19963 OPC_CheckChild0Integer, 127|128,0,
19964 OPC_CheckChild0TypeI32,
19965 OPC_MoveParent,
19966 OPC_MoveParent,
19967 OPC_MoveParent,
19968 OPC_CheckType, MVT::v8i16,
19969 OPC_MoveParent,
19970 OPC_CheckType, MVT::v16i8,
19971 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19972 MVT::v16i8, 2, 16,
19973 23,
19974 OPC_MoveChild0,
19975 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19976 OPC_CheckChild0Integer, 127|128,0,
19977 OPC_CheckChild0TypeI32,
19978 OPC_MoveParent,
19979 OPC_RecordChild1,
19980 OPC_MoveParent,
19981 OPC_MoveParent,
19982 OPC_CheckType, MVT::v8i16,
19983 OPC_MoveParent,
19984 OPC_CheckType, MVT::v16i8,
19985 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19986 MVT::v16i8, 2, 16,
19987 0,
19988 0,
19989 0,
19990 0,
19991 44|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
19992 OPC_CheckChild0Integer, 0|128,127,
19993 OPC_CheckChild0TypeI32,
19994 OPC_MoveSibling1,
19995 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19996 OPC_Scope, 79|128,2,
19997 OPC_RecordChild0,
19998 OPC_MoveChild1,
19999 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20000 OPC_CheckChild0Integer, 127|128,0,
20001 OPC_CheckChild0TypeI32,
20002 OPC_MoveParent,
20003 OPC_MoveParent,
20004 OPC_MoveParent,
20005 OPC_CheckType, MVT::v8i16,
20006 OPC_MoveSibling1,
20007 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20008 OPC_MoveChild0,
20009 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
20010 OPC_MoveChild0,
20011 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
20012 OPC_Scope, 39,
20013 OPC_RecordChild0,
20014 OPC_MoveChild1,
20015 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20016 OPC_CheckChild0Integer, 127|128,0,
20017 OPC_CheckChild0TypeI32,
20018 OPC_MoveParent,
20019 OPC_MoveSibling1,
20020 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20021 OPC_CheckChild0Integer, 0|128,127,
20022 OPC_CheckChild0TypeI32,
20023 OPC_MoveParent,
20024 OPC_MoveSibling1,
20025 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20026 OPC_CheckChild0Integer, 127|128,1,
20027 OPC_CheckChild0TypeI32,
20028 OPC_MoveParent,
20029 OPC_CheckType, MVT::v8i16,
20030 OPC_MoveParent,
20031 OPC_CheckType, MVT::v16i8,
20032 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20033 MVT::v16i8, 2, 16,
20034 39,
20035 OPC_MoveChild0,
20036 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20037 OPC_CheckChild0Integer, 127|128,0,
20038 OPC_CheckChild0TypeI32,
20039 OPC_MoveParent,
20040 OPC_RecordChild1,
20041 OPC_MoveSibling1,
20042 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20043 OPC_CheckChild0Integer, 0|128,127,
20044 OPC_CheckChild0TypeI32,
20045 OPC_MoveParent,
20046 OPC_MoveSibling1,
20047 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20048 OPC_CheckChild0Integer, 127|128,1,
20049 OPC_CheckChild0TypeI32,
20050 OPC_MoveParent,
20051 OPC_CheckType, MVT::v8i16,
20052 OPC_MoveParent,
20053 OPC_CheckType, MVT::v16i8,
20054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20055 MVT::v16i8, 2, 16,
20056 0,
20057 74, TARGET_VAL(ISD::SPLAT_VECTOR),
20058 OPC_CheckChild0Integer, 0|128,127,
20059 OPC_CheckChild0TypeI32,
20060 OPC_MoveSibling1,
20061 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20062 OPC_Scope, 31,
20063 OPC_RecordChild0,
20064 OPC_MoveChild1,
20065 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20066 OPC_CheckChild0Integer, 127|128,0,
20067 OPC_CheckChild0TypeI32,
20068 OPC_MoveParent,
20069 OPC_MoveParent,
20070 OPC_MoveSibling1,
20071 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20072 OPC_CheckChild0Integer, 127|128,1,
20073 OPC_CheckChild0TypeI32,
20074 OPC_MoveParent,
20075 OPC_CheckType, MVT::v8i16,
20076 OPC_MoveParent,
20077 OPC_CheckType, MVT::v16i8,
20078 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20079 MVT::v16i8, 2, 16,
20080 31,
20081 OPC_MoveChild0,
20082 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20083 OPC_CheckChild0Integer, 127|128,0,
20084 OPC_CheckChild0TypeI32,
20085 OPC_MoveParent,
20086 OPC_RecordChild1,
20087 OPC_MoveParent,
20088 OPC_MoveSibling1,
20089 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20090 OPC_CheckChild0Integer, 127|128,1,
20091 OPC_CheckChild0TypeI32,
20092 OPC_MoveParent,
20093 OPC_CheckType, MVT::v8i16,
20094 OPC_MoveParent,
20095 OPC_CheckType, MVT::v16i8,
20096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20097 MVT::v16i8, 2, 16,
20098 0,
20099 0,
20100 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20101 OPC_CheckChild0Integer, 127|128,1,
20102 OPC_CheckChild0TypeI32,
20103 OPC_MoveSibling1,
20104 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20105 OPC_MoveChild0,
20106 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
20107 OPC_Scope, 31,
20108 OPC_RecordChild0,
20109 OPC_MoveChild1,
20110 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20111 OPC_CheckChild0Integer, 127|128,0,
20112 OPC_CheckChild0TypeI32,
20113 OPC_MoveParent,
20114 OPC_MoveSibling1,
20115 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20116 OPC_CheckChild0Integer, 0|128,127,
20117 OPC_CheckChild0TypeI32,
20118 OPC_MoveParent,
20119 OPC_MoveParent,
20120 OPC_CheckType, MVT::v8i16,
20121 OPC_MoveParent,
20122 OPC_CheckType, MVT::v16i8,
20123 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20124 MVT::v16i8, 2, 16,
20125 31,
20126 OPC_MoveChild0,
20127 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20128 OPC_CheckChild0Integer, 127|128,0,
20129 OPC_CheckChild0TypeI32,
20130 OPC_MoveParent,
20131 OPC_RecordChild1,
20132 OPC_MoveSibling1,
20133 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20134 OPC_CheckChild0Integer, 0|128,127,
20135 OPC_CheckChild0TypeI32,
20136 OPC_MoveParent,
20137 OPC_MoveParent,
20138 OPC_CheckType, MVT::v8i16,
20139 OPC_MoveParent,
20140 OPC_CheckType, MVT::v16i8,
20141 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20142 MVT::v16i8, 2, 16,
20143 0,
20144 58, TARGET_VAL(ISD::SPLAT_VECTOR),
20145 OPC_CheckChild0Integer, 0|128,127,
20146 OPC_CheckChild0TypeI32,
20147 OPC_MoveSibling1,
20148 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20149 OPC_Scope, 23,
20150 OPC_RecordChild0,
20151 OPC_MoveChild1,
20152 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20153 OPC_CheckChild0Integer, 127|128,0,
20154 OPC_CheckChild0TypeI32,
20155 OPC_MoveParent,
20156 OPC_MoveParent,
20157 OPC_MoveParent,
20158 OPC_CheckType, MVT::v8i16,
20159 OPC_MoveParent,
20160 OPC_CheckType, MVT::v16i8,
20161 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20162 MVT::v16i8, 2, 16,
20163 23,
20164 OPC_MoveChild0,
20165 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20166 OPC_CheckChild0Integer, 127|128,0,
20167 OPC_CheckChild0TypeI32,
20168 OPC_MoveParent,
20169 OPC_RecordChild1,
20170 OPC_MoveParent,
20171 OPC_MoveParent,
20172 OPC_CheckType, MVT::v8i16,
20173 OPC_MoveParent,
20174 OPC_CheckType, MVT::v16i8,
20175 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20176 MVT::v16i8, 2, 16,
20177 0,
20178 0,
20179 0,
20180 79|128,2,
20181 OPC_MoveChild0,
20182 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20183 OPC_CheckChild0Integer, 127|128,0,
20184 OPC_CheckChild0TypeI32,
20185 OPC_MoveParent,
20186 OPC_RecordChild1,
20187 OPC_MoveParent,
20188 OPC_MoveParent,
20189 OPC_CheckType, MVT::v8i16,
20190 OPC_MoveSibling1,
20191 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20192 OPC_MoveChild0,
20193 OPC_SwitchOpcode , 37|128,1, TARGET_VAL(ISD::SMAX),
20194 OPC_MoveChild0,
20195 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SMIN),
20196 OPC_Scope, 39,
20197 OPC_RecordChild0,
20198 OPC_MoveChild1,
20199 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20200 OPC_CheckChild0Integer, 127|128,0,
20201 OPC_CheckChild0TypeI32,
20202 OPC_MoveParent,
20203 OPC_MoveSibling1,
20204 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20205 OPC_CheckChild0Integer, 0|128,127,
20206 OPC_CheckChild0TypeI32,
20207 OPC_MoveParent,
20208 OPC_MoveSibling1,
20209 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20210 OPC_CheckChild0Integer, 127|128,1,
20211 OPC_CheckChild0TypeI32,
20212 OPC_MoveParent,
20213 OPC_CheckType, MVT::v8i16,
20214 OPC_MoveParent,
20215 OPC_CheckType, MVT::v16i8,
20216 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20217 MVT::v16i8, 2, 16,
20218 39,
20219 OPC_MoveChild0,
20220 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20221 OPC_CheckChild0Integer, 127|128,0,
20222 OPC_CheckChild0TypeI32,
20223 OPC_MoveParent,
20224 OPC_RecordChild1,
20225 OPC_MoveSibling1,
20226 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20227 OPC_CheckChild0Integer, 0|128,127,
20228 OPC_CheckChild0TypeI32,
20229 OPC_MoveParent,
20230 OPC_MoveSibling1,
20231 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20232 OPC_CheckChild0Integer, 127|128,1,
20233 OPC_CheckChild0TypeI32,
20234 OPC_MoveParent,
20235 OPC_CheckType, MVT::v8i16,
20236 OPC_MoveParent,
20237 OPC_CheckType, MVT::v16i8,
20238 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20239 MVT::v16i8, 2, 16,
20240 0,
20241 74, TARGET_VAL(ISD::SPLAT_VECTOR),
20242 OPC_CheckChild0Integer, 0|128,127,
20243 OPC_CheckChild0TypeI32,
20244 OPC_MoveSibling1,
20245 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20246 OPC_Scope, 31,
20247 OPC_RecordChild0,
20248 OPC_MoveChild1,
20249 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20250 OPC_CheckChild0Integer, 127|128,0,
20251 OPC_CheckChild0TypeI32,
20252 OPC_MoveParent,
20253 OPC_MoveParent,
20254 OPC_MoveSibling1,
20255 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20256 OPC_CheckChild0Integer, 127|128,1,
20257 OPC_CheckChild0TypeI32,
20258 OPC_MoveParent,
20259 OPC_CheckType, MVT::v8i16,
20260 OPC_MoveParent,
20261 OPC_CheckType, MVT::v16i8,
20262 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20263 MVT::v16i8, 2, 16,
20264 31,
20265 OPC_MoveChild0,
20266 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20267 OPC_CheckChild0Integer, 127|128,0,
20268 OPC_CheckChild0TypeI32,
20269 OPC_MoveParent,
20270 OPC_RecordChild1,
20271 OPC_MoveParent,
20272 OPC_MoveSibling1,
20273 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20274 OPC_CheckChild0Integer, 127|128,1,
20275 OPC_CheckChild0TypeI32,
20276 OPC_MoveParent,
20277 OPC_CheckType, MVT::v8i16,
20278 OPC_MoveParent,
20279 OPC_CheckType, MVT::v16i8,
20280 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20281 MVT::v16i8, 2, 16,
20282 0,
20283 0,
20284 13|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20285 OPC_CheckChild0Integer, 127|128,1,
20286 OPC_CheckChild0TypeI32,
20287 OPC_MoveSibling1,
20288 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20289 OPC_MoveChild0,
20290 OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SMIN),
20291 OPC_Scope, 31,
20292 OPC_RecordChild0,
20293 OPC_MoveChild1,
20294 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20295 OPC_CheckChild0Integer, 127|128,0,
20296 OPC_CheckChild0TypeI32,
20297 OPC_MoveParent,
20298 OPC_MoveSibling1,
20299 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20300 OPC_CheckChild0Integer, 0|128,127,
20301 OPC_CheckChild0TypeI32,
20302 OPC_MoveParent,
20303 OPC_MoveParent,
20304 OPC_CheckType, MVT::v8i16,
20305 OPC_MoveParent,
20306 OPC_CheckType, MVT::v16i8,
20307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20308 MVT::v16i8, 2, 16,
20309 31,
20310 OPC_MoveChild0,
20311 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20312 OPC_CheckChild0Integer, 127|128,0,
20313 OPC_CheckChild0TypeI32,
20314 OPC_MoveParent,
20315 OPC_RecordChild1,
20316 OPC_MoveSibling1,
20317 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20318 OPC_CheckChild0Integer, 0|128,127,
20319 OPC_CheckChild0TypeI32,
20320 OPC_MoveParent,
20321 OPC_MoveParent,
20322 OPC_CheckType, MVT::v8i16,
20323 OPC_MoveParent,
20324 OPC_CheckType, MVT::v16i8,
20325 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20326 MVT::v16i8, 2, 16,
20327 0,
20328 58, TARGET_VAL(ISD::SPLAT_VECTOR),
20329 OPC_CheckChild0Integer, 0|128,127,
20330 OPC_CheckChild0TypeI32,
20331 OPC_MoveSibling1,
20332 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20333 OPC_Scope, 23,
20334 OPC_RecordChild0,
20335 OPC_MoveChild1,
20336 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20337 OPC_CheckChild0Integer, 127|128,0,
20338 OPC_CheckChild0TypeI32,
20339 OPC_MoveParent,
20340 OPC_MoveParent,
20341 OPC_MoveParent,
20342 OPC_CheckType, MVT::v8i16,
20343 OPC_MoveParent,
20344 OPC_CheckType, MVT::v16i8,
20345 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20346 MVT::v16i8, 2, 16,
20347 23,
20348 OPC_MoveChild0,
20349 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20350 OPC_CheckChild0Integer, 127|128,0,
20351 OPC_CheckChild0TypeI32,
20352 OPC_MoveParent,
20353 OPC_RecordChild1,
20354 OPC_MoveParent,
20355 OPC_MoveParent,
20356 OPC_CheckType, MVT::v8i16,
20357 OPC_MoveParent,
20358 OPC_CheckType, MVT::v16i8,
20359 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
20360 MVT::v16i8, 2, 16,
20361 0,
20362 0,
20363 0,
20364 0,
20365 0,
20366 0,
20367 12|128,23,
20368 OPC_CheckChild0Integer, 127|128,127|128,3,
20369 OPC_CheckChild0TypeI32,
20370 OPC_MoveSibling1,
20371 OPC_SwitchOpcode , 62|128,11, TARGET_VAL(ISD::SMIN),
20372 OPC_MoveChild0,
20373 OPC_SwitchOpcode , 94|128,5, TARGET_VAL(ISD::SMAX),
20374 OPC_Scope, 108|128,2,
20375 OPC_RecordChild0,
20376 OPC_MoveChild1,
20377 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20378 OPC_CheckChild0Integer, 0|128,0|128,126,
20379 OPC_CheckChild0TypeI32,
20380 OPC_MoveParent,
20381 OPC_MoveSibling1,
20382 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20383 OPC_CheckChild0Integer, 127|128,127|128,1,
20384 OPC_CheckChild0TypeI32,
20385 OPC_MoveParent,
20386 OPC_MoveParent,
20387 OPC_CheckType, MVT::v4i32,
20388 OPC_MoveSibling1,
20389 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20390 OPC_MoveChild0,
20391 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
20392 OPC_MoveChild0,
20393 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
20394 OPC_Scope, 42,
20395 OPC_RecordChild0,
20396 OPC_MoveChild1,
20397 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20398 OPC_CheckChild0Integer, 0|128,0|128,126,
20399 OPC_CheckChild0TypeI32,
20400 OPC_MoveParent,
20401 OPC_MoveSibling1,
20402 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20403 OPC_CheckChild0Integer, 127|128,127|128,1,
20404 OPC_CheckChild0TypeI32,
20405 OPC_MoveParent,
20406 OPC_MoveSibling1,
20407 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20408 OPC_CheckChild0Integer, 127|128,127|128,3,
20409 OPC_CheckChild0TypeI32,
20410 OPC_MoveParent,
20411 OPC_CheckType, MVT::v4i32,
20412 OPC_MoveParent,
20413 OPC_CheckType, MVT::v8i16,
20414 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20415 MVT::v8i16, 2, 16,
20416 42,
20417 OPC_MoveChild0,
20418 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20419 OPC_CheckChild0Integer, 0|128,0|128,126,
20420 OPC_CheckChild0TypeI32,
20421 OPC_MoveParent,
20422 OPC_RecordChild1,
20423 OPC_MoveSibling1,
20424 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20425 OPC_CheckChild0Integer, 127|128,127|128,1,
20426 OPC_CheckChild0TypeI32,
20427 OPC_MoveParent,
20428 OPC_MoveSibling1,
20429 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20430 OPC_CheckChild0Integer, 127|128,127|128,3,
20431 OPC_CheckChild0TypeI32,
20432 OPC_MoveParent,
20433 OPC_CheckType, MVT::v4i32,
20434 OPC_MoveParent,
20435 OPC_CheckType, MVT::v8i16,
20436 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20437 MVT::v8i16, 2, 16,
20438 0,
20439 79, TARGET_VAL(ISD::SPLAT_VECTOR),
20440 OPC_CheckChild0Integer, 127|128,127|128,1,
20441 OPC_CheckChild0TypeI32,
20442 OPC_MoveSibling1,
20443 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20444 OPC_Scope, 33,
20445 OPC_RecordChild0,
20446 OPC_MoveChild1,
20447 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20448 OPC_CheckChild0Integer, 0|128,0|128,126,
20449 OPC_CheckChild0TypeI32,
20450 OPC_MoveParent,
20451 OPC_MoveParent,
20452 OPC_MoveSibling1,
20453 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20454 OPC_CheckChild0Integer, 127|128,127|128,3,
20455 OPC_CheckChild0TypeI32,
20456 OPC_MoveParent,
20457 OPC_CheckType, MVT::v4i32,
20458 OPC_MoveParent,
20459 OPC_CheckType, MVT::v8i16,
20460 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20461 MVT::v8i16, 2, 16,
20462 33,
20463 OPC_MoveChild0,
20464 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20465 OPC_CheckChild0Integer, 0|128,0|128,126,
20466 OPC_CheckChild0TypeI32,
20467 OPC_MoveParent,
20468 OPC_RecordChild1,
20469 OPC_MoveParent,
20470 OPC_MoveSibling1,
20471 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20472 OPC_CheckChild0Integer, 127|128,127|128,3,
20473 OPC_CheckChild0TypeI32,
20474 OPC_MoveParent,
20475 OPC_CheckType, MVT::v4i32,
20476 OPC_MoveParent,
20477 OPC_CheckType, MVT::v8i16,
20478 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20479 MVT::v8i16, 2, 16,
20480 0,
20481 0,
20482 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20483 OPC_CheckChild0Integer, 127|128,127|128,3,
20484 OPC_CheckChild0TypeI32,
20485 OPC_MoveSibling1,
20486 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20487 OPC_MoveChild0,
20488 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
20489 OPC_Scope, 33,
20490 OPC_RecordChild0,
20491 OPC_MoveChild1,
20492 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20493 OPC_CheckChild0Integer, 0|128,0|128,126,
20494 OPC_CheckChild0TypeI32,
20495 OPC_MoveParent,
20496 OPC_MoveSibling1,
20497 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20498 OPC_CheckChild0Integer, 127|128,127|128,1,
20499 OPC_CheckChild0TypeI32,
20500 OPC_MoveParent,
20501 OPC_MoveParent,
20502 OPC_CheckType, MVT::v4i32,
20503 OPC_MoveParent,
20504 OPC_CheckType, MVT::v8i16,
20505 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20506 MVT::v8i16, 2, 16,
20507 33,
20508 OPC_MoveChild0,
20509 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20510 OPC_CheckChild0Integer, 0|128,0|128,126,
20511 OPC_CheckChild0TypeI32,
20512 OPC_MoveParent,
20513 OPC_RecordChild1,
20514 OPC_MoveSibling1,
20515 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20516 OPC_CheckChild0Integer, 127|128,127|128,1,
20517 OPC_CheckChild0TypeI32,
20518 OPC_MoveParent,
20519 OPC_MoveParent,
20520 OPC_CheckType, MVT::v4i32,
20521 OPC_MoveParent,
20522 OPC_CheckType, MVT::v8i16,
20523 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20524 MVT::v8i16, 2, 16,
20525 0,
20526 61, TARGET_VAL(ISD::SPLAT_VECTOR),
20527 OPC_CheckChild0Integer, 127|128,127|128,1,
20528 OPC_CheckChild0TypeI32,
20529 OPC_MoveSibling1,
20530 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20531 OPC_Scope, 24,
20532 OPC_RecordChild0,
20533 OPC_MoveChild1,
20534 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20535 OPC_CheckChild0Integer, 0|128,0|128,126,
20536 OPC_CheckChild0TypeI32,
20537 OPC_MoveParent,
20538 OPC_MoveParent,
20539 OPC_MoveParent,
20540 OPC_CheckType, MVT::v4i32,
20541 OPC_MoveParent,
20542 OPC_CheckType, MVT::v8i16,
20543 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20544 MVT::v8i16, 2, 16,
20545 24,
20546 OPC_MoveChild0,
20547 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20548 OPC_CheckChild0Integer, 0|128,0|128,126,
20549 OPC_CheckChild0TypeI32,
20550 OPC_MoveParent,
20551 OPC_RecordChild1,
20552 OPC_MoveParent,
20553 OPC_MoveParent,
20554 OPC_CheckType, MVT::v4i32,
20555 OPC_MoveParent,
20556 OPC_CheckType, MVT::v8i16,
20557 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20558 MVT::v8i16, 2, 16,
20559 0,
20560 0,
20561 0,
20562 108|128,2,
20563 OPC_MoveChild0,
20564 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20565 OPC_CheckChild0Integer, 0|128,0|128,126,
20566 OPC_CheckChild0TypeI32,
20567 OPC_MoveParent,
20568 OPC_RecordChild1,
20569 OPC_MoveSibling1,
20570 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20571 OPC_CheckChild0Integer, 127|128,127|128,1,
20572 OPC_CheckChild0TypeI32,
20573 OPC_MoveParent,
20574 OPC_MoveParent,
20575 OPC_CheckType, MVT::v4i32,
20576 OPC_MoveSibling1,
20577 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20578 OPC_MoveChild0,
20579 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
20580 OPC_MoveChild0,
20581 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
20582 OPC_Scope, 42,
20583 OPC_RecordChild0,
20584 OPC_MoveChild1,
20585 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20586 OPC_CheckChild0Integer, 0|128,0|128,126,
20587 OPC_CheckChild0TypeI32,
20588 OPC_MoveParent,
20589 OPC_MoveSibling1,
20590 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20591 OPC_CheckChild0Integer, 127|128,127|128,1,
20592 OPC_CheckChild0TypeI32,
20593 OPC_MoveParent,
20594 OPC_MoveSibling1,
20595 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20596 OPC_CheckChild0Integer, 127|128,127|128,3,
20597 OPC_CheckChild0TypeI32,
20598 OPC_MoveParent,
20599 OPC_CheckType, MVT::v4i32,
20600 OPC_MoveParent,
20601 OPC_CheckType, MVT::v8i16,
20602 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20603 MVT::v8i16, 2, 16,
20604 42,
20605 OPC_MoveChild0,
20606 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20607 OPC_CheckChild0Integer, 0|128,0|128,126,
20608 OPC_CheckChild0TypeI32,
20609 OPC_MoveParent,
20610 OPC_RecordChild1,
20611 OPC_MoveSibling1,
20612 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20613 OPC_CheckChild0Integer, 127|128,127|128,1,
20614 OPC_CheckChild0TypeI32,
20615 OPC_MoveParent,
20616 OPC_MoveSibling1,
20617 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20618 OPC_CheckChild0Integer, 127|128,127|128,3,
20619 OPC_CheckChild0TypeI32,
20620 OPC_MoveParent,
20621 OPC_CheckType, MVT::v4i32,
20622 OPC_MoveParent,
20623 OPC_CheckType, MVT::v8i16,
20624 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20625 MVT::v8i16, 2, 16,
20626 0,
20627 79, TARGET_VAL(ISD::SPLAT_VECTOR),
20628 OPC_CheckChild0Integer, 127|128,127|128,1,
20629 OPC_CheckChild0TypeI32,
20630 OPC_MoveSibling1,
20631 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20632 OPC_Scope, 33,
20633 OPC_RecordChild0,
20634 OPC_MoveChild1,
20635 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20636 OPC_CheckChild0Integer, 0|128,0|128,126,
20637 OPC_CheckChild0TypeI32,
20638 OPC_MoveParent,
20639 OPC_MoveParent,
20640 OPC_MoveSibling1,
20641 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20642 OPC_CheckChild0Integer, 127|128,127|128,3,
20643 OPC_CheckChild0TypeI32,
20644 OPC_MoveParent,
20645 OPC_CheckType, MVT::v4i32,
20646 OPC_MoveParent,
20647 OPC_CheckType, MVT::v8i16,
20648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20649 MVT::v8i16, 2, 16,
20650 33,
20651 OPC_MoveChild0,
20652 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20653 OPC_CheckChild0Integer, 0|128,0|128,126,
20654 OPC_CheckChild0TypeI32,
20655 OPC_MoveParent,
20656 OPC_RecordChild1,
20657 OPC_MoveParent,
20658 OPC_MoveSibling1,
20659 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20660 OPC_CheckChild0Integer, 127|128,127|128,3,
20661 OPC_CheckChild0TypeI32,
20662 OPC_MoveParent,
20663 OPC_CheckType, MVT::v4i32,
20664 OPC_MoveParent,
20665 OPC_CheckType, MVT::v8i16,
20666 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20667 MVT::v8i16, 2, 16,
20668 0,
20669 0,
20670 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20671 OPC_CheckChild0Integer, 127|128,127|128,3,
20672 OPC_CheckChild0TypeI32,
20673 OPC_MoveSibling1,
20674 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20675 OPC_MoveChild0,
20676 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
20677 OPC_Scope, 33,
20678 OPC_RecordChild0,
20679 OPC_MoveChild1,
20680 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20681 OPC_CheckChild0Integer, 0|128,0|128,126,
20682 OPC_CheckChild0TypeI32,
20683 OPC_MoveParent,
20684 OPC_MoveSibling1,
20685 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20686 OPC_CheckChild0Integer, 127|128,127|128,1,
20687 OPC_CheckChild0TypeI32,
20688 OPC_MoveParent,
20689 OPC_MoveParent,
20690 OPC_CheckType, MVT::v4i32,
20691 OPC_MoveParent,
20692 OPC_CheckType, MVT::v8i16,
20693 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20694 MVT::v8i16, 2, 16,
20695 33,
20696 OPC_MoveChild0,
20697 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20698 OPC_CheckChild0Integer, 0|128,0|128,126,
20699 OPC_CheckChild0TypeI32,
20700 OPC_MoveParent,
20701 OPC_RecordChild1,
20702 OPC_MoveSibling1,
20703 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20704 OPC_CheckChild0Integer, 127|128,127|128,1,
20705 OPC_CheckChild0TypeI32,
20706 OPC_MoveParent,
20707 OPC_MoveParent,
20708 OPC_CheckType, MVT::v4i32,
20709 OPC_MoveParent,
20710 OPC_CheckType, MVT::v8i16,
20711 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20712 MVT::v8i16, 2, 16,
20713 0,
20714 61, TARGET_VAL(ISD::SPLAT_VECTOR),
20715 OPC_CheckChild0Integer, 127|128,127|128,1,
20716 OPC_CheckChild0TypeI32,
20717 OPC_MoveSibling1,
20718 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20719 OPC_Scope, 24,
20720 OPC_RecordChild0,
20721 OPC_MoveChild1,
20722 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20723 OPC_CheckChild0Integer, 0|128,0|128,126,
20724 OPC_CheckChild0TypeI32,
20725 OPC_MoveParent,
20726 OPC_MoveParent,
20727 OPC_MoveParent,
20728 OPC_CheckType, MVT::v4i32,
20729 OPC_MoveParent,
20730 OPC_CheckType, MVT::v8i16,
20731 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20732 MVT::v8i16, 2, 16,
20733 24,
20734 OPC_MoveChild0,
20735 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20736 OPC_CheckChild0Integer, 0|128,0|128,126,
20737 OPC_CheckChild0TypeI32,
20738 OPC_MoveParent,
20739 OPC_RecordChild1,
20740 OPC_MoveParent,
20741 OPC_MoveParent,
20742 OPC_CheckType, MVT::v4i32,
20743 OPC_MoveParent,
20744 OPC_CheckType, MVT::v8i16,
20745 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20746 MVT::v8i16, 2, 16,
20747 0,
20748 0,
20749 0,
20750 0,
20751 85|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
20752 OPC_CheckChild0Integer, 127|128,127|128,1,
20753 OPC_CheckChild0TypeI32,
20754 OPC_MoveSibling1,
20755 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20756 OPC_Scope, 99|128,2,
20757 OPC_RecordChild0,
20758 OPC_MoveChild1,
20759 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20760 OPC_CheckChild0Integer, 0|128,0|128,126,
20761 OPC_CheckChild0TypeI32,
20762 OPC_MoveParent,
20763 OPC_MoveParent,
20764 OPC_MoveParent,
20765 OPC_CheckType, MVT::v4i32,
20766 OPC_MoveSibling1,
20767 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20768 OPC_MoveChild0,
20769 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
20770 OPC_MoveChild0,
20771 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
20772 OPC_Scope, 42,
20773 OPC_RecordChild0,
20774 OPC_MoveChild1,
20775 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20776 OPC_CheckChild0Integer, 0|128,0|128,126,
20777 OPC_CheckChild0TypeI32,
20778 OPC_MoveParent,
20779 OPC_MoveSibling1,
20780 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20781 OPC_CheckChild0Integer, 127|128,127|128,1,
20782 OPC_CheckChild0TypeI32,
20783 OPC_MoveParent,
20784 OPC_MoveSibling1,
20785 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20786 OPC_CheckChild0Integer, 127|128,127|128,3,
20787 OPC_CheckChild0TypeI32,
20788 OPC_MoveParent,
20789 OPC_CheckType, MVT::v4i32,
20790 OPC_MoveParent,
20791 OPC_CheckType, MVT::v8i16,
20792 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20793 MVT::v8i16, 2, 16,
20794 42,
20795 OPC_MoveChild0,
20796 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20797 OPC_CheckChild0Integer, 0|128,0|128,126,
20798 OPC_CheckChild0TypeI32,
20799 OPC_MoveParent,
20800 OPC_RecordChild1,
20801 OPC_MoveSibling1,
20802 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20803 OPC_CheckChild0Integer, 127|128,127|128,1,
20804 OPC_CheckChild0TypeI32,
20805 OPC_MoveParent,
20806 OPC_MoveSibling1,
20807 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20808 OPC_CheckChild0Integer, 127|128,127|128,3,
20809 OPC_CheckChild0TypeI32,
20810 OPC_MoveParent,
20811 OPC_CheckType, MVT::v4i32,
20812 OPC_MoveParent,
20813 OPC_CheckType, MVT::v8i16,
20814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20815 MVT::v8i16, 2, 16,
20816 0,
20817 79, TARGET_VAL(ISD::SPLAT_VECTOR),
20818 OPC_CheckChild0Integer, 127|128,127|128,1,
20819 OPC_CheckChild0TypeI32,
20820 OPC_MoveSibling1,
20821 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20822 OPC_Scope, 33,
20823 OPC_RecordChild0,
20824 OPC_MoveChild1,
20825 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20826 OPC_CheckChild0Integer, 0|128,0|128,126,
20827 OPC_CheckChild0TypeI32,
20828 OPC_MoveParent,
20829 OPC_MoveParent,
20830 OPC_MoveSibling1,
20831 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20832 OPC_CheckChild0Integer, 127|128,127|128,3,
20833 OPC_CheckChild0TypeI32,
20834 OPC_MoveParent,
20835 OPC_CheckType, MVT::v4i32,
20836 OPC_MoveParent,
20837 OPC_CheckType, MVT::v8i16,
20838 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20839 MVT::v8i16, 2, 16,
20840 33,
20841 OPC_MoveChild0,
20842 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20843 OPC_CheckChild0Integer, 0|128,0|128,126,
20844 OPC_CheckChild0TypeI32,
20845 OPC_MoveParent,
20846 OPC_RecordChild1,
20847 OPC_MoveParent,
20848 OPC_MoveSibling1,
20849 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20850 OPC_CheckChild0Integer, 127|128,127|128,3,
20851 OPC_CheckChild0TypeI32,
20852 OPC_MoveParent,
20853 OPC_CheckType, MVT::v4i32,
20854 OPC_MoveParent,
20855 OPC_CheckType, MVT::v8i16,
20856 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20857 MVT::v8i16, 2, 16,
20858 0,
20859 0,
20860 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20861 OPC_CheckChild0Integer, 127|128,127|128,3,
20862 OPC_CheckChild0TypeI32,
20863 OPC_MoveSibling1,
20864 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20865 OPC_MoveChild0,
20866 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
20867 OPC_Scope, 33,
20868 OPC_RecordChild0,
20869 OPC_MoveChild1,
20870 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20871 OPC_CheckChild0Integer, 0|128,0|128,126,
20872 OPC_CheckChild0TypeI32,
20873 OPC_MoveParent,
20874 OPC_MoveSibling1,
20875 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20876 OPC_CheckChild0Integer, 127|128,127|128,1,
20877 OPC_CheckChild0TypeI32,
20878 OPC_MoveParent,
20879 OPC_MoveParent,
20880 OPC_CheckType, MVT::v4i32,
20881 OPC_MoveParent,
20882 OPC_CheckType, MVT::v8i16,
20883 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20884 MVT::v8i16, 2, 16,
20885 33,
20886 OPC_MoveChild0,
20887 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20888 OPC_CheckChild0Integer, 0|128,0|128,126,
20889 OPC_CheckChild0TypeI32,
20890 OPC_MoveParent,
20891 OPC_RecordChild1,
20892 OPC_MoveSibling1,
20893 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20894 OPC_CheckChild0Integer, 127|128,127|128,1,
20895 OPC_CheckChild0TypeI32,
20896 OPC_MoveParent,
20897 OPC_MoveParent,
20898 OPC_CheckType, MVT::v4i32,
20899 OPC_MoveParent,
20900 OPC_CheckType, MVT::v8i16,
20901 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20902 MVT::v8i16, 2, 16,
20903 0,
20904 61, TARGET_VAL(ISD::SPLAT_VECTOR),
20905 OPC_CheckChild0Integer, 127|128,127|128,1,
20906 OPC_CheckChild0TypeI32,
20907 OPC_MoveSibling1,
20908 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20909 OPC_Scope, 24,
20910 OPC_RecordChild0,
20911 OPC_MoveChild1,
20912 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20913 OPC_CheckChild0Integer, 0|128,0|128,126,
20914 OPC_CheckChild0TypeI32,
20915 OPC_MoveParent,
20916 OPC_MoveParent,
20917 OPC_MoveParent,
20918 OPC_CheckType, MVT::v4i32,
20919 OPC_MoveParent,
20920 OPC_CheckType, MVT::v8i16,
20921 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20922 MVT::v8i16, 2, 16,
20923 24,
20924 OPC_MoveChild0,
20925 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20926 OPC_CheckChild0Integer, 0|128,0|128,126,
20927 OPC_CheckChild0TypeI32,
20928 OPC_MoveParent,
20929 OPC_RecordChild1,
20930 OPC_MoveParent,
20931 OPC_MoveParent,
20932 OPC_CheckType, MVT::v4i32,
20933 OPC_MoveParent,
20934 OPC_CheckType, MVT::v8i16,
20935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20936 MVT::v8i16, 2, 16,
20937 0,
20938 0,
20939 0,
20940 99|128,2,
20941 OPC_MoveChild0,
20942 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20943 OPC_CheckChild0Integer, 0|128,0|128,126,
20944 OPC_CheckChild0TypeI32,
20945 OPC_MoveParent,
20946 OPC_RecordChild1,
20947 OPC_MoveParent,
20948 OPC_MoveParent,
20949 OPC_CheckType, MVT::v4i32,
20950 OPC_MoveSibling1,
20951 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20952 OPC_MoveChild0,
20953 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMIN),
20954 OPC_MoveChild0,
20955 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMAX),
20956 OPC_Scope, 42,
20957 OPC_RecordChild0,
20958 OPC_MoveChild1,
20959 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20960 OPC_CheckChild0Integer, 0|128,0|128,126,
20961 OPC_CheckChild0TypeI32,
20962 OPC_MoveParent,
20963 OPC_MoveSibling1,
20964 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20965 OPC_CheckChild0Integer, 127|128,127|128,1,
20966 OPC_CheckChild0TypeI32,
20967 OPC_MoveParent,
20968 OPC_MoveSibling1,
20969 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20970 OPC_CheckChild0Integer, 127|128,127|128,3,
20971 OPC_CheckChild0TypeI32,
20972 OPC_MoveParent,
20973 OPC_CheckType, MVT::v4i32,
20974 OPC_MoveParent,
20975 OPC_CheckType, MVT::v8i16,
20976 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20977 MVT::v8i16, 2, 16,
20978 42,
20979 OPC_MoveChild0,
20980 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20981 OPC_CheckChild0Integer, 0|128,0|128,126,
20982 OPC_CheckChild0TypeI32,
20983 OPC_MoveParent,
20984 OPC_RecordChild1,
20985 OPC_MoveSibling1,
20986 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20987 OPC_CheckChild0Integer, 127|128,127|128,1,
20988 OPC_CheckChild0TypeI32,
20989 OPC_MoveParent,
20990 OPC_MoveSibling1,
20991 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20992 OPC_CheckChild0Integer, 127|128,127|128,3,
20993 OPC_CheckChild0TypeI32,
20994 OPC_MoveParent,
20995 OPC_CheckType, MVT::v4i32,
20996 OPC_MoveParent,
20997 OPC_CheckType, MVT::v8i16,
20998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20999 MVT::v8i16, 2, 16,
21000 0,
21001 79, TARGET_VAL(ISD::SPLAT_VECTOR),
21002 OPC_CheckChild0Integer, 127|128,127|128,1,
21003 OPC_CheckChild0TypeI32,
21004 OPC_MoveSibling1,
21005 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21006 OPC_Scope, 33,
21007 OPC_RecordChild0,
21008 OPC_MoveChild1,
21009 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21010 OPC_CheckChild0Integer, 0|128,0|128,126,
21011 OPC_CheckChild0TypeI32,
21012 OPC_MoveParent,
21013 OPC_MoveParent,
21014 OPC_MoveSibling1,
21015 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21016 OPC_CheckChild0Integer, 127|128,127|128,3,
21017 OPC_CheckChild0TypeI32,
21018 OPC_MoveParent,
21019 OPC_CheckType, MVT::v4i32,
21020 OPC_MoveParent,
21021 OPC_CheckType, MVT::v8i16,
21022 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21023 MVT::v8i16, 2, 16,
21024 33,
21025 OPC_MoveChild0,
21026 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21027 OPC_CheckChild0Integer, 0|128,0|128,126,
21028 OPC_CheckChild0TypeI32,
21029 OPC_MoveParent,
21030 OPC_RecordChild1,
21031 OPC_MoveParent,
21032 OPC_MoveSibling1,
21033 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21034 OPC_CheckChild0Integer, 127|128,127|128,3,
21035 OPC_CheckChild0TypeI32,
21036 OPC_MoveParent,
21037 OPC_CheckType, MVT::v4i32,
21038 OPC_MoveParent,
21039 OPC_CheckType, MVT::v8i16,
21040 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21041 MVT::v8i16, 2, 16,
21042 0,
21043 0,
21044 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
21045 OPC_CheckChild0Integer, 127|128,127|128,3,
21046 OPC_CheckChild0TypeI32,
21047 OPC_MoveSibling1,
21048 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21049 OPC_MoveChild0,
21050 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMAX),
21051 OPC_Scope, 33,
21052 OPC_RecordChild0,
21053 OPC_MoveChild1,
21054 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21055 OPC_CheckChild0Integer, 0|128,0|128,126,
21056 OPC_CheckChild0TypeI32,
21057 OPC_MoveParent,
21058 OPC_MoveSibling1,
21059 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21060 OPC_CheckChild0Integer, 127|128,127|128,1,
21061 OPC_CheckChild0TypeI32,
21062 OPC_MoveParent,
21063 OPC_MoveParent,
21064 OPC_CheckType, MVT::v4i32,
21065 OPC_MoveParent,
21066 OPC_CheckType, MVT::v8i16,
21067 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21068 MVT::v8i16, 2, 16,
21069 33,
21070 OPC_MoveChild0,
21071 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21072 OPC_CheckChild0Integer, 0|128,0|128,126,
21073 OPC_CheckChild0TypeI32,
21074 OPC_MoveParent,
21075 OPC_RecordChild1,
21076 OPC_MoveSibling1,
21077 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21078 OPC_CheckChild0Integer, 127|128,127|128,1,
21079 OPC_CheckChild0TypeI32,
21080 OPC_MoveParent,
21081 OPC_MoveParent,
21082 OPC_CheckType, MVT::v4i32,
21083 OPC_MoveParent,
21084 OPC_CheckType, MVT::v8i16,
21085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21086 MVT::v8i16, 2, 16,
21087 0,
21088 61, TARGET_VAL(ISD::SPLAT_VECTOR),
21089 OPC_CheckChild0Integer, 127|128,127|128,1,
21090 OPC_CheckChild0TypeI32,
21091 OPC_MoveSibling1,
21092 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21093 OPC_Scope, 24,
21094 OPC_RecordChild0,
21095 OPC_MoveChild1,
21096 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21097 OPC_CheckChild0Integer, 0|128,0|128,126,
21098 OPC_CheckChild0TypeI32,
21099 OPC_MoveParent,
21100 OPC_MoveParent,
21101 OPC_MoveParent,
21102 OPC_CheckType, MVT::v4i32,
21103 OPC_MoveParent,
21104 OPC_CheckType, MVT::v8i16,
21105 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21106 MVT::v8i16, 2, 16,
21107 24,
21108 OPC_MoveChild0,
21109 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21110 OPC_CheckChild0Integer, 0|128,0|128,126,
21111 OPC_CheckChild0TypeI32,
21112 OPC_MoveParent,
21113 OPC_RecordChild1,
21114 OPC_MoveParent,
21115 OPC_MoveParent,
21116 OPC_CheckType, MVT::v4i32,
21117 OPC_MoveParent,
21118 OPC_CheckType, MVT::v8i16,
21119 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21120 MVT::v8i16, 2, 16,
21121 0,
21122 0,
21123 0,
21124 0,
21125 0,
21126 62|128,11, TARGET_VAL(ISD::SMAX),
21127 OPC_MoveChild0,
21128 OPC_SwitchOpcode , 94|128,5, TARGET_VAL(ISD::SMIN),
21129 OPC_Scope, 108|128,2,
21130 OPC_RecordChild0,
21131 OPC_MoveChild1,
21132 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21133 OPC_CheckChild0Integer, 127|128,127|128,1,
21134 OPC_CheckChild0TypeI32,
21135 OPC_MoveParent,
21136 OPC_MoveSibling1,
21137 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21138 OPC_CheckChild0Integer, 0|128,0|128,126,
21139 OPC_CheckChild0TypeI32,
21140 OPC_MoveParent,
21141 OPC_MoveParent,
21142 OPC_CheckType, MVT::v4i32,
21143 OPC_MoveSibling1,
21144 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21145 OPC_MoveChild0,
21146 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
21147 OPC_MoveChild0,
21148 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
21149 OPC_Scope, 42,
21150 OPC_RecordChild0,
21151 OPC_MoveChild1,
21152 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21153 OPC_CheckChild0Integer, 127|128,127|128,1,
21154 OPC_CheckChild0TypeI32,
21155 OPC_MoveParent,
21156 OPC_MoveSibling1,
21157 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21158 OPC_CheckChild0Integer, 0|128,0|128,126,
21159 OPC_CheckChild0TypeI32,
21160 OPC_MoveParent,
21161 OPC_MoveSibling1,
21162 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21163 OPC_CheckChild0Integer, 127|128,127|128,3,
21164 OPC_CheckChild0TypeI32,
21165 OPC_MoveParent,
21166 OPC_CheckType, MVT::v4i32,
21167 OPC_MoveParent,
21168 OPC_CheckType, MVT::v8i16,
21169 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21170 MVT::v8i16, 2, 16,
21171 42,
21172 OPC_MoveChild0,
21173 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21174 OPC_CheckChild0Integer, 127|128,127|128,1,
21175 OPC_CheckChild0TypeI32,
21176 OPC_MoveParent,
21177 OPC_RecordChild1,
21178 OPC_MoveSibling1,
21179 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21180 OPC_CheckChild0Integer, 0|128,0|128,126,
21181 OPC_CheckChild0TypeI32,
21182 OPC_MoveParent,
21183 OPC_MoveSibling1,
21184 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21185 OPC_CheckChild0Integer, 127|128,127|128,3,
21186 OPC_CheckChild0TypeI32,
21187 OPC_MoveParent,
21188 OPC_CheckType, MVT::v4i32,
21189 OPC_MoveParent,
21190 OPC_CheckType, MVT::v8i16,
21191 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21192 MVT::v8i16, 2, 16,
21193 0,
21194 79, TARGET_VAL(ISD::SPLAT_VECTOR),
21195 OPC_CheckChild0Integer, 0|128,0|128,126,
21196 OPC_CheckChild0TypeI32,
21197 OPC_MoveSibling1,
21198 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21199 OPC_Scope, 33,
21200 OPC_RecordChild0,
21201 OPC_MoveChild1,
21202 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21203 OPC_CheckChild0Integer, 127|128,127|128,1,
21204 OPC_CheckChild0TypeI32,
21205 OPC_MoveParent,
21206 OPC_MoveParent,
21207 OPC_MoveSibling1,
21208 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21209 OPC_CheckChild0Integer, 127|128,127|128,3,
21210 OPC_CheckChild0TypeI32,
21211 OPC_MoveParent,
21212 OPC_CheckType, MVT::v4i32,
21213 OPC_MoveParent,
21214 OPC_CheckType, MVT::v8i16,
21215 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21216 MVT::v8i16, 2, 16,
21217 33,
21218 OPC_MoveChild0,
21219 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21220 OPC_CheckChild0Integer, 127|128,127|128,1,
21221 OPC_CheckChild0TypeI32,
21222 OPC_MoveParent,
21223 OPC_RecordChild1,
21224 OPC_MoveParent,
21225 OPC_MoveSibling1,
21226 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21227 OPC_CheckChild0Integer, 127|128,127|128,3,
21228 OPC_CheckChild0TypeI32,
21229 OPC_MoveParent,
21230 OPC_CheckType, MVT::v4i32,
21231 OPC_MoveParent,
21232 OPC_CheckType, MVT::v8i16,
21233 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21234 MVT::v8i16, 2, 16,
21235 0,
21236 0,
21237 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
21238 OPC_CheckChild0Integer, 127|128,127|128,3,
21239 OPC_CheckChild0TypeI32,
21240 OPC_MoveSibling1,
21241 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21242 OPC_MoveChild0,
21243 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
21244 OPC_Scope, 33,
21245 OPC_RecordChild0,
21246 OPC_MoveChild1,
21247 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21248 OPC_CheckChild0Integer, 127|128,127|128,1,
21249 OPC_CheckChild0TypeI32,
21250 OPC_MoveParent,
21251 OPC_MoveSibling1,
21252 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21253 OPC_CheckChild0Integer, 0|128,0|128,126,
21254 OPC_CheckChild0TypeI32,
21255 OPC_MoveParent,
21256 OPC_MoveParent,
21257 OPC_CheckType, MVT::v4i32,
21258 OPC_MoveParent,
21259 OPC_CheckType, MVT::v8i16,
21260 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21261 MVT::v8i16, 2, 16,
21262 33,
21263 OPC_MoveChild0,
21264 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21265 OPC_CheckChild0Integer, 127|128,127|128,1,
21266 OPC_CheckChild0TypeI32,
21267 OPC_MoveParent,
21268 OPC_RecordChild1,
21269 OPC_MoveSibling1,
21270 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21271 OPC_CheckChild0Integer, 0|128,0|128,126,
21272 OPC_CheckChild0TypeI32,
21273 OPC_MoveParent,
21274 OPC_MoveParent,
21275 OPC_CheckType, MVT::v4i32,
21276 OPC_MoveParent,
21277 OPC_CheckType, MVT::v8i16,
21278 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21279 MVT::v8i16, 2, 16,
21280 0,
21281 61, TARGET_VAL(ISD::SPLAT_VECTOR),
21282 OPC_CheckChild0Integer, 0|128,0|128,126,
21283 OPC_CheckChild0TypeI32,
21284 OPC_MoveSibling1,
21285 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21286 OPC_Scope, 24,
21287 OPC_RecordChild0,
21288 OPC_MoveChild1,
21289 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21290 OPC_CheckChild0Integer, 127|128,127|128,1,
21291 OPC_CheckChild0TypeI32,
21292 OPC_MoveParent,
21293 OPC_MoveParent,
21294 OPC_MoveParent,
21295 OPC_CheckType, MVT::v4i32,
21296 OPC_MoveParent,
21297 OPC_CheckType, MVT::v8i16,
21298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21299 MVT::v8i16, 2, 16,
21300 24,
21301 OPC_MoveChild0,
21302 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21303 OPC_CheckChild0Integer, 127|128,127|128,1,
21304 OPC_CheckChild0TypeI32,
21305 OPC_MoveParent,
21306 OPC_RecordChild1,
21307 OPC_MoveParent,
21308 OPC_MoveParent,
21309 OPC_CheckType, MVT::v4i32,
21310 OPC_MoveParent,
21311 OPC_CheckType, MVT::v8i16,
21312 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21313 MVT::v8i16, 2, 16,
21314 0,
21315 0,
21316 0,
21317 108|128,2,
21318 OPC_MoveChild0,
21319 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21320 OPC_CheckChild0Integer, 127|128,127|128,1,
21321 OPC_CheckChild0TypeI32,
21322 OPC_MoveParent,
21323 OPC_RecordChild1,
21324 OPC_MoveSibling1,
21325 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21326 OPC_CheckChild0Integer, 0|128,0|128,126,
21327 OPC_CheckChild0TypeI32,
21328 OPC_MoveParent,
21329 OPC_MoveParent,
21330 OPC_CheckType, MVT::v4i32,
21331 OPC_MoveSibling1,
21332 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21333 OPC_MoveChild0,
21334 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
21335 OPC_MoveChild0,
21336 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
21337 OPC_Scope, 42,
21338 OPC_RecordChild0,
21339 OPC_MoveChild1,
21340 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21341 OPC_CheckChild0Integer, 127|128,127|128,1,
21342 OPC_CheckChild0TypeI32,
21343 OPC_MoveParent,
21344 OPC_MoveSibling1,
21345 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21346 OPC_CheckChild0Integer, 0|128,0|128,126,
21347 OPC_CheckChild0TypeI32,
21348 OPC_MoveParent,
21349 OPC_MoveSibling1,
21350 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21351 OPC_CheckChild0Integer, 127|128,127|128,3,
21352 OPC_CheckChild0TypeI32,
21353 OPC_MoveParent,
21354 OPC_CheckType, MVT::v4i32,
21355 OPC_MoveParent,
21356 OPC_CheckType, MVT::v8i16,
21357 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21358 MVT::v8i16, 2, 16,
21359 42,
21360 OPC_MoveChild0,
21361 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21362 OPC_CheckChild0Integer, 127|128,127|128,1,
21363 OPC_CheckChild0TypeI32,
21364 OPC_MoveParent,
21365 OPC_RecordChild1,
21366 OPC_MoveSibling1,
21367 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21368 OPC_CheckChild0Integer, 0|128,0|128,126,
21369 OPC_CheckChild0TypeI32,
21370 OPC_MoveParent,
21371 OPC_MoveSibling1,
21372 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21373 OPC_CheckChild0Integer, 127|128,127|128,3,
21374 OPC_CheckChild0TypeI32,
21375 OPC_MoveParent,
21376 OPC_CheckType, MVT::v4i32,
21377 OPC_MoveParent,
21378 OPC_CheckType, MVT::v8i16,
21379 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21380 MVT::v8i16, 2, 16,
21381 0,
21382 79, TARGET_VAL(ISD::SPLAT_VECTOR),
21383 OPC_CheckChild0Integer, 0|128,0|128,126,
21384 OPC_CheckChild0TypeI32,
21385 OPC_MoveSibling1,
21386 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21387 OPC_Scope, 33,
21388 OPC_RecordChild0,
21389 OPC_MoveChild1,
21390 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21391 OPC_CheckChild0Integer, 127|128,127|128,1,
21392 OPC_CheckChild0TypeI32,
21393 OPC_MoveParent,
21394 OPC_MoveParent,
21395 OPC_MoveSibling1,
21396 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21397 OPC_CheckChild0Integer, 127|128,127|128,3,
21398 OPC_CheckChild0TypeI32,
21399 OPC_MoveParent,
21400 OPC_CheckType, MVT::v4i32,
21401 OPC_MoveParent,
21402 OPC_CheckType, MVT::v8i16,
21403 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21404 MVT::v8i16, 2, 16,
21405 33,
21406 OPC_MoveChild0,
21407 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21408 OPC_CheckChild0Integer, 127|128,127|128,1,
21409 OPC_CheckChild0TypeI32,
21410 OPC_MoveParent,
21411 OPC_RecordChild1,
21412 OPC_MoveParent,
21413 OPC_MoveSibling1,
21414 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21415 OPC_CheckChild0Integer, 127|128,127|128,3,
21416 OPC_CheckChild0TypeI32,
21417 OPC_MoveParent,
21418 OPC_CheckType, MVT::v4i32,
21419 OPC_MoveParent,
21420 OPC_CheckType, MVT::v8i16,
21421 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21422 MVT::v8i16, 2, 16,
21423 0,
21424 0,
21425 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
21426 OPC_CheckChild0Integer, 127|128,127|128,3,
21427 OPC_CheckChild0TypeI32,
21428 OPC_MoveSibling1,
21429 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21430 OPC_MoveChild0,
21431 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
21432 OPC_Scope, 33,
21433 OPC_RecordChild0,
21434 OPC_MoveChild1,
21435 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21436 OPC_CheckChild0Integer, 127|128,127|128,1,
21437 OPC_CheckChild0TypeI32,
21438 OPC_MoveParent,
21439 OPC_MoveSibling1,
21440 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21441 OPC_CheckChild0Integer, 0|128,0|128,126,
21442 OPC_CheckChild0TypeI32,
21443 OPC_MoveParent,
21444 OPC_MoveParent,
21445 OPC_CheckType, MVT::v4i32,
21446 OPC_MoveParent,
21447 OPC_CheckType, MVT::v8i16,
21448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21449 MVT::v8i16, 2, 16,
21450 33,
21451 OPC_MoveChild0,
21452 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21453 OPC_CheckChild0Integer, 127|128,127|128,1,
21454 OPC_CheckChild0TypeI32,
21455 OPC_MoveParent,
21456 OPC_RecordChild1,
21457 OPC_MoveSibling1,
21458 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21459 OPC_CheckChild0Integer, 0|128,0|128,126,
21460 OPC_CheckChild0TypeI32,
21461 OPC_MoveParent,
21462 OPC_MoveParent,
21463 OPC_CheckType, MVT::v4i32,
21464 OPC_MoveParent,
21465 OPC_CheckType, MVT::v8i16,
21466 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21467 MVT::v8i16, 2, 16,
21468 0,
21469 61, TARGET_VAL(ISD::SPLAT_VECTOR),
21470 OPC_CheckChild0Integer, 0|128,0|128,126,
21471 OPC_CheckChild0TypeI32,
21472 OPC_MoveSibling1,
21473 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21474 OPC_Scope, 24,
21475 OPC_RecordChild0,
21476 OPC_MoveChild1,
21477 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21478 OPC_CheckChild0Integer, 127|128,127|128,1,
21479 OPC_CheckChild0TypeI32,
21480 OPC_MoveParent,
21481 OPC_MoveParent,
21482 OPC_MoveParent,
21483 OPC_CheckType, MVT::v4i32,
21484 OPC_MoveParent,
21485 OPC_CheckType, MVT::v8i16,
21486 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21487 MVT::v8i16, 2, 16,
21488 24,
21489 OPC_MoveChild0,
21490 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21491 OPC_CheckChild0Integer, 127|128,127|128,1,
21492 OPC_CheckChild0TypeI32,
21493 OPC_MoveParent,
21494 OPC_RecordChild1,
21495 OPC_MoveParent,
21496 OPC_MoveParent,
21497 OPC_CheckType, MVT::v4i32,
21498 OPC_MoveParent,
21499 OPC_CheckType, MVT::v8i16,
21500 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21501 MVT::v8i16, 2, 16,
21502 0,
21503 0,
21504 0,
21505 0,
21506 85|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
21507 OPC_CheckChild0Integer, 0|128,0|128,126,
21508 OPC_CheckChild0TypeI32,
21509 OPC_MoveSibling1,
21510 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21511 OPC_Scope, 99|128,2,
21512 OPC_RecordChild0,
21513 OPC_MoveChild1,
21514 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21515 OPC_CheckChild0Integer, 127|128,127|128,1,
21516 OPC_CheckChild0TypeI32,
21517 OPC_MoveParent,
21518 OPC_MoveParent,
21519 OPC_MoveParent,
21520 OPC_CheckType, MVT::v4i32,
21521 OPC_MoveSibling1,
21522 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21523 OPC_MoveChild0,
21524 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
21525 OPC_MoveChild0,
21526 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
21527 OPC_Scope, 42,
21528 OPC_RecordChild0,
21529 OPC_MoveChild1,
21530 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21531 OPC_CheckChild0Integer, 127|128,127|128,1,
21532 OPC_CheckChild0TypeI32,
21533 OPC_MoveParent,
21534 OPC_MoveSibling1,
21535 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21536 OPC_CheckChild0Integer, 0|128,0|128,126,
21537 OPC_CheckChild0TypeI32,
21538 OPC_MoveParent,
21539 OPC_MoveSibling1,
21540 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21541 OPC_CheckChild0Integer, 127|128,127|128,3,
21542 OPC_CheckChild0TypeI32,
21543 OPC_MoveParent,
21544 OPC_CheckType, MVT::v4i32,
21545 OPC_MoveParent,
21546 OPC_CheckType, MVT::v8i16,
21547 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21548 MVT::v8i16, 2, 16,
21549 42,
21550 OPC_MoveChild0,
21551 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21552 OPC_CheckChild0Integer, 127|128,127|128,1,
21553 OPC_CheckChild0TypeI32,
21554 OPC_MoveParent,
21555 OPC_RecordChild1,
21556 OPC_MoveSibling1,
21557 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21558 OPC_CheckChild0Integer, 0|128,0|128,126,
21559 OPC_CheckChild0TypeI32,
21560 OPC_MoveParent,
21561 OPC_MoveSibling1,
21562 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21563 OPC_CheckChild0Integer, 127|128,127|128,3,
21564 OPC_CheckChild0TypeI32,
21565 OPC_MoveParent,
21566 OPC_CheckType, MVT::v4i32,
21567 OPC_MoveParent,
21568 OPC_CheckType, MVT::v8i16,
21569 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21570 MVT::v8i16, 2, 16,
21571 0,
21572 79, TARGET_VAL(ISD::SPLAT_VECTOR),
21573 OPC_CheckChild0Integer, 0|128,0|128,126,
21574 OPC_CheckChild0TypeI32,
21575 OPC_MoveSibling1,
21576 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21577 OPC_Scope, 33,
21578 OPC_RecordChild0,
21579 OPC_MoveChild1,
21580 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21581 OPC_CheckChild0Integer, 127|128,127|128,1,
21582 OPC_CheckChild0TypeI32,
21583 OPC_MoveParent,
21584 OPC_MoveParent,
21585 OPC_MoveSibling1,
21586 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21587 OPC_CheckChild0Integer, 127|128,127|128,3,
21588 OPC_CheckChild0TypeI32,
21589 OPC_MoveParent,
21590 OPC_CheckType, MVT::v4i32,
21591 OPC_MoveParent,
21592 OPC_CheckType, MVT::v8i16,
21593 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21594 MVT::v8i16, 2, 16,
21595 33,
21596 OPC_MoveChild0,
21597 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21598 OPC_CheckChild0Integer, 127|128,127|128,1,
21599 OPC_CheckChild0TypeI32,
21600 OPC_MoveParent,
21601 OPC_RecordChild1,
21602 OPC_MoveParent,
21603 OPC_MoveSibling1,
21604 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21605 OPC_CheckChild0Integer, 127|128,127|128,3,
21606 OPC_CheckChild0TypeI32,
21607 OPC_MoveParent,
21608 OPC_CheckType, MVT::v4i32,
21609 OPC_MoveParent,
21610 OPC_CheckType, MVT::v8i16,
21611 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21612 MVT::v8i16, 2, 16,
21613 0,
21614 0,
21615 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
21616 OPC_CheckChild0Integer, 127|128,127|128,3,
21617 OPC_CheckChild0TypeI32,
21618 OPC_MoveSibling1,
21619 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21620 OPC_MoveChild0,
21621 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
21622 OPC_Scope, 33,
21623 OPC_RecordChild0,
21624 OPC_MoveChild1,
21625 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21626 OPC_CheckChild0Integer, 127|128,127|128,1,
21627 OPC_CheckChild0TypeI32,
21628 OPC_MoveParent,
21629 OPC_MoveSibling1,
21630 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21631 OPC_CheckChild0Integer, 0|128,0|128,126,
21632 OPC_CheckChild0TypeI32,
21633 OPC_MoveParent,
21634 OPC_MoveParent,
21635 OPC_CheckType, MVT::v4i32,
21636 OPC_MoveParent,
21637 OPC_CheckType, MVT::v8i16,
21638 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21639 MVT::v8i16, 2, 16,
21640 33,
21641 OPC_MoveChild0,
21642 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21643 OPC_CheckChild0Integer, 127|128,127|128,1,
21644 OPC_CheckChild0TypeI32,
21645 OPC_MoveParent,
21646 OPC_RecordChild1,
21647 OPC_MoveSibling1,
21648 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21649 OPC_CheckChild0Integer, 0|128,0|128,126,
21650 OPC_CheckChild0TypeI32,
21651 OPC_MoveParent,
21652 OPC_MoveParent,
21653 OPC_CheckType, MVT::v4i32,
21654 OPC_MoveParent,
21655 OPC_CheckType, MVT::v8i16,
21656 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21657 MVT::v8i16, 2, 16,
21658 0,
21659 61, TARGET_VAL(ISD::SPLAT_VECTOR),
21660 OPC_CheckChild0Integer, 0|128,0|128,126,
21661 OPC_CheckChild0TypeI32,
21662 OPC_MoveSibling1,
21663 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21664 OPC_Scope, 24,
21665 OPC_RecordChild0,
21666 OPC_MoveChild1,
21667 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21668 OPC_CheckChild0Integer, 127|128,127|128,1,
21669 OPC_CheckChild0TypeI32,
21670 OPC_MoveParent,
21671 OPC_MoveParent,
21672 OPC_MoveParent,
21673 OPC_CheckType, MVT::v4i32,
21674 OPC_MoveParent,
21675 OPC_CheckType, MVT::v8i16,
21676 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21677 MVT::v8i16, 2, 16,
21678 24,
21679 OPC_MoveChild0,
21680 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21681 OPC_CheckChild0Integer, 127|128,127|128,1,
21682 OPC_CheckChild0TypeI32,
21683 OPC_MoveParent,
21684 OPC_RecordChild1,
21685 OPC_MoveParent,
21686 OPC_MoveParent,
21687 OPC_CheckType, MVT::v4i32,
21688 OPC_MoveParent,
21689 OPC_CheckType, MVT::v8i16,
21690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21691 MVT::v8i16, 2, 16,
21692 0,
21693 0,
21694 0,
21695 99|128,2,
21696 OPC_MoveChild0,
21697 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21698 OPC_CheckChild0Integer, 127|128,127|128,1,
21699 OPC_CheckChild0TypeI32,
21700 OPC_MoveParent,
21701 OPC_RecordChild1,
21702 OPC_MoveParent,
21703 OPC_MoveParent,
21704 OPC_CheckType, MVT::v4i32,
21705 OPC_MoveSibling1,
21706 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21707 OPC_MoveChild0,
21708 OPC_SwitchOpcode , 48|128,1, TARGET_VAL(ISD::SMAX),
21709 OPC_MoveChild0,
21710 OPC_SwitchOpcode , 88, TARGET_VAL(ISD::SMIN),
21711 OPC_Scope, 42,
21712 OPC_RecordChild0,
21713 OPC_MoveChild1,
21714 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21715 OPC_CheckChild0Integer, 127|128,127|128,1,
21716 OPC_CheckChild0TypeI32,
21717 OPC_MoveParent,
21718 OPC_MoveSibling1,
21719 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21720 OPC_CheckChild0Integer, 0|128,0|128,126,
21721 OPC_CheckChild0TypeI32,
21722 OPC_MoveParent,
21723 OPC_MoveSibling1,
21724 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21725 OPC_CheckChild0Integer, 127|128,127|128,3,
21726 OPC_CheckChild0TypeI32,
21727 OPC_MoveParent,
21728 OPC_CheckType, MVT::v4i32,
21729 OPC_MoveParent,
21730 OPC_CheckType, MVT::v8i16,
21731 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21732 MVT::v8i16, 2, 16,
21733 42,
21734 OPC_MoveChild0,
21735 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21736 OPC_CheckChild0Integer, 127|128,127|128,1,
21737 OPC_CheckChild0TypeI32,
21738 OPC_MoveParent,
21739 OPC_RecordChild1,
21740 OPC_MoveSibling1,
21741 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21742 OPC_CheckChild0Integer, 0|128,0|128,126,
21743 OPC_CheckChild0TypeI32,
21744 OPC_MoveParent,
21745 OPC_MoveSibling1,
21746 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21747 OPC_CheckChild0Integer, 127|128,127|128,3,
21748 OPC_CheckChild0TypeI32,
21749 OPC_MoveParent,
21750 OPC_CheckType, MVT::v4i32,
21751 OPC_MoveParent,
21752 OPC_CheckType, MVT::v8i16,
21753 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21754 MVT::v8i16, 2, 16,
21755 0,
21756 79, TARGET_VAL(ISD::SPLAT_VECTOR),
21757 OPC_CheckChild0Integer, 0|128,0|128,126,
21758 OPC_CheckChild0TypeI32,
21759 OPC_MoveSibling1,
21760 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21761 OPC_Scope, 33,
21762 OPC_RecordChild0,
21763 OPC_MoveChild1,
21764 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21765 OPC_CheckChild0Integer, 127|128,127|128,1,
21766 OPC_CheckChild0TypeI32,
21767 OPC_MoveParent,
21768 OPC_MoveParent,
21769 OPC_MoveSibling1,
21770 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21771 OPC_CheckChild0Integer, 127|128,127|128,3,
21772 OPC_CheckChild0TypeI32,
21773 OPC_MoveParent,
21774 OPC_CheckType, MVT::v4i32,
21775 OPC_MoveParent,
21776 OPC_CheckType, MVT::v8i16,
21777 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21778 MVT::v8i16, 2, 16,
21779 33,
21780 OPC_MoveChild0,
21781 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21782 OPC_CheckChild0Integer, 127|128,127|128,1,
21783 OPC_CheckChild0TypeI32,
21784 OPC_MoveParent,
21785 OPC_RecordChild1,
21786 OPC_MoveParent,
21787 OPC_MoveSibling1,
21788 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21789 OPC_CheckChild0Integer, 127|128,127|128,3,
21790 OPC_CheckChild0TypeI32,
21791 OPC_MoveParent,
21792 OPC_CheckType, MVT::v4i32,
21793 OPC_MoveParent,
21794 OPC_CheckType, MVT::v8i16,
21795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21796 MVT::v8i16, 2, 16,
21797 0,
21798 0,
21799 21|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
21800 OPC_CheckChild0Integer, 127|128,127|128,3,
21801 OPC_CheckChild0TypeI32,
21802 OPC_MoveSibling1,
21803 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21804 OPC_MoveChild0,
21805 OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SMIN),
21806 OPC_Scope, 33,
21807 OPC_RecordChild0,
21808 OPC_MoveChild1,
21809 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21810 OPC_CheckChild0Integer, 127|128,127|128,1,
21811 OPC_CheckChild0TypeI32,
21812 OPC_MoveParent,
21813 OPC_MoveSibling1,
21814 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21815 OPC_CheckChild0Integer, 0|128,0|128,126,
21816 OPC_CheckChild0TypeI32,
21817 OPC_MoveParent,
21818 OPC_MoveParent,
21819 OPC_CheckType, MVT::v4i32,
21820 OPC_MoveParent,
21821 OPC_CheckType, MVT::v8i16,
21822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21823 MVT::v8i16, 2, 16,
21824 33,
21825 OPC_MoveChild0,
21826 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21827 OPC_CheckChild0Integer, 127|128,127|128,1,
21828 OPC_CheckChild0TypeI32,
21829 OPC_MoveParent,
21830 OPC_RecordChild1,
21831 OPC_MoveSibling1,
21832 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21833 OPC_CheckChild0Integer, 0|128,0|128,126,
21834 OPC_CheckChild0TypeI32,
21835 OPC_MoveParent,
21836 OPC_MoveParent,
21837 OPC_CheckType, MVT::v4i32,
21838 OPC_MoveParent,
21839 OPC_CheckType, MVT::v8i16,
21840 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21841 MVT::v8i16, 2, 16,
21842 0,
21843 61, TARGET_VAL(ISD::SPLAT_VECTOR),
21844 OPC_CheckChild0Integer, 0|128,0|128,126,
21845 OPC_CheckChild0TypeI32,
21846 OPC_MoveSibling1,
21847 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21848 OPC_Scope, 24,
21849 OPC_RecordChild0,
21850 OPC_MoveChild1,
21851 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21852 OPC_CheckChild0Integer, 127|128,127|128,1,
21853 OPC_CheckChild0TypeI32,
21854 OPC_MoveParent,
21855 OPC_MoveParent,
21856 OPC_MoveParent,
21857 OPC_CheckType, MVT::v4i32,
21858 OPC_MoveParent,
21859 OPC_CheckType, MVT::v8i16,
21860 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21861 MVT::v8i16, 2, 16,
21862 24,
21863 OPC_MoveChild0,
21864 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21865 OPC_CheckChild0Integer, 127|128,127|128,1,
21866 OPC_CheckChild0TypeI32,
21867 OPC_MoveParent,
21868 OPC_RecordChild1,
21869 OPC_MoveParent,
21870 OPC_MoveParent,
21871 OPC_CheckType, MVT::v4i32,
21872 OPC_MoveParent,
21873 OPC_CheckType, MVT::v8i16,
21874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
21875 MVT::v8i16, 2, 16,
21876 0,
21877 0,
21878 0,
21879 0,
21880 0,
21881 0,
21882 0,
21883 0,
21884 94|128,9, TARGET_VAL(ISD::SMIN),
21885 OPC_MoveChild0,
21886 OPC_SwitchOpcode , 118|128,4, TARGET_VAL(ISD::SMAX),
21887 OPC_Scope, 72|128,1,
21888 OPC_RecordChild0,
21889 OPC_MoveChild1,
21890 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21891 OPC_CheckChild0Integer, 0,
21892 OPC_CheckChild0TypeI32,
21893 OPC_MoveParent,
21894 OPC_MoveSibling1,
21895 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21896 OPC_Scope, 8|128,1,
21897 OPC_CheckChild0Integer, 127|128,1,
21898 OPC_CheckChild0TypeI32,
21899 OPC_MoveParent,
21900 OPC_CheckType, MVT::v8i16,
21901 OPC_MoveSibling1,
21902 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21903 OPC_MoveChild0,
21904 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMAX),
21905 OPC_Scope, 29,
21906 OPC_RecordChild0,
21907 OPC_MoveChild1,
21908 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21909 OPC_CheckChild0Integer, 0,
21910 OPC_CheckChild0TypeI32,
21911 OPC_MoveParent,
21912 OPC_MoveSibling1,
21913 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21914 OPC_CheckChild0Integer, 127|128,1,
21915 OPC_CheckChild0TypeI32,
21916 OPC_MoveParent,
21917 OPC_CheckType, MVT::v8i16,
21918 OPC_MoveParent,
21919 OPC_CheckType, MVT::v16i8,
21920 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
21921 MVT::v16i8, 2, 16,
21922 29,
21923 OPC_MoveChild0,
21924 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21925 OPC_CheckChild0Integer, 0,
21926 OPC_CheckChild0TypeI32,
21927 OPC_MoveParent,
21928 OPC_RecordChild1,
21929 OPC_MoveSibling1,
21930 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21931 OPC_CheckChild0Integer, 127|128,1,
21932 OPC_CheckChild0TypeI32,
21933 OPC_MoveParent,
21934 OPC_CheckType, MVT::v8i16,
21935 OPC_MoveParent,
21936 OPC_CheckType, MVT::v16i8,
21937 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
21938 MVT::v16i8, 2, 16,
21939 0,
21940 54, TARGET_VAL(ISD::SPLAT_VECTOR),
21941 OPC_CheckChild0Integer, 127|128,1,
21942 OPC_CheckChild0TypeI32,
21943 OPC_MoveSibling1,
21944 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21945 OPC_Scope, 21,
21946 OPC_RecordChild0,
21947 OPC_MoveChild1,
21948 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21949 OPC_CheckChild0Integer, 0,
21950 OPC_CheckChild0TypeI32,
21951 OPC_MoveParent,
21952 OPC_MoveParent,
21953 OPC_CheckType, MVT::v8i16,
21954 OPC_MoveParent,
21955 OPC_CheckType, MVT::v16i8,
21956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
21957 MVT::v16i8, 2, 16,
21958 21,
21959 OPC_MoveChild0,
21960 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21961 OPC_CheckChild0Integer, 0,
21962 OPC_CheckChild0TypeI32,
21963 OPC_MoveParent,
21964 OPC_RecordChild1,
21965 OPC_MoveParent,
21966 OPC_CheckType, MVT::v8i16,
21967 OPC_MoveParent,
21968 OPC_CheckType, MVT::v16i8,
21969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
21970 MVT::v16i8, 2, 16,
21971 0,
21972 0,
21973 46,
21974 OPC_CheckChild0Integer, 127|128,127|128,3,
21975 OPC_CheckChild0TypeI32,
21976 OPC_MoveParent,
21977 OPC_CheckType, MVT::v4i32,
21978 OPC_MoveSibling1,
21979 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
21980 OPC_MoveChild0,
21981 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
21982 OPC_RecordChild0,
21983 OPC_MoveChild1,
21984 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21985 OPC_CheckChild0Integer, 0,
21986 OPC_CheckChild0TypeI32,
21987 OPC_MoveParent,
21988 OPC_MoveSibling1,
21989 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
21990 OPC_CheckChild0Integer, 127|128,127|128,3,
21991 OPC_CheckChild0TypeI32,
21992 OPC_MoveParent,
21993 OPC_CheckType, MVT::v4i32,
21994 OPC_MoveParent,
21995 OPC_CheckType, MVT::v8i16,
21996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
21997 MVT::v8i16, 2, 16,
21998 0,
21999 21|128,1,
22000 OPC_MoveChild0,
22001 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22002 OPC_CheckChild0Integer, 0,
22003 OPC_CheckChild0TypeI32,
22004 OPC_MoveParent,
22005 OPC_RecordChild1,
22006 OPC_MoveSibling1,
22007 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22008 OPC_CheckChild0Integer, 127|128,1,
22009 OPC_CheckChild0TypeI32,
22010 OPC_MoveParent,
22011 OPC_CheckType, MVT::v8i16,
22012 OPC_MoveSibling1,
22013 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22014 OPC_MoveChild0,
22015 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMAX),
22016 OPC_Scope, 29,
22017 OPC_RecordChild0,
22018 OPC_MoveChild1,
22019 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22020 OPC_CheckChild0Integer, 0,
22021 OPC_CheckChild0TypeI32,
22022 OPC_MoveParent,
22023 OPC_MoveSibling1,
22024 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22025 OPC_CheckChild0Integer, 127|128,1,
22026 OPC_CheckChild0TypeI32,
22027 OPC_MoveParent,
22028 OPC_CheckType, MVT::v8i16,
22029 OPC_MoveParent,
22030 OPC_CheckType, MVT::v16i8,
22031 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22032 MVT::v16i8, 2, 16,
22033 29,
22034 OPC_MoveChild0,
22035 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22036 OPC_CheckChild0Integer, 0,
22037 OPC_CheckChild0TypeI32,
22038 OPC_MoveParent,
22039 OPC_RecordChild1,
22040 OPC_MoveSibling1,
22041 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22042 OPC_CheckChild0Integer, 127|128,1,
22043 OPC_CheckChild0TypeI32,
22044 OPC_MoveParent,
22045 OPC_CheckType, MVT::v8i16,
22046 OPC_MoveParent,
22047 OPC_CheckType, MVT::v16i8,
22048 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22049 MVT::v16i8, 2, 16,
22050 0,
22051 54, TARGET_VAL(ISD::SPLAT_VECTOR),
22052 OPC_CheckChild0Integer, 127|128,1,
22053 OPC_CheckChild0TypeI32,
22054 OPC_MoveSibling1,
22055 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22056 OPC_Scope, 21,
22057 OPC_RecordChild0,
22058 OPC_MoveChild1,
22059 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22060 OPC_CheckChild0Integer, 0,
22061 OPC_CheckChild0TypeI32,
22062 OPC_MoveParent,
22063 OPC_MoveParent,
22064 OPC_CheckType, MVT::v8i16,
22065 OPC_MoveParent,
22066 OPC_CheckType, MVT::v16i8,
22067 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22068 MVT::v16i8, 2, 16,
22069 21,
22070 OPC_MoveChild0,
22071 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22072 OPC_CheckChild0Integer, 0,
22073 OPC_CheckChild0TypeI32,
22074 OPC_MoveParent,
22075 OPC_RecordChild1,
22076 OPC_MoveParent,
22077 OPC_CheckType, MVT::v8i16,
22078 OPC_MoveParent,
22079 OPC_CheckType, MVT::v16i8,
22080 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22081 MVT::v16i8, 2, 16,
22082 0,
22083 0,
22084 119,
22085 OPC_RecordChild0,
22086 OPC_MoveChild1,
22087 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22088 OPC_CheckChild0Integer, 0,
22089 OPC_CheckChild0TypeI32,
22090 OPC_MoveParent,
22091 OPC_MoveSibling1,
22092 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22093 OPC_CheckChild0Integer, 127|128,127|128,3,
22094 OPC_CheckChild0TypeI32,
22095 OPC_MoveParent,
22096 OPC_CheckType, MVT::v4i32,
22097 OPC_MoveSibling1,
22098 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22099 OPC_MoveChild0,
22100 OPC_SwitchOpcode , 30, TARGET_VAL(ISD::SMAX),
22101 OPC_MoveChild0,
22102 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22103 OPC_CheckChild0Integer, 0,
22104 OPC_CheckChild0TypeI32,
22105 OPC_MoveParent,
22106 OPC_RecordChild1,
22107 OPC_MoveSibling1,
22108 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22109 OPC_CheckChild0Integer, 127|128,127|128,3,
22110 OPC_CheckChild0TypeI32,
22111 OPC_MoveParent,
22112 OPC_CheckType, MVT::v4i32,
22113 OPC_MoveParent,
22114 OPC_CheckType, MVT::v8i16,
22115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22116 MVT::v8i16, 2, 16,
22117 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22118 OPC_CheckChild0Integer, 127|128,127|128,3,
22119 OPC_CheckChild0TypeI32,
22120 OPC_MoveSibling1,
22121 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22122 OPC_Scope, 21,
22123 OPC_RecordChild0,
22124 OPC_MoveChild1,
22125 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22126 OPC_CheckChild0Integer, 0,
22127 OPC_CheckChild0TypeI32,
22128 OPC_MoveParent,
22129 OPC_MoveParent,
22130 OPC_CheckType, MVT::v4i32,
22131 OPC_MoveParent,
22132 OPC_CheckType, MVT::v8i16,
22133 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22134 MVT::v8i16, 2, 16,
22135 21,
22136 OPC_MoveChild0,
22137 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22138 OPC_CheckChild0Integer, 0,
22139 OPC_CheckChild0TypeI32,
22140 OPC_MoveParent,
22141 OPC_RecordChild1,
22142 OPC_MoveParent,
22143 OPC_CheckType, MVT::v4i32,
22144 OPC_MoveParent,
22145 OPC_CheckType, MVT::v8i16,
22146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22147 MVT::v8i16, 2, 16,
22148 0,
22149 0,
22150 25|128,1,
22151 OPC_MoveChild0,
22152 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22153 OPC_CheckChild0Integer, 0,
22154 OPC_CheckChild0TypeI32,
22155 OPC_MoveParent,
22156 OPC_RecordChild1,
22157 OPC_MoveSibling1,
22158 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22159 OPC_CheckChild0Integer, 127|128,127|128,3,
22160 OPC_CheckChild0TypeI32,
22161 OPC_MoveParent,
22162 OPC_CheckType, MVT::v4i32,
22163 OPC_MoveSibling1,
22164 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22165 OPC_MoveChild0,
22166 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMAX),
22167 OPC_Scope, 30,
22168 OPC_RecordChild0,
22169 OPC_MoveChild1,
22170 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22171 OPC_CheckChild0Integer, 0,
22172 OPC_CheckChild0TypeI32,
22173 OPC_MoveParent,
22174 OPC_MoveSibling1,
22175 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22176 OPC_CheckChild0Integer, 127|128,127|128,3,
22177 OPC_CheckChild0TypeI32,
22178 OPC_MoveParent,
22179 OPC_CheckType, MVT::v4i32,
22180 OPC_MoveParent,
22181 OPC_CheckType, MVT::v8i16,
22182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22183 MVT::v8i16, 2, 16,
22184 30,
22185 OPC_MoveChild0,
22186 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22187 OPC_CheckChild0Integer, 0,
22188 OPC_CheckChild0TypeI32,
22189 OPC_MoveParent,
22190 OPC_RecordChild1,
22191 OPC_MoveSibling1,
22192 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22193 OPC_CheckChild0Integer, 127|128,127|128,3,
22194 OPC_CheckChild0TypeI32,
22195 OPC_MoveParent,
22196 OPC_CheckType, MVT::v4i32,
22197 OPC_MoveParent,
22198 OPC_CheckType, MVT::v8i16,
22199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22200 MVT::v8i16, 2, 16,
22201 0,
22202 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22203 OPC_CheckChild0Integer, 127|128,127|128,3,
22204 OPC_CheckChild0TypeI32,
22205 OPC_MoveSibling1,
22206 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22207 OPC_Scope, 21,
22208 OPC_RecordChild0,
22209 OPC_MoveChild1,
22210 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22211 OPC_CheckChild0Integer, 0,
22212 OPC_CheckChild0TypeI32,
22213 OPC_MoveParent,
22214 OPC_MoveParent,
22215 OPC_CheckType, MVT::v4i32,
22216 OPC_MoveParent,
22217 OPC_CheckType, MVT::v8i16,
22218 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22219 MVT::v8i16, 2, 16,
22220 21,
22221 OPC_MoveChild0,
22222 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22223 OPC_CheckChild0Integer, 0,
22224 OPC_CheckChild0TypeI32,
22225 OPC_MoveParent,
22226 OPC_RecordChild1,
22227 OPC_MoveParent,
22228 OPC_CheckType, MVT::v4i32,
22229 OPC_MoveParent,
22230 OPC_CheckType, MVT::v8i16,
22231 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22232 MVT::v8i16, 2, 16,
22233 0,
22234 0,
22235 0,
22236 93|128,4, TARGET_VAL(ISD::SPLAT_VECTOR),
22237 OPC_Scope, 40|128,2,
22238 OPC_CheckChild0Integer, 127|128,1,
22239 OPC_CheckChild0TypeI32,
22240 OPC_MoveSibling1,
22241 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22242 OPC_Scope, 13|128,1,
22243 OPC_RecordChild0,
22244 OPC_MoveChild1,
22245 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22246 OPC_CheckChild0Integer, 0,
22247 OPC_CheckChild0TypeI32,
22248 OPC_MoveParent,
22249 OPC_MoveParent,
22250 OPC_CheckType, MVT::v8i16,
22251 OPC_MoveSibling1,
22252 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22253 OPC_MoveChild0,
22254 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMAX),
22255 OPC_Scope, 29,
22256 OPC_RecordChild0,
22257 OPC_MoveChild1,
22258 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22259 OPC_CheckChild0Integer, 0,
22260 OPC_CheckChild0TypeI32,
22261 OPC_MoveParent,
22262 OPC_MoveSibling1,
22263 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22264 OPC_CheckChild0Integer, 127|128,1,
22265 OPC_CheckChild0TypeI32,
22266 OPC_MoveParent,
22267 OPC_CheckType, MVT::v8i16,
22268 OPC_MoveParent,
22269 OPC_CheckType, MVT::v16i8,
22270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22271 MVT::v16i8, 2, 16,
22272 29,
22273 OPC_MoveChild0,
22274 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22275 OPC_CheckChild0Integer, 0,
22276 OPC_CheckChild0TypeI32,
22277 OPC_MoveParent,
22278 OPC_RecordChild1,
22279 OPC_MoveSibling1,
22280 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22281 OPC_CheckChild0Integer, 127|128,1,
22282 OPC_CheckChild0TypeI32,
22283 OPC_MoveParent,
22284 OPC_CheckType, MVT::v8i16,
22285 OPC_MoveParent,
22286 OPC_CheckType, MVT::v16i8,
22287 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22288 MVT::v16i8, 2, 16,
22289 0,
22290 54, TARGET_VAL(ISD::SPLAT_VECTOR),
22291 OPC_CheckChild0Integer, 127|128,1,
22292 OPC_CheckChild0TypeI32,
22293 OPC_MoveSibling1,
22294 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22295 OPC_Scope, 21,
22296 OPC_RecordChild0,
22297 OPC_MoveChild1,
22298 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22299 OPC_CheckChild0Integer, 0,
22300 OPC_CheckChild0TypeI32,
22301 OPC_MoveParent,
22302 OPC_MoveParent,
22303 OPC_CheckType, MVT::v8i16,
22304 OPC_MoveParent,
22305 OPC_CheckType, MVT::v16i8,
22306 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22307 MVT::v16i8, 2, 16,
22308 21,
22309 OPC_MoveChild0,
22310 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22311 OPC_CheckChild0Integer, 0,
22312 OPC_CheckChild0TypeI32,
22313 OPC_MoveParent,
22314 OPC_RecordChild1,
22315 OPC_MoveParent,
22316 OPC_CheckType, MVT::v8i16,
22317 OPC_MoveParent,
22318 OPC_CheckType, MVT::v16i8,
22319 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22320 MVT::v16i8, 2, 16,
22321 0,
22322 0,
22323 13|128,1,
22324 OPC_MoveChild0,
22325 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22326 OPC_CheckChild0Integer, 0,
22327 OPC_CheckChild0TypeI32,
22328 OPC_MoveParent,
22329 OPC_RecordChild1,
22330 OPC_MoveParent,
22331 OPC_CheckType, MVT::v8i16,
22332 OPC_MoveSibling1,
22333 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22334 OPC_MoveChild0,
22335 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMAX),
22336 OPC_Scope, 29,
22337 OPC_RecordChild0,
22338 OPC_MoveChild1,
22339 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22340 OPC_CheckChild0Integer, 0,
22341 OPC_CheckChild0TypeI32,
22342 OPC_MoveParent,
22343 OPC_MoveSibling1,
22344 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22345 OPC_CheckChild0Integer, 127|128,1,
22346 OPC_CheckChild0TypeI32,
22347 OPC_MoveParent,
22348 OPC_CheckType, MVT::v8i16,
22349 OPC_MoveParent,
22350 OPC_CheckType, MVT::v16i8,
22351 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22352 MVT::v16i8, 2, 16,
22353 29,
22354 OPC_MoveChild0,
22355 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22356 OPC_CheckChild0Integer, 0,
22357 OPC_CheckChild0TypeI32,
22358 OPC_MoveParent,
22359 OPC_RecordChild1,
22360 OPC_MoveSibling1,
22361 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22362 OPC_CheckChild0Integer, 127|128,1,
22363 OPC_CheckChild0TypeI32,
22364 OPC_MoveParent,
22365 OPC_CheckType, MVT::v8i16,
22366 OPC_MoveParent,
22367 OPC_CheckType, MVT::v16i8,
22368 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22369 MVT::v16i8, 2, 16,
22370 0,
22371 54, TARGET_VAL(ISD::SPLAT_VECTOR),
22372 OPC_CheckChild0Integer, 127|128,1,
22373 OPC_CheckChild0TypeI32,
22374 OPC_MoveSibling1,
22375 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22376 OPC_Scope, 21,
22377 OPC_RecordChild0,
22378 OPC_MoveChild1,
22379 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22380 OPC_CheckChild0Integer, 0,
22381 OPC_CheckChild0TypeI32,
22382 OPC_MoveParent,
22383 OPC_MoveParent,
22384 OPC_CheckType, MVT::v8i16,
22385 OPC_MoveParent,
22386 OPC_CheckType, MVT::v16i8,
22387 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22388 MVT::v16i8, 2, 16,
22389 21,
22390 OPC_MoveChild0,
22391 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22392 OPC_CheckChild0Integer, 0,
22393 OPC_CheckChild0TypeI32,
22394 OPC_MoveParent,
22395 OPC_RecordChild1,
22396 OPC_MoveParent,
22397 OPC_CheckType, MVT::v8i16,
22398 OPC_MoveParent,
22399 OPC_CheckType, MVT::v16i8,
22400 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22401 MVT::v16i8, 2, 16,
22402 0,
22403 0,
22404 0,
22405 47|128,2,
22406 OPC_CheckChild0Integer, 127|128,127|128,3,
22407 OPC_CheckChild0TypeI32,
22408 OPC_MoveSibling1,
22409 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22410 OPC_Scope, 16|128,1,
22411 OPC_RecordChild0,
22412 OPC_MoveChild1,
22413 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22414 OPC_CheckChild0Integer, 0,
22415 OPC_CheckChild0TypeI32,
22416 OPC_MoveParent,
22417 OPC_MoveParent,
22418 OPC_CheckType, MVT::v4i32,
22419 OPC_MoveSibling1,
22420 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22421 OPC_MoveChild0,
22422 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMAX),
22423 OPC_Scope, 30,
22424 OPC_RecordChild0,
22425 OPC_MoveChild1,
22426 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22427 OPC_CheckChild0Integer, 0,
22428 OPC_CheckChild0TypeI32,
22429 OPC_MoveParent,
22430 OPC_MoveSibling1,
22431 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22432 OPC_CheckChild0Integer, 127|128,127|128,3,
22433 OPC_CheckChild0TypeI32,
22434 OPC_MoveParent,
22435 OPC_CheckType, MVT::v4i32,
22436 OPC_MoveParent,
22437 OPC_CheckType, MVT::v8i16,
22438 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22439 MVT::v8i16, 2, 16,
22440 30,
22441 OPC_MoveChild0,
22442 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22443 OPC_CheckChild0Integer, 0,
22444 OPC_CheckChild0TypeI32,
22445 OPC_MoveParent,
22446 OPC_RecordChild1,
22447 OPC_MoveSibling1,
22448 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22449 OPC_CheckChild0Integer, 127|128,127|128,3,
22450 OPC_CheckChild0TypeI32,
22451 OPC_MoveParent,
22452 OPC_CheckType, MVT::v4i32,
22453 OPC_MoveParent,
22454 OPC_CheckType, MVT::v8i16,
22455 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22456 MVT::v8i16, 2, 16,
22457 0,
22458 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22459 OPC_CheckChild0Integer, 127|128,127|128,3,
22460 OPC_CheckChild0TypeI32,
22461 OPC_MoveSibling1,
22462 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22463 OPC_Scope, 21,
22464 OPC_RecordChild0,
22465 OPC_MoveChild1,
22466 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22467 OPC_CheckChild0Integer, 0,
22468 OPC_CheckChild0TypeI32,
22469 OPC_MoveParent,
22470 OPC_MoveParent,
22471 OPC_CheckType, MVT::v4i32,
22472 OPC_MoveParent,
22473 OPC_CheckType, MVT::v8i16,
22474 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22475 MVT::v8i16, 2, 16,
22476 21,
22477 OPC_MoveChild0,
22478 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22479 OPC_CheckChild0Integer, 0,
22480 OPC_CheckChild0TypeI32,
22481 OPC_MoveParent,
22482 OPC_RecordChild1,
22483 OPC_MoveParent,
22484 OPC_CheckType, MVT::v4i32,
22485 OPC_MoveParent,
22486 OPC_CheckType, MVT::v8i16,
22487 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22488 MVT::v8i16, 2, 16,
22489 0,
22490 0,
22491 16|128,1,
22492 OPC_MoveChild0,
22493 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22494 OPC_CheckChild0Integer, 0,
22495 OPC_CheckChild0TypeI32,
22496 OPC_MoveParent,
22497 OPC_RecordChild1,
22498 OPC_MoveParent,
22499 OPC_CheckType, MVT::v4i32,
22500 OPC_MoveSibling1,
22501 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22502 OPC_MoveChild0,
22503 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMAX),
22504 OPC_Scope, 30,
22505 OPC_RecordChild0,
22506 OPC_MoveChild1,
22507 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22508 OPC_CheckChild0Integer, 0,
22509 OPC_CheckChild0TypeI32,
22510 OPC_MoveParent,
22511 OPC_MoveSibling1,
22512 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22513 OPC_CheckChild0Integer, 127|128,127|128,3,
22514 OPC_CheckChild0TypeI32,
22515 OPC_MoveParent,
22516 OPC_CheckType, MVT::v4i32,
22517 OPC_MoveParent,
22518 OPC_CheckType, MVT::v8i16,
22519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22520 MVT::v8i16, 2, 16,
22521 30,
22522 OPC_MoveChild0,
22523 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22524 OPC_CheckChild0Integer, 0,
22525 OPC_CheckChild0TypeI32,
22526 OPC_MoveParent,
22527 OPC_RecordChild1,
22528 OPC_MoveSibling1,
22529 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22530 OPC_CheckChild0Integer, 127|128,127|128,3,
22531 OPC_CheckChild0TypeI32,
22532 OPC_MoveParent,
22533 OPC_CheckType, MVT::v4i32,
22534 OPC_MoveParent,
22535 OPC_CheckType, MVT::v8i16,
22536 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22537 MVT::v8i16, 2, 16,
22538 0,
22539 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22540 OPC_CheckChild0Integer, 127|128,127|128,3,
22541 OPC_CheckChild0TypeI32,
22542 OPC_MoveSibling1,
22543 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22544 OPC_Scope, 21,
22545 OPC_RecordChild0,
22546 OPC_MoveChild1,
22547 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22548 OPC_CheckChild0Integer, 0,
22549 OPC_CheckChild0TypeI32,
22550 OPC_MoveParent,
22551 OPC_MoveParent,
22552 OPC_CheckType, MVT::v4i32,
22553 OPC_MoveParent,
22554 OPC_CheckType, MVT::v8i16,
22555 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22556 MVT::v8i16, 2, 16,
22557 21,
22558 OPC_MoveChild0,
22559 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22560 OPC_CheckChild0Integer, 0,
22561 OPC_CheckChild0TypeI32,
22562 OPC_MoveParent,
22563 OPC_RecordChild1,
22564 OPC_MoveParent,
22565 OPC_CheckType, MVT::v4i32,
22566 OPC_MoveParent,
22567 OPC_CheckType, MVT::v8i16,
22568 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22569 MVT::v8i16, 2, 16,
22570 0,
22571 0,
22572 0,
22573 0,
22574 0,
22575 102|128,9, TARGET_VAL(ISD::SMAX),
22576 OPC_MoveChild0,
22577 OPC_SwitchOpcode , 4|128,5, TARGET_VAL(ISD::SMIN),
22578 OPC_Scope, 81|128,1,
22579 OPC_RecordChild0,
22580 OPC_MoveChild1,
22581 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22582 OPC_Scope, 17|128,1,
22583 OPC_CheckChild0Integer, 127|128,1,
22584 OPC_CheckChild0TypeI32,
22585 OPC_MoveParent,
22586 OPC_MoveSibling1,
22587 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22588 OPC_CheckChild0Integer, 0,
22589 OPC_CheckChild0TypeI32,
22590 OPC_MoveParent,
22591 OPC_CheckType, MVT::v8i16,
22592 OPC_MoveSibling1,
22593 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22594 OPC_MoveChild0,
22595 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMIN),
22596 OPC_Scope, 29,
22597 OPC_RecordChild0,
22598 OPC_MoveChild1,
22599 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22600 OPC_CheckChild0Integer, 127|128,1,
22601 OPC_CheckChild0TypeI32,
22602 OPC_MoveParent,
22603 OPC_MoveSibling1,
22604 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22605 OPC_CheckChild0Integer, 0,
22606 OPC_CheckChild0TypeI32,
22607 OPC_MoveParent,
22608 OPC_CheckType, MVT::v8i16,
22609 OPC_MoveParent,
22610 OPC_CheckType, MVT::v16i8,
22611 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22612 MVT::v16i8, 2, 16,
22613 29,
22614 OPC_MoveChild0,
22615 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22616 OPC_CheckChild0Integer, 127|128,1,
22617 OPC_CheckChild0TypeI32,
22618 OPC_MoveParent,
22619 OPC_RecordChild1,
22620 OPC_MoveSibling1,
22621 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22622 OPC_CheckChild0Integer, 0,
22623 OPC_CheckChild0TypeI32,
22624 OPC_MoveParent,
22625 OPC_CheckType, MVT::v8i16,
22626 OPC_MoveParent,
22627 OPC_CheckType, MVT::v16i8,
22628 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22629 MVT::v16i8, 2, 16,
22630 0,
22631 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22632 OPC_CheckChild0Integer, 0,
22633 OPC_CheckChild0TypeI32,
22634 OPC_MoveSibling1,
22635 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22636 OPC_Scope, 22,
22637 OPC_RecordChild0,
22638 OPC_MoveChild1,
22639 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22640 OPC_CheckChild0Integer, 127|128,1,
22641 OPC_CheckChild0TypeI32,
22642 OPC_MoveParent,
22643 OPC_MoveParent,
22644 OPC_CheckType, MVT::v8i16,
22645 OPC_MoveParent,
22646 OPC_CheckType, MVT::v16i8,
22647 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22648 MVT::v16i8, 2, 16,
22649 22,
22650 OPC_MoveChild0,
22651 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22652 OPC_CheckChild0Integer, 127|128,1,
22653 OPC_CheckChild0TypeI32,
22654 OPC_MoveParent,
22655 OPC_RecordChild1,
22656 OPC_MoveParent,
22657 OPC_CheckType, MVT::v8i16,
22658 OPC_MoveParent,
22659 OPC_CheckType, MVT::v16i8,
22660 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22661 MVT::v16i8, 2, 16,
22662 0,
22663 0,
22664 54,
22665 OPC_CheckChild0Integer, 127|128,127|128,3,
22666 OPC_CheckChild0TypeI32,
22667 OPC_MoveParent,
22668 OPC_MoveSibling1,
22669 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22670 OPC_CheckChild0Integer, 0,
22671 OPC_CheckChild0TypeI32,
22672 OPC_MoveParent,
22673 OPC_CheckType, MVT::v4i32,
22674 OPC_MoveSibling1,
22675 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22676 OPC_MoveChild0,
22677 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22678 OPC_RecordChild0,
22679 OPC_MoveChild1,
22680 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22681 OPC_CheckChild0Integer, 127|128,127|128,3,
22682 OPC_CheckChild0TypeI32,
22683 OPC_MoveParent,
22684 OPC_MoveSibling1,
22685 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22686 OPC_CheckChild0Integer, 0,
22687 OPC_CheckChild0TypeI32,
22688 OPC_MoveParent,
22689 OPC_CheckType, MVT::v4i32,
22690 OPC_MoveParent,
22691 OPC_CheckType, MVT::v8i16,
22692 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22693 MVT::v8i16, 2, 16,
22694 0,
22695 22|128,1,
22696 OPC_MoveChild0,
22697 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22698 OPC_CheckChild0Integer, 127|128,1,
22699 OPC_CheckChild0TypeI32,
22700 OPC_MoveParent,
22701 OPC_RecordChild1,
22702 OPC_MoveSibling1,
22703 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22704 OPC_CheckChild0Integer, 0,
22705 OPC_CheckChild0TypeI32,
22706 OPC_MoveParent,
22707 OPC_CheckType, MVT::v8i16,
22708 OPC_MoveSibling1,
22709 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22710 OPC_MoveChild0,
22711 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMIN),
22712 OPC_Scope, 29,
22713 OPC_RecordChild0,
22714 OPC_MoveChild1,
22715 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22716 OPC_CheckChild0Integer, 127|128,1,
22717 OPC_CheckChild0TypeI32,
22718 OPC_MoveParent,
22719 OPC_MoveSibling1,
22720 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22721 OPC_CheckChild0Integer, 0,
22722 OPC_CheckChild0TypeI32,
22723 OPC_MoveParent,
22724 OPC_CheckType, MVT::v8i16,
22725 OPC_MoveParent,
22726 OPC_CheckType, MVT::v16i8,
22727 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22728 MVT::v16i8, 2, 16,
22729 29,
22730 OPC_MoveChild0,
22731 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22732 OPC_CheckChild0Integer, 127|128,1,
22733 OPC_CheckChild0TypeI32,
22734 OPC_MoveParent,
22735 OPC_RecordChild1,
22736 OPC_MoveSibling1,
22737 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22738 OPC_CheckChild0Integer, 0,
22739 OPC_CheckChild0TypeI32,
22740 OPC_MoveParent,
22741 OPC_CheckType, MVT::v8i16,
22742 OPC_MoveParent,
22743 OPC_CheckType, MVT::v16i8,
22744 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22745 MVT::v16i8, 2, 16,
22746 0,
22747 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22748 OPC_CheckChild0Integer, 0,
22749 OPC_CheckChild0TypeI32,
22750 OPC_MoveSibling1,
22751 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22752 OPC_Scope, 22,
22753 OPC_RecordChild0,
22754 OPC_MoveChild1,
22755 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22756 OPC_CheckChild0Integer, 127|128,1,
22757 OPC_CheckChild0TypeI32,
22758 OPC_MoveParent,
22759 OPC_MoveParent,
22760 OPC_CheckType, MVT::v8i16,
22761 OPC_MoveParent,
22762 OPC_CheckType, MVT::v16i8,
22763 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22764 MVT::v16i8, 2, 16,
22765 22,
22766 OPC_MoveChild0,
22767 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22768 OPC_CheckChild0Integer, 127|128,1,
22769 OPC_CheckChild0TypeI32,
22770 OPC_MoveParent,
22771 OPC_RecordChild1,
22772 OPC_MoveParent,
22773 OPC_CheckType, MVT::v8i16,
22774 OPC_MoveParent,
22775 OPC_CheckType, MVT::v16i8,
22776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22777 MVT::v16i8, 2, 16,
22778 0,
22779 0,
22780 121,
22781 OPC_RecordChild0,
22782 OPC_MoveChild1,
22783 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22784 OPC_CheckChild0Integer, 127|128,127|128,3,
22785 OPC_CheckChild0TypeI32,
22786 OPC_MoveParent,
22787 OPC_MoveSibling1,
22788 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22789 OPC_CheckChild0Integer, 0,
22790 OPC_CheckChild0TypeI32,
22791 OPC_MoveParent,
22792 OPC_CheckType, MVT::v4i32,
22793 OPC_MoveSibling1,
22794 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22795 OPC_MoveChild0,
22796 OPC_SwitchOpcode , 30, TARGET_VAL(ISD::SMIN),
22797 OPC_MoveChild0,
22798 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22799 OPC_CheckChild0Integer, 127|128,127|128,3,
22800 OPC_CheckChild0TypeI32,
22801 OPC_MoveParent,
22802 OPC_RecordChild1,
22803 OPC_MoveSibling1,
22804 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22805 OPC_CheckChild0Integer, 0,
22806 OPC_CheckChild0TypeI32,
22807 OPC_MoveParent,
22808 OPC_CheckType, MVT::v4i32,
22809 OPC_MoveParent,
22810 OPC_CheckType, MVT::v8i16,
22811 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22812 MVT::v8i16, 2, 16,
22813 57, TARGET_VAL(ISD::SPLAT_VECTOR),
22814 OPC_CheckChild0Integer, 0,
22815 OPC_CheckChild0TypeI32,
22816 OPC_MoveSibling1,
22817 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22818 OPC_Scope, 23,
22819 OPC_RecordChild0,
22820 OPC_MoveChild1,
22821 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22822 OPC_CheckChild0Integer, 127|128,127|128,3,
22823 OPC_CheckChild0TypeI32,
22824 OPC_MoveParent,
22825 OPC_MoveParent,
22826 OPC_CheckType, MVT::v4i32,
22827 OPC_MoveParent,
22828 OPC_CheckType, MVT::v8i16,
22829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22830 MVT::v8i16, 2, 16,
22831 23,
22832 OPC_MoveChild0,
22833 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22834 OPC_CheckChild0Integer, 127|128,127|128,3,
22835 OPC_CheckChild0TypeI32,
22836 OPC_MoveParent,
22837 OPC_RecordChild1,
22838 OPC_MoveParent,
22839 OPC_CheckType, MVT::v4i32,
22840 OPC_MoveParent,
22841 OPC_CheckType, MVT::v8i16,
22842 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22843 MVT::v8i16, 2, 16,
22844 0,
22845 0,
22846 27|128,1,
22847 OPC_MoveChild0,
22848 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22849 OPC_CheckChild0Integer, 127|128,127|128,3,
22850 OPC_CheckChild0TypeI32,
22851 OPC_MoveParent,
22852 OPC_RecordChild1,
22853 OPC_MoveSibling1,
22854 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22855 OPC_CheckChild0Integer, 0,
22856 OPC_CheckChild0TypeI32,
22857 OPC_MoveParent,
22858 OPC_CheckType, MVT::v4i32,
22859 OPC_MoveSibling1,
22860 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22861 OPC_MoveChild0,
22862 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMIN),
22863 OPC_Scope, 30,
22864 OPC_RecordChild0,
22865 OPC_MoveChild1,
22866 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22867 OPC_CheckChild0Integer, 127|128,127|128,3,
22868 OPC_CheckChild0TypeI32,
22869 OPC_MoveParent,
22870 OPC_MoveSibling1,
22871 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22872 OPC_CheckChild0Integer, 0,
22873 OPC_CheckChild0TypeI32,
22874 OPC_MoveParent,
22875 OPC_CheckType, MVT::v4i32,
22876 OPC_MoveParent,
22877 OPC_CheckType, MVT::v8i16,
22878 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22879 MVT::v8i16, 2, 16,
22880 30,
22881 OPC_MoveChild0,
22882 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22883 OPC_CheckChild0Integer, 127|128,127|128,3,
22884 OPC_CheckChild0TypeI32,
22885 OPC_MoveParent,
22886 OPC_RecordChild1,
22887 OPC_MoveSibling1,
22888 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22889 OPC_CheckChild0Integer, 0,
22890 OPC_CheckChild0TypeI32,
22891 OPC_MoveParent,
22892 OPC_CheckType, MVT::v4i32,
22893 OPC_MoveParent,
22894 OPC_CheckType, MVT::v8i16,
22895 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22896 MVT::v8i16, 2, 16,
22897 0,
22898 57, TARGET_VAL(ISD::SPLAT_VECTOR),
22899 OPC_CheckChild0Integer, 0,
22900 OPC_CheckChild0TypeI32,
22901 OPC_MoveSibling1,
22902 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22903 OPC_Scope, 23,
22904 OPC_RecordChild0,
22905 OPC_MoveChild1,
22906 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22907 OPC_CheckChild0Integer, 127|128,127|128,3,
22908 OPC_CheckChild0TypeI32,
22909 OPC_MoveParent,
22910 OPC_MoveParent,
22911 OPC_CheckType, MVT::v4i32,
22912 OPC_MoveParent,
22913 OPC_CheckType, MVT::v8i16,
22914 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22915 MVT::v8i16, 2, 16,
22916 23,
22917 OPC_MoveChild0,
22918 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22919 OPC_CheckChild0Integer, 127|128,127|128,3,
22920 OPC_CheckChild0TypeI32,
22921 OPC_MoveParent,
22922 OPC_RecordChild1,
22923 OPC_MoveParent,
22924 OPC_CheckType, MVT::v4i32,
22925 OPC_MoveParent,
22926 OPC_CheckType, MVT::v8i16,
22927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
22928 MVT::v8i16, 2, 16,
22929 0,
22930 0,
22931 0,
22932 87|128,4, TARGET_VAL(ISD::SPLAT_VECTOR),
22933 OPC_CheckChild0Integer, 0,
22934 OPC_CheckChild0TypeI32,
22935 OPC_MoveSibling1,
22936 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22937 OPC_Scope, 15|128,1,
22938 OPC_RecordChild0,
22939 OPC_MoveChild1,
22940 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22941 OPC_CheckChild0Integer, 127|128,1,
22942 OPC_CheckChild0TypeI32,
22943 OPC_MoveParent,
22944 OPC_MoveParent,
22945 OPC_CheckType, MVT::v8i16,
22946 OPC_MoveSibling1,
22947 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
22948 OPC_MoveChild0,
22949 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMIN),
22950 OPC_Scope, 29,
22951 OPC_RecordChild0,
22952 OPC_MoveChild1,
22953 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22954 OPC_CheckChild0Integer, 127|128,1,
22955 OPC_CheckChild0TypeI32,
22956 OPC_MoveParent,
22957 OPC_MoveSibling1,
22958 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22959 OPC_CheckChild0Integer, 0,
22960 OPC_CheckChild0TypeI32,
22961 OPC_MoveParent,
22962 OPC_CheckType, MVT::v8i16,
22963 OPC_MoveParent,
22964 OPC_CheckType, MVT::v16i8,
22965 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22966 MVT::v16i8, 2, 16,
22967 29,
22968 OPC_MoveChild0,
22969 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22970 OPC_CheckChild0Integer, 127|128,1,
22971 OPC_CheckChild0TypeI32,
22972 OPC_MoveParent,
22973 OPC_RecordChild1,
22974 OPC_MoveSibling1,
22975 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22976 OPC_CheckChild0Integer, 0,
22977 OPC_CheckChild0TypeI32,
22978 OPC_MoveParent,
22979 OPC_CheckType, MVT::v8i16,
22980 OPC_MoveParent,
22981 OPC_CheckType, MVT::v16i8,
22982 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
22983 MVT::v16i8, 2, 16,
22984 0,
22985 55, TARGET_VAL(ISD::SPLAT_VECTOR),
22986 OPC_CheckChild0Integer, 0,
22987 OPC_CheckChild0TypeI32,
22988 OPC_MoveSibling1,
22989 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
22990 OPC_Scope, 22,
22991 OPC_RecordChild0,
22992 OPC_MoveChild1,
22993 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22994 OPC_CheckChild0Integer, 127|128,1,
22995 OPC_CheckChild0TypeI32,
22996 OPC_MoveParent,
22997 OPC_MoveParent,
22998 OPC_CheckType, MVT::v8i16,
22999 OPC_MoveParent,
23000 OPC_CheckType, MVT::v16i8,
23001 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23002 MVT::v16i8, 2, 16,
23003 22,
23004 OPC_MoveChild0,
23005 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23006 OPC_CheckChild0Integer, 127|128,1,
23007 OPC_CheckChild0TypeI32,
23008 OPC_MoveParent,
23009 OPC_RecordChild1,
23010 OPC_MoveParent,
23011 OPC_CheckType, MVT::v8i16,
23012 OPC_MoveParent,
23013 OPC_CheckType, MVT::v16i8,
23014 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23015 MVT::v16i8, 2, 16,
23016 0,
23017 0,
23018 15|128,1,
23019 OPC_MoveChild0,
23020 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23021 OPC_CheckChild0Integer, 127|128,1,
23022 OPC_CheckChild0TypeI32,
23023 OPC_MoveParent,
23024 OPC_RecordChild1,
23025 OPC_MoveParent,
23026 OPC_CheckType, MVT::v8i16,
23027 OPC_MoveSibling1,
23028 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
23029 OPC_MoveChild0,
23030 OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SMIN),
23031 OPC_Scope, 29,
23032 OPC_RecordChild0,
23033 OPC_MoveChild1,
23034 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23035 OPC_CheckChild0Integer, 127|128,1,
23036 OPC_CheckChild0TypeI32,
23037 OPC_MoveParent,
23038 OPC_MoveSibling1,
23039 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23040 OPC_CheckChild0Integer, 0,
23041 OPC_CheckChild0TypeI32,
23042 OPC_MoveParent,
23043 OPC_CheckType, MVT::v8i16,
23044 OPC_MoveParent,
23045 OPC_CheckType, MVT::v16i8,
23046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23047 MVT::v16i8, 2, 16,
23048 29,
23049 OPC_MoveChild0,
23050 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23051 OPC_CheckChild0Integer, 127|128,1,
23052 OPC_CheckChild0TypeI32,
23053 OPC_MoveParent,
23054 OPC_RecordChild1,
23055 OPC_MoveSibling1,
23056 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23057 OPC_CheckChild0Integer, 0,
23058 OPC_CheckChild0TypeI32,
23059 OPC_MoveParent,
23060 OPC_CheckType, MVT::v8i16,
23061 OPC_MoveParent,
23062 OPC_CheckType, MVT::v16i8,
23063 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23064 MVT::v16i8, 2, 16,
23065 0,
23066 55, TARGET_VAL(ISD::SPLAT_VECTOR),
23067 OPC_CheckChild0Integer, 0,
23068 OPC_CheckChild0TypeI32,
23069 OPC_MoveSibling1,
23070 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
23071 OPC_Scope, 22,
23072 OPC_RecordChild0,
23073 OPC_MoveChild1,
23074 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23075 OPC_CheckChild0Integer, 127|128,1,
23076 OPC_CheckChild0TypeI32,
23077 OPC_MoveParent,
23078 OPC_MoveParent,
23079 OPC_CheckType, MVT::v8i16,
23080 OPC_MoveParent,
23081 OPC_CheckType, MVT::v16i8,
23082 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23083 MVT::v16i8, 2, 16,
23084 22,
23085 OPC_MoveChild0,
23086 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23087 OPC_CheckChild0Integer, 127|128,1,
23088 OPC_CheckChild0TypeI32,
23089 OPC_MoveParent,
23090 OPC_RecordChild1,
23091 OPC_MoveParent,
23092 OPC_CheckType, MVT::v8i16,
23093 OPC_MoveParent,
23094 OPC_CheckType, MVT::v16i8,
23095 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23096 MVT::v16i8, 2, 16,
23097 0,
23098 0,
23099 20|128,1,
23100 OPC_RecordChild0,
23101 OPC_MoveChild1,
23102 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23103 OPC_CheckChild0Integer, 127|128,127|128,3,
23104 OPC_CheckChild0TypeI32,
23105 OPC_MoveParent,
23106 OPC_MoveParent,
23107 OPC_CheckType, MVT::v4i32,
23108 OPC_MoveSibling1,
23109 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
23110 OPC_MoveChild0,
23111 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMIN),
23112 OPC_Scope, 30,
23113 OPC_RecordChild0,
23114 OPC_MoveChild1,
23115 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23116 OPC_CheckChild0Integer, 127|128,127|128,3,
23117 OPC_CheckChild0TypeI32,
23118 OPC_MoveParent,
23119 OPC_MoveSibling1,
23120 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23121 OPC_CheckChild0Integer, 0,
23122 OPC_CheckChild0TypeI32,
23123 OPC_MoveParent,
23124 OPC_CheckType, MVT::v4i32,
23125 OPC_MoveParent,
23126 OPC_CheckType, MVT::v8i16,
23127 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23128 MVT::v8i16, 2, 16,
23129 30,
23130 OPC_MoveChild0,
23131 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23132 OPC_CheckChild0Integer, 127|128,127|128,3,
23133 OPC_CheckChild0TypeI32,
23134 OPC_MoveParent,
23135 OPC_RecordChild1,
23136 OPC_MoveSibling1,
23137 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23138 OPC_CheckChild0Integer, 0,
23139 OPC_CheckChild0TypeI32,
23140 OPC_MoveParent,
23141 OPC_CheckType, MVT::v4i32,
23142 OPC_MoveParent,
23143 OPC_CheckType, MVT::v8i16,
23144 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23145 MVT::v8i16, 2, 16,
23146 0,
23147 57, TARGET_VAL(ISD::SPLAT_VECTOR),
23148 OPC_CheckChild0Integer, 0,
23149 OPC_CheckChild0TypeI32,
23150 OPC_MoveSibling1,
23151 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
23152 OPC_Scope, 23,
23153 OPC_RecordChild0,
23154 OPC_MoveChild1,
23155 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23156 OPC_CheckChild0Integer, 127|128,127|128,3,
23157 OPC_CheckChild0TypeI32,
23158 OPC_MoveParent,
23159 OPC_MoveParent,
23160 OPC_CheckType, MVT::v4i32,
23161 OPC_MoveParent,
23162 OPC_CheckType, MVT::v8i16,
23163 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23164 MVT::v8i16, 2, 16,
23165 23,
23166 OPC_MoveChild0,
23167 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23168 OPC_CheckChild0Integer, 127|128,127|128,3,
23169 OPC_CheckChild0TypeI32,
23170 OPC_MoveParent,
23171 OPC_RecordChild1,
23172 OPC_MoveParent,
23173 OPC_CheckType, MVT::v4i32,
23174 OPC_MoveParent,
23175 OPC_CheckType, MVT::v8i16,
23176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23177 MVT::v8i16, 2, 16,
23178 0,
23179 0,
23180 20|128,1,
23181 OPC_MoveChild0,
23182 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23183 OPC_CheckChild0Integer, 127|128,127|128,3,
23184 OPC_CheckChild0TypeI32,
23185 OPC_MoveParent,
23186 OPC_RecordChild1,
23187 OPC_MoveParent,
23188 OPC_CheckType, MVT::v4i32,
23189 OPC_MoveSibling1,
23190 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
23191 OPC_MoveChild0,
23192 OPC_SwitchOpcode , 64, TARGET_VAL(ISD::SMIN),
23193 OPC_Scope, 30,
23194 OPC_RecordChild0,
23195 OPC_MoveChild1,
23196 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23197 OPC_CheckChild0Integer, 127|128,127|128,3,
23198 OPC_CheckChild0TypeI32,
23199 OPC_MoveParent,
23200 OPC_MoveSibling1,
23201 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23202 OPC_CheckChild0Integer, 0,
23203 OPC_CheckChild0TypeI32,
23204 OPC_MoveParent,
23205 OPC_CheckType, MVT::v4i32,
23206 OPC_MoveParent,
23207 OPC_CheckType, MVT::v8i16,
23208 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23209 MVT::v8i16, 2, 16,
23210 30,
23211 OPC_MoveChild0,
23212 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23213 OPC_CheckChild0Integer, 127|128,127|128,3,
23214 OPC_CheckChild0TypeI32,
23215 OPC_MoveParent,
23216 OPC_RecordChild1,
23217 OPC_MoveSibling1,
23218 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23219 OPC_CheckChild0Integer, 0,
23220 OPC_CheckChild0TypeI32,
23221 OPC_MoveParent,
23222 OPC_CheckType, MVT::v4i32,
23223 OPC_MoveParent,
23224 OPC_CheckType, MVT::v8i16,
23225 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23226 MVT::v8i16, 2, 16,
23227 0,
23228 57, TARGET_VAL(ISD::SPLAT_VECTOR),
23229 OPC_CheckChild0Integer, 0,
23230 OPC_CheckChild0TypeI32,
23231 OPC_MoveSibling1,
23232 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
23233 OPC_Scope, 23,
23234 OPC_RecordChild0,
23235 OPC_MoveChild1,
23236 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23237 OPC_CheckChild0Integer, 127|128,127|128,3,
23238 OPC_CheckChild0TypeI32,
23239 OPC_MoveParent,
23240 OPC_MoveParent,
23241 OPC_CheckType, MVT::v4i32,
23242 OPC_MoveParent,
23243 OPC_CheckType, MVT::v8i16,
23244 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23245 MVT::v8i16, 2, 16,
23246 23,
23247 OPC_MoveChild0,
23248 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23249 OPC_CheckChild0Integer, 127|128,127|128,3,
23250 OPC_CheckChild0TypeI32,
23251 OPC_MoveParent,
23252 OPC_RecordChild1,
23253 OPC_MoveParent,
23254 OPC_CheckType, MVT::v4i32,
23255 OPC_MoveParent,
23256 OPC_CheckType, MVT::v8i16,
23257 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23258 MVT::v8i16, 2, 16,
23259 0,
23260 0,
23261 0,
23262 0,
23263 0,
23264 29,
23265 OPC_RecordChild0,
23266 OPC_SwitchType , 11, MVT::v16i8,
23267 OPC_CheckChild0Type, MVT::v8i16,
23268 OPC_RecordChild1,
23269 OPC_CheckChild1Type, MVT::v8i16,
23270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
23271 MVT::v16i8, 2, 16,
23272 11, MVT::v8i16,
23273 OPC_CheckChild0Type, MVT::v4i32,
23274 OPC_RecordChild1,
23275 OPC_CheckChild1Type, MVT::v4i32,
23276 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
23277 MVT::v8i16, 2, 16,
23278 0,
23279 0,
23280 122|128,2, TARGET_VAL(ISD::BUILD_VECTOR),
23281 OPC_RecordChild0,
23282 OPC_MoveChild0,
23283 OPC_SwitchOpcode , 47|128,2, TARGET_VAL(ISD::Constant),
23284 OPC_SwitchType , 22|128,2, MVT::i32,
23285 OPC_Scope, 36|128,1,
23286 OPC_CheckPredicate, 10,
23287 OPC_MoveSibling1,
23288 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23289 OPC_RecordNode,
23290 OPC_CheckPredicate, 10,
23291 OPC_CheckTypeI32,
23292 OPC_MoveSibling2,
23293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23294 OPC_RecordNode,
23295 OPC_CheckPredicate, 10,
23296 OPC_CheckTypeI32,
23297 OPC_MoveSibling3,
23298 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23299 OPC_RecordNode,
23300 OPC_CheckPredicate, 10,
23301 OPC_CheckTypeI32,
23302 OPC_MoveSibling4,
23303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23304 OPC_RecordNode,
23305 OPC_CheckPredicate, 10,
23306 OPC_CheckTypeI32,
23307 OPC_MoveSibling5,
23308 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23309 OPC_RecordNode,
23310 OPC_CheckPredicate, 10,
23311 OPC_CheckTypeI32,
23312 OPC_MoveSibling6,
23313 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23314 OPC_RecordNode,
23315 OPC_CheckPredicate, 10,
23316 OPC_CheckTypeI32,
23317 OPC_MoveSibling7,
23318 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23319 OPC_RecordNode,
23320 OPC_CheckPredicate, 10,
23321 OPC_CheckTypeI32,
23322 OPC_MoveSibling, 8,
23323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23324 OPC_RecordNode,
23325 OPC_CheckPredicate, 10,
23326 OPC_CheckTypeI32,
23327 OPC_MoveSibling, 9,
23328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23329 OPC_RecordNode,
23330 OPC_CheckPredicate, 10,
23331 OPC_CheckTypeI32,
23332 OPC_MoveSibling, 10,
23333 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23334 OPC_RecordNode,
23335 OPC_CheckPredicate, 10,
23336 OPC_CheckTypeI32,
23337 OPC_MoveSibling, 11,
23338 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23339 OPC_RecordNode,
23340 OPC_CheckPredicate, 10,
23341 OPC_CheckTypeI32,
23342 OPC_MoveSibling, 12,
23343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23344 OPC_RecordNode,
23345 OPC_CheckPredicate, 10,
23346 OPC_CheckTypeI32,
23347 OPC_MoveSibling, 13,
23348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23349 OPC_RecordNode,
23350 OPC_CheckPredicate, 10,
23351 OPC_CheckTypeI32,
23352 OPC_MoveSibling, 14,
23353 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23354 OPC_RecordNode,
23355 OPC_CheckPredicate, 10,
23356 OPC_CheckTypeI32,
23357 OPC_MoveSibling, 15,
23358 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23359 OPC_RecordNode,
23360 OPC_CheckPredicate, 10,
23361 OPC_CheckTypeI32,
23362 OPC_MoveParent,
23363 OPC_CheckType, MVT::v16i8,
23364 OPC_CheckPatternPredicate0,
23365 OPC_EmitConvertToTarget0,
23366 OPC_EmitConvertToTarget1,
23367 OPC_EmitConvertToTarget2,
23368 OPC_EmitConvertToTarget3,
23369 OPC_EmitConvertToTarget4,
23370 OPC_EmitConvertToTarget5,
23371 OPC_EmitConvertToTarget6,
23372 OPC_EmitConvertToTarget7,
23373 OPC_EmitConvertToTarget, 8,
23374 OPC_EmitConvertToTarget, 9,
23375 OPC_EmitConvertToTarget, 10,
23376 OPC_EmitConvertToTarget, 11,
23377 OPC_EmitConvertToTarget, 12,
23378 OPC_EmitConvertToTarget, 13,
23379 OPC_EmitConvertToTarget, 14,
23380 OPC_EmitConvertToTarget, 15,
23381 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
23382 MVT::v16i8, 16, 124,
23383 76,
23384 OPC_CheckPredicate, 21,
23385 OPC_MoveSibling1,
23386 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23387 OPC_RecordNode,
23388 OPC_CheckPredicate, 21,
23389 OPC_CheckTypeI32,
23390 OPC_MoveSibling2,
23391 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23392 OPC_RecordNode,
23393 OPC_CheckPredicate, 21,
23394 OPC_CheckTypeI32,
23395 OPC_MoveSibling3,
23396 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23397 OPC_RecordNode,
23398 OPC_CheckPredicate, 21,
23399 OPC_CheckTypeI32,
23400 OPC_MoveSibling4,
23401 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23402 OPC_RecordNode,
23403 OPC_CheckPredicate, 21,
23404 OPC_CheckTypeI32,
23405 OPC_MoveSibling5,
23406 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23407 OPC_RecordNode,
23408 OPC_CheckPredicate, 21,
23409 OPC_CheckTypeI32,
23410 OPC_MoveSibling6,
23411 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23412 OPC_RecordNode,
23413 OPC_CheckPredicate, 21,
23414 OPC_CheckTypeI32,
23415 OPC_MoveSibling7,
23416 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23417 OPC_RecordNode,
23418 OPC_CheckPredicate, 21,
23419 OPC_CheckTypeI32,
23420 OPC_MoveParent,
23421 OPC_CheckType, MVT::v8i16,
23422 OPC_CheckPatternPredicate0,
23423 OPC_EmitConvertToTarget0,
23424 OPC_EmitConvertToTarget1,
23425 OPC_EmitConvertToTarget2,
23426 OPC_EmitConvertToTarget3,
23427 OPC_EmitConvertToTarget4,
23428 OPC_EmitConvertToTarget5,
23429 OPC_EmitConvertToTarget6,
23430 OPC_EmitConvertToTarget7,
23431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
23432 MVT::v8i16, 8, 100,
23433 32,
23434 OPC_MoveSibling1,
23435 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23436 OPC_RecordNode,
23437 OPC_CheckTypeI32,
23438 OPC_MoveSibling2,
23439 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23440 OPC_RecordNode,
23441 OPC_CheckTypeI32,
23442 OPC_MoveSibling3,
23443 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23444 OPC_RecordNode,
23445 OPC_CheckTypeI32,
23446 OPC_MoveParent,
23447 OPC_CheckType, MVT::v4i32,
23448 OPC_CheckPatternPredicate0,
23449 OPC_EmitConvertToTarget0,
23450 OPC_EmitConvertToTarget1,
23451 OPC_EmitConvertToTarget2,
23452 OPC_EmitConvertToTarget3,
23453 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
23454 MVT::v4i32, 4, 88,
23455 0,
23456 18, MVT::i64,
23457 OPC_MoveSibling1,
23458 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23459 OPC_RecordNode,
23460 OPC_CheckTypeI64,
23461 OPC_MoveParent,
23462 OPC_CheckType, MVT::v2i64,
23463 OPC_CheckPatternPredicate0,
23464 OPC_EmitConvertToTarget0,
23465 OPC_EmitConvertToTarget1,
23466 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
23467 MVT::v2i64, 2, 57,
23468 0,
23469 64, TARGET_VAL(ISD::ConstantFP),
23470 OPC_SwitchType , 37, MVT::f32,
23471 OPC_MoveSibling1,
23472 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
23473 OPC_RecordNode,
23474 OPC_CheckType, MVT::f32,
23475 OPC_MoveSibling2,
23476 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
23477 OPC_RecordNode,
23478 OPC_CheckType, MVT::f32,
23479 OPC_MoveSibling3,
23480 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
23481 OPC_RecordNode,
23482 OPC_CheckType, MVT::f32,
23483 OPC_MoveParent,
23484 OPC_CheckType, 8|128,1,
23485 OPC_CheckPatternPredicate0,
23486 OPC_EmitConvertToTarget0,
23487 OPC_EmitConvertToTarget1,
23488 OPC_EmitConvertToTarget2,
23489 OPC_EmitConvertToTarget3,
23490 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
23491 8|128,1, 4, 88,
23492 21, MVT::f64,
23493 OPC_MoveSibling1,
23494 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
23495 OPC_RecordNode,
23496 OPC_CheckType, MVT::f64,
23497 OPC_MoveParent,
23498 OPC_CheckType, 26|128,1,
23499 OPC_CheckPatternPredicate0,
23500 OPC_EmitConvertToTarget0,
23501 OPC_EmitConvertToTarget1,
23502 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
23503 26|128,1, 2, 57,
23504 0,
23505 0,
23506 2|128,17, TARGET_VAL(WebAssemblyISD::SHUFFLE),
23507 OPC_RecordChild0,
23508 OPC_Scope, 51|128,2,
23509 OPC_CheckChild0Type, MVT::v16i8,
23510 OPC_RecordChild1,
23511 OPC_CheckChild1Type, MVT::v16i8,
23512 OPC_RecordChild2,
23513 OPC_MoveChild2,
23514 OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::Constant),
23515 OPC_CheckPredicate0,
23516 OPC_CheckTypeI32,
23517 OPC_MoveSibling3,
23518 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23519 OPC_RecordNode,
23520 OPC_CheckPredicate0,
23521 OPC_CheckTypeI32,
23522 OPC_MoveSibling4,
23523 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23524 OPC_RecordNode,
23525 OPC_CheckPredicate0,
23526 OPC_CheckTypeI32,
23527 OPC_MoveSibling5,
23528 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23529 OPC_RecordNode,
23530 OPC_CheckPredicate0,
23531 OPC_CheckTypeI32,
23532 OPC_MoveSibling6,
23533 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23534 OPC_RecordNode,
23535 OPC_CheckPredicate0,
23536 OPC_CheckTypeI32,
23537 OPC_MoveSibling7,
23538 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23539 OPC_RecordNode,
23540 OPC_CheckPredicate0,
23541 OPC_CheckTypeI32,
23542 OPC_MoveSibling, 8,
23543 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23544 OPC_RecordNode,
23545 OPC_CheckPredicate0,
23546 OPC_CheckTypeI32,
23547 OPC_MoveSibling, 9,
23548 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23549 OPC_RecordNode,
23550 OPC_CheckPredicate0,
23551 OPC_CheckTypeI32,
23552 OPC_MoveSibling, 10,
23553 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23554 OPC_RecordNode,
23555 OPC_CheckPredicate0,
23556 OPC_CheckTypeI32,
23557 OPC_MoveSibling, 11,
23558 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23559 OPC_RecordNode,
23560 OPC_CheckPredicate0,
23561 OPC_CheckTypeI32,
23562 OPC_MoveSibling, 12,
23563 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23564 OPC_RecordNode,
23565 OPC_CheckPredicate0,
23566 OPC_CheckTypeI32,
23567 OPC_MoveSibling, 13,
23568 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23569 OPC_RecordNode,
23570 OPC_CheckPredicate0,
23571 OPC_CheckTypeI32,
23572 OPC_MoveSibling, 14,
23573 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23574 OPC_RecordNode,
23575 OPC_CheckPredicate0,
23576 OPC_CheckTypeI32,
23577 OPC_MoveSibling, 15,
23578 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23579 OPC_RecordNode,
23580 OPC_CheckPredicate0,
23581 OPC_CheckTypeI32,
23582 OPC_MoveSibling, 16,
23583 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23584 OPC_RecordNode,
23585 OPC_CheckPredicate0,
23586 OPC_CheckTypeI32,
23587 OPC_MoveSibling, 17,
23588 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23589 OPC_RecordNode,
23590 OPC_CheckPredicate0,
23591 OPC_CheckTypeI32,
23592 OPC_MoveParent,
23593 OPC_CheckType, MVT::v16i8,
23594 OPC_EmitConvertToTarget2,
23595 OPC_EmitConvertToTarget3,
23596 OPC_EmitConvertToTarget4,
23597 OPC_EmitConvertToTarget5,
23598 OPC_EmitConvertToTarget6,
23599 OPC_EmitConvertToTarget7,
23600 OPC_EmitConvertToTarget, 8,
23601 OPC_EmitConvertToTarget, 9,
23602 OPC_EmitConvertToTarget, 10,
23603 OPC_EmitConvertToTarget, 11,
23604 OPC_EmitConvertToTarget, 12,
23605 OPC_EmitConvertToTarget, 13,
23606 OPC_EmitConvertToTarget, 14,
23607 OPC_EmitConvertToTarget, 15,
23608 OPC_EmitConvertToTarget, 16,
23609 OPC_EmitConvertToTarget, 17,
23610 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
23611 MVT::v16i8, 18, 12|128,1,
23612 9|128,1, TARGET_VAL(ISD::TargetConstant),
23613 OPC_CheckTypeI32,
23614 OPC_MoveSibling3,
23615 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23616 OPC_RecordNode,
23617 OPC_CheckTypeI32,
23618 OPC_MoveSibling4,
23619 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23620 OPC_RecordNode,
23621 OPC_CheckTypeI32,
23622 OPC_MoveSibling5,
23623 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23624 OPC_RecordNode,
23625 OPC_CheckTypeI32,
23626 OPC_MoveSibling6,
23627 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23628 OPC_RecordNode,
23629 OPC_CheckTypeI32,
23630 OPC_MoveSibling7,
23631 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23632 OPC_RecordNode,
23633 OPC_CheckTypeI32,
23634 OPC_MoveSibling, 8,
23635 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23636 OPC_RecordNode,
23637 OPC_CheckTypeI32,
23638 OPC_MoveSibling, 9,
23639 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23640 OPC_RecordNode,
23641 OPC_CheckTypeI32,
23642 OPC_MoveSibling, 10,
23643 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23644 OPC_RecordNode,
23645 OPC_CheckTypeI32,
23646 OPC_MoveSibling, 11,
23647 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23648 OPC_RecordNode,
23649 OPC_CheckTypeI32,
23650 OPC_MoveSibling, 12,
23651 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23652 OPC_RecordNode,
23653 OPC_CheckTypeI32,
23654 OPC_MoveSibling, 13,
23655 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23656 OPC_RecordNode,
23657 OPC_CheckTypeI32,
23658 OPC_MoveSibling, 14,
23659 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23660 OPC_RecordNode,
23661 OPC_CheckTypeI32,
23662 OPC_MoveSibling, 15,
23663 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23664 OPC_RecordNode,
23665 OPC_CheckTypeI32,
23666 OPC_MoveSibling, 16,
23667 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23668 OPC_RecordNode,
23669 OPC_CheckTypeI32,
23670 OPC_MoveSibling, 17,
23671 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23672 OPC_RecordNode,
23673 OPC_CheckTypeI32,
23674 OPC_MoveParent,
23675 OPC_CheckType, MVT::v16i8,
23676 OPC_EmitConvertToTarget2,
23677 OPC_EmitConvertToTarget3,
23678 OPC_EmitConvertToTarget4,
23679 OPC_EmitConvertToTarget5,
23680 OPC_EmitConvertToTarget6,
23681 OPC_EmitConvertToTarget7,
23682 OPC_EmitConvertToTarget, 8,
23683 OPC_EmitConvertToTarget, 9,
23684 OPC_EmitConvertToTarget, 10,
23685 OPC_EmitConvertToTarget, 11,
23686 OPC_EmitConvertToTarget, 12,
23687 OPC_EmitConvertToTarget, 13,
23688 OPC_EmitConvertToTarget, 14,
23689 OPC_EmitConvertToTarget, 15,
23690 OPC_EmitConvertToTarget, 16,
23691 OPC_EmitConvertToTarget, 17,
23692 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
23693 MVT::v16i8, 18, 12|128,1,
23694 0,
23695 51|128,2,
23696 OPC_CheckChild0Type, MVT::v8i16,
23697 OPC_RecordChild1,
23698 OPC_CheckChild1Type, MVT::v8i16,
23699 OPC_RecordChild2,
23700 OPC_MoveChild2,
23701 OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::Constant),
23702 OPC_CheckPredicate0,
23703 OPC_CheckTypeI32,
23704 OPC_MoveSibling3,
23705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23706 OPC_RecordNode,
23707 OPC_CheckPredicate0,
23708 OPC_CheckTypeI32,
23709 OPC_MoveSibling4,
23710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23711 OPC_RecordNode,
23712 OPC_CheckPredicate0,
23713 OPC_CheckTypeI32,
23714 OPC_MoveSibling5,
23715 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23716 OPC_RecordNode,
23717 OPC_CheckPredicate0,
23718 OPC_CheckTypeI32,
23719 OPC_MoveSibling6,
23720 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23721 OPC_RecordNode,
23722 OPC_CheckPredicate0,
23723 OPC_CheckTypeI32,
23724 OPC_MoveSibling7,
23725 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23726 OPC_RecordNode,
23727 OPC_CheckPredicate0,
23728 OPC_CheckTypeI32,
23729 OPC_MoveSibling, 8,
23730 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23731 OPC_RecordNode,
23732 OPC_CheckPredicate0,
23733 OPC_CheckTypeI32,
23734 OPC_MoveSibling, 9,
23735 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23736 OPC_RecordNode,
23737 OPC_CheckPredicate0,
23738 OPC_CheckTypeI32,
23739 OPC_MoveSibling, 10,
23740 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23741 OPC_RecordNode,
23742 OPC_CheckPredicate0,
23743 OPC_CheckTypeI32,
23744 OPC_MoveSibling, 11,
23745 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23746 OPC_RecordNode,
23747 OPC_CheckPredicate0,
23748 OPC_CheckTypeI32,
23749 OPC_MoveSibling, 12,
23750 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23751 OPC_RecordNode,
23752 OPC_CheckPredicate0,
23753 OPC_CheckTypeI32,
23754 OPC_MoveSibling, 13,
23755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23756 OPC_RecordNode,
23757 OPC_CheckPredicate0,
23758 OPC_CheckTypeI32,
23759 OPC_MoveSibling, 14,
23760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23761 OPC_RecordNode,
23762 OPC_CheckPredicate0,
23763 OPC_CheckTypeI32,
23764 OPC_MoveSibling, 15,
23765 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23766 OPC_RecordNode,
23767 OPC_CheckPredicate0,
23768 OPC_CheckTypeI32,
23769 OPC_MoveSibling, 16,
23770 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23771 OPC_RecordNode,
23772 OPC_CheckPredicate0,
23773 OPC_CheckTypeI32,
23774 OPC_MoveSibling, 17,
23775 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23776 OPC_RecordNode,
23777 OPC_CheckPredicate0,
23778 OPC_CheckTypeI32,
23779 OPC_MoveParent,
23780 OPC_CheckType, MVT::v8i16,
23781 OPC_EmitConvertToTarget2,
23782 OPC_EmitConvertToTarget3,
23783 OPC_EmitConvertToTarget4,
23784 OPC_EmitConvertToTarget5,
23785 OPC_EmitConvertToTarget6,
23786 OPC_EmitConvertToTarget7,
23787 OPC_EmitConvertToTarget, 8,
23788 OPC_EmitConvertToTarget, 9,
23789 OPC_EmitConvertToTarget, 10,
23790 OPC_EmitConvertToTarget, 11,
23791 OPC_EmitConvertToTarget, 12,
23792 OPC_EmitConvertToTarget, 13,
23793 OPC_EmitConvertToTarget, 14,
23794 OPC_EmitConvertToTarget, 15,
23795 OPC_EmitConvertToTarget, 16,
23796 OPC_EmitConvertToTarget, 17,
23797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
23798 MVT::v8i16, 18, 12|128,1,
23799 9|128,1, TARGET_VAL(ISD::TargetConstant),
23800 OPC_CheckTypeI32,
23801 OPC_MoveSibling3,
23802 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23803 OPC_RecordNode,
23804 OPC_CheckTypeI32,
23805 OPC_MoveSibling4,
23806 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23807 OPC_RecordNode,
23808 OPC_CheckTypeI32,
23809 OPC_MoveSibling5,
23810 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23811 OPC_RecordNode,
23812 OPC_CheckTypeI32,
23813 OPC_MoveSibling6,
23814 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23815 OPC_RecordNode,
23816 OPC_CheckTypeI32,
23817 OPC_MoveSibling7,
23818 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23819 OPC_RecordNode,
23820 OPC_CheckTypeI32,
23821 OPC_MoveSibling, 8,
23822 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23823 OPC_RecordNode,
23824 OPC_CheckTypeI32,
23825 OPC_MoveSibling, 9,
23826 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23827 OPC_RecordNode,
23828 OPC_CheckTypeI32,
23829 OPC_MoveSibling, 10,
23830 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23831 OPC_RecordNode,
23832 OPC_CheckTypeI32,
23833 OPC_MoveSibling, 11,
23834 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23835 OPC_RecordNode,
23836 OPC_CheckTypeI32,
23837 OPC_MoveSibling, 12,
23838 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23839 OPC_RecordNode,
23840 OPC_CheckTypeI32,
23841 OPC_MoveSibling, 13,
23842 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23843 OPC_RecordNode,
23844 OPC_CheckTypeI32,
23845 OPC_MoveSibling, 14,
23846 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23847 OPC_RecordNode,
23848 OPC_CheckTypeI32,
23849 OPC_MoveSibling, 15,
23850 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23851 OPC_RecordNode,
23852 OPC_CheckTypeI32,
23853 OPC_MoveSibling, 16,
23854 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23855 OPC_RecordNode,
23856 OPC_CheckTypeI32,
23857 OPC_MoveSibling, 17,
23858 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23859 OPC_RecordNode,
23860 OPC_CheckTypeI32,
23861 OPC_MoveParent,
23862 OPC_CheckType, MVT::v8i16,
23863 OPC_EmitConvertToTarget2,
23864 OPC_EmitConvertToTarget3,
23865 OPC_EmitConvertToTarget4,
23866 OPC_EmitConvertToTarget5,
23867 OPC_EmitConvertToTarget6,
23868 OPC_EmitConvertToTarget7,
23869 OPC_EmitConvertToTarget, 8,
23870 OPC_EmitConvertToTarget, 9,
23871 OPC_EmitConvertToTarget, 10,
23872 OPC_EmitConvertToTarget, 11,
23873 OPC_EmitConvertToTarget, 12,
23874 OPC_EmitConvertToTarget, 13,
23875 OPC_EmitConvertToTarget, 14,
23876 OPC_EmitConvertToTarget, 15,
23877 OPC_EmitConvertToTarget, 16,
23878 OPC_EmitConvertToTarget, 17,
23879 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
23880 MVT::v8i16, 18, 12|128,1,
23881 0,
23882 51|128,2,
23883 OPC_CheckChild0Type, MVT::v4i32,
23884 OPC_RecordChild1,
23885 OPC_CheckChild1Type, MVT::v4i32,
23886 OPC_RecordChild2,
23887 OPC_MoveChild2,
23888 OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::Constant),
23889 OPC_CheckPredicate0,
23890 OPC_CheckTypeI32,
23891 OPC_MoveSibling3,
23892 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23893 OPC_RecordNode,
23894 OPC_CheckPredicate0,
23895 OPC_CheckTypeI32,
23896 OPC_MoveSibling4,
23897 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23898 OPC_RecordNode,
23899 OPC_CheckPredicate0,
23900 OPC_CheckTypeI32,
23901 OPC_MoveSibling5,
23902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23903 OPC_RecordNode,
23904 OPC_CheckPredicate0,
23905 OPC_CheckTypeI32,
23906 OPC_MoveSibling6,
23907 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23908 OPC_RecordNode,
23909 OPC_CheckPredicate0,
23910 OPC_CheckTypeI32,
23911 OPC_MoveSibling7,
23912 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23913 OPC_RecordNode,
23914 OPC_CheckPredicate0,
23915 OPC_CheckTypeI32,
23916 OPC_MoveSibling, 8,
23917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23918 OPC_RecordNode,
23919 OPC_CheckPredicate0,
23920 OPC_CheckTypeI32,
23921 OPC_MoveSibling, 9,
23922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23923 OPC_RecordNode,
23924 OPC_CheckPredicate0,
23925 OPC_CheckTypeI32,
23926 OPC_MoveSibling, 10,
23927 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23928 OPC_RecordNode,
23929 OPC_CheckPredicate0,
23930 OPC_CheckTypeI32,
23931 OPC_MoveSibling, 11,
23932 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23933 OPC_RecordNode,
23934 OPC_CheckPredicate0,
23935 OPC_CheckTypeI32,
23936 OPC_MoveSibling, 12,
23937 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23938 OPC_RecordNode,
23939 OPC_CheckPredicate0,
23940 OPC_CheckTypeI32,
23941 OPC_MoveSibling, 13,
23942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23943 OPC_RecordNode,
23944 OPC_CheckPredicate0,
23945 OPC_CheckTypeI32,
23946 OPC_MoveSibling, 14,
23947 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23948 OPC_RecordNode,
23949 OPC_CheckPredicate0,
23950 OPC_CheckTypeI32,
23951 OPC_MoveSibling, 15,
23952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23953 OPC_RecordNode,
23954 OPC_CheckPredicate0,
23955 OPC_CheckTypeI32,
23956 OPC_MoveSibling, 16,
23957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23958 OPC_RecordNode,
23959 OPC_CheckPredicate0,
23960 OPC_CheckTypeI32,
23961 OPC_MoveSibling, 17,
23962 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23963 OPC_RecordNode,
23964 OPC_CheckPredicate0,
23965 OPC_CheckTypeI32,
23966 OPC_MoveParent,
23967 OPC_CheckType, MVT::v4i32,
23968 OPC_EmitConvertToTarget2,
23969 OPC_EmitConvertToTarget3,
23970 OPC_EmitConvertToTarget4,
23971 OPC_EmitConvertToTarget5,
23972 OPC_EmitConvertToTarget6,
23973 OPC_EmitConvertToTarget7,
23974 OPC_EmitConvertToTarget, 8,
23975 OPC_EmitConvertToTarget, 9,
23976 OPC_EmitConvertToTarget, 10,
23977 OPC_EmitConvertToTarget, 11,
23978 OPC_EmitConvertToTarget, 12,
23979 OPC_EmitConvertToTarget, 13,
23980 OPC_EmitConvertToTarget, 14,
23981 OPC_EmitConvertToTarget, 15,
23982 OPC_EmitConvertToTarget, 16,
23983 OPC_EmitConvertToTarget, 17,
23984 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
23985 MVT::v4i32, 18, 12|128,1,
23986 9|128,1, TARGET_VAL(ISD::TargetConstant),
23987 OPC_CheckTypeI32,
23988 OPC_MoveSibling3,
23989 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23990 OPC_RecordNode,
23991 OPC_CheckTypeI32,
23992 OPC_MoveSibling4,
23993 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23994 OPC_RecordNode,
23995 OPC_CheckTypeI32,
23996 OPC_MoveSibling5,
23997 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
23998 OPC_RecordNode,
23999 OPC_CheckTypeI32,
24000 OPC_MoveSibling6,
24001 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24002 OPC_RecordNode,
24003 OPC_CheckTypeI32,
24004 OPC_MoveSibling7,
24005 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24006 OPC_RecordNode,
24007 OPC_CheckTypeI32,
24008 OPC_MoveSibling, 8,
24009 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24010 OPC_RecordNode,
24011 OPC_CheckTypeI32,
24012 OPC_MoveSibling, 9,
24013 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24014 OPC_RecordNode,
24015 OPC_CheckTypeI32,
24016 OPC_MoveSibling, 10,
24017 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24018 OPC_RecordNode,
24019 OPC_CheckTypeI32,
24020 OPC_MoveSibling, 11,
24021 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24022 OPC_RecordNode,
24023 OPC_CheckTypeI32,
24024 OPC_MoveSibling, 12,
24025 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24026 OPC_RecordNode,
24027 OPC_CheckTypeI32,
24028 OPC_MoveSibling, 13,
24029 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24030 OPC_RecordNode,
24031 OPC_CheckTypeI32,
24032 OPC_MoveSibling, 14,
24033 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24034 OPC_RecordNode,
24035 OPC_CheckTypeI32,
24036 OPC_MoveSibling, 15,
24037 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24038 OPC_RecordNode,
24039 OPC_CheckTypeI32,
24040 OPC_MoveSibling, 16,
24041 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24042 OPC_RecordNode,
24043 OPC_CheckTypeI32,
24044 OPC_MoveSibling, 17,
24045 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24046 OPC_RecordNode,
24047 OPC_CheckTypeI32,
24048 OPC_MoveParent,
24049 OPC_CheckType, MVT::v4i32,
24050 OPC_EmitConvertToTarget2,
24051 OPC_EmitConvertToTarget3,
24052 OPC_EmitConvertToTarget4,
24053 OPC_EmitConvertToTarget5,
24054 OPC_EmitConvertToTarget6,
24055 OPC_EmitConvertToTarget7,
24056 OPC_EmitConvertToTarget, 8,
24057 OPC_EmitConvertToTarget, 9,
24058 OPC_EmitConvertToTarget, 10,
24059 OPC_EmitConvertToTarget, 11,
24060 OPC_EmitConvertToTarget, 12,
24061 OPC_EmitConvertToTarget, 13,
24062 OPC_EmitConvertToTarget, 14,
24063 OPC_EmitConvertToTarget, 15,
24064 OPC_EmitConvertToTarget, 16,
24065 OPC_EmitConvertToTarget, 17,
24066 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24067 MVT::v4i32, 18, 12|128,1,
24068 0,
24069 51|128,2,
24070 OPC_CheckChild0Type, MVT::v2i64,
24071 OPC_RecordChild1,
24072 OPC_CheckChild1Type, MVT::v2i64,
24073 OPC_RecordChild2,
24074 OPC_MoveChild2,
24075 OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::Constant),
24076 OPC_CheckPredicate0,
24077 OPC_CheckTypeI32,
24078 OPC_MoveSibling3,
24079 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24080 OPC_RecordNode,
24081 OPC_CheckPredicate0,
24082 OPC_CheckTypeI32,
24083 OPC_MoveSibling4,
24084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24085 OPC_RecordNode,
24086 OPC_CheckPredicate0,
24087 OPC_CheckTypeI32,
24088 OPC_MoveSibling5,
24089 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24090 OPC_RecordNode,
24091 OPC_CheckPredicate0,
24092 OPC_CheckTypeI32,
24093 OPC_MoveSibling6,
24094 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24095 OPC_RecordNode,
24096 OPC_CheckPredicate0,
24097 OPC_CheckTypeI32,
24098 OPC_MoveSibling7,
24099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24100 OPC_RecordNode,
24101 OPC_CheckPredicate0,
24102 OPC_CheckTypeI32,
24103 OPC_MoveSibling, 8,
24104 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24105 OPC_RecordNode,
24106 OPC_CheckPredicate0,
24107 OPC_CheckTypeI32,
24108 OPC_MoveSibling, 9,
24109 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24110 OPC_RecordNode,
24111 OPC_CheckPredicate0,
24112 OPC_CheckTypeI32,
24113 OPC_MoveSibling, 10,
24114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24115 OPC_RecordNode,
24116 OPC_CheckPredicate0,
24117 OPC_CheckTypeI32,
24118 OPC_MoveSibling, 11,
24119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24120 OPC_RecordNode,
24121 OPC_CheckPredicate0,
24122 OPC_CheckTypeI32,
24123 OPC_MoveSibling, 12,
24124 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24125 OPC_RecordNode,
24126 OPC_CheckPredicate0,
24127 OPC_CheckTypeI32,
24128 OPC_MoveSibling, 13,
24129 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24130 OPC_RecordNode,
24131 OPC_CheckPredicate0,
24132 OPC_CheckTypeI32,
24133 OPC_MoveSibling, 14,
24134 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24135 OPC_RecordNode,
24136 OPC_CheckPredicate0,
24137 OPC_CheckTypeI32,
24138 OPC_MoveSibling, 15,
24139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24140 OPC_RecordNode,
24141 OPC_CheckPredicate0,
24142 OPC_CheckTypeI32,
24143 OPC_MoveSibling, 16,
24144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24145 OPC_RecordNode,
24146 OPC_CheckPredicate0,
24147 OPC_CheckTypeI32,
24148 OPC_MoveSibling, 17,
24149 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24150 OPC_RecordNode,
24151 OPC_CheckPredicate0,
24152 OPC_CheckTypeI32,
24153 OPC_MoveParent,
24154 OPC_CheckType, MVT::v2i64,
24155 OPC_EmitConvertToTarget2,
24156 OPC_EmitConvertToTarget3,
24157 OPC_EmitConvertToTarget4,
24158 OPC_EmitConvertToTarget5,
24159 OPC_EmitConvertToTarget6,
24160 OPC_EmitConvertToTarget7,
24161 OPC_EmitConvertToTarget, 8,
24162 OPC_EmitConvertToTarget, 9,
24163 OPC_EmitConvertToTarget, 10,
24164 OPC_EmitConvertToTarget, 11,
24165 OPC_EmitConvertToTarget, 12,
24166 OPC_EmitConvertToTarget, 13,
24167 OPC_EmitConvertToTarget, 14,
24168 OPC_EmitConvertToTarget, 15,
24169 OPC_EmitConvertToTarget, 16,
24170 OPC_EmitConvertToTarget, 17,
24171 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24172 MVT::v2i64, 18, 12|128,1,
24173 9|128,1, TARGET_VAL(ISD::TargetConstant),
24174 OPC_CheckTypeI32,
24175 OPC_MoveSibling3,
24176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24177 OPC_RecordNode,
24178 OPC_CheckTypeI32,
24179 OPC_MoveSibling4,
24180 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24181 OPC_RecordNode,
24182 OPC_CheckTypeI32,
24183 OPC_MoveSibling5,
24184 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24185 OPC_RecordNode,
24186 OPC_CheckTypeI32,
24187 OPC_MoveSibling6,
24188 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24189 OPC_RecordNode,
24190 OPC_CheckTypeI32,
24191 OPC_MoveSibling7,
24192 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24193 OPC_RecordNode,
24194 OPC_CheckTypeI32,
24195 OPC_MoveSibling, 8,
24196 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24197 OPC_RecordNode,
24198 OPC_CheckTypeI32,
24199 OPC_MoveSibling, 9,
24200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24201 OPC_RecordNode,
24202 OPC_CheckTypeI32,
24203 OPC_MoveSibling, 10,
24204 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24205 OPC_RecordNode,
24206 OPC_CheckTypeI32,
24207 OPC_MoveSibling, 11,
24208 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24209 OPC_RecordNode,
24210 OPC_CheckTypeI32,
24211 OPC_MoveSibling, 12,
24212 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24213 OPC_RecordNode,
24214 OPC_CheckTypeI32,
24215 OPC_MoveSibling, 13,
24216 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24217 OPC_RecordNode,
24218 OPC_CheckTypeI32,
24219 OPC_MoveSibling, 14,
24220 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24221 OPC_RecordNode,
24222 OPC_CheckTypeI32,
24223 OPC_MoveSibling, 15,
24224 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24225 OPC_RecordNode,
24226 OPC_CheckTypeI32,
24227 OPC_MoveSibling, 16,
24228 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24229 OPC_RecordNode,
24230 OPC_CheckTypeI32,
24231 OPC_MoveSibling, 17,
24232 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24233 OPC_RecordNode,
24234 OPC_CheckTypeI32,
24235 OPC_MoveParent,
24236 OPC_CheckType, MVT::v2i64,
24237 OPC_EmitConvertToTarget2,
24238 OPC_EmitConvertToTarget3,
24239 OPC_EmitConvertToTarget4,
24240 OPC_EmitConvertToTarget5,
24241 OPC_EmitConvertToTarget6,
24242 OPC_EmitConvertToTarget7,
24243 OPC_EmitConvertToTarget, 8,
24244 OPC_EmitConvertToTarget, 9,
24245 OPC_EmitConvertToTarget, 10,
24246 OPC_EmitConvertToTarget, 11,
24247 OPC_EmitConvertToTarget, 12,
24248 OPC_EmitConvertToTarget, 13,
24249 OPC_EmitConvertToTarget, 14,
24250 OPC_EmitConvertToTarget, 15,
24251 OPC_EmitConvertToTarget, 16,
24252 OPC_EmitConvertToTarget, 17,
24253 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24254 MVT::v2i64, 18, 12|128,1,
24255 0,
24256 57|128,2,
24257 OPC_CheckChild0Type, 8|128,1,
24258 OPC_RecordChild1,
24259 OPC_CheckChild1Type, 8|128,1,
24260 OPC_RecordChild2,
24261 OPC_MoveChild2,
24262 OPC_SwitchOpcode , 27|128,1, TARGET_VAL(ISD::Constant),
24263 OPC_CheckPredicate0,
24264 OPC_CheckTypeI32,
24265 OPC_MoveSibling3,
24266 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24267 OPC_RecordNode,
24268 OPC_CheckPredicate0,
24269 OPC_CheckTypeI32,
24270 OPC_MoveSibling4,
24271 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24272 OPC_RecordNode,
24273 OPC_CheckPredicate0,
24274 OPC_CheckTypeI32,
24275 OPC_MoveSibling5,
24276 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24277 OPC_RecordNode,
24278 OPC_CheckPredicate0,
24279 OPC_CheckTypeI32,
24280 OPC_MoveSibling6,
24281 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24282 OPC_RecordNode,
24283 OPC_CheckPredicate0,
24284 OPC_CheckTypeI32,
24285 OPC_MoveSibling7,
24286 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24287 OPC_RecordNode,
24288 OPC_CheckPredicate0,
24289 OPC_CheckTypeI32,
24290 OPC_MoveSibling, 8,
24291 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24292 OPC_RecordNode,
24293 OPC_CheckPredicate0,
24294 OPC_CheckTypeI32,
24295 OPC_MoveSibling, 9,
24296 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24297 OPC_RecordNode,
24298 OPC_CheckPredicate0,
24299 OPC_CheckTypeI32,
24300 OPC_MoveSibling, 10,
24301 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24302 OPC_RecordNode,
24303 OPC_CheckPredicate0,
24304 OPC_CheckTypeI32,
24305 OPC_MoveSibling, 11,
24306 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24307 OPC_RecordNode,
24308 OPC_CheckPredicate0,
24309 OPC_CheckTypeI32,
24310 OPC_MoveSibling, 12,
24311 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24312 OPC_RecordNode,
24313 OPC_CheckPredicate0,
24314 OPC_CheckTypeI32,
24315 OPC_MoveSibling, 13,
24316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24317 OPC_RecordNode,
24318 OPC_CheckPredicate0,
24319 OPC_CheckTypeI32,
24320 OPC_MoveSibling, 14,
24321 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24322 OPC_RecordNode,
24323 OPC_CheckPredicate0,
24324 OPC_CheckTypeI32,
24325 OPC_MoveSibling, 15,
24326 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24327 OPC_RecordNode,
24328 OPC_CheckPredicate0,
24329 OPC_CheckTypeI32,
24330 OPC_MoveSibling, 16,
24331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24332 OPC_RecordNode,
24333 OPC_CheckPredicate0,
24334 OPC_CheckTypeI32,
24335 OPC_MoveSibling, 17,
24336 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24337 OPC_RecordNode,
24338 OPC_CheckPredicate0,
24339 OPC_CheckTypeI32,
24340 OPC_MoveParent,
24341 OPC_CheckType, 8|128,1,
24342 OPC_EmitConvertToTarget2,
24343 OPC_EmitConvertToTarget3,
24344 OPC_EmitConvertToTarget4,
24345 OPC_EmitConvertToTarget5,
24346 OPC_EmitConvertToTarget6,
24347 OPC_EmitConvertToTarget7,
24348 OPC_EmitConvertToTarget, 8,
24349 OPC_EmitConvertToTarget, 9,
24350 OPC_EmitConvertToTarget, 10,
24351 OPC_EmitConvertToTarget, 11,
24352 OPC_EmitConvertToTarget, 12,
24353 OPC_EmitConvertToTarget, 13,
24354 OPC_EmitConvertToTarget, 14,
24355 OPC_EmitConvertToTarget, 15,
24356 OPC_EmitConvertToTarget, 16,
24357 OPC_EmitConvertToTarget, 17,
24358 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24359 8|128,1, 18, 12|128,1,
24360 11|128,1, TARGET_VAL(ISD::TargetConstant),
24361 OPC_CheckTypeI32,
24362 OPC_MoveSibling3,
24363 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24364 OPC_RecordNode,
24365 OPC_CheckTypeI32,
24366 OPC_MoveSibling4,
24367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24368 OPC_RecordNode,
24369 OPC_CheckTypeI32,
24370 OPC_MoveSibling5,
24371 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24372 OPC_RecordNode,
24373 OPC_CheckTypeI32,
24374 OPC_MoveSibling6,
24375 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24376 OPC_RecordNode,
24377 OPC_CheckTypeI32,
24378 OPC_MoveSibling7,
24379 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24380 OPC_RecordNode,
24381 OPC_CheckTypeI32,
24382 OPC_MoveSibling, 8,
24383 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24384 OPC_RecordNode,
24385 OPC_CheckTypeI32,
24386 OPC_MoveSibling, 9,
24387 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24388 OPC_RecordNode,
24389 OPC_CheckTypeI32,
24390 OPC_MoveSibling, 10,
24391 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24392 OPC_RecordNode,
24393 OPC_CheckTypeI32,
24394 OPC_MoveSibling, 11,
24395 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24396 OPC_RecordNode,
24397 OPC_CheckTypeI32,
24398 OPC_MoveSibling, 12,
24399 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24400 OPC_RecordNode,
24401 OPC_CheckTypeI32,
24402 OPC_MoveSibling, 13,
24403 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24404 OPC_RecordNode,
24405 OPC_CheckTypeI32,
24406 OPC_MoveSibling, 14,
24407 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24408 OPC_RecordNode,
24409 OPC_CheckTypeI32,
24410 OPC_MoveSibling, 15,
24411 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24412 OPC_RecordNode,
24413 OPC_CheckTypeI32,
24414 OPC_MoveSibling, 16,
24415 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24416 OPC_RecordNode,
24417 OPC_CheckTypeI32,
24418 OPC_MoveSibling, 17,
24419 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24420 OPC_RecordNode,
24421 OPC_CheckTypeI32,
24422 OPC_MoveParent,
24423 OPC_CheckType, 8|128,1,
24424 OPC_EmitConvertToTarget2,
24425 OPC_EmitConvertToTarget3,
24426 OPC_EmitConvertToTarget4,
24427 OPC_EmitConvertToTarget5,
24428 OPC_EmitConvertToTarget6,
24429 OPC_EmitConvertToTarget7,
24430 OPC_EmitConvertToTarget, 8,
24431 OPC_EmitConvertToTarget, 9,
24432 OPC_EmitConvertToTarget, 10,
24433 OPC_EmitConvertToTarget, 11,
24434 OPC_EmitConvertToTarget, 12,
24435 OPC_EmitConvertToTarget, 13,
24436 OPC_EmitConvertToTarget, 14,
24437 OPC_EmitConvertToTarget, 15,
24438 OPC_EmitConvertToTarget, 16,
24439 OPC_EmitConvertToTarget, 17,
24440 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24441 8|128,1, 18, 12|128,1,
24442 0,
24443 57|128,2,
24444 OPC_CheckChild0Type, 26|128,1,
24445 OPC_RecordChild1,
24446 OPC_CheckChild1Type, 26|128,1,
24447 OPC_RecordChild2,
24448 OPC_MoveChild2,
24449 OPC_SwitchOpcode , 27|128,1, TARGET_VAL(ISD::Constant),
24450 OPC_CheckPredicate0,
24451 OPC_CheckTypeI32,
24452 OPC_MoveSibling3,
24453 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24454 OPC_RecordNode,
24455 OPC_CheckPredicate0,
24456 OPC_CheckTypeI32,
24457 OPC_MoveSibling4,
24458 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24459 OPC_RecordNode,
24460 OPC_CheckPredicate0,
24461 OPC_CheckTypeI32,
24462 OPC_MoveSibling5,
24463 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24464 OPC_RecordNode,
24465 OPC_CheckPredicate0,
24466 OPC_CheckTypeI32,
24467 OPC_MoveSibling6,
24468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24469 OPC_RecordNode,
24470 OPC_CheckPredicate0,
24471 OPC_CheckTypeI32,
24472 OPC_MoveSibling7,
24473 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24474 OPC_RecordNode,
24475 OPC_CheckPredicate0,
24476 OPC_CheckTypeI32,
24477 OPC_MoveSibling, 8,
24478 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24479 OPC_RecordNode,
24480 OPC_CheckPredicate0,
24481 OPC_CheckTypeI32,
24482 OPC_MoveSibling, 9,
24483 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24484 OPC_RecordNode,
24485 OPC_CheckPredicate0,
24486 OPC_CheckTypeI32,
24487 OPC_MoveSibling, 10,
24488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24489 OPC_RecordNode,
24490 OPC_CheckPredicate0,
24491 OPC_CheckTypeI32,
24492 OPC_MoveSibling, 11,
24493 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24494 OPC_RecordNode,
24495 OPC_CheckPredicate0,
24496 OPC_CheckTypeI32,
24497 OPC_MoveSibling, 12,
24498 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24499 OPC_RecordNode,
24500 OPC_CheckPredicate0,
24501 OPC_CheckTypeI32,
24502 OPC_MoveSibling, 13,
24503 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24504 OPC_RecordNode,
24505 OPC_CheckPredicate0,
24506 OPC_CheckTypeI32,
24507 OPC_MoveSibling, 14,
24508 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24509 OPC_RecordNode,
24510 OPC_CheckPredicate0,
24511 OPC_CheckTypeI32,
24512 OPC_MoveSibling, 15,
24513 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24514 OPC_RecordNode,
24515 OPC_CheckPredicate0,
24516 OPC_CheckTypeI32,
24517 OPC_MoveSibling, 16,
24518 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24519 OPC_RecordNode,
24520 OPC_CheckPredicate0,
24521 OPC_CheckTypeI32,
24522 OPC_MoveSibling, 17,
24523 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24524 OPC_RecordNode,
24525 OPC_CheckPredicate0,
24526 OPC_CheckTypeI32,
24527 OPC_MoveParent,
24528 OPC_CheckType, 26|128,1,
24529 OPC_EmitConvertToTarget2,
24530 OPC_EmitConvertToTarget3,
24531 OPC_EmitConvertToTarget4,
24532 OPC_EmitConvertToTarget5,
24533 OPC_EmitConvertToTarget6,
24534 OPC_EmitConvertToTarget7,
24535 OPC_EmitConvertToTarget, 8,
24536 OPC_EmitConvertToTarget, 9,
24537 OPC_EmitConvertToTarget, 10,
24538 OPC_EmitConvertToTarget, 11,
24539 OPC_EmitConvertToTarget, 12,
24540 OPC_EmitConvertToTarget, 13,
24541 OPC_EmitConvertToTarget, 14,
24542 OPC_EmitConvertToTarget, 15,
24543 OPC_EmitConvertToTarget, 16,
24544 OPC_EmitConvertToTarget, 17,
24545 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24546 26|128,1, 18, 12|128,1,
24547 11|128,1, TARGET_VAL(ISD::TargetConstant),
24548 OPC_CheckTypeI32,
24549 OPC_MoveSibling3,
24550 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24551 OPC_RecordNode,
24552 OPC_CheckTypeI32,
24553 OPC_MoveSibling4,
24554 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24555 OPC_RecordNode,
24556 OPC_CheckTypeI32,
24557 OPC_MoveSibling5,
24558 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24559 OPC_RecordNode,
24560 OPC_CheckTypeI32,
24561 OPC_MoveSibling6,
24562 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24563 OPC_RecordNode,
24564 OPC_CheckTypeI32,
24565 OPC_MoveSibling7,
24566 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24567 OPC_RecordNode,
24568 OPC_CheckTypeI32,
24569 OPC_MoveSibling, 8,
24570 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24571 OPC_RecordNode,
24572 OPC_CheckTypeI32,
24573 OPC_MoveSibling, 9,
24574 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24575 OPC_RecordNode,
24576 OPC_CheckTypeI32,
24577 OPC_MoveSibling, 10,
24578 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24579 OPC_RecordNode,
24580 OPC_CheckTypeI32,
24581 OPC_MoveSibling, 11,
24582 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24583 OPC_RecordNode,
24584 OPC_CheckTypeI32,
24585 OPC_MoveSibling, 12,
24586 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24587 OPC_RecordNode,
24588 OPC_CheckTypeI32,
24589 OPC_MoveSibling, 13,
24590 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24591 OPC_RecordNode,
24592 OPC_CheckTypeI32,
24593 OPC_MoveSibling, 14,
24594 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24595 OPC_RecordNode,
24596 OPC_CheckTypeI32,
24597 OPC_MoveSibling, 15,
24598 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24599 OPC_RecordNode,
24600 OPC_CheckTypeI32,
24601 OPC_MoveSibling, 16,
24602 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24603 OPC_RecordNode,
24604 OPC_CheckTypeI32,
24605 OPC_MoveSibling, 17,
24606 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24607 OPC_RecordNode,
24608 OPC_CheckTypeI32,
24609 OPC_MoveParent,
24610 OPC_CheckType, 26|128,1,
24611 OPC_EmitConvertToTarget2,
24612 OPC_EmitConvertToTarget3,
24613 OPC_EmitConvertToTarget4,
24614 OPC_EmitConvertToTarget5,
24615 OPC_EmitConvertToTarget6,
24616 OPC_EmitConvertToTarget7,
24617 OPC_EmitConvertToTarget, 8,
24618 OPC_EmitConvertToTarget, 9,
24619 OPC_EmitConvertToTarget, 10,
24620 OPC_EmitConvertToTarget, 11,
24621 OPC_EmitConvertToTarget, 12,
24622 OPC_EmitConvertToTarget, 13,
24623 OPC_EmitConvertToTarget, 14,
24624 OPC_EmitConvertToTarget, 15,
24625 OPC_EmitConvertToTarget, 16,
24626 OPC_EmitConvertToTarget, 17,
24627 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24628 26|128,1, 18, 12|128,1,
24629 0,
24630 51|128,2,
24631 OPC_CheckChild0Type, MVT::v8f16,
24632 OPC_RecordChild1,
24633 OPC_CheckChild1Type, MVT::v8f16,
24634 OPC_RecordChild2,
24635 OPC_MoveChild2,
24636 OPC_SwitchOpcode , 25|128,1, TARGET_VAL(ISD::Constant),
24637 OPC_CheckPredicate0,
24638 OPC_CheckTypeI32,
24639 OPC_MoveSibling3,
24640 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24641 OPC_RecordNode,
24642 OPC_CheckPredicate0,
24643 OPC_CheckTypeI32,
24644 OPC_MoveSibling4,
24645 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24646 OPC_RecordNode,
24647 OPC_CheckPredicate0,
24648 OPC_CheckTypeI32,
24649 OPC_MoveSibling5,
24650 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24651 OPC_RecordNode,
24652 OPC_CheckPredicate0,
24653 OPC_CheckTypeI32,
24654 OPC_MoveSibling6,
24655 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24656 OPC_RecordNode,
24657 OPC_CheckPredicate0,
24658 OPC_CheckTypeI32,
24659 OPC_MoveSibling7,
24660 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24661 OPC_RecordNode,
24662 OPC_CheckPredicate0,
24663 OPC_CheckTypeI32,
24664 OPC_MoveSibling, 8,
24665 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24666 OPC_RecordNode,
24667 OPC_CheckPredicate0,
24668 OPC_CheckTypeI32,
24669 OPC_MoveSibling, 9,
24670 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24671 OPC_RecordNode,
24672 OPC_CheckPredicate0,
24673 OPC_CheckTypeI32,
24674 OPC_MoveSibling, 10,
24675 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24676 OPC_RecordNode,
24677 OPC_CheckPredicate0,
24678 OPC_CheckTypeI32,
24679 OPC_MoveSibling, 11,
24680 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24681 OPC_RecordNode,
24682 OPC_CheckPredicate0,
24683 OPC_CheckTypeI32,
24684 OPC_MoveSibling, 12,
24685 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24686 OPC_RecordNode,
24687 OPC_CheckPredicate0,
24688 OPC_CheckTypeI32,
24689 OPC_MoveSibling, 13,
24690 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24691 OPC_RecordNode,
24692 OPC_CheckPredicate0,
24693 OPC_CheckTypeI32,
24694 OPC_MoveSibling, 14,
24695 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24696 OPC_RecordNode,
24697 OPC_CheckPredicate0,
24698 OPC_CheckTypeI32,
24699 OPC_MoveSibling, 15,
24700 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24701 OPC_RecordNode,
24702 OPC_CheckPredicate0,
24703 OPC_CheckTypeI32,
24704 OPC_MoveSibling, 16,
24705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24706 OPC_RecordNode,
24707 OPC_CheckPredicate0,
24708 OPC_CheckTypeI32,
24709 OPC_MoveSibling, 17,
24710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24711 OPC_RecordNode,
24712 OPC_CheckPredicate0,
24713 OPC_CheckTypeI32,
24714 OPC_MoveParent,
24715 OPC_CheckType, MVT::v8f16,
24716 OPC_EmitConvertToTarget2,
24717 OPC_EmitConvertToTarget3,
24718 OPC_EmitConvertToTarget4,
24719 OPC_EmitConvertToTarget5,
24720 OPC_EmitConvertToTarget6,
24721 OPC_EmitConvertToTarget7,
24722 OPC_EmitConvertToTarget, 8,
24723 OPC_EmitConvertToTarget, 9,
24724 OPC_EmitConvertToTarget, 10,
24725 OPC_EmitConvertToTarget, 11,
24726 OPC_EmitConvertToTarget, 12,
24727 OPC_EmitConvertToTarget, 13,
24728 OPC_EmitConvertToTarget, 14,
24729 OPC_EmitConvertToTarget, 15,
24730 OPC_EmitConvertToTarget, 16,
24731 OPC_EmitConvertToTarget, 17,
24732 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24733 MVT::v8f16, 18, 12|128,1,
24734 9|128,1, TARGET_VAL(ISD::TargetConstant),
24735 OPC_CheckTypeI32,
24736 OPC_MoveSibling3,
24737 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24738 OPC_RecordNode,
24739 OPC_CheckTypeI32,
24740 OPC_MoveSibling4,
24741 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24742 OPC_RecordNode,
24743 OPC_CheckTypeI32,
24744 OPC_MoveSibling5,
24745 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24746 OPC_RecordNode,
24747 OPC_CheckTypeI32,
24748 OPC_MoveSibling6,
24749 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24750 OPC_RecordNode,
24751 OPC_CheckTypeI32,
24752 OPC_MoveSibling7,
24753 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24754 OPC_RecordNode,
24755 OPC_CheckTypeI32,
24756 OPC_MoveSibling, 8,
24757 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24758 OPC_RecordNode,
24759 OPC_CheckTypeI32,
24760 OPC_MoveSibling, 9,
24761 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24762 OPC_RecordNode,
24763 OPC_CheckTypeI32,
24764 OPC_MoveSibling, 10,
24765 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24766 OPC_RecordNode,
24767 OPC_CheckTypeI32,
24768 OPC_MoveSibling, 11,
24769 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24770 OPC_RecordNode,
24771 OPC_CheckTypeI32,
24772 OPC_MoveSibling, 12,
24773 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24774 OPC_RecordNode,
24775 OPC_CheckTypeI32,
24776 OPC_MoveSibling, 13,
24777 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24778 OPC_RecordNode,
24779 OPC_CheckTypeI32,
24780 OPC_MoveSibling, 14,
24781 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24782 OPC_RecordNode,
24783 OPC_CheckTypeI32,
24784 OPC_MoveSibling, 15,
24785 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24786 OPC_RecordNode,
24787 OPC_CheckTypeI32,
24788 OPC_MoveSibling, 16,
24789 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24790 OPC_RecordNode,
24791 OPC_CheckTypeI32,
24792 OPC_MoveSibling, 17,
24793 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
24794 OPC_RecordNode,
24795 OPC_CheckTypeI32,
24796 OPC_MoveParent,
24797 OPC_CheckType, MVT::v8f16,
24798 OPC_EmitConvertToTarget2,
24799 OPC_EmitConvertToTarget3,
24800 OPC_EmitConvertToTarget4,
24801 OPC_EmitConvertToTarget5,
24802 OPC_EmitConvertToTarget6,
24803 OPC_EmitConvertToTarget7,
24804 OPC_EmitConvertToTarget, 8,
24805 OPC_EmitConvertToTarget, 9,
24806 OPC_EmitConvertToTarget, 10,
24807 OPC_EmitConvertToTarget, 11,
24808 OPC_EmitConvertToTarget, 12,
24809 OPC_EmitConvertToTarget, 13,
24810 OPC_EmitConvertToTarget, 14,
24811 OPC_EmitConvertToTarget, 15,
24812 OPC_EmitConvertToTarget, 16,
24813 OPC_EmitConvertToTarget, 17,
24814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
24815 MVT::v8f16, 18, 12|128,1,
24816 0,
24817 0,
24818 107|128,8, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
24819 OPC_Scope, 122,
24820 OPC_MoveChild0,
24821 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
24822 OPC_CheckChild0Integer, 0,
24823 OPC_Scope, 56,
24824 OPC_CheckChild0TypeI32,
24825 OPC_MoveSibling1,
24826 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
24827 OPC_RecordMemRef,
24828 OPC_RecordNode,
24829 OPC_CheckFoldableChainNode,
24830 OPC_RecordChild1,
24831 OPC_CheckTypeI32,
24832 OPC_Scope, 21,
24833 OPC_CheckChild1TypeI32,
24834 OPC_CheckPredicate7,
24835 OPC_CheckPredicate5,
24836 OPC_MoveParent,
24837 OPC_CheckChild2Integer, 0,
24838 OPC_CheckType, MVT::v4i32,
24839 OPC_CheckPatternPredicate3,
24840 OPC_CheckComplexPat2, /*#*/1,
24841 OPC_EmitMergeInputChains1_0,
24842 OPC_EmitIntegerI32, 0,
24843 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24844 MVT::v4i32, 3, 59,
24845 21,
24846 OPC_CheckChild1TypeI64,
24847 OPC_CheckPredicate7,
24848 OPC_CheckPredicate5,
24849 OPC_MoveParent,
24850 OPC_CheckChild2Integer, 0,
24851 OPC_CheckType, MVT::v4i32,
24852 OPC_CheckPatternPredicate4,
24853 OPC_CheckComplexPat3, /*#*/1,
24854 OPC_EmitMergeInputChains1_0,
24855 OPC_EmitIntegerI32, 0,
24856 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
24857 MVT::v4i32, 3, 59,
24858 0,
24859 56,
24860 OPC_CheckChild0TypeI64,
24861 OPC_MoveSibling1,
24862 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
24863 OPC_RecordMemRef,
24864 OPC_RecordNode,
24865 OPC_CheckFoldableChainNode,
24866 OPC_RecordChild1,
24867 OPC_CheckTypeI64,
24868 OPC_Scope, 21,
24869 OPC_CheckChild1TypeI32,
24870 OPC_CheckPredicate7,
24871 OPC_CheckPredicate5,
24872 OPC_MoveParent,
24873 OPC_CheckChild2Integer, 0,
24874 OPC_CheckType, MVT::v2i64,
24875 OPC_CheckPatternPredicate3,
24876 OPC_CheckComplexPat2, /*#*/1,
24877 OPC_EmitMergeInputChains1_0,
24878 OPC_EmitIntegerI32, 0,
24879 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24880 MVT::v2i64, 3, 59,
24881 21,
24882 OPC_CheckChild1TypeI64,
24883 OPC_CheckPredicate7,
24884 OPC_CheckPredicate5,
24885 OPC_MoveParent,
24886 OPC_CheckChild2Integer, 0,
24887 OPC_CheckType, MVT::v2i64,
24888 OPC_CheckPatternPredicate4,
24889 OPC_CheckComplexPat3, /*#*/1,
24890 OPC_EmitMergeInputChains1_0,
24891 OPC_EmitIntegerI32, 0,
24892 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
24893 MVT::v2i64, 3, 59,
24894 0,
24895 0,
24896 125|128,3,
24897 OPC_RecordChild0,
24898 OPC_Scope, 110|128,2,
24899 OPC_MoveChild1,
24900 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
24901 OPC_RecordMemRef,
24902 OPC_RecordNode,
24903 OPC_CheckFoldableChainNode,
24904 OPC_RecordChild1,
24905 OPC_Scope, 48|128,1,
24906 OPC_CheckChild1TypeI32,
24907 OPC_CheckPredicate7,
24908 OPC_Scope, 59,
24909 OPC_CheckPredicate, 9,
24910 OPC_CheckTypeI32,
24911 OPC_Scope, 26,
24912 OPC_CheckPredicate1,
24913 OPC_MoveSibling2,
24914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24915 OPC_RecordNode,
24916 OPC_CheckPredicate, 22,
24917 OPC_CheckTypeI32,
24918 OPC_MoveParent,
24919 OPC_CheckType, MVT::v16i8,
24920 OPC_CheckPatternPredicate3,
24921 OPC_CheckComplexPat2, /*#*/2,
24922 OPC_EmitMergeInputChains1_1,
24923 OPC_EmitIntegerI32, 0,
24924 OPC_EmitConvertToTarget3,
24925 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A32), 0|OPFL_Chain|OPFL_MemRefs,
24926 MVT::v16i8, 5, 8,
24927 26,
24928 OPC_CheckPredicate2,
24929 OPC_MoveSibling2,
24930 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24931 OPC_RecordNode,
24932 OPC_CheckPredicate, 17,
24933 OPC_CheckTypeI32,
24934 OPC_MoveParent,
24935 OPC_CheckType, MVT::v8i16,
24936 OPC_CheckPatternPredicate3,
24937 OPC_CheckComplexPat2, /*#*/2,
24938 OPC_EmitMergeInputChains1_1,
24939 OPC_EmitIntegerI32, 0,
24940 OPC_EmitConvertToTarget3,
24941 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A32), 0|OPFL_Chain|OPFL_MemRefs,
24942 MVT::v8i16, 5, 8,
24943 0,
24944 111,
24945 OPC_CheckPredicate5,
24946 OPC_SwitchType , 25, MVT::i32,
24947 OPC_MoveSibling2,
24948 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24949 OPC_RecordNode,
24950 OPC_CheckPredicate, 13,
24951 OPC_CheckTypeI32,
24952 OPC_MoveParent,
24953 OPC_CheckType, MVT::v4i32,
24954 OPC_CheckPatternPredicate3,
24955 OPC_CheckComplexPat2, /*#*/2,
24956 OPC_EmitMergeInputChains1_1,
24957 OPC_EmitIntegerI32, 0,
24958 OPC_EmitConvertToTarget3,
24959 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24960 MVT::v4i32, 5, 8,
24961 25, MVT::f32,
24962 OPC_MoveSibling2,
24963 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24964 OPC_RecordNode,
24965 OPC_CheckPredicate, 13,
24966 OPC_CheckTypeI32,
24967 OPC_MoveParent,
24968 OPC_CheckType, MVT::v4i32,
24969 OPC_CheckPatternPredicate3,
24970 OPC_CheckComplexPat2, /*#*/2,
24971 OPC_EmitMergeInputChains1_1,
24972 OPC_EmitIntegerI32, 0,
24973 OPC_EmitConvertToTarget3,
24974 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
24975 MVT::v4i32, 5, 8,
24976 25, MVT::i64,
24977 OPC_MoveSibling2,
24978 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24979 OPC_RecordNode,
24980 OPC_CheckPredicate, 14,
24981 OPC_CheckTypeI32,
24982 OPC_MoveParent,
24983 OPC_CheckType, MVT::v2i64,
24984 OPC_CheckPatternPredicate3,
24985 OPC_CheckComplexPat2, /*#*/2,
24986 OPC_EmitMergeInputChains1_1,
24987 OPC_EmitIntegerI32, 0,
24988 OPC_EmitConvertToTarget3,
24989 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
24990 MVT::v2i64, 5, 8,
24991 25, MVT::f64,
24992 OPC_MoveSibling2,
24993 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24994 OPC_RecordNode,
24995 OPC_CheckPredicate, 14,
24996 OPC_CheckTypeI32,
24997 OPC_MoveParent,
24998 OPC_CheckType, MVT::v2i64,
24999 OPC_CheckPatternPredicate3,
25000 OPC_CheckComplexPat2, /*#*/2,
25001 OPC_EmitMergeInputChains1_1,
25002 OPC_EmitIntegerI32, 0,
25003 OPC_EmitConvertToTarget3,
25004 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25005 MVT::v2i64, 5, 8,
25006 0,
25007 0,
25008 48|128,1,
25009 OPC_CheckChild1TypeI64,
25010 OPC_CheckPredicate7,
25011 OPC_Scope, 59,
25012 OPC_CheckPredicate, 9,
25013 OPC_CheckTypeI32,
25014 OPC_Scope, 26,
25015 OPC_CheckPredicate1,
25016 OPC_MoveSibling2,
25017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25018 OPC_RecordNode,
25019 OPC_CheckPredicate, 22,
25020 OPC_CheckTypeI32,
25021 OPC_MoveParent,
25022 OPC_CheckType, MVT::v16i8,
25023 OPC_CheckPatternPredicate4,
25024 OPC_CheckComplexPat3, /*#*/2,
25025 OPC_EmitMergeInputChains1_1,
25026 OPC_EmitIntegerI32, 0,
25027 OPC_EmitConvertToTarget3,
25028 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A64), 0|OPFL_Chain|OPFL_MemRefs,
25029 MVT::v16i8, 5, 8,
25030 26,
25031 OPC_CheckPredicate2,
25032 OPC_MoveSibling2,
25033 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25034 OPC_RecordNode,
25035 OPC_CheckPredicate, 17,
25036 OPC_CheckTypeI32,
25037 OPC_MoveParent,
25038 OPC_CheckType, MVT::v8i16,
25039 OPC_CheckPatternPredicate4,
25040 OPC_CheckComplexPat3, /*#*/2,
25041 OPC_EmitMergeInputChains1_1,
25042 OPC_EmitIntegerI32, 0,
25043 OPC_EmitConvertToTarget3,
25044 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A64), 0|OPFL_Chain|OPFL_MemRefs,
25045 MVT::v8i16, 5, 8,
25046 0,
25047 111,
25048 OPC_CheckPredicate5,
25049 OPC_SwitchType , 25, MVT::i32,
25050 OPC_MoveSibling2,
25051 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25052 OPC_RecordNode,
25053 OPC_CheckPredicate, 13,
25054 OPC_CheckTypeI32,
25055 OPC_MoveParent,
25056 OPC_CheckType, MVT::v4i32,
25057 OPC_CheckPatternPredicate4,
25058 OPC_CheckComplexPat3, /*#*/2,
25059 OPC_EmitMergeInputChains1_1,
25060 OPC_EmitIntegerI32, 0,
25061 OPC_EmitConvertToTarget3,
25062 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25063 MVT::v4i32, 5, 8,
25064 25, MVT::f32,
25065 OPC_MoveSibling2,
25066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25067 OPC_RecordNode,
25068 OPC_CheckPredicate, 13,
25069 OPC_CheckTypeI32,
25070 OPC_MoveParent,
25071 OPC_CheckType, MVT::v4i32,
25072 OPC_CheckPatternPredicate4,
25073 OPC_CheckComplexPat3, /*#*/2,
25074 OPC_EmitMergeInputChains1_1,
25075 OPC_EmitIntegerI32, 0,
25076 OPC_EmitConvertToTarget3,
25077 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25078 MVT::v4i32, 5, 8,
25079 25, MVT::i64,
25080 OPC_MoveSibling2,
25081 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25082 OPC_RecordNode,
25083 OPC_CheckPredicate, 14,
25084 OPC_CheckTypeI32,
25085 OPC_MoveParent,
25086 OPC_CheckType, MVT::v2i64,
25087 OPC_CheckPatternPredicate4,
25088 OPC_CheckComplexPat3, /*#*/2,
25089 OPC_EmitMergeInputChains1_1,
25090 OPC_EmitIntegerI32, 0,
25091 OPC_EmitConvertToTarget3,
25092 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25093 MVT::v2i64, 5, 8,
25094 25, MVT::f64,
25095 OPC_MoveSibling2,
25096 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25097 OPC_RecordNode,
25098 OPC_CheckPredicate, 14,
25099 OPC_CheckTypeI32,
25100 OPC_MoveParent,
25101 OPC_CheckType, MVT::v2i64,
25102 OPC_CheckPatternPredicate4,
25103 OPC_CheckComplexPat3, /*#*/2,
25104 OPC_EmitMergeInputChains1_1,
25105 OPC_EmitIntegerI32, 0,
25106 OPC_EmitConvertToTarget3,
25107 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25108 MVT::v2i64, 5, 8,
25109 0,
25110 0,
25111 0,
25112 8|128,1,
25113 OPC_RecordChild1,
25114 OPC_Scope, 92,
25115 OPC_CheckChild1TypeI32,
25116 OPC_Scope, 50,
25117 OPC_RecordChild2,
25118 OPC_MoveChild2,
25119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25120 OPC_CheckTypeI32,
25121 OPC_Scope, 13,
25122 OPC_CheckPredicate, 22,
25123 OPC_MoveParent,
25124 OPC_CheckType, MVT::v16i8,
25125 OPC_CheckPatternPredicate0,
25126 OPC_EmitConvertToTarget2,
25127 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
25128 MVT::v16i8, 3, 21,
25129 13,
25130 OPC_CheckPredicate, 17,
25131 OPC_MoveParent,
25132 OPC_CheckType, MVT::v8i16,
25133 OPC_CheckPatternPredicate0,
25134 OPC_EmitConvertToTarget2,
25135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
25136 MVT::v8i16, 3, 21,
25137 13,
25138 OPC_CheckPredicate, 13,
25139 OPC_MoveParent,
25140 OPC_CheckType, MVT::v4i32,
25141 OPC_CheckPatternPredicate0,
25142 OPC_EmitConvertToTarget2,
25143 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
25144 MVT::v4i32, 3, 21,
25145 0,
25146 37,
25147 OPC_MoveChild2,
25148 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
25149 OPC_MoveParent,
25150 OPC_SwitchType , 8, MVT::v16i8,
25151 OPC_EmitIntegerI32, 0,
25152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
25153 MVT::v16i8, 3, 18,
25154 8, MVT::v8i16,
25155 OPC_EmitIntegerI32, 0,
25156 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
25157 MVT::v8i16, 3, 18,
25158 8, MVT::v4i32,
25159 OPC_EmitIntegerI32, 0,
25160 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
25161 MVT::v4i32, 3, 18,
25162 0,
25163 0,
25164 39,
25165 OPC_CheckChild1TypeI64,
25166 OPC_Scope, 19,
25167 OPC_RecordChild2,
25168 OPC_MoveChild2,
25169 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25170 OPC_CheckPredicate, 14,
25171 OPC_CheckTypeI32,
25172 OPC_MoveParent,
25173 OPC_CheckType, MVT::v2i64,
25174 OPC_CheckPatternPredicate0,
25175 OPC_EmitConvertToTarget2,
25176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
25177 MVT::v2i64, 3, 21,
25178 15,
25179 OPC_MoveChild2,
25180 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
25181 OPC_MoveParent,
25182 OPC_CheckType, MVT::v2i64,
25183 OPC_EmitIntegerI32, 0,
25184 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
25185 MVT::v2i64, 3, 18,
25186 0,
25187 0,
25188 0,
25189 10|128,1,
25190 OPC_MoveChild0,
25191 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
25192 OPC_MoveChild0,
25193 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
25194 OPC_CheckPredicate, 31,
25195 OPC_SwitchType , 61, MVT::f32,
25196 OPC_MoveParent,
25197 OPC_MoveSibling1,
25198 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25199 OPC_RecordMemRef,
25200 OPC_RecordNode,
25201 OPC_CheckFoldableChainNode,
25202 OPC_RecordChild1,
25203 OPC_CheckType, MVT::f32,
25204 OPC_Scope, 23,
25205 OPC_CheckChild1TypeI32,
25206 OPC_CheckPredicate7,
25207 OPC_CheckPredicate5,
25208 OPC_MoveParent,
25209 OPC_CheckChild2Integer, 0,
25210 OPC_CheckType, 8|128,1,
25211 OPC_CheckPatternPredicate3,
25212 OPC_CheckComplexPat2, /*#*/1,
25213 OPC_EmitMergeInputChains1_0,
25214 OPC_EmitIntegerI32, 0,
25215 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25216 8|128,1, 3, 59,
25217 23,
25218 OPC_CheckChild1TypeI64,
25219 OPC_CheckPredicate7,
25220 OPC_CheckPredicate5,
25221 OPC_MoveParent,
25222 OPC_CheckChild2Integer, 0,
25223 OPC_CheckType, 8|128,1,
25224 OPC_CheckPatternPredicate4,
25225 OPC_CheckComplexPat3, /*#*/1,
25226 OPC_EmitMergeInputChains1_0,
25227 OPC_EmitIntegerI32, 0,
25228 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25229 8|128,1, 3, 59,
25230 0,
25231 61, MVT::f64,
25232 OPC_MoveParent,
25233 OPC_MoveSibling1,
25234 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25235 OPC_RecordMemRef,
25236 OPC_RecordNode,
25237 OPC_CheckFoldableChainNode,
25238 OPC_RecordChild1,
25239 OPC_CheckType, MVT::f64,
25240 OPC_Scope, 23,
25241 OPC_CheckChild1TypeI32,
25242 OPC_CheckPredicate7,
25243 OPC_CheckPredicate5,
25244 OPC_MoveParent,
25245 OPC_CheckChild2Integer, 0,
25246 OPC_CheckType, 26|128,1,
25247 OPC_CheckPatternPredicate3,
25248 OPC_CheckComplexPat2, /*#*/1,
25249 OPC_EmitMergeInputChains1_0,
25250 OPC_EmitIntegerI32, 0,
25251 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25252 26|128,1, 3, 59,
25253 23,
25254 OPC_CheckChild1TypeI64,
25255 OPC_CheckPredicate7,
25256 OPC_CheckPredicate5,
25257 OPC_MoveParent,
25258 OPC_CheckChild2Integer, 0,
25259 OPC_CheckType, 26|128,1,
25260 OPC_CheckPatternPredicate4,
25261 OPC_CheckComplexPat3, /*#*/1,
25262 OPC_EmitMergeInputChains1_0,
25263 OPC_EmitIntegerI32, 0,
25264 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25265 26|128,1, 3, 59,
25266 0,
25267 0,
25268 97|128,2,
25269 OPC_RecordChild0,
25270 OPC_Scope, 126|128,1,
25271 OPC_MoveChild1,
25272 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25273 OPC_RecordMemRef,
25274 OPC_RecordNode,
25275 OPC_CheckFoldableChainNode,
25276 OPC_RecordChild1,
25277 OPC_Scope, 121,
25278 OPC_CheckChild1TypeI32,
25279 OPC_CheckPredicate7,
25280 OPC_CheckPredicate5,
25281 OPC_SwitchType , 27, MVT::i32,
25282 OPC_MoveSibling2,
25283 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25284 OPC_RecordNode,
25285 OPC_CheckPredicate, 13,
25286 OPC_CheckTypeI32,
25287 OPC_MoveParent,
25288 OPC_CheckType, 8|128,1,
25289 OPC_CheckPatternPredicate3,
25290 OPC_CheckComplexPat2, /*#*/2,
25291 OPC_EmitMergeInputChains1_1,
25292 OPC_EmitIntegerI32, 0,
25293 OPC_EmitConvertToTarget3,
25294 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25295 8|128,1, 5, 8,
25296 27, MVT::f32,
25297 OPC_MoveSibling2,
25298 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25299 OPC_RecordNode,
25300 OPC_CheckPredicate, 13,
25301 OPC_CheckTypeI32,
25302 OPC_MoveParent,
25303 OPC_CheckType, 8|128,1,
25304 OPC_CheckPatternPredicate3,
25305 OPC_CheckComplexPat2, /*#*/2,
25306 OPC_EmitMergeInputChains1_1,
25307 OPC_EmitIntegerI32, 0,
25308 OPC_EmitConvertToTarget3,
25309 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25310 8|128,1, 5, 8,
25311 27, MVT::i64,
25312 OPC_MoveSibling2,
25313 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25314 OPC_RecordNode,
25315 OPC_CheckPredicate, 14,
25316 OPC_CheckTypeI32,
25317 OPC_MoveParent,
25318 OPC_CheckType, 26|128,1,
25319 OPC_CheckPatternPredicate3,
25320 OPC_CheckComplexPat2, /*#*/2,
25321 OPC_EmitMergeInputChains1_1,
25322 OPC_EmitIntegerI32, 0,
25323 OPC_EmitConvertToTarget3,
25324 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25325 26|128,1, 5, 8,
25326 27, MVT::f64,
25327 OPC_MoveSibling2,
25328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25329 OPC_RecordNode,
25330 OPC_CheckPredicate, 14,
25331 OPC_CheckTypeI32,
25332 OPC_MoveParent,
25333 OPC_CheckType, 26|128,1,
25334 OPC_CheckPatternPredicate3,
25335 OPC_CheckComplexPat2, /*#*/2,
25336 OPC_EmitMergeInputChains1_1,
25337 OPC_EmitIntegerI32, 0,
25338 OPC_EmitConvertToTarget3,
25339 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25340 26|128,1, 5, 8,
25341 0,
25342 121,
25343 OPC_CheckChild1TypeI64,
25344 OPC_CheckPredicate7,
25345 OPC_CheckPredicate5,
25346 OPC_SwitchType , 27, MVT::i32,
25347 OPC_MoveSibling2,
25348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25349 OPC_RecordNode,
25350 OPC_CheckPredicate, 13,
25351 OPC_CheckTypeI32,
25352 OPC_MoveParent,
25353 OPC_CheckType, 8|128,1,
25354 OPC_CheckPatternPredicate4,
25355 OPC_CheckComplexPat3, /*#*/2,
25356 OPC_EmitMergeInputChains1_1,
25357 OPC_EmitIntegerI32, 0,
25358 OPC_EmitConvertToTarget3,
25359 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25360 8|128,1, 5, 8,
25361 27, MVT::f32,
25362 OPC_MoveSibling2,
25363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25364 OPC_RecordNode,
25365 OPC_CheckPredicate, 13,
25366 OPC_CheckTypeI32,
25367 OPC_MoveParent,
25368 OPC_CheckType, 8|128,1,
25369 OPC_CheckPatternPredicate4,
25370 OPC_CheckComplexPat3, /*#*/2,
25371 OPC_EmitMergeInputChains1_1,
25372 OPC_EmitIntegerI32, 0,
25373 OPC_EmitConvertToTarget3,
25374 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25375 8|128,1, 5, 8,
25376 27, MVT::i64,
25377 OPC_MoveSibling2,
25378 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25379 OPC_RecordNode,
25380 OPC_CheckPredicate, 14,
25381 OPC_CheckTypeI32,
25382 OPC_MoveParent,
25383 OPC_CheckType, 26|128,1,
25384 OPC_CheckPatternPredicate4,
25385 OPC_CheckComplexPat3, /*#*/2,
25386 OPC_EmitMergeInputChains1_1,
25387 OPC_EmitIntegerI32, 0,
25388 OPC_EmitConvertToTarget3,
25389 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25390 26|128,1, 5, 8,
25391 27, MVT::f64,
25392 OPC_MoveSibling2,
25393 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25394 OPC_RecordNode,
25395 OPC_CheckPredicate, 14,
25396 OPC_CheckTypeI32,
25397 OPC_MoveParent,
25398 OPC_CheckType, 26|128,1,
25399 OPC_CheckPatternPredicate4,
25400 OPC_CheckComplexPat3, /*#*/2,
25401 OPC_EmitMergeInputChains1_1,
25402 OPC_EmitIntegerI32, 0,
25403 OPC_EmitConvertToTarget3,
25404 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25405 26|128,1, 5, 8,
25406 0,
25407 0,
25408 93,
25409 OPC_RecordChild1,
25410 OPC_Scope, 44,
25411 OPC_CheckChild1Type, MVT::f32,
25412 OPC_Scope, 21,
25413 OPC_RecordChild2,
25414 OPC_MoveChild2,
25415 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25416 OPC_CheckPredicate, 13,
25417 OPC_CheckTypeI32,
25418 OPC_MoveParent,
25419 OPC_CheckType, 8|128,1,
25420 OPC_CheckPatternPredicate0,
25421 OPC_EmitConvertToTarget2,
25422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
25423 8|128,1, 3, 21,
25424 17,
25425 OPC_MoveChild2,
25426 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
25427 OPC_MoveParent,
25428 OPC_CheckType, 8|128,1,
25429 OPC_EmitIntegerI32, 0,
25430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
25431 8|128,1, 3, 18,
25432 0,
25433 44,
25434 OPC_CheckChild1Type, MVT::f64,
25435 OPC_Scope, 21,
25436 OPC_RecordChild2,
25437 OPC_MoveChild2,
25438 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25439 OPC_CheckPredicate, 14,
25440 OPC_CheckTypeI32,
25441 OPC_MoveParent,
25442 OPC_CheckType, 26|128,1,
25443 OPC_CheckPatternPredicate0,
25444 OPC_EmitConvertToTarget2,
25445 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
25446 26|128,1, 3, 21,
25447 17,
25448 OPC_MoveChild2,
25449 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
25450 OPC_MoveParent,
25451 OPC_CheckType, 26|128,1,
25452 OPC_EmitIntegerI32, 0,
25453 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
25454 26|128,1, 3, 18,
25455 0,
25456 0,
25457 0,
25458 0,
25459 82|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHR_U),
25460 OPC_Scope, 83,
25461 OPC_MoveChild0,
25462 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
25463 OPC_MoveChild0,
25464 OPC_SwitchOpcode , 35, TARGET_VAL(ISD::ADD),
25465 OPC_RecordChild0,
25466 OPC_RecordChild1,
25467 OPC_CheckPredicate, 29,
25468 OPC_MoveSibling1,
25469 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
25470 OPC_CheckChild0Integer, 1,
25471 OPC_CheckChild0TypeI32,
25472 OPC_MoveParent,
25473 OPC_CheckPredicate, 29,
25474 OPC_MoveParent,
25475 OPC_CheckChild1Integer, 1,
25476 OPC_SwitchType , 6, MVT::v16i8,
25477 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
25478 MVT::v16i8, 2, 16,
25479 6, MVT::v8i16,
25480 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
25481 MVT::v8i16, 2, 16,
25482 0,
25483 35, TARGET_VAL(ISD::SPLAT_VECTOR),
25484 OPC_CheckChild0Integer, 1,
25485 OPC_CheckChild0TypeI32,
25486 OPC_MoveSibling1,
25487 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
25488 OPC_RecordChild0,
25489 OPC_RecordChild1,
25490 OPC_CheckPredicate, 29,
25491 OPC_MoveParent,
25492 OPC_CheckPredicate, 29,
25493 OPC_MoveParent,
25494 OPC_CheckChild1Integer, 1,
25495 OPC_SwitchType , 6, MVT::v16i8,
25496 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
25497 MVT::v16i8, 2, 16,
25498 6, MVT::v8i16,
25499 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
25500 MVT::v8i16, 2, 16,
25501 0,
25502 0,
25503 123,
25504 OPC_RecordChild0,
25505 OPC_Scope, 79,
25506 OPC_MoveChild1,
25507 OPC_Scope, 23,
25508 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
25509 OPC_MoveChild0,
25510 OPC_CheckAndImm, 63,
25511 OPC_RecordChild0,
25512 OPC_MoveParent,
25513 OPC_MoveParent,
25514 OPC_CheckType, MVT::v2i64,
25515 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
25516 MVT::i32, 1, 17,
25517 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
25518 MVT::v2i64, 2, 42,
25519 12,
25520 OPC_CheckAndImm, 7,
25521 OPC_RecordChild0,
25522 OPC_MoveParent,
25523 OPC_CheckType, MVT::v16i8,
25524 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
25525 MVT::v16i8, 2, 16,
25526 12,
25527 OPC_CheckAndImm, 15,
25528 OPC_RecordChild0,
25529 OPC_MoveParent,
25530 OPC_CheckType, MVT::v8i16,
25531 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
25532 MVT::v8i16, 2, 16,
25533 12,
25534 OPC_CheckAndImm, 31,
25535 OPC_RecordChild0,
25536 OPC_MoveParent,
25537 OPC_CheckType, MVT::v4i32,
25538 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
25539 MVT::v4i32, 2, 16,
25540 12,
25541 OPC_CheckAndImm, 63,
25542 OPC_RecordChild0,
25543 OPC_MoveParent,
25544 OPC_CheckType, MVT::v2i64,
25545 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
25546 MVT::v2i64, 2, 16,
25547 0,
25548 39,
25549 OPC_RecordChild1,
25550 OPC_SwitchType , 7, MVT::v16i8,
25551 OPC_CheckPatternPredicate0,
25552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
25553 MVT::v16i8, 2, 16,
25554 7, MVT::v8i16,
25555 OPC_CheckPatternPredicate0,
25556 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
25557 MVT::v8i16, 2, 16,
25558 7, MVT::v4i32,
25559 OPC_CheckPatternPredicate0,
25560 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
25561 MVT::v4i32, 2, 16,
25562 7, MVT::v2i64,
25563 OPC_CheckPatternPredicate0,
25564 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
25565 MVT::v2i64, 2, 16,
25566 0,
25567 0,
25568 0,
25569 99|128,3, TARGET_VAL(ISD::SPLAT_VECTOR),
25570 OPC_Scope, 55|128,1,
25571 OPC_MoveChild0,
25572 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25573 OPC_RecordMemRef,
25574 OPC_RecordNode,
25575 OPC_RecordChild1,
25576 OPC_Scope, 86,
25577 OPC_CheckChild1TypeI32,
25578 OPC_CheckPredicate7,
25579 OPC_Scope, 41,
25580 OPC_CheckPredicate, 9,
25581 OPC_CheckTypeI32,
25582 OPC_Scope, 17,
25583 OPC_CheckPredicate1,
25584 OPC_MoveParent,
25585 OPC_CheckType, MVT::v16i8,
25586 OPC_CheckPatternPredicate3,
25587 OPC_CheckComplexPat2, /*#*/1,
25588 OPC_EmitMergeInputChains1_0,
25589 OPC_EmitIntegerI32, 0,
25590 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25591 MVT::v16i8, 3, 59,
25592 17,
25593 OPC_CheckPredicate2,
25594 OPC_MoveParent,
25595 OPC_CheckType, MVT::v8i16,
25596 OPC_CheckPatternPredicate3,
25597 OPC_CheckComplexPat2, /*#*/1,
25598 OPC_EmitMergeInputChains1_0,
25599 OPC_EmitIntegerI32, 0,
25600 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25601 MVT::v8i16, 3, 59,
25602 0,
25603 39,
25604 OPC_CheckPredicate5,
25605 OPC_SwitchType , 16, MVT::i32,
25606 OPC_MoveParent,
25607 OPC_CheckType, MVT::v4i32,
25608 OPC_CheckPatternPredicate3,
25609 OPC_CheckComplexPat2, /*#*/1,
25610 OPC_EmitMergeInputChains1_0,
25611 OPC_EmitIntegerI32, 0,
25612 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25613 MVT::v4i32, 3, 59,
25614 16, MVT::i64,
25615 OPC_MoveParent,
25616 OPC_CheckType, MVT::v2i64,
25617 OPC_CheckPatternPredicate3,
25618 OPC_CheckComplexPat2, /*#*/1,
25619 OPC_EmitMergeInputChains1_0,
25620 OPC_EmitIntegerI32, 0,
25621 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25622 MVT::v2i64, 3, 59,
25623 0,
25624 0,
25625 86,
25626 OPC_CheckChild1TypeI64,
25627 OPC_CheckPredicate7,
25628 OPC_Scope, 41,
25629 OPC_CheckPredicate, 9,
25630 OPC_CheckTypeI32,
25631 OPC_Scope, 17,
25632 OPC_CheckPredicate1,
25633 OPC_MoveParent,
25634 OPC_CheckType, MVT::v16i8,
25635 OPC_CheckPatternPredicate4,
25636 OPC_CheckComplexPat3, /*#*/1,
25637 OPC_EmitMergeInputChains1_0,
25638 OPC_EmitIntegerI32, 0,
25639 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25640 MVT::v16i8, 3, 59,
25641 17,
25642 OPC_CheckPredicate2,
25643 OPC_MoveParent,
25644 OPC_CheckType, MVT::v8i16,
25645 OPC_CheckPatternPredicate4,
25646 OPC_CheckComplexPat3, /*#*/1,
25647 OPC_EmitMergeInputChains1_0,
25648 OPC_EmitIntegerI32, 0,
25649 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25650 MVT::v8i16, 3, 59,
25651 0,
25652 39,
25653 OPC_CheckPredicate5,
25654 OPC_SwitchType , 16, MVT::i32,
25655 OPC_MoveParent,
25656 OPC_CheckType, MVT::v4i32,
25657 OPC_CheckPatternPredicate4,
25658 OPC_CheckComplexPat3, /*#*/1,
25659 OPC_EmitMergeInputChains1_0,
25660 OPC_EmitIntegerI32, 0,
25661 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25662 MVT::v4i32, 3, 59,
25663 16, MVT::i64,
25664 OPC_MoveParent,
25665 OPC_CheckType, MVT::v2i64,
25666 OPC_CheckPatternPredicate4,
25667 OPC_CheckComplexPat3, /*#*/1,
25668 OPC_EmitMergeInputChains1_0,
25669 OPC_EmitIntegerI32, 0,
25670 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25671 MVT::v2i64, 3, 59,
25672 0,
25673 0,
25674 0,
25675 122,
25676 OPC_RecordChild0,
25677 OPC_Scope, 76,
25678 OPC_MoveChild0,
25679 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25680 OPC_SwitchType , 55, MVT::i32,
25681 OPC_MoveParent,
25682 OPC_SwitchType , 22, MVT::v16i8,
25683 OPC_EmitConvertToTarget0,
25684 OPC_EmitConvertToTarget0,
25685 OPC_EmitConvertToTarget0,
25686 OPC_EmitConvertToTarget0,
25687 OPC_EmitConvertToTarget0,
25688 OPC_EmitConvertToTarget0,
25689 OPC_EmitConvertToTarget0,
25690 OPC_EmitConvertToTarget0,
25691 OPC_EmitConvertToTarget0,
25692 OPC_EmitConvertToTarget0,
25693 OPC_EmitConvertToTarget0,
25694 OPC_EmitConvertToTarget0,
25695 OPC_EmitConvertToTarget0,
25696 OPC_EmitConvertToTarget0,
25697 OPC_EmitConvertToTarget0,
25698 OPC_EmitConvertToTarget0,
25699 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
25700 MVT::v16i8, 16, 108,
25701 14, MVT::v8i16,
25702 OPC_EmitConvertToTarget0,
25703 OPC_EmitConvertToTarget0,
25704 OPC_EmitConvertToTarget0,
25705 OPC_EmitConvertToTarget0,
25706 OPC_EmitConvertToTarget0,
25707 OPC_EmitConvertToTarget0,
25708 OPC_EmitConvertToTarget0,
25709 OPC_EmitConvertToTarget0,
25710 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
25711 MVT::v8i16, 8, 92,
25712 10, MVT::v4i32,
25713 OPC_EmitConvertToTarget0,
25714 OPC_EmitConvertToTarget0,
25715 OPC_EmitConvertToTarget0,
25716 OPC_EmitConvertToTarget0,
25717 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
25718 MVT::v4i32, 4, 68,
25719 0,
25720 11, MVT::i64,
25721 OPC_MoveParent,
25722 OPC_CheckType, MVT::v2i64,
25723 OPC_EmitConvertToTarget0,
25724 OPC_EmitConvertToTarget0,
25725 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
25726 MVT::v2i64, 2, 45,
25727 0,
25728 30,
25729 OPC_CheckChild0TypeI32,
25730 OPC_SwitchType , 7, MVT::v16i8,
25731 OPC_CheckPatternPredicate0,
25732 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
25733 MVT::v16i8, 1, 2,
25734 7, MVT::v8i16,
25735 OPC_CheckPatternPredicate0,
25736 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
25737 MVT::v8i16, 1, 2,
25738 7, MVT::v4i32,
25739 OPC_CheckPatternPredicate0,
25740 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
25741 MVT::v4i32, 1, 2,
25742 0,
25743 10,
25744 OPC_CheckChild0TypeI64,
25745 OPC_CheckType, MVT::v2i64,
25746 OPC_CheckPatternPredicate0,
25747 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
25748 MVT::v2i64, 1, 2,
25749 0,
25750 101,
25751 OPC_MoveChild0,
25752 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25753 OPC_RecordMemRef,
25754 OPC_RecordNode,
25755 OPC_RecordChild1,
25756 OPC_Scope, 45,
25757 OPC_CheckChild1TypeI32,
25758 OPC_CheckPredicate7,
25759 OPC_CheckPredicate5,
25760 OPC_SwitchType , 18, MVT::f32,
25761 OPC_MoveParent,
25762 OPC_CheckType, 8|128,1,
25763 OPC_CheckPatternPredicate3,
25764 OPC_CheckComplexPat2, /*#*/1,
25765 OPC_EmitMergeInputChains1_0,
25766 OPC_EmitIntegerI32, 0,
25767 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25768 8|128,1, 3, 59,
25769 18, MVT::f64,
25770 OPC_MoveParent,
25771 OPC_CheckType, 26|128,1,
25772 OPC_CheckPatternPredicate3,
25773 OPC_CheckComplexPat2, /*#*/1,
25774 OPC_EmitMergeInputChains1_0,
25775 OPC_EmitIntegerI32, 0,
25776 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
25777 26|128,1, 3, 59,
25778 0,
25779 45,
25780 OPC_CheckChild1TypeI64,
25781 OPC_CheckPredicate7,
25782 OPC_CheckPredicate5,
25783 OPC_SwitchType , 18, MVT::f32,
25784 OPC_MoveParent,
25785 OPC_CheckType, 8|128,1,
25786 OPC_CheckPatternPredicate4,
25787 OPC_CheckComplexPat3, /*#*/1,
25788 OPC_EmitMergeInputChains1_0,
25789 OPC_EmitIntegerI32, 0,
25790 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25791 8|128,1, 3, 59,
25792 18, MVT::f64,
25793 OPC_MoveParent,
25794 OPC_CheckType, 26|128,1,
25795 OPC_CheckPatternPredicate4,
25796 OPC_CheckComplexPat3, /*#*/1,
25797 OPC_EmitMergeInputChains1_0,
25798 OPC_EmitIntegerI32, 0,
25799 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
25800 26|128,1, 3, 59,
25801 0,
25802 0,
25803 70,
25804 OPC_RecordChild0,
25805 OPC_Scope, 38,
25806 OPC_MoveChild0,
25807 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
25808 OPC_SwitchType , 15, MVT::f32,
25809 OPC_MoveParent,
25810 OPC_CheckType, 8|128,1,
25811 OPC_EmitConvertToTarget0,
25812 OPC_EmitConvertToTarget0,
25813 OPC_EmitConvertToTarget0,
25814 OPC_EmitConvertToTarget0,
25815 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
25816 8|128,1, 4, 68,
25817 13, MVT::f64,
25818 OPC_MoveParent,
25819 OPC_CheckType, 26|128,1,
25820 OPC_EmitConvertToTarget0,
25821 OPC_EmitConvertToTarget0,
25822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
25823 26|128,1, 2, 45,
25824 0,
25825 13,
25826 OPC_CheckChild0Type, MVT::f32,
25827 OPC_CheckType, 8|128,1,
25828 OPC_CheckPatternPredicate0,
25829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
25830 8|128,1, 1, 2,
25831 13,
25832 OPC_CheckChild0Type, MVT::f64,
25833 OPC_CheckType, 26|128,1,
25834 OPC_CheckPatternPredicate0,
25835 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
25836 26|128,1, 1, 2,
25837 0,
25838 0,
25839 12|128,2, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
25840 OPC_Scope, 93,
25841 OPC_MoveChild0,
25842 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25843 OPC_RecordMemRef,
25844 OPC_RecordNode,
25845 OPC_RecordChild1,
25846 OPC_Scope, 41,
25847 OPC_CheckChild1TypeI32,
25848 OPC_CheckPredicate7,
25849 OPC_CheckPredicate5,
25850 OPC_SwitchType , 16, MVT::i32,
25851 OPC_MoveParent,
25852 OPC_CheckType, MVT::v4i32,
25853 OPC_CheckPatternPredicate3,
25854 OPC_CheckComplexPat2, /*#*/1,
25855 OPC_EmitMergeInputChains1_0,
25856 OPC_EmitIntegerI32, 0,
25857 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25858 MVT::v4i32, 3, 59,
25859 16, MVT::i64,
25860 OPC_MoveParent,
25861 OPC_CheckType, MVT::v2i64,
25862 OPC_CheckPatternPredicate3,
25863 OPC_CheckComplexPat2, /*#*/1,
25864 OPC_EmitMergeInputChains1_0,
25865 OPC_EmitIntegerI32, 0,
25866 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25867 MVT::v2i64, 3, 59,
25868 0,
25869 41,
25870 OPC_CheckChild1TypeI64,
25871 OPC_CheckPredicate7,
25872 OPC_CheckPredicate5,
25873 OPC_SwitchType , 16, MVT::i32,
25874 OPC_MoveParent,
25875 OPC_CheckType, MVT::v4i32,
25876 OPC_CheckPatternPredicate4,
25877 OPC_CheckComplexPat3, /*#*/1,
25878 OPC_EmitMergeInputChains1_0,
25879 OPC_EmitIntegerI32, 0,
25880 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25881 MVT::v4i32, 3, 59,
25882 16, MVT::i64,
25883 OPC_MoveParent,
25884 OPC_CheckType, MVT::v2i64,
25885 OPC_CheckPatternPredicate4,
25886 OPC_CheckComplexPat3, /*#*/1,
25887 OPC_EmitMergeInputChains1_0,
25888 OPC_EmitIntegerI32, 0,
25889 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25890 MVT::v2i64, 3, 59,
25891 0,
25892 0,
25893 41,
25894 OPC_RecordChild0,
25895 OPC_Scope, 27,
25896 OPC_CheckChild0TypeI32,
25897 OPC_SwitchType , 6, MVT::v16i8,
25898 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
25899 MVT::v16i8, 1, 2,
25900 6, MVT::v8i16,
25901 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
25902 MVT::v8i16, 1, 2,
25903 6, MVT::v4i32,
25904 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
25905 MVT::v4i32, 1, 2,
25906 0,
25907 9,
25908 OPC_CheckChild0TypeI64,
25909 OPC_CheckType, MVT::v2i64,
25910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
25911 MVT::v2i64, 1, 2,
25912 0,
25913 101,
25914 OPC_MoveChild0,
25915 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
25916 OPC_RecordMemRef,
25917 OPC_RecordNode,
25918 OPC_RecordChild1,
25919 OPC_Scope, 45,
25920 OPC_CheckChild1TypeI32,
25921 OPC_CheckPredicate7,
25922 OPC_CheckPredicate5,
25923 OPC_SwitchType , 18, MVT::f32,
25924 OPC_MoveParent,
25925 OPC_CheckType, 8|128,1,
25926 OPC_CheckPatternPredicate3,
25927 OPC_CheckComplexPat2, /*#*/1,
25928 OPC_EmitMergeInputChains1_0,
25929 OPC_EmitIntegerI32, 0,
25930 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
25931 8|128,1, 3, 59,
25932 18, MVT::f64,
25933 OPC_MoveParent,
25934 OPC_CheckType, 26|128,1,
25935 OPC_CheckPatternPredicate3,
25936 OPC_CheckComplexPat2, /*#*/1,
25937 OPC_EmitMergeInputChains1_0,
25938 OPC_EmitIntegerI32, 0,
25939 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
25940 26|128,1, 3, 59,
25941 0,
25942 45,
25943 OPC_CheckChild1TypeI64,
25944 OPC_CheckPredicate7,
25945 OPC_CheckPredicate5,
25946 OPC_SwitchType , 18, MVT::f32,
25947 OPC_MoveParent,
25948 OPC_CheckType, 8|128,1,
25949 OPC_CheckPatternPredicate4,
25950 OPC_CheckComplexPat3, /*#*/1,
25951 OPC_EmitMergeInputChains1_0,
25952 OPC_EmitIntegerI32, 0,
25953 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
25954 8|128,1, 3, 59,
25955 18, MVT::f64,
25956 OPC_MoveParent,
25957 OPC_CheckType, 26|128,1,
25958 OPC_CheckPatternPredicate4,
25959 OPC_CheckComplexPat3, /*#*/1,
25960 OPC_EmitMergeInputChains1_0,
25961 OPC_EmitIntegerI32, 0,
25962 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
25963 26|128,1, 3, 59,
25964 0,
25965 0,
25966 27,
25967 OPC_RecordChild0,
25968 OPC_SwitchType , 9, 8|128,1,
25969 OPC_CheckChild0Type, MVT::f32,
25970 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
25971 8|128,1, 1, 2,
25972 9, 26|128,1,
25973 OPC_CheckChild0Type, MVT::f64,
25974 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
25975 26|128,1, 1, 2,
25976 0,
25977 0,
25978 91|128,12, TARGET_VAL(ISD::VSELECT),
25979 OPC_Scope, 46,
25980 OPC_RecordChild0,
25981 OPC_MoveChild1,
25982 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
25983 OPC_RecordChild0,
25984 OPC_MoveChild1,
25985 OPC_CheckImmAllOnesV,
25986 OPC_MoveParent,
25987 OPC_MoveSibling2,
25988 OPC_CheckImmAllZerosV,
25989 OPC_MoveParent,
25990 OPC_SwitchType , 6, MVT::v16i8,
25991 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
25992 MVT::v16i8, 2, 16,
25993 6, MVT::v8i16,
25994 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
25995 MVT::v8i16, 2, 16,
25996 6, MVT::v4i32,
25997 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
25998 MVT::v4i32, 2, 16,
25999 6, MVT::v2i64,
26000 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
26001 MVT::v2i64, 2, 16,
26002 0,
26003 56|128,1,
26004 OPC_MoveChild0,
26005 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
26006 OPC_MoveChild0,
26007 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
26008 OPC_RecordChild0,
26009 OPC_SwitchType , 63, 8|128,1,
26010 OPC_CheckChild0Type, MVT::v4i32,
26011 OPC_MoveSibling1,
26012 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
26013 OPC_RecordChild0,
26014 OPC_CheckChild0Type, MVT::v4i32,
26015 OPC_MoveParent,
26016 OPC_CheckChild2CondCode, ISD::SETOLT,
26017 OPC_MoveParent,
26018 OPC_CheckType, MVT::v4i32,
26019 OPC_Scope, 11,
26020 OPC_CheckChild1Same, 0,
26021 OPC_CheckChild2Same, 1,
26022 OPC_CheckPatternPredicate5,
26023 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26024 MVT::v4i32, 2, 1,
26025 11,
26026 OPC_CheckChild1Same, 1,
26027 OPC_CheckChild2Same, 0,
26028 OPC_CheckPatternPredicate5,
26029 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26030 MVT::v4i32, 2, 16,
26031 10,
26032 OPC_CheckChild1Same, 0,
26033 OPC_CheckChild2Same, 1,
26034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26035 MVT::v4i32, 2, 1,
26036 10,
26037 OPC_CheckChild1Same, 1,
26038 OPC_CheckChild2Same, 0,
26039 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26040 MVT::v4i32, 2, 16,
26041 0,
26042 63, 26|128,1,
26043 OPC_CheckChild0Type, MVT::v2i64,
26044 OPC_MoveSibling1,
26045 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
26046 OPC_RecordChild0,
26047 OPC_CheckChild0Type, MVT::v2i64,
26048 OPC_MoveParent,
26049 OPC_CheckChild2CondCode, ISD::SETOLT,
26050 OPC_MoveParent,
26051 OPC_CheckType, MVT::v2i64,
26052 OPC_Scope, 11,
26053 OPC_CheckChild1Same, 0,
26054 OPC_CheckChild2Same, 1,
26055 OPC_CheckPatternPredicate5,
26056 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26057 MVT::v2i64, 2, 1,
26058 11,
26059 OPC_CheckChild1Same, 1,
26060 OPC_CheckChild2Same, 0,
26061 OPC_CheckPatternPredicate5,
26062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26063 MVT::v2i64, 2, 16,
26064 10,
26065 OPC_CheckChild1Same, 0,
26066 OPC_CheckChild2Same, 1,
26067 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26068 MVT::v2i64, 2, 1,
26069 10,
26070 OPC_CheckChild1Same, 1,
26071 OPC_CheckChild2Same, 0,
26072 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26073 MVT::v2i64, 2, 16,
26074 0,
26075 39, MVT::v8f16,
26076 OPC_CheckChild0Type, MVT::v8i16,
26077 OPC_MoveSibling1,
26078 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
26079 OPC_RecordChild0,
26080 OPC_CheckChild0Type, MVT::v8i16,
26081 OPC_MoveParent,
26082 OPC_CheckChild2CondCode, ISD::SETOLT,
26083 OPC_MoveParent,
26084 OPC_CheckType, MVT::v8i16,
26085 OPC_Scope, 10,
26086 OPC_CheckChild1Same, 0,
26087 OPC_CheckChild2Same, 1,
26088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26089 MVT::v8i16, 2, 1,
26090 10,
26091 OPC_CheckChild1Same, 1,
26092 OPC_CheckChild2Same, 0,
26093 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26094 MVT::v8i16, 2, 16,
26095 0,
26096 0,
26097 37,
26098 OPC_RecordChild0,
26099 OPC_RecordChild1,
26100 OPC_RecordChild2,
26101 OPC_SwitchType , 6, MVT::v16i8,
26102 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26103 MVT::v16i8, 3, 3,
26104 6, MVT::v8i16,
26105 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26106 MVT::v8i16, 3, 3,
26107 6, MVT::v4i32,
26108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26109 MVT::v4i32, 3, 3,
26110 6, MVT::v2i64,
26111 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26112 MVT::v2i64, 3, 3,
26113 0,
26114 46|128,10,
26115 OPC_MoveChild0,
26116 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
26117 OPC_RecordChild0,
26118 OPC_Scope, 14|128,4,
26119 OPC_CheckChild0Type, 8|128,1,
26120 OPC_RecordChild1,
26121 OPC_Scope, 64,
26122 OPC_CheckChild2CondCode, ISD::SETOLT,
26123 OPC_MoveParent,
26124 OPC_CheckType, 8|128,1,
26125 OPC_Scope, 14,
26126 OPC_CheckChild1Same, 0,
26127 OPC_CheckChild2Same, 1,
26128 OPC_CheckPredicate, 11,
26129 OPC_CheckPatternPredicate5,
26130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26131 8|128,1, 2, 1,
26132 14,
26133 OPC_CheckChild1Same, 1,
26134 OPC_CheckChild2Same, 0,
26135 OPC_CheckPredicate, 12,
26136 OPC_CheckPatternPredicate5,
26137 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26138 8|128,1, 2, 16,
26139 12,
26140 OPC_CheckChild1Same, 0,
26141 OPC_CheckChild2Same, 1,
26142 OPC_CheckPatternPredicate0,
26143 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26144 8|128,1, 2, 1,
26145 12,
26146 OPC_CheckChild1Same, 1,
26147 OPC_CheckChild2Same, 0,
26148 OPC_CheckPatternPredicate0,
26149 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26150 8|128,1, 2, 16,
26151 0,
26152 64,
26153 OPC_CheckChild2CondCode, ISD::SETOLE,
26154 OPC_MoveParent,
26155 OPC_CheckType, 8|128,1,
26156 OPC_Scope, 14,
26157 OPC_CheckChild1Same, 0,
26158 OPC_CheckChild2Same, 1,
26159 OPC_CheckPredicate, 11,
26160 OPC_CheckPatternPredicate5,
26161 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26162 8|128,1, 2, 1,
26163 14,
26164 OPC_CheckChild1Same, 1,
26165 OPC_CheckChild2Same, 0,
26166 OPC_CheckPredicate, 12,
26167 OPC_CheckPatternPredicate5,
26168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26169 8|128,1, 2, 16,
26170 12,
26171 OPC_CheckChild1Same, 0,
26172 OPC_CheckChild2Same, 1,
26173 OPC_CheckPatternPredicate0,
26174 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26175 8|128,1, 2, 1,
26176 12,
26177 OPC_CheckChild1Same, 1,
26178 OPC_CheckChild2Same, 0,
26179 OPC_CheckPatternPredicate0,
26180 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26181 8|128,1, 2, 16,
26182 0,
26183 64,
26184 OPC_CheckChild2CondCode, ISD::SETOGT,
26185 OPC_MoveParent,
26186 OPC_CheckType, 8|128,1,
26187 OPC_Scope, 14,
26188 OPC_CheckChild1Same, 1,
26189 OPC_CheckChild2Same, 0,
26190 OPC_CheckPredicate, 11,
26191 OPC_CheckPatternPredicate5,
26192 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26193 8|128,1, 2, 16,
26194 14,
26195 OPC_CheckChild1Same, 0,
26196 OPC_CheckChild2Same, 1,
26197 OPC_CheckPredicate, 12,
26198 OPC_CheckPatternPredicate5,
26199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26200 8|128,1, 2, 1,
26201 12,
26202 OPC_CheckChild1Same, 1,
26203 OPC_CheckChild2Same, 0,
26204 OPC_CheckPatternPredicate0,
26205 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26206 8|128,1, 2, 16,
26207 12,
26208 OPC_CheckChild1Same, 0,
26209 OPC_CheckChild2Same, 1,
26210 OPC_CheckPatternPredicate0,
26211 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26212 8|128,1, 2, 1,
26213 0,
26214 64,
26215 OPC_CheckChild2CondCode, ISD::SETOGE,
26216 OPC_MoveParent,
26217 OPC_CheckType, 8|128,1,
26218 OPC_Scope, 14,
26219 OPC_CheckChild1Same, 1,
26220 OPC_CheckChild2Same, 0,
26221 OPC_CheckPredicate, 11,
26222 OPC_CheckPatternPredicate5,
26223 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26224 8|128,1, 2, 16,
26225 14,
26226 OPC_CheckChild1Same, 0,
26227 OPC_CheckChild2Same, 1,
26228 OPC_CheckPredicate, 12,
26229 OPC_CheckPatternPredicate5,
26230 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26231 8|128,1, 2, 1,
26232 12,
26233 OPC_CheckChild1Same, 1,
26234 OPC_CheckChild2Same, 0,
26235 OPC_CheckPatternPredicate0,
26236 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26237 8|128,1, 2, 16,
26238 12,
26239 OPC_CheckChild1Same, 0,
26240 OPC_CheckChild2Same, 1,
26241 OPC_CheckPatternPredicate0,
26242 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26243 8|128,1, 2, 1,
26244 0,
26245 64,
26246 OPC_CheckChild2CondCode, ISD::SETLT,
26247 OPC_MoveParent,
26248 OPC_CheckType, 8|128,1,
26249 OPC_Scope, 14,
26250 OPC_CheckChild1Same, 0,
26251 OPC_CheckChild2Same, 1,
26252 OPC_CheckPredicate, 11,
26253 OPC_CheckPatternPredicate5,
26254 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26255 8|128,1, 2, 16,
26256 14,
26257 OPC_CheckChild1Same, 1,
26258 OPC_CheckChild2Same, 0,
26259 OPC_CheckPredicate, 12,
26260 OPC_CheckPatternPredicate5,
26261 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26262 8|128,1, 2, 16,
26263 12,
26264 OPC_CheckChild1Same, 0,
26265 OPC_CheckChild2Same, 1,
26266 OPC_CheckPatternPredicate0,
26267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26268 8|128,1, 2, 16,
26269 12,
26270 OPC_CheckChild1Same, 1,
26271 OPC_CheckChild2Same, 0,
26272 OPC_CheckPatternPredicate0,
26273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26274 8|128,1, 2, 16,
26275 0,
26276 64,
26277 OPC_CheckChild2CondCode, ISD::SETLE,
26278 OPC_MoveParent,
26279 OPC_CheckType, 8|128,1,
26280 OPC_Scope, 14,
26281 OPC_CheckChild1Same, 0,
26282 OPC_CheckChild2Same, 1,
26283 OPC_CheckPredicate, 11,
26284 OPC_CheckPatternPredicate5,
26285 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26286 8|128,1, 2, 16,
26287 14,
26288 OPC_CheckChild1Same, 1,
26289 OPC_CheckChild2Same, 0,
26290 OPC_CheckPredicate, 12,
26291 OPC_CheckPatternPredicate5,
26292 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26293 8|128,1, 2, 16,
26294 12,
26295 OPC_CheckChild1Same, 0,
26296 OPC_CheckChild2Same, 1,
26297 OPC_CheckPatternPredicate0,
26298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26299 8|128,1, 2, 16,
26300 12,
26301 OPC_CheckChild1Same, 1,
26302 OPC_CheckChild2Same, 0,
26303 OPC_CheckPatternPredicate0,
26304 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26305 8|128,1, 2, 16,
26306 0,
26307 64,
26308 OPC_CheckChild2CondCode, ISD::SETGT,
26309 OPC_MoveParent,
26310 OPC_CheckType, 8|128,1,
26311 OPC_Scope, 14,
26312 OPC_CheckChild1Same, 1,
26313 OPC_CheckChild2Same, 0,
26314 OPC_CheckPredicate, 11,
26315 OPC_CheckPatternPredicate5,
26316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26317 8|128,1, 2, 16,
26318 14,
26319 OPC_CheckChild1Same, 0,
26320 OPC_CheckChild2Same, 1,
26321 OPC_CheckPredicate, 12,
26322 OPC_CheckPatternPredicate5,
26323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26324 8|128,1, 2, 16,
26325 12,
26326 OPC_CheckChild1Same, 1,
26327 OPC_CheckChild2Same, 0,
26328 OPC_CheckPatternPredicate0,
26329 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26330 8|128,1, 2, 16,
26331 12,
26332 OPC_CheckChild1Same, 0,
26333 OPC_CheckChild2Same, 1,
26334 OPC_CheckPatternPredicate0,
26335 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26336 8|128,1, 2, 16,
26337 0,
26338 64,
26339 OPC_CheckChild2CondCode, ISD::SETGE,
26340 OPC_MoveParent,
26341 OPC_CheckType, 8|128,1,
26342 OPC_Scope, 14,
26343 OPC_CheckChild1Same, 1,
26344 OPC_CheckChild2Same, 0,
26345 OPC_CheckPredicate, 11,
26346 OPC_CheckPatternPredicate5,
26347 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
26348 8|128,1, 2, 16,
26349 14,
26350 OPC_CheckChild1Same, 0,
26351 OPC_CheckChild2Same, 1,
26352 OPC_CheckPredicate, 12,
26353 OPC_CheckPatternPredicate5,
26354 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
26355 8|128,1, 2, 16,
26356 12,
26357 OPC_CheckChild1Same, 1,
26358 OPC_CheckChild2Same, 0,
26359 OPC_CheckPatternPredicate0,
26360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
26361 8|128,1, 2, 16,
26362 12,
26363 OPC_CheckChild1Same, 0,
26364 OPC_CheckChild2Same, 1,
26365 OPC_CheckPatternPredicate0,
26366 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
26367 8|128,1, 2, 16,
26368 0,
26369 0,
26370 14|128,4,
26371 OPC_CheckChild0Type, 26|128,1,
26372 OPC_RecordChild1,
26373 OPC_Scope, 64,
26374 OPC_CheckChild2CondCode, ISD::SETOLT,
26375 OPC_MoveParent,
26376 OPC_CheckType, 26|128,1,
26377 OPC_Scope, 14,
26378 OPC_CheckChild1Same, 0,
26379 OPC_CheckChild2Same, 1,
26380 OPC_CheckPredicate, 11,
26381 OPC_CheckPatternPredicate5,
26382 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26383 26|128,1, 2, 1,
26384 14,
26385 OPC_CheckChild1Same, 1,
26386 OPC_CheckChild2Same, 0,
26387 OPC_CheckPredicate, 12,
26388 OPC_CheckPatternPredicate5,
26389 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26390 26|128,1, 2, 16,
26391 12,
26392 OPC_CheckChild1Same, 0,
26393 OPC_CheckChild2Same, 1,
26394 OPC_CheckPatternPredicate0,
26395 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26396 26|128,1, 2, 1,
26397 12,
26398 OPC_CheckChild1Same, 1,
26399 OPC_CheckChild2Same, 0,
26400 OPC_CheckPatternPredicate0,
26401 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26402 26|128,1, 2, 16,
26403 0,
26404 64,
26405 OPC_CheckChild2CondCode, ISD::SETOLE,
26406 OPC_MoveParent,
26407 OPC_CheckType, 26|128,1,
26408 OPC_Scope, 14,
26409 OPC_CheckChild1Same, 0,
26410 OPC_CheckChild2Same, 1,
26411 OPC_CheckPredicate, 11,
26412 OPC_CheckPatternPredicate5,
26413 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26414 26|128,1, 2, 1,
26415 14,
26416 OPC_CheckChild1Same, 1,
26417 OPC_CheckChild2Same, 0,
26418 OPC_CheckPredicate, 12,
26419 OPC_CheckPatternPredicate5,
26420 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26421 26|128,1, 2, 16,
26422 12,
26423 OPC_CheckChild1Same, 0,
26424 OPC_CheckChild2Same, 1,
26425 OPC_CheckPatternPredicate0,
26426 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26427 26|128,1, 2, 1,
26428 12,
26429 OPC_CheckChild1Same, 1,
26430 OPC_CheckChild2Same, 0,
26431 OPC_CheckPatternPredicate0,
26432 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26433 26|128,1, 2, 16,
26434 0,
26435 64,
26436 OPC_CheckChild2CondCode, ISD::SETOGT,
26437 OPC_MoveParent,
26438 OPC_CheckType, 26|128,1,
26439 OPC_Scope, 14,
26440 OPC_CheckChild1Same, 1,
26441 OPC_CheckChild2Same, 0,
26442 OPC_CheckPredicate, 11,
26443 OPC_CheckPatternPredicate5,
26444 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26445 26|128,1, 2, 16,
26446 14,
26447 OPC_CheckChild1Same, 0,
26448 OPC_CheckChild2Same, 1,
26449 OPC_CheckPredicate, 12,
26450 OPC_CheckPatternPredicate5,
26451 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26452 26|128,1, 2, 1,
26453 12,
26454 OPC_CheckChild1Same, 1,
26455 OPC_CheckChild2Same, 0,
26456 OPC_CheckPatternPredicate0,
26457 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26458 26|128,1, 2, 16,
26459 12,
26460 OPC_CheckChild1Same, 0,
26461 OPC_CheckChild2Same, 1,
26462 OPC_CheckPatternPredicate0,
26463 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26464 26|128,1, 2, 1,
26465 0,
26466 64,
26467 OPC_CheckChild2CondCode, ISD::SETOGE,
26468 OPC_MoveParent,
26469 OPC_CheckType, 26|128,1,
26470 OPC_Scope, 14,
26471 OPC_CheckChild1Same, 1,
26472 OPC_CheckChild2Same, 0,
26473 OPC_CheckPredicate, 11,
26474 OPC_CheckPatternPredicate5,
26475 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26476 26|128,1, 2, 16,
26477 14,
26478 OPC_CheckChild1Same, 0,
26479 OPC_CheckChild2Same, 1,
26480 OPC_CheckPredicate, 12,
26481 OPC_CheckPatternPredicate5,
26482 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26483 26|128,1, 2, 1,
26484 12,
26485 OPC_CheckChild1Same, 1,
26486 OPC_CheckChild2Same, 0,
26487 OPC_CheckPatternPredicate0,
26488 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26489 26|128,1, 2, 16,
26490 12,
26491 OPC_CheckChild1Same, 0,
26492 OPC_CheckChild2Same, 1,
26493 OPC_CheckPatternPredicate0,
26494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26495 26|128,1, 2, 1,
26496 0,
26497 64,
26498 OPC_CheckChild2CondCode, ISD::SETLT,
26499 OPC_MoveParent,
26500 OPC_CheckType, 26|128,1,
26501 OPC_Scope, 14,
26502 OPC_CheckChild1Same, 0,
26503 OPC_CheckChild2Same, 1,
26504 OPC_CheckPredicate, 11,
26505 OPC_CheckPatternPredicate5,
26506 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26507 26|128,1, 2, 16,
26508 14,
26509 OPC_CheckChild1Same, 1,
26510 OPC_CheckChild2Same, 0,
26511 OPC_CheckPredicate, 12,
26512 OPC_CheckPatternPredicate5,
26513 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26514 26|128,1, 2, 16,
26515 12,
26516 OPC_CheckChild1Same, 0,
26517 OPC_CheckChild2Same, 1,
26518 OPC_CheckPatternPredicate0,
26519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26520 26|128,1, 2, 16,
26521 12,
26522 OPC_CheckChild1Same, 1,
26523 OPC_CheckChild2Same, 0,
26524 OPC_CheckPatternPredicate0,
26525 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26526 26|128,1, 2, 16,
26527 0,
26528 64,
26529 OPC_CheckChild2CondCode, ISD::SETLE,
26530 OPC_MoveParent,
26531 OPC_CheckType, 26|128,1,
26532 OPC_Scope, 14,
26533 OPC_CheckChild1Same, 0,
26534 OPC_CheckChild2Same, 1,
26535 OPC_CheckPredicate, 11,
26536 OPC_CheckPatternPredicate5,
26537 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26538 26|128,1, 2, 16,
26539 14,
26540 OPC_CheckChild1Same, 1,
26541 OPC_CheckChild2Same, 0,
26542 OPC_CheckPredicate, 12,
26543 OPC_CheckPatternPredicate5,
26544 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26545 26|128,1, 2, 16,
26546 12,
26547 OPC_CheckChild1Same, 0,
26548 OPC_CheckChild2Same, 1,
26549 OPC_CheckPatternPredicate0,
26550 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26551 26|128,1, 2, 16,
26552 12,
26553 OPC_CheckChild1Same, 1,
26554 OPC_CheckChild2Same, 0,
26555 OPC_CheckPatternPredicate0,
26556 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26557 26|128,1, 2, 16,
26558 0,
26559 64,
26560 OPC_CheckChild2CondCode, ISD::SETGT,
26561 OPC_MoveParent,
26562 OPC_CheckType, 26|128,1,
26563 OPC_Scope, 14,
26564 OPC_CheckChild1Same, 1,
26565 OPC_CheckChild2Same, 0,
26566 OPC_CheckPredicate, 11,
26567 OPC_CheckPatternPredicate5,
26568 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26569 26|128,1, 2, 16,
26570 14,
26571 OPC_CheckChild1Same, 0,
26572 OPC_CheckChild2Same, 1,
26573 OPC_CheckPredicate, 12,
26574 OPC_CheckPatternPredicate5,
26575 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26576 26|128,1, 2, 16,
26577 12,
26578 OPC_CheckChild1Same, 1,
26579 OPC_CheckChild2Same, 0,
26580 OPC_CheckPatternPredicate0,
26581 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26582 26|128,1, 2, 16,
26583 12,
26584 OPC_CheckChild1Same, 0,
26585 OPC_CheckChild2Same, 1,
26586 OPC_CheckPatternPredicate0,
26587 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26588 26|128,1, 2, 16,
26589 0,
26590 64,
26591 OPC_CheckChild2CondCode, ISD::SETGE,
26592 OPC_MoveParent,
26593 OPC_CheckType, 26|128,1,
26594 OPC_Scope, 14,
26595 OPC_CheckChild1Same, 1,
26596 OPC_CheckChild2Same, 0,
26597 OPC_CheckPredicate, 11,
26598 OPC_CheckPatternPredicate5,
26599 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
26600 26|128,1, 2, 16,
26601 14,
26602 OPC_CheckChild1Same, 0,
26603 OPC_CheckChild2Same, 1,
26604 OPC_CheckPredicate, 12,
26605 OPC_CheckPatternPredicate5,
26606 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
26607 26|128,1, 2, 16,
26608 12,
26609 OPC_CheckChild1Same, 1,
26610 OPC_CheckChild2Same, 0,
26611 OPC_CheckPatternPredicate0,
26612 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
26613 26|128,1, 2, 16,
26614 12,
26615 OPC_CheckChild1Same, 0,
26616 OPC_CheckChild2Same, 1,
26617 OPC_CheckPatternPredicate0,
26618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
26619 26|128,1, 2, 16,
26620 0,
26621 0,
26622 5|128,2,
26623 OPC_CheckChild0Type, MVT::v8f16,
26624 OPC_RecordChild1,
26625 OPC_Scope, 31,
26626 OPC_CheckChild2CondCode, ISD::SETOLT,
26627 OPC_MoveParent,
26628 OPC_CheckType, MVT::v8f16,
26629 OPC_Scope, 11,
26630 OPC_CheckChild1Same, 0,
26631 OPC_CheckChild2Same, 1,
26632 OPC_CheckPatternPredicate6,
26633 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26634 MVT::v8f16, 2, 1,
26635 11,
26636 OPC_CheckChild1Same, 1,
26637 OPC_CheckChild2Same, 0,
26638 OPC_CheckPatternPredicate6,
26639 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26640 MVT::v8f16, 2, 16,
26641 0,
26642 31,
26643 OPC_CheckChild2CondCode, ISD::SETOLE,
26644 OPC_MoveParent,
26645 OPC_CheckType, MVT::v8f16,
26646 OPC_Scope, 11,
26647 OPC_CheckChild1Same, 0,
26648 OPC_CheckChild2Same, 1,
26649 OPC_CheckPatternPredicate6,
26650 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26651 MVT::v8f16, 2, 1,
26652 11,
26653 OPC_CheckChild1Same, 1,
26654 OPC_CheckChild2Same, 0,
26655 OPC_CheckPatternPredicate6,
26656 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26657 MVT::v8f16, 2, 16,
26658 0,
26659 31,
26660 OPC_CheckChild2CondCode, ISD::SETOGT,
26661 OPC_MoveParent,
26662 OPC_CheckType, MVT::v8f16,
26663 OPC_Scope, 11,
26664 OPC_CheckChild1Same, 1,
26665 OPC_CheckChild2Same, 0,
26666 OPC_CheckPatternPredicate6,
26667 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26668 MVT::v8f16, 2, 16,
26669 11,
26670 OPC_CheckChild1Same, 0,
26671 OPC_CheckChild2Same, 1,
26672 OPC_CheckPatternPredicate6,
26673 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26674 MVT::v8f16, 2, 1,
26675 0,
26676 31,
26677 OPC_CheckChild2CondCode, ISD::SETOGE,
26678 OPC_MoveParent,
26679 OPC_CheckType, MVT::v8f16,
26680 OPC_Scope, 11,
26681 OPC_CheckChild1Same, 1,
26682 OPC_CheckChild2Same, 0,
26683 OPC_CheckPatternPredicate6,
26684 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26685 MVT::v8f16, 2, 16,
26686 11,
26687 OPC_CheckChild1Same, 0,
26688 OPC_CheckChild2Same, 1,
26689 OPC_CheckPatternPredicate6,
26690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26691 MVT::v8f16, 2, 1,
26692 0,
26693 31,
26694 OPC_CheckChild2CondCode, ISD::SETLT,
26695 OPC_MoveParent,
26696 OPC_CheckType, MVT::v8f16,
26697 OPC_Scope, 11,
26698 OPC_CheckChild1Same, 0,
26699 OPC_CheckChild2Same, 1,
26700 OPC_CheckPatternPredicate6,
26701 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26702 MVT::v8f16, 2, 16,
26703 11,
26704 OPC_CheckChild1Same, 1,
26705 OPC_CheckChild2Same, 0,
26706 OPC_CheckPatternPredicate6,
26707 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26708 MVT::v8f16, 2, 16,
26709 0,
26710 31,
26711 OPC_CheckChild2CondCode, ISD::SETLE,
26712 OPC_MoveParent,
26713 OPC_CheckType, MVT::v8f16,
26714 OPC_Scope, 11,
26715 OPC_CheckChild1Same, 0,
26716 OPC_CheckChild2Same, 1,
26717 OPC_CheckPatternPredicate6,
26718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26719 MVT::v8f16, 2, 16,
26720 11,
26721 OPC_CheckChild1Same, 1,
26722 OPC_CheckChild2Same, 0,
26723 OPC_CheckPatternPredicate6,
26724 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26725 MVT::v8f16, 2, 16,
26726 0,
26727 31,
26728 OPC_CheckChild2CondCode, ISD::SETGT,
26729 OPC_MoveParent,
26730 OPC_CheckType, MVT::v8f16,
26731 OPC_Scope, 11,
26732 OPC_CheckChild1Same, 1,
26733 OPC_CheckChild2Same, 0,
26734 OPC_CheckPatternPredicate6,
26735 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26736 MVT::v8f16, 2, 16,
26737 11,
26738 OPC_CheckChild1Same, 0,
26739 OPC_CheckChild2Same, 1,
26740 OPC_CheckPatternPredicate6,
26741 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26742 MVT::v8f16, 2, 16,
26743 0,
26744 31,
26745 OPC_CheckChild2CondCode, ISD::SETGE,
26746 OPC_MoveParent,
26747 OPC_CheckType, MVT::v8f16,
26748 OPC_Scope, 11,
26749 OPC_CheckChild1Same, 1,
26750 OPC_CheckChild2Same, 0,
26751 OPC_CheckPatternPredicate6,
26752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
26753 MVT::v8f16, 2, 16,
26754 11,
26755 OPC_CheckChild1Same, 0,
26756 OPC_CheckChild2Same, 1,
26757 OPC_CheckPatternPredicate6,
26758 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
26759 MVT::v8f16, 2, 16,
26760 0,
26761 0,
26762 0,
26763 25,
26764 OPC_RecordChild0,
26765 OPC_RecordChild1,
26766 OPC_RecordChild2,
26767 OPC_SwitchType , 7, 8|128,1,
26768 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26769 8|128,1, 3, 3,
26770 7, 26|128,1,
26771 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
26772 26|128,1, 3, 3,
26773 0,
26774 0,
26775 123, TARGET_VAL(WebAssemblyISD::VEC_SHL),
26776 OPC_RecordChild0,
26777 OPC_Scope, 79,
26778 OPC_MoveChild1,
26779 OPC_Scope, 23,
26780 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
26781 OPC_MoveChild0,
26782 OPC_CheckAndImm, 63,
26783 OPC_RecordChild0,
26784 OPC_MoveParent,
26785 OPC_MoveParent,
26786 OPC_CheckType, MVT::v2i64,
26787 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
26788 MVT::i32, 1, 17,
26789 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
26790 MVT::v2i64, 2, 42,
26791 12,
26792 OPC_CheckAndImm, 7,
26793 OPC_RecordChild0,
26794 OPC_MoveParent,
26795 OPC_CheckType, MVT::v16i8,
26796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
26797 MVT::v16i8, 2, 16,
26798 12,
26799 OPC_CheckAndImm, 15,
26800 OPC_RecordChild0,
26801 OPC_MoveParent,
26802 OPC_CheckType, MVT::v8i16,
26803 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
26804 MVT::v8i16, 2, 16,
26805 12,
26806 OPC_CheckAndImm, 31,
26807 OPC_RecordChild0,
26808 OPC_MoveParent,
26809 OPC_CheckType, MVT::v4i32,
26810 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
26811 MVT::v4i32, 2, 16,
26812 12,
26813 OPC_CheckAndImm, 63,
26814 OPC_RecordChild0,
26815 OPC_MoveParent,
26816 OPC_CheckType, MVT::v2i64,
26817 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
26818 MVT::v2i64, 2, 16,
26819 0,
26820 39,
26821 OPC_RecordChild1,
26822 OPC_SwitchType , 7, MVT::v16i8,
26823 OPC_CheckPatternPredicate0,
26824 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
26825 MVT::v16i8, 2, 16,
26826 7, MVT::v8i16,
26827 OPC_CheckPatternPredicate0,
26828 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
26829 MVT::v8i16, 2, 16,
26830 7, MVT::v4i32,
26831 OPC_CheckPatternPredicate0,
26832 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
26833 MVT::v4i32, 2, 16,
26834 7, MVT::v2i64,
26835 OPC_CheckPatternPredicate0,
26836 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
26837 MVT::v2i64, 2, 16,
26838 0,
26839 0,
26840 123, TARGET_VAL(WebAssemblyISD::VEC_SHR_S),
26841 OPC_RecordChild0,
26842 OPC_Scope, 79,
26843 OPC_MoveChild1,
26844 OPC_Scope, 23,
26845 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
26846 OPC_MoveChild0,
26847 OPC_CheckAndImm, 63,
26848 OPC_RecordChild0,
26849 OPC_MoveParent,
26850 OPC_MoveParent,
26851 OPC_CheckType, MVT::v2i64,
26852 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
26853 MVT::i32, 1, 17,
26854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
26855 MVT::v2i64, 2, 42,
26856 12,
26857 OPC_CheckAndImm, 7,
26858 OPC_RecordChild0,
26859 OPC_MoveParent,
26860 OPC_CheckType, MVT::v16i8,
26861 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
26862 MVT::v16i8, 2, 16,
26863 12,
26864 OPC_CheckAndImm, 15,
26865 OPC_RecordChild0,
26866 OPC_MoveParent,
26867 OPC_CheckType, MVT::v8i16,
26868 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
26869 MVT::v8i16, 2, 16,
26870 12,
26871 OPC_CheckAndImm, 31,
26872 OPC_RecordChild0,
26873 OPC_MoveParent,
26874 OPC_CheckType, MVT::v4i32,
26875 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
26876 MVT::v4i32, 2, 16,
26877 12,
26878 OPC_CheckAndImm, 63,
26879 OPC_RecordChild0,
26880 OPC_MoveParent,
26881 OPC_CheckType, MVT::v2i64,
26882 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
26883 MVT::v2i64, 2, 16,
26884 0,
26885 39,
26886 OPC_RecordChild1,
26887 OPC_SwitchType , 7, MVT::v16i8,
26888 OPC_CheckPatternPredicate0,
26889 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
26890 MVT::v16i8, 2, 16,
26891 7, MVT::v8i16,
26892 OPC_CheckPatternPredicate0,
26893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
26894 MVT::v8i16, 2, 16,
26895 7, MVT::v4i32,
26896 OPC_CheckPatternPredicate0,
26897 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
26898 MVT::v4i32, 2, 16,
26899 7, MVT::v2i64,
26900 OPC_CheckPatternPredicate0,
26901 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
26902 MVT::v2i64, 2, 16,
26903 0,
26904 0,
26905 15|128,1, TARGET_VAL(ISD::PARTIAL_REDUCE_SMLA),
26906 OPC_RecordChild0,
26907 OPC_CheckChild0Type, MVT::v4i32,
26908 OPC_RecordChild1,
26909 OPC_Scope, 47,
26910 OPC_CheckChild1Type, MVT::v8i16,
26911 OPC_Scope, 24,
26912 OPC_MoveChild2,
26913 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
26914 OPC_CheckChild0Integer, 1,
26915 OPC_CheckChild0TypeI32,
26916 OPC_CheckType, MVT::v8i16,
26917 OPC_MoveParent,
26918 OPC_CheckType, MVT::v4i32,
26919 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
26920 MVT::v16i8, 1, 17,
26921 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26922 MVT::v4i32, 2, 4,
26923 17,
26924 OPC_RecordChild2,
26925 OPC_CheckChild2Type, MVT::v8i16,
26926 OPC_CheckType, MVT::v4i32,
26927 OPC_EmitNode1None, TARGET_VAL(WebAssembly::DOT),
26928 MVT::v16i8, 2, 45,
26929 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26930 MVT::v4i32, 2, 6,
26931 0,
26932 88,
26933 OPC_CheckChild1Type, MVT::v16i8,
26934 OPC_Scope, 30,
26935 OPC_MoveChild2,
26936 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
26937 OPC_CheckChild0Integer, 1,
26938 OPC_CheckChild0TypeI32,
26939 OPC_CheckType, MVT::v16i8,
26940 OPC_MoveParent,
26941 OPC_CheckType, MVT::v4i32,
26942 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
26943 MVT::v16i8, 1, 17,
26944 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
26945 MVT::v16i8, 1, 43,
26946 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26947 MVT::v4i32, 2, 6,
26948 52,
26949 OPC_RecordChild2,
26950 OPC_CheckChild2Type, MVT::v16i8,
26951 OPC_CheckType, MVT::v4i32,
26952 OPC_Scope, 7,
26953 OPC_CheckPatternPredicate5,
26954 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
26955 MVT::v4i32, 3, 3,
26956 36,
26957 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8),
26958 MVT::v16i8, 2, 45,
26959 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
26960 MVT::v16i8, 1, 58,
26961 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8),
26962 MVT::v16i8, 2, 45,
26963 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
26964 MVT::v16i8, 1, 80,
26965 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26966 MVT::v16i8, 2, 86,
26967 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26968 MVT::v4i32, 2, 13,
26969 0,
26970 0,
26971 0,
26972 16|128,1, TARGET_VAL(ISD::PARTIAL_REDUCE_UMLA),
26973 OPC_RecordChild0,
26974 OPC_CheckChild0Type, MVT::v4i32,
26975 OPC_RecordChild1,
26976 OPC_Scope, 59,
26977 OPC_CheckChild1Type, MVT::v8i16,
26978 OPC_Scope, 24,
26979 OPC_MoveChild2,
26980 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
26981 OPC_CheckChild0Integer, 1,
26982 OPC_CheckChild0TypeI32,
26983 OPC_CheckType, MVT::v8i16,
26984 OPC_MoveParent,
26985 OPC_CheckType, MVT::v4i32,
26986 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
26987 MVT::v16i8, 1, 17,
26988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26989 MVT::v4i32, 2, 4,
26990 29,
26991 OPC_RecordChild2,
26992 OPC_CheckChild2Type, MVT::v8i16,
26993 OPC_CheckType, MVT::v4i32,
26994 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4),
26995 MVT::v16i8, 2, 45,
26996 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4),
26997 MVT::v16i8, 2, 45,
26998 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
26999 MVT::v16i8, 2, 70,
27000 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
27001 MVT::v4i32, 2, 11,
27002 0,
27003 77,
27004 OPC_CheckChild1Type, MVT::v16i8,
27005 OPC_Scope, 30,
27006 OPC_MoveChild2,
27007 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
27008 OPC_CheckChild0Integer, 1,
27009 OPC_CheckChild0TypeI32,
27010 OPC_CheckType, MVT::v16i8,
27011 OPC_MoveParent,
27012 OPC_CheckType, MVT::v4i32,
27013 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
27014 MVT::v16i8, 1, 17,
27015 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
27016 MVT::v16i8, 1, 43,
27017 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
27018 MVT::v4i32, 2, 6,
27019 41,
27020 OPC_RecordChild2,
27021 OPC_CheckChild2Type, MVT::v16i8,
27022 OPC_CheckType, MVT::v4i32,
27023 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8),
27024 MVT::v16i8, 2, 45,
27025 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
27026 MVT::v16i8, 1, 58,
27027 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8),
27028 MVT::v16i8, 2, 45,
27029 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
27030 MVT::v16i8, 1, 80,
27031 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
27032 MVT::v16i8, 2, 86,
27033 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
27034 MVT::v4i32, 2, 13,
27035 0,
27036 0,
27037 15, TARGET_VAL(WebAssemblyISD::SWIZZLE),
27038 OPC_RecordChild0,
27039 OPC_CheckChild0Type, MVT::v16i8,
27040 OPC_RecordChild1,
27041 OPC_CheckChild1Type, MVT::v16i8,
27042 OPC_CheckType, MVT::v16i8,
27043 OPC_CheckPatternPredicate0,
27044 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
27045 MVT::v16i8, 2, 16,
27046 39, TARGET_VAL(ISD::ABS),
27047 OPC_RecordChild0,
27048 OPC_SwitchType , 7, MVT::v16i8,
27049 OPC_CheckPatternPredicate0,
27050 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I8x16),
27051 MVT::v16i8, 1, 2,
27052 7, MVT::v8i16,
27053 OPC_CheckPatternPredicate0,
27054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I16x8),
27055 MVT::v8i16, 1, 2,
27056 7, MVT::v4i32,
27057 OPC_CheckPatternPredicate0,
27058 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I32x4),
27059 MVT::v4i32, 1, 2,
27060 7, MVT::v2i64,
27061 OPC_CheckPatternPredicate0,
27062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I64x2),
27063 MVT::v2i64, 1, 2,
27064 0,
27065 22, TARGET_VAL(ISD::SADDSAT),
27066 OPC_RecordChild0,
27067 OPC_RecordChild1,
27068 OPC_SwitchType , 7, MVT::v16i8,
27069 OPC_CheckPatternPredicate0,
27070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I8x16),
27071 MVT::v16i8, 2, 16,
27072 7, MVT::v8i16,
27073 OPC_CheckPatternPredicate0,
27074 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I16x8),
27075 MVT::v8i16, 2, 16,
27076 0,
27077 22, TARGET_VAL(ISD::UADDSAT),
27078 OPC_RecordChild0,
27079 OPC_RecordChild1,
27080 OPC_SwitchType , 7, MVT::v16i8,
27081 OPC_CheckPatternPredicate0,
27082 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I8x16),
27083 MVT::v16i8, 2, 16,
27084 7, MVT::v8i16,
27085 OPC_CheckPatternPredicate0,
27086 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I16x8),
27087 MVT::v8i16, 2, 16,
27088 0,
27089 22, TARGET_VAL(ISD::SSUBSAT),
27090 OPC_RecordChild0,
27091 OPC_RecordChild1,
27092 OPC_SwitchType , 7, MVT::v16i8,
27093 OPC_CheckPatternPredicate0,
27094 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I8x16),
27095 MVT::v16i8, 2, 16,
27096 7, MVT::v8i16,
27097 OPC_CheckPatternPredicate0,
27098 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I16x8),
27099 MVT::v8i16, 2, 16,
27100 0,
27101 22, TARGET_VAL(ISD::USUBSAT),
27102 OPC_RecordChild0,
27103 OPC_RecordChild1,
27104 OPC_SwitchType , 7, MVT::v16i8,
27105 OPC_CheckPatternPredicate0,
27106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I8x16),
27107 MVT::v16i8, 2, 16,
27108 7, MVT::v8i16,
27109 OPC_CheckPatternPredicate0,
27110 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I16x8),
27111 MVT::v8i16, 2, 16,
27112 0,
27113 31, TARGET_VAL(ISD::SMIN),
27114 OPC_RecordChild0,
27115 OPC_RecordChild1,
27116 OPC_SwitchType , 7, MVT::v16i8,
27117 OPC_CheckPatternPredicate0,
27118 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I8x16),
27119 MVT::v16i8, 2, 16,
27120 7, MVT::v8i16,
27121 OPC_CheckPatternPredicate0,
27122 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I16x8),
27123 MVT::v8i16, 2, 16,
27124 7, MVT::v4i32,
27125 OPC_CheckPatternPredicate0,
27126 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I32x4),
27127 MVT::v4i32, 2, 16,
27128 0,
27129 31, TARGET_VAL(ISD::UMIN),
27130 OPC_RecordChild0,
27131 OPC_RecordChild1,
27132 OPC_SwitchType , 7, MVT::v16i8,
27133 OPC_CheckPatternPredicate0,
27134 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I8x16),
27135 MVT::v16i8, 2, 16,
27136 7, MVT::v8i16,
27137 OPC_CheckPatternPredicate0,
27138 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I16x8),
27139 MVT::v8i16, 2, 16,
27140 7, MVT::v4i32,
27141 OPC_CheckPatternPredicate0,
27142 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I32x4),
27143 MVT::v4i32, 2, 16,
27144 0,
27145 31, TARGET_VAL(ISD::SMAX),
27146 OPC_RecordChild0,
27147 OPC_RecordChild1,
27148 OPC_SwitchType , 7, MVT::v16i8,
27149 OPC_CheckPatternPredicate0,
27150 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I8x16),
27151 MVT::v16i8, 2, 16,
27152 7, MVT::v8i16,
27153 OPC_CheckPatternPredicate0,
27154 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I16x8),
27155 MVT::v8i16, 2, 16,
27156 7, MVT::v4i32,
27157 OPC_CheckPatternPredicate0,
27158 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I32x4),
27159 MVT::v4i32, 2, 16,
27160 0,
27161 31, TARGET_VAL(ISD::UMAX),
27162 OPC_RecordChild0,
27163 OPC_RecordChild1,
27164 OPC_SwitchType , 7, MVT::v16i8,
27165 OPC_CheckPatternPredicate0,
27166 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I8x16),
27167 MVT::v16i8, 2, 16,
27168 7, MVT::v8i16,
27169 OPC_CheckPatternPredicate0,
27170 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I16x8),
27171 MVT::v8i16, 2, 16,
27172 7, MVT::v4i32,
27173 OPC_CheckPatternPredicate0,
27174 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I32x4),
27175 MVT::v4i32, 2, 16,
27176 0,
27177 20, TARGET_VAL(ISD::AVGCEILU),
27178 OPC_RecordChild0,
27179 OPC_RecordChild1,
27180 OPC_SwitchType , 6, MVT::v16i8,
27181 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
27182 MVT::v16i8, 2, 16,
27183 6, MVT::v8i16,
27184 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
27185 MVT::v8i16, 2, 16,
27186 0,
27187 8, TARGET_VAL(WebAssemblyISD::DOT),
27188 OPC_RecordChild0,
27189 OPC_RecordChild1,
27190 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
27191 MVT::v4i32, 2, 16,
27192 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_S),
27193 OPC_RecordChild0,
27194 OPC_CheckChild0Type, 26|128,1,
27195 OPC_CheckType, MVT::v4i32,
27196 OPC_CheckPatternPredicate0,
27197 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_s_I32x4),
27198 MVT::v4i32, 1, 2,
27199 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_U),
27200 OPC_RecordChild0,
27201 OPC_CheckChild0Type, 26|128,1,
27202 OPC_CheckType, MVT::v4i32,
27203 OPC_CheckPatternPredicate0,
27204 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_u_I32x4),
27205 MVT::v4i32, 1, 2,
27206 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
27207 OPC_RecordChild0,
27208 OPC_SwitchType , 9, MVT::v8i16,
27209 OPC_CheckChild0Type, MVT::v16i8,
27210 OPC_CheckPatternPredicate0,
27211 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I16x8),
27212 MVT::v8i16, 1, 2,
27213 9, MVT::v4i32,
27214 OPC_CheckChild0Type, MVT::v8i16,
27215 OPC_CheckPatternPredicate0,
27216 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I32x4),
27217 MVT::v4i32, 1, 2,
27218 9, MVT::v2i64,
27219 OPC_CheckChild0Type, MVT::v4i32,
27220 OPC_CheckPatternPredicate0,
27221 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I64x2),
27222 MVT::v2i64, 1, 2,
27223 0,
27224 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
27225 OPC_RecordChild0,
27226 OPC_SwitchType , 9, MVT::v8i16,
27227 OPC_CheckChild0Type, MVT::v16i8,
27228 OPC_CheckPatternPredicate0,
27229 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I16x8),
27230 MVT::v8i16, 1, 2,
27231 9, MVT::v4i32,
27232 OPC_CheckChild0Type, MVT::v8i16,
27233 OPC_CheckPatternPredicate0,
27234 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I32x4),
27235 MVT::v4i32, 1, 2,
27236 9, MVT::v2i64,
27237 OPC_CheckChild0Type, MVT::v4i32,
27238 OPC_CheckPatternPredicate0,
27239 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I64x2),
27240 MVT::v2i64, 1, 2,
27241 0,
27242 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
27243 OPC_RecordChild0,
27244 OPC_SwitchType , 9, MVT::v8i16,
27245 OPC_CheckChild0Type, MVT::v16i8,
27246 OPC_CheckPatternPredicate0,
27247 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I16x8),
27248 MVT::v8i16, 1, 2,
27249 9, MVT::v4i32,
27250 OPC_CheckChild0Type, MVT::v8i16,
27251 OPC_CheckPatternPredicate0,
27252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I32x4),
27253 MVT::v4i32, 1, 2,
27254 9, MVT::v2i64,
27255 OPC_CheckChild0Type, MVT::v4i32,
27256 OPC_CheckPatternPredicate0,
27257 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I64x2),
27258 MVT::v2i64, 1, 2,
27259 0,
27260 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
27261 OPC_RecordChild0,
27262 OPC_SwitchType , 9, MVT::v8i16,
27263 OPC_CheckChild0Type, MVT::v16i8,
27264 OPC_CheckPatternPredicate0,
27265 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I16x8),
27266 MVT::v8i16, 1, 2,
27267 9, MVT::v4i32,
27268 OPC_CheckChild0Type, MVT::v8i16,
27269 OPC_CheckPatternPredicate0,
27270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I32x4),
27271 MVT::v4i32, 1, 2,
27272 9, MVT::v2i64,
27273 OPC_CheckChild0Type, MVT::v4i32,
27274 OPC_CheckPatternPredicate0,
27275 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I64x2),
27276 MVT::v2i64, 1, 2,
27277 0,
27278 25, TARGET_VAL(WebAssemblyISD::EXT_ADD_PAIRWISE_S),
27279 OPC_RecordChild0,
27280 OPC_SwitchType , 9, MVT::v8i16,
27281 OPC_CheckChild0Type, MVT::v16i8,
27282 OPC_CheckPatternPredicate0,
27283 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
27284 MVT::v8i16, 1, 2,
27285 9, MVT::v4i32,
27286 OPC_CheckChild0Type, MVT::v8i16,
27287 OPC_CheckPatternPredicate0,
27288 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
27289 MVT::v4i32, 1, 2,
27290 0,
27291 25, TARGET_VAL(WebAssemblyISD::EXT_ADD_PAIRWISE_U),
27292 OPC_RecordChild0,
27293 OPC_SwitchType , 9, MVT::v8i16,
27294 OPC_CheckChild0Type, MVT::v16i8,
27295 OPC_CheckPatternPredicate0,
27296 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
27297 MVT::v8i16, 1, 2,
27298 9, MVT::v4i32,
27299 OPC_CheckChild0Type, MVT::v8i16,
27300 OPC_CheckPatternPredicate0,
27301 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
27302 MVT::v4i32, 1, 2,
27303 0,
27304 98, TARGET_VAL(ISD::FMULADD),
27305 OPC_Scope, 32,
27306 OPC_MoveChild0,
27307 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
27308 OPC_RecordChild0,
27309 OPC_MoveParent,
27310 OPC_RecordChild1,
27311 OPC_RecordChild2,
27312 OPC_SwitchType , 8, 8|128,1,
27313 OPC_CheckPatternPredicate5,
27314 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
27315 8|128,1, 3, 44,
27316 8, 26|128,1,
27317 OPC_CheckPatternPredicate5,
27318 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
27319 26|128,1, 3, 44,
27320 0,
27321 62,
27322 OPC_RecordChild0,
27323 OPC_Scope, 31,
27324 OPC_MoveChild1,
27325 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
27326 OPC_RecordChild0,
27327 OPC_MoveParent,
27328 OPC_RecordChild2,
27329 OPC_SwitchType , 8, 8|128,1,
27330 OPC_CheckPatternPredicate5,
27331 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
27332 8|128,1, 3, 41,
27333 8, 26|128,1,
27334 OPC_CheckPatternPredicate5,
27335 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
27336 26|128,1, 3, 41,
27337 0,
27338 26,
27339 OPC_RecordChild1,
27340 OPC_RecordChild2,
27341 OPC_SwitchType , 8, 8|128,1,
27342 OPC_CheckPatternPredicate5,
27343 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
27344 8|128,1, 3, 44,
27345 8, 26|128,1,
27346 OPC_CheckPatternPredicate5,
27347 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
27348 26|128,1, 3, 44,
27349 0,
27350 0,
27351 0,
27352 53, TARGET_VAL(ISD::FMA),
27353 OPC_Scope, 17,
27354 OPC_MoveChild0,
27355 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
27356 OPC_RecordChild0,
27357 OPC_MoveParent,
27358 OPC_RecordChild1,
27359 OPC_RecordChild2,
27360 OPC_CheckType, MVT::v8f16,
27361 OPC_CheckPatternPredicate6,
27362 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
27363 MVT::v8f16, 3, 44,
27364 32,
27365 OPC_RecordChild0,
27366 OPC_Scope, 16,
27367 OPC_MoveChild1,
27368 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
27369 OPC_RecordChild0,
27370 OPC_MoveParent,
27371 OPC_RecordChild2,
27372 OPC_CheckType, MVT::v8f16,
27373 OPC_CheckPatternPredicate6,
27374 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
27375 MVT::v8f16, 3, 41,
27376 11,
27377 OPC_RecordChild1,
27378 OPC_RecordChild2,
27379 OPC_CheckType, MVT::v8f16,
27380 OPC_CheckPatternPredicate6,
27381 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F16x8),
27382 MVT::v8f16, 3, 44,
27383 0,
27384 0,
27385 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_S),
27386 OPC_RecordChild0,
27387 OPC_CheckChild0Type, MVT::v4i32,
27388 OPC_CheckType, 26|128,1,
27389 OPC_CheckPatternPredicate0,
27390 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_s_F64x2),
27391 26|128,1, 1, 2,
27392 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_U),
27393 OPC_RecordChild0,
27394 OPC_CheckChild0Type, MVT::v4i32,
27395 OPC_CheckType, 26|128,1,
27396 OPC_CheckPatternPredicate0,
27397 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_u_F64x2),
27398 26|128,1, 1, 2,
27399 29, TARGET_VAL(WebAssemblyISD::DEMOTE_ZERO),
27400 OPC_RecordChild0,
27401 OPC_SwitchType , 11, 8|128,1,
27402 OPC_CheckChild0Type, 26|128,1,
27403 OPC_CheckPatternPredicate0,
27404 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::demote_zero_F32x4),
27405 8|128,1, 1, 2,
27406 10, MVT::v8f16,
27407 OPC_CheckChild0Type, 8|128,1,
27408 OPC_CheckPatternPredicate6,
27409 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::demote_zero_F16x8),
27410 MVT::v8f16, 1, 2,
27411 0,
27412 30, TARGET_VAL(WebAssemblyISD::PROMOTE_LOW),
27413 OPC_RecordChild0,
27414 OPC_SwitchType , 11, 26|128,1,
27415 OPC_CheckChild0Type, 8|128,1,
27416 OPC_CheckPatternPredicate0,
27417 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
27418 26|128,1, 1, 2,
27419 10, 8|128,1,
27420 OPC_CheckChild0Type, MVT::v8i16,
27421 OPC_CheckPatternPredicate6,
27422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::promote_low_F32x4),
27423 8|128,1, 1, 2,
27424 0,
27425 26, TARGET_VAL(WebAssemblyISD::RELAXED_FMIN),
27426 OPC_RecordChild0,
27427 OPC_RecordChild1,
27428 OPC_SwitchType , 8, 8|128,1,
27429 OPC_CheckPatternPredicate5,
27430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
27431 8|128,1, 2, 16,
27432 8, 26|128,1,
27433 OPC_CheckPatternPredicate5,
27434 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
27435 26|128,1, 2, 16,
27436 0,
27437 26, TARGET_VAL(WebAssemblyISD::RELAXED_FMAX),
27438 OPC_RecordChild0,
27439 OPC_RecordChild1,
27440 OPC_SwitchType , 8, 8|128,1,
27441 OPC_CheckPatternPredicate5,
27442 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
27443 8|128,1, 2, 16,
27444 8, 26|128,1,
27445 OPC_CheckPatternPredicate5,
27446 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
27447 26|128,1, 2, 16,
27448 0,
27449 0,
27450 }; // Total Array size is 50086 bytes
27451
27452 static const uint8_t OperandLists[] = {
27453 /* 0 */ 2, 1, 0,
27454 /* 3 */ 1, 2, 0,
27455 /* 6 */ 3, 0,
27456 /* 8 */ 6, 4, 7, 5, 0,
27457 /* 13 */ 7, 0,
27458 /* 15 */ 2, 0, 1,
27459 /* 18 */ 0, 2, 1,
27460 /* 21 */ 0, 3, 1,
27461 /* 24 */ 2, 3, 1,
27462 /* 27 */ 5, 3, 4, 1,
27463 /* 31 */ 5, 6, 3, 4, 1,
27464 /* 36 */ 6, 4, 7, 5, 1,
27465 /* 41 */ 1, 0, 2,
27466 /* 44 */ 0, 1, 2,
27467 /* 47 */ 0, 3, 2,
27468 /* 50 */ 5, 6, 3, 4, 2,
27469 /* 55 */ 0, 1, 2, 3,
27470 /* 59 */ 4, 2, 3,
27471 /* 62 */ 6, 7, 4, 5, 2, 3,
27472 /* 68 */ 1, 2, 3, 4,
27473 /* 72 */ 5, 2, 3, 4,
27474 /* 76 */ 1, 2, 3, 4, 5,
27475 /* 81 */ 6, 7, 3, 4, 5,
27476 /* 86 */ 4, 6,
27477 /* 88 */ 4, 5, 6, 7,
27478 /* 92 */ 1, 2, 3, 4, 5, 6, 7, 8,
27479 /* 100 */ 8, 9, 10, 11, 12, 13, 14, 15,
27480 /* 108 */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
27481 /* 124 */ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
27482 /* 140 */ 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
27483 };
27484
27485 #undef COVERAGE_IDX_VAL
27486 #undef TARGET_VAL
27487 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable),
27488 OperandLists);
27489}
27490#endif // GET_DAGISEL_BODY
27491
27492#ifdef GET_DAGISEL_DECL
27493bool CheckPatternPredicate(unsigned PredNo) const override;
27494#endif
27495#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
27496bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
27497#if DAGISEL_INLINE
27498 override
27499#endif
27500{
27501 switch (PredNo) {
27502 default: llvm_unreachable("Invalid predicate in table?");
27503 case 0: return (Subtarget->hasSIMD128());
27504 case 1: return (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
27505 case 2: return (Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
27506 case 3: return (!Subtarget->hasAddr64());
27507 case 4: return (Subtarget->hasAddr64());
27508 case 5: return (Subtarget->hasRelaxedSIMD());
27509 case 6: return (Subtarget->hasFP16()) && (Subtarget->hasSIMD128());
27510 case 7: return (Subtarget->hasReferenceTypes());
27511 case 8: return (Subtarget->hasExceptionHandling()) && (Subtarget->hasReferenceTypes());
27512 case 9: return (Subtarget->hasNontrappingFPToInt());
27513 case 10: return (!Subtarget->hasNontrappingFPToInt());
27514 case 11: return (Subtarget->hasSignExt());
27515 case 12: return (Subtarget->hasBulkMemoryOpt());
27516 case 13: return (Subtarget->hasRelaxedSIMD()) && (Subtarget->hasSIMD128());
27517 case 14: return (!Subtarget->hasAddr64()) && (TM.isPositionIndependent());
27518 case 15: return (Subtarget->hasAddr64()) && (TM.isPositionIndependent());
27519 case 16: return (Subtarget->hasFP16());
27520 case 17: return (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
27521 case 18: return (Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
27522 case 19: return (Subtarget->hasExceptionHandling());
27523 }
27524}
27525#endif // GET_DAGISEL_BODY
27526
27527#ifdef GET_DAGISEL_DECL
27528bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
27529#endif
27530#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
27531bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
27532#if DAGISEL_INLINE
27533 override
27534#endif
27535{
27536 switch (PredNo) {
27537 default: llvm_unreachable("Invalid predicate in table?");
27538 case 0: {
27539 // Predicate_LaneIdx32
27540 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27541return 0 <= Imm && Imm < 32;
27542 }
27543 case 1: {
27544 // Predicate_atomic_cmp_swap_i8
27545 // Predicate_atomic_load_add_i8
27546 // Predicate_atomic_load_aext_8
27547 // Predicate_atomic_load_and_i8
27548 // Predicate_atomic_load_or_i8
27549 // Predicate_atomic_load_sub_i8
27550 // Predicate_atomic_load_xor_i8
27551 // Predicate_atomic_load_zext_8
27552 // Predicate_atomic_store_8
27553 // Predicate_atomic_swap_i8
27554 // Predicate_extloadi8
27555 // Predicate_sextloadi8
27556 // Predicate_truncstorei8
27557 // Predicate_zextloadi8
27558 SDNode *N = Op.getNode();
27559 (void)N;
27560if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
27561return true;
27562
27563 }
27564 case 2: {
27565 // Predicate_atomic_cmp_swap_i16
27566 // Predicate_atomic_load_add_i16
27567 // Predicate_atomic_load_aext_16
27568 // Predicate_atomic_load_and_i16
27569 // Predicate_atomic_load_or_i16
27570 // Predicate_atomic_load_sub_i16
27571 // Predicate_atomic_load_xor_i16
27572 // Predicate_atomic_load_zext_16
27573 // Predicate_atomic_store_16
27574 // Predicate_atomic_swap_i16
27575 // Predicate_extloadi16
27576 // Predicate_sextloadi16
27577 // Predicate_truncstorei16
27578 // Predicate_zextloadi16
27579 SDNode *N = Op.getNode();
27580 (void)N;
27581if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
27582return true;
27583
27584 }
27585 case 3: {
27586 // Predicate_atomic_cmp_swap_i32
27587 // Predicate_atomic_load_add_i32
27588 // Predicate_atomic_load_and_i32
27589 // Predicate_atomic_load_nonext_32
27590 // Predicate_atomic_load_or_i32
27591 // Predicate_atomic_load_sub_i32
27592 // Predicate_atomic_load_xor_i32
27593 // Predicate_atomic_store_32
27594 // Predicate_atomic_swap_i32
27595 // Predicate_extloadi32
27596 // Predicate_sextloadi32
27597 // Predicate_truncstorei32
27598 // Predicate_zextloadi32
27599 SDNode *N = Op.getNode();
27600 (void)N;
27601if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
27602return true;
27603
27604 }
27605 case 4: {
27606 // Predicate_unindexedstore
27607 SDNode *N = Op.getNode();
27608 (void)N;
27609if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
27610return true;
27611
27612 }
27613 case 5: {
27614 // Predicate_load
27615 SDNode *N = Op.getNode();
27616 (void)N;
27617if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
27618return true;
27619
27620 }
27621 case 6: {
27622 // Predicate_store
27623 SDNode *N = Op.getNode();
27624 (void)N;
27625 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27626return true;
27627
27628 }
27629 case 7: {
27630 // Predicate_unindexedload
27631 SDNode *N = Op.getNode();
27632 (void)N;
27633if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
27634return true;
27635
27636 }
27637 case 8: {
27638 // Predicate_atomic_cmp_swap_i64
27639 // Predicate_atomic_load_add_i64
27640 // Predicate_atomic_load_and_i64
27641 // Predicate_atomic_load_nonext_64
27642 // Predicate_atomic_load_or_i64
27643 // Predicate_atomic_load_sub_i64
27644 // Predicate_atomic_load_xor_i64
27645 // Predicate_atomic_store_64
27646 // Predicate_atomic_swap_i64
27647 SDNode *N = Op.getNode();
27648 (void)N;
27649if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
27650return true;
27651
27652 }
27653 case 9: {
27654 // Predicate_extload
27655 SDNode *N = Op.getNode();
27656 (void)N;
27657if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
27658return true;
27659
27660 }
27661 case 10: {
27662 // Predicate_ImmI8
27663 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27664return -(1 << (8 - 1)) <= Imm && Imm < (1 << 8);
27665 }
27666 case 11: {
27667 // Predicate_relaxed_pmin
27668 SDNode *N = Op.getNode();
27669 (void)N;
27670
27671 return (N->getFlags().hasNoNaNs() ||
27672 (CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 1)) &&
27673 CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 2)))) &&
27674 (N->getFlags().hasNoSignedZeros() ||
27675 CurDAG->isKnownNeverLogicalZero(Op: N->getOperand(Num: 1)) ||
27676 CurDAG->isKnownNeverLogicalZero(Op: N->getOperand(Num: 2)));
27677
27678 }
27679 case 12: {
27680 // Predicate_relaxed_pmax
27681 SDNode *N = Op.getNode();
27682 (void)N;
27683
27684 return (N->getFlags().hasNoNaNs() ||
27685 ((CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 1))) &&
27686 CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 2)))) &&
27687 (N->getFlags().hasNoSignedZeros() ||
27688 CurDAG->isKnownNeverLogicalZero(Op: N->getOperand(Num: 1)) ||
27689 CurDAG->isKnownNeverLogicalZero(Op: N->getOperand(Num: 2)));
27690
27691 }
27692 case 13: {
27693 // Predicate_LaneIdx4
27694 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27695return 0 <= Imm && Imm < 4;
27696 }
27697 case 14: {
27698 // Predicate_LaneIdx2
27699 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27700return 0 <= Imm && Imm < 2;
27701 }
27702 case 15: {
27703 // Predicate_atomic_load_zext
27704 SDNode *N = Op.getNode();
27705 (void)N;
27706if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
27707return true;
27708
27709 }
27710 case 16: {
27711 // Predicate_truncstore
27712 SDNode *N = Op.getNode();
27713 (void)N;
27714 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
27715return true;
27716
27717 }
27718 case 17: {
27719 // Predicate_LaneIdx8
27720 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27721return 0 <= Imm && Imm < 8;
27722 }
27723 case 18: {
27724 // Predicate_atomic_load_aext
27725 SDNode *N = Op.getNode();
27726 (void)N;
27727if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
27728return true;
27729
27730 }
27731 case 19: {
27732 // Predicate_sextload
27733 SDNode *N = Op.getNode();
27734 (void)N;
27735if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
27736return true;
27737
27738 }
27739 case 20: {
27740 // Predicate_zextload
27741 SDNode *N = Op.getNode();
27742 (void)N;
27743if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
27744return true;
27745
27746 }
27747 case 21: {
27748 // Predicate_ImmI16
27749 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27750return -(1 << (16 - 1)) <= Imm && Imm < (1 << 16);
27751 }
27752 case 22: {
27753 // Predicate_LaneIdx16
27754 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
27755return 0 <= Imm && Imm < 16;
27756 }
27757 case 23: {
27758 // Predicate_extloadf16
27759 // Predicate_truncstoref16
27760 SDNode *N = Op.getNode();
27761 (void)N;
27762if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::f16) return false;
27763return true;
27764
27765 }
27766 case 24: {
27767 // Predicate_extloadvi8
27768 // Predicate_sextloadvi8
27769 // Predicate_zextloadvi8
27770 SDNode *N = Op.getNode();
27771 (void)N;
27772if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i8) return false;
27773return true;
27774
27775 }
27776 case 25: {
27777 // Predicate_extloadvi16
27778 // Predicate_sextloadvi16
27779 // Predicate_zextloadvi16
27780 SDNode *N = Op.getNode();
27781 (void)N;
27782if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i16) return false;
27783return true;
27784
27785 }
27786 case 26: {
27787 // Predicate_extloadvi32
27788 // Predicate_sextloadvi32
27789 // Predicate_zextloadvi32
27790 SDNode *N = Op.getNode();
27791 (void)N;
27792if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i32) return false;
27793return true;
27794
27795 }
27796 case 27: {
27797 // Predicate_fadd_contract
27798 // Predicate_fmul_contract
27799 // Predicate_fsub_contract
27800 SDNode *N = Op.getNode();
27801 (void)N;
27802
27803 return N->getFlags().hasAllowContract();
27804
27805 }
27806 case 28: {
27807 // Predicate_atomic_load_nonext
27808 SDNode *N = Op.getNode();
27809 (void)N;
27810if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
27811return true;
27812
27813 }
27814 case 29: {
27815 // Predicate_add_nuw
27816 SDNode *N = Op.getNode();
27817 (void)N;
27818return N->getFlags().hasNoUnsignedWrap();
27819 }
27820 case 30: {
27821 // Predicate_bool_node
27822 SDNode *N = Op.getNode();
27823 (void)N;
27824
27825 return CurDAG->computeKnownBits(Op).countMinLeadingZeros() == 31;
27826
27827 }
27828 case 31: {
27829 // Predicate_fpimm0
27830 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
27831 (void)N;
27832
27833 return N->isPosZero();
27834
27835 }
27836 }
27837}
27838#endif // GET_DAGISEL_BODY
27839
27840#ifdef GET_DAGISEL_DECL
27841bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
27842 SDValue N, unsigned PatternNo,
27843 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
27844#endif
27845#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
27846bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
27847 SDValue N, unsigned PatternNo,
27848 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
27849#if DAGISEL_INLINE
27850 override
27851#endif
27852{
27853 unsigned NextRes = Result.size();
27854 switch (PatternNo) {
27855 default: llvm_unreachable("Invalid pattern # in table?");
27856 case 0:
27857 Result.resize(N: NextRes+3);
27858 return SelectAtomicAddrOperands32(Op: Root, N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first, Order&: Result[NextRes+2].first);
27859 case 1:
27860 Result.resize(N: NextRes+3);
27861 return SelectAtomicAddrOperands64(Op: Root, N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first, Order&: Result[NextRes+2].first);
27862 case 2:
27863 Result.resize(N: NextRes+2);
27864 return SelectAddrOperands32(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
27865 case 3:
27866 Result.resize(N: NextRes+2);
27867 return SelectAddrOperands64(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
27868 }
27869}
27870#endif // GET_DAGISEL_BODY
27871
27872
27873#ifdef DAGISEL_INLINE
27874#undef DAGISEL_INLINE
27875#endif
27876#ifdef DAGISEL_CLASS_COLONCOLON
27877#undef DAGISEL_CLASS_COLONCOLON
27878#endif
27879#ifdef GET_DAGISEL_DECL
27880#undef GET_DAGISEL_DECL
27881#endif
27882#ifdef GET_DAGISEL_BODY
27883#undef GET_DAGISEL_BODY
27884#endif
27885