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 , 9|128,10, TARGET_VAL(ISD::ZERO_EXTEND),
60 OPC_Scope, 125|128,9,
61 OPC_MoveChild0,
62 OPC_SwitchOpcode , 124, 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, 56,
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, 20,
79 OPC_CheckPredicate1,
80 OPC_MoveParent,
81 OPC_MoveParent,
82 OPC_CheckPatternPredicate3,
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, 5, 6, 4, 5, 2, 3,
88 20,
89 OPC_CheckPredicate2,
90 OPC_MoveParent,
91 OPC_MoveParent,
92 OPC_CheckPatternPredicate3,
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, 5, 6, 4, 5, 2, 3,
98 0,
99 56,
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, 20,
109 OPC_CheckPredicate1,
110 OPC_MoveParent,
111 OPC_MoveParent,
112 OPC_CheckPatternPredicate4,
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, 5, 6, 4, 5, 2, 3,
118 20,
119 OPC_CheckPredicate2,
120 OPC_MoveParent,
121 OPC_MoveParent,
122 OPC_CheckPatternPredicate4,
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, 5, 6, 4, 5, 2, 3,
128 0,
129 0,
130 69, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
131 OPC_RecordMemRef,
132 OPC_RecordNode,
133 OPC_RecordChild1,
134 OPC_Scope, 31,
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_CheckPatternPredicate3,
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, 5, 6, 4, 5, 2, 3,
151 31,
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_CheckPatternPredicate4,
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, 5, 6, 4, 5, 2, 3,
168 0,
169 11|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
170 OPC_RecordMemRef,
171 OPC_RecordNode,
172 OPC_RecordChild1,
173 OPC_Scope, 66,
174 OPC_CheckChild1TypeI32,
175 OPC_MoveChild2,
176 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
177 OPC_RecordChild0,
178 OPC_MoveParent,
179 OPC_Scope, 18,
180 OPC_CheckPredicate1,
181 OPC_MoveParent,
182 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
188 18,
189 OPC_CheckPredicate2,
190 OPC_MoveParent,
191 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
197 18,
198 OPC_CheckPredicate3,
199 OPC_MoveParent,
200 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
206 0,
207 66,
208 OPC_CheckChild1TypeI64,
209 OPC_MoveChild2,
210 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
211 OPC_RecordChild0,
212 OPC_MoveParent,
213 OPC_Scope, 18,
214 OPC_CheckPredicate1,
215 OPC_MoveParent,
216 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
222 18,
223 OPC_CheckPredicate2,
224 OPC_MoveParent,
225 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
231 18,
232 OPC_CheckPredicate3,
233 OPC_MoveParent,
234 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
240 0,
241 0,
242 11|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
243 OPC_RecordMemRef,
244 OPC_RecordNode,
245 OPC_RecordChild1,
246 OPC_Scope, 66,
247 OPC_CheckChild1TypeI32,
248 OPC_MoveChild2,
249 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
250 OPC_RecordChild0,
251 OPC_MoveParent,
252 OPC_Scope, 18,
253 OPC_CheckPredicate1,
254 OPC_MoveParent,
255 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
261 18,
262 OPC_CheckPredicate2,
263 OPC_MoveParent,
264 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
270 18,
271 OPC_CheckPredicate3,
272 OPC_MoveParent,
273 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
279 0,
280 66,
281 OPC_CheckChild1TypeI64,
282 OPC_MoveChild2,
283 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
284 OPC_RecordChild0,
285 OPC_MoveParent,
286 OPC_Scope, 18,
287 OPC_CheckPredicate1,
288 OPC_MoveParent,
289 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
295 18,
296 OPC_CheckPredicate2,
297 OPC_MoveParent,
298 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
304 18,
305 OPC_CheckPredicate3,
306 OPC_MoveParent,
307 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
313 0,
314 0,
315 11|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
316 OPC_RecordMemRef,
317 OPC_RecordNode,
318 OPC_RecordChild1,
319 OPC_Scope, 66,
320 OPC_CheckChild1TypeI32,
321 OPC_MoveChild2,
322 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
323 OPC_RecordChild0,
324 OPC_MoveParent,
325 OPC_Scope, 18,
326 OPC_CheckPredicate1,
327 OPC_MoveParent,
328 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
334 18,
335 OPC_CheckPredicate2,
336 OPC_MoveParent,
337 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
343 18,
344 OPC_CheckPredicate3,
345 OPC_MoveParent,
346 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
352 0,
353 66,
354 OPC_CheckChild1TypeI64,
355 OPC_MoveChild2,
356 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
357 OPC_RecordChild0,
358 OPC_MoveParent,
359 OPC_Scope, 18,
360 OPC_CheckPredicate1,
361 OPC_MoveParent,
362 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
368 18,
369 OPC_CheckPredicate2,
370 OPC_MoveParent,
371 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
377 18,
378 OPC_CheckPredicate3,
379 OPC_MoveParent,
380 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
386 0,
387 0,
388 11|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
389 OPC_RecordMemRef,
390 OPC_RecordNode,
391 OPC_RecordChild1,
392 OPC_Scope, 66,
393 OPC_CheckChild1TypeI32,
394 OPC_MoveChild2,
395 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
396 OPC_RecordChild0,
397 OPC_MoveParent,
398 OPC_Scope, 18,
399 OPC_CheckPredicate1,
400 OPC_MoveParent,
401 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
407 18,
408 OPC_CheckPredicate2,
409 OPC_MoveParent,
410 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
416 18,
417 OPC_CheckPredicate3,
418 OPC_MoveParent,
419 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
425 0,
426 66,
427 OPC_CheckChild1TypeI64,
428 OPC_MoveChild2,
429 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
430 OPC_RecordChild0,
431 OPC_MoveParent,
432 OPC_Scope, 18,
433 OPC_CheckPredicate1,
434 OPC_MoveParent,
435 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
441 18,
442 OPC_CheckPredicate2,
443 OPC_MoveParent,
444 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
450 18,
451 OPC_CheckPredicate3,
452 OPC_MoveParent,
453 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
459 0,
460 0,
461 11|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
462 OPC_RecordMemRef,
463 OPC_RecordNode,
464 OPC_RecordChild1,
465 OPC_Scope, 66,
466 OPC_CheckChild1TypeI32,
467 OPC_MoveChild2,
468 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
469 OPC_RecordChild0,
470 OPC_MoveParent,
471 OPC_Scope, 18,
472 OPC_CheckPredicate1,
473 OPC_MoveParent,
474 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
480 18,
481 OPC_CheckPredicate2,
482 OPC_MoveParent,
483 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
489 18,
490 OPC_CheckPredicate3,
491 OPC_MoveParent,
492 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
498 0,
499 66,
500 OPC_CheckChild1TypeI64,
501 OPC_MoveChild2,
502 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
503 OPC_RecordChild0,
504 OPC_MoveParent,
505 OPC_Scope, 18,
506 OPC_CheckPredicate1,
507 OPC_MoveParent,
508 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
514 18,
515 OPC_CheckPredicate2,
516 OPC_MoveParent,
517 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
523 18,
524 OPC_CheckPredicate3,
525 OPC_MoveParent,
526 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
532 0,
533 0,
534 11|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
535 OPC_RecordMemRef,
536 OPC_RecordNode,
537 OPC_RecordChild1,
538 OPC_Scope, 66,
539 OPC_CheckChild1TypeI32,
540 OPC_MoveChild2,
541 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
542 OPC_RecordChild0,
543 OPC_MoveParent,
544 OPC_Scope, 18,
545 OPC_CheckPredicate1,
546 OPC_MoveParent,
547 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
553 18,
554 OPC_CheckPredicate2,
555 OPC_MoveParent,
556 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
562 18,
563 OPC_CheckPredicate3,
564 OPC_MoveParent,
565 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
571 0,
572 66,
573 OPC_CheckChild1TypeI64,
574 OPC_MoveChild2,
575 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
576 OPC_RecordChild0,
577 OPC_MoveParent,
578 OPC_Scope, 18,
579 OPC_CheckPredicate1,
580 OPC_MoveParent,
581 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
587 18,
588 OPC_CheckPredicate2,
589 OPC_MoveParent,
590 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
596 18,
597 OPC_CheckPredicate3,
598 OPC_MoveParent,
599 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
605 0,
606 0,
607 85|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
608 OPC_RecordMemRef,
609 OPC_RecordNode,
610 OPC_RecordChild1,
611 OPC_Scope, 103,
612 OPC_CheckChild1TypeI32,
613 OPC_Scope, 19,
614 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
623 19,
624 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
633 19,
634 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
643 19,
644 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
653 19,
654 OPC_CheckPredicate, 26,
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, 3, 4, 2, 3,
663 0,
664 103,
665 OPC_CheckChild1TypeI64,
666 OPC_Scope, 19,
667 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
676 19,
677 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
686 19,
687 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
696 19,
697 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
706 19,
707 OPC_CheckPredicate, 26,
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, 3, 4, 2, 3,
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, 0,
723 0,
724 47|128,7, TARGET_VAL(ISD::ANY_EXTEND),
725 OPC_Scope, 35|128,7,
726 OPC_MoveChild0,
727 OPC_SwitchOpcode , 124, 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, 56,
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, 20,
744 OPC_CheckPredicate1,
745 OPC_MoveParent,
746 OPC_MoveParent,
747 OPC_CheckPatternPredicate3,
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, 5, 6, 4, 5, 2, 3,
753 20,
754 OPC_CheckPredicate2,
755 OPC_MoveParent,
756 OPC_MoveParent,
757 OPC_CheckPatternPredicate3,
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, 5, 6, 4, 5, 2, 3,
763 0,
764 56,
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, 20,
774 OPC_CheckPredicate1,
775 OPC_MoveParent,
776 OPC_MoveParent,
777 OPC_CheckPatternPredicate4,
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, 5, 6, 4, 5, 2, 3,
783 20,
784 OPC_CheckPredicate2,
785 OPC_MoveParent,
786 OPC_MoveParent,
787 OPC_CheckPatternPredicate4,
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, 5, 6, 4, 5, 2, 3,
793 0,
794 0,
795 101, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
796 OPC_RecordMemRef,
797 OPC_RecordNode,
798 OPC_RecordChild1,
799 OPC_Scope, 47,
800 OPC_CheckChild1TypeI32,
801 OPC_MoveChild2,
802 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
803 OPC_RecordChild0,
804 OPC_MoveParent,
805 OPC_Scope, 18,
806 OPC_CheckPredicate1,
807 OPC_MoveParent,
808 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
814 18,
815 OPC_CheckPredicate2,
816 OPC_MoveParent,
817 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
823 0,
824 47,
825 OPC_CheckChild1TypeI64,
826 OPC_MoveChild2,
827 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
828 OPC_RecordChild0,
829 OPC_MoveParent,
830 OPC_Scope, 18,
831 OPC_CheckPredicate1,
832 OPC_MoveParent,
833 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
839 18,
840 OPC_CheckPredicate2,
841 OPC_MoveParent,
842 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
848 0,
849 0,
850 101, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
851 OPC_RecordMemRef,
852 OPC_RecordNode,
853 OPC_RecordChild1,
854 OPC_Scope, 47,
855 OPC_CheckChild1TypeI32,
856 OPC_MoveChild2,
857 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
858 OPC_RecordChild0,
859 OPC_MoveParent,
860 OPC_Scope, 18,
861 OPC_CheckPredicate1,
862 OPC_MoveParent,
863 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
869 18,
870 OPC_CheckPredicate2,
871 OPC_MoveParent,
872 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
878 0,
879 47,
880 OPC_CheckChild1TypeI64,
881 OPC_MoveChild2,
882 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
883 OPC_RecordChild0,
884 OPC_MoveParent,
885 OPC_Scope, 18,
886 OPC_CheckPredicate1,
887 OPC_MoveParent,
888 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
894 18,
895 OPC_CheckPredicate2,
896 OPC_MoveParent,
897 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
903 0,
904 0,
905 101, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
906 OPC_RecordMemRef,
907 OPC_RecordNode,
908 OPC_RecordChild1,
909 OPC_Scope, 47,
910 OPC_CheckChild1TypeI32,
911 OPC_MoveChild2,
912 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
913 OPC_RecordChild0,
914 OPC_MoveParent,
915 OPC_Scope, 18,
916 OPC_CheckPredicate1,
917 OPC_MoveParent,
918 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
924 18,
925 OPC_CheckPredicate2,
926 OPC_MoveParent,
927 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
933 0,
934 47,
935 OPC_CheckChild1TypeI64,
936 OPC_MoveChild2,
937 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
938 OPC_RecordChild0,
939 OPC_MoveParent,
940 OPC_Scope, 18,
941 OPC_CheckPredicate1,
942 OPC_MoveParent,
943 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
949 18,
950 OPC_CheckPredicate2,
951 OPC_MoveParent,
952 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
958 0,
959 0,
960 101, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
961 OPC_RecordMemRef,
962 OPC_RecordNode,
963 OPC_RecordChild1,
964 OPC_Scope, 47,
965 OPC_CheckChild1TypeI32,
966 OPC_MoveChild2,
967 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
968 OPC_RecordChild0,
969 OPC_MoveParent,
970 OPC_Scope, 18,
971 OPC_CheckPredicate1,
972 OPC_MoveParent,
973 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
979 18,
980 OPC_CheckPredicate2,
981 OPC_MoveParent,
982 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
988 0,
989 47,
990 OPC_CheckChild1TypeI64,
991 OPC_MoveChild2,
992 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
993 OPC_RecordChild0,
994 OPC_MoveParent,
995 OPC_Scope, 18,
996 OPC_CheckPredicate1,
997 OPC_MoveParent,
998 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1004 18,
1005 OPC_CheckPredicate2,
1006 OPC_MoveParent,
1007 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1013 0,
1014 0,
1015 101, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1016 OPC_RecordMemRef,
1017 OPC_RecordNode,
1018 OPC_RecordChild1,
1019 OPC_Scope, 47,
1020 OPC_CheckChild1TypeI32,
1021 OPC_MoveChild2,
1022 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1023 OPC_RecordChild0,
1024 OPC_MoveParent,
1025 OPC_Scope, 18,
1026 OPC_CheckPredicate1,
1027 OPC_MoveParent,
1028 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
1034 18,
1035 OPC_CheckPredicate2,
1036 OPC_MoveParent,
1037 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
1043 0,
1044 47,
1045 OPC_CheckChild1TypeI64,
1046 OPC_MoveChild2,
1047 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1048 OPC_RecordChild0,
1049 OPC_MoveParent,
1050 OPC_Scope, 18,
1051 OPC_CheckPredicate1,
1052 OPC_MoveParent,
1053 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1059 18,
1060 OPC_CheckPredicate2,
1061 OPC_MoveParent,
1062 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1068 0,
1069 0,
1070 101, TARGET_VAL(ISD::ATOMIC_SWAP),
1071 OPC_RecordMemRef,
1072 OPC_RecordNode,
1073 OPC_RecordChild1,
1074 OPC_Scope, 47,
1075 OPC_CheckChild1TypeI32,
1076 OPC_MoveChild2,
1077 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1078 OPC_RecordChild0,
1079 OPC_MoveParent,
1080 OPC_Scope, 18,
1081 OPC_CheckPredicate1,
1082 OPC_MoveParent,
1083 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
1089 18,
1090 OPC_CheckPredicate2,
1091 OPC_MoveParent,
1092 OPC_CheckPatternPredicate3,
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, 4, 5, 3, 4, 2,
1098 0,
1099 47,
1100 OPC_CheckChild1TypeI64,
1101 OPC_MoveChild2,
1102 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1103 OPC_RecordChild0,
1104 OPC_MoveParent,
1105 OPC_Scope, 18,
1106 OPC_CheckPredicate1,
1107 OPC_MoveParent,
1108 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1114 18,
1115 OPC_CheckPredicate2,
1116 OPC_MoveParent,
1117 OPC_CheckPatternPredicate4,
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, 4, 5, 3, 4, 2,
1123 0,
1124 0,
1125 45|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
1126 OPC_RecordMemRef,
1127 OPC_RecordNode,
1128 OPC_RecordChild1,
1129 OPC_Scope, 83,
1130 OPC_CheckChild1TypeI32,
1131 OPC_Scope, 19,
1132 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
1141 19,
1142 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
1151 19,
1152 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
1161 19,
1162 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
1171 0,
1172 83,
1173 OPC_CheckChild1TypeI64,
1174 OPC_Scope, 19,
1175 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
1184 19,
1185 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
1194 19,
1195 OPC_CheckPredicate, 16,
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, 3, 4, 2, 3,
1204 19,
1205 OPC_CheckPredicate, 14,
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, 3, 4, 2, 3,
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, 0,
1221 0,
1222 53|128,7, TARGET_VAL(ISD::STORE),
1223 OPC_RecordMemRef,
1224 OPC_RecordNode,
1225 OPC_Scope, 123|128,1,
1226 OPC_MoveChild1,
1227 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
1228 OPC_RecordChild0,
1229 OPC_Scope, 62,
1230 OPC_CheckChild0Type, MVT::v16i8,
1231 OPC_RecordChild1,
1232 OPC_MoveChild1,
1233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1234 OPC_CheckPredicate, 21,
1235 OPC_CheckTypeI32,
1236 OPC_MoveParent,
1237 OPC_CheckTypeI32,
1238 OPC_MoveParent,
1239 OPC_RecordChild2,
1240 OPC_Scope, 22,
1241 OPC_CheckChild2TypeI32,
1242 OPC_CheckPredicate5,
1243 OPC_CheckPredicate, 17,
1244 OPC_CheckPredicate1,
1245 OPC_CheckPatternPredicate1,
1246 OPC_CheckComplexPat0, /*#*/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, 6, 4, 7, 5, 1,
1252 22,
1253 OPC_CheckChild2TypeI64,
1254 OPC_CheckPredicate5,
1255 OPC_CheckPredicate, 17,
1256 OPC_CheckPredicate1,
1257 OPC_CheckPatternPredicate2,
1258 OPC_CheckComplexPat1, /*#*/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, 6, 4, 7, 5, 1,
1264 0,
1265 62,
1266 OPC_CheckChild0Type, MVT::v8i16,
1267 OPC_RecordChild1,
1268 OPC_MoveChild1,
1269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1270 OPC_CheckPredicate, 15,
1271 OPC_CheckTypeI32,
1272 OPC_MoveParent,
1273 OPC_CheckTypeI32,
1274 OPC_MoveParent,
1275 OPC_RecordChild2,
1276 OPC_Scope, 22,
1277 OPC_CheckChild2TypeI32,
1278 OPC_CheckPredicate5,
1279 OPC_CheckPredicate, 17,
1280 OPC_CheckPredicate2,
1281 OPC_CheckPatternPredicate1,
1282 OPC_CheckComplexPat0, /*#*/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, 6, 4, 7, 5, 1,
1288 22,
1289 OPC_CheckChild2TypeI64,
1290 OPC_CheckPredicate5,
1291 OPC_CheckPredicate, 17,
1292 OPC_CheckPredicate2,
1293 OPC_CheckPatternPredicate2,
1294 OPC_CheckComplexPat1, /*#*/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, 6, 4, 7, 5, 1,
1300 0,
1301 58,
1302 OPC_CheckChild0Type, MVT::v4i32,
1303 OPC_RecordChild1,
1304 OPC_MoveChild1,
1305 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1306 OPC_CheckPredicate, 12,
1307 OPC_CheckTypeI32,
1308 OPC_MoveParent,
1309 OPC_CheckTypeI32,
1310 OPC_MoveParent,
1311 OPC_RecordChild2,
1312 OPC_Scope, 20,
1313 OPC_CheckChild2TypeI32,
1314 OPC_CheckPredicate5,
1315 OPC_CheckPredicate6,
1316 OPC_CheckPatternPredicate1,
1317 OPC_CheckComplexPat0, /*#*/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, 6, 4, 7, 5, 1,
1323 20,
1324 OPC_CheckChild2TypeI64,
1325 OPC_CheckPredicate5,
1326 OPC_CheckPredicate6,
1327 OPC_CheckPatternPredicate2,
1328 OPC_CheckComplexPat1, /*#*/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, 6, 4, 7, 5, 1,
1334 0,
1335 58,
1336 OPC_CheckChild0Type, MVT::v2i64,
1337 OPC_RecordChild1,
1338 OPC_MoveChild1,
1339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1340 OPC_CheckPredicate, 13,
1341 OPC_CheckTypeI32,
1342 OPC_MoveParent,
1343 OPC_CheckTypeI64,
1344 OPC_MoveParent,
1345 OPC_RecordChild2,
1346 OPC_Scope, 20,
1347 OPC_CheckChild2TypeI32,
1348 OPC_CheckPredicate5,
1349 OPC_CheckPredicate6,
1350 OPC_CheckPatternPredicate1,
1351 OPC_CheckComplexPat0, /*#*/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, 6, 4, 7, 5, 1,
1357 20,
1358 OPC_CheckChild2TypeI64,
1359 OPC_CheckPredicate5,
1360 OPC_CheckPredicate6,
1361 OPC_CheckPatternPredicate2,
1362 OPC_CheckComplexPat1, /*#*/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, 6, 4, 7, 5, 1,
1368 0,
1369 0,
1370 50|128,5,
1371 OPC_RecordChild1,
1372 OPC_Scope, 126,
1373 OPC_CheckChild1TypeI32,
1374 OPC_RecordChild2,
1375 OPC_Scope, 60,
1376 OPC_CheckChild2TypeI32,
1377 OPC_CheckPredicate5,
1378 OPC_Scope, 16,
1379 OPC_CheckPredicate6,
1380 OPC_CheckPatternPredicate1,
1381 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1386 38,
1387 OPC_CheckPredicate, 17,
1388 OPC_Scope, 16,
1389 OPC_CheckPredicate1,
1390 OPC_CheckPatternPredicate1,
1391 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1396 16,
1397 OPC_CheckPredicate2,
1398 OPC_CheckPatternPredicate1,
1399 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1404 0,
1405 0,
1406 60,
1407 OPC_CheckChild2TypeI64,
1408 OPC_CheckPredicate5,
1409 OPC_Scope, 16,
1410 OPC_CheckPredicate6,
1411 OPC_CheckPatternPredicate2,
1412 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1417 38,
1418 OPC_CheckPredicate, 17,
1419 OPC_Scope, 16,
1420 OPC_CheckPredicate1,
1421 OPC_CheckPatternPredicate2,
1422 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1427 16,
1428 OPC_CheckPredicate2,
1429 OPC_CheckPatternPredicate2,
1430 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1435 0,
1436 0,
1437 0,
1438 32|128,1,
1439 OPC_CheckChild1TypeI64,
1440 OPC_RecordChild2,
1441 OPC_Scope, 77,
1442 OPC_CheckChild2TypeI32,
1443 OPC_CheckPredicate5,
1444 OPC_Scope, 16,
1445 OPC_CheckPredicate6,
1446 OPC_CheckPatternPredicate1,
1447 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1452 55,
1453 OPC_CheckPredicate, 17,
1454 OPC_Scope, 16,
1455 OPC_CheckPredicate1,
1456 OPC_CheckPatternPredicate1,
1457 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1462 16,
1463 OPC_CheckPredicate2,
1464 OPC_CheckPatternPredicate1,
1465 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1470 16,
1471 OPC_CheckPredicate3,
1472 OPC_CheckPatternPredicate1,
1473 OPC_CheckComplexPat0, /*#*/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, 5, 3, 4, 1,
1478 0,
1479 0,
1480 77,
1481 OPC_CheckChild2TypeI64,
1482 OPC_CheckPredicate5,
1483 OPC_Scope, 16,
1484 OPC_CheckPredicate6,
1485 OPC_CheckPatternPredicate2,
1486 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1491 55,
1492 OPC_CheckPredicate, 17,
1493 OPC_Scope, 16,
1494 OPC_CheckPredicate1,
1495 OPC_CheckPatternPredicate2,
1496 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1501 16,
1502 OPC_CheckPredicate2,
1503 OPC_CheckPatternPredicate2,
1504 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1509 16,
1510 OPC_CheckPredicate3,
1511 OPC_CheckPatternPredicate2,
1512 OPC_CheckComplexPat1, /*#*/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, 5, 3, 4, 1,
1517 0,
1518 0,
1519 0,
1520 43,
1521 OPC_CheckChild1Type, MVT::f32,
1522 OPC_RecordChild2,
1523 OPC_Scope, 18,
1524 OPC_CheckChild2TypeI32,
1525 OPC_CheckPredicate5,
1526 OPC_CheckPredicate6,
1527 OPC_CheckPatternPredicate1,
1528 OPC_CheckComplexPat0, /*#*/2,
1529 OPC_EmitMergeInputChains1_0,
1530 OPC_EmitIntegerI32, 0,
1531 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1532 4, 5, 3, 4, 1,
1533 18,
1534 OPC_CheckChild2TypeI64,
1535 OPC_CheckPredicate5,
1536 OPC_CheckPredicate6,
1537 OPC_CheckPatternPredicate2,
1538 OPC_CheckComplexPat1, /*#*/2,
1539 OPC_EmitMergeInputChains1_0,
1540 OPC_EmitIntegerI32, 0,
1541 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1542 4, 5, 3, 4, 1,
1543 0,
1544 43,
1545 OPC_CheckChild1Type, MVT::f64,
1546 OPC_RecordChild2,
1547 OPC_Scope, 18,
1548 OPC_CheckChild2TypeI32,
1549 OPC_CheckPredicate5,
1550 OPC_CheckPredicate6,
1551 OPC_CheckPatternPredicate1,
1552 OPC_CheckComplexPat0, /*#*/2,
1553 OPC_EmitMergeInputChains1_0,
1554 OPC_EmitIntegerI32, 0,
1555 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1556 4, 5, 3, 4, 1,
1557 18,
1558 OPC_CheckChild2TypeI64,
1559 OPC_CheckPredicate5,
1560 OPC_CheckPredicate6,
1561 OPC_CheckPatternPredicate2,
1562 OPC_CheckComplexPat1, /*#*/2,
1563 OPC_EmitMergeInputChains1_0,
1564 OPC_EmitIntegerI32, 0,
1565 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1566 4, 5, 3, 4, 1,
1567 0,
1568 43,
1569 OPC_CheckChild1Type, MVT::v16i8,
1570 OPC_RecordChild2,
1571 OPC_Scope, 18,
1572 OPC_CheckChild2TypeI32,
1573 OPC_CheckPredicate5,
1574 OPC_CheckPredicate6,
1575 OPC_CheckPatternPredicate1,
1576 OPC_CheckComplexPat0, /*#*/2,
1577 OPC_EmitMergeInputChains1_0,
1578 OPC_EmitIntegerI32, 0,
1579 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1580 4, 5, 3, 4, 1,
1581 18,
1582 OPC_CheckChild2TypeI64,
1583 OPC_CheckPredicate5,
1584 OPC_CheckPredicate6,
1585 OPC_CheckPatternPredicate2,
1586 OPC_CheckComplexPat1, /*#*/2,
1587 OPC_EmitMergeInputChains1_0,
1588 OPC_EmitIntegerI32, 0,
1589 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1590 4, 5, 3, 4, 1,
1591 0,
1592 43,
1593 OPC_CheckChild1Type, MVT::v8i16,
1594 OPC_RecordChild2,
1595 OPC_Scope, 18,
1596 OPC_CheckChild2TypeI32,
1597 OPC_CheckPredicate5,
1598 OPC_CheckPredicate6,
1599 OPC_CheckPatternPredicate1,
1600 OPC_CheckComplexPat0, /*#*/2,
1601 OPC_EmitMergeInputChains1_0,
1602 OPC_EmitIntegerI32, 0,
1603 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1604 4, 5, 3, 4, 1,
1605 18,
1606 OPC_CheckChild2TypeI64,
1607 OPC_CheckPredicate5,
1608 OPC_CheckPredicate6,
1609 OPC_CheckPatternPredicate2,
1610 OPC_CheckComplexPat1, /*#*/2,
1611 OPC_EmitMergeInputChains1_0,
1612 OPC_EmitIntegerI32, 0,
1613 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1614 4, 5, 3, 4, 1,
1615 0,
1616 43,
1617 OPC_CheckChild1Type, MVT::v4i32,
1618 OPC_RecordChild2,
1619 OPC_Scope, 18,
1620 OPC_CheckChild2TypeI32,
1621 OPC_CheckPredicate5,
1622 OPC_CheckPredicate6,
1623 OPC_CheckPatternPredicate1,
1624 OPC_CheckComplexPat0, /*#*/2,
1625 OPC_EmitMergeInputChains1_0,
1626 OPC_EmitIntegerI32, 0,
1627 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1628 4, 5, 3, 4, 1,
1629 18,
1630 OPC_CheckChild2TypeI64,
1631 OPC_CheckPredicate5,
1632 OPC_CheckPredicate6,
1633 OPC_CheckPatternPredicate2,
1634 OPC_CheckComplexPat1, /*#*/2,
1635 OPC_EmitMergeInputChains1_0,
1636 OPC_EmitIntegerI32, 0,
1637 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1638 4, 5, 3, 4, 1,
1639 0,
1640 43,
1641 OPC_CheckChild1Type, MVT::v2i64,
1642 OPC_RecordChild2,
1643 OPC_Scope, 18,
1644 OPC_CheckChild2TypeI32,
1645 OPC_CheckPredicate5,
1646 OPC_CheckPredicate6,
1647 OPC_CheckPatternPredicate1,
1648 OPC_CheckComplexPat0, /*#*/2,
1649 OPC_EmitMergeInputChains1_0,
1650 OPC_EmitIntegerI32, 0,
1651 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1652 4, 5, 3, 4, 1,
1653 18,
1654 OPC_CheckChild2TypeI64,
1655 OPC_CheckPredicate5,
1656 OPC_CheckPredicate6,
1657 OPC_CheckPatternPredicate2,
1658 OPC_CheckComplexPat1, /*#*/2,
1659 OPC_EmitMergeInputChains1_0,
1660 OPC_EmitIntegerI32, 0,
1661 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1662 4, 5, 3, 4, 1,
1663 0,
1664 44,
1665 OPC_CheckChild1Type, 6|128,1,
1666 OPC_RecordChild2,
1667 OPC_Scope, 18,
1668 OPC_CheckChild2TypeI32,
1669 OPC_CheckPredicate5,
1670 OPC_CheckPredicate6,
1671 OPC_CheckPatternPredicate1,
1672 OPC_CheckComplexPat0, /*#*/2,
1673 OPC_EmitMergeInputChains1_0,
1674 OPC_EmitIntegerI32, 0,
1675 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1676 4, 5, 3, 4, 1,
1677 18,
1678 OPC_CheckChild2TypeI64,
1679 OPC_CheckPredicate5,
1680 OPC_CheckPredicate6,
1681 OPC_CheckPatternPredicate2,
1682 OPC_CheckComplexPat1, /*#*/2,
1683 OPC_EmitMergeInputChains1_0,
1684 OPC_EmitIntegerI32, 0,
1685 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1686 4, 5, 3, 4, 1,
1687 0,
1688 44,
1689 OPC_CheckChild1Type, 24|128,1,
1690 OPC_RecordChild2,
1691 OPC_Scope, 18,
1692 OPC_CheckChild2TypeI32,
1693 OPC_CheckPredicate5,
1694 OPC_CheckPredicate6,
1695 OPC_CheckPatternPredicate1,
1696 OPC_CheckComplexPat0, /*#*/2,
1697 OPC_EmitMergeInputChains1_0,
1698 OPC_EmitIntegerI32, 0,
1699 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1700 4, 5, 3, 4, 1,
1701 18,
1702 OPC_CheckChild2TypeI64,
1703 OPC_CheckPredicate5,
1704 OPC_CheckPredicate6,
1705 OPC_CheckPatternPredicate2,
1706 OPC_CheckComplexPat1, /*#*/2,
1707 OPC_EmitMergeInputChains1_0,
1708 OPC_EmitIntegerI32, 0,
1709 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1710 4, 5, 3, 4, 1,
1711 0,
1712 43,
1713 OPC_CheckChild1Type, MVT::v8f16,
1714 OPC_RecordChild2,
1715 OPC_Scope, 18,
1716 OPC_CheckChild2TypeI32,
1717 OPC_CheckPredicate5,
1718 OPC_CheckPredicate6,
1719 OPC_CheckPatternPredicate1,
1720 OPC_CheckComplexPat0, /*#*/2,
1721 OPC_EmitMergeInputChains1_0,
1722 OPC_EmitIntegerI32, 0,
1723 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
1724 4, 5, 3, 4, 1,
1725 18,
1726 OPC_CheckChild2TypeI64,
1727 OPC_CheckPredicate5,
1728 OPC_CheckPredicate6,
1729 OPC_CheckPatternPredicate2,
1730 OPC_CheckComplexPat1, /*#*/2,
1731 OPC_EmitMergeInputChains1_0,
1732 OPC_EmitIntegerI32, 0,
1733 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1734 4, 5, 3, 4, 1,
1735 0,
1736 0,
1737 0,
1738 7|128,2, TARGET_VAL(ISD::INTRINSIC_VOID),
1739 OPC_Scope, 40,
1740 OPC_RecordNode,
1741 OPC_CheckChild1Integer, 79|128,112|128,0,
1742 OPC_MoveChild2,
1743 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1744 OPC_RecordChild0,
1745 OPC_MoveChild0,
1746 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1747 OPC_MoveParent,
1748 OPC_MoveSibling3,
1749 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1750 OPC_RecordChild0,
1751 OPC_MoveChild0,
1752 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1753 OPC_MoveParent,
1754 OPC_MoveParent,
1755 OPC_RecordChild4,
1756 OPC_RecordChild5,
1757 OPC_RecordChild6,
1758 OPC_CheckPatternPredicate7,
1759 OPC_EmitMergeInputChains1_0,
1760 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_COPY),
1761 5, 1, 2, 3, 4, 5,
1762 44,
1763 OPC_RecordMemRef,
1764 OPC_RecordNode,
1765 OPC_CheckChild1Integer, 77|128,112|128,0,
1766 OPC_RecordChild2,
1767 OPC_RecordChild3,
1768 OPC_Scope, 16,
1769 OPC_CheckChild3TypeI32,
1770 OPC_CheckPatternPredicate1,
1771 OPC_CheckComplexPat0, /*#*/2,
1772 OPC_EmitMergeInputChains1_0,
1773 OPC_EmitIntegerI32, 0,
1774 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1775 4, 5, 3, 4, 1,
1776 16,
1777 OPC_CheckChild3TypeI64,
1778 OPC_CheckPatternPredicate2,
1779 OPC_CheckComplexPat1, /*#*/2,
1780 OPC_EmitMergeInputChains1_0,
1781 OPC_EmitIntegerI32, 0,
1782 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1783 4, 5, 3, 4, 1,
1784 0,
1785 45|128,1,
1786 OPC_RecordNode,
1787 OPC_Scope, 26,
1788 OPC_CheckChild1Integer, 91|128,112|128,0,
1789 OPC_MoveChild2,
1790 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1791 OPC_RecordChild0,
1792 OPC_MoveChild0,
1793 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1794 OPC_MoveParent,
1795 OPC_MoveParent,
1796 OPC_RecordChild3,
1797 OPC_RecordChild4,
1798 OPC_CheckPatternPredicate7,
1799 OPC_EmitMergeInputChains1_0,
1800 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF),
1801 3, 1, 2, 3,
1802 28,
1803 OPC_CheckChild1Integer, 82|128,112|128,0,
1804 OPC_MoveChild2,
1805 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1806 OPC_RecordChild0,
1807 OPC_MoveChild0,
1808 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1809 OPC_MoveParent,
1810 OPC_MoveParent,
1811 OPC_RecordChild3,
1812 OPC_RecordChild4,
1813 OPC_RecordChild5,
1814 OPC_CheckPatternPredicate7,
1815 OPC_EmitMergeInputChains1_0,
1816 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_FUNCREF),
1817 4, 1, 2, 3, 4,
1818 26,
1819 OPC_CheckChild1Integer, 90|128,112|128,0,
1820 OPC_MoveChild2,
1821 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1822 OPC_RecordChild0,
1823 OPC_MoveChild0,
1824 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1825 OPC_MoveParent,
1826 OPC_MoveParent,
1827 OPC_RecordChild3,
1828 OPC_RecordChild4,
1829 OPC_CheckPatternPredicate7,
1830 OPC_EmitMergeInputChains1_0,
1831 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF),
1832 3, 1, 2, 3,
1833 28,
1834 OPC_CheckChild1Integer, 81|128,112|128,0,
1835 OPC_MoveChild2,
1836 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1837 OPC_RecordChild0,
1838 OPC_MoveChild0,
1839 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1840 OPC_MoveParent,
1841 OPC_MoveParent,
1842 OPC_RecordChild3,
1843 OPC_RecordChild4,
1844 OPC_RecordChild5,
1845 OPC_CheckPatternPredicate7,
1846 OPC_EmitMergeInputChains1_0,
1847 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_EXTERNREF),
1848 4, 1, 2, 3, 4,
1849 27,
1850 OPC_CheckChild1Integer, 89|128,112|128,0,
1851 OPC_MoveChild2,
1852 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1853 OPC_RecordChild0,
1854 OPC_MoveChild0,
1855 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1856 OPC_MoveParent,
1857 OPC_MoveParent,
1858 OPC_RecordChild3,
1859 OPC_RecordChild4,
1860 OPC_CheckPatternPredicate, 8,
1861 OPC_EmitMergeInputChains1_0,
1862 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_EXNREF),
1863 3, 1, 2, 3,
1864 29,
1865 OPC_CheckChild1Integer, 80|128,112|128,0,
1866 OPC_MoveChild2,
1867 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1868 OPC_RecordChild0,
1869 OPC_MoveChild0,
1870 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1871 OPC_MoveParent,
1872 OPC_MoveParent,
1873 OPC_RecordChild3,
1874 OPC_RecordChild4,
1875 OPC_RecordChild5,
1876 OPC_CheckPatternPredicate, 8,
1877 OPC_EmitMergeInputChains1_0,
1878 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_EXNREF),
1879 4, 1, 2, 3, 4,
1880 0,
1881 0,
1882 81|128,3, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
1883 OPC_Scope, 22|128,1,
1884 OPC_RecordMemRef,
1885 OPC_RecordNode,
1886 OPC_Scope, 45,
1887 OPC_CheckChild1Integer, 42|128,112|128,0,
1888 OPC_RecordChild2,
1889 OPC_Scope, 18,
1890 OPC_CheckChild2TypeI32,
1891 OPC_RecordChild3,
1892 OPC_CheckPatternPredicate3,
1893 OPC_CheckComplexPat0, /*#*/1,
1894 OPC_EmitMergeInputChains1_0,
1895 OPC_EmitIntegerI32, 0,
1896 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
1897 MVT::i32, 4, 5, 3, 4, 2,
1898 18,
1899 OPC_CheckChild2TypeI64,
1900 OPC_RecordChild3,
1901 OPC_CheckPatternPredicate4,
1902 OPC_CheckComplexPat1, /*#*/1,
1903 OPC_EmitMergeInputChains1_0,
1904 OPC_EmitIntegerI32, 0,
1905 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
1906 MVT::i32, 4, 5, 3, 4, 2,
1907 0,
1908 49,
1909 OPC_CheckChild1Integer, 43|128,112|128,0,
1910 OPC_RecordChild2,
1911 OPC_Scope, 20,
1912 OPC_CheckChild2TypeI32,
1913 OPC_RecordChild3,
1914 OPC_RecordChild4,
1915 OPC_CheckPatternPredicate3,
1916 OPC_CheckComplexPat0, /*#*/1,
1917 OPC_EmitMergeInputChains1_0,
1918 OPC_EmitIntegerI32, 0,
1919 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1920 MVT::i32, 5, 6, 4, 5, 2, 3,
1921 20,
1922 OPC_CheckChild2TypeI64,
1923 OPC_RecordChild3,
1924 OPC_RecordChild4,
1925 OPC_CheckPatternPredicate4,
1926 OPC_CheckComplexPat1, /*#*/1,
1927 OPC_EmitMergeInputChains1_0,
1928 OPC_EmitIntegerI32, 0,
1929 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1930 MVT::i32, 5, 6, 4, 5, 2, 3,
1931 0,
1932 49,
1933 OPC_CheckChild1Integer, 44|128,112|128,0,
1934 OPC_RecordChild2,
1935 OPC_Scope, 20,
1936 OPC_CheckChild2TypeI32,
1937 OPC_RecordChild3,
1938 OPC_RecordChild4,
1939 OPC_CheckPatternPredicate3,
1940 OPC_CheckComplexPat0, /*#*/1,
1941 OPC_EmitMergeInputChains1_0,
1942 OPC_EmitIntegerI32, 0,
1943 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1944 MVT::i32, 5, 6, 4, 5, 2, 3,
1945 20,
1946 OPC_CheckChild2TypeI64,
1947 OPC_RecordChild3,
1948 OPC_RecordChild4,
1949 OPC_CheckPatternPredicate4,
1950 OPC_CheckComplexPat1, /*#*/1,
1951 OPC_EmitMergeInputChains1_0,
1952 OPC_EmitIntegerI32, 0,
1953 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1954 MVT::i32, 5, 6, 4, 5, 2, 3,
1955 0,
1956 0,
1957 9|128,2,
1958 OPC_RecordNode,
1959 OPC_Scope, 26,
1960 OPC_CheckChild1Integer, 85|128,112|128,0,
1961 OPC_MoveChild2,
1962 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1963 OPC_RecordChild0,
1964 OPC_MoveChild0,
1965 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1966 OPC_MoveParent,
1967 OPC_MoveParent,
1968 OPC_RecordChild3,
1969 OPC_CheckPatternPredicate7,
1970 OPC_EmitMergeInputChains1_0,
1971 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF),
1972 122|128,1, 2, 1, 2,
1973 27,
1974 OPC_CheckChild1Integer, 88|128,112|128,0,
1975 OPC_MoveChild2,
1976 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1977 OPC_RecordChild0,
1978 OPC_MoveChild0,
1979 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1980 OPC_MoveParent,
1981 OPC_MoveParent,
1982 OPC_RecordChild3,
1983 OPC_RecordChild4,
1984 OPC_CheckPatternPredicate7,
1985 OPC_EmitMergeInputChains1_0,
1986 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_FUNCREF),
1987 MVT::i32, 3, 1, 2, 3,
1988 26,
1989 OPC_CheckChild1Integer, 84|128,112|128,0,
1990 OPC_MoveChild2,
1991 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1992 OPC_RecordChild0,
1993 OPC_MoveChild0,
1994 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1995 OPC_MoveParent,
1996 OPC_MoveParent,
1997 OPC_RecordChild3,
1998 OPC_CheckPatternPredicate7,
1999 OPC_EmitMergeInputChains1_0,
2000 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF),
2001 123|128,1, 2, 1, 2,
2002 27,
2003 OPC_CheckChild1Integer, 87|128,112|128,0,
2004 OPC_MoveChild2,
2005 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2006 OPC_RecordChild0,
2007 OPC_MoveChild0,
2008 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2009 OPC_MoveParent,
2010 OPC_MoveParent,
2011 OPC_RecordChild3,
2012 OPC_RecordChild4,
2013 OPC_CheckPatternPredicate7,
2014 OPC_EmitMergeInputChains1_0,
2015 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_EXTERNREF),
2016 MVT::i32, 3, 1, 2, 3,
2017 27,
2018 OPC_CheckChild1Integer, 83|128,112|128,0,
2019 OPC_MoveChild2,
2020 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2021 OPC_RecordChild0,
2022 OPC_MoveChild0,
2023 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2024 OPC_MoveParent,
2025 OPC_MoveParent,
2026 OPC_RecordChild3,
2027 OPC_CheckPatternPredicate, 8,
2028 OPC_EmitMergeInputChains1_0,
2029 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_EXNREF),
2030 124|128,1, 2, 1, 2,
2031 28,
2032 OPC_CheckChild1Integer, 86|128,112|128,0,
2033 OPC_MoveChild2,
2034 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2035 OPC_RecordChild0,
2036 OPC_MoveChild0,
2037 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2038 OPC_MoveParent,
2039 OPC_MoveParent,
2040 OPC_RecordChild3,
2041 OPC_RecordChild4,
2042 OPC_CheckPatternPredicate, 8,
2043 OPC_EmitMergeInputChains1_0,
2044 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_EXNREF),
2045 MVT::i32, 3, 1, 2, 3,
2046 23,
2047 OPC_CheckChild1Integer, 92|128,112|128,0,
2048 OPC_MoveChild2,
2049 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2050 OPC_RecordChild0,
2051 OPC_MoveChild0,
2052 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2053 OPC_MoveParent,
2054 OPC_MoveParent,
2055 OPC_CheckPatternPredicate7,
2056 OPC_EmitMergeInputChains1_0,
2057 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_SIZE),
2058 MVT::i32, 1, 1,
2059 32,
2060 OPC_CheckChild1Integer, 46|128,112|128,0,
2061 OPC_RecordChild2,
2062 OPC_MoveChild2,
2063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2064 OPC_MoveParent,
2065 OPC_SwitchType , 8, MVT::i32,
2066 OPC_EmitMergeInputChains1_0,
2067 OPC_EmitConvertToTarget1,
2068 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_14734MEMORY_SIZE_A32),
2069 MVT::i32, 1, 2,
2070 8, MVT::i64,
2071 OPC_EmitMergeInputChains1_0,
2072 OPC_EmitConvertToTarget1,
2073 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_14735MEMORY_SIZE_A64),
2074 MVT::i64, 1, 2,
2075 0,
2076 37,
2077 OPC_CheckChild1Integer, 45|128,112|128,0,
2078 OPC_RecordChild2,
2079 OPC_MoveChild2,
2080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2081 OPC_MoveParent,
2082 OPC_RecordChild3,
2083 OPC_SwitchType , 10, MVT::i32,
2084 OPC_CheckChild3TypeI32,
2085 OPC_EmitMergeInputChains1_0,
2086 OPC_EmitConvertToTarget1,
2087 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_14734MEMORY_GROW_A32),
2088 MVT::i32, 2, 3, 2,
2089 10, MVT::i64,
2090 OPC_CheckChild3TypeI64,
2091 OPC_EmitMergeInputChains1_0,
2092 OPC_EmitConvertToTarget1,
2093 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_14735MEMORY_GROW_A64),
2094 MVT::i64, 2, 3, 2,
2095 0,
2096 0,
2097 43,
2098 OPC_RecordMemRef,
2099 OPC_RecordNode,
2100 OPC_CheckChild1Integer, 40|128,112|128,0,
2101 OPC_RecordChild2,
2102 OPC_Scope, 16,
2103 OPC_CheckChild2TypeI32,
2104 OPC_CheckPatternPredicate1,
2105 OPC_CheckComplexPat0, /*#*/1,
2106 OPC_EmitMergeInputChains1_0,
2107 OPC_EmitIntegerI32, 0,
2108 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2109 MVT::f32, 3, 4, 2, 3,
2110 16,
2111 OPC_CheckChild2TypeI64,
2112 OPC_CheckPatternPredicate2,
2113 OPC_CheckComplexPat1, /*#*/1,
2114 OPC_EmitMergeInputChains1_0,
2115 OPC_EmitIntegerI32, 0,
2116 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2117 MVT::f32, 3, 4, 2, 3,
2118 0,
2119 0,
2120 31|128,2, TARGET_VAL(ISD::ATOMIC_STORE),
2121 OPC_RecordMemRef,
2122 OPC_RecordNode,
2123 OPC_Scope, 119,
2124 OPC_MoveChild1,
2125 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2126 OPC_RecordChild0,
2127 OPC_MoveParent,
2128 OPC_RecordChild2,
2129 OPC_Scope, 54,
2130 OPC_CheckChild2TypeI32,
2131 OPC_Scope, 16,
2132 OPC_CheckPredicate1,
2133 OPC_CheckPatternPredicate3,
2134 OPC_CheckComplexPat0, /*#*/2,
2135 OPC_EmitMergeInputChains1_0,
2136 OPC_EmitIntegerI32, 0,
2137 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2138 4, 5, 3, 4, 1,
2139 16,
2140 OPC_CheckPredicate2,
2141 OPC_CheckPatternPredicate3,
2142 OPC_CheckComplexPat0, /*#*/2,
2143 OPC_EmitMergeInputChains1_0,
2144 OPC_EmitIntegerI32, 0,
2145 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2146 4, 5, 3, 4, 1,
2147 16,
2148 OPC_CheckPredicate3,
2149 OPC_CheckPatternPredicate3,
2150 OPC_CheckComplexPat0, /*#*/2,
2151 OPC_EmitMergeInputChains1_0,
2152 OPC_EmitIntegerI32, 0,
2153 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2154 4, 5, 3, 4, 1,
2155 0,
2156 54,
2157 OPC_CheckChild2TypeI64,
2158 OPC_Scope, 16,
2159 OPC_CheckPredicate1,
2160 OPC_CheckPatternPredicate4,
2161 OPC_CheckComplexPat1, /*#*/2,
2162 OPC_EmitMergeInputChains1_0,
2163 OPC_EmitIntegerI32, 0,
2164 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2165 4, 5, 3, 4, 1,
2166 16,
2167 OPC_CheckPredicate2,
2168 OPC_CheckPatternPredicate4,
2169 OPC_CheckComplexPat1, /*#*/2,
2170 OPC_EmitMergeInputChains1_0,
2171 OPC_EmitIntegerI32, 0,
2172 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2173 4, 5, 3, 4, 1,
2174 16,
2175 OPC_CheckPredicate3,
2176 OPC_CheckPatternPredicate4,
2177 OPC_CheckComplexPat1, /*#*/2,
2178 OPC_EmitMergeInputChains1_0,
2179 OPC_EmitIntegerI32, 0,
2180 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2181 4, 5, 3, 4, 1,
2182 0,
2183 0,
2184 33|128,1,
2185 OPC_RecordChild1,
2186 OPC_Scope, 114,
2187 OPC_CheckChild1TypeI32,
2188 OPC_RecordChild2,
2189 OPC_Scope, 54,
2190 OPC_CheckChild2TypeI32,
2191 OPC_Scope, 16,
2192 OPC_CheckPredicate3,
2193 OPC_CheckPatternPredicate3,
2194 OPC_CheckComplexPat0, /*#*/2,
2195 OPC_EmitMergeInputChains1_0,
2196 OPC_EmitIntegerI32, 0,
2197 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2198 4, 5, 3, 4, 1,
2199 16,
2200 OPC_CheckPredicate1,
2201 OPC_CheckPatternPredicate3,
2202 OPC_CheckComplexPat0, /*#*/2,
2203 OPC_EmitMergeInputChains1_0,
2204 OPC_EmitIntegerI32, 0,
2205 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2206 4, 5, 3, 4, 1,
2207 16,
2208 OPC_CheckPredicate2,
2209 OPC_CheckPatternPredicate3,
2210 OPC_CheckComplexPat0, /*#*/2,
2211 OPC_EmitMergeInputChains1_0,
2212 OPC_EmitIntegerI32, 0,
2213 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2214 4, 5, 3, 4, 1,
2215 0,
2216 54,
2217 OPC_CheckChild2TypeI64,
2218 OPC_Scope, 16,
2219 OPC_CheckPredicate3,
2220 OPC_CheckPatternPredicate4,
2221 OPC_CheckComplexPat1, /*#*/2,
2222 OPC_EmitMergeInputChains1_0,
2223 OPC_EmitIntegerI32, 0,
2224 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2225 4, 5, 3, 4, 1,
2226 16,
2227 OPC_CheckPredicate1,
2228 OPC_CheckPatternPredicate4,
2229 OPC_CheckComplexPat1, /*#*/2,
2230 OPC_EmitMergeInputChains1_0,
2231 OPC_EmitIntegerI32, 0,
2232 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2233 4, 5, 3, 4, 1,
2234 16,
2235 OPC_CheckPredicate2,
2236 OPC_CheckPatternPredicate4,
2237 OPC_CheckComplexPat1, /*#*/2,
2238 OPC_EmitMergeInputChains1_0,
2239 OPC_EmitIntegerI32, 0,
2240 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2241 4, 5, 3, 4, 1,
2242 0,
2243 0,
2244 42,
2245 OPC_CheckChild1TypeI64,
2246 OPC_RecordChild2,
2247 OPC_Scope, 18,
2248 OPC_CheckChild2TypeI32,
2249 OPC_CheckPredicate, 9,
2250 OPC_CheckPatternPredicate3,
2251 OPC_CheckComplexPat0, /*#*/2,
2252 OPC_EmitMergeInputChains1_0,
2253 OPC_EmitIntegerI32, 0,
2254 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2255 4, 5, 3, 4, 1,
2256 18,
2257 OPC_CheckChild2TypeI64,
2258 OPC_CheckPredicate, 9,
2259 OPC_CheckPatternPredicate4,
2260 OPC_CheckComplexPat1, /*#*/2,
2261 OPC_EmitMergeInputChains1_0,
2262 OPC_EmitIntegerI32, 0,
2263 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
2264 4, 5, 3, 4, 1,
2265 0,
2266 0,
2267 0,
2268 90|128,2, TARGET_VAL(ISD::AND),
2269 OPC_Scope, 118,
2270 OPC_MoveChild0,
2271 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
2272 OPC_Scope, 55,
2273 OPC_CheckChild0Integer, 28|128,112|128,0,
2274 OPC_RecordChild1,
2275 OPC_Scope, 11,
2276 OPC_CheckChild1Type, MVT::v16i8,
2277 OPC_MoveParent,
2278 OPC_CheckChild1Integer, 1,
2279 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2280 MVT::i32, 1, 0,
2281 11,
2282 OPC_CheckChild1Type, MVT::v8i16,
2283 OPC_MoveParent,
2284 OPC_CheckChild1Integer, 1,
2285 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2286 MVT::i32, 1, 0,
2287 11,
2288 OPC_CheckChild1Type, MVT::v4i32,
2289 OPC_MoveParent,
2290 OPC_CheckChild1Integer, 1,
2291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2292 MVT::i32, 1, 0,
2293 11,
2294 OPC_CheckChild1Type, MVT::v2i64,
2295 OPC_MoveParent,
2296 OPC_CheckChild1Integer, 1,
2297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2298 MVT::i32, 1, 0,
2299 0,
2300 55,
2301 OPC_CheckChild0Integer, 27|128,112|128,0,
2302 OPC_RecordChild1,
2303 OPC_Scope, 11,
2304 OPC_CheckChild1Type, MVT::v16i8,
2305 OPC_MoveParent,
2306 OPC_CheckChild1Integer, 1,
2307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
2308 MVT::i32, 1, 0,
2309 11,
2310 OPC_CheckChild1Type, MVT::v8i16,
2311 OPC_MoveParent,
2312 OPC_CheckChild1Integer, 1,
2313 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
2314 MVT::i32, 1, 0,
2315 11,
2316 OPC_CheckChild1Type, MVT::v4i32,
2317 OPC_MoveParent,
2318 OPC_CheckChild1Integer, 1,
2319 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
2320 MVT::i32, 1, 0,
2321 11,
2322 OPC_CheckChild1Type, MVT::v2i64,
2323 OPC_MoveParent,
2324 OPC_CheckChild1Integer, 1,
2325 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
2326 MVT::i32, 1, 0,
2327 0,
2328 0,
2329 29,
2330 OPC_CheckAndImm, 127|128,1,
2331 OPC_MoveChild0,
2332 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
2333 OPC_RecordChild0,
2334 OPC_CheckChild0Type, MVT::v16i8,
2335 OPC_RecordChild1,
2336 OPC_MoveChild1,
2337 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2338 OPC_CheckPredicate, 21,
2339 OPC_CheckTypeI32,
2340 OPC_MoveParent,
2341 OPC_MoveParent,
2342 OPC_CheckTypeI32,
2343 OPC_EmitConvertToTarget1,
2344 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u),
2345 MVT::i32, 2, 0, 2,
2346 30,
2347 OPC_CheckAndImm, 127|128,127|128,3,
2348 OPC_MoveChild0,
2349 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
2350 OPC_RecordChild0,
2351 OPC_CheckChild0Type, MVT::v8i16,
2352 OPC_RecordChild1,
2353 OPC_MoveChild1,
2354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2355 OPC_CheckPredicate, 15,
2356 OPC_CheckTypeI32,
2357 OPC_MoveParent,
2358 OPC_MoveParent,
2359 OPC_CheckTypeI32,
2360 OPC_EmitConvertToTarget1,
2361 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u),
2362 MVT::i32, 2, 0, 2,
2363 73,
2364 OPC_RecordChild0,
2365 OPC_Scope, 21,
2366 OPC_RecordChild1,
2367 OPC_SwitchType , 7, MVT::i32,
2368 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I32),
2369 MVT::i32, 2, 0, 1,
2370 7, MVT::i64,
2371 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I64),
2372 MVT::i64, 2, 0, 1,
2373 0,
2374 47,
2375 OPC_MoveChild1,
2376 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2377 OPC_RecordChild0,
2378 OPC_MoveChild1,
2379 OPC_CheckImmAllOnesV,
2380 OPC_MoveParent,
2381 OPC_MoveParent,
2382 OPC_SwitchType , 7, MVT::v16i8,
2383 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2384 MVT::v16i8, 2, 0, 1,
2385 7, MVT::v8i16,
2386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2387 MVT::v8i16, 2, 0, 1,
2388 7, MVT::v4i32,
2389 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2390 MVT::v4i32, 2, 0, 1,
2391 7, MVT::v2i64,
2392 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2393 MVT::v2i64, 2, 0, 1,
2394 0,
2395 0,
2396 48,
2397 OPC_MoveChild0,
2398 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2399 OPC_RecordChild0,
2400 OPC_MoveChild1,
2401 OPC_CheckImmAllOnesV,
2402 OPC_MoveParent,
2403 OPC_MoveParent,
2404 OPC_RecordChild1,
2405 OPC_SwitchType , 7, MVT::v16i8,
2406 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2407 MVT::v16i8, 2, 1, 0,
2408 7, MVT::v8i16,
2409 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2410 MVT::v8i16, 2, 1, 0,
2411 7, MVT::v4i32,
2412 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2413 MVT::v4i32, 2, 1, 0,
2414 7, MVT::v2i64,
2415 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2416 MVT::v2i64, 2, 1, 0,
2417 0,
2418 40,
2419 OPC_RecordChild0,
2420 OPC_RecordChild1,
2421 OPC_SwitchType , 7, MVT::v16i8,
2422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2423 MVT::v16i8, 2, 0, 1,
2424 7, MVT::v8i16,
2425 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2426 MVT::v8i16, 2, 0, 1,
2427 7, MVT::v4i32,
2428 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2429 MVT::v4i32, 2, 0, 1,
2430 7, MVT::v2i64,
2431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2432 MVT::v2i64, 2, 0, 1,
2433 0,
2434 0,
2435 126|128,11, TARGET_VAL(ISD::SETCC),
2436 OPC_Scope, 126|128,1,
2437 OPC_MoveChild0,
2438 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
2439 OPC_Scope, 123,
2440 OPC_CheckChild0Integer, 28|128,112|128,0,
2441 OPC_RecordChild1,
2442 OPC_Scope, 28,
2443 OPC_CheckChild1Type, MVT::v16i8,
2444 OPC_MoveParent,
2445 OPC_CheckTypeI32,
2446 OPC_Scope, 10,
2447 OPC_CheckChild1Integer, 0,
2448 OPC_CheckChild2CondCode, ISD::SETNE,
2449 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2450 MVT::i32, 1, 0,
2451 10,
2452 OPC_CheckChild1Integer, 1,
2453 OPC_CheckChild2CondCode, ISD::SETEQ,
2454 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2455 MVT::i32, 1, 0,
2456 0,
2457 28,
2458 OPC_CheckChild1Type, MVT::v8i16,
2459 OPC_MoveParent,
2460 OPC_CheckTypeI32,
2461 OPC_Scope, 10,
2462 OPC_CheckChild1Integer, 0,
2463 OPC_CheckChild2CondCode, ISD::SETNE,
2464 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2465 MVT::i32, 1, 0,
2466 10,
2467 OPC_CheckChild1Integer, 1,
2468 OPC_CheckChild2CondCode, ISD::SETEQ,
2469 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2470 MVT::i32, 1, 0,
2471 0,
2472 28,
2473 OPC_CheckChild1Type, MVT::v4i32,
2474 OPC_MoveParent,
2475 OPC_CheckTypeI32,
2476 OPC_Scope, 10,
2477 OPC_CheckChild1Integer, 0,
2478 OPC_CheckChild2CondCode, ISD::SETNE,
2479 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2480 MVT::i32, 1, 0,
2481 10,
2482 OPC_CheckChild1Integer, 1,
2483 OPC_CheckChild2CondCode, ISD::SETEQ,
2484 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2485 MVT::i32, 1, 0,
2486 0,
2487 28,
2488 OPC_CheckChild1Type, MVT::v2i64,
2489 OPC_MoveParent,
2490 OPC_CheckTypeI32,
2491 OPC_Scope, 10,
2492 OPC_CheckChild1Integer, 0,
2493 OPC_CheckChild2CondCode, ISD::SETNE,
2494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2495 MVT::i32, 1, 0,
2496 10,
2497 OPC_CheckChild1Integer, 1,
2498 OPC_CheckChild2CondCode, ISD::SETEQ,
2499 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2500 MVT::i32, 1, 0,
2501 0,
2502 0,
2503 123,
2504 OPC_CheckChild0Integer, 27|128,112|128,0,
2505 OPC_RecordChild1,
2506 OPC_Scope, 28,
2507 OPC_CheckChild1Type, MVT::v16i8,
2508 OPC_MoveParent,
2509 OPC_CheckTypeI32,
2510 OPC_Scope, 10,
2511 OPC_CheckChild1Integer, 0,
2512 OPC_CheckChild2CondCode, ISD::SETNE,
2513 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
2514 MVT::i32, 1, 0,
2515 10,
2516 OPC_CheckChild1Integer, 1,
2517 OPC_CheckChild2CondCode, ISD::SETEQ,
2518 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
2519 MVT::i32, 1, 0,
2520 0,
2521 28,
2522 OPC_CheckChild1Type, MVT::v8i16,
2523 OPC_MoveParent,
2524 OPC_CheckTypeI32,
2525 OPC_Scope, 10,
2526 OPC_CheckChild1Integer, 0,
2527 OPC_CheckChild2CondCode, ISD::SETNE,
2528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
2529 MVT::i32, 1, 0,
2530 10,
2531 OPC_CheckChild1Integer, 1,
2532 OPC_CheckChild2CondCode, ISD::SETEQ,
2533 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
2534 MVT::i32, 1, 0,
2535 0,
2536 28,
2537 OPC_CheckChild1Type, MVT::v4i32,
2538 OPC_MoveParent,
2539 OPC_CheckTypeI32,
2540 OPC_Scope, 10,
2541 OPC_CheckChild1Integer, 0,
2542 OPC_CheckChild2CondCode, ISD::SETNE,
2543 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
2544 MVT::i32, 1, 0,
2545 10,
2546 OPC_CheckChild1Integer, 1,
2547 OPC_CheckChild2CondCode, ISD::SETEQ,
2548 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
2549 MVT::i32, 1, 0,
2550 0,
2551 28,
2552 OPC_CheckChild1Type, MVT::v2i64,
2553 OPC_MoveParent,
2554 OPC_CheckTypeI32,
2555 OPC_Scope, 10,
2556 OPC_CheckChild1Integer, 0,
2557 OPC_CheckChild2CondCode, ISD::SETNE,
2558 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
2559 MVT::i32, 1, 0,
2560 10,
2561 OPC_CheckChild1Integer, 1,
2562 OPC_CheckChild2CondCode, ISD::SETEQ,
2563 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
2564 MVT::i32, 1, 0,
2565 0,
2566 0,
2567 0,
2568 122|128,9,
2569 OPC_RecordChild0,
2570 OPC_SwitchType , 108|128,3, MVT::i32,
2571 OPC_Scope, 118,
2572 OPC_CheckChild0TypeI32,
2573 OPC_Scope, 10,
2574 OPC_CheckChild1Integer, 0,
2575 OPC_CheckChild2CondCode, ISD::SETEQ,
2576 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I32),
2577 MVT::i32, 1, 0,
2578 103,
2579 OPC_RecordChild1,
2580 OPC_Scope, 9,
2581 OPC_CheckChild2CondCode, ISD::SETEQ,
2582 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I32),
2583 MVT::i32, 2, 0, 1,
2584 9,
2585 OPC_CheckChild2CondCode, ISD::SETNE,
2586 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32),
2587 MVT::i32, 2, 0, 1,
2588 9,
2589 OPC_CheckChild2CondCode, ISD::SETLT,
2590 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32),
2591 MVT::i32, 2, 0, 1,
2592 9,
2593 OPC_CheckChild2CondCode, ISD::SETULT,
2594 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32),
2595 MVT::i32, 2, 0, 1,
2596 9,
2597 OPC_CheckChild2CondCode, ISD::SETGT,
2598 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32),
2599 MVT::i32, 2, 0, 1,
2600 9,
2601 OPC_CheckChild2CondCode, ISD::SETUGT,
2602 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32),
2603 MVT::i32, 2, 0, 1,
2604 9,
2605 OPC_CheckChild2CondCode, ISD::SETLE,
2606 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32),
2607 MVT::i32, 2, 0, 1,
2608 9,
2609 OPC_CheckChild2CondCode, ISD::SETULE,
2610 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32),
2611 MVT::i32, 2, 0, 1,
2612 9,
2613 OPC_CheckChild2CondCode, ISD::SETGE,
2614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32),
2615 MVT::i32, 2, 0, 1,
2616 9,
2617 OPC_CheckChild2CondCode, ISD::SETUGE,
2618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32),
2619 MVT::i32, 2, 0, 1,
2620 0,
2621 0,
2622 118,
2623 OPC_CheckChild0TypeI64,
2624 OPC_Scope, 10,
2625 OPC_CheckChild1Integer, 0,
2626 OPC_CheckChild2CondCode, ISD::SETEQ,
2627 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQZ_I64),
2628 MVT::i32, 1, 0,
2629 103,
2630 OPC_RecordChild1,
2631 OPC_Scope, 9,
2632 OPC_CheckChild2CondCode, ISD::SETEQ,
2633 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I64),
2634 MVT::i32, 2, 0, 1,
2635 9,
2636 OPC_CheckChild2CondCode, ISD::SETNE,
2637 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64),
2638 MVT::i32, 2, 0, 1,
2639 9,
2640 OPC_CheckChild2CondCode, ISD::SETLT,
2641 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64),
2642 MVT::i32, 2, 0, 1,
2643 9,
2644 OPC_CheckChild2CondCode, ISD::SETULT,
2645 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I64),
2646 MVT::i32, 2, 0, 1,
2647 9,
2648 OPC_CheckChild2CondCode, ISD::SETGT,
2649 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64),
2650 MVT::i32, 2, 0, 1,
2651 9,
2652 OPC_CheckChild2CondCode, ISD::SETUGT,
2653 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I64),
2654 MVT::i32, 2, 0, 1,
2655 9,
2656 OPC_CheckChild2CondCode, ISD::SETLE,
2657 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64),
2658 MVT::i32, 2, 0, 1,
2659 9,
2660 OPC_CheckChild2CondCode, ISD::SETULE,
2661 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I64),
2662 MVT::i32, 2, 0, 1,
2663 9,
2664 OPC_CheckChild2CondCode, ISD::SETGE,
2665 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64),
2666 MVT::i32, 2, 0, 1,
2667 9,
2668 OPC_CheckChild2CondCode, ISD::SETUGE,
2669 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I64),
2670 MVT::i32, 2, 0, 1,
2671 0,
2672 0,
2673 125,
2674 OPC_CheckChild0Type, MVT::f32,
2675 OPC_RecordChild1,
2676 OPC_Scope, 9,
2677 OPC_CheckChild2CondCode, ISD::SETOEQ,
2678 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
2679 MVT::i32, 2, 0, 1,
2680 9,
2681 OPC_CheckChild2CondCode, ISD::SETUNE,
2682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
2683 MVT::i32, 2, 0, 1,
2684 9,
2685 OPC_CheckChild2CondCode, ISD::SETOLT,
2686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
2687 MVT::i32, 2, 0, 1,
2688 9,
2689 OPC_CheckChild2CondCode, ISD::SETOLE,
2690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
2691 MVT::i32, 2, 0, 1,
2692 9,
2693 OPC_CheckChild2CondCode, ISD::SETOGT,
2694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
2695 MVT::i32, 2, 0, 1,
2696 9,
2697 OPC_CheckChild2CondCode, ISD::SETOGE,
2698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
2699 MVT::i32, 2, 0, 1,
2700 9,
2701 OPC_CheckChild2CondCode, ISD::SETEQ,
2702 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
2703 MVT::i32, 2, 0, 1,
2704 9,
2705 OPC_CheckChild2CondCode, ISD::SETNE,
2706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
2707 MVT::i32, 2, 0, 1,
2708 9,
2709 OPC_CheckChild2CondCode, ISD::SETLT,
2710 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
2711 MVT::i32, 2, 0, 1,
2712 9,
2713 OPC_CheckChild2CondCode, ISD::SETLE,
2714 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
2715 MVT::i32, 2, 0, 1,
2716 9,
2717 OPC_CheckChild2CondCode, ISD::SETGT,
2718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
2719 MVT::i32, 2, 0, 1,
2720 9,
2721 OPC_CheckChild2CondCode, ISD::SETGE,
2722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
2723 MVT::i32, 2, 0, 1,
2724 0,
2725 125,
2726 OPC_CheckChild0Type, MVT::f64,
2727 OPC_RecordChild1,
2728 OPC_Scope, 9,
2729 OPC_CheckChild2CondCode, ISD::SETOEQ,
2730 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
2731 MVT::i32, 2, 0, 1,
2732 9,
2733 OPC_CheckChild2CondCode, ISD::SETUNE,
2734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
2735 MVT::i32, 2, 0, 1,
2736 9,
2737 OPC_CheckChild2CondCode, ISD::SETOLT,
2738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
2739 MVT::i32, 2, 0, 1,
2740 9,
2741 OPC_CheckChild2CondCode, ISD::SETOLE,
2742 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
2743 MVT::i32, 2, 0, 1,
2744 9,
2745 OPC_CheckChild2CondCode, ISD::SETOGT,
2746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
2747 MVT::i32, 2, 0, 1,
2748 9,
2749 OPC_CheckChild2CondCode, ISD::SETOGE,
2750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
2751 MVT::i32, 2, 0, 1,
2752 9,
2753 OPC_CheckChild2CondCode, ISD::SETEQ,
2754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
2755 MVT::i32, 2, 0, 1,
2756 9,
2757 OPC_CheckChild2CondCode, ISD::SETNE,
2758 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
2759 MVT::i32, 2, 0, 1,
2760 9,
2761 OPC_CheckChild2CondCode, ISD::SETLT,
2762 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
2763 MVT::i32, 2, 0, 1,
2764 9,
2765 OPC_CheckChild2CondCode, ISD::SETLE,
2766 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
2767 MVT::i32, 2, 0, 1,
2768 9,
2769 OPC_CheckChild2CondCode, ISD::SETGT,
2770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
2771 MVT::i32, 2, 0, 1,
2772 9,
2773 OPC_CheckChild2CondCode, ISD::SETGE,
2774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
2775 MVT::i32, 2, 0, 1,
2776 0,
2777 0,
2778 115, MVT::v16i8,
2779 OPC_CheckChild0Type, MVT::v16i8,
2780 OPC_RecordChild1,
2781 OPC_Scope, 10,
2782 OPC_CheckChild2CondCode, ISD::SETEQ,
2783 OPC_CheckPatternPredicate0,
2784 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I8x16),
2785 MVT::v16i8, 2, 0, 1,
2786 10,
2787 OPC_CheckChild2CondCode, ISD::SETNE,
2788 OPC_CheckPatternPredicate0,
2789 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I8x16),
2790 MVT::v16i8, 2, 0, 1,
2791 10,
2792 OPC_CheckChild2CondCode, ISD::SETLT,
2793 OPC_CheckPatternPredicate0,
2794 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I8x16),
2795 MVT::v16i8, 2, 0, 1,
2796 10,
2797 OPC_CheckChild2CondCode, ISD::SETULT,
2798 OPC_CheckPatternPredicate0,
2799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I8x16),
2800 MVT::v16i8, 2, 0, 1,
2801 10,
2802 OPC_CheckChild2CondCode, ISD::SETGT,
2803 OPC_CheckPatternPredicate0,
2804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I8x16),
2805 MVT::v16i8, 2, 0, 1,
2806 10,
2807 OPC_CheckChild2CondCode, ISD::SETUGT,
2808 OPC_CheckPatternPredicate0,
2809 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I8x16),
2810 MVT::v16i8, 2, 0, 1,
2811 10,
2812 OPC_CheckChild2CondCode, ISD::SETLE,
2813 OPC_CheckPatternPredicate0,
2814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I8x16),
2815 MVT::v16i8, 2, 0, 1,
2816 10,
2817 OPC_CheckChild2CondCode, ISD::SETULE,
2818 OPC_CheckPatternPredicate0,
2819 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I8x16),
2820 MVT::v16i8, 2, 0, 1,
2821 10,
2822 OPC_CheckChild2CondCode, ISD::SETGE,
2823 OPC_CheckPatternPredicate0,
2824 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I8x16),
2825 MVT::v16i8, 2, 0, 1,
2826 10,
2827 OPC_CheckChild2CondCode, ISD::SETUGE,
2828 OPC_CheckPatternPredicate0,
2829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I8x16),
2830 MVT::v16i8, 2, 0, 1,
2831 0,
2832 62|128,1, MVT::v8i16,
2833 OPC_Scope, 115,
2834 OPC_CheckChild0Type, MVT::v8i16,
2835 OPC_RecordChild1,
2836 OPC_Scope, 10,
2837 OPC_CheckChild2CondCode, ISD::SETEQ,
2838 OPC_CheckPatternPredicate0,
2839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I16x8),
2840 MVT::v8i16, 2, 0, 1,
2841 10,
2842 OPC_CheckChild2CondCode, ISD::SETNE,
2843 OPC_CheckPatternPredicate0,
2844 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I16x8),
2845 MVT::v8i16, 2, 0, 1,
2846 10,
2847 OPC_CheckChild2CondCode, ISD::SETLT,
2848 OPC_CheckPatternPredicate0,
2849 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I16x8),
2850 MVT::v8i16, 2, 0, 1,
2851 10,
2852 OPC_CheckChild2CondCode, ISD::SETULT,
2853 OPC_CheckPatternPredicate0,
2854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I16x8),
2855 MVT::v8i16, 2, 0, 1,
2856 10,
2857 OPC_CheckChild2CondCode, ISD::SETGT,
2858 OPC_CheckPatternPredicate0,
2859 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I16x8),
2860 MVT::v8i16, 2, 0, 1,
2861 10,
2862 OPC_CheckChild2CondCode, ISD::SETUGT,
2863 OPC_CheckPatternPredicate0,
2864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I16x8),
2865 MVT::v8i16, 2, 0, 1,
2866 10,
2867 OPC_CheckChild2CondCode, ISD::SETLE,
2868 OPC_CheckPatternPredicate0,
2869 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I16x8),
2870 MVT::v8i16, 2, 0, 1,
2871 10,
2872 OPC_CheckChild2CondCode, ISD::SETULE,
2873 OPC_CheckPatternPredicate0,
2874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I16x8),
2875 MVT::v8i16, 2, 0, 1,
2876 10,
2877 OPC_CheckChild2CondCode, ISD::SETGE,
2878 OPC_CheckPatternPredicate0,
2879 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I16x8),
2880 MVT::v8i16, 2, 0, 1,
2881 10,
2882 OPC_CheckChild2CondCode, ISD::SETUGE,
2883 OPC_CheckPatternPredicate0,
2884 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I16x8),
2885 MVT::v8i16, 2, 0, 1,
2886 0,
2887 71,
2888 OPC_CheckChild0Type, MVT::v8f16,
2889 OPC_RecordChild1,
2890 OPC_Scope, 10,
2891 OPC_CheckChild2CondCode, ISD::SETOEQ,
2892 OPC_CheckPatternPredicate6,
2893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F16x8),
2894 MVT::v8i16, 2, 0, 1,
2895 10,
2896 OPC_CheckChild2CondCode, ISD::SETUNE,
2897 OPC_CheckPatternPredicate6,
2898 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F16x8),
2899 MVT::v8i16, 2, 0, 1,
2900 10,
2901 OPC_CheckChild2CondCode, ISD::SETOLT,
2902 OPC_CheckPatternPredicate6,
2903 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F16x8),
2904 MVT::v8i16, 2, 0, 1,
2905 10,
2906 OPC_CheckChild2CondCode, ISD::SETOGT,
2907 OPC_CheckPatternPredicate6,
2908 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F16x8),
2909 MVT::v8i16, 2, 0, 1,
2910 10,
2911 OPC_CheckChild2CondCode, ISD::SETOLE,
2912 OPC_CheckPatternPredicate6,
2913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F16x8),
2914 MVT::v8i16, 2, 0, 1,
2915 10,
2916 OPC_CheckChild2CondCode, ISD::SETOGE,
2917 OPC_CheckPatternPredicate6,
2918 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F16x8),
2919 MVT::v8i16, 2, 0, 1,
2920 0,
2921 0,
2922 124|128,1, MVT::v4i32,
2923 OPC_Scope, 115,
2924 OPC_CheckChild0Type, MVT::v4i32,
2925 OPC_RecordChild1,
2926 OPC_Scope, 10,
2927 OPC_CheckChild2CondCode, ISD::SETEQ,
2928 OPC_CheckPatternPredicate0,
2929 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I32x4),
2930 MVT::v4i32, 2, 0, 1,
2931 10,
2932 OPC_CheckChild2CondCode, ISD::SETNE,
2933 OPC_CheckPatternPredicate0,
2934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32x4),
2935 MVT::v4i32, 2, 0, 1,
2936 10,
2937 OPC_CheckChild2CondCode, ISD::SETLT,
2938 OPC_CheckPatternPredicate0,
2939 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32x4),
2940 MVT::v4i32, 2, 0, 1,
2941 10,
2942 OPC_CheckChild2CondCode, ISD::SETULT,
2943 OPC_CheckPatternPredicate0,
2944 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32x4),
2945 MVT::v4i32, 2, 0, 1,
2946 10,
2947 OPC_CheckChild2CondCode, ISD::SETGT,
2948 OPC_CheckPatternPredicate0,
2949 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32x4),
2950 MVT::v4i32, 2, 0, 1,
2951 10,
2952 OPC_CheckChild2CondCode, ISD::SETUGT,
2953 OPC_CheckPatternPredicate0,
2954 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32x4),
2955 MVT::v4i32, 2, 0, 1,
2956 10,
2957 OPC_CheckChild2CondCode, ISD::SETLE,
2958 OPC_CheckPatternPredicate0,
2959 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32x4),
2960 MVT::v4i32, 2, 0, 1,
2961 10,
2962 OPC_CheckChild2CondCode, ISD::SETULE,
2963 OPC_CheckPatternPredicate0,
2964 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32x4),
2965 MVT::v4i32, 2, 0, 1,
2966 10,
2967 OPC_CheckChild2CondCode, ISD::SETGE,
2968 OPC_CheckPatternPredicate0,
2969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32x4),
2970 MVT::v4i32, 2, 0, 1,
2971 10,
2972 OPC_CheckChild2CondCode, ISD::SETUGE,
2973 OPC_CheckPatternPredicate0,
2974 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32x4),
2975 MVT::v4i32, 2, 0, 1,
2976 0,
2977 4|128,1,
2978 OPC_CheckChild0Type, 6|128,1,
2979 OPC_RecordChild1,
2980 OPC_Scope, 10,
2981 OPC_CheckChild2CondCode, ISD::SETOEQ,
2982 OPC_CheckPatternPredicate0,
2983 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
2984 MVT::v4i32, 2, 0, 1,
2985 10,
2986 OPC_CheckChild2CondCode, ISD::SETUNE,
2987 OPC_CheckPatternPredicate0,
2988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
2989 MVT::v4i32, 2, 0, 1,
2990 10,
2991 OPC_CheckChild2CondCode, ISD::SETOLT,
2992 OPC_CheckPatternPredicate0,
2993 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
2994 MVT::v4i32, 2, 0, 1,
2995 10,
2996 OPC_CheckChild2CondCode, ISD::SETOGT,
2997 OPC_CheckPatternPredicate0,
2998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
2999 MVT::v4i32, 2, 0, 1,
3000 10,
3001 OPC_CheckChild2CondCode, ISD::SETOLE,
3002 OPC_CheckPatternPredicate0,
3003 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
3004 MVT::v4i32, 2, 0, 1,
3005 10,
3006 OPC_CheckChild2CondCode, ISD::SETOGE,
3007 OPC_CheckPatternPredicate0,
3008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
3009 MVT::v4i32, 2, 0, 1,
3010 9,
3011 OPC_CheckChild2CondCode, ISD::SETEQ,
3012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
3013 MVT::v4i32, 2, 0, 1,
3014 9,
3015 OPC_CheckChild2CondCode, ISD::SETNE,
3016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
3017 MVT::v4i32, 2, 0, 1,
3018 9,
3019 OPC_CheckChild2CondCode, ISD::SETLT,
3020 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
3021 MVT::v4i32, 2, 0, 1,
3022 9,
3023 OPC_CheckChild2CondCode, ISD::SETGT,
3024 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
3025 MVT::v4i32, 2, 0, 1,
3026 9,
3027 OPC_CheckChild2CondCode, ISD::SETLE,
3028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
3029 MVT::v4i32, 2, 0, 1,
3030 9,
3031 OPC_CheckChild2CondCode, ISD::SETGE,
3032 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
3033 MVT::v4i32, 2, 0, 1,
3034 0,
3035 0,
3036 80|128,1, MVT::v2i64,
3037 OPC_Scope, 71,
3038 OPC_CheckChild0Type, MVT::v2i64,
3039 OPC_RecordChild1,
3040 OPC_Scope, 10,
3041 OPC_CheckChild2CondCode, ISD::SETEQ,
3042 OPC_CheckPatternPredicate0,
3043 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I64x2),
3044 MVT::v2i64, 2, 0, 1,
3045 10,
3046 OPC_CheckChild2CondCode, ISD::SETNE,
3047 OPC_CheckPatternPredicate0,
3048 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64x2),
3049 MVT::v2i64, 2, 0, 1,
3050 10,
3051 OPC_CheckChild2CondCode, ISD::SETLT,
3052 OPC_CheckPatternPredicate0,
3053 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64x2),
3054 MVT::v2i64, 2, 0, 1,
3055 10,
3056 OPC_CheckChild2CondCode, ISD::SETGT,
3057 OPC_CheckPatternPredicate0,
3058 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64x2),
3059 MVT::v2i64, 2, 0, 1,
3060 10,
3061 OPC_CheckChild2CondCode, ISD::SETLE,
3062 OPC_CheckPatternPredicate0,
3063 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64x2),
3064 MVT::v2i64, 2, 0, 1,
3065 10,
3066 OPC_CheckChild2CondCode, ISD::SETGE,
3067 OPC_CheckPatternPredicate0,
3068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64x2),
3069 MVT::v2i64, 2, 0, 1,
3070 0,
3071 4|128,1,
3072 OPC_CheckChild0Type, 24|128,1,
3073 OPC_RecordChild1,
3074 OPC_Scope, 10,
3075 OPC_CheckChild2CondCode, ISD::SETOEQ,
3076 OPC_CheckPatternPredicate0,
3077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64x2),
3078 MVT::v2i64, 2, 0, 1,
3079 10,
3080 OPC_CheckChild2CondCode, ISD::SETUNE,
3081 OPC_CheckPatternPredicate0,
3082 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
3083 MVT::v2i64, 2, 0, 1,
3084 10,
3085 OPC_CheckChild2CondCode, ISD::SETOLT,
3086 OPC_CheckPatternPredicate0,
3087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
3088 MVT::v2i64, 2, 0, 1,
3089 10,
3090 OPC_CheckChild2CondCode, ISD::SETOGT,
3091 OPC_CheckPatternPredicate0,
3092 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
3093 MVT::v2i64, 2, 0, 1,
3094 10,
3095 OPC_CheckChild2CondCode, ISD::SETOLE,
3096 OPC_CheckPatternPredicate0,
3097 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
3098 MVT::v2i64, 2, 0, 1,
3099 10,
3100 OPC_CheckChild2CondCode, ISD::SETOGE,
3101 OPC_CheckPatternPredicate0,
3102 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
3103 MVT::v2i64, 2, 0, 1,
3104 9,
3105 OPC_CheckChild2CondCode, ISD::SETEQ,
3106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64x2),
3107 MVT::v2i64, 2, 0, 1,
3108 9,
3109 OPC_CheckChild2CondCode, ISD::SETNE,
3110 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
3111 MVT::v2i64, 2, 0, 1,
3112 9,
3113 OPC_CheckChild2CondCode, ISD::SETLT,
3114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
3115 MVT::v2i64, 2, 0, 1,
3116 9,
3117 OPC_CheckChild2CondCode, ISD::SETGT,
3118 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
3119 MVT::v2i64, 2, 0, 1,
3120 9,
3121 OPC_CheckChild2CondCode, ISD::SETLE,
3122 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
3123 MVT::v2i64, 2, 0, 1,
3124 9,
3125 OPC_CheckChild2CondCode, ISD::SETGE,
3126 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
3127 MVT::v2i64, 2, 0, 1,
3128 0,
3129 0,
3130 0,
3131 0,
3132 83, TARGET_VAL(ISD::SHL),
3133 OPC_RecordChild0,
3134 OPC_Scope, 55,
3135 OPC_MoveChild1,
3136 OPC_Scope, 23,
3137 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
3138 OPC_MoveChild0,
3139 OPC_CheckAndImm, 63,
3140 OPC_RecordChild0,
3141 OPC_MoveParent,
3142 OPC_MoveParent,
3143 OPC_CheckTypeI64,
3144 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
3145 MVT::i64, 1, 1,
3146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
3147 MVT::i64, 2, 0, 2,
3148 13,
3149 OPC_CheckAndImm, 31,
3150 OPC_RecordChild0,
3151 OPC_CheckTypeI32,
3152 OPC_MoveParent,
3153 OPC_CheckTypeI32,
3154 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
3155 MVT::i32, 2, 0, 1,
3156 13,
3157 OPC_CheckAndImm, 63,
3158 OPC_RecordChild0,
3159 OPC_CheckTypeI64,
3160 OPC_MoveParent,
3161 OPC_CheckTypeI64,
3162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
3163 MVT::i64, 2, 0, 1,
3164 0,
3165 23,
3166 OPC_RecordChild1,
3167 OPC_SwitchType , 8, MVT::i32,
3168 OPC_CheckChild1TypeI32,
3169 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
3170 MVT::i32, 2, 0, 1,
3171 8, MVT::i64,
3172 OPC_CheckChild1TypeI64,
3173 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
3174 MVT::i64, 2, 0, 1,
3175 0,
3176 0,
3177 83, TARGET_VAL(ISD::SRA),
3178 OPC_RecordChild0,
3179 OPC_Scope, 55,
3180 OPC_MoveChild1,
3181 OPC_Scope, 23,
3182 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
3183 OPC_MoveChild0,
3184 OPC_CheckAndImm, 63,
3185 OPC_RecordChild0,
3186 OPC_MoveParent,
3187 OPC_MoveParent,
3188 OPC_CheckTypeI64,
3189 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
3190 MVT::i64, 1, 1,
3191 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
3192 MVT::i64, 2, 0, 2,
3193 13,
3194 OPC_CheckAndImm, 31,
3195 OPC_RecordChild0,
3196 OPC_CheckTypeI32,
3197 OPC_MoveParent,
3198 OPC_CheckTypeI32,
3199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
3200 MVT::i32, 2, 0, 1,
3201 13,
3202 OPC_CheckAndImm, 63,
3203 OPC_RecordChild0,
3204 OPC_CheckTypeI64,
3205 OPC_MoveParent,
3206 OPC_CheckTypeI64,
3207 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
3208 MVT::i64, 2, 0, 1,
3209 0,
3210 23,
3211 OPC_RecordChild1,
3212 OPC_SwitchType , 8, MVT::i32,
3213 OPC_CheckChild1TypeI32,
3214 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
3215 MVT::i32, 2, 0, 1,
3216 8, MVT::i64,
3217 OPC_CheckChild1TypeI64,
3218 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
3219 MVT::i64, 2, 0, 1,
3220 0,
3221 0,
3222 83, TARGET_VAL(ISD::SRL),
3223 OPC_RecordChild0,
3224 OPC_Scope, 55,
3225 OPC_MoveChild1,
3226 OPC_Scope, 23,
3227 OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
3228 OPC_MoveChild0,
3229 OPC_CheckAndImm, 63,
3230 OPC_RecordChild0,
3231 OPC_MoveParent,
3232 OPC_MoveParent,
3233 OPC_CheckTypeI64,
3234 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32),
3235 MVT::i64, 1, 1,
3236 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
3237 MVT::i64, 2, 0, 2,
3238 13,
3239 OPC_CheckAndImm, 31,
3240 OPC_RecordChild0,
3241 OPC_CheckTypeI32,
3242 OPC_MoveParent,
3243 OPC_CheckTypeI32,
3244 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
3245 MVT::i32, 2, 0, 1,
3246 13,
3247 OPC_CheckAndImm, 63,
3248 OPC_RecordChild0,
3249 OPC_CheckTypeI64,
3250 OPC_MoveParent,
3251 OPC_CheckTypeI64,
3252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
3253 MVT::i64, 2, 0, 1,
3254 0,
3255 23,
3256 OPC_RecordChild1,
3257 OPC_SwitchType , 8, MVT::i32,
3258 OPC_CheckChild1TypeI32,
3259 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
3260 MVT::i32, 2, 0, 1,
3261 8, MVT::i64,
3262 OPC_CheckChild1TypeI64,
3263 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
3264 MVT::i64, 2, 0, 1,
3265 0,
3266 0,
3267 63|128,11, TARGET_VAL(ISD::LOAD),
3268 OPC_RecordMemRef,
3269 OPC_RecordNode,
3270 OPC_RecordChild1,
3271 OPC_Scope, 91|128,5,
3272 OPC_CheckChild1TypeI32,
3273 OPC_CheckPredicate, 8,
3274 OPC_Scope, 37,
3275 OPC_CheckPredicate7,
3276 OPC_SwitchType , 15, MVT::i32,
3277 OPC_CheckPatternPredicate1,
3278 OPC_CheckComplexPat0, /*#*/1,
3279 OPC_EmitMergeInputChains1_0,
3280 OPC_EmitIntegerI32, 0,
3281 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3282 MVT::i32, 3, 4, 2, 3,
3283 15, MVT::i64,
3284 OPC_CheckPatternPredicate1,
3285 OPC_CheckComplexPat0, /*#*/1,
3286 OPC_EmitMergeInputChains1_0,
3287 OPC_EmitIntegerI32, 0,
3288 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3289 MVT::i64, 3, 4, 2, 3,
3290 0,
3291 97,
3292 OPC_CheckPredicate, 18,
3293 OPC_SwitchType , 36, MVT::i32,
3294 OPC_Scope, 16,
3295 OPC_CheckPredicate1,
3296 OPC_CheckPatternPredicate1,
3297 OPC_CheckComplexPat0, /*#*/1,
3298 OPC_EmitMergeInputChains1_0,
3299 OPC_EmitIntegerI32, 0,
3300 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3301 MVT::i32, 3, 4, 2, 3,
3302 16,
3303 OPC_CheckPredicate2,
3304 OPC_CheckPatternPredicate1,
3305 OPC_CheckComplexPat0, /*#*/1,
3306 OPC_EmitMergeInputChains1_0,
3307 OPC_EmitIntegerI32, 0,
3308 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3309 MVT::i32, 3, 4, 2, 3,
3310 0,
3311 53, MVT::i64,
3312 OPC_Scope, 16,
3313 OPC_CheckPredicate1,
3314 OPC_CheckPatternPredicate1,
3315 OPC_CheckComplexPat0, /*#*/1,
3316 OPC_EmitMergeInputChains1_0,
3317 OPC_EmitIntegerI32, 0,
3318 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3319 MVT::i64, 3, 4, 2, 3,
3320 16,
3321 OPC_CheckPredicate2,
3322 OPC_CheckPatternPredicate1,
3323 OPC_CheckComplexPat0, /*#*/1,
3324 OPC_EmitMergeInputChains1_0,
3325 OPC_EmitIntegerI32, 0,
3326 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3327 MVT::i64, 3, 4, 2, 3,
3328 16,
3329 OPC_CheckPredicate3,
3330 OPC_CheckPatternPredicate1,
3331 OPC_CheckComplexPat0, /*#*/1,
3332 OPC_EmitMergeInputChains1_0,
3333 OPC_EmitIntegerI32, 0,
3334 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3335 MVT::i64, 3, 4, 2, 3,
3336 0,
3337 0,
3338 97,
3339 OPC_CheckPredicate, 19,
3340 OPC_SwitchType , 36, MVT::i32,
3341 OPC_Scope, 16,
3342 OPC_CheckPredicate1,
3343 OPC_CheckPatternPredicate1,
3344 OPC_CheckComplexPat0, /*#*/1,
3345 OPC_EmitMergeInputChains1_0,
3346 OPC_EmitIntegerI32, 0,
3347 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3348 MVT::i32, 3, 4, 2, 3,
3349 16,
3350 OPC_CheckPredicate2,
3351 OPC_CheckPatternPredicate1,
3352 OPC_CheckComplexPat0, /*#*/1,
3353 OPC_EmitMergeInputChains1_0,
3354 OPC_EmitIntegerI32, 0,
3355 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3356 MVT::i32, 3, 4, 2, 3,
3357 0,
3358 53, MVT::i64,
3359 OPC_Scope, 16,
3360 OPC_CheckPredicate1,
3361 OPC_CheckPatternPredicate1,
3362 OPC_CheckComplexPat0, /*#*/1,
3363 OPC_EmitMergeInputChains1_0,
3364 OPC_EmitIntegerI32, 0,
3365 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3366 MVT::i64, 3, 4, 2, 3,
3367 16,
3368 OPC_CheckPredicate2,
3369 OPC_CheckPatternPredicate1,
3370 OPC_CheckComplexPat0, /*#*/1,
3371 OPC_EmitMergeInputChains1_0,
3372 OPC_EmitIntegerI32, 0,
3373 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3374 MVT::i64, 3, 4, 2, 3,
3375 16,
3376 OPC_CheckPredicate3,
3377 OPC_CheckPatternPredicate1,
3378 OPC_CheckComplexPat0, /*#*/1,
3379 OPC_EmitMergeInputChains1_0,
3380 OPC_EmitIntegerI32, 0,
3381 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3382 MVT::i64, 3, 4, 2, 3,
3383 0,
3384 0,
3385 97,
3386 OPC_CheckPredicate, 11,
3387 OPC_SwitchType , 36, MVT::i32,
3388 OPC_Scope, 16,
3389 OPC_CheckPredicate1,
3390 OPC_CheckPatternPredicate1,
3391 OPC_CheckComplexPat0, /*#*/1,
3392 OPC_EmitMergeInputChains1_0,
3393 OPC_EmitIntegerI32, 0,
3394 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3395 MVT::i32, 3, 4, 2, 3,
3396 16,
3397 OPC_CheckPredicate2,
3398 OPC_CheckPatternPredicate1,
3399 OPC_CheckComplexPat0, /*#*/1,
3400 OPC_EmitMergeInputChains1_0,
3401 OPC_EmitIntegerI32, 0,
3402 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3403 MVT::i32, 3, 4, 2, 3,
3404 0,
3405 53, MVT::i64,
3406 OPC_Scope, 16,
3407 OPC_CheckPredicate1,
3408 OPC_CheckPatternPredicate1,
3409 OPC_CheckComplexPat0, /*#*/1,
3410 OPC_EmitMergeInputChains1_0,
3411 OPC_EmitIntegerI32, 0,
3412 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3413 MVT::i64, 3, 4, 2, 3,
3414 16,
3415 OPC_CheckPredicate2,
3416 OPC_CheckPatternPredicate1,
3417 OPC_CheckComplexPat0, /*#*/1,
3418 OPC_EmitMergeInputChains1_0,
3419 OPC_EmitIntegerI32, 0,
3420 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3421 MVT::i64, 3, 4, 2, 3,
3422 16,
3423 OPC_CheckPredicate3,
3424 OPC_CheckPatternPredicate1,
3425 OPC_CheckComplexPat0, /*#*/1,
3426 OPC_EmitMergeInputChains1_0,
3427 OPC_EmitIntegerI32, 0,
3428 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3429 MVT::i64, 3, 4, 2, 3,
3430 0,
3431 0,
3432 105,
3433 OPC_CheckPredicate7,
3434 OPC_SwitchType , 15, MVT::f32,
3435 OPC_CheckPatternPredicate1,
3436 OPC_CheckComplexPat0, /*#*/1,
3437 OPC_EmitMergeInputChains1_0,
3438 OPC_EmitIntegerI32, 0,
3439 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3440 MVT::f32, 3, 4, 2, 3,
3441 15, MVT::f64,
3442 OPC_CheckPatternPredicate1,
3443 OPC_CheckComplexPat0, /*#*/1,
3444 OPC_EmitMergeInputChains1_0,
3445 OPC_EmitIntegerI32, 0,
3446 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3447 MVT::f64, 3, 4, 2, 3,
3448 15, MVT::v16i8,
3449 OPC_CheckPatternPredicate1,
3450 OPC_CheckComplexPat0, /*#*/1,
3451 OPC_EmitMergeInputChains1_0,
3452 OPC_EmitIntegerI32, 0,
3453 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3454 MVT::v16i8, 3, 4, 2, 3,
3455 15, MVT::v8i16,
3456 OPC_CheckPatternPredicate1,
3457 OPC_CheckComplexPat0, /*#*/1,
3458 OPC_EmitMergeInputChains1_0,
3459 OPC_EmitIntegerI32, 0,
3460 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3461 MVT::v8i16, 3, 4, 2, 3,
3462 15, MVT::v4i32,
3463 OPC_CheckPatternPredicate1,
3464 OPC_CheckComplexPat0, /*#*/1,
3465 OPC_EmitMergeInputChains1_0,
3466 OPC_EmitIntegerI32, 0,
3467 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3468 MVT::v4i32, 3, 4, 2, 3,
3469 15, MVT::v2i64,
3470 OPC_CheckPatternPredicate1,
3471 OPC_CheckComplexPat0, /*#*/1,
3472 OPC_EmitMergeInputChains1_0,
3473 OPC_EmitIntegerI32, 0,
3474 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3475 MVT::v2i64, 3, 4, 2, 3,
3476 0,
3477 21,
3478 OPC_CheckPredicate, 18,
3479 OPC_CheckPredicate, 22,
3480 OPC_CheckType, MVT::v8i16,
3481 OPC_CheckPatternPredicate1,
3482 OPC_CheckComplexPat0, /*#*/1,
3483 OPC_EmitMergeInputChains1_0,
3484 OPC_EmitIntegerI32, 0,
3485 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3486 MVT::v8i16, 3, 4, 2, 3,
3487 21,
3488 OPC_CheckPredicate, 19,
3489 OPC_CheckPredicate, 22,
3490 OPC_CheckType, MVT::v8i16,
3491 OPC_CheckPatternPredicate1,
3492 OPC_CheckComplexPat0, /*#*/1,
3493 OPC_EmitMergeInputChains1_0,
3494 OPC_EmitIntegerI32, 0,
3495 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3496 MVT::v8i16, 3, 4, 2, 3,
3497 21,
3498 OPC_CheckPredicate, 11,
3499 OPC_CheckPredicate, 22,
3500 OPC_CheckType, MVT::v8i16,
3501 OPC_CheckPatternPredicate1,
3502 OPC_CheckComplexPat0, /*#*/1,
3503 OPC_EmitMergeInputChains1_0,
3504 OPC_EmitIntegerI32, 0,
3505 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3506 MVT::v8i16, 3, 4, 2, 3,
3507 21,
3508 OPC_CheckPredicate, 18,
3509 OPC_CheckPredicate, 23,
3510 OPC_CheckType, MVT::v4i32,
3511 OPC_CheckPatternPredicate1,
3512 OPC_CheckComplexPat0, /*#*/1,
3513 OPC_EmitMergeInputChains1_0,
3514 OPC_EmitIntegerI32, 0,
3515 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3516 MVT::v4i32, 3, 4, 2, 3,
3517 21,
3518 OPC_CheckPredicate, 19,
3519 OPC_CheckPredicate, 23,
3520 OPC_CheckType, MVT::v4i32,
3521 OPC_CheckPatternPredicate1,
3522 OPC_CheckComplexPat0, /*#*/1,
3523 OPC_EmitMergeInputChains1_0,
3524 OPC_EmitIntegerI32, 0,
3525 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3526 MVT::v4i32, 3, 4, 2, 3,
3527 21,
3528 OPC_CheckPredicate, 11,
3529 OPC_CheckPredicate, 23,
3530 OPC_CheckType, MVT::v4i32,
3531 OPC_CheckPatternPredicate1,
3532 OPC_CheckComplexPat0, /*#*/1,
3533 OPC_EmitMergeInputChains1_0,
3534 OPC_EmitIntegerI32, 0,
3535 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3536 MVT::v4i32, 3, 4, 2, 3,
3537 21,
3538 OPC_CheckPredicate, 18,
3539 OPC_CheckPredicate, 24,
3540 OPC_CheckType, MVT::v2i64,
3541 OPC_CheckPatternPredicate1,
3542 OPC_CheckComplexPat0, /*#*/1,
3543 OPC_EmitMergeInputChains1_0,
3544 OPC_EmitIntegerI32, 0,
3545 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3546 MVT::v2i64, 3, 4, 2, 3,
3547 21,
3548 OPC_CheckPredicate, 19,
3549 OPC_CheckPredicate, 24,
3550 OPC_CheckType, MVT::v2i64,
3551 OPC_CheckPatternPredicate1,
3552 OPC_CheckComplexPat0, /*#*/1,
3553 OPC_EmitMergeInputChains1_0,
3554 OPC_EmitIntegerI32, 0,
3555 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3556 MVT::v2i64, 3, 4, 2, 3,
3557 21,
3558 OPC_CheckPredicate, 11,
3559 OPC_CheckPredicate, 24,
3560 OPC_CheckType, MVT::v2i64,
3561 OPC_CheckPatternPredicate1,
3562 OPC_CheckComplexPat0, /*#*/1,
3563 OPC_EmitMergeInputChains1_0,
3564 OPC_EmitIntegerI32, 0,
3565 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3566 MVT::v2i64, 3, 4, 2, 3,
3567 58,
3568 OPC_CheckPredicate7,
3569 OPC_SwitchType , 16, 6|128,1,
3570 OPC_CheckPatternPredicate1,
3571 OPC_CheckComplexPat0, /*#*/1,
3572 OPC_EmitMergeInputChains1_0,
3573 OPC_EmitIntegerI32, 0,
3574 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3575 6|128,1, 3, 4, 2, 3,
3576 16, 24|128,1,
3577 OPC_CheckPatternPredicate1,
3578 OPC_CheckComplexPat0, /*#*/1,
3579 OPC_EmitMergeInputChains1_0,
3580 OPC_EmitIntegerI32, 0,
3581 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3582 24|128,1, 3, 4, 2, 3,
3583 15, MVT::v8f16,
3584 OPC_CheckPatternPredicate1,
3585 OPC_CheckComplexPat0, /*#*/1,
3586 OPC_EmitMergeInputChains1_0,
3587 OPC_EmitIntegerI32, 0,
3588 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3589 MVT::v8f16, 3, 4, 2, 3,
3590 0,
3591 30,
3592 OPC_CheckPredicate, 11,
3593 OPC_CheckType, 24|128,1,
3594 OPC_CheckPatternPredicate1,
3595 OPC_EmitMergeInputChains1_0,
3596 OPC_EmitIntegerI32, 0,
3597 OPC_EmitIntegerI32, 0,
3598 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3599 MVT::v16i8, 3, 2, 3, 1,
3600 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
3601 24|128,1, 1, 4,
3602 OPC_CompleteMatch, 1, 5,
3603
3604 0,
3605 91|128,5,
3606 OPC_CheckChild1TypeI64,
3607 OPC_CheckPredicate, 8,
3608 OPC_Scope, 37,
3609 OPC_CheckPredicate7,
3610 OPC_SwitchType , 15, MVT::i32,
3611 OPC_CheckPatternPredicate2,
3612 OPC_CheckComplexPat1, /*#*/1,
3613 OPC_EmitMergeInputChains1_0,
3614 OPC_EmitIntegerI32, 0,
3615 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3616 MVT::i32, 3, 4, 2, 3,
3617 15, MVT::i64,
3618 OPC_CheckPatternPredicate2,
3619 OPC_CheckComplexPat1, /*#*/1,
3620 OPC_EmitMergeInputChains1_0,
3621 OPC_EmitIntegerI32, 0,
3622 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3623 MVT::i64, 3, 4, 2, 3,
3624 0,
3625 97,
3626 OPC_CheckPredicate, 18,
3627 OPC_SwitchType , 36, MVT::i32,
3628 OPC_Scope, 16,
3629 OPC_CheckPredicate1,
3630 OPC_CheckPatternPredicate2,
3631 OPC_CheckComplexPat1, /*#*/1,
3632 OPC_EmitMergeInputChains1_0,
3633 OPC_EmitIntegerI32, 0,
3634 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3635 MVT::i32, 3, 4, 2, 3,
3636 16,
3637 OPC_CheckPredicate2,
3638 OPC_CheckPatternPredicate2,
3639 OPC_CheckComplexPat1, /*#*/1,
3640 OPC_EmitMergeInputChains1_0,
3641 OPC_EmitIntegerI32, 0,
3642 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3643 MVT::i32, 3, 4, 2, 3,
3644 0,
3645 53, MVT::i64,
3646 OPC_Scope, 16,
3647 OPC_CheckPredicate1,
3648 OPC_CheckPatternPredicate2,
3649 OPC_CheckComplexPat1, /*#*/1,
3650 OPC_EmitMergeInputChains1_0,
3651 OPC_EmitIntegerI32, 0,
3652 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3653 MVT::i64, 3, 4, 2, 3,
3654 16,
3655 OPC_CheckPredicate2,
3656 OPC_CheckPatternPredicate2,
3657 OPC_CheckComplexPat1, /*#*/1,
3658 OPC_EmitMergeInputChains1_0,
3659 OPC_EmitIntegerI32, 0,
3660 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3661 MVT::i64, 3, 4, 2, 3,
3662 16,
3663 OPC_CheckPredicate3,
3664 OPC_CheckPatternPredicate2,
3665 OPC_CheckComplexPat1, /*#*/1,
3666 OPC_EmitMergeInputChains1_0,
3667 OPC_EmitIntegerI32, 0,
3668 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3669 MVT::i64, 3, 4, 2, 3,
3670 0,
3671 0,
3672 97,
3673 OPC_CheckPredicate, 19,
3674 OPC_SwitchType , 36, MVT::i32,
3675 OPC_Scope, 16,
3676 OPC_CheckPredicate1,
3677 OPC_CheckPatternPredicate2,
3678 OPC_CheckComplexPat1, /*#*/1,
3679 OPC_EmitMergeInputChains1_0,
3680 OPC_EmitIntegerI32, 0,
3681 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3682 MVT::i32, 3, 4, 2, 3,
3683 16,
3684 OPC_CheckPredicate2,
3685 OPC_CheckPatternPredicate2,
3686 OPC_CheckComplexPat1, /*#*/1,
3687 OPC_EmitMergeInputChains1_0,
3688 OPC_EmitIntegerI32, 0,
3689 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3690 MVT::i32, 3, 4, 2, 3,
3691 0,
3692 53, MVT::i64,
3693 OPC_Scope, 16,
3694 OPC_CheckPredicate1,
3695 OPC_CheckPatternPredicate2,
3696 OPC_CheckComplexPat1, /*#*/1,
3697 OPC_EmitMergeInputChains1_0,
3698 OPC_EmitIntegerI32, 0,
3699 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3700 MVT::i64, 3, 4, 2, 3,
3701 16,
3702 OPC_CheckPredicate2,
3703 OPC_CheckPatternPredicate2,
3704 OPC_CheckComplexPat1, /*#*/1,
3705 OPC_EmitMergeInputChains1_0,
3706 OPC_EmitIntegerI32, 0,
3707 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3708 MVT::i64, 3, 4, 2, 3,
3709 16,
3710 OPC_CheckPredicate3,
3711 OPC_CheckPatternPredicate2,
3712 OPC_CheckComplexPat1, /*#*/1,
3713 OPC_EmitMergeInputChains1_0,
3714 OPC_EmitIntegerI32, 0,
3715 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3716 MVT::i64, 3, 4, 2, 3,
3717 0,
3718 0,
3719 97,
3720 OPC_CheckPredicate, 11,
3721 OPC_SwitchType , 36, MVT::i32,
3722 OPC_Scope, 16,
3723 OPC_CheckPredicate1,
3724 OPC_CheckPatternPredicate2,
3725 OPC_CheckComplexPat1, /*#*/1,
3726 OPC_EmitMergeInputChains1_0,
3727 OPC_EmitIntegerI32, 0,
3728 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3729 MVT::i32, 3, 4, 2, 3,
3730 16,
3731 OPC_CheckPredicate2,
3732 OPC_CheckPatternPredicate2,
3733 OPC_CheckComplexPat1, /*#*/1,
3734 OPC_EmitMergeInputChains1_0,
3735 OPC_EmitIntegerI32, 0,
3736 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3737 MVT::i32, 3, 4, 2, 3,
3738 0,
3739 53, MVT::i64,
3740 OPC_Scope, 16,
3741 OPC_CheckPredicate1,
3742 OPC_CheckPatternPredicate2,
3743 OPC_CheckComplexPat1, /*#*/1,
3744 OPC_EmitMergeInputChains1_0,
3745 OPC_EmitIntegerI32, 0,
3746 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3747 MVT::i64, 3, 4, 2, 3,
3748 16,
3749 OPC_CheckPredicate2,
3750 OPC_CheckPatternPredicate2,
3751 OPC_CheckComplexPat1, /*#*/1,
3752 OPC_EmitMergeInputChains1_0,
3753 OPC_EmitIntegerI32, 0,
3754 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3755 MVT::i64, 3, 4, 2, 3,
3756 16,
3757 OPC_CheckPredicate3,
3758 OPC_CheckPatternPredicate2,
3759 OPC_CheckComplexPat1, /*#*/1,
3760 OPC_EmitMergeInputChains1_0,
3761 OPC_EmitIntegerI32, 0,
3762 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3763 MVT::i64, 3, 4, 2, 3,
3764 0,
3765 0,
3766 105,
3767 OPC_CheckPredicate7,
3768 OPC_SwitchType , 15, MVT::f32,
3769 OPC_CheckPatternPredicate2,
3770 OPC_CheckComplexPat1, /*#*/1,
3771 OPC_EmitMergeInputChains1_0,
3772 OPC_EmitIntegerI32, 0,
3773 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3774 MVT::f32, 3, 4, 2, 3,
3775 15, MVT::f64,
3776 OPC_CheckPatternPredicate2,
3777 OPC_CheckComplexPat1, /*#*/1,
3778 OPC_EmitMergeInputChains1_0,
3779 OPC_EmitIntegerI32, 0,
3780 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3781 MVT::f64, 3, 4, 2, 3,
3782 15, MVT::v16i8,
3783 OPC_CheckPatternPredicate2,
3784 OPC_CheckComplexPat1, /*#*/1,
3785 OPC_EmitMergeInputChains1_0,
3786 OPC_EmitIntegerI32, 0,
3787 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3788 MVT::v16i8, 3, 4, 2, 3,
3789 15, MVT::v8i16,
3790 OPC_CheckPatternPredicate2,
3791 OPC_CheckComplexPat1, /*#*/1,
3792 OPC_EmitMergeInputChains1_0,
3793 OPC_EmitIntegerI32, 0,
3794 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3795 MVT::v8i16, 3, 4, 2, 3,
3796 15, MVT::v4i32,
3797 OPC_CheckPatternPredicate2,
3798 OPC_CheckComplexPat1, /*#*/1,
3799 OPC_EmitMergeInputChains1_0,
3800 OPC_EmitIntegerI32, 0,
3801 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3802 MVT::v4i32, 3, 4, 2, 3,
3803 15, MVT::v2i64,
3804 OPC_CheckPatternPredicate2,
3805 OPC_CheckComplexPat1, /*#*/1,
3806 OPC_EmitMergeInputChains1_0,
3807 OPC_EmitIntegerI32, 0,
3808 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3809 MVT::v2i64, 3, 4, 2, 3,
3810 0,
3811 21,
3812 OPC_CheckPredicate, 18,
3813 OPC_CheckPredicate, 22,
3814 OPC_CheckType, MVT::v8i16,
3815 OPC_CheckPatternPredicate2,
3816 OPC_CheckComplexPat1, /*#*/1,
3817 OPC_EmitMergeInputChains1_0,
3818 OPC_EmitIntegerI32, 0,
3819 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3820 MVT::v8i16, 3, 4, 2, 3,
3821 21,
3822 OPC_CheckPredicate, 19,
3823 OPC_CheckPredicate, 22,
3824 OPC_CheckType, MVT::v8i16,
3825 OPC_CheckPatternPredicate2,
3826 OPC_CheckComplexPat1, /*#*/1,
3827 OPC_EmitMergeInputChains1_0,
3828 OPC_EmitIntegerI32, 0,
3829 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3830 MVT::v8i16, 3, 4, 2, 3,
3831 21,
3832 OPC_CheckPredicate, 11,
3833 OPC_CheckPredicate, 22,
3834 OPC_CheckType, MVT::v8i16,
3835 OPC_CheckPatternPredicate2,
3836 OPC_CheckComplexPat1, /*#*/1,
3837 OPC_EmitMergeInputChains1_0,
3838 OPC_EmitIntegerI32, 0,
3839 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3840 MVT::v8i16, 3, 4, 2, 3,
3841 21,
3842 OPC_CheckPredicate, 18,
3843 OPC_CheckPredicate, 23,
3844 OPC_CheckType, MVT::v4i32,
3845 OPC_CheckPatternPredicate2,
3846 OPC_CheckComplexPat1, /*#*/1,
3847 OPC_EmitMergeInputChains1_0,
3848 OPC_EmitIntegerI32, 0,
3849 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3850 MVT::v4i32, 3, 4, 2, 3,
3851 21,
3852 OPC_CheckPredicate, 19,
3853 OPC_CheckPredicate, 23,
3854 OPC_CheckType, MVT::v4i32,
3855 OPC_CheckPatternPredicate2,
3856 OPC_CheckComplexPat1, /*#*/1,
3857 OPC_EmitMergeInputChains1_0,
3858 OPC_EmitIntegerI32, 0,
3859 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3860 MVT::v4i32, 3, 4, 2, 3,
3861 21,
3862 OPC_CheckPredicate, 11,
3863 OPC_CheckPredicate, 23,
3864 OPC_CheckType, MVT::v4i32,
3865 OPC_CheckPatternPredicate2,
3866 OPC_CheckComplexPat1, /*#*/1,
3867 OPC_EmitMergeInputChains1_0,
3868 OPC_EmitIntegerI32, 0,
3869 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3870 MVT::v4i32, 3, 4, 2, 3,
3871 21,
3872 OPC_CheckPredicate, 18,
3873 OPC_CheckPredicate, 24,
3874 OPC_CheckType, MVT::v2i64,
3875 OPC_CheckPatternPredicate2,
3876 OPC_CheckComplexPat1, /*#*/1,
3877 OPC_EmitMergeInputChains1_0,
3878 OPC_EmitIntegerI32, 0,
3879 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3880 MVT::v2i64, 3, 4, 2, 3,
3881 21,
3882 OPC_CheckPredicate, 19,
3883 OPC_CheckPredicate, 24,
3884 OPC_CheckType, MVT::v2i64,
3885 OPC_CheckPatternPredicate2,
3886 OPC_CheckComplexPat1, /*#*/1,
3887 OPC_EmitMergeInputChains1_0,
3888 OPC_EmitIntegerI32, 0,
3889 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3890 MVT::v2i64, 3, 4, 2, 3,
3891 21,
3892 OPC_CheckPredicate, 11,
3893 OPC_CheckPredicate, 24,
3894 OPC_CheckType, MVT::v2i64,
3895 OPC_CheckPatternPredicate2,
3896 OPC_CheckComplexPat1, /*#*/1,
3897 OPC_EmitMergeInputChains1_0,
3898 OPC_EmitIntegerI32, 0,
3899 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3900 MVT::v2i64, 3, 4, 2, 3,
3901 58,
3902 OPC_CheckPredicate7,
3903 OPC_SwitchType , 16, 6|128,1,
3904 OPC_CheckPatternPredicate2,
3905 OPC_CheckComplexPat1, /*#*/1,
3906 OPC_EmitMergeInputChains1_0,
3907 OPC_EmitIntegerI32, 0,
3908 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3909 6|128,1, 3, 4, 2, 3,
3910 16, 24|128,1,
3911 OPC_CheckPatternPredicate2,
3912 OPC_CheckComplexPat1, /*#*/1,
3913 OPC_EmitMergeInputChains1_0,
3914 OPC_EmitIntegerI32, 0,
3915 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3916 24|128,1, 3, 4, 2, 3,
3917 15, MVT::v8f16,
3918 OPC_CheckPatternPredicate2,
3919 OPC_CheckComplexPat1, /*#*/1,
3920 OPC_EmitMergeInputChains1_0,
3921 OPC_EmitIntegerI32, 0,
3922 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3923 MVT::v8f16, 3, 4, 2, 3,
3924 0,
3925 30,
3926 OPC_CheckPredicate, 11,
3927 OPC_CheckType, 24|128,1,
3928 OPC_CheckPatternPredicate2,
3929 OPC_EmitMergeInputChains1_0,
3930 OPC_EmitIntegerI32, 0,
3931 OPC_EmitIntegerI64, 0,
3932 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3933 MVT::v16i8, 3, 2, 3, 1,
3934 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
3935 24|128,1, 1, 4,
3936 OPC_CompleteMatch, 1, 5,
3937
3938 0,
3939 0,
3940 49|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
3941 OPC_RecordMemRef,
3942 OPC_RecordNode,
3943 OPC_RecordChild1,
3944 OPC_Scope, 85,
3945 OPC_CheckChild1TypeI32,
3946 OPC_Scope, 41,
3947 OPC_CheckPredicate, 26,
3948 OPC_SwitchType , 16, MVT::i32,
3949 OPC_CheckPredicate3,
3950 OPC_CheckPatternPredicate1,
3951 OPC_CheckComplexPat0, /*#*/1,
3952 OPC_EmitMergeInputChains1_0,
3953 OPC_EmitIntegerI32, 0,
3954 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3955 MVT::i32, 3, 4, 2, 3,
3956 17, MVT::i64,
3957 OPC_CheckPredicate, 9,
3958 OPC_CheckPatternPredicate1,
3959 OPC_CheckComplexPat0, /*#*/1,
3960 OPC_EmitMergeInputChains1_0,
3961 OPC_EmitIntegerI32, 0,
3962 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3963 MVT::i64, 3, 4, 2, 3,
3964 0,
3965 39,
3966 OPC_CheckPredicate, 14,
3967 OPC_CheckTypeI32,
3968 OPC_Scope, 16,
3969 OPC_CheckPredicate1,
3970 OPC_CheckPatternPredicate1,
3971 OPC_CheckComplexPat0, /*#*/1,
3972 OPC_EmitMergeInputChains1_0,
3973 OPC_EmitIntegerI32, 0,
3974 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3975 MVT::i32, 3, 4, 2, 3,
3976 16,
3977 OPC_CheckPredicate2,
3978 OPC_CheckPatternPredicate1,
3979 OPC_CheckComplexPat0, /*#*/1,
3980 OPC_EmitMergeInputChains1_0,
3981 OPC_EmitIntegerI32, 0,
3982 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3983 MVT::i32, 3, 4, 2, 3,
3984 0,
3985 0,
3986 85,
3987 OPC_CheckChild1TypeI64,
3988 OPC_Scope, 41,
3989 OPC_CheckPredicate, 26,
3990 OPC_SwitchType , 16, MVT::i32,
3991 OPC_CheckPredicate3,
3992 OPC_CheckPatternPredicate2,
3993 OPC_CheckComplexPat1, /*#*/1,
3994 OPC_EmitMergeInputChains1_0,
3995 OPC_EmitIntegerI32, 0,
3996 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3997 MVT::i32, 3, 4, 2, 3,
3998 17, MVT::i64,
3999 OPC_CheckPredicate, 9,
4000 OPC_CheckPatternPredicate2,
4001 OPC_CheckComplexPat1, /*#*/1,
4002 OPC_EmitMergeInputChains1_0,
4003 OPC_EmitIntegerI32, 0,
4004 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4005 MVT::i64, 3, 4, 2, 3,
4006 0,
4007 39,
4008 OPC_CheckPredicate, 14,
4009 OPC_CheckTypeI32,
4010 OPC_Scope, 16,
4011 OPC_CheckPredicate1,
4012 OPC_CheckPatternPredicate2,
4013 OPC_CheckComplexPat1, /*#*/1,
4014 OPC_EmitMergeInputChains1_0,
4015 OPC_EmitIntegerI32, 0,
4016 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4017 MVT::i32, 3, 4, 2, 3,
4018 16,
4019 OPC_CheckPredicate2,
4020 OPC_CheckPatternPredicate2,
4021 OPC_CheckComplexPat1, /*#*/1,
4022 OPC_EmitMergeInputChains1_0,
4023 OPC_EmitIntegerI32, 0,
4024 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4025 MVT::i32, 3, 4, 2, 3,
4026 0,
4027 0,
4028 0,
4029 115|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4030 OPC_RecordMemRef,
4031 OPC_RecordNode,
4032 OPC_RecordChild1,
4033 OPC_Scope, 118,
4034 OPC_CheckChild1TypeI32,
4035 OPC_RecordChild2,
4036 OPC_SwitchType , 92, MVT::i32,
4037 OPC_Scope, 17,
4038 OPC_CheckPredicate3,
4039 OPC_CheckPatternPredicate3,
4040 OPC_CheckComplexPat0, /*#*/1,
4041 OPC_EmitMergeInputChains1_0,
4042 OPC_EmitIntegerI32, 0,
4043 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4044 MVT::i32, 4, 5, 3, 4, 2,
4045 17,
4046 OPC_CheckPredicate1,
4047 OPC_CheckPatternPredicate3,
4048 OPC_CheckComplexPat0, /*#*/1,
4049 OPC_EmitMergeInputChains1_0,
4050 OPC_EmitIntegerI32, 0,
4051 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4052 MVT::i32, 4, 5, 3, 4, 2,
4053 17,
4054 OPC_CheckPredicate2,
4055 OPC_CheckPatternPredicate3,
4056 OPC_CheckComplexPat0, /*#*/1,
4057 OPC_EmitMergeInputChains1_0,
4058 OPC_EmitIntegerI32, 0,
4059 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4060 MVT::i32, 4, 5, 3, 4, 2,
4061 17,
4062 OPC_CheckPredicate1,
4063 OPC_CheckPatternPredicate3,
4064 OPC_CheckComplexPat0, /*#*/1,
4065 OPC_EmitMergeInputChains1_0,
4066 OPC_EmitIntegerI32, 0,
4067 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4068 MVT::i32, 4, 5, 3, 4, 2,
4069 17,
4070 OPC_CheckPredicate2,
4071 OPC_CheckPatternPredicate3,
4072 OPC_CheckComplexPat0, /*#*/1,
4073 OPC_EmitMergeInputChains1_0,
4074 OPC_EmitIntegerI32, 0,
4075 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4076 MVT::i32, 4, 5, 3, 4, 2,
4077 0,
4078 18, MVT::i64,
4079 OPC_CheckPredicate, 9,
4080 OPC_CheckPatternPredicate3,
4081 OPC_CheckComplexPat0, /*#*/1,
4082 OPC_EmitMergeInputChains1_0,
4083 OPC_EmitIntegerI32, 0,
4084 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4085 MVT::i64, 4, 5, 3, 4, 2,
4086 0,
4087 118,
4088 OPC_CheckChild1TypeI64,
4089 OPC_RecordChild2,
4090 OPC_SwitchType , 92, MVT::i32,
4091 OPC_Scope, 17,
4092 OPC_CheckPredicate3,
4093 OPC_CheckPatternPredicate4,
4094 OPC_CheckComplexPat1, /*#*/1,
4095 OPC_EmitMergeInputChains1_0,
4096 OPC_EmitIntegerI32, 0,
4097 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4098 MVT::i32, 4, 5, 3, 4, 2,
4099 17,
4100 OPC_CheckPredicate1,
4101 OPC_CheckPatternPredicate4,
4102 OPC_CheckComplexPat1, /*#*/1,
4103 OPC_EmitMergeInputChains1_0,
4104 OPC_EmitIntegerI32, 0,
4105 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4106 MVT::i32, 4, 5, 3, 4, 2,
4107 17,
4108 OPC_CheckPredicate2,
4109 OPC_CheckPatternPredicate4,
4110 OPC_CheckComplexPat1, /*#*/1,
4111 OPC_EmitMergeInputChains1_0,
4112 OPC_EmitIntegerI32, 0,
4113 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4114 MVT::i32, 4, 5, 3, 4, 2,
4115 17,
4116 OPC_CheckPredicate1,
4117 OPC_CheckPatternPredicate4,
4118 OPC_CheckComplexPat1, /*#*/1,
4119 OPC_EmitMergeInputChains1_0,
4120 OPC_EmitIntegerI32, 0,
4121 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4122 MVT::i32, 4, 5, 3, 4, 2,
4123 17,
4124 OPC_CheckPredicate2,
4125 OPC_CheckPatternPredicate4,
4126 OPC_CheckComplexPat1, /*#*/1,
4127 OPC_EmitMergeInputChains1_0,
4128 OPC_EmitIntegerI32, 0,
4129 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4130 MVT::i32, 4, 5, 3, 4, 2,
4131 0,
4132 18, MVT::i64,
4133 OPC_CheckPredicate, 9,
4134 OPC_CheckPatternPredicate4,
4135 OPC_CheckComplexPat1, /*#*/1,
4136 OPC_EmitMergeInputChains1_0,
4137 OPC_EmitIntegerI32, 0,
4138 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4139 MVT::i64, 4, 5, 3, 4, 2,
4140 0,
4141 0,
4142 115|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4143 OPC_RecordMemRef,
4144 OPC_RecordNode,
4145 OPC_RecordChild1,
4146 OPC_Scope, 118,
4147 OPC_CheckChild1TypeI32,
4148 OPC_RecordChild2,
4149 OPC_SwitchType , 92, MVT::i32,
4150 OPC_Scope, 17,
4151 OPC_CheckPredicate3,
4152 OPC_CheckPatternPredicate3,
4153 OPC_CheckComplexPat0, /*#*/1,
4154 OPC_EmitMergeInputChains1_0,
4155 OPC_EmitIntegerI32, 0,
4156 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4157 MVT::i32, 4, 5, 3, 4, 2,
4158 17,
4159 OPC_CheckPredicate1,
4160 OPC_CheckPatternPredicate3,
4161 OPC_CheckComplexPat0, /*#*/1,
4162 OPC_EmitMergeInputChains1_0,
4163 OPC_EmitIntegerI32, 0,
4164 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4165 MVT::i32, 4, 5, 3, 4, 2,
4166 17,
4167 OPC_CheckPredicate2,
4168 OPC_CheckPatternPredicate3,
4169 OPC_CheckComplexPat0, /*#*/1,
4170 OPC_EmitMergeInputChains1_0,
4171 OPC_EmitIntegerI32, 0,
4172 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4173 MVT::i32, 4, 5, 3, 4, 2,
4174 17,
4175 OPC_CheckPredicate1,
4176 OPC_CheckPatternPredicate3,
4177 OPC_CheckComplexPat0, /*#*/1,
4178 OPC_EmitMergeInputChains1_0,
4179 OPC_EmitIntegerI32, 0,
4180 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4181 MVT::i32, 4, 5, 3, 4, 2,
4182 17,
4183 OPC_CheckPredicate2,
4184 OPC_CheckPatternPredicate3,
4185 OPC_CheckComplexPat0, /*#*/1,
4186 OPC_EmitMergeInputChains1_0,
4187 OPC_EmitIntegerI32, 0,
4188 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4189 MVT::i32, 4, 5, 3, 4, 2,
4190 0,
4191 18, MVT::i64,
4192 OPC_CheckPredicate, 9,
4193 OPC_CheckPatternPredicate3,
4194 OPC_CheckComplexPat0, /*#*/1,
4195 OPC_EmitMergeInputChains1_0,
4196 OPC_EmitIntegerI32, 0,
4197 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4198 MVT::i64, 4, 5, 3, 4, 2,
4199 0,
4200 118,
4201 OPC_CheckChild1TypeI64,
4202 OPC_RecordChild2,
4203 OPC_SwitchType , 92, MVT::i32,
4204 OPC_Scope, 17,
4205 OPC_CheckPredicate3,
4206 OPC_CheckPatternPredicate4,
4207 OPC_CheckComplexPat1, /*#*/1,
4208 OPC_EmitMergeInputChains1_0,
4209 OPC_EmitIntegerI32, 0,
4210 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4211 MVT::i32, 4, 5, 3, 4, 2,
4212 17,
4213 OPC_CheckPredicate1,
4214 OPC_CheckPatternPredicate4,
4215 OPC_CheckComplexPat1, /*#*/1,
4216 OPC_EmitMergeInputChains1_0,
4217 OPC_EmitIntegerI32, 0,
4218 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4219 MVT::i32, 4, 5, 3, 4, 2,
4220 17,
4221 OPC_CheckPredicate2,
4222 OPC_CheckPatternPredicate4,
4223 OPC_CheckComplexPat1, /*#*/1,
4224 OPC_EmitMergeInputChains1_0,
4225 OPC_EmitIntegerI32, 0,
4226 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4227 MVT::i32, 4, 5, 3, 4, 2,
4228 17,
4229 OPC_CheckPredicate1,
4230 OPC_CheckPatternPredicate4,
4231 OPC_CheckComplexPat1, /*#*/1,
4232 OPC_EmitMergeInputChains1_0,
4233 OPC_EmitIntegerI32, 0,
4234 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4235 MVT::i32, 4, 5, 3, 4, 2,
4236 17,
4237 OPC_CheckPredicate2,
4238 OPC_CheckPatternPredicate4,
4239 OPC_CheckComplexPat1, /*#*/1,
4240 OPC_EmitMergeInputChains1_0,
4241 OPC_EmitIntegerI32, 0,
4242 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4243 MVT::i32, 4, 5, 3, 4, 2,
4244 0,
4245 18, MVT::i64,
4246 OPC_CheckPredicate, 9,
4247 OPC_CheckPatternPredicate4,
4248 OPC_CheckComplexPat1, /*#*/1,
4249 OPC_EmitMergeInputChains1_0,
4250 OPC_EmitIntegerI32, 0,
4251 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4252 MVT::i64, 4, 5, 3, 4, 2,
4253 0,
4254 0,
4255 115|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4256 OPC_RecordMemRef,
4257 OPC_RecordNode,
4258 OPC_RecordChild1,
4259 OPC_Scope, 118,
4260 OPC_CheckChild1TypeI32,
4261 OPC_RecordChild2,
4262 OPC_SwitchType , 92, MVT::i32,
4263 OPC_Scope, 17,
4264 OPC_CheckPredicate3,
4265 OPC_CheckPatternPredicate3,
4266 OPC_CheckComplexPat0, /*#*/1,
4267 OPC_EmitMergeInputChains1_0,
4268 OPC_EmitIntegerI32, 0,
4269 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4270 MVT::i32, 4, 5, 3, 4, 2,
4271 17,
4272 OPC_CheckPredicate1,
4273 OPC_CheckPatternPredicate3,
4274 OPC_CheckComplexPat0, /*#*/1,
4275 OPC_EmitMergeInputChains1_0,
4276 OPC_EmitIntegerI32, 0,
4277 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4278 MVT::i32, 4, 5, 3, 4, 2,
4279 17,
4280 OPC_CheckPredicate2,
4281 OPC_CheckPatternPredicate3,
4282 OPC_CheckComplexPat0, /*#*/1,
4283 OPC_EmitMergeInputChains1_0,
4284 OPC_EmitIntegerI32, 0,
4285 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4286 MVT::i32, 4, 5, 3, 4, 2,
4287 17,
4288 OPC_CheckPredicate1,
4289 OPC_CheckPatternPredicate3,
4290 OPC_CheckComplexPat0, /*#*/1,
4291 OPC_EmitMergeInputChains1_0,
4292 OPC_EmitIntegerI32, 0,
4293 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4294 MVT::i32, 4, 5, 3, 4, 2,
4295 17,
4296 OPC_CheckPredicate2,
4297 OPC_CheckPatternPredicate3,
4298 OPC_CheckComplexPat0, /*#*/1,
4299 OPC_EmitMergeInputChains1_0,
4300 OPC_EmitIntegerI32, 0,
4301 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4302 MVT::i32, 4, 5, 3, 4, 2,
4303 0,
4304 18, MVT::i64,
4305 OPC_CheckPredicate, 9,
4306 OPC_CheckPatternPredicate3,
4307 OPC_CheckComplexPat0, /*#*/1,
4308 OPC_EmitMergeInputChains1_0,
4309 OPC_EmitIntegerI32, 0,
4310 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4311 MVT::i64, 4, 5, 3, 4, 2,
4312 0,
4313 118,
4314 OPC_CheckChild1TypeI64,
4315 OPC_RecordChild2,
4316 OPC_SwitchType , 92, MVT::i32,
4317 OPC_Scope, 17,
4318 OPC_CheckPredicate3,
4319 OPC_CheckPatternPredicate4,
4320 OPC_CheckComplexPat1, /*#*/1,
4321 OPC_EmitMergeInputChains1_0,
4322 OPC_EmitIntegerI32, 0,
4323 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4324 MVT::i32, 4, 5, 3, 4, 2,
4325 17,
4326 OPC_CheckPredicate1,
4327 OPC_CheckPatternPredicate4,
4328 OPC_CheckComplexPat1, /*#*/1,
4329 OPC_EmitMergeInputChains1_0,
4330 OPC_EmitIntegerI32, 0,
4331 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4332 MVT::i32, 4, 5, 3, 4, 2,
4333 17,
4334 OPC_CheckPredicate2,
4335 OPC_CheckPatternPredicate4,
4336 OPC_CheckComplexPat1, /*#*/1,
4337 OPC_EmitMergeInputChains1_0,
4338 OPC_EmitIntegerI32, 0,
4339 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4340 MVT::i32, 4, 5, 3, 4, 2,
4341 17,
4342 OPC_CheckPredicate1,
4343 OPC_CheckPatternPredicate4,
4344 OPC_CheckComplexPat1, /*#*/1,
4345 OPC_EmitMergeInputChains1_0,
4346 OPC_EmitIntegerI32, 0,
4347 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4348 MVT::i32, 4, 5, 3, 4, 2,
4349 17,
4350 OPC_CheckPredicate2,
4351 OPC_CheckPatternPredicate4,
4352 OPC_CheckComplexPat1, /*#*/1,
4353 OPC_EmitMergeInputChains1_0,
4354 OPC_EmitIntegerI32, 0,
4355 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4356 MVT::i32, 4, 5, 3, 4, 2,
4357 0,
4358 18, MVT::i64,
4359 OPC_CheckPredicate, 9,
4360 OPC_CheckPatternPredicate4,
4361 OPC_CheckComplexPat1, /*#*/1,
4362 OPC_EmitMergeInputChains1_0,
4363 OPC_EmitIntegerI32, 0,
4364 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4365 MVT::i64, 4, 5, 3, 4, 2,
4366 0,
4367 0,
4368 115|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4369 OPC_RecordMemRef,
4370 OPC_RecordNode,
4371 OPC_RecordChild1,
4372 OPC_Scope, 118,
4373 OPC_CheckChild1TypeI32,
4374 OPC_RecordChild2,
4375 OPC_SwitchType , 92, MVT::i32,
4376 OPC_Scope, 17,
4377 OPC_CheckPredicate3,
4378 OPC_CheckPatternPredicate3,
4379 OPC_CheckComplexPat0, /*#*/1,
4380 OPC_EmitMergeInputChains1_0,
4381 OPC_EmitIntegerI32, 0,
4382 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4383 MVT::i32, 4, 5, 3, 4, 2,
4384 17,
4385 OPC_CheckPredicate1,
4386 OPC_CheckPatternPredicate3,
4387 OPC_CheckComplexPat0, /*#*/1,
4388 OPC_EmitMergeInputChains1_0,
4389 OPC_EmitIntegerI32, 0,
4390 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4391 MVT::i32, 4, 5, 3, 4, 2,
4392 17,
4393 OPC_CheckPredicate2,
4394 OPC_CheckPatternPredicate3,
4395 OPC_CheckComplexPat0, /*#*/1,
4396 OPC_EmitMergeInputChains1_0,
4397 OPC_EmitIntegerI32, 0,
4398 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4399 MVT::i32, 4, 5, 3, 4, 2,
4400 17,
4401 OPC_CheckPredicate1,
4402 OPC_CheckPatternPredicate3,
4403 OPC_CheckComplexPat0, /*#*/1,
4404 OPC_EmitMergeInputChains1_0,
4405 OPC_EmitIntegerI32, 0,
4406 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4407 MVT::i32, 4, 5, 3, 4, 2,
4408 17,
4409 OPC_CheckPredicate2,
4410 OPC_CheckPatternPredicate3,
4411 OPC_CheckComplexPat0, /*#*/1,
4412 OPC_EmitMergeInputChains1_0,
4413 OPC_EmitIntegerI32, 0,
4414 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4415 MVT::i32, 4, 5, 3, 4, 2,
4416 0,
4417 18, MVT::i64,
4418 OPC_CheckPredicate, 9,
4419 OPC_CheckPatternPredicate3,
4420 OPC_CheckComplexPat0, /*#*/1,
4421 OPC_EmitMergeInputChains1_0,
4422 OPC_EmitIntegerI32, 0,
4423 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4424 MVT::i64, 4, 5, 3, 4, 2,
4425 0,
4426 118,
4427 OPC_CheckChild1TypeI64,
4428 OPC_RecordChild2,
4429 OPC_SwitchType , 92, MVT::i32,
4430 OPC_Scope, 17,
4431 OPC_CheckPredicate3,
4432 OPC_CheckPatternPredicate4,
4433 OPC_CheckComplexPat1, /*#*/1,
4434 OPC_EmitMergeInputChains1_0,
4435 OPC_EmitIntegerI32, 0,
4436 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4437 MVT::i32, 4, 5, 3, 4, 2,
4438 17,
4439 OPC_CheckPredicate1,
4440 OPC_CheckPatternPredicate4,
4441 OPC_CheckComplexPat1, /*#*/1,
4442 OPC_EmitMergeInputChains1_0,
4443 OPC_EmitIntegerI32, 0,
4444 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4445 MVT::i32, 4, 5, 3, 4, 2,
4446 17,
4447 OPC_CheckPredicate2,
4448 OPC_CheckPatternPredicate4,
4449 OPC_CheckComplexPat1, /*#*/1,
4450 OPC_EmitMergeInputChains1_0,
4451 OPC_EmitIntegerI32, 0,
4452 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4453 MVT::i32, 4, 5, 3, 4, 2,
4454 17,
4455 OPC_CheckPredicate1,
4456 OPC_CheckPatternPredicate4,
4457 OPC_CheckComplexPat1, /*#*/1,
4458 OPC_EmitMergeInputChains1_0,
4459 OPC_EmitIntegerI32, 0,
4460 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4461 MVT::i32, 4, 5, 3, 4, 2,
4462 17,
4463 OPC_CheckPredicate2,
4464 OPC_CheckPatternPredicate4,
4465 OPC_CheckComplexPat1, /*#*/1,
4466 OPC_EmitMergeInputChains1_0,
4467 OPC_EmitIntegerI32, 0,
4468 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4469 MVT::i32, 4, 5, 3, 4, 2,
4470 0,
4471 18, MVT::i64,
4472 OPC_CheckPredicate, 9,
4473 OPC_CheckPatternPredicate4,
4474 OPC_CheckComplexPat1, /*#*/1,
4475 OPC_EmitMergeInputChains1_0,
4476 OPC_EmitIntegerI32, 0,
4477 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4478 MVT::i64, 4, 5, 3, 4, 2,
4479 0,
4480 0,
4481 115|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4482 OPC_RecordMemRef,
4483 OPC_RecordNode,
4484 OPC_RecordChild1,
4485 OPC_Scope, 118,
4486 OPC_CheckChild1TypeI32,
4487 OPC_RecordChild2,
4488 OPC_SwitchType , 92, MVT::i32,
4489 OPC_Scope, 17,
4490 OPC_CheckPredicate3,
4491 OPC_CheckPatternPredicate3,
4492 OPC_CheckComplexPat0, /*#*/1,
4493 OPC_EmitMergeInputChains1_0,
4494 OPC_EmitIntegerI32, 0,
4495 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4496 MVT::i32, 4, 5, 3, 4, 2,
4497 17,
4498 OPC_CheckPredicate1,
4499 OPC_CheckPatternPredicate3,
4500 OPC_CheckComplexPat0, /*#*/1,
4501 OPC_EmitMergeInputChains1_0,
4502 OPC_EmitIntegerI32, 0,
4503 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4504 MVT::i32, 4, 5, 3, 4, 2,
4505 17,
4506 OPC_CheckPredicate2,
4507 OPC_CheckPatternPredicate3,
4508 OPC_CheckComplexPat0, /*#*/1,
4509 OPC_EmitMergeInputChains1_0,
4510 OPC_EmitIntegerI32, 0,
4511 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4512 MVT::i32, 4, 5, 3, 4, 2,
4513 17,
4514 OPC_CheckPredicate1,
4515 OPC_CheckPatternPredicate3,
4516 OPC_CheckComplexPat0, /*#*/1,
4517 OPC_EmitMergeInputChains1_0,
4518 OPC_EmitIntegerI32, 0,
4519 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4520 MVT::i32, 4, 5, 3, 4, 2,
4521 17,
4522 OPC_CheckPredicate2,
4523 OPC_CheckPatternPredicate3,
4524 OPC_CheckComplexPat0, /*#*/1,
4525 OPC_EmitMergeInputChains1_0,
4526 OPC_EmitIntegerI32, 0,
4527 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4528 MVT::i32, 4, 5, 3, 4, 2,
4529 0,
4530 18, MVT::i64,
4531 OPC_CheckPredicate, 9,
4532 OPC_CheckPatternPredicate3,
4533 OPC_CheckComplexPat0, /*#*/1,
4534 OPC_EmitMergeInputChains1_0,
4535 OPC_EmitIntegerI32, 0,
4536 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4537 MVT::i64, 4, 5, 3, 4, 2,
4538 0,
4539 118,
4540 OPC_CheckChild1TypeI64,
4541 OPC_RecordChild2,
4542 OPC_SwitchType , 92, MVT::i32,
4543 OPC_Scope, 17,
4544 OPC_CheckPredicate3,
4545 OPC_CheckPatternPredicate4,
4546 OPC_CheckComplexPat1, /*#*/1,
4547 OPC_EmitMergeInputChains1_0,
4548 OPC_EmitIntegerI32, 0,
4549 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4550 MVT::i32, 4, 5, 3, 4, 2,
4551 17,
4552 OPC_CheckPredicate1,
4553 OPC_CheckPatternPredicate4,
4554 OPC_CheckComplexPat1, /*#*/1,
4555 OPC_EmitMergeInputChains1_0,
4556 OPC_EmitIntegerI32, 0,
4557 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4558 MVT::i32, 4, 5, 3, 4, 2,
4559 17,
4560 OPC_CheckPredicate2,
4561 OPC_CheckPatternPredicate4,
4562 OPC_CheckComplexPat1, /*#*/1,
4563 OPC_EmitMergeInputChains1_0,
4564 OPC_EmitIntegerI32, 0,
4565 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4566 MVT::i32, 4, 5, 3, 4, 2,
4567 17,
4568 OPC_CheckPredicate1,
4569 OPC_CheckPatternPredicate4,
4570 OPC_CheckComplexPat1, /*#*/1,
4571 OPC_EmitMergeInputChains1_0,
4572 OPC_EmitIntegerI32, 0,
4573 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4574 MVT::i32, 4, 5, 3, 4, 2,
4575 17,
4576 OPC_CheckPredicate2,
4577 OPC_CheckPatternPredicate4,
4578 OPC_CheckComplexPat1, /*#*/1,
4579 OPC_EmitMergeInputChains1_0,
4580 OPC_EmitIntegerI32, 0,
4581 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4582 MVT::i32, 4, 5, 3, 4, 2,
4583 0,
4584 18, MVT::i64,
4585 OPC_CheckPredicate, 9,
4586 OPC_CheckPatternPredicate4,
4587 OPC_CheckComplexPat1, /*#*/1,
4588 OPC_EmitMergeInputChains1_0,
4589 OPC_EmitIntegerI32, 0,
4590 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4591 MVT::i64, 4, 5, 3, 4, 2,
4592 0,
4593 0,
4594 115|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
4595 OPC_RecordMemRef,
4596 OPC_RecordNode,
4597 OPC_RecordChild1,
4598 OPC_Scope, 118,
4599 OPC_CheckChild1TypeI32,
4600 OPC_RecordChild2,
4601 OPC_SwitchType , 92, MVT::i32,
4602 OPC_Scope, 17,
4603 OPC_CheckPredicate3,
4604 OPC_CheckPatternPredicate3,
4605 OPC_CheckComplexPat0, /*#*/1,
4606 OPC_EmitMergeInputChains1_0,
4607 OPC_EmitIntegerI32, 0,
4608 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4609 MVT::i32, 4, 5, 3, 4, 2,
4610 17,
4611 OPC_CheckPredicate1,
4612 OPC_CheckPatternPredicate3,
4613 OPC_CheckComplexPat0, /*#*/1,
4614 OPC_EmitMergeInputChains1_0,
4615 OPC_EmitIntegerI32, 0,
4616 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4617 MVT::i32, 4, 5, 3, 4, 2,
4618 17,
4619 OPC_CheckPredicate2,
4620 OPC_CheckPatternPredicate3,
4621 OPC_CheckComplexPat0, /*#*/1,
4622 OPC_EmitMergeInputChains1_0,
4623 OPC_EmitIntegerI32, 0,
4624 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4625 MVT::i32, 4, 5, 3, 4, 2,
4626 17,
4627 OPC_CheckPredicate1,
4628 OPC_CheckPatternPredicate3,
4629 OPC_CheckComplexPat0, /*#*/1,
4630 OPC_EmitMergeInputChains1_0,
4631 OPC_EmitIntegerI32, 0,
4632 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4633 MVT::i32, 4, 5, 3, 4, 2,
4634 17,
4635 OPC_CheckPredicate2,
4636 OPC_CheckPatternPredicate3,
4637 OPC_CheckComplexPat0, /*#*/1,
4638 OPC_EmitMergeInputChains1_0,
4639 OPC_EmitIntegerI32, 0,
4640 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4641 MVT::i32, 4, 5, 3, 4, 2,
4642 0,
4643 18, MVT::i64,
4644 OPC_CheckPredicate, 9,
4645 OPC_CheckPatternPredicate3,
4646 OPC_CheckComplexPat0, /*#*/1,
4647 OPC_EmitMergeInputChains1_0,
4648 OPC_EmitIntegerI32, 0,
4649 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4650 MVT::i64, 4, 5, 3, 4, 2,
4651 0,
4652 118,
4653 OPC_CheckChild1TypeI64,
4654 OPC_RecordChild2,
4655 OPC_SwitchType , 92, MVT::i32,
4656 OPC_Scope, 17,
4657 OPC_CheckPredicate3,
4658 OPC_CheckPatternPredicate4,
4659 OPC_CheckComplexPat1, /*#*/1,
4660 OPC_EmitMergeInputChains1_0,
4661 OPC_EmitIntegerI32, 0,
4662 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4663 MVT::i32, 4, 5, 3, 4, 2,
4664 17,
4665 OPC_CheckPredicate1,
4666 OPC_CheckPatternPredicate4,
4667 OPC_CheckComplexPat1, /*#*/1,
4668 OPC_EmitMergeInputChains1_0,
4669 OPC_EmitIntegerI32, 0,
4670 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4671 MVT::i32, 4, 5, 3, 4, 2,
4672 17,
4673 OPC_CheckPredicate2,
4674 OPC_CheckPatternPredicate4,
4675 OPC_CheckComplexPat1, /*#*/1,
4676 OPC_EmitMergeInputChains1_0,
4677 OPC_EmitIntegerI32, 0,
4678 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4679 MVT::i32, 4, 5, 3, 4, 2,
4680 17,
4681 OPC_CheckPredicate1,
4682 OPC_CheckPatternPredicate4,
4683 OPC_CheckComplexPat1, /*#*/1,
4684 OPC_EmitMergeInputChains1_0,
4685 OPC_EmitIntegerI32, 0,
4686 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4687 MVT::i32, 4, 5, 3, 4, 2,
4688 17,
4689 OPC_CheckPredicate2,
4690 OPC_CheckPatternPredicate4,
4691 OPC_CheckComplexPat1, /*#*/1,
4692 OPC_EmitMergeInputChains1_0,
4693 OPC_EmitIntegerI32, 0,
4694 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4695 MVT::i32, 4, 5, 3, 4, 2,
4696 0,
4697 18, MVT::i64,
4698 OPC_CheckPredicate, 9,
4699 OPC_CheckPatternPredicate4,
4700 OPC_CheckComplexPat1, /*#*/1,
4701 OPC_EmitMergeInputChains1_0,
4702 OPC_EmitIntegerI32, 0,
4703 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4704 MVT::i64, 4, 5, 3, 4, 2,
4705 0,
4706 0,
4707 1|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4708 OPC_RecordMemRef,
4709 OPC_RecordNode,
4710 OPC_RecordChild1,
4711 OPC_Scope, 125,
4712 OPC_CheckChild1TypeI32,
4713 OPC_RecordChild2,
4714 OPC_RecordChild3,
4715 OPC_SwitchType , 97, MVT::i32,
4716 OPC_Scope, 18,
4717 OPC_CheckPredicate3,
4718 OPC_CheckPatternPredicate3,
4719 OPC_CheckComplexPat0, /*#*/1,
4720 OPC_EmitMergeInputChains1_0,
4721 OPC_EmitIntegerI32, 0,
4722 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4723 MVT::i32, 5, 6, 4, 5, 2, 3,
4724 18,
4725 OPC_CheckPredicate1,
4726 OPC_CheckPatternPredicate3,
4727 OPC_CheckComplexPat0, /*#*/1,
4728 OPC_EmitMergeInputChains1_0,
4729 OPC_EmitIntegerI32, 0,
4730 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4731 MVT::i32, 5, 6, 4, 5, 2, 3,
4732 18,
4733 OPC_CheckPredicate2,
4734 OPC_CheckPatternPredicate3,
4735 OPC_CheckComplexPat0, /*#*/1,
4736 OPC_EmitMergeInputChains1_0,
4737 OPC_EmitIntegerI32, 0,
4738 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4739 MVT::i32, 5, 6, 4, 5, 2, 3,
4740 18,
4741 OPC_CheckPredicate1,
4742 OPC_CheckPatternPredicate3,
4743 OPC_CheckComplexPat0, /*#*/1,
4744 OPC_EmitMergeInputChains1_0,
4745 OPC_EmitIntegerI32, 0,
4746 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4747 MVT::i32, 5, 6, 4, 5, 2, 3,
4748 18,
4749 OPC_CheckPredicate2,
4750 OPC_CheckPatternPredicate3,
4751 OPC_CheckComplexPat0, /*#*/1,
4752 OPC_EmitMergeInputChains1_0,
4753 OPC_EmitIntegerI32, 0,
4754 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4755 MVT::i32, 5, 6, 4, 5, 2, 3,
4756 0,
4757 19, MVT::i64,
4758 OPC_CheckPredicate, 9,
4759 OPC_CheckPatternPredicate3,
4760 OPC_CheckComplexPat0, /*#*/1,
4761 OPC_EmitMergeInputChains1_0,
4762 OPC_EmitIntegerI32, 0,
4763 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4764 MVT::i64, 5, 6, 4, 5, 2, 3,
4765 0,
4766 125,
4767 OPC_CheckChild1TypeI64,
4768 OPC_RecordChild2,
4769 OPC_RecordChild3,
4770 OPC_SwitchType , 97, MVT::i32,
4771 OPC_Scope, 18,
4772 OPC_CheckPredicate3,
4773 OPC_CheckPatternPredicate4,
4774 OPC_CheckComplexPat1, /*#*/1,
4775 OPC_EmitMergeInputChains1_0,
4776 OPC_EmitIntegerI32, 0,
4777 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4778 MVT::i32, 5, 6, 4, 5, 2, 3,
4779 18,
4780 OPC_CheckPredicate1,
4781 OPC_CheckPatternPredicate4,
4782 OPC_CheckComplexPat1, /*#*/1,
4783 OPC_EmitMergeInputChains1_0,
4784 OPC_EmitIntegerI32, 0,
4785 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4786 MVT::i32, 5, 6, 4, 5, 2, 3,
4787 18,
4788 OPC_CheckPredicate2,
4789 OPC_CheckPatternPredicate4,
4790 OPC_CheckComplexPat1, /*#*/1,
4791 OPC_EmitMergeInputChains1_0,
4792 OPC_EmitIntegerI32, 0,
4793 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4794 MVT::i32, 5, 6, 4, 5, 2, 3,
4795 18,
4796 OPC_CheckPredicate1,
4797 OPC_CheckPatternPredicate4,
4798 OPC_CheckComplexPat1, /*#*/1,
4799 OPC_EmitMergeInputChains1_0,
4800 OPC_EmitIntegerI32, 0,
4801 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4802 MVT::i32, 5, 6, 4, 5, 2, 3,
4803 18,
4804 OPC_CheckPredicate2,
4805 OPC_CheckPatternPredicate4,
4806 OPC_CheckComplexPat1, /*#*/1,
4807 OPC_EmitMergeInputChains1_0,
4808 OPC_EmitIntegerI32, 0,
4809 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4810 MVT::i32, 5, 6, 4, 5, 2, 3,
4811 0,
4812 19, MVT::i64,
4813 OPC_CheckPredicate, 9,
4814 OPC_CheckPatternPredicate4,
4815 OPC_CheckComplexPat1, /*#*/1,
4816 OPC_EmitMergeInputChains1_0,
4817 OPC_EmitIntegerI32, 0,
4818 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4819 MVT::i64, 5, 6, 4, 5, 2, 3,
4820 0,
4821 0,
4822 89, TARGET_VAL(ISD::BRCOND),
4823 OPC_RecordNode,
4824 OPC_Scope, 69,
4825 OPC_MoveChild1,
4826 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::XOR),
4827 OPC_RecordChild0,
4828 OPC_MoveChild0,
4829 OPC_CheckPredicate, 28,
4830 OPC_MoveParent,
4831 OPC_CheckChild1Integer, 1,
4832 OPC_CheckTypeI32,
4833 OPC_MoveSibling2,
4834 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4835 OPC_RecordNode,
4836 OPC_MoveParent,
4837 OPC_EmitMergeInputChains1_0,
4838 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
4839 2, 2, 1,
4840 39, TARGET_VAL(ISD::SETCC),
4841 OPC_RecordChild0,
4842 OPC_CheckChild0TypeI32,
4843 OPC_CheckChild1Integer, 0,
4844 OPC_CheckTypeI32,
4845 OPC_Scope, 15,
4846 OPC_CheckChild2CondCode, ISD::SETNE,
4847 OPC_MoveSibling2,
4848 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4849 OPC_RecordNode,
4850 OPC_MoveParent,
4851 OPC_EmitMergeInputChains1_0,
4852 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
4853 2, 2, 1,
4854 15,
4855 OPC_CheckChild2CondCode, ISD::SETEQ,
4856 OPC_MoveSibling2,
4857 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4858 OPC_RecordNode,
4859 OPC_MoveParent,
4860 OPC_EmitMergeInputChains1_0,
4861 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
4862 2, 2, 1,
4863 0,
4864 0,
4865 15,
4866 OPC_RecordChild1,
4867 OPC_CheckChild1TypeI32,
4868 OPC_RecordChild2,
4869 OPC_MoveChild2,
4870 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4871 OPC_MoveParent,
4872 OPC_EmitMergeInputChains1_0,
4873 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
4874 2, 2, 1,
4875 0,
4876 59, TARGET_VAL(ISD::ROTL),
4877 OPC_RecordChild0,
4878 OPC_Scope, 31,
4879 OPC_MoveChild1,
4880 OPC_SwitchType , 12, MVT::i32,
4881 OPC_CheckAndImm, 31,
4882 OPC_RecordChild0,
4883 OPC_MoveParent,
4884 OPC_CheckTypeI32,
4885 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
4886 MVT::i32, 2, 0, 1,
4887 12, MVT::i64,
4888 OPC_CheckAndImm, 63,
4889 OPC_RecordChild0,
4890 OPC_MoveParent,
4891 OPC_CheckTypeI64,
4892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
4893 MVT::i64, 2, 0, 1,
4894 0,
4895 23,
4896 OPC_RecordChild1,
4897 OPC_SwitchType , 8, MVT::i32,
4898 OPC_CheckChild1TypeI32,
4899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
4900 MVT::i32, 2, 0, 1,
4901 8, MVT::i64,
4902 OPC_CheckChild1TypeI64,
4903 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
4904 MVT::i64, 2, 0, 1,
4905 0,
4906 0,
4907 59, TARGET_VAL(ISD::ROTR),
4908 OPC_RecordChild0,
4909 OPC_Scope, 31,
4910 OPC_MoveChild1,
4911 OPC_SwitchType , 12, MVT::i32,
4912 OPC_CheckAndImm, 31,
4913 OPC_RecordChild0,
4914 OPC_MoveParent,
4915 OPC_CheckTypeI32,
4916 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
4917 MVT::i32, 2, 0, 1,
4918 12, MVT::i64,
4919 OPC_CheckAndImm, 63,
4920 OPC_RecordChild0,
4921 OPC_MoveParent,
4922 OPC_CheckTypeI64,
4923 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
4924 MVT::i64, 2, 0, 1,
4925 0,
4926 23,
4927 OPC_RecordChild1,
4928 OPC_SwitchType , 8, MVT::i32,
4929 OPC_CheckChild1TypeI32,
4930 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
4931 MVT::i32, 2, 0, 1,
4932 8, MVT::i64,
4933 OPC_CheckChild1TypeI64,
4934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
4935 MVT::i64, 2, 0, 1,
4936 0,
4937 0,
4938 54|128,4, TARGET_VAL(ISD::SELECT),
4939 OPC_Scope, 11|128,1,
4940 OPC_MoveChild0,
4941 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
4942 OPC_RecordChild0,
4943 OPC_CheckChild0TypeI32,
4944 OPC_CheckChild1Integer, 0,
4945 OPC_CheckTypeI32,
4946 OPC_Scope, 63,
4947 OPC_CheckChild2CondCode, ISD::SETNE,
4948 OPC_MoveParent,
4949 OPC_RecordChild1,
4950 OPC_RecordChild2,
4951 OPC_SwitchType , 8, MVT::i32,
4952 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4953 MVT::i32, 3, 1, 2, 0,
4954 8, MVT::i64,
4955 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4956 MVT::i64, 3, 1, 2, 0,
4957 9, 122|128,1,
4958 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
4959 122|128,1, 3, 1, 2, 0,
4960 9, 123|128,1,
4961 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
4962 123|128,1, 3, 1, 2, 0,
4963 9, 124|128,1,
4964 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
4965 124|128,1, 3, 1, 2, 0,
4966 0,
4967 63,
4968 OPC_CheckChild2CondCode, ISD::SETEQ,
4969 OPC_MoveParent,
4970 OPC_RecordChild1,
4971 OPC_RecordChild2,
4972 OPC_SwitchType , 8, MVT::i32,
4973 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4974 MVT::i32, 3, 2, 1, 0,
4975 8, MVT::i64,
4976 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4977 MVT::i64, 3, 2, 1, 0,
4978 9, 122|128,1,
4979 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
4980 122|128,1, 3, 2, 1, 0,
4981 9, 123|128,1,
4982 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
4983 123|128,1, 3, 2, 1, 0,
4984 9, 124|128,1,
4985 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
4986 124|128,1, 3, 2, 1, 0,
4987 0,
4988 0,
4989 65,
4990 OPC_RecordChild0,
4991 OPC_CheckChild0TypeI32,
4992 OPC_RecordChild1,
4993 OPC_RecordChild2,
4994 OPC_SwitchType , 8, MVT::i32,
4995 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4996 MVT::i32, 3, 1, 2, 0,
4997 8, MVT::i64,
4998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4999 MVT::i64, 3, 1, 2, 0,
5000 10, 122|128,1,
5001 OPC_CheckPatternPredicate7,
5002 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
5003 122|128,1, 3, 1, 2, 0,
5004 10, 123|128,1,
5005 OPC_CheckPatternPredicate7,
5006 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
5007 123|128,1, 3, 1, 2, 0,
5008 10, 124|128,1,
5009 OPC_CheckPatternPredicate7,
5010 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
5011 124|128,1, 3, 1, 2, 0,
5012 0,
5013 67,
5014 OPC_MoveChild0,
5015 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5016 OPC_RecordChild0,
5017 OPC_CheckChild0TypeI32,
5018 OPC_CheckChild1Integer, 0,
5019 OPC_CheckTypeI32,
5020 OPC_Scope, 27,
5021 OPC_CheckChild2CondCode, ISD::SETNE,
5022 OPC_MoveParent,
5023 OPC_RecordChild1,
5024 OPC_RecordChild2,
5025 OPC_SwitchType , 8, MVT::f32,
5026 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5027 MVT::f32, 3, 1, 2, 0,
5028 8, MVT::f64,
5029 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5030 MVT::f64, 3, 1, 2, 0,
5031 0,
5032 27,
5033 OPC_CheckChild2CondCode, ISD::SETEQ,
5034 OPC_MoveParent,
5035 OPC_RecordChild1,
5036 OPC_RecordChild2,
5037 OPC_SwitchType , 8, MVT::f32,
5038 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5039 MVT::f32, 3, 2, 1, 0,
5040 8, MVT::f64,
5041 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5042 MVT::f64, 3, 2, 1, 0,
5043 0,
5044 0,
5045 26,
5046 OPC_RecordChild0,
5047 OPC_CheckChild0TypeI32,
5048 OPC_RecordChild1,
5049 OPC_RecordChild2,
5050 OPC_SwitchType , 8, MVT::f32,
5051 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5052 MVT::f32, 3, 1, 2, 0,
5053 8, MVT::f64,
5054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5055 MVT::f64, 3, 1, 2, 0,
5056 0,
5057 107,
5058 OPC_MoveChild0,
5059 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5060 OPC_RecordChild0,
5061 OPC_CheckChild0TypeI32,
5062 OPC_CheckChild1Integer, 0,
5063 OPC_CheckTypeI32,
5064 OPC_Scope, 47,
5065 OPC_CheckChild2CondCode, ISD::SETNE,
5066 OPC_MoveParent,
5067 OPC_RecordChild1,
5068 OPC_RecordChild2,
5069 OPC_SwitchType , 8, MVT::v16i8,
5070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5071 MVT::v16i8, 3, 1, 2, 0,
5072 8, MVT::v8i16,
5073 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5074 MVT::v8i16, 3, 1, 2, 0,
5075 8, MVT::v4i32,
5076 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5077 MVT::v4i32, 3, 1, 2, 0,
5078 8, MVT::v2i64,
5079 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5080 MVT::v2i64, 3, 1, 2, 0,
5081 0,
5082 47,
5083 OPC_CheckChild2CondCode, ISD::SETEQ,
5084 OPC_MoveParent,
5085 OPC_RecordChild1,
5086 OPC_RecordChild2,
5087 OPC_SwitchType , 8, MVT::v16i8,
5088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5089 MVT::v16i8, 3, 2, 1, 0,
5090 8, MVT::v8i16,
5091 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5092 MVT::v8i16, 3, 2, 1, 0,
5093 8, MVT::v4i32,
5094 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5095 MVT::v4i32, 3, 2, 1, 0,
5096 8, MVT::v2i64,
5097 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5098 MVT::v2i64, 3, 2, 1, 0,
5099 0,
5100 0,
5101 46,
5102 OPC_RecordChild0,
5103 OPC_CheckChild0TypeI32,
5104 OPC_RecordChild1,
5105 OPC_RecordChild2,
5106 OPC_SwitchType , 8, MVT::v16i8,
5107 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5108 MVT::v16i8, 3, 1, 2, 0,
5109 8, MVT::v8i16,
5110 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5111 MVT::v8i16, 3, 1, 2, 0,
5112 8, MVT::v4i32,
5113 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5114 MVT::v4i32, 3, 1, 2, 0,
5115 8, MVT::v2i64,
5116 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5117 MVT::v2i64, 3, 1, 2, 0,
5118 0,
5119 75,
5120 OPC_MoveChild0,
5121 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5122 OPC_RecordChild0,
5123 OPC_CheckChild0TypeI32,
5124 OPC_CheckChild1Integer, 0,
5125 OPC_CheckTypeI32,
5126 OPC_Scope, 31,
5127 OPC_CheckChild2CondCode, ISD::SETNE,
5128 OPC_MoveParent,
5129 OPC_RecordChild1,
5130 OPC_RecordChild2,
5131 OPC_SwitchType , 9, 6|128,1,
5132 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5133 6|128,1, 3, 1, 2, 0,
5134 9, 24|128,1,
5135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5136 24|128,1, 3, 1, 2, 0,
5137 0,
5138 31,
5139 OPC_CheckChild2CondCode, ISD::SETEQ,
5140 OPC_MoveParent,
5141 OPC_RecordChild1,
5142 OPC_RecordChild2,
5143 OPC_SwitchType , 9, 6|128,1,
5144 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5145 6|128,1, 3, 2, 1, 0,
5146 9, 24|128,1,
5147 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5148 24|128,1, 3, 2, 1, 0,
5149 0,
5150 0,
5151 30,
5152 OPC_RecordChild0,
5153 OPC_CheckChild0TypeI32,
5154 OPC_RecordChild1,
5155 OPC_RecordChild2,
5156 OPC_SwitchType , 9, 6|128,1,
5157 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5158 6|128,1, 3, 1, 2, 0,
5159 9, 24|128,1,
5160 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5161 24|128,1, 3, 1, 2, 0,
5162 0,
5163 0,
5164 1|128,1, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
5165 OPC_Scope, 57,
5166 OPC_MoveChild0,
5167 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
5168 OPC_RecordChild0,
5169 OPC_Scope, 24,
5170 OPC_CheckChild0Type, MVT::v16i8,
5171 OPC_RecordChild1,
5172 OPC_MoveChild1,
5173 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5174 OPC_CheckPredicate, 21,
5175 OPC_CheckTypeI32,
5176 OPC_MoveParent,
5177 OPC_MoveSibling1,
5178 OPC_CheckValueType, MVT::i8,
5179 OPC_MoveParent,
5180 OPC_CheckTypeI32,
5181 OPC_EmitConvertToTarget1,
5182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_s),
5183 MVT::i32, 2, 0, 2,
5184 24,
5185 OPC_CheckChild0Type, MVT::v8i16,
5186 OPC_RecordChild1,
5187 OPC_MoveChild1,
5188 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5189 OPC_CheckPredicate, 15,
5190 OPC_CheckTypeI32,
5191 OPC_MoveParent,
5192 OPC_MoveSibling1,
5193 OPC_CheckValueType, MVT::i16,
5194 OPC_MoveParent,
5195 OPC_CheckTypeI32,
5196 OPC_EmitConvertToTarget1,
5197 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_s),
5198 MVT::i32, 2, 0, 2,
5199 0,
5200 68,
5201 OPC_RecordChild0,
5202 OPC_MoveChild1,
5203 OPC_Scope, 25,
5204 OPC_CheckValueType, MVT::i8,
5205 OPC_MoveParent,
5206 OPC_SwitchType , 8, MVT::i32,
5207 OPC_CheckPatternPredicate, 11,
5208 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32),
5209 MVT::i32, 1, 0,
5210 8, MVT::i64,
5211 OPC_CheckPatternPredicate, 11,
5212 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64),
5213 MVT::i64, 1, 0,
5214 0,
5215 25,
5216 OPC_CheckValueType, MVT::i16,
5217 OPC_MoveParent,
5218 OPC_SwitchType , 8, MVT::i32,
5219 OPC_CheckPatternPredicate, 11,
5220 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32),
5221 MVT::i32, 1, 0,
5222 8, MVT::i64,
5223 OPC_CheckPatternPredicate, 11,
5224 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64),
5225 MVT::i64, 1, 0,
5226 0,
5227 11,
5228 OPC_CheckValueType, MVT::i32,
5229 OPC_MoveParent,
5230 OPC_CheckPatternPredicate, 11,
5231 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64),
5232 MVT::i64, 1, 0,
5233 0,
5234 0,
5235 48|128,1, TARGET_VAL(WebAssemblyISD::GLOBAL_GET),
5236 OPC_RecordMemRef,
5237 OPC_RecordNode,
5238 OPC_MoveChild1,
5239 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5240 OPC_RecordChild0,
5241 OPC_MoveChild0,
5242 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5243 OPC_MoveParent,
5244 OPC_MoveParent,
5245 OPC_SwitchType , 8, MVT::i32,
5246 OPC_EmitMergeInputChains1_0,
5247 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5248 MVT::i32, 1, 1,
5249 8, MVT::i64,
5250 OPC_EmitMergeInputChains1_0,
5251 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5252 MVT::i64, 1, 1,
5253 10, 122|128,1,
5254 OPC_CheckPatternPredicate7,
5255 OPC_EmitMergeInputChains1_0,
5256 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5257 122|128,1, 1, 1,
5258 10, 123|128,1,
5259 OPC_CheckPatternPredicate7,
5260 OPC_EmitMergeInputChains1_0,
5261 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5262 123|128,1, 1, 1,
5263 11, 124|128,1,
5264 OPC_CheckPatternPredicate, 8,
5265 OPC_EmitMergeInputChains1_0,
5266 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5267 124|128,1, 1, 1,
5268 8, MVT::f32,
5269 OPC_EmitMergeInputChains1_0,
5270 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5271 MVT::f32, 1, 1,
5272 8, MVT::f64,
5273 OPC_EmitMergeInputChains1_0,
5274 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5275 MVT::f64, 1, 1,
5276 9, MVT::v2i64,
5277 OPC_CheckPatternPredicate0,
5278 OPC_EmitMergeInputChains1_0,
5279 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5280 MVT::v2i64, 1, 1,
5281 9, MVT::v4i32,
5282 OPC_CheckPatternPredicate0,
5283 OPC_EmitMergeInputChains1_0,
5284 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5285 MVT::v4i32, 1, 1,
5286 9, MVT::v16i8,
5287 OPC_CheckPatternPredicate0,
5288 OPC_EmitMergeInputChains1_0,
5289 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5290 MVT::v16i8, 1, 1,
5291 9, MVT::v8i16,
5292 OPC_CheckPatternPredicate0,
5293 OPC_EmitMergeInputChains1_0,
5294 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5295 MVT::v8i16, 1, 1,
5296 9, MVT::v8f16,
5297 OPC_CheckPatternPredicate0,
5298 OPC_EmitMergeInputChains1_0,
5299 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5300 MVT::v8f16, 1, 1,
5301 10, 6|128,1,
5302 OPC_CheckPatternPredicate0,
5303 OPC_EmitMergeInputChains1_0,
5304 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5305 6|128,1, 1, 1,
5306 10, 24|128,1,
5307 OPC_CheckPatternPredicate0,
5308 OPC_EmitMergeInputChains1_0,
5309 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5310 24|128,1, 1, 1,
5311 0,
5312 71|128,2, TARGET_VAL(WebAssemblyISD::GLOBAL_SET),
5313 OPC_RecordMemRef,
5314 OPC_RecordNode,
5315 OPC_RecordChild1,
5316 OPC_Scope, 20,
5317 OPC_CheckChild1TypeI32,
5318 OPC_MoveChild2,
5319 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5320 OPC_RecordChild0,
5321 OPC_MoveChild0,
5322 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5323 OPC_MoveParent,
5324 OPC_MoveParent,
5325 OPC_EmitMergeInputChains1_0,
5326 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5327 2, 2, 1,
5328 20,
5329 OPC_CheckChild1TypeI64,
5330 OPC_MoveChild2,
5331 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5332 OPC_RecordChild0,
5333 OPC_MoveChild0,
5334 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5335 OPC_MoveParent,
5336 OPC_MoveParent,
5337 OPC_EmitMergeInputChains1_0,
5338 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5339 2, 2, 1,
5340 21,
5341 OPC_CheckChild1Type, MVT::f32,
5342 OPC_MoveChild2,
5343 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5344 OPC_RecordChild0,
5345 OPC_MoveChild0,
5346 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5347 OPC_MoveParent,
5348 OPC_MoveParent,
5349 OPC_EmitMergeInputChains1_0,
5350 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5351 2, 2, 1,
5352 21,
5353 OPC_CheckChild1Type, MVT::f64,
5354 OPC_MoveChild2,
5355 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5356 OPC_RecordChild0,
5357 OPC_MoveChild0,
5358 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5359 OPC_MoveParent,
5360 OPC_MoveParent,
5361 OPC_EmitMergeInputChains1_0,
5362 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5363 2, 2, 1,
5364 22,
5365 OPC_CheckChild1Type, MVT::v2i64,
5366 OPC_MoveChild2,
5367 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5368 OPC_RecordChild0,
5369 OPC_MoveChild0,
5370 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5371 OPC_MoveParent,
5372 OPC_MoveParent,
5373 OPC_CheckPatternPredicate0,
5374 OPC_EmitMergeInputChains1_0,
5375 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5376 2, 2, 1,
5377 22,
5378 OPC_CheckChild1Type, MVT::v4i32,
5379 OPC_MoveChild2,
5380 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5381 OPC_RecordChild0,
5382 OPC_MoveChild0,
5383 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5384 OPC_MoveParent,
5385 OPC_MoveParent,
5386 OPC_CheckPatternPredicate0,
5387 OPC_EmitMergeInputChains1_0,
5388 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5389 2, 2, 1,
5390 22,
5391 OPC_CheckChild1Type, MVT::v16i8,
5392 OPC_MoveChild2,
5393 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5394 OPC_RecordChild0,
5395 OPC_MoveChild0,
5396 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5397 OPC_MoveParent,
5398 OPC_MoveParent,
5399 OPC_CheckPatternPredicate0,
5400 OPC_EmitMergeInputChains1_0,
5401 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5402 2, 2, 1,
5403 22,
5404 OPC_CheckChild1Type, MVT::v8i16,
5405 OPC_MoveChild2,
5406 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5407 OPC_RecordChild0,
5408 OPC_MoveChild0,
5409 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5410 OPC_MoveParent,
5411 OPC_MoveParent,
5412 OPC_CheckPatternPredicate0,
5413 OPC_EmitMergeInputChains1_0,
5414 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5415 2, 2, 1,
5416 22,
5417 OPC_CheckChild1Type, MVT::v8f16,
5418 OPC_MoveChild2,
5419 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5420 OPC_RecordChild0,
5421 OPC_MoveChild0,
5422 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5423 OPC_MoveParent,
5424 OPC_MoveParent,
5425 OPC_CheckPatternPredicate0,
5426 OPC_EmitMergeInputChains1_0,
5427 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5428 2, 2, 1,
5429 23,
5430 OPC_CheckChild1Type, 6|128,1,
5431 OPC_MoveChild2,
5432 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5433 OPC_RecordChild0,
5434 OPC_MoveChild0,
5435 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5436 OPC_MoveParent,
5437 OPC_MoveParent,
5438 OPC_CheckPatternPredicate0,
5439 OPC_EmitMergeInputChains1_0,
5440 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5441 2, 2, 1,
5442 23,
5443 OPC_CheckChild1Type, 24|128,1,
5444 OPC_MoveChild2,
5445 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5446 OPC_RecordChild0,
5447 OPC_MoveChild0,
5448 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5449 OPC_MoveParent,
5450 OPC_MoveParent,
5451 OPC_CheckPatternPredicate0,
5452 OPC_EmitMergeInputChains1_0,
5453 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5454 2, 2, 1,
5455 23,
5456 OPC_CheckChild1Type, 122|128,1,
5457 OPC_MoveChild2,
5458 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5459 OPC_RecordChild0,
5460 OPC_MoveChild0,
5461 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5462 OPC_MoveParent,
5463 OPC_MoveParent,
5464 OPC_CheckPatternPredicate7,
5465 OPC_EmitMergeInputChains1_0,
5466 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5467 2, 2, 1,
5468 23,
5469 OPC_CheckChild1Type, 123|128,1,
5470 OPC_MoveChild2,
5471 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5472 OPC_RecordChild0,
5473 OPC_MoveChild0,
5474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5475 OPC_MoveParent,
5476 OPC_MoveParent,
5477 OPC_CheckPatternPredicate7,
5478 OPC_EmitMergeInputChains1_0,
5479 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5480 2, 2, 1,
5481 24,
5482 OPC_CheckChild1Type, 124|128,1,
5483 OPC_MoveChild2,
5484 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5485 OPC_RecordChild0,
5486 OPC_MoveChild0,
5487 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5488 OPC_MoveParent,
5489 OPC_MoveParent,
5490 OPC_CheckPatternPredicate, 8,
5491 OPC_EmitMergeInputChains1_0,
5492 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5493 2, 2, 1,
5494 0,
5495 21, TARGET_VAL(ISD::CALLSEQ_START),
5496 OPC_RecordNode,
5497 OPC_RecordChild1,
5498 OPC_MoveChild1,
5499 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5500 OPC_MoveSibling2,
5501 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5502 OPC_RecordNode,
5503 OPC_MoveParent,
5504 OPC_EmitMergeInputChains1_0,
5505 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
5506 MVT::i32, 2, 1, 2,
5507 22, TARGET_VAL(ISD::CALLSEQ_END),
5508 OPC_RecordNode,
5509 OPC_CaptureGlueInput,
5510 OPC_RecordChild1,
5511 OPC_MoveChild1,
5512 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5513 OPC_MoveSibling2,
5514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5515 OPC_RecordNode,
5516 OPC_MoveParent,
5517 OPC_EmitMergeInputChains1_0,
5518 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
5519 MVT::i32, 2, 1, 2,
5520 60, TARGET_VAL(WebAssemblyISD::TABLE_GET),
5521 OPC_RecordMemRef,
5522 OPC_RecordNode,
5523 OPC_MoveChild1,
5524 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5525 OPC_RecordChild0,
5526 OPC_MoveChild0,
5527 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5528 OPC_MoveParent,
5529 OPC_MoveParent,
5530 OPC_RecordChild2,
5531 OPC_CheckChild2TypeI32,
5532 OPC_SwitchType , 11, 122|128,1,
5533 OPC_CheckPatternPredicate7,
5534 OPC_EmitMergeInputChains1_0,
5535 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5536 122|128,1, 2, 1, 2,
5537 11, 123|128,1,
5538 OPC_CheckPatternPredicate7,
5539 OPC_EmitMergeInputChains1_0,
5540 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5541 123|128,1, 2, 1, 2,
5542 12, 124|128,1,
5543 OPC_CheckPatternPredicate, 8,
5544 OPC_EmitMergeInputChains1_0,
5545 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5546 124|128,1, 2, 1, 2,
5547 0,
5548 87, TARGET_VAL(WebAssemblyISD::TABLE_SET),
5549 OPC_RecordMemRef,
5550 OPC_RecordNode,
5551 OPC_Scope, 59,
5552 OPC_MoveChild1,
5553 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5554 OPC_RecordChild0,
5555 OPC_MoveChild0,
5556 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5557 OPC_MoveParent,
5558 OPC_MoveParent,
5559 OPC_RecordChild2,
5560 OPC_CheckChild2TypeI32,
5561 OPC_RecordChild3,
5562 OPC_Scope, 13,
5563 OPC_CheckChild3Type, 122|128,1,
5564 OPC_CheckPatternPredicate7,
5565 OPC_EmitMergeInputChains1_0,
5566 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5567 3, 1, 2, 3,
5568 13,
5569 OPC_CheckChild3Type, 123|128,1,
5570 OPC_CheckPatternPredicate7,
5571 OPC_EmitMergeInputChains1_0,
5572 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5573 3, 1, 2, 3,
5574 14,
5575 OPC_CheckChild3Type, 124|128,1,
5576 OPC_CheckPatternPredicate, 8,
5577 OPC_EmitMergeInputChains1_0,
5578 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5579 3, 1, 2, 3,
5580 0,
5581 22,
5582 OPC_RecordChild1,
5583 OPC_MoveChild1,
5584 OPC_CheckOpcode, TARGET_VAL(ISD::MCSymbol),
5585 OPC_MoveParent,
5586 OPC_RecordChild2,
5587 OPC_CheckChild2TypeI32,
5588 OPC_RecordChild3,
5589 OPC_CheckChild3Type, 122|128,1,
5590 OPC_CheckPatternPredicate7,
5591 OPC_EmitMergeInputChains1_0,
5592 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5593 3, 1, 2, 3,
5594 0,
5595 57, TARGET_VAL(WebAssemblyISD::MEMCPY),
5596 OPC_RecordNode,
5597 OPC_RecordChild1,
5598 OPC_MoveChild1,
5599 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5600 OPC_CheckTypeI32,
5601 OPC_MoveSibling2,
5602 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5603 OPC_RecordNode,
5604 OPC_CheckTypeI32,
5605 OPC_MoveParent,
5606 OPC_RecordChild3,
5607 OPC_Scope, 19,
5608 OPC_CheckChild3TypeI32,
5609 OPC_RecordChild4,
5610 OPC_CheckChild4TypeI32,
5611 OPC_RecordChild5,
5612 OPC_CheckChild5TypeI32,
5613 OPC_CheckPatternPredicate, 12,
5614 OPC_EmitMergeInputChains1_0,
5615 OPC_EmitConvertToTarget1,
5616 OPC_EmitConvertToTarget2,
5617 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A32),
5618 5, 6, 7, 3, 4, 5,
5619 19,
5620 OPC_CheckChild3TypeI64,
5621 OPC_RecordChild4,
5622 OPC_CheckChild4TypeI64,
5623 OPC_RecordChild5,
5624 OPC_CheckChild5TypeI64,
5625 OPC_CheckPatternPredicate, 12,
5626 OPC_EmitMergeInputChains1_0,
5627 OPC_EmitConvertToTarget1,
5628 OPC_EmitConvertToTarget2,
5629 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A64),
5630 5, 6, 7, 3, 4, 5,
5631 0,
5632 17|128,10, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
5633 OPC_Scope, 49,
5634 OPC_CheckChild0Integer, 99|128,112|128,0,
5635 OPC_RecordChild1,
5636 OPC_Scope, 20,
5637 OPC_CheckChild1Type, MVT::f32,
5638 OPC_SwitchType , 6, MVT::i32,
5639 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F32),
5640 MVT::i32, 1, 0,
5641 6, MVT::i64,
5642 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F32),
5643 MVT::i64, 1, 0,
5644 0,
5645 20,
5646 OPC_CheckChild1Type, MVT::f64,
5647 OPC_SwitchType , 6, MVT::i32,
5648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F64),
5649 MVT::i32, 1, 0,
5650 6, MVT::i64,
5651 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F64),
5652 MVT::i64, 1, 0,
5653 0,
5654 0,
5655 49,
5656 OPC_CheckChild0Integer, 100|128,112|128,0,
5657 OPC_RecordChild1,
5658 OPC_Scope, 20,
5659 OPC_CheckChild1Type, MVT::f32,
5660 OPC_SwitchType , 6, MVT::i32,
5661 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F32),
5662 MVT::i32, 1, 0,
5663 6, MVT::i64,
5664 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F32),
5665 MVT::i64, 1, 0,
5666 0,
5667 20,
5668 OPC_CheckChild1Type, MVT::f64,
5669 OPC_SwitchType , 6, MVT::i32,
5670 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F64),
5671 MVT::i32, 1, 0,
5672 6, MVT::i64,
5673 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F64),
5674 MVT::i64, 1, 0,
5675 0,
5676 0,
5677 43,
5678 OPC_CheckChild0Integer, 28|128,112|128,0,
5679 OPC_RecordChild1,
5680 OPC_Scope, 8,
5681 OPC_CheckChild1Type, MVT::v16i8,
5682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5683 MVT::i32, 1, 0,
5684 8,
5685 OPC_CheckChild1Type, MVT::v8i16,
5686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5687 MVT::i32, 1, 0,
5688 8,
5689 OPC_CheckChild1Type, MVT::v4i32,
5690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5691 MVT::i32, 1, 0,
5692 8,
5693 OPC_CheckChild1Type, MVT::v2i64,
5694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5695 MVT::i32, 1, 0,
5696 0,
5697 47,
5698 OPC_CheckChild0Integer, 27|128,112|128,0,
5699 OPC_RecordChild1,
5700 OPC_Scope, 9,
5701 OPC_CheckChild1Type, MVT::v16i8,
5702 OPC_CheckPatternPredicate0,
5703 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
5704 MVT::i32, 1, 0,
5705 9,
5706 OPC_CheckChild1Type, MVT::v8i16,
5707 OPC_CheckPatternPredicate0,
5708 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
5709 MVT::i32, 1, 0,
5710 9,
5711 OPC_CheckChild1Type, MVT::v4i32,
5712 OPC_CheckPatternPredicate0,
5713 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
5714 MVT::i32, 1, 0,
5715 9,
5716 OPC_CheckChild1Type, MVT::v2i64,
5717 OPC_CheckPatternPredicate0,
5718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
5719 MVT::i32, 1, 0,
5720 0,
5721 47,
5722 OPC_CheckChild0Integer, 30|128,112|128,0,
5723 OPC_RecordChild1,
5724 OPC_Scope, 9,
5725 OPC_CheckChild1Type, MVT::v16i8,
5726 OPC_CheckPatternPredicate0,
5727 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I8x16),
5728 MVT::i32, 1, 0,
5729 9,
5730 OPC_CheckChild1Type, MVT::v8i16,
5731 OPC_CheckPatternPredicate0,
5732 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I16x8),
5733 MVT::i32, 1, 0,
5734 9,
5735 OPC_CheckChild1Type, MVT::v4i32,
5736 OPC_CheckPatternPredicate0,
5737 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I32x4),
5738 MVT::i32, 1, 0,
5739 9,
5740 OPC_CheckChild1Type, MVT::v2i64,
5741 OPC_CheckPatternPredicate0,
5742 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I64x2),
5743 MVT::i32, 1, 0,
5744 0,
5745 11,
5746 OPC_CheckChild0Integer, 57|128,112|128,0,
5747 OPC_CheckPatternPredicate7,
5748 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_FUNCREF),
5749 122|128,1, 0,
5750 12,
5751 OPC_CheckChild0Integer, 54|128,112|128,0,
5752 OPC_RecordChild1,
5753 OPC_CheckPatternPredicate7,
5754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_FUNCREF),
5755 MVT::i32, 1, 0,
5756 11,
5757 OPC_CheckChild0Integer, 56|128,112|128,0,
5758 OPC_CheckPatternPredicate7,
5759 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXTERNREF),
5760 123|128,1, 0,
5761 12,
5762 OPC_CheckChild0Integer, 53|128,112|128,0,
5763 OPC_RecordChild1,
5764 OPC_CheckPatternPredicate7,
5765 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXTERNREF),
5766 MVT::i32, 1, 0,
5767 11,
5768 OPC_CheckChild0Integer, 55|128,112|128,0,
5769 OPC_CheckPatternPredicate7,
5770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXNREF),
5771 124|128,1, 0,
5772 12,
5773 OPC_CheckChild0Integer, 52|128,112|128,0,
5774 OPC_RecordChild1,
5775 OPC_CheckPatternPredicate7,
5776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXNREF),
5777 MVT::i32, 1, 0,
5778 23,
5779 OPC_CheckChild0Integer, 36|128,112|128,0,
5780 OPC_RecordChild1,
5781 OPC_RecordChild2,
5782 OPC_MoveChild2,
5783 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5784 OPC_CheckPredicate, 15,
5785 OPC_MoveParent,
5786 OPC_CheckPatternPredicate, 16,
5787 OPC_EmitConvertToTarget1,
5788 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F16x8),
5789 MVT::f32, 2, 0, 2,
5790 13,
5791 OPC_CheckChild0Integer, 78|128,112|128,0,
5792 OPC_RecordChild1,
5793 OPC_RecordChild2,
5794 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
5795 MVT::v16i8, 2, 0, 1,
5796 125,
5797 OPC_CheckChild0Integer, 31|128,112|128,0,
5798 OPC_RecordChild1,
5799 OPC_SwitchType , 16, MVT::v16i8,
5800 OPC_CheckChild1Type, MVT::v16i8,
5801 OPC_RecordChild2,
5802 OPC_CheckChild2Type, MVT::v16i8,
5803 OPC_RecordChild3,
5804 OPC_CheckChild3Type, MVT::v16i8,
5805 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5806 MVT::v16i8, 3, 0, 1, 2,
5807 16, MVT::v8i16,
5808 OPC_CheckChild1Type, MVT::v8i16,
5809 OPC_RecordChild2,
5810 OPC_CheckChild2Type, MVT::v8i16,
5811 OPC_RecordChild3,
5812 OPC_CheckChild3Type, MVT::v8i16,
5813 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5814 MVT::v8i16, 3, 0, 1, 2,
5815 16, MVT::v4i32,
5816 OPC_CheckChild1Type, MVT::v4i32,
5817 OPC_RecordChild2,
5818 OPC_CheckChild2Type, MVT::v4i32,
5819 OPC_RecordChild3,
5820 OPC_CheckChild3Type, MVT::v4i32,
5821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5822 MVT::v4i32, 3, 0, 1, 2,
5823 16, MVT::v2i64,
5824 OPC_CheckChild1Type, MVT::v2i64,
5825 OPC_RecordChild2,
5826 OPC_CheckChild2Type, MVT::v2i64,
5827 OPC_RecordChild3,
5828 OPC_CheckChild3Type, MVT::v2i64,
5829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5830 MVT::v2i64, 3, 0, 1, 2,
5831 20, 6|128,1,
5832 OPC_CheckChild1Type, 6|128,1,
5833 OPC_RecordChild2,
5834 OPC_CheckChild2Type, 6|128,1,
5835 OPC_RecordChild3,
5836 OPC_CheckChild3Type, 6|128,1,
5837 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5838 6|128,1, 3, 0, 1, 2,
5839 20, 24|128,1,
5840 OPC_CheckChild1Type, 24|128,1,
5841 OPC_RecordChild2,
5842 OPC_CheckChild2Type, 24|128,1,
5843 OPC_RecordChild3,
5844 OPC_CheckChild3Type, 24|128,1,
5845 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5846 24|128,1, 3, 0, 1, 2,
5847 0,
5848 37,
5849 OPC_CheckChild0Integer, 29|128,112|128,0,
5850 OPC_RecordChild1,
5851 OPC_SwitchType , 13, MVT::v16i8,
5852 OPC_CheckChild1Type, MVT::v16i8,
5853 OPC_RecordChild2,
5854 OPC_CheckChild2Type, MVT::v16i8,
5855 OPC_CheckPatternPredicate0,
5856 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
5857 MVT::v16i8, 2, 0, 1,
5858 13, MVT::v8i16,
5859 OPC_CheckChild1Type, MVT::v8i16,
5860 OPC_RecordChild2,
5861 OPC_CheckChild2Type, MVT::v8i16,
5862 OPC_CheckPatternPredicate0,
5863 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
5864 MVT::v8i16, 2, 0, 1,
5865 0,
5866 14,
5867 OPC_CheckChild0Integer, 33|128,112|128,0,
5868 OPC_RecordChild1,
5869 OPC_RecordChild2,
5870 OPC_CheckPatternPredicate0,
5871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
5872 MVT::v4i32, 2, 0, 1,
5873 37,
5874 OPC_CheckChild0Integer, 47|128,112|128,0,
5875 OPC_RecordChild1,
5876 OPC_SwitchType , 13, MVT::v16i8,
5877 OPC_CheckChild1Type, MVT::v8i16,
5878 OPC_RecordChild2,
5879 OPC_CheckChild2Type, MVT::v8i16,
5880 OPC_CheckPatternPredicate0,
5881 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
5882 MVT::v16i8, 2, 0, 1,
5883 13, MVT::v8i16,
5884 OPC_CheckChild1Type, MVT::v4i32,
5885 OPC_RecordChild2,
5886 OPC_CheckChild2Type, MVT::v4i32,
5887 OPC_CheckPatternPredicate0,
5888 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
5889 MVT::v8i16, 2, 0, 1,
5890 0,
5891 37,
5892 OPC_CheckChild0Integer, 48|128,112|128,0,
5893 OPC_RecordChild1,
5894 OPC_SwitchType , 13, MVT::v16i8,
5895 OPC_CheckChild1Type, MVT::v8i16,
5896 OPC_RecordChild2,
5897 OPC_CheckChild2Type, MVT::v8i16,
5898 OPC_CheckPatternPredicate0,
5899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
5900 MVT::v16i8, 2, 0, 1,
5901 13, MVT::v8i16,
5902 OPC_CheckChild1Type, MVT::v4i32,
5903 OPC_RecordChild2,
5904 OPC_CheckChild2Type, MVT::v4i32,
5905 OPC_CheckPatternPredicate0,
5906 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
5907 MVT::v8i16, 2, 0, 1,
5908 0,
5909 27,
5910 OPC_CheckChild0Integer, 35|128,112|128,0,
5911 OPC_RecordChild1,
5912 OPC_SwitchType , 8, MVT::v4i32,
5913 OPC_CheckChild1Type, MVT::v8i16,
5914 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
5915 MVT::v4i32, 1, 0,
5916 8, MVT::v8i16,
5917 OPC_CheckChild1Type, MVT::v16i8,
5918 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
5919 MVT::v8i16, 1, 0,
5920 0,
5921 27,
5922 OPC_CheckChild0Integer, 34|128,112|128,0,
5923 OPC_RecordChild1,
5924 OPC_SwitchType , 8, MVT::v4i32,
5925 OPC_CheckChild1Type, MVT::v8i16,
5926 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
5927 MVT::v4i32, 1, 0,
5928 8, MVT::v8i16,
5929 OPC_CheckChild1Type, MVT::v16i8,
5930 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
5931 MVT::v8i16, 1, 0,
5932 0,
5933 14,
5934 OPC_CheckChild0Integer, 51|128,112|128,0,
5935 OPC_RecordChild1,
5936 OPC_RecordChild2,
5937 OPC_CheckPatternPredicate0,
5938 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::Q15MULR_SAT_S_I16x8),
5939 MVT::v8i16, 2, 0, 1,
5940 14,
5941 OPC_CheckChild0Integer, 68|128,112|128,0,
5942 OPC_RecordChild1,
5943 OPC_RecordChild2,
5944 OPC_CheckPatternPredicate5,
5945 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_SWIZZLE),
5946 MVT::v16i8, 2, 0, 1,
5947 12,
5948 OPC_CheckChild0Integer, 69|128,112|128,0,
5949 OPC_RecordChild1,
5950 OPC_CheckPatternPredicate5,
5951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_I32x4),
5952 MVT::v4i32, 1, 0,
5953 12,
5954 OPC_CheckChild0Integer, 71|128,112|128,0,
5955 OPC_RecordChild1,
5956 OPC_CheckPatternPredicate5,
5957 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_I32x4),
5958 MVT::v4i32, 1, 0,
5959 12,
5960 OPC_CheckChild0Integer, 70|128,112|128,0,
5961 OPC_RecordChild1,
5962 OPC_CheckPatternPredicate5,
5963 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_zero_I32x4),
5964 MVT::v4i32, 1, 0,
5965 12,
5966 OPC_CheckChild0Integer, 72|128,112|128,0,
5967 OPC_RecordChild1,
5968 OPC_CheckPatternPredicate5,
5969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_zero_I32x4),
5970 MVT::v4i32, 1, 0,
5971 83,
5972 OPC_CheckChild0Integer, 62|128,112|128,0,
5973 OPC_RecordChild1,
5974 OPC_SwitchType , 17, MVT::v16i8,
5975 OPC_CheckChild1Type, MVT::v16i8,
5976 OPC_RecordChild2,
5977 OPC_CheckChild2Type, MVT::v16i8,
5978 OPC_RecordChild3,
5979 OPC_CheckChild3Type, MVT::v16i8,
5980 OPC_CheckPatternPredicate5,
5981 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I8x16),
5982 MVT::v16i8, 3, 0, 1, 2,
5983 17, MVT::v8i16,
5984 OPC_CheckChild1Type, MVT::v8i16,
5985 OPC_RecordChild2,
5986 OPC_CheckChild2Type, MVT::v8i16,
5987 OPC_RecordChild3,
5988 OPC_CheckChild3Type, MVT::v8i16,
5989 OPC_CheckPatternPredicate5,
5990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I16x8),
5991 MVT::v8i16, 3, 0, 1, 2,
5992 17, MVT::v4i32,
5993 OPC_CheckChild1Type, MVT::v4i32,
5994 OPC_RecordChild2,
5995 OPC_CheckChild2Type, MVT::v4i32,
5996 OPC_RecordChild3,
5997 OPC_CheckChild3Type, MVT::v4i32,
5998 OPC_CheckPatternPredicate5,
5999 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I32x4),
6000 MVT::v4i32, 3, 0, 1, 2,
6001 17, MVT::v2i64,
6002 OPC_CheckChild1Type, MVT::v2i64,
6003 OPC_RecordChild2,
6004 OPC_CheckChild2Type, MVT::v2i64,
6005 OPC_RecordChild3,
6006 OPC_CheckChild3Type, MVT::v2i64,
6007 OPC_CheckPatternPredicate5,
6008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I64x2),
6009 MVT::v2i64, 3, 0, 1, 2,
6010 0,
6011 14,
6012 OPC_CheckChild0Integer, 67|128,112|128,0,
6013 OPC_RecordChild1,
6014 OPC_RecordChild2,
6015 OPC_CheckPatternPredicate5,
6016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_Q15MULR_S_I16x8),
6017 MVT::v8i16, 2, 0, 1,
6018 14,
6019 OPC_CheckChild0Integer, 61|128,112|128,0,
6020 OPC_RecordChild1,
6021 OPC_RecordChild2,
6022 OPC_CheckPatternPredicate5,
6023 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
6024 MVT::v8i16, 2, 0, 1,
6025 16,
6026 OPC_CheckChild0Integer, 60|128,112|128,0,
6027 OPC_RecordChild1,
6028 OPC_RecordChild2,
6029 OPC_RecordChild3,
6030 OPC_CheckPatternPredicate5,
6031 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
6032 MVT::v4i32, 3, 0, 1, 2,
6033 25,
6034 OPC_CheckChild0Integer, 73|128,112|128,0,
6035 OPC_RecordChild1,
6036 OPC_RecordChild2,
6037 OPC_MoveChild2,
6038 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6039 OPC_CheckPredicate, 15,
6040 OPC_MoveParent,
6041 OPC_RecordChild3,
6042 OPC_CheckPatternPredicate, 16,
6043 OPC_EmitConvertToTarget1,
6044 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F16x8),
6045 MVT::v8f16, 3, 0, 3, 2,
6046 13,
6047 OPC_CheckChild0Integer, 76|128,112|128,0,
6048 OPC_RecordChild1,
6049 OPC_CheckPatternPredicate, 16,
6050 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F16x8),
6051 MVT::v8f16, 1, 0,
6052 57,
6053 OPC_CheckChild0Integer, 50|128,112|128,0,
6054 OPC_RecordChild1,
6055 OPC_SwitchType , 15, 6|128,1,
6056 OPC_CheckChild1Type, 6|128,1,
6057 OPC_RecordChild2,
6058 OPC_CheckChild2Type, 6|128,1,
6059 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
6060 6|128,1, 2, 0, 1,
6061 15, 24|128,1,
6062 OPC_CheckChild1Type, 24|128,1,
6063 OPC_RecordChild2,
6064 OPC_CheckChild2Type, 24|128,1,
6065 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
6066 24|128,1, 2, 0, 1,
6067 12, MVT::v8f16,
6068 OPC_CheckChild1Type, MVT::v8f16,
6069 OPC_RecordChild2,
6070 OPC_CheckChild2Type, MVT::v8f16,
6071 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
6072 MVT::v8f16, 2, 0, 1,
6073 0,
6074 57,
6075 OPC_CheckChild0Integer, 49|128,112|128,0,
6076 OPC_RecordChild1,
6077 OPC_SwitchType , 15, 6|128,1,
6078 OPC_CheckChild1Type, 6|128,1,
6079 OPC_RecordChild2,
6080 OPC_CheckChild2Type, 6|128,1,
6081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
6082 6|128,1, 2, 0, 1,
6083 15, 24|128,1,
6084 OPC_CheckChild1Type, 24|128,1,
6085 OPC_RecordChild2,
6086 OPC_CheckChild2Type, 24|128,1,
6087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
6088 24|128,1, 2, 0, 1,
6089 12, MVT::v8f16,
6090 OPC_CheckChild1Type, MVT::v8f16,
6091 OPC_RecordChild2,
6092 OPC_CheckChild2Type, MVT::v8f16,
6093 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
6094 MVT::v8f16, 2, 0, 1,
6095 0,
6096 75,
6097 OPC_CheckChild0Integer, 63|128,112|128,0,
6098 OPC_RecordChild1,
6099 OPC_SwitchType , 22, 6|128,1,
6100 OPC_CheckChild1Type, 6|128,1,
6101 OPC_RecordChild2,
6102 OPC_CheckChild2Type, 6|128,1,
6103 OPC_RecordChild3,
6104 OPC_CheckChild3Type, 6|128,1,
6105 OPC_CheckPatternPredicate, 13,
6106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
6107 6|128,1, 3, 0, 1, 2,
6108 22, 24|128,1,
6109 OPC_CheckChild1Type, 24|128,1,
6110 OPC_RecordChild2,
6111 OPC_CheckChild2Type, 24|128,1,
6112 OPC_RecordChild3,
6113 OPC_CheckChild3Type, 24|128,1,
6114 OPC_CheckPatternPredicate, 13,
6115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
6116 24|128,1, 3, 0, 1, 2,
6117 16, MVT::v8f16,
6118 OPC_CheckChild1Type, MVT::v8f16,
6119 OPC_RecordChild2,
6120 OPC_CheckChild2Type, MVT::v8f16,
6121 OPC_RecordChild3,
6122 OPC_CheckChild3Type, MVT::v8f16,
6123 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F16x8),
6124 MVT::v8f16, 3, 0, 1, 2,
6125 0,
6126 75,
6127 OPC_CheckChild0Integer, 66|128,112|128,0,
6128 OPC_RecordChild1,
6129 OPC_SwitchType , 22, 6|128,1,
6130 OPC_CheckChild1Type, 6|128,1,
6131 OPC_RecordChild2,
6132 OPC_CheckChild2Type, 6|128,1,
6133 OPC_RecordChild3,
6134 OPC_CheckChild3Type, 6|128,1,
6135 OPC_CheckPatternPredicate, 13,
6136 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
6137 6|128,1, 3, 0, 1, 2,
6138 22, 24|128,1,
6139 OPC_CheckChild1Type, 24|128,1,
6140 OPC_RecordChild2,
6141 OPC_CheckChild2Type, 24|128,1,
6142 OPC_RecordChild3,
6143 OPC_CheckChild3Type, 24|128,1,
6144 OPC_CheckPatternPredicate, 13,
6145 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
6146 24|128,1, 3, 0, 1, 2,
6147 16, MVT::v8f16,
6148 OPC_CheckChild1Type, MVT::v8f16,
6149 OPC_RecordChild2,
6150 OPC_CheckChild2Type, MVT::v8f16,
6151 OPC_RecordChild3,
6152 OPC_CheckChild3Type, MVT::v8f16,
6153 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
6154 MVT::v8f16, 3, 0, 1, 2,
6155 0,
6156 45,
6157 OPC_CheckChild0Integer, 65|128,112|128,0,
6158 OPC_RecordChild1,
6159 OPC_SwitchType , 16, 6|128,1,
6160 OPC_CheckChild1Type, 6|128,1,
6161 OPC_RecordChild2,
6162 OPC_CheckChild2Type, 6|128,1,
6163 OPC_CheckPatternPredicate5,
6164 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
6165 6|128,1, 2, 0, 1,
6166 16, 24|128,1,
6167 OPC_CheckChild1Type, 24|128,1,
6168 OPC_RecordChild2,
6169 OPC_CheckChild2Type, 24|128,1,
6170 OPC_CheckPatternPredicate5,
6171 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
6172 24|128,1, 2, 0, 1,
6173 0,
6174 45,
6175 OPC_CheckChild0Integer, 64|128,112|128,0,
6176 OPC_RecordChild1,
6177 OPC_SwitchType , 16, 6|128,1,
6178 OPC_CheckChild1Type, 6|128,1,
6179 OPC_RecordChild2,
6180 OPC_CheckChild2Type, 6|128,1,
6181 OPC_CheckPatternPredicate5,
6182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
6183 6|128,1, 2, 0, 1,
6184 16, 24|128,1,
6185 OPC_CheckChild1Type, 24|128,1,
6186 OPC_RecordChild2,
6187 OPC_CheckChild2Type, 24|128,1,
6188 OPC_CheckPatternPredicate5,
6189 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
6190 24|128,1, 2, 0, 1,
6191 0,
6192 17,
6193 OPC_CheckChild0Integer, 59|128,112|128,0,
6194 OPC_RecordChild1,
6195 OPC_RecordChild2,
6196 OPC_RecordChild3,
6197 OPC_CheckPatternPredicate5,
6198 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_BFLOAT),
6199 6|128,1, 3, 0, 1, 2,
6200 0,
6201 5|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
6202 OPC_RecordChild0,
6203 OPC_Scope, 20,
6204 OPC_CheckChild0Type, MVT::v16i8,
6205 OPC_RecordChild1,
6206 OPC_MoveChild1,
6207 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6208 OPC_CheckPredicate, 21,
6209 OPC_CheckTypeI32,
6210 OPC_MoveParent,
6211 OPC_CheckTypeI32,
6212 OPC_EmitConvertToTarget1,
6213 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u),
6214 MVT::i32, 2, 0, 2,
6215 20,
6216 OPC_CheckChild0Type, MVT::v8i16,
6217 OPC_RecordChild1,
6218 OPC_MoveChild1,
6219 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6220 OPC_CheckPredicate, 15,
6221 OPC_CheckTypeI32,
6222 OPC_MoveParent,
6223 OPC_CheckTypeI32,
6224 OPC_EmitConvertToTarget1,
6225 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u),
6226 MVT::i32, 2, 0, 2,
6227 20,
6228 OPC_CheckChild0Type, MVT::v4i32,
6229 OPC_RecordChild1,
6230 OPC_MoveChild1,
6231 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6232 OPC_CheckPredicate, 12,
6233 OPC_CheckTypeI32,
6234 OPC_MoveParent,
6235 OPC_CheckTypeI32,
6236 OPC_EmitConvertToTarget1,
6237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I32x4),
6238 MVT::i32, 2, 0, 2,
6239 20,
6240 OPC_CheckChild0Type, MVT::v2i64,
6241 OPC_RecordChild1,
6242 OPC_MoveChild1,
6243 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6244 OPC_CheckPredicate, 13,
6245 OPC_CheckTypeI32,
6246 OPC_MoveParent,
6247 OPC_CheckTypeI64,
6248 OPC_EmitConvertToTarget1,
6249 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2),
6250 MVT::i64, 2, 0, 2,
6251 22,
6252 OPC_CheckChild0Type, 6|128,1,
6253 OPC_RecordChild1,
6254 OPC_MoveChild1,
6255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6256 OPC_CheckPredicate, 12,
6257 OPC_CheckTypeI32,
6258 OPC_MoveParent,
6259 OPC_CheckType, MVT::f32,
6260 OPC_EmitConvertToTarget1,
6261 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F32x4),
6262 MVT::f32, 2, 0, 2,
6263 22,
6264 OPC_CheckChild0Type, 24|128,1,
6265 OPC_RecordChild1,
6266 OPC_MoveChild1,
6267 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6268 OPC_CheckPredicate, 13,
6269 OPC_CheckTypeI32,
6270 OPC_MoveParent,
6271 OPC_CheckType, MVT::f64,
6272 OPC_EmitConvertToTarget1,
6273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F64x2),
6274 MVT::f64, 2, 0, 2,
6275 0,
6276 2|128,1, TARGET_VAL(WebAssemblyISD::ARGUMENT),
6277 OPC_RecordChild0,
6278 OPC_MoveChild0,
6279 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6280 OPC_MoveParent,
6281 OPC_SwitchType , 6, MVT::i32,
6282 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i32),
6283 MVT::i32, 1, 0,
6284 6, MVT::i64,
6285 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i64),
6286 MVT::i64, 1, 0,
6287 7, 122|128,1,
6288 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_funcref),
6289 122|128,1, 1, 0,
6290 7, 123|128,1,
6291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_externref),
6292 123|128,1, 1, 0,
6293 7, 124|128,1,
6294 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_exnref),
6295 124|128,1, 1, 0,
6296 6, MVT::f32,
6297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f32),
6298 MVT::f32, 1, 0,
6299 6, MVT::f64,
6300 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f64),
6301 MVT::f64, 1, 0,
6302 6, MVT::v16i8,
6303 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v16i8),
6304 MVT::v16i8, 1, 0,
6305 6, MVT::v8i16,
6306 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8i16),
6307 MVT::v8i16, 1, 0,
6308 6, MVT::v4i32,
6309 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4i32),
6310 MVT::v4i32, 1, 0,
6311 6, MVT::v2i64,
6312 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2i64),
6313 MVT::v2i64, 1, 0,
6314 7, 6|128,1,
6315 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4f32),
6316 6|128,1, 1, 0,
6317 7, 24|128,1,
6318 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2f64),
6319 24|128,1, 1, 0,
6320 6, MVT::v8f16,
6321 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8f16),
6322 MVT::v8f16, 1, 0,
6323 0,
6324 28|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_GET),
6325 OPC_RecordNode,
6326 OPC_RecordChild1,
6327 OPC_MoveChild1,
6328 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6329 OPC_MoveParent,
6330 OPC_SwitchType , 7, MVT::i32,
6331 OPC_EmitMergeInputChains1_0,
6332 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I32),
6333 MVT::i32, 1, 1,
6334 7, MVT::i64,
6335 OPC_EmitMergeInputChains1_0,
6336 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I64),
6337 MVT::i64, 1, 1,
6338 9, 122|128,1,
6339 OPC_CheckPatternPredicate7,
6340 OPC_EmitMergeInputChains1_0,
6341 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_FUNCREF),
6342 122|128,1, 1, 1,
6343 9, 123|128,1,
6344 OPC_CheckPatternPredicate7,
6345 OPC_EmitMergeInputChains1_0,
6346 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXTERNREF),
6347 123|128,1, 1, 1,
6348 10, 124|128,1,
6349 OPC_CheckPatternPredicate, 8,
6350 OPC_EmitMergeInputChains1_0,
6351 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXNREF),
6352 124|128,1, 1, 1,
6353 7, MVT::f32,
6354 OPC_EmitMergeInputChains1_0,
6355 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F32),
6356 MVT::f32, 1, 1,
6357 7, MVT::f64,
6358 OPC_EmitMergeInputChains1_0,
6359 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F64),
6360 MVT::f64, 1, 1,
6361 8, MVT::v2i64,
6362 OPC_CheckPatternPredicate0,
6363 OPC_EmitMergeInputChains1_0,
6364 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6365 MVT::v2i64, 1, 1,
6366 8, MVT::v4i32,
6367 OPC_CheckPatternPredicate0,
6368 OPC_EmitMergeInputChains1_0,
6369 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6370 MVT::v4i32, 1, 1,
6371 8, MVT::v16i8,
6372 OPC_CheckPatternPredicate0,
6373 OPC_EmitMergeInputChains1_0,
6374 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6375 MVT::v16i8, 1, 1,
6376 8, MVT::v8i16,
6377 OPC_CheckPatternPredicate0,
6378 OPC_EmitMergeInputChains1_0,
6379 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6380 MVT::v8i16, 1, 1,
6381 8, MVT::v8f16,
6382 OPC_CheckPatternPredicate0,
6383 OPC_EmitMergeInputChains1_0,
6384 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6385 MVT::v8f16, 1, 1,
6386 9, 6|128,1,
6387 OPC_CheckPatternPredicate0,
6388 OPC_EmitMergeInputChains1_0,
6389 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6390 6|128,1, 1, 1,
6391 9, 24|128,1,
6392 OPC_CheckPatternPredicate0,
6393 OPC_EmitMergeInputChains1_0,
6394 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6395 24|128,1, 1, 1,
6396 0,
6397 36|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_SET),
6398 OPC_RecordNode,
6399 OPC_RecordChild1,
6400 OPC_MoveChild1,
6401 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6402 OPC_MoveParent,
6403 OPC_RecordChild2,
6404 OPC_Scope, 8,
6405 OPC_CheckChild2TypeI32,
6406 OPC_EmitMergeInputChains1_0,
6407 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I32),
6408 2, 1, 2,
6409 8,
6410 OPC_CheckChild2TypeI64,
6411 OPC_EmitMergeInputChains1_0,
6412 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I64),
6413 2, 1, 2,
6414 9,
6415 OPC_CheckChild2Type, MVT::f32,
6416 OPC_EmitMergeInputChains1_0,
6417 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F32),
6418 2, 1, 2,
6419 9,
6420 OPC_CheckChild2Type, MVT::f64,
6421 OPC_EmitMergeInputChains1_0,
6422 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F64),
6423 2, 1, 2,
6424 10,
6425 OPC_CheckChild2Type, MVT::v2i64,
6426 OPC_CheckPatternPredicate0,
6427 OPC_EmitMergeInputChains1_0,
6428 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6429 2, 1, 2,
6430 10,
6431 OPC_CheckChild2Type, MVT::v4i32,
6432 OPC_CheckPatternPredicate0,
6433 OPC_EmitMergeInputChains1_0,
6434 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6435 2, 1, 2,
6436 10,
6437 OPC_CheckChild2Type, MVT::v16i8,
6438 OPC_CheckPatternPredicate0,
6439 OPC_EmitMergeInputChains1_0,
6440 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6441 2, 1, 2,
6442 10,
6443 OPC_CheckChild2Type, MVT::v8i16,
6444 OPC_CheckPatternPredicate0,
6445 OPC_EmitMergeInputChains1_0,
6446 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6447 2, 1, 2,
6448 10,
6449 OPC_CheckChild2Type, MVT::v8f16,
6450 OPC_CheckPatternPredicate0,
6451 OPC_EmitMergeInputChains1_0,
6452 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6453 2, 1, 2,
6454 11,
6455 OPC_CheckChild2Type, 6|128,1,
6456 OPC_CheckPatternPredicate0,
6457 OPC_EmitMergeInputChains1_0,
6458 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6459 2, 1, 2,
6460 11,
6461 OPC_CheckChild2Type, 24|128,1,
6462 OPC_CheckPatternPredicate0,
6463 OPC_EmitMergeInputChains1_0,
6464 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6465 2, 1, 2,
6466 11,
6467 OPC_CheckChild2Type, 122|128,1,
6468 OPC_CheckPatternPredicate7,
6469 OPC_EmitMergeInputChains1_0,
6470 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_FUNCREF),
6471 2, 1, 2,
6472 11,
6473 OPC_CheckChild2Type, 123|128,1,
6474 OPC_CheckPatternPredicate7,
6475 OPC_EmitMergeInputChains1_0,
6476 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXTERNREF),
6477 2, 1, 2,
6478 12,
6479 OPC_CheckChild2Type, 124|128,1,
6480 OPC_CheckPatternPredicate, 8,
6481 OPC_EmitMergeInputChains1_0,
6482 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXNREF),
6483 2, 1, 2,
6484 0,
6485 0|128,1, TARGET_VAL(WebAssemblyISD::Wrapper),
6486 OPC_RecordChild0,
6487 OPC_MoveChild0,
6488 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::TargetGlobalAddress),
6489 OPC_MoveParent,
6490 OPC_SwitchType , 20, MVT::i32,
6491 OPC_Scope, 8,
6492 OPC_CheckPatternPredicate, 17,
6493 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6494 MVT::i32, 1, 0,
6495 8,
6496 OPC_CheckPatternPredicate, 14,
6497 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6498 MVT::i32, 1, 0,
6499 0,
6500 20, MVT::i64,
6501 OPC_Scope, 8,
6502 OPC_CheckPatternPredicate, 18,
6503 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6504 MVT::i64, 1, 0,
6505 8,
6506 OPC_CheckPatternPredicate, 15,
6507 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6508 MVT::i64, 1, 0,
6509 0,
6510 0,
6511 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6512 OPC_MoveParent,
6513 OPC_SwitchType , 7, MVT::i32,
6514 OPC_CheckPatternPredicate1,
6515 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6516 MVT::i32, 1, 0,
6517 7, MVT::i64,
6518 OPC_CheckPatternPredicate2,
6519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6520 MVT::i64, 1, 0,
6521 0,
6522 47, TARGET_VAL(ISD::TargetExternalSymbol),
6523 OPC_MoveParent,
6524 OPC_SwitchType , 20, MVT::i32,
6525 OPC_Scope, 8,
6526 OPC_CheckPatternPredicate, 14,
6527 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6528 MVT::i32, 1, 0,
6529 8,
6530 OPC_CheckPatternPredicate, 17,
6531 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6532 MVT::i32, 1, 0,
6533 0,
6534 20, MVT::i64,
6535 OPC_Scope, 8,
6536 OPC_CheckPatternPredicate, 15,
6537 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6538 MVT::i64, 1, 0,
6539 8,
6540 OPC_CheckPatternPredicate, 18,
6541 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6542 MVT::i64, 1, 0,
6543 0,
6544 0,
6545 0,
6546 80, TARGET_VAL(WebAssemblyISD::WrapperREL),
6547 OPC_RecordChild0,
6548 OPC_MoveChild0,
6549 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
6550 OPC_MoveParent,
6551 OPC_SwitchType , 8, MVT::i32,
6552 OPC_CheckPatternPredicate, 14,
6553 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6554 MVT::i32, 1, 0,
6555 8, MVT::i64,
6556 OPC_CheckPatternPredicate, 15,
6557 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6558 MVT::i64, 1, 0,
6559 0,
6560 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6561 OPC_MoveParent,
6562 OPC_SwitchType , 7, MVT::i32,
6563 OPC_CheckPatternPredicate1,
6564 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6565 MVT::i32, 1, 0,
6566 7, MVT::i64,
6567 OPC_CheckPatternPredicate2,
6568 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6569 MVT::i64, 1, 0,
6570 0,
6571 23, TARGET_VAL(ISD::TargetExternalSymbol),
6572 OPC_MoveParent,
6573 OPC_SwitchType , 8, MVT::i32,
6574 OPC_CheckPatternPredicate, 14,
6575 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6576 MVT::i32, 1, 0,
6577 8, MVT::i64,
6578 OPC_CheckPatternPredicate, 15,
6579 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6580 MVT::i64, 1, 0,
6581 0,
6582 0,
6583 47, TARGET_VAL(WebAssemblyISD::MEMSET),
6584 OPC_RecordNode,
6585 OPC_RecordChild1,
6586 OPC_MoveChild1,
6587 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6588 OPC_CheckTypeI32,
6589 OPC_MoveParent,
6590 OPC_RecordChild2,
6591 OPC_Scope, 17,
6592 OPC_CheckChild2TypeI32,
6593 OPC_RecordChild3,
6594 OPC_CheckChild3TypeI32,
6595 OPC_RecordChild4,
6596 OPC_CheckChild4TypeI32,
6597 OPC_CheckPatternPredicate, 12,
6598 OPC_EmitMergeInputChains1_0,
6599 OPC_EmitConvertToTarget1,
6600 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A32),
6601 4, 5, 2, 3, 4,
6602 17,
6603 OPC_CheckChild2TypeI64,
6604 OPC_RecordChild3,
6605 OPC_CheckChild3TypeI32,
6606 OPC_RecordChild4,
6607 OPC_CheckChild4TypeI64,
6608 OPC_CheckPatternPredicate, 12,
6609 OPC_EmitMergeInputChains1_0,
6610 OPC_EmitConvertToTarget1,
6611 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A64),
6612 4, 5, 2, 3, 4,
6613 0,
6614 21, TARGET_VAL(ISD::Constant),
6615 OPC_RecordNode,
6616 OPC_SwitchType , 7, MVT::i32,
6617 OPC_EmitConvertToTarget0,
6618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6619 MVT::i32, 1, 1,
6620 7, MVT::i64,
6621 OPC_EmitConvertToTarget0,
6622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6623 MVT::i64, 1, 1,
6624 0,
6625 13, TARGET_VAL(ISD::BR),
6626 OPC_RecordNode,
6627 OPC_RecordChild1,
6628 OPC_MoveChild1,
6629 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6630 OPC_MoveParent,
6631 OPC_EmitMergeInputChains1_0,
6632 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR),
6633 1, 1,
6634 22, TARGET_VAL(WebAssemblyISD::BR_TABLE),
6635 OPC_RecordNode,
6636 OPC_RecordChild1,
6637 OPC_Scope, 8,
6638 OPC_CheckChild1TypeI32,
6639 OPC_EmitMergeInputChains1_0,
6640 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
6641 1, 1,
6642 8,
6643 OPC_CheckChild1TypeI64,
6644 OPC_EmitMergeInputChains1_0,
6645 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
6646 1, 1,
6647 0,
6648 7, TARGET_VAL(WebAssemblyISD::RETURN),
6649 OPC_RecordNode,
6650 OPC_EmitMergeInputChains1_0,
6651 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN), 0|OPFL_Chain|OPFL_Variadic0,
6652 0,
6653 6, TARGET_VAL(ISD::TRAP),
6654 OPC_RecordNode,
6655 OPC_EmitMergeInputChains1_0,
6656 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::UNREACHABLE),
6657 0,
6658 6, TARGET_VAL(ISD::DEBUGTRAP),
6659 OPC_RecordNode,
6660 OPC_EmitMergeInputChains1_0,
6661 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::DEBUG_UNREACHABLE),
6662 0,
6663 15, TARGET_VAL(ISD::CLEANUPRET),
6664 OPC_RecordNode,
6665 OPC_RecordChild1,
6666 OPC_MoveChild1,
6667 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6668 OPC_MoveParent,
6669 OPC_CheckPatternPredicate, 19,
6670 OPC_EmitMergeInputChains1_0,
6671 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CLEANUPRET),
6672 1, 1,
6673 21, TARGET_VAL(ISD::CATCHRET),
6674 OPC_RecordNode,
6675 OPC_RecordChild1,
6676 OPC_MoveChild1,
6677 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6678 OPC_MoveSibling2,
6679 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6680 OPC_RecordNode,
6681 OPC_MoveParent,
6682 OPC_CheckPatternPredicate, 19,
6683 OPC_EmitMergeInputChains1_0,
6684 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CATCHRET),
6685 2, 1, 2,
6686 7, TARGET_VAL(ISD::TRUNCATE),
6687 OPC_RecordChild0,
6688 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
6689 MVT::i32, 1, 0,
6690 7, TARGET_VAL(ISD::SIGN_EXTEND),
6691 OPC_RecordChild0,
6692 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32),
6693 MVT::i64, 1, 0,
6694 121, TARGET_VAL(ISD::FP_TO_SINT),
6695 OPC_RecordChild0,
6696 OPC_Scope, 48,
6697 OPC_CheckChild0Type, MVT::f32,
6698 OPC_SwitchType , 20, MVT::i32,
6699 OPC_Scope, 8,
6700 OPC_CheckPatternPredicate, 9,
6701 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
6702 MVT::i32, 1, 0,
6703 8,
6704 OPC_CheckPatternPredicate, 10,
6705 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32),
6706 MVT::i32, 1, 0,
6707 0,
6708 20, MVT::i64,
6709 OPC_Scope, 8,
6710 OPC_CheckPatternPredicate, 9,
6711 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
6712 MVT::i64, 1, 0,
6713 8,
6714 OPC_CheckPatternPredicate, 10,
6715 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32),
6716 MVT::i64, 1, 0,
6717 0,
6718 0,
6719 48,
6720 OPC_CheckChild0Type, MVT::f64,
6721 OPC_SwitchType , 20, MVT::i32,
6722 OPC_Scope, 8,
6723 OPC_CheckPatternPredicate, 9,
6724 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
6725 MVT::i32, 1, 0,
6726 8,
6727 OPC_CheckPatternPredicate, 10,
6728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64),
6729 MVT::i32, 1, 0,
6730 0,
6731 20, MVT::i64,
6732 OPC_Scope, 8,
6733 OPC_CheckPatternPredicate, 9,
6734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
6735 MVT::i64, 1, 0,
6736 8,
6737 OPC_CheckPatternPredicate, 10,
6738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64),
6739 MVT::i64, 1, 0,
6740 0,
6741 0,
6742 9,
6743 OPC_CheckType, MVT::v4i32,
6744 OPC_CheckPatternPredicate0,
6745 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
6746 MVT::v4i32, 1, 0,
6747 9,
6748 OPC_CheckType, MVT::v8i16,
6749 OPC_CheckPatternPredicate6,
6750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
6751 MVT::v8i16, 1, 0,
6752 0,
6753 121, TARGET_VAL(ISD::FP_TO_UINT),
6754 OPC_RecordChild0,
6755 OPC_Scope, 48,
6756 OPC_CheckChild0Type, MVT::f32,
6757 OPC_SwitchType , 20, MVT::i32,
6758 OPC_Scope, 8,
6759 OPC_CheckPatternPredicate, 9,
6760 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
6761 MVT::i32, 1, 0,
6762 8,
6763 OPC_CheckPatternPredicate, 10,
6764 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32),
6765 MVT::i32, 1, 0,
6766 0,
6767 20, MVT::i64,
6768 OPC_Scope, 8,
6769 OPC_CheckPatternPredicate, 9,
6770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
6771 MVT::i64, 1, 0,
6772 8,
6773 OPC_CheckPatternPredicate, 10,
6774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32),
6775 MVT::i64, 1, 0,
6776 0,
6777 0,
6778 48,
6779 OPC_CheckChild0Type, MVT::f64,
6780 OPC_SwitchType , 20, MVT::i32,
6781 OPC_Scope, 8,
6782 OPC_CheckPatternPredicate, 9,
6783 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
6784 MVT::i32, 1, 0,
6785 8,
6786 OPC_CheckPatternPredicate, 10,
6787 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64),
6788 MVT::i32, 1, 0,
6789 0,
6790 20, MVT::i64,
6791 OPC_Scope, 8,
6792 OPC_CheckPatternPredicate, 9,
6793 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
6794 MVT::i64, 1, 0,
6795 8,
6796 OPC_CheckPatternPredicate, 10,
6797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64),
6798 MVT::i64, 1, 0,
6799 0,
6800 0,
6801 9,
6802 OPC_CheckType, MVT::v4i32,
6803 OPC_CheckPatternPredicate0,
6804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
6805 MVT::v4i32, 1, 0,
6806 9,
6807 OPC_CheckType, MVT::v8i16,
6808 OPC_CheckPatternPredicate6,
6809 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
6810 MVT::v8i16, 1, 0,
6811 0,
6812 87, TARGET_VAL(ISD::FP_TO_SINT_SAT),
6813 OPC_RecordChild0,
6814 OPC_Scope, 27,
6815 OPC_CheckChild0Type, MVT::f32,
6816 OPC_MoveChild1,
6817 OPC_Scope, 10,
6818 OPC_CheckValueType, MVT::i32,
6819 OPC_MoveParent,
6820 OPC_CheckTypeI32,
6821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
6822 MVT::i32, 1, 0,
6823 10,
6824 OPC_CheckValueType, MVT::i64,
6825 OPC_MoveParent,
6826 OPC_CheckTypeI64,
6827 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
6828 MVT::i64, 1, 0,
6829 0,
6830 27,
6831 OPC_CheckChild0Type, MVT::f64,
6832 OPC_MoveChild1,
6833 OPC_Scope, 10,
6834 OPC_CheckValueType, MVT::i32,
6835 OPC_MoveParent,
6836 OPC_CheckTypeI32,
6837 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
6838 MVT::i32, 1, 0,
6839 10,
6840 OPC_CheckValueType, MVT::i64,
6841 OPC_MoveParent,
6842 OPC_CheckTypeI64,
6843 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
6844 MVT::i64, 1, 0,
6845 0,
6846 27,
6847 OPC_MoveChild1,
6848 OPC_Scope, 11,
6849 OPC_CheckValueType, MVT::i32,
6850 OPC_MoveParent,
6851 OPC_CheckType, MVT::v4i32,
6852 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
6853 MVT::v4i32, 1, 0,
6854 11,
6855 OPC_CheckValueType, MVT::i16,
6856 OPC_MoveParent,
6857 OPC_CheckType, MVT::v8i16,
6858 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
6859 MVT::v8i16, 1, 0,
6860 0,
6861 0,
6862 87, TARGET_VAL(ISD::FP_TO_UINT_SAT),
6863 OPC_RecordChild0,
6864 OPC_Scope, 27,
6865 OPC_CheckChild0Type, MVT::f32,
6866 OPC_MoveChild1,
6867 OPC_Scope, 10,
6868 OPC_CheckValueType, MVT::i32,
6869 OPC_MoveParent,
6870 OPC_CheckTypeI32,
6871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
6872 MVT::i32, 1, 0,
6873 10,
6874 OPC_CheckValueType, MVT::i64,
6875 OPC_MoveParent,
6876 OPC_CheckTypeI64,
6877 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
6878 MVT::i64, 1, 0,
6879 0,
6880 27,
6881 OPC_CheckChild0Type, MVT::f64,
6882 OPC_MoveChild1,
6883 OPC_Scope, 10,
6884 OPC_CheckValueType, MVT::i32,
6885 OPC_MoveParent,
6886 OPC_CheckTypeI32,
6887 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
6888 MVT::i32, 1, 0,
6889 10,
6890 OPC_CheckValueType, MVT::i64,
6891 OPC_MoveParent,
6892 OPC_CheckTypeI64,
6893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
6894 MVT::i64, 1, 0,
6895 0,
6896 27,
6897 OPC_MoveChild1,
6898 OPC_Scope, 11,
6899 OPC_CheckValueType, MVT::i32,
6900 OPC_MoveParent,
6901 OPC_CheckType, MVT::v4i32,
6902 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
6903 MVT::v4i32, 1, 0,
6904 11,
6905 OPC_CheckValueType, MVT::i16,
6906 OPC_MoveParent,
6907 OPC_CheckType, MVT::v8i16,
6908 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
6909 MVT::v8i16, 1, 0,
6910 0,
6911 0,
6912 46|128,2, TARGET_VAL(ISD::BITCAST),
6913 OPC_RecordChild0,
6914 OPC_Scope, 9,
6915 OPC_CheckChild0Type, MVT::f32,
6916 OPC_CheckTypeI32,
6917 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32),
6918 MVT::i32, 1, 0,
6919 9,
6920 OPC_CheckChild0Type, MVT::f64,
6921 OPC_CheckTypeI64,
6922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64),
6923 MVT::i64, 1, 0,
6924 9,
6925 OPC_CheckChild0TypeI32,
6926 OPC_CheckType, MVT::f32,
6927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32),
6928 MVT::f32, 1, 0,
6929 9,
6930 OPC_CheckChild0TypeI64,
6931 OPC_CheckType, MVT::f64,
6932 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64),
6933 MVT::f64, 1, 0,
6934 36,
6935 OPC_CheckChild0Type, MVT::v8i16,
6936 OPC_SwitchType , 3, MVT::v16i8,
6937 OPC_CompleteMatch, 1, 0,
6938
6939 3, MVT::v4i32,
6940 OPC_CompleteMatch, 1, 0,
6941
6942 3, MVT::v2i64,
6943 OPC_CompleteMatch, 1, 0,
6944
6945 3, 6|128,1,
6946 OPC_CompleteMatch, 1, 0,
6947
6948 3, 24|128,1,
6949 OPC_CompleteMatch, 1, 0,
6950
6951 3, MVT::v8f16,
6952 OPC_CompleteMatch, 1, 0,
6953
6954 0,
6955 36,
6956 OPC_CheckChild0Type, MVT::v4i32,
6957 OPC_SwitchType , 3, MVT::v16i8,
6958 OPC_CompleteMatch, 1, 0,
6959
6960 3, MVT::v8i16,
6961 OPC_CompleteMatch, 1, 0,
6962
6963 3, MVT::v2i64,
6964 OPC_CompleteMatch, 1, 0,
6965
6966 3, 6|128,1,
6967 OPC_CompleteMatch, 1, 0,
6968
6969 3, 24|128,1,
6970 OPC_CompleteMatch, 1, 0,
6971
6972 3, MVT::v8f16,
6973 OPC_CompleteMatch, 1, 0,
6974
6975 0,
6976 36,
6977 OPC_CheckChild0Type, MVT::v2i64,
6978 OPC_SwitchType , 3, MVT::v16i8,
6979 OPC_CompleteMatch, 1, 0,
6980
6981 3, MVT::v8i16,
6982 OPC_CompleteMatch, 1, 0,
6983
6984 3, MVT::v4i32,
6985 OPC_CompleteMatch, 1, 0,
6986
6987 3, 6|128,1,
6988 OPC_CompleteMatch, 1, 0,
6989
6990 3, 24|128,1,
6991 OPC_CompleteMatch, 1, 0,
6992
6993 3, MVT::v8f16,
6994 OPC_CompleteMatch, 1, 0,
6995
6996 0,
6997 36,
6998 OPC_CheckChild0Type, 6|128,1,
6999 OPC_SwitchType , 3, MVT::v16i8,
7000 OPC_CompleteMatch, 1, 0,
7001
7002 3, MVT::v8i16,
7003 OPC_CompleteMatch, 1, 0,
7004
7005 3, MVT::v4i32,
7006 OPC_CompleteMatch, 1, 0,
7007
7008 3, MVT::v2i64,
7009 OPC_CompleteMatch, 1, 0,
7010
7011 3, 24|128,1,
7012 OPC_CompleteMatch, 1, 0,
7013
7014 3, MVT::v8f16,
7015 OPC_CompleteMatch, 1, 0,
7016
7017 0,
7018 36,
7019 OPC_CheckChild0Type, 24|128,1,
7020 OPC_SwitchType , 3, MVT::v16i8,
7021 OPC_CompleteMatch, 1, 0,
7022
7023 3, MVT::v8i16,
7024 OPC_CompleteMatch, 1, 0,
7025
7026 3, MVT::v4i32,
7027 OPC_CompleteMatch, 1, 0,
7028
7029 3, MVT::v2i64,
7030 OPC_CompleteMatch, 1, 0,
7031
7032 3, 6|128,1,
7033 OPC_CompleteMatch, 1, 0,
7034
7035 3, MVT::v8f16,
7036 OPC_CompleteMatch, 1, 0,
7037
7038 0,
7039 36,
7040 OPC_CheckChild0Type, MVT::v8f16,
7041 OPC_SwitchType , 3, MVT::v16i8,
7042 OPC_CompleteMatch, 1, 0,
7043
7044 3, MVT::v8i16,
7045 OPC_CompleteMatch, 1, 0,
7046
7047 3, MVT::v4i32,
7048 OPC_CompleteMatch, 1, 0,
7049
7050 3, MVT::v2i64,
7051 OPC_CompleteMatch, 1, 0,
7052
7053 3, 6|128,1,
7054 OPC_CompleteMatch, 1, 0,
7055
7056 3, 24|128,1,
7057 OPC_CompleteMatch, 1, 0,
7058
7059 0,
7060 36,
7061 OPC_CheckChild0Type, MVT::v16i8,
7062 OPC_SwitchType , 3, MVT::v8i16,
7063 OPC_CompleteMatch, 1, 0,
7064
7065 3, MVT::v4i32,
7066 OPC_CompleteMatch, 1, 0,
7067
7068 3, MVT::v2i64,
7069 OPC_CompleteMatch, 1, 0,
7070
7071 3, 6|128,1,
7072 OPC_CompleteMatch, 1, 0,
7073
7074 3, 24|128,1,
7075 OPC_CompleteMatch, 1, 0,
7076
7077 3, MVT::v8f16,
7078 OPC_CompleteMatch, 1, 0,
7079
7080 0,
7081 0,
7082 124|128,69, TARGET_VAL(ISD::ADD),
7083 OPC_Scope, 22,
7084 OPC_RecordChild0,
7085 OPC_RecordChild1,
7086 OPC_SwitchType , 7, MVT::i32,
7087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32),
7088 MVT::i32, 2, 0, 1,
7089 7, MVT::i64,
7090 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64),
7091 MVT::i64, 2, 0, 1,
7092 0,
7093 18|128,69,
7094 OPC_MoveChild0,
7095 OPC_SwitchOpcode , 79|128,59, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7096 OPC_MoveChild0,
7097 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7098 OPC_MoveChild0,
7099 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7100 OPC_RecordChild0,
7101 OPC_Scope, 96|128,29,
7102 OPC_CheckChild0Type, MVT::v8i16,
7103 OPC_MoveSibling1,
7104 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7105 OPC_RecordChild0,
7106 OPC_CheckChild0Type, MVT::v8i16,
7107 OPC_MoveParent,
7108 OPC_CheckType, MVT::v4i32,
7109 OPC_MoveSibling1,
7110 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7111 OPC_MoveChild0,
7112 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7113 OPC_Scope, 12|128,4,
7114 OPC_CheckChild0Same, 0,
7115 OPC_MoveSibling1,
7116 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7117 OPC_CheckChild0Same, 1,
7118 OPC_MoveParent,
7119 OPC_CheckType, MVT::v4i32,
7120 OPC_MoveParent,
7121 OPC_CheckChild2Integer, 0,
7122 OPC_CheckChild2TypeI32,
7123 OPC_CheckChild3Integer, 1,
7124 OPC_CheckChild3TypeI32,
7125 OPC_CheckChild4Integer, 2,
7126 OPC_CheckChild4TypeI32,
7127 OPC_MoveChild5,
7128 OPC_CheckInteger, 3,
7129 OPC_CheckTypeI32,
7130 OPC_MoveSibling6,
7131 OPC_CheckInteger, 8,
7132 OPC_CheckTypeI32,
7133 OPC_MoveSibling7,
7134 OPC_CheckInteger, 9,
7135 OPC_CheckTypeI32,
7136 OPC_MoveSibling, 8,
7137 OPC_CheckInteger, 10,
7138 OPC_CheckTypeI32,
7139 OPC_MoveSibling, 9,
7140 OPC_CheckInteger, 11,
7141 OPC_CheckTypeI32,
7142 OPC_MoveSibling, 10,
7143 OPC_CheckInteger, 16,
7144 OPC_CheckTypeI32,
7145 OPC_MoveSibling, 11,
7146 OPC_CheckInteger, 17,
7147 OPC_CheckTypeI32,
7148 OPC_MoveSibling, 12,
7149 OPC_CheckInteger, 18,
7150 OPC_CheckTypeI32,
7151 OPC_MoveSibling, 13,
7152 OPC_CheckInteger, 19,
7153 OPC_CheckTypeI32,
7154 OPC_MoveSibling, 14,
7155 OPC_CheckInteger, 24,
7156 OPC_CheckTypeI32,
7157 OPC_MoveSibling, 15,
7158 OPC_CheckInteger, 25,
7159 OPC_CheckTypeI32,
7160 OPC_MoveSibling, 16,
7161 OPC_CheckInteger, 26,
7162 OPC_CheckTypeI32,
7163 OPC_MoveSibling, 17,
7164 OPC_CheckInteger, 27,
7165 OPC_CheckTypeI32,
7166 OPC_MoveParent,
7167 OPC_MoveSibling1,
7168 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7169 OPC_MoveChild0,
7170 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7171 OPC_MoveChild0,
7172 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7173 OPC_Scope, 83|128,1,
7174 OPC_CheckChild0Same, 0,
7175 OPC_MoveSibling1,
7176 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7177 OPC_CheckChild0Same, 1,
7178 OPC_MoveParent,
7179 OPC_CheckType, MVT::v4i32,
7180 OPC_MoveSibling1,
7181 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7182 OPC_MoveChild0,
7183 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7184 OPC_Scope, 94,
7185 OPC_CheckChild0Same, 0,
7186 OPC_MoveSibling1,
7187 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7188 OPC_CheckChild0Same, 1,
7189 OPC_MoveParent,
7190 OPC_CheckType, MVT::v4i32,
7191 OPC_MoveParent,
7192 OPC_CheckChild2Integer, 4,
7193 OPC_CheckChild2TypeI32,
7194 OPC_CheckChild3Integer, 5,
7195 OPC_CheckChild3TypeI32,
7196 OPC_CheckChild4Integer, 6,
7197 OPC_CheckChild4TypeI32,
7198 OPC_MoveChild5,
7199 OPC_CheckInteger, 7,
7200 OPC_CheckTypeI32,
7201 OPC_MoveSibling6,
7202 OPC_CheckInteger, 12,
7203 OPC_CheckTypeI32,
7204 OPC_MoveSibling7,
7205 OPC_CheckInteger, 13,
7206 OPC_CheckTypeI32,
7207 OPC_MoveSibling, 8,
7208 OPC_CheckInteger, 14,
7209 OPC_CheckTypeI32,
7210 OPC_MoveSibling, 9,
7211 OPC_CheckInteger, 15,
7212 OPC_CheckTypeI32,
7213 OPC_MoveSibling, 10,
7214 OPC_CheckInteger, 20,
7215 OPC_CheckTypeI32,
7216 OPC_MoveSibling, 11,
7217 OPC_CheckInteger, 21,
7218 OPC_CheckTypeI32,
7219 OPC_MoveSibling, 12,
7220 OPC_CheckInteger, 22,
7221 OPC_CheckTypeI32,
7222 OPC_MoveSibling, 13,
7223 OPC_CheckInteger, 23,
7224 OPC_CheckTypeI32,
7225 OPC_MoveSibling, 14,
7226 OPC_CheckInteger, 28,
7227 OPC_CheckTypeI32,
7228 OPC_MoveSibling, 15,
7229 OPC_CheckInteger, 29,
7230 OPC_CheckTypeI32,
7231 OPC_MoveSibling, 16,
7232 OPC_CheckInteger, 30,
7233 OPC_CheckTypeI32,
7234 OPC_MoveSibling, 17,
7235 OPC_CheckInteger, 31,
7236 OPC_CheckTypeI32,
7237 OPC_MoveParent,
7238 OPC_MoveParent,
7239 OPC_CheckType, MVT::v4i32,
7240 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7241 MVT::v4i32, 2, 0, 1,
7242 94,
7243 OPC_CheckChild0Same, 1,
7244 OPC_MoveSibling1,
7245 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7246 OPC_CheckChild0Same, 0,
7247 OPC_MoveParent,
7248 OPC_CheckType, MVT::v4i32,
7249 OPC_MoveParent,
7250 OPC_CheckChild2Integer, 4,
7251 OPC_CheckChild2TypeI32,
7252 OPC_CheckChild3Integer, 5,
7253 OPC_CheckChild3TypeI32,
7254 OPC_CheckChild4Integer, 6,
7255 OPC_CheckChild4TypeI32,
7256 OPC_MoveChild5,
7257 OPC_CheckInteger, 7,
7258 OPC_CheckTypeI32,
7259 OPC_MoveSibling6,
7260 OPC_CheckInteger, 12,
7261 OPC_CheckTypeI32,
7262 OPC_MoveSibling7,
7263 OPC_CheckInteger, 13,
7264 OPC_CheckTypeI32,
7265 OPC_MoveSibling, 8,
7266 OPC_CheckInteger, 14,
7267 OPC_CheckTypeI32,
7268 OPC_MoveSibling, 9,
7269 OPC_CheckInteger, 15,
7270 OPC_CheckTypeI32,
7271 OPC_MoveSibling, 10,
7272 OPC_CheckInteger, 20,
7273 OPC_CheckTypeI32,
7274 OPC_MoveSibling, 11,
7275 OPC_CheckInteger, 21,
7276 OPC_CheckTypeI32,
7277 OPC_MoveSibling, 12,
7278 OPC_CheckInteger, 22,
7279 OPC_CheckTypeI32,
7280 OPC_MoveSibling, 13,
7281 OPC_CheckInteger, 23,
7282 OPC_CheckTypeI32,
7283 OPC_MoveSibling, 14,
7284 OPC_CheckInteger, 28,
7285 OPC_CheckTypeI32,
7286 OPC_MoveSibling, 15,
7287 OPC_CheckInteger, 29,
7288 OPC_CheckTypeI32,
7289 OPC_MoveSibling, 16,
7290 OPC_CheckInteger, 30,
7291 OPC_CheckTypeI32,
7292 OPC_MoveSibling, 17,
7293 OPC_CheckInteger, 31,
7294 OPC_CheckTypeI32,
7295 OPC_MoveParent,
7296 OPC_MoveParent,
7297 OPC_CheckType, MVT::v4i32,
7298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7299 MVT::v4i32, 2, 0, 1,
7300 0,
7301 83|128,1,
7302 OPC_CheckChild0Same, 1,
7303 OPC_MoveSibling1,
7304 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7305 OPC_CheckChild0Same, 0,
7306 OPC_MoveParent,
7307 OPC_CheckType, MVT::v4i32,
7308 OPC_MoveSibling1,
7309 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7310 OPC_MoveChild0,
7311 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7312 OPC_Scope, 94,
7313 OPC_CheckChild0Same, 0,
7314 OPC_MoveSibling1,
7315 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7316 OPC_CheckChild0Same, 1,
7317 OPC_MoveParent,
7318 OPC_CheckType, MVT::v4i32,
7319 OPC_MoveParent,
7320 OPC_CheckChild2Integer, 4,
7321 OPC_CheckChild2TypeI32,
7322 OPC_CheckChild3Integer, 5,
7323 OPC_CheckChild3TypeI32,
7324 OPC_CheckChild4Integer, 6,
7325 OPC_CheckChild4TypeI32,
7326 OPC_MoveChild5,
7327 OPC_CheckInteger, 7,
7328 OPC_CheckTypeI32,
7329 OPC_MoveSibling6,
7330 OPC_CheckInteger, 12,
7331 OPC_CheckTypeI32,
7332 OPC_MoveSibling7,
7333 OPC_CheckInteger, 13,
7334 OPC_CheckTypeI32,
7335 OPC_MoveSibling, 8,
7336 OPC_CheckInteger, 14,
7337 OPC_CheckTypeI32,
7338 OPC_MoveSibling, 9,
7339 OPC_CheckInteger, 15,
7340 OPC_CheckTypeI32,
7341 OPC_MoveSibling, 10,
7342 OPC_CheckInteger, 20,
7343 OPC_CheckTypeI32,
7344 OPC_MoveSibling, 11,
7345 OPC_CheckInteger, 21,
7346 OPC_CheckTypeI32,
7347 OPC_MoveSibling, 12,
7348 OPC_CheckInteger, 22,
7349 OPC_CheckTypeI32,
7350 OPC_MoveSibling, 13,
7351 OPC_CheckInteger, 23,
7352 OPC_CheckTypeI32,
7353 OPC_MoveSibling, 14,
7354 OPC_CheckInteger, 28,
7355 OPC_CheckTypeI32,
7356 OPC_MoveSibling, 15,
7357 OPC_CheckInteger, 29,
7358 OPC_CheckTypeI32,
7359 OPC_MoveSibling, 16,
7360 OPC_CheckInteger, 30,
7361 OPC_CheckTypeI32,
7362 OPC_MoveSibling, 17,
7363 OPC_CheckInteger, 31,
7364 OPC_CheckTypeI32,
7365 OPC_MoveParent,
7366 OPC_MoveParent,
7367 OPC_CheckType, MVT::v4i32,
7368 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7369 MVT::v4i32, 2, 0, 1,
7370 94,
7371 OPC_CheckChild0Same, 1,
7372 OPC_MoveSibling1,
7373 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7374 OPC_CheckChild0Same, 0,
7375 OPC_MoveParent,
7376 OPC_CheckType, MVT::v4i32,
7377 OPC_MoveParent,
7378 OPC_CheckChild2Integer, 4,
7379 OPC_CheckChild2TypeI32,
7380 OPC_CheckChild3Integer, 5,
7381 OPC_CheckChild3TypeI32,
7382 OPC_CheckChild4Integer, 6,
7383 OPC_CheckChild4TypeI32,
7384 OPC_MoveChild5,
7385 OPC_CheckInteger, 7,
7386 OPC_CheckTypeI32,
7387 OPC_MoveSibling6,
7388 OPC_CheckInteger, 12,
7389 OPC_CheckTypeI32,
7390 OPC_MoveSibling7,
7391 OPC_CheckInteger, 13,
7392 OPC_CheckTypeI32,
7393 OPC_MoveSibling, 8,
7394 OPC_CheckInteger, 14,
7395 OPC_CheckTypeI32,
7396 OPC_MoveSibling, 9,
7397 OPC_CheckInteger, 15,
7398 OPC_CheckTypeI32,
7399 OPC_MoveSibling, 10,
7400 OPC_CheckInteger, 20,
7401 OPC_CheckTypeI32,
7402 OPC_MoveSibling, 11,
7403 OPC_CheckInteger, 21,
7404 OPC_CheckTypeI32,
7405 OPC_MoveSibling, 12,
7406 OPC_CheckInteger, 22,
7407 OPC_CheckTypeI32,
7408 OPC_MoveSibling, 13,
7409 OPC_CheckInteger, 23,
7410 OPC_CheckTypeI32,
7411 OPC_MoveSibling, 14,
7412 OPC_CheckInteger, 28,
7413 OPC_CheckTypeI32,
7414 OPC_MoveSibling, 15,
7415 OPC_CheckInteger, 29,
7416 OPC_CheckTypeI32,
7417 OPC_MoveSibling, 16,
7418 OPC_CheckInteger, 30,
7419 OPC_CheckTypeI32,
7420 OPC_MoveSibling, 17,
7421 OPC_CheckInteger, 31,
7422 OPC_CheckTypeI32,
7423 OPC_MoveParent,
7424 OPC_MoveParent,
7425 OPC_CheckType, MVT::v4i32,
7426 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7427 MVT::v4i32, 2, 0, 1,
7428 0,
7429 0,
7430 75|128,6,
7431 OPC_CheckChild0Same, 1,
7432 OPC_MoveSibling1,
7433 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7434 OPC_CheckChild0Same, 0,
7435 OPC_MoveParent,
7436 OPC_CheckType, MVT::v4i32,
7437 OPC_MoveParent,
7438 OPC_CheckChild2Integer, 0,
7439 OPC_CheckChild2TypeI32,
7440 OPC_CheckChild3Integer, 1,
7441 OPC_CheckChild3TypeI32,
7442 OPC_CheckChild4Integer, 2,
7443 OPC_CheckChild4TypeI32,
7444 OPC_MoveChild5,
7445 OPC_CheckInteger, 3,
7446 OPC_CheckTypeI32,
7447 OPC_MoveSibling6,
7448 OPC_CheckInteger, 8,
7449 OPC_CheckTypeI32,
7450 OPC_MoveSibling7,
7451 OPC_CheckInteger, 9,
7452 OPC_CheckTypeI32,
7453 OPC_MoveSibling, 8,
7454 OPC_CheckInteger, 10,
7455 OPC_CheckTypeI32,
7456 OPC_MoveSibling, 9,
7457 OPC_CheckInteger, 11,
7458 OPC_CheckTypeI32,
7459 OPC_MoveSibling, 10,
7460 OPC_CheckInteger, 16,
7461 OPC_CheckTypeI32,
7462 OPC_MoveSibling, 11,
7463 OPC_CheckInteger, 17,
7464 OPC_CheckTypeI32,
7465 OPC_MoveSibling, 12,
7466 OPC_CheckInteger, 18,
7467 OPC_CheckTypeI32,
7468 OPC_MoveSibling, 13,
7469 OPC_CheckInteger, 19,
7470 OPC_CheckTypeI32,
7471 OPC_MoveSibling, 14,
7472 OPC_CheckInteger, 24,
7473 OPC_CheckTypeI32,
7474 OPC_MoveSibling, 15,
7475 OPC_CheckInteger, 25,
7476 OPC_CheckTypeI32,
7477 OPC_MoveSibling, 16,
7478 OPC_CheckInteger, 26,
7479 OPC_CheckTypeI32,
7480 OPC_MoveSibling, 17,
7481 OPC_CheckInteger, 27,
7482 OPC_CheckTypeI32,
7483 OPC_MoveParent,
7484 OPC_MoveSibling1,
7485 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7486 OPC_MoveChild0,
7487 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7488 OPC_MoveChild0,
7489 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7490 OPC_Scope, 83|128,1,
7491 OPC_CheckChild0Same, 0,
7492 OPC_MoveSibling1,
7493 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7494 OPC_CheckChild0Same, 1,
7495 OPC_MoveParent,
7496 OPC_CheckType, MVT::v4i32,
7497 OPC_MoveSibling1,
7498 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7499 OPC_MoveChild0,
7500 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7501 OPC_Scope, 94,
7502 OPC_CheckChild0Same, 0,
7503 OPC_MoveSibling1,
7504 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7505 OPC_CheckChild0Same, 1,
7506 OPC_MoveParent,
7507 OPC_CheckType, MVT::v4i32,
7508 OPC_MoveParent,
7509 OPC_CheckChild2Integer, 4,
7510 OPC_CheckChild2TypeI32,
7511 OPC_CheckChild3Integer, 5,
7512 OPC_CheckChild3TypeI32,
7513 OPC_CheckChild4Integer, 6,
7514 OPC_CheckChild4TypeI32,
7515 OPC_MoveChild5,
7516 OPC_CheckInteger, 7,
7517 OPC_CheckTypeI32,
7518 OPC_MoveSibling6,
7519 OPC_CheckInteger, 12,
7520 OPC_CheckTypeI32,
7521 OPC_MoveSibling7,
7522 OPC_CheckInteger, 13,
7523 OPC_CheckTypeI32,
7524 OPC_MoveSibling, 8,
7525 OPC_CheckInteger, 14,
7526 OPC_CheckTypeI32,
7527 OPC_MoveSibling, 9,
7528 OPC_CheckInteger, 15,
7529 OPC_CheckTypeI32,
7530 OPC_MoveSibling, 10,
7531 OPC_CheckInteger, 20,
7532 OPC_CheckTypeI32,
7533 OPC_MoveSibling, 11,
7534 OPC_CheckInteger, 21,
7535 OPC_CheckTypeI32,
7536 OPC_MoveSibling, 12,
7537 OPC_CheckInteger, 22,
7538 OPC_CheckTypeI32,
7539 OPC_MoveSibling, 13,
7540 OPC_CheckInteger, 23,
7541 OPC_CheckTypeI32,
7542 OPC_MoveSibling, 14,
7543 OPC_CheckInteger, 28,
7544 OPC_CheckTypeI32,
7545 OPC_MoveSibling, 15,
7546 OPC_CheckInteger, 29,
7547 OPC_CheckTypeI32,
7548 OPC_MoveSibling, 16,
7549 OPC_CheckInteger, 30,
7550 OPC_CheckTypeI32,
7551 OPC_MoveSibling, 17,
7552 OPC_CheckInteger, 31,
7553 OPC_CheckTypeI32,
7554 OPC_MoveParent,
7555 OPC_MoveParent,
7556 OPC_CheckType, MVT::v4i32,
7557 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7558 MVT::v4i32, 2, 0, 1,
7559 94,
7560 OPC_CheckChild0Same, 1,
7561 OPC_MoveSibling1,
7562 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7563 OPC_CheckChild0Same, 0,
7564 OPC_MoveParent,
7565 OPC_CheckType, MVT::v4i32,
7566 OPC_MoveParent,
7567 OPC_CheckChild2Integer, 4,
7568 OPC_CheckChild2TypeI32,
7569 OPC_CheckChild3Integer, 5,
7570 OPC_CheckChild3TypeI32,
7571 OPC_CheckChild4Integer, 6,
7572 OPC_CheckChild4TypeI32,
7573 OPC_MoveChild5,
7574 OPC_CheckInteger, 7,
7575 OPC_CheckTypeI32,
7576 OPC_MoveSibling6,
7577 OPC_CheckInteger, 12,
7578 OPC_CheckTypeI32,
7579 OPC_MoveSibling7,
7580 OPC_CheckInteger, 13,
7581 OPC_CheckTypeI32,
7582 OPC_MoveSibling, 8,
7583 OPC_CheckInteger, 14,
7584 OPC_CheckTypeI32,
7585 OPC_MoveSibling, 9,
7586 OPC_CheckInteger, 15,
7587 OPC_CheckTypeI32,
7588 OPC_MoveSibling, 10,
7589 OPC_CheckInteger, 20,
7590 OPC_CheckTypeI32,
7591 OPC_MoveSibling, 11,
7592 OPC_CheckInteger, 21,
7593 OPC_CheckTypeI32,
7594 OPC_MoveSibling, 12,
7595 OPC_CheckInteger, 22,
7596 OPC_CheckTypeI32,
7597 OPC_MoveSibling, 13,
7598 OPC_CheckInteger, 23,
7599 OPC_CheckTypeI32,
7600 OPC_MoveSibling, 14,
7601 OPC_CheckInteger, 28,
7602 OPC_CheckTypeI32,
7603 OPC_MoveSibling, 15,
7604 OPC_CheckInteger, 29,
7605 OPC_CheckTypeI32,
7606 OPC_MoveSibling, 16,
7607 OPC_CheckInteger, 30,
7608 OPC_CheckTypeI32,
7609 OPC_MoveSibling, 17,
7610 OPC_CheckInteger, 31,
7611 OPC_CheckTypeI32,
7612 OPC_MoveParent,
7613 OPC_MoveParent,
7614 OPC_CheckType, MVT::v4i32,
7615 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7616 MVT::v4i32, 2, 0, 1,
7617 0,
7618 61|128,2,
7619 OPC_CheckChild0Same, 1,
7620 OPC_MoveSibling1,
7621 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7622 OPC_CheckChild0Same, 0,
7623 OPC_MoveParent,
7624 OPC_CheckType, MVT::v4i32,
7625 OPC_MoveSibling1,
7626 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7627 OPC_MoveChild0,
7628 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7629 OPC_Scope, 94,
7630 OPC_CheckChild0Same, 0,
7631 OPC_MoveSibling1,
7632 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7633 OPC_CheckChild0Same, 1,
7634 OPC_MoveParent,
7635 OPC_CheckType, MVT::v4i32,
7636 OPC_MoveParent,
7637 OPC_CheckChild2Integer, 4,
7638 OPC_CheckChild2TypeI32,
7639 OPC_CheckChild3Integer, 5,
7640 OPC_CheckChild3TypeI32,
7641 OPC_CheckChild4Integer, 6,
7642 OPC_CheckChild4TypeI32,
7643 OPC_MoveChild5,
7644 OPC_CheckInteger, 7,
7645 OPC_CheckTypeI32,
7646 OPC_MoveSibling6,
7647 OPC_CheckInteger, 12,
7648 OPC_CheckTypeI32,
7649 OPC_MoveSibling7,
7650 OPC_CheckInteger, 13,
7651 OPC_CheckTypeI32,
7652 OPC_MoveSibling, 8,
7653 OPC_CheckInteger, 14,
7654 OPC_CheckTypeI32,
7655 OPC_MoveSibling, 9,
7656 OPC_CheckInteger, 15,
7657 OPC_CheckTypeI32,
7658 OPC_MoveSibling, 10,
7659 OPC_CheckInteger, 20,
7660 OPC_CheckTypeI32,
7661 OPC_MoveSibling, 11,
7662 OPC_CheckInteger, 21,
7663 OPC_CheckTypeI32,
7664 OPC_MoveSibling, 12,
7665 OPC_CheckInteger, 22,
7666 OPC_CheckTypeI32,
7667 OPC_MoveSibling, 13,
7668 OPC_CheckInteger, 23,
7669 OPC_CheckTypeI32,
7670 OPC_MoveSibling, 14,
7671 OPC_CheckInteger, 28,
7672 OPC_CheckTypeI32,
7673 OPC_MoveSibling, 15,
7674 OPC_CheckInteger, 29,
7675 OPC_CheckTypeI32,
7676 OPC_MoveSibling, 16,
7677 OPC_CheckInteger, 30,
7678 OPC_CheckTypeI32,
7679 OPC_MoveSibling, 17,
7680 OPC_CheckInteger, 31,
7681 OPC_CheckTypeI32,
7682 OPC_MoveParent,
7683 OPC_MoveParent,
7684 OPC_CheckType, MVT::v4i32,
7685 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7686 MVT::v4i32, 2, 0, 1,
7687 105,
7688 OPC_CheckChild0Same, 1,
7689 OPC_MoveSibling1,
7690 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7691 OPC_CheckChild0Same, 0,
7692 OPC_MoveParent,
7693 OPC_CheckType, MVT::v4i32,
7694 OPC_MoveParent,
7695 OPC_CheckChild2Integer, 4,
7696 OPC_CheckChild2TypeI32,
7697 OPC_CheckChild3Integer, 5,
7698 OPC_CheckChild3TypeI32,
7699 OPC_CheckChild4Integer, 6,
7700 OPC_CheckChild4TypeI32,
7701 OPC_MoveChild5,
7702 OPC_CheckInteger, 7,
7703 OPC_CheckTypeI32,
7704 OPC_MoveSibling6,
7705 OPC_CheckInteger, 12,
7706 OPC_CheckTypeI32,
7707 OPC_MoveSibling7,
7708 OPC_CheckInteger, 13,
7709 OPC_CheckTypeI32,
7710 OPC_MoveSibling, 8,
7711 OPC_CheckInteger, 14,
7712 OPC_CheckTypeI32,
7713 OPC_MoveSibling, 9,
7714 OPC_CheckInteger, 15,
7715 OPC_CheckTypeI32,
7716 OPC_MoveSibling, 10,
7717 OPC_CheckInteger, 20,
7718 OPC_CheckTypeI32,
7719 OPC_MoveSibling, 11,
7720 OPC_CheckInteger, 21,
7721 OPC_CheckTypeI32,
7722 OPC_MoveSibling, 12,
7723 OPC_CheckInteger, 22,
7724 OPC_CheckTypeI32,
7725 OPC_MoveSibling, 13,
7726 OPC_CheckInteger, 23,
7727 OPC_CheckTypeI32,
7728 OPC_MoveSibling, 14,
7729 OPC_CheckInteger, 28,
7730 OPC_CheckTypeI32,
7731 OPC_MoveSibling, 15,
7732 OPC_CheckInteger, 29,
7733 OPC_CheckTypeI32,
7734 OPC_MoveSibling, 16,
7735 OPC_CheckInteger, 30,
7736 OPC_CheckTypeI32,
7737 OPC_MoveSibling, 17,
7738 OPC_CheckInteger, 31,
7739 OPC_CheckTypeI32,
7740 OPC_MoveParent,
7741 OPC_MoveParent,
7742 OPC_CheckType, MVT::v4i32,
7743 OPC_Scope, 7,
7744 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7745 MVT::v4i32, 2, 0, 1,
7746 7,
7747 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7748 MVT::v4i32, 2, 1, 0,
7749 0,
7750 94,
7751 OPC_CheckChild0Same, 0,
7752 OPC_MoveSibling1,
7753 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7754 OPC_CheckChild0Same, 1,
7755 OPC_MoveParent,
7756 OPC_CheckType, MVT::v4i32,
7757 OPC_MoveParent,
7758 OPC_CheckChild2Integer, 4,
7759 OPC_CheckChild2TypeI32,
7760 OPC_CheckChild3Integer, 5,
7761 OPC_CheckChild3TypeI32,
7762 OPC_CheckChild4Integer, 6,
7763 OPC_CheckChild4TypeI32,
7764 OPC_MoveChild5,
7765 OPC_CheckInteger, 7,
7766 OPC_CheckTypeI32,
7767 OPC_MoveSibling6,
7768 OPC_CheckInteger, 12,
7769 OPC_CheckTypeI32,
7770 OPC_MoveSibling7,
7771 OPC_CheckInteger, 13,
7772 OPC_CheckTypeI32,
7773 OPC_MoveSibling, 8,
7774 OPC_CheckInteger, 14,
7775 OPC_CheckTypeI32,
7776 OPC_MoveSibling, 9,
7777 OPC_CheckInteger, 15,
7778 OPC_CheckTypeI32,
7779 OPC_MoveSibling, 10,
7780 OPC_CheckInteger, 20,
7781 OPC_CheckTypeI32,
7782 OPC_MoveSibling, 11,
7783 OPC_CheckInteger, 21,
7784 OPC_CheckTypeI32,
7785 OPC_MoveSibling, 12,
7786 OPC_CheckInteger, 22,
7787 OPC_CheckTypeI32,
7788 OPC_MoveSibling, 13,
7789 OPC_CheckInteger, 23,
7790 OPC_CheckTypeI32,
7791 OPC_MoveSibling, 14,
7792 OPC_CheckInteger, 28,
7793 OPC_CheckTypeI32,
7794 OPC_MoveSibling, 15,
7795 OPC_CheckInteger, 29,
7796 OPC_CheckTypeI32,
7797 OPC_MoveSibling, 16,
7798 OPC_CheckInteger, 30,
7799 OPC_CheckTypeI32,
7800 OPC_MoveSibling, 17,
7801 OPC_CheckInteger, 31,
7802 OPC_CheckTypeI32,
7803 OPC_MoveParent,
7804 OPC_MoveParent,
7805 OPC_CheckType, MVT::v4i32,
7806 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7807 MVT::v4i32, 2, 1, 0,
7808 0,
7809 83|128,1,
7810 OPC_CheckChild0Same, 0,
7811 OPC_MoveSibling1,
7812 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7813 OPC_CheckChild0Same, 1,
7814 OPC_MoveParent,
7815 OPC_CheckType, MVT::v4i32,
7816 OPC_MoveSibling1,
7817 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7818 OPC_MoveChild0,
7819 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7820 OPC_Scope, 94,
7821 OPC_CheckChild0Same, 1,
7822 OPC_MoveSibling1,
7823 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7824 OPC_CheckChild0Same, 0,
7825 OPC_MoveParent,
7826 OPC_CheckType, MVT::v4i32,
7827 OPC_MoveParent,
7828 OPC_CheckChild2Integer, 4,
7829 OPC_CheckChild2TypeI32,
7830 OPC_CheckChild3Integer, 5,
7831 OPC_CheckChild3TypeI32,
7832 OPC_CheckChild4Integer, 6,
7833 OPC_CheckChild4TypeI32,
7834 OPC_MoveChild5,
7835 OPC_CheckInteger, 7,
7836 OPC_CheckTypeI32,
7837 OPC_MoveSibling6,
7838 OPC_CheckInteger, 12,
7839 OPC_CheckTypeI32,
7840 OPC_MoveSibling7,
7841 OPC_CheckInteger, 13,
7842 OPC_CheckTypeI32,
7843 OPC_MoveSibling, 8,
7844 OPC_CheckInteger, 14,
7845 OPC_CheckTypeI32,
7846 OPC_MoveSibling, 9,
7847 OPC_CheckInteger, 15,
7848 OPC_CheckTypeI32,
7849 OPC_MoveSibling, 10,
7850 OPC_CheckInteger, 20,
7851 OPC_CheckTypeI32,
7852 OPC_MoveSibling, 11,
7853 OPC_CheckInteger, 21,
7854 OPC_CheckTypeI32,
7855 OPC_MoveSibling, 12,
7856 OPC_CheckInteger, 22,
7857 OPC_CheckTypeI32,
7858 OPC_MoveSibling, 13,
7859 OPC_CheckInteger, 23,
7860 OPC_CheckTypeI32,
7861 OPC_MoveSibling, 14,
7862 OPC_CheckInteger, 28,
7863 OPC_CheckTypeI32,
7864 OPC_MoveSibling, 15,
7865 OPC_CheckInteger, 29,
7866 OPC_CheckTypeI32,
7867 OPC_MoveSibling, 16,
7868 OPC_CheckInteger, 30,
7869 OPC_CheckTypeI32,
7870 OPC_MoveSibling, 17,
7871 OPC_CheckInteger, 31,
7872 OPC_CheckTypeI32,
7873 OPC_MoveParent,
7874 OPC_MoveParent,
7875 OPC_CheckType, MVT::v4i32,
7876 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7877 MVT::v4i32, 2, 1, 0,
7878 94,
7879 OPC_CheckChild0Same, 0,
7880 OPC_MoveSibling1,
7881 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7882 OPC_CheckChild0Same, 1,
7883 OPC_MoveParent,
7884 OPC_CheckType, MVT::v4i32,
7885 OPC_MoveParent,
7886 OPC_CheckChild2Integer, 4,
7887 OPC_CheckChild2TypeI32,
7888 OPC_CheckChild3Integer, 5,
7889 OPC_CheckChild3TypeI32,
7890 OPC_CheckChild4Integer, 6,
7891 OPC_CheckChild4TypeI32,
7892 OPC_MoveChild5,
7893 OPC_CheckInteger, 7,
7894 OPC_CheckTypeI32,
7895 OPC_MoveSibling6,
7896 OPC_CheckInteger, 12,
7897 OPC_CheckTypeI32,
7898 OPC_MoveSibling7,
7899 OPC_CheckInteger, 13,
7900 OPC_CheckTypeI32,
7901 OPC_MoveSibling, 8,
7902 OPC_CheckInteger, 14,
7903 OPC_CheckTypeI32,
7904 OPC_MoveSibling, 9,
7905 OPC_CheckInteger, 15,
7906 OPC_CheckTypeI32,
7907 OPC_MoveSibling, 10,
7908 OPC_CheckInteger, 20,
7909 OPC_CheckTypeI32,
7910 OPC_MoveSibling, 11,
7911 OPC_CheckInteger, 21,
7912 OPC_CheckTypeI32,
7913 OPC_MoveSibling, 12,
7914 OPC_CheckInteger, 22,
7915 OPC_CheckTypeI32,
7916 OPC_MoveSibling, 13,
7917 OPC_CheckInteger, 23,
7918 OPC_CheckTypeI32,
7919 OPC_MoveSibling, 14,
7920 OPC_CheckInteger, 28,
7921 OPC_CheckTypeI32,
7922 OPC_MoveSibling, 15,
7923 OPC_CheckInteger, 29,
7924 OPC_CheckTypeI32,
7925 OPC_MoveSibling, 16,
7926 OPC_CheckInteger, 30,
7927 OPC_CheckTypeI32,
7928 OPC_MoveSibling, 17,
7929 OPC_CheckInteger, 31,
7930 OPC_CheckTypeI32,
7931 OPC_MoveParent,
7932 OPC_MoveParent,
7933 OPC_CheckType, MVT::v4i32,
7934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
7935 MVT::v4i32, 2, 1, 0,
7936 0,
7937 0,
7938 18|128,8,
7939 OPC_CheckChild0Same, 0,
7940 OPC_MoveSibling1,
7941 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
7942 OPC_CheckChild0Same, 1,
7943 OPC_MoveParent,
7944 OPC_CheckType, MVT::v4i32,
7945 OPC_MoveParent,
7946 OPC_Scope, 0|128,4,
7947 OPC_CheckChild2Integer, 0,
7948 OPC_CheckChild2TypeI32,
7949 OPC_CheckChild3Integer, 1,
7950 OPC_CheckChild3TypeI32,
7951 OPC_CheckChild4Integer, 2,
7952 OPC_CheckChild4TypeI32,
7953 OPC_MoveChild5,
7954 OPC_CheckInteger, 3,
7955 OPC_CheckTypeI32,
7956 OPC_MoveSibling6,
7957 OPC_CheckInteger, 8,
7958 OPC_CheckTypeI32,
7959 OPC_MoveSibling7,
7960 OPC_CheckInteger, 9,
7961 OPC_CheckTypeI32,
7962 OPC_MoveSibling, 8,
7963 OPC_CheckInteger, 10,
7964 OPC_CheckTypeI32,
7965 OPC_MoveSibling, 9,
7966 OPC_CheckInteger, 11,
7967 OPC_CheckTypeI32,
7968 OPC_MoveSibling, 10,
7969 OPC_CheckInteger, 16,
7970 OPC_CheckTypeI32,
7971 OPC_MoveSibling, 11,
7972 OPC_CheckInteger, 17,
7973 OPC_CheckTypeI32,
7974 OPC_MoveSibling, 12,
7975 OPC_CheckInteger, 18,
7976 OPC_CheckTypeI32,
7977 OPC_MoveSibling, 13,
7978 OPC_CheckInteger, 19,
7979 OPC_CheckTypeI32,
7980 OPC_MoveSibling, 14,
7981 OPC_CheckInteger, 24,
7982 OPC_CheckTypeI32,
7983 OPC_MoveSibling, 15,
7984 OPC_CheckInteger, 25,
7985 OPC_CheckTypeI32,
7986 OPC_MoveSibling, 16,
7987 OPC_CheckInteger, 26,
7988 OPC_CheckTypeI32,
7989 OPC_MoveSibling, 17,
7990 OPC_CheckInteger, 27,
7991 OPC_CheckTypeI32,
7992 OPC_MoveParent,
7993 OPC_MoveSibling1,
7994 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
7995 OPC_MoveChild0,
7996 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
7997 OPC_MoveChild0,
7998 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
7999 OPC_Scope, 83|128,1,
8000 OPC_CheckChild0Same, 1,
8001 OPC_MoveSibling1,
8002 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8003 OPC_CheckChild0Same, 0,
8004 OPC_MoveParent,
8005 OPC_CheckType, MVT::v4i32,
8006 OPC_MoveSibling1,
8007 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8008 OPC_MoveChild0,
8009 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8010 OPC_Scope, 94,
8011 OPC_CheckChild0Same, 1,
8012 OPC_MoveSibling1,
8013 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8014 OPC_CheckChild0Same, 0,
8015 OPC_MoveParent,
8016 OPC_CheckType, MVT::v4i32,
8017 OPC_MoveParent,
8018 OPC_CheckChild2Integer, 4,
8019 OPC_CheckChild2TypeI32,
8020 OPC_CheckChild3Integer, 5,
8021 OPC_CheckChild3TypeI32,
8022 OPC_CheckChild4Integer, 6,
8023 OPC_CheckChild4TypeI32,
8024 OPC_MoveChild5,
8025 OPC_CheckInteger, 7,
8026 OPC_CheckTypeI32,
8027 OPC_MoveSibling6,
8028 OPC_CheckInteger, 12,
8029 OPC_CheckTypeI32,
8030 OPC_MoveSibling7,
8031 OPC_CheckInteger, 13,
8032 OPC_CheckTypeI32,
8033 OPC_MoveSibling, 8,
8034 OPC_CheckInteger, 14,
8035 OPC_CheckTypeI32,
8036 OPC_MoveSibling, 9,
8037 OPC_CheckInteger, 15,
8038 OPC_CheckTypeI32,
8039 OPC_MoveSibling, 10,
8040 OPC_CheckInteger, 20,
8041 OPC_CheckTypeI32,
8042 OPC_MoveSibling, 11,
8043 OPC_CheckInteger, 21,
8044 OPC_CheckTypeI32,
8045 OPC_MoveSibling, 12,
8046 OPC_CheckInteger, 22,
8047 OPC_CheckTypeI32,
8048 OPC_MoveSibling, 13,
8049 OPC_CheckInteger, 23,
8050 OPC_CheckTypeI32,
8051 OPC_MoveSibling, 14,
8052 OPC_CheckInteger, 28,
8053 OPC_CheckTypeI32,
8054 OPC_MoveSibling, 15,
8055 OPC_CheckInteger, 29,
8056 OPC_CheckTypeI32,
8057 OPC_MoveSibling, 16,
8058 OPC_CheckInteger, 30,
8059 OPC_CheckTypeI32,
8060 OPC_MoveSibling, 17,
8061 OPC_CheckInteger, 31,
8062 OPC_CheckTypeI32,
8063 OPC_MoveParent,
8064 OPC_MoveParent,
8065 OPC_CheckType, MVT::v4i32,
8066 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8067 MVT::v4i32, 2, 1, 0,
8068 94,
8069 OPC_CheckChild0Same, 0,
8070 OPC_MoveSibling1,
8071 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8072 OPC_CheckChild0Same, 1,
8073 OPC_MoveParent,
8074 OPC_CheckType, MVT::v4i32,
8075 OPC_MoveParent,
8076 OPC_CheckChild2Integer, 4,
8077 OPC_CheckChild2TypeI32,
8078 OPC_CheckChild3Integer, 5,
8079 OPC_CheckChild3TypeI32,
8080 OPC_CheckChild4Integer, 6,
8081 OPC_CheckChild4TypeI32,
8082 OPC_MoveChild5,
8083 OPC_CheckInteger, 7,
8084 OPC_CheckTypeI32,
8085 OPC_MoveSibling6,
8086 OPC_CheckInteger, 12,
8087 OPC_CheckTypeI32,
8088 OPC_MoveSibling7,
8089 OPC_CheckInteger, 13,
8090 OPC_CheckTypeI32,
8091 OPC_MoveSibling, 8,
8092 OPC_CheckInteger, 14,
8093 OPC_CheckTypeI32,
8094 OPC_MoveSibling, 9,
8095 OPC_CheckInteger, 15,
8096 OPC_CheckTypeI32,
8097 OPC_MoveSibling, 10,
8098 OPC_CheckInteger, 20,
8099 OPC_CheckTypeI32,
8100 OPC_MoveSibling, 11,
8101 OPC_CheckInteger, 21,
8102 OPC_CheckTypeI32,
8103 OPC_MoveSibling, 12,
8104 OPC_CheckInteger, 22,
8105 OPC_CheckTypeI32,
8106 OPC_MoveSibling, 13,
8107 OPC_CheckInteger, 23,
8108 OPC_CheckTypeI32,
8109 OPC_MoveSibling, 14,
8110 OPC_CheckInteger, 28,
8111 OPC_CheckTypeI32,
8112 OPC_MoveSibling, 15,
8113 OPC_CheckInteger, 29,
8114 OPC_CheckTypeI32,
8115 OPC_MoveSibling, 16,
8116 OPC_CheckInteger, 30,
8117 OPC_CheckTypeI32,
8118 OPC_MoveSibling, 17,
8119 OPC_CheckInteger, 31,
8120 OPC_CheckTypeI32,
8121 OPC_MoveParent,
8122 OPC_MoveParent,
8123 OPC_CheckType, MVT::v4i32,
8124 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8125 MVT::v4i32, 2, 1, 0,
8126 0,
8127 83|128,1,
8128 OPC_CheckChild0Same, 0,
8129 OPC_MoveSibling1,
8130 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8131 OPC_CheckChild0Same, 1,
8132 OPC_MoveParent,
8133 OPC_CheckType, MVT::v4i32,
8134 OPC_MoveSibling1,
8135 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8136 OPC_MoveChild0,
8137 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8138 OPC_Scope, 94,
8139 OPC_CheckChild0Same, 1,
8140 OPC_MoveSibling1,
8141 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8142 OPC_CheckChild0Same, 0,
8143 OPC_MoveParent,
8144 OPC_CheckType, MVT::v4i32,
8145 OPC_MoveParent,
8146 OPC_CheckChild2Integer, 4,
8147 OPC_CheckChild2TypeI32,
8148 OPC_CheckChild3Integer, 5,
8149 OPC_CheckChild3TypeI32,
8150 OPC_CheckChild4Integer, 6,
8151 OPC_CheckChild4TypeI32,
8152 OPC_MoveChild5,
8153 OPC_CheckInteger, 7,
8154 OPC_CheckTypeI32,
8155 OPC_MoveSibling6,
8156 OPC_CheckInteger, 12,
8157 OPC_CheckTypeI32,
8158 OPC_MoveSibling7,
8159 OPC_CheckInteger, 13,
8160 OPC_CheckTypeI32,
8161 OPC_MoveSibling, 8,
8162 OPC_CheckInteger, 14,
8163 OPC_CheckTypeI32,
8164 OPC_MoveSibling, 9,
8165 OPC_CheckInteger, 15,
8166 OPC_CheckTypeI32,
8167 OPC_MoveSibling, 10,
8168 OPC_CheckInteger, 20,
8169 OPC_CheckTypeI32,
8170 OPC_MoveSibling, 11,
8171 OPC_CheckInteger, 21,
8172 OPC_CheckTypeI32,
8173 OPC_MoveSibling, 12,
8174 OPC_CheckInteger, 22,
8175 OPC_CheckTypeI32,
8176 OPC_MoveSibling, 13,
8177 OPC_CheckInteger, 23,
8178 OPC_CheckTypeI32,
8179 OPC_MoveSibling, 14,
8180 OPC_CheckInteger, 28,
8181 OPC_CheckTypeI32,
8182 OPC_MoveSibling, 15,
8183 OPC_CheckInteger, 29,
8184 OPC_CheckTypeI32,
8185 OPC_MoveSibling, 16,
8186 OPC_CheckInteger, 30,
8187 OPC_CheckTypeI32,
8188 OPC_MoveSibling, 17,
8189 OPC_CheckInteger, 31,
8190 OPC_CheckTypeI32,
8191 OPC_MoveParent,
8192 OPC_MoveParent,
8193 OPC_CheckType, MVT::v4i32,
8194 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8195 MVT::v4i32, 2, 1, 0,
8196 94,
8197 OPC_CheckChild0Same, 0,
8198 OPC_MoveSibling1,
8199 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8200 OPC_CheckChild0Same, 1,
8201 OPC_MoveParent,
8202 OPC_CheckType, MVT::v4i32,
8203 OPC_MoveParent,
8204 OPC_CheckChild2Integer, 4,
8205 OPC_CheckChild2TypeI32,
8206 OPC_CheckChild3Integer, 5,
8207 OPC_CheckChild3TypeI32,
8208 OPC_CheckChild4Integer, 6,
8209 OPC_CheckChild4TypeI32,
8210 OPC_MoveChild5,
8211 OPC_CheckInteger, 7,
8212 OPC_CheckTypeI32,
8213 OPC_MoveSibling6,
8214 OPC_CheckInteger, 12,
8215 OPC_CheckTypeI32,
8216 OPC_MoveSibling7,
8217 OPC_CheckInteger, 13,
8218 OPC_CheckTypeI32,
8219 OPC_MoveSibling, 8,
8220 OPC_CheckInteger, 14,
8221 OPC_CheckTypeI32,
8222 OPC_MoveSibling, 9,
8223 OPC_CheckInteger, 15,
8224 OPC_CheckTypeI32,
8225 OPC_MoveSibling, 10,
8226 OPC_CheckInteger, 20,
8227 OPC_CheckTypeI32,
8228 OPC_MoveSibling, 11,
8229 OPC_CheckInteger, 21,
8230 OPC_CheckTypeI32,
8231 OPC_MoveSibling, 12,
8232 OPC_CheckInteger, 22,
8233 OPC_CheckTypeI32,
8234 OPC_MoveSibling, 13,
8235 OPC_CheckInteger, 23,
8236 OPC_CheckTypeI32,
8237 OPC_MoveSibling, 14,
8238 OPC_CheckInteger, 28,
8239 OPC_CheckTypeI32,
8240 OPC_MoveSibling, 15,
8241 OPC_CheckInteger, 29,
8242 OPC_CheckTypeI32,
8243 OPC_MoveSibling, 16,
8244 OPC_CheckInteger, 30,
8245 OPC_CheckTypeI32,
8246 OPC_MoveSibling, 17,
8247 OPC_CheckInteger, 31,
8248 OPC_CheckTypeI32,
8249 OPC_MoveParent,
8250 OPC_MoveParent,
8251 OPC_CheckType, MVT::v4i32,
8252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8253 MVT::v4i32, 2, 1, 0,
8254 0,
8255 0,
8256 0|128,4,
8257 OPC_CheckChild2Integer, 4,
8258 OPC_CheckChild2TypeI32,
8259 OPC_CheckChild3Integer, 5,
8260 OPC_CheckChild3TypeI32,
8261 OPC_CheckChild4Integer, 6,
8262 OPC_CheckChild4TypeI32,
8263 OPC_MoveChild5,
8264 OPC_CheckInteger, 7,
8265 OPC_CheckTypeI32,
8266 OPC_MoveSibling6,
8267 OPC_CheckInteger, 12,
8268 OPC_CheckTypeI32,
8269 OPC_MoveSibling7,
8270 OPC_CheckInteger, 13,
8271 OPC_CheckTypeI32,
8272 OPC_MoveSibling, 8,
8273 OPC_CheckInteger, 14,
8274 OPC_CheckTypeI32,
8275 OPC_MoveSibling, 9,
8276 OPC_CheckInteger, 15,
8277 OPC_CheckTypeI32,
8278 OPC_MoveSibling, 10,
8279 OPC_CheckInteger, 20,
8280 OPC_CheckTypeI32,
8281 OPC_MoveSibling, 11,
8282 OPC_CheckInteger, 21,
8283 OPC_CheckTypeI32,
8284 OPC_MoveSibling, 12,
8285 OPC_CheckInteger, 22,
8286 OPC_CheckTypeI32,
8287 OPC_MoveSibling, 13,
8288 OPC_CheckInteger, 23,
8289 OPC_CheckTypeI32,
8290 OPC_MoveSibling, 14,
8291 OPC_CheckInteger, 28,
8292 OPC_CheckTypeI32,
8293 OPC_MoveSibling, 15,
8294 OPC_CheckInteger, 29,
8295 OPC_CheckTypeI32,
8296 OPC_MoveSibling, 16,
8297 OPC_CheckInteger, 30,
8298 OPC_CheckTypeI32,
8299 OPC_MoveSibling, 17,
8300 OPC_CheckInteger, 31,
8301 OPC_CheckTypeI32,
8302 OPC_MoveParent,
8303 OPC_MoveSibling1,
8304 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
8305 OPC_MoveChild0,
8306 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8307 OPC_MoveChild0,
8308 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8309 OPC_Scope, 83|128,1,
8310 OPC_CheckChild0Same, 0,
8311 OPC_MoveSibling1,
8312 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8313 OPC_CheckChild0Same, 1,
8314 OPC_MoveParent,
8315 OPC_CheckType, MVT::v4i32,
8316 OPC_MoveSibling1,
8317 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8318 OPC_MoveChild0,
8319 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8320 OPC_Scope, 94,
8321 OPC_CheckChild0Same, 0,
8322 OPC_MoveSibling1,
8323 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8324 OPC_CheckChild0Same, 1,
8325 OPC_MoveParent,
8326 OPC_CheckType, MVT::v4i32,
8327 OPC_MoveParent,
8328 OPC_CheckChild2Integer, 0,
8329 OPC_CheckChild2TypeI32,
8330 OPC_CheckChild3Integer, 1,
8331 OPC_CheckChild3TypeI32,
8332 OPC_CheckChild4Integer, 2,
8333 OPC_CheckChild4TypeI32,
8334 OPC_MoveChild5,
8335 OPC_CheckInteger, 3,
8336 OPC_CheckTypeI32,
8337 OPC_MoveSibling6,
8338 OPC_CheckInteger, 8,
8339 OPC_CheckTypeI32,
8340 OPC_MoveSibling7,
8341 OPC_CheckInteger, 9,
8342 OPC_CheckTypeI32,
8343 OPC_MoveSibling, 8,
8344 OPC_CheckInteger, 10,
8345 OPC_CheckTypeI32,
8346 OPC_MoveSibling, 9,
8347 OPC_CheckInteger, 11,
8348 OPC_CheckTypeI32,
8349 OPC_MoveSibling, 10,
8350 OPC_CheckInteger, 16,
8351 OPC_CheckTypeI32,
8352 OPC_MoveSibling, 11,
8353 OPC_CheckInteger, 17,
8354 OPC_CheckTypeI32,
8355 OPC_MoveSibling, 12,
8356 OPC_CheckInteger, 18,
8357 OPC_CheckTypeI32,
8358 OPC_MoveSibling, 13,
8359 OPC_CheckInteger, 19,
8360 OPC_CheckTypeI32,
8361 OPC_MoveSibling, 14,
8362 OPC_CheckInteger, 24,
8363 OPC_CheckTypeI32,
8364 OPC_MoveSibling, 15,
8365 OPC_CheckInteger, 25,
8366 OPC_CheckTypeI32,
8367 OPC_MoveSibling, 16,
8368 OPC_CheckInteger, 26,
8369 OPC_CheckTypeI32,
8370 OPC_MoveSibling, 17,
8371 OPC_CheckInteger, 27,
8372 OPC_CheckTypeI32,
8373 OPC_MoveParent,
8374 OPC_MoveParent,
8375 OPC_CheckType, MVT::v4i32,
8376 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8377 MVT::v4i32, 2, 0, 1,
8378 94,
8379 OPC_CheckChild0Same, 1,
8380 OPC_MoveSibling1,
8381 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8382 OPC_CheckChild0Same, 0,
8383 OPC_MoveParent,
8384 OPC_CheckType, MVT::v4i32,
8385 OPC_MoveParent,
8386 OPC_CheckChild2Integer, 0,
8387 OPC_CheckChild2TypeI32,
8388 OPC_CheckChild3Integer, 1,
8389 OPC_CheckChild3TypeI32,
8390 OPC_CheckChild4Integer, 2,
8391 OPC_CheckChild4TypeI32,
8392 OPC_MoveChild5,
8393 OPC_CheckInteger, 3,
8394 OPC_CheckTypeI32,
8395 OPC_MoveSibling6,
8396 OPC_CheckInteger, 8,
8397 OPC_CheckTypeI32,
8398 OPC_MoveSibling7,
8399 OPC_CheckInteger, 9,
8400 OPC_CheckTypeI32,
8401 OPC_MoveSibling, 8,
8402 OPC_CheckInteger, 10,
8403 OPC_CheckTypeI32,
8404 OPC_MoveSibling, 9,
8405 OPC_CheckInteger, 11,
8406 OPC_CheckTypeI32,
8407 OPC_MoveSibling, 10,
8408 OPC_CheckInteger, 16,
8409 OPC_CheckTypeI32,
8410 OPC_MoveSibling, 11,
8411 OPC_CheckInteger, 17,
8412 OPC_CheckTypeI32,
8413 OPC_MoveSibling, 12,
8414 OPC_CheckInteger, 18,
8415 OPC_CheckTypeI32,
8416 OPC_MoveSibling, 13,
8417 OPC_CheckInteger, 19,
8418 OPC_CheckTypeI32,
8419 OPC_MoveSibling, 14,
8420 OPC_CheckInteger, 24,
8421 OPC_CheckTypeI32,
8422 OPC_MoveSibling, 15,
8423 OPC_CheckInteger, 25,
8424 OPC_CheckTypeI32,
8425 OPC_MoveSibling, 16,
8426 OPC_CheckInteger, 26,
8427 OPC_CheckTypeI32,
8428 OPC_MoveSibling, 17,
8429 OPC_CheckInteger, 27,
8430 OPC_CheckTypeI32,
8431 OPC_MoveParent,
8432 OPC_MoveParent,
8433 OPC_CheckType, MVT::v4i32,
8434 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8435 MVT::v4i32, 2, 0, 1,
8436 0,
8437 83|128,1,
8438 OPC_CheckChild0Same, 1,
8439 OPC_MoveSibling1,
8440 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8441 OPC_CheckChild0Same, 0,
8442 OPC_MoveParent,
8443 OPC_CheckType, MVT::v4i32,
8444 OPC_MoveSibling1,
8445 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8446 OPC_MoveChild0,
8447 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8448 OPC_Scope, 94,
8449 OPC_CheckChild0Same, 0,
8450 OPC_MoveSibling1,
8451 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8452 OPC_CheckChild0Same, 1,
8453 OPC_MoveParent,
8454 OPC_CheckType, MVT::v4i32,
8455 OPC_MoveParent,
8456 OPC_CheckChild2Integer, 0,
8457 OPC_CheckChild2TypeI32,
8458 OPC_CheckChild3Integer, 1,
8459 OPC_CheckChild3TypeI32,
8460 OPC_CheckChild4Integer, 2,
8461 OPC_CheckChild4TypeI32,
8462 OPC_MoveChild5,
8463 OPC_CheckInteger, 3,
8464 OPC_CheckTypeI32,
8465 OPC_MoveSibling6,
8466 OPC_CheckInteger, 8,
8467 OPC_CheckTypeI32,
8468 OPC_MoveSibling7,
8469 OPC_CheckInteger, 9,
8470 OPC_CheckTypeI32,
8471 OPC_MoveSibling, 8,
8472 OPC_CheckInteger, 10,
8473 OPC_CheckTypeI32,
8474 OPC_MoveSibling, 9,
8475 OPC_CheckInteger, 11,
8476 OPC_CheckTypeI32,
8477 OPC_MoveSibling, 10,
8478 OPC_CheckInteger, 16,
8479 OPC_CheckTypeI32,
8480 OPC_MoveSibling, 11,
8481 OPC_CheckInteger, 17,
8482 OPC_CheckTypeI32,
8483 OPC_MoveSibling, 12,
8484 OPC_CheckInteger, 18,
8485 OPC_CheckTypeI32,
8486 OPC_MoveSibling, 13,
8487 OPC_CheckInteger, 19,
8488 OPC_CheckTypeI32,
8489 OPC_MoveSibling, 14,
8490 OPC_CheckInteger, 24,
8491 OPC_CheckTypeI32,
8492 OPC_MoveSibling, 15,
8493 OPC_CheckInteger, 25,
8494 OPC_CheckTypeI32,
8495 OPC_MoveSibling, 16,
8496 OPC_CheckInteger, 26,
8497 OPC_CheckTypeI32,
8498 OPC_MoveSibling, 17,
8499 OPC_CheckInteger, 27,
8500 OPC_CheckTypeI32,
8501 OPC_MoveParent,
8502 OPC_MoveParent,
8503 OPC_CheckType, MVT::v4i32,
8504 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8505 MVT::v4i32, 2, 0, 1,
8506 94,
8507 OPC_CheckChild0Same, 1,
8508 OPC_MoveSibling1,
8509 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8510 OPC_CheckChild0Same, 0,
8511 OPC_MoveParent,
8512 OPC_CheckType, MVT::v4i32,
8513 OPC_MoveParent,
8514 OPC_CheckChild2Integer, 0,
8515 OPC_CheckChild2TypeI32,
8516 OPC_CheckChild3Integer, 1,
8517 OPC_CheckChild3TypeI32,
8518 OPC_CheckChild4Integer, 2,
8519 OPC_CheckChild4TypeI32,
8520 OPC_MoveChild5,
8521 OPC_CheckInteger, 3,
8522 OPC_CheckTypeI32,
8523 OPC_MoveSibling6,
8524 OPC_CheckInteger, 8,
8525 OPC_CheckTypeI32,
8526 OPC_MoveSibling7,
8527 OPC_CheckInteger, 9,
8528 OPC_CheckTypeI32,
8529 OPC_MoveSibling, 8,
8530 OPC_CheckInteger, 10,
8531 OPC_CheckTypeI32,
8532 OPC_MoveSibling, 9,
8533 OPC_CheckInteger, 11,
8534 OPC_CheckTypeI32,
8535 OPC_MoveSibling, 10,
8536 OPC_CheckInteger, 16,
8537 OPC_CheckTypeI32,
8538 OPC_MoveSibling, 11,
8539 OPC_CheckInteger, 17,
8540 OPC_CheckTypeI32,
8541 OPC_MoveSibling, 12,
8542 OPC_CheckInteger, 18,
8543 OPC_CheckTypeI32,
8544 OPC_MoveSibling, 13,
8545 OPC_CheckInteger, 19,
8546 OPC_CheckTypeI32,
8547 OPC_MoveSibling, 14,
8548 OPC_CheckInteger, 24,
8549 OPC_CheckTypeI32,
8550 OPC_MoveSibling, 15,
8551 OPC_CheckInteger, 25,
8552 OPC_CheckTypeI32,
8553 OPC_MoveSibling, 16,
8554 OPC_CheckInteger, 26,
8555 OPC_CheckTypeI32,
8556 OPC_MoveSibling, 17,
8557 OPC_CheckInteger, 27,
8558 OPC_CheckTypeI32,
8559 OPC_MoveParent,
8560 OPC_MoveParent,
8561 OPC_CheckType, MVT::v4i32,
8562 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8563 MVT::v4i32, 2, 0, 1,
8564 0,
8565 0,
8566 0,
8567 75|128,6,
8568 OPC_CheckChild0Same, 1,
8569 OPC_MoveSibling1,
8570 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8571 OPC_CheckChild0Same, 0,
8572 OPC_MoveParent,
8573 OPC_CheckType, MVT::v4i32,
8574 OPC_MoveParent,
8575 OPC_CheckChild2Integer, 4,
8576 OPC_CheckChild2TypeI32,
8577 OPC_CheckChild3Integer, 5,
8578 OPC_CheckChild3TypeI32,
8579 OPC_CheckChild4Integer, 6,
8580 OPC_CheckChild4TypeI32,
8581 OPC_MoveChild5,
8582 OPC_CheckInteger, 7,
8583 OPC_CheckTypeI32,
8584 OPC_MoveSibling6,
8585 OPC_CheckInteger, 12,
8586 OPC_CheckTypeI32,
8587 OPC_MoveSibling7,
8588 OPC_CheckInteger, 13,
8589 OPC_CheckTypeI32,
8590 OPC_MoveSibling, 8,
8591 OPC_CheckInteger, 14,
8592 OPC_CheckTypeI32,
8593 OPC_MoveSibling, 9,
8594 OPC_CheckInteger, 15,
8595 OPC_CheckTypeI32,
8596 OPC_MoveSibling, 10,
8597 OPC_CheckInteger, 20,
8598 OPC_CheckTypeI32,
8599 OPC_MoveSibling, 11,
8600 OPC_CheckInteger, 21,
8601 OPC_CheckTypeI32,
8602 OPC_MoveSibling, 12,
8603 OPC_CheckInteger, 22,
8604 OPC_CheckTypeI32,
8605 OPC_MoveSibling, 13,
8606 OPC_CheckInteger, 23,
8607 OPC_CheckTypeI32,
8608 OPC_MoveSibling, 14,
8609 OPC_CheckInteger, 28,
8610 OPC_CheckTypeI32,
8611 OPC_MoveSibling, 15,
8612 OPC_CheckInteger, 29,
8613 OPC_CheckTypeI32,
8614 OPC_MoveSibling, 16,
8615 OPC_CheckInteger, 30,
8616 OPC_CheckTypeI32,
8617 OPC_MoveSibling, 17,
8618 OPC_CheckInteger, 31,
8619 OPC_CheckTypeI32,
8620 OPC_MoveParent,
8621 OPC_MoveSibling1,
8622 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
8623 OPC_MoveChild0,
8624 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8625 OPC_MoveChild0,
8626 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8627 OPC_Scope, 83|128,1,
8628 OPC_CheckChild0Same, 0,
8629 OPC_MoveSibling1,
8630 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8631 OPC_CheckChild0Same, 1,
8632 OPC_MoveParent,
8633 OPC_CheckType, MVT::v4i32,
8634 OPC_MoveSibling1,
8635 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8636 OPC_MoveChild0,
8637 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8638 OPC_Scope, 94,
8639 OPC_CheckChild0Same, 0,
8640 OPC_MoveSibling1,
8641 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8642 OPC_CheckChild0Same, 1,
8643 OPC_MoveParent,
8644 OPC_CheckType, MVT::v4i32,
8645 OPC_MoveParent,
8646 OPC_CheckChild2Integer, 0,
8647 OPC_CheckChild2TypeI32,
8648 OPC_CheckChild3Integer, 1,
8649 OPC_CheckChild3TypeI32,
8650 OPC_CheckChild4Integer, 2,
8651 OPC_CheckChild4TypeI32,
8652 OPC_MoveChild5,
8653 OPC_CheckInteger, 3,
8654 OPC_CheckTypeI32,
8655 OPC_MoveSibling6,
8656 OPC_CheckInteger, 8,
8657 OPC_CheckTypeI32,
8658 OPC_MoveSibling7,
8659 OPC_CheckInteger, 9,
8660 OPC_CheckTypeI32,
8661 OPC_MoveSibling, 8,
8662 OPC_CheckInteger, 10,
8663 OPC_CheckTypeI32,
8664 OPC_MoveSibling, 9,
8665 OPC_CheckInteger, 11,
8666 OPC_CheckTypeI32,
8667 OPC_MoveSibling, 10,
8668 OPC_CheckInteger, 16,
8669 OPC_CheckTypeI32,
8670 OPC_MoveSibling, 11,
8671 OPC_CheckInteger, 17,
8672 OPC_CheckTypeI32,
8673 OPC_MoveSibling, 12,
8674 OPC_CheckInteger, 18,
8675 OPC_CheckTypeI32,
8676 OPC_MoveSibling, 13,
8677 OPC_CheckInteger, 19,
8678 OPC_CheckTypeI32,
8679 OPC_MoveSibling, 14,
8680 OPC_CheckInteger, 24,
8681 OPC_CheckTypeI32,
8682 OPC_MoveSibling, 15,
8683 OPC_CheckInteger, 25,
8684 OPC_CheckTypeI32,
8685 OPC_MoveSibling, 16,
8686 OPC_CheckInteger, 26,
8687 OPC_CheckTypeI32,
8688 OPC_MoveSibling, 17,
8689 OPC_CheckInteger, 27,
8690 OPC_CheckTypeI32,
8691 OPC_MoveParent,
8692 OPC_MoveParent,
8693 OPC_CheckType, MVT::v4i32,
8694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8695 MVT::v4i32, 2, 0, 1,
8696 94,
8697 OPC_CheckChild0Same, 1,
8698 OPC_MoveSibling1,
8699 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8700 OPC_CheckChild0Same, 0,
8701 OPC_MoveParent,
8702 OPC_CheckType, MVT::v4i32,
8703 OPC_MoveParent,
8704 OPC_CheckChild2Integer, 0,
8705 OPC_CheckChild2TypeI32,
8706 OPC_CheckChild3Integer, 1,
8707 OPC_CheckChild3TypeI32,
8708 OPC_CheckChild4Integer, 2,
8709 OPC_CheckChild4TypeI32,
8710 OPC_MoveChild5,
8711 OPC_CheckInteger, 3,
8712 OPC_CheckTypeI32,
8713 OPC_MoveSibling6,
8714 OPC_CheckInteger, 8,
8715 OPC_CheckTypeI32,
8716 OPC_MoveSibling7,
8717 OPC_CheckInteger, 9,
8718 OPC_CheckTypeI32,
8719 OPC_MoveSibling, 8,
8720 OPC_CheckInteger, 10,
8721 OPC_CheckTypeI32,
8722 OPC_MoveSibling, 9,
8723 OPC_CheckInteger, 11,
8724 OPC_CheckTypeI32,
8725 OPC_MoveSibling, 10,
8726 OPC_CheckInteger, 16,
8727 OPC_CheckTypeI32,
8728 OPC_MoveSibling, 11,
8729 OPC_CheckInteger, 17,
8730 OPC_CheckTypeI32,
8731 OPC_MoveSibling, 12,
8732 OPC_CheckInteger, 18,
8733 OPC_CheckTypeI32,
8734 OPC_MoveSibling, 13,
8735 OPC_CheckInteger, 19,
8736 OPC_CheckTypeI32,
8737 OPC_MoveSibling, 14,
8738 OPC_CheckInteger, 24,
8739 OPC_CheckTypeI32,
8740 OPC_MoveSibling, 15,
8741 OPC_CheckInteger, 25,
8742 OPC_CheckTypeI32,
8743 OPC_MoveSibling, 16,
8744 OPC_CheckInteger, 26,
8745 OPC_CheckTypeI32,
8746 OPC_MoveSibling, 17,
8747 OPC_CheckInteger, 27,
8748 OPC_CheckTypeI32,
8749 OPC_MoveParent,
8750 OPC_MoveParent,
8751 OPC_CheckType, MVT::v4i32,
8752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8753 MVT::v4i32, 2, 0, 1,
8754 0,
8755 61|128,2,
8756 OPC_CheckChild0Same, 1,
8757 OPC_MoveSibling1,
8758 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8759 OPC_CheckChild0Same, 0,
8760 OPC_MoveParent,
8761 OPC_CheckType, MVT::v4i32,
8762 OPC_MoveSibling1,
8763 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8764 OPC_MoveChild0,
8765 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8766 OPC_Scope, 94,
8767 OPC_CheckChild0Same, 0,
8768 OPC_MoveSibling1,
8769 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8770 OPC_CheckChild0Same, 1,
8771 OPC_MoveParent,
8772 OPC_CheckType, MVT::v4i32,
8773 OPC_MoveParent,
8774 OPC_CheckChild2Integer, 0,
8775 OPC_CheckChild2TypeI32,
8776 OPC_CheckChild3Integer, 1,
8777 OPC_CheckChild3TypeI32,
8778 OPC_CheckChild4Integer, 2,
8779 OPC_CheckChild4TypeI32,
8780 OPC_MoveChild5,
8781 OPC_CheckInteger, 3,
8782 OPC_CheckTypeI32,
8783 OPC_MoveSibling6,
8784 OPC_CheckInteger, 8,
8785 OPC_CheckTypeI32,
8786 OPC_MoveSibling7,
8787 OPC_CheckInteger, 9,
8788 OPC_CheckTypeI32,
8789 OPC_MoveSibling, 8,
8790 OPC_CheckInteger, 10,
8791 OPC_CheckTypeI32,
8792 OPC_MoveSibling, 9,
8793 OPC_CheckInteger, 11,
8794 OPC_CheckTypeI32,
8795 OPC_MoveSibling, 10,
8796 OPC_CheckInteger, 16,
8797 OPC_CheckTypeI32,
8798 OPC_MoveSibling, 11,
8799 OPC_CheckInteger, 17,
8800 OPC_CheckTypeI32,
8801 OPC_MoveSibling, 12,
8802 OPC_CheckInteger, 18,
8803 OPC_CheckTypeI32,
8804 OPC_MoveSibling, 13,
8805 OPC_CheckInteger, 19,
8806 OPC_CheckTypeI32,
8807 OPC_MoveSibling, 14,
8808 OPC_CheckInteger, 24,
8809 OPC_CheckTypeI32,
8810 OPC_MoveSibling, 15,
8811 OPC_CheckInteger, 25,
8812 OPC_CheckTypeI32,
8813 OPC_MoveSibling, 16,
8814 OPC_CheckInteger, 26,
8815 OPC_CheckTypeI32,
8816 OPC_MoveSibling, 17,
8817 OPC_CheckInteger, 27,
8818 OPC_CheckTypeI32,
8819 OPC_MoveParent,
8820 OPC_MoveParent,
8821 OPC_CheckType, MVT::v4i32,
8822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8823 MVT::v4i32, 2, 0, 1,
8824 105,
8825 OPC_CheckChild0Same, 1,
8826 OPC_MoveSibling1,
8827 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8828 OPC_CheckChild0Same, 0,
8829 OPC_MoveParent,
8830 OPC_CheckType, MVT::v4i32,
8831 OPC_MoveParent,
8832 OPC_CheckChild2Integer, 0,
8833 OPC_CheckChild2TypeI32,
8834 OPC_CheckChild3Integer, 1,
8835 OPC_CheckChild3TypeI32,
8836 OPC_CheckChild4Integer, 2,
8837 OPC_CheckChild4TypeI32,
8838 OPC_MoveChild5,
8839 OPC_CheckInteger, 3,
8840 OPC_CheckTypeI32,
8841 OPC_MoveSibling6,
8842 OPC_CheckInteger, 8,
8843 OPC_CheckTypeI32,
8844 OPC_MoveSibling7,
8845 OPC_CheckInteger, 9,
8846 OPC_CheckTypeI32,
8847 OPC_MoveSibling, 8,
8848 OPC_CheckInteger, 10,
8849 OPC_CheckTypeI32,
8850 OPC_MoveSibling, 9,
8851 OPC_CheckInteger, 11,
8852 OPC_CheckTypeI32,
8853 OPC_MoveSibling, 10,
8854 OPC_CheckInteger, 16,
8855 OPC_CheckTypeI32,
8856 OPC_MoveSibling, 11,
8857 OPC_CheckInteger, 17,
8858 OPC_CheckTypeI32,
8859 OPC_MoveSibling, 12,
8860 OPC_CheckInteger, 18,
8861 OPC_CheckTypeI32,
8862 OPC_MoveSibling, 13,
8863 OPC_CheckInteger, 19,
8864 OPC_CheckTypeI32,
8865 OPC_MoveSibling, 14,
8866 OPC_CheckInteger, 24,
8867 OPC_CheckTypeI32,
8868 OPC_MoveSibling, 15,
8869 OPC_CheckInteger, 25,
8870 OPC_CheckTypeI32,
8871 OPC_MoveSibling, 16,
8872 OPC_CheckInteger, 26,
8873 OPC_CheckTypeI32,
8874 OPC_MoveSibling, 17,
8875 OPC_CheckInteger, 27,
8876 OPC_CheckTypeI32,
8877 OPC_MoveParent,
8878 OPC_MoveParent,
8879 OPC_CheckType, MVT::v4i32,
8880 OPC_Scope, 7,
8881 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8882 MVT::v4i32, 2, 0, 1,
8883 7,
8884 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8885 MVT::v4i32, 2, 1, 0,
8886 0,
8887 94,
8888 OPC_CheckChild0Same, 0,
8889 OPC_MoveSibling1,
8890 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8891 OPC_CheckChild0Same, 1,
8892 OPC_MoveParent,
8893 OPC_CheckType, MVT::v4i32,
8894 OPC_MoveParent,
8895 OPC_CheckChild2Integer, 0,
8896 OPC_CheckChild2TypeI32,
8897 OPC_CheckChild3Integer, 1,
8898 OPC_CheckChild3TypeI32,
8899 OPC_CheckChild4Integer, 2,
8900 OPC_CheckChild4TypeI32,
8901 OPC_MoveChild5,
8902 OPC_CheckInteger, 3,
8903 OPC_CheckTypeI32,
8904 OPC_MoveSibling6,
8905 OPC_CheckInteger, 8,
8906 OPC_CheckTypeI32,
8907 OPC_MoveSibling7,
8908 OPC_CheckInteger, 9,
8909 OPC_CheckTypeI32,
8910 OPC_MoveSibling, 8,
8911 OPC_CheckInteger, 10,
8912 OPC_CheckTypeI32,
8913 OPC_MoveSibling, 9,
8914 OPC_CheckInteger, 11,
8915 OPC_CheckTypeI32,
8916 OPC_MoveSibling, 10,
8917 OPC_CheckInteger, 16,
8918 OPC_CheckTypeI32,
8919 OPC_MoveSibling, 11,
8920 OPC_CheckInteger, 17,
8921 OPC_CheckTypeI32,
8922 OPC_MoveSibling, 12,
8923 OPC_CheckInteger, 18,
8924 OPC_CheckTypeI32,
8925 OPC_MoveSibling, 13,
8926 OPC_CheckInteger, 19,
8927 OPC_CheckTypeI32,
8928 OPC_MoveSibling, 14,
8929 OPC_CheckInteger, 24,
8930 OPC_CheckTypeI32,
8931 OPC_MoveSibling, 15,
8932 OPC_CheckInteger, 25,
8933 OPC_CheckTypeI32,
8934 OPC_MoveSibling, 16,
8935 OPC_CheckInteger, 26,
8936 OPC_CheckTypeI32,
8937 OPC_MoveSibling, 17,
8938 OPC_CheckInteger, 27,
8939 OPC_CheckTypeI32,
8940 OPC_MoveParent,
8941 OPC_MoveParent,
8942 OPC_CheckType, MVT::v4i32,
8943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
8944 MVT::v4i32, 2, 1, 0,
8945 0,
8946 83|128,1,
8947 OPC_CheckChild0Same, 0,
8948 OPC_MoveSibling1,
8949 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
8950 OPC_CheckChild0Same, 1,
8951 OPC_MoveParent,
8952 OPC_CheckType, MVT::v4i32,
8953 OPC_MoveSibling1,
8954 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
8955 OPC_MoveChild0,
8956 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8957 OPC_Scope, 94,
8958 OPC_CheckChild0Same, 1,
8959 OPC_MoveSibling1,
8960 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
8961 OPC_CheckChild0Same, 0,
8962 OPC_MoveParent,
8963 OPC_CheckType, MVT::v4i32,
8964 OPC_MoveParent,
8965 OPC_CheckChild2Integer, 0,
8966 OPC_CheckChild2TypeI32,
8967 OPC_CheckChild3Integer, 1,
8968 OPC_CheckChild3TypeI32,
8969 OPC_CheckChild4Integer, 2,
8970 OPC_CheckChild4TypeI32,
8971 OPC_MoveChild5,
8972 OPC_CheckInteger, 3,
8973 OPC_CheckTypeI32,
8974 OPC_MoveSibling6,
8975 OPC_CheckInteger, 8,
8976 OPC_CheckTypeI32,
8977 OPC_MoveSibling7,
8978 OPC_CheckInteger, 9,
8979 OPC_CheckTypeI32,
8980 OPC_MoveSibling, 8,
8981 OPC_CheckInteger, 10,
8982 OPC_CheckTypeI32,
8983 OPC_MoveSibling, 9,
8984 OPC_CheckInteger, 11,
8985 OPC_CheckTypeI32,
8986 OPC_MoveSibling, 10,
8987 OPC_CheckInteger, 16,
8988 OPC_CheckTypeI32,
8989 OPC_MoveSibling, 11,
8990 OPC_CheckInteger, 17,
8991 OPC_CheckTypeI32,
8992 OPC_MoveSibling, 12,
8993 OPC_CheckInteger, 18,
8994 OPC_CheckTypeI32,
8995 OPC_MoveSibling, 13,
8996 OPC_CheckInteger, 19,
8997 OPC_CheckTypeI32,
8998 OPC_MoveSibling, 14,
8999 OPC_CheckInteger, 24,
9000 OPC_CheckTypeI32,
9001 OPC_MoveSibling, 15,
9002 OPC_CheckInteger, 25,
9003 OPC_CheckTypeI32,
9004 OPC_MoveSibling, 16,
9005 OPC_CheckInteger, 26,
9006 OPC_CheckTypeI32,
9007 OPC_MoveSibling, 17,
9008 OPC_CheckInteger, 27,
9009 OPC_CheckTypeI32,
9010 OPC_MoveParent,
9011 OPC_MoveParent,
9012 OPC_CheckType, MVT::v4i32,
9013 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9014 MVT::v4i32, 2, 1, 0,
9015 94,
9016 OPC_CheckChild0Same, 0,
9017 OPC_MoveSibling1,
9018 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9019 OPC_CheckChild0Same, 1,
9020 OPC_MoveParent,
9021 OPC_CheckType, MVT::v4i32,
9022 OPC_MoveParent,
9023 OPC_CheckChild2Integer, 0,
9024 OPC_CheckChild2TypeI32,
9025 OPC_CheckChild3Integer, 1,
9026 OPC_CheckChild3TypeI32,
9027 OPC_CheckChild4Integer, 2,
9028 OPC_CheckChild4TypeI32,
9029 OPC_MoveChild5,
9030 OPC_CheckInteger, 3,
9031 OPC_CheckTypeI32,
9032 OPC_MoveSibling6,
9033 OPC_CheckInteger, 8,
9034 OPC_CheckTypeI32,
9035 OPC_MoveSibling7,
9036 OPC_CheckInteger, 9,
9037 OPC_CheckTypeI32,
9038 OPC_MoveSibling, 8,
9039 OPC_CheckInteger, 10,
9040 OPC_CheckTypeI32,
9041 OPC_MoveSibling, 9,
9042 OPC_CheckInteger, 11,
9043 OPC_CheckTypeI32,
9044 OPC_MoveSibling, 10,
9045 OPC_CheckInteger, 16,
9046 OPC_CheckTypeI32,
9047 OPC_MoveSibling, 11,
9048 OPC_CheckInteger, 17,
9049 OPC_CheckTypeI32,
9050 OPC_MoveSibling, 12,
9051 OPC_CheckInteger, 18,
9052 OPC_CheckTypeI32,
9053 OPC_MoveSibling, 13,
9054 OPC_CheckInteger, 19,
9055 OPC_CheckTypeI32,
9056 OPC_MoveSibling, 14,
9057 OPC_CheckInteger, 24,
9058 OPC_CheckTypeI32,
9059 OPC_MoveSibling, 15,
9060 OPC_CheckInteger, 25,
9061 OPC_CheckTypeI32,
9062 OPC_MoveSibling, 16,
9063 OPC_CheckInteger, 26,
9064 OPC_CheckTypeI32,
9065 OPC_MoveSibling, 17,
9066 OPC_CheckInteger, 27,
9067 OPC_CheckTypeI32,
9068 OPC_MoveParent,
9069 OPC_MoveParent,
9070 OPC_CheckType, MVT::v4i32,
9071 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9072 MVT::v4i32, 2, 1, 0,
9073 0,
9074 0,
9075 12|128,4,
9076 OPC_CheckChild0Same, 0,
9077 OPC_MoveSibling1,
9078 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9079 OPC_CheckChild0Same, 1,
9080 OPC_MoveParent,
9081 OPC_CheckType, MVT::v4i32,
9082 OPC_MoveParent,
9083 OPC_CheckChild2Integer, 4,
9084 OPC_CheckChild2TypeI32,
9085 OPC_CheckChild3Integer, 5,
9086 OPC_CheckChild3TypeI32,
9087 OPC_CheckChild4Integer, 6,
9088 OPC_CheckChild4TypeI32,
9089 OPC_MoveChild5,
9090 OPC_CheckInteger, 7,
9091 OPC_CheckTypeI32,
9092 OPC_MoveSibling6,
9093 OPC_CheckInteger, 12,
9094 OPC_CheckTypeI32,
9095 OPC_MoveSibling7,
9096 OPC_CheckInteger, 13,
9097 OPC_CheckTypeI32,
9098 OPC_MoveSibling, 8,
9099 OPC_CheckInteger, 14,
9100 OPC_CheckTypeI32,
9101 OPC_MoveSibling, 9,
9102 OPC_CheckInteger, 15,
9103 OPC_CheckTypeI32,
9104 OPC_MoveSibling, 10,
9105 OPC_CheckInteger, 20,
9106 OPC_CheckTypeI32,
9107 OPC_MoveSibling, 11,
9108 OPC_CheckInteger, 21,
9109 OPC_CheckTypeI32,
9110 OPC_MoveSibling, 12,
9111 OPC_CheckInteger, 22,
9112 OPC_CheckTypeI32,
9113 OPC_MoveSibling, 13,
9114 OPC_CheckInteger, 23,
9115 OPC_CheckTypeI32,
9116 OPC_MoveSibling, 14,
9117 OPC_CheckInteger, 28,
9118 OPC_CheckTypeI32,
9119 OPC_MoveSibling, 15,
9120 OPC_CheckInteger, 29,
9121 OPC_CheckTypeI32,
9122 OPC_MoveSibling, 16,
9123 OPC_CheckInteger, 30,
9124 OPC_CheckTypeI32,
9125 OPC_MoveSibling, 17,
9126 OPC_CheckInteger, 31,
9127 OPC_CheckTypeI32,
9128 OPC_MoveParent,
9129 OPC_MoveSibling1,
9130 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9131 OPC_MoveChild0,
9132 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9133 OPC_MoveChild0,
9134 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9135 OPC_Scope, 83|128,1,
9136 OPC_CheckChild0Same, 1,
9137 OPC_MoveSibling1,
9138 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9139 OPC_CheckChild0Same, 0,
9140 OPC_MoveParent,
9141 OPC_CheckType, MVT::v4i32,
9142 OPC_MoveSibling1,
9143 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9144 OPC_MoveChild0,
9145 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9146 OPC_Scope, 94,
9147 OPC_CheckChild0Same, 1,
9148 OPC_MoveSibling1,
9149 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9150 OPC_CheckChild0Same, 0,
9151 OPC_MoveParent,
9152 OPC_CheckType, MVT::v4i32,
9153 OPC_MoveParent,
9154 OPC_CheckChild2Integer, 0,
9155 OPC_CheckChild2TypeI32,
9156 OPC_CheckChild3Integer, 1,
9157 OPC_CheckChild3TypeI32,
9158 OPC_CheckChild4Integer, 2,
9159 OPC_CheckChild4TypeI32,
9160 OPC_MoveChild5,
9161 OPC_CheckInteger, 3,
9162 OPC_CheckTypeI32,
9163 OPC_MoveSibling6,
9164 OPC_CheckInteger, 8,
9165 OPC_CheckTypeI32,
9166 OPC_MoveSibling7,
9167 OPC_CheckInteger, 9,
9168 OPC_CheckTypeI32,
9169 OPC_MoveSibling, 8,
9170 OPC_CheckInteger, 10,
9171 OPC_CheckTypeI32,
9172 OPC_MoveSibling, 9,
9173 OPC_CheckInteger, 11,
9174 OPC_CheckTypeI32,
9175 OPC_MoveSibling, 10,
9176 OPC_CheckInteger, 16,
9177 OPC_CheckTypeI32,
9178 OPC_MoveSibling, 11,
9179 OPC_CheckInteger, 17,
9180 OPC_CheckTypeI32,
9181 OPC_MoveSibling, 12,
9182 OPC_CheckInteger, 18,
9183 OPC_CheckTypeI32,
9184 OPC_MoveSibling, 13,
9185 OPC_CheckInteger, 19,
9186 OPC_CheckTypeI32,
9187 OPC_MoveSibling, 14,
9188 OPC_CheckInteger, 24,
9189 OPC_CheckTypeI32,
9190 OPC_MoveSibling, 15,
9191 OPC_CheckInteger, 25,
9192 OPC_CheckTypeI32,
9193 OPC_MoveSibling, 16,
9194 OPC_CheckInteger, 26,
9195 OPC_CheckTypeI32,
9196 OPC_MoveSibling, 17,
9197 OPC_CheckInteger, 27,
9198 OPC_CheckTypeI32,
9199 OPC_MoveParent,
9200 OPC_MoveParent,
9201 OPC_CheckType, MVT::v4i32,
9202 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9203 MVT::v4i32, 2, 1, 0,
9204 94,
9205 OPC_CheckChild0Same, 0,
9206 OPC_MoveSibling1,
9207 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9208 OPC_CheckChild0Same, 1,
9209 OPC_MoveParent,
9210 OPC_CheckType, MVT::v4i32,
9211 OPC_MoveParent,
9212 OPC_CheckChild2Integer, 0,
9213 OPC_CheckChild2TypeI32,
9214 OPC_CheckChild3Integer, 1,
9215 OPC_CheckChild3TypeI32,
9216 OPC_CheckChild4Integer, 2,
9217 OPC_CheckChild4TypeI32,
9218 OPC_MoveChild5,
9219 OPC_CheckInteger, 3,
9220 OPC_CheckTypeI32,
9221 OPC_MoveSibling6,
9222 OPC_CheckInteger, 8,
9223 OPC_CheckTypeI32,
9224 OPC_MoveSibling7,
9225 OPC_CheckInteger, 9,
9226 OPC_CheckTypeI32,
9227 OPC_MoveSibling, 8,
9228 OPC_CheckInteger, 10,
9229 OPC_CheckTypeI32,
9230 OPC_MoveSibling, 9,
9231 OPC_CheckInteger, 11,
9232 OPC_CheckTypeI32,
9233 OPC_MoveSibling, 10,
9234 OPC_CheckInteger, 16,
9235 OPC_CheckTypeI32,
9236 OPC_MoveSibling, 11,
9237 OPC_CheckInteger, 17,
9238 OPC_CheckTypeI32,
9239 OPC_MoveSibling, 12,
9240 OPC_CheckInteger, 18,
9241 OPC_CheckTypeI32,
9242 OPC_MoveSibling, 13,
9243 OPC_CheckInteger, 19,
9244 OPC_CheckTypeI32,
9245 OPC_MoveSibling, 14,
9246 OPC_CheckInteger, 24,
9247 OPC_CheckTypeI32,
9248 OPC_MoveSibling, 15,
9249 OPC_CheckInteger, 25,
9250 OPC_CheckTypeI32,
9251 OPC_MoveSibling, 16,
9252 OPC_CheckInteger, 26,
9253 OPC_CheckTypeI32,
9254 OPC_MoveSibling, 17,
9255 OPC_CheckInteger, 27,
9256 OPC_CheckTypeI32,
9257 OPC_MoveParent,
9258 OPC_MoveParent,
9259 OPC_CheckType, MVT::v4i32,
9260 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9261 MVT::v4i32, 2, 1, 0,
9262 0,
9263 83|128,1,
9264 OPC_CheckChild0Same, 0,
9265 OPC_MoveSibling1,
9266 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9267 OPC_CheckChild0Same, 1,
9268 OPC_MoveParent,
9269 OPC_CheckType, MVT::v4i32,
9270 OPC_MoveSibling1,
9271 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9272 OPC_MoveChild0,
9273 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9274 OPC_Scope, 94,
9275 OPC_CheckChild0Same, 1,
9276 OPC_MoveSibling1,
9277 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9278 OPC_CheckChild0Same, 0,
9279 OPC_MoveParent,
9280 OPC_CheckType, MVT::v4i32,
9281 OPC_MoveParent,
9282 OPC_CheckChild2Integer, 0,
9283 OPC_CheckChild2TypeI32,
9284 OPC_CheckChild3Integer, 1,
9285 OPC_CheckChild3TypeI32,
9286 OPC_CheckChild4Integer, 2,
9287 OPC_CheckChild4TypeI32,
9288 OPC_MoveChild5,
9289 OPC_CheckInteger, 3,
9290 OPC_CheckTypeI32,
9291 OPC_MoveSibling6,
9292 OPC_CheckInteger, 8,
9293 OPC_CheckTypeI32,
9294 OPC_MoveSibling7,
9295 OPC_CheckInteger, 9,
9296 OPC_CheckTypeI32,
9297 OPC_MoveSibling, 8,
9298 OPC_CheckInteger, 10,
9299 OPC_CheckTypeI32,
9300 OPC_MoveSibling, 9,
9301 OPC_CheckInteger, 11,
9302 OPC_CheckTypeI32,
9303 OPC_MoveSibling, 10,
9304 OPC_CheckInteger, 16,
9305 OPC_CheckTypeI32,
9306 OPC_MoveSibling, 11,
9307 OPC_CheckInteger, 17,
9308 OPC_CheckTypeI32,
9309 OPC_MoveSibling, 12,
9310 OPC_CheckInteger, 18,
9311 OPC_CheckTypeI32,
9312 OPC_MoveSibling, 13,
9313 OPC_CheckInteger, 19,
9314 OPC_CheckTypeI32,
9315 OPC_MoveSibling, 14,
9316 OPC_CheckInteger, 24,
9317 OPC_CheckTypeI32,
9318 OPC_MoveSibling, 15,
9319 OPC_CheckInteger, 25,
9320 OPC_CheckTypeI32,
9321 OPC_MoveSibling, 16,
9322 OPC_CheckInteger, 26,
9323 OPC_CheckTypeI32,
9324 OPC_MoveSibling, 17,
9325 OPC_CheckInteger, 27,
9326 OPC_CheckTypeI32,
9327 OPC_MoveParent,
9328 OPC_MoveParent,
9329 OPC_CheckType, MVT::v4i32,
9330 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9331 MVT::v4i32, 2, 1, 0,
9332 94,
9333 OPC_CheckChild0Same, 0,
9334 OPC_MoveSibling1,
9335 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9336 OPC_CheckChild0Same, 1,
9337 OPC_MoveParent,
9338 OPC_CheckType, MVT::v4i32,
9339 OPC_MoveParent,
9340 OPC_CheckChild2Integer, 0,
9341 OPC_CheckChild2TypeI32,
9342 OPC_CheckChild3Integer, 1,
9343 OPC_CheckChild3TypeI32,
9344 OPC_CheckChild4Integer, 2,
9345 OPC_CheckChild4TypeI32,
9346 OPC_MoveChild5,
9347 OPC_CheckInteger, 3,
9348 OPC_CheckTypeI32,
9349 OPC_MoveSibling6,
9350 OPC_CheckInteger, 8,
9351 OPC_CheckTypeI32,
9352 OPC_MoveSibling7,
9353 OPC_CheckInteger, 9,
9354 OPC_CheckTypeI32,
9355 OPC_MoveSibling, 8,
9356 OPC_CheckInteger, 10,
9357 OPC_CheckTypeI32,
9358 OPC_MoveSibling, 9,
9359 OPC_CheckInteger, 11,
9360 OPC_CheckTypeI32,
9361 OPC_MoveSibling, 10,
9362 OPC_CheckInteger, 16,
9363 OPC_CheckTypeI32,
9364 OPC_MoveSibling, 11,
9365 OPC_CheckInteger, 17,
9366 OPC_CheckTypeI32,
9367 OPC_MoveSibling, 12,
9368 OPC_CheckInteger, 18,
9369 OPC_CheckTypeI32,
9370 OPC_MoveSibling, 13,
9371 OPC_CheckInteger, 19,
9372 OPC_CheckTypeI32,
9373 OPC_MoveSibling, 14,
9374 OPC_CheckInteger, 24,
9375 OPC_CheckTypeI32,
9376 OPC_MoveSibling, 15,
9377 OPC_CheckInteger, 25,
9378 OPC_CheckTypeI32,
9379 OPC_MoveSibling, 16,
9380 OPC_CheckInteger, 26,
9381 OPC_CheckTypeI32,
9382 OPC_MoveSibling, 17,
9383 OPC_CheckInteger, 27,
9384 OPC_CheckTypeI32,
9385 OPC_MoveParent,
9386 OPC_MoveParent,
9387 OPC_CheckType, MVT::v4i32,
9388 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
9389 MVT::v4i32, 2, 1, 0,
9390 0,
9391 0,
9392 0,
9393 96|128,29,
9394 OPC_CheckChild0Type, MVT::v16i8,
9395 OPC_MoveSibling1,
9396 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9397 OPC_RecordChild0,
9398 OPC_CheckChild0Type, MVT::v16i8,
9399 OPC_MoveParent,
9400 OPC_CheckType, MVT::v8i16,
9401 OPC_MoveSibling1,
9402 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9403 OPC_MoveChild0,
9404 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9405 OPC_Scope, 12|128,4,
9406 OPC_CheckChild0Same, 0,
9407 OPC_MoveSibling1,
9408 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9409 OPC_CheckChild0Same, 1,
9410 OPC_MoveParent,
9411 OPC_CheckType, MVT::v8i16,
9412 OPC_MoveParent,
9413 OPC_CheckChild2Integer, 0,
9414 OPC_CheckChild2TypeI32,
9415 OPC_CheckChild3Integer, 1,
9416 OPC_CheckChild3TypeI32,
9417 OPC_CheckChild4Integer, 4,
9418 OPC_CheckChild4TypeI32,
9419 OPC_MoveChild5,
9420 OPC_CheckInteger, 5,
9421 OPC_CheckTypeI32,
9422 OPC_MoveSibling6,
9423 OPC_CheckInteger, 8,
9424 OPC_CheckTypeI32,
9425 OPC_MoveSibling7,
9426 OPC_CheckInteger, 9,
9427 OPC_CheckTypeI32,
9428 OPC_MoveSibling, 8,
9429 OPC_CheckInteger, 12,
9430 OPC_CheckTypeI32,
9431 OPC_MoveSibling, 9,
9432 OPC_CheckInteger, 13,
9433 OPC_CheckTypeI32,
9434 OPC_MoveSibling, 10,
9435 OPC_CheckInteger, 16,
9436 OPC_CheckTypeI32,
9437 OPC_MoveSibling, 11,
9438 OPC_CheckInteger, 17,
9439 OPC_CheckTypeI32,
9440 OPC_MoveSibling, 12,
9441 OPC_CheckInteger, 20,
9442 OPC_CheckTypeI32,
9443 OPC_MoveSibling, 13,
9444 OPC_CheckInteger, 21,
9445 OPC_CheckTypeI32,
9446 OPC_MoveSibling, 14,
9447 OPC_CheckInteger, 24,
9448 OPC_CheckTypeI32,
9449 OPC_MoveSibling, 15,
9450 OPC_CheckInteger, 25,
9451 OPC_CheckTypeI32,
9452 OPC_MoveSibling, 16,
9453 OPC_CheckInteger, 28,
9454 OPC_CheckTypeI32,
9455 OPC_MoveSibling, 17,
9456 OPC_CheckInteger, 29,
9457 OPC_CheckTypeI32,
9458 OPC_MoveParent,
9459 OPC_MoveSibling1,
9460 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9461 OPC_MoveChild0,
9462 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9463 OPC_MoveChild0,
9464 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9465 OPC_Scope, 83|128,1,
9466 OPC_CheckChild0Same, 0,
9467 OPC_MoveSibling1,
9468 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9469 OPC_CheckChild0Same, 1,
9470 OPC_MoveParent,
9471 OPC_CheckType, MVT::v8i16,
9472 OPC_MoveSibling1,
9473 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9474 OPC_MoveChild0,
9475 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9476 OPC_Scope, 94,
9477 OPC_CheckChild0Same, 0,
9478 OPC_MoveSibling1,
9479 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9480 OPC_CheckChild0Same, 1,
9481 OPC_MoveParent,
9482 OPC_CheckType, MVT::v8i16,
9483 OPC_MoveParent,
9484 OPC_CheckChild2Integer, 2,
9485 OPC_CheckChild2TypeI32,
9486 OPC_CheckChild3Integer, 3,
9487 OPC_CheckChild3TypeI32,
9488 OPC_CheckChild4Integer, 6,
9489 OPC_CheckChild4TypeI32,
9490 OPC_MoveChild5,
9491 OPC_CheckInteger, 7,
9492 OPC_CheckTypeI32,
9493 OPC_MoveSibling6,
9494 OPC_CheckInteger, 10,
9495 OPC_CheckTypeI32,
9496 OPC_MoveSibling7,
9497 OPC_CheckInteger, 11,
9498 OPC_CheckTypeI32,
9499 OPC_MoveSibling, 8,
9500 OPC_CheckInteger, 14,
9501 OPC_CheckTypeI32,
9502 OPC_MoveSibling, 9,
9503 OPC_CheckInteger, 15,
9504 OPC_CheckTypeI32,
9505 OPC_MoveSibling, 10,
9506 OPC_CheckInteger, 18,
9507 OPC_CheckTypeI32,
9508 OPC_MoveSibling, 11,
9509 OPC_CheckInteger, 19,
9510 OPC_CheckTypeI32,
9511 OPC_MoveSibling, 12,
9512 OPC_CheckInteger, 22,
9513 OPC_CheckTypeI32,
9514 OPC_MoveSibling, 13,
9515 OPC_CheckInteger, 23,
9516 OPC_CheckTypeI32,
9517 OPC_MoveSibling, 14,
9518 OPC_CheckInteger, 26,
9519 OPC_CheckTypeI32,
9520 OPC_MoveSibling, 15,
9521 OPC_CheckInteger, 27,
9522 OPC_CheckTypeI32,
9523 OPC_MoveSibling, 16,
9524 OPC_CheckInteger, 30,
9525 OPC_CheckTypeI32,
9526 OPC_MoveSibling, 17,
9527 OPC_CheckInteger, 31,
9528 OPC_CheckTypeI32,
9529 OPC_MoveParent,
9530 OPC_MoveParent,
9531 OPC_CheckType, MVT::v8i16,
9532 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9533 MVT::v8i16, 2, 0, 1,
9534 94,
9535 OPC_CheckChild0Same, 1,
9536 OPC_MoveSibling1,
9537 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9538 OPC_CheckChild0Same, 0,
9539 OPC_MoveParent,
9540 OPC_CheckType, MVT::v8i16,
9541 OPC_MoveParent,
9542 OPC_CheckChild2Integer, 2,
9543 OPC_CheckChild2TypeI32,
9544 OPC_CheckChild3Integer, 3,
9545 OPC_CheckChild3TypeI32,
9546 OPC_CheckChild4Integer, 6,
9547 OPC_CheckChild4TypeI32,
9548 OPC_MoveChild5,
9549 OPC_CheckInteger, 7,
9550 OPC_CheckTypeI32,
9551 OPC_MoveSibling6,
9552 OPC_CheckInteger, 10,
9553 OPC_CheckTypeI32,
9554 OPC_MoveSibling7,
9555 OPC_CheckInteger, 11,
9556 OPC_CheckTypeI32,
9557 OPC_MoveSibling, 8,
9558 OPC_CheckInteger, 14,
9559 OPC_CheckTypeI32,
9560 OPC_MoveSibling, 9,
9561 OPC_CheckInteger, 15,
9562 OPC_CheckTypeI32,
9563 OPC_MoveSibling, 10,
9564 OPC_CheckInteger, 18,
9565 OPC_CheckTypeI32,
9566 OPC_MoveSibling, 11,
9567 OPC_CheckInteger, 19,
9568 OPC_CheckTypeI32,
9569 OPC_MoveSibling, 12,
9570 OPC_CheckInteger, 22,
9571 OPC_CheckTypeI32,
9572 OPC_MoveSibling, 13,
9573 OPC_CheckInteger, 23,
9574 OPC_CheckTypeI32,
9575 OPC_MoveSibling, 14,
9576 OPC_CheckInteger, 26,
9577 OPC_CheckTypeI32,
9578 OPC_MoveSibling, 15,
9579 OPC_CheckInteger, 27,
9580 OPC_CheckTypeI32,
9581 OPC_MoveSibling, 16,
9582 OPC_CheckInteger, 30,
9583 OPC_CheckTypeI32,
9584 OPC_MoveSibling, 17,
9585 OPC_CheckInteger, 31,
9586 OPC_CheckTypeI32,
9587 OPC_MoveParent,
9588 OPC_MoveParent,
9589 OPC_CheckType, MVT::v8i16,
9590 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9591 MVT::v8i16, 2, 0, 1,
9592 0,
9593 83|128,1,
9594 OPC_CheckChild0Same, 1,
9595 OPC_MoveSibling1,
9596 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9597 OPC_CheckChild0Same, 0,
9598 OPC_MoveParent,
9599 OPC_CheckType, MVT::v8i16,
9600 OPC_MoveSibling1,
9601 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9602 OPC_MoveChild0,
9603 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9604 OPC_Scope, 94,
9605 OPC_CheckChild0Same, 0,
9606 OPC_MoveSibling1,
9607 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9608 OPC_CheckChild0Same, 1,
9609 OPC_MoveParent,
9610 OPC_CheckType, MVT::v8i16,
9611 OPC_MoveParent,
9612 OPC_CheckChild2Integer, 2,
9613 OPC_CheckChild2TypeI32,
9614 OPC_CheckChild3Integer, 3,
9615 OPC_CheckChild3TypeI32,
9616 OPC_CheckChild4Integer, 6,
9617 OPC_CheckChild4TypeI32,
9618 OPC_MoveChild5,
9619 OPC_CheckInteger, 7,
9620 OPC_CheckTypeI32,
9621 OPC_MoveSibling6,
9622 OPC_CheckInteger, 10,
9623 OPC_CheckTypeI32,
9624 OPC_MoveSibling7,
9625 OPC_CheckInteger, 11,
9626 OPC_CheckTypeI32,
9627 OPC_MoveSibling, 8,
9628 OPC_CheckInteger, 14,
9629 OPC_CheckTypeI32,
9630 OPC_MoveSibling, 9,
9631 OPC_CheckInteger, 15,
9632 OPC_CheckTypeI32,
9633 OPC_MoveSibling, 10,
9634 OPC_CheckInteger, 18,
9635 OPC_CheckTypeI32,
9636 OPC_MoveSibling, 11,
9637 OPC_CheckInteger, 19,
9638 OPC_CheckTypeI32,
9639 OPC_MoveSibling, 12,
9640 OPC_CheckInteger, 22,
9641 OPC_CheckTypeI32,
9642 OPC_MoveSibling, 13,
9643 OPC_CheckInteger, 23,
9644 OPC_CheckTypeI32,
9645 OPC_MoveSibling, 14,
9646 OPC_CheckInteger, 26,
9647 OPC_CheckTypeI32,
9648 OPC_MoveSibling, 15,
9649 OPC_CheckInteger, 27,
9650 OPC_CheckTypeI32,
9651 OPC_MoveSibling, 16,
9652 OPC_CheckInteger, 30,
9653 OPC_CheckTypeI32,
9654 OPC_MoveSibling, 17,
9655 OPC_CheckInteger, 31,
9656 OPC_CheckTypeI32,
9657 OPC_MoveParent,
9658 OPC_MoveParent,
9659 OPC_CheckType, MVT::v8i16,
9660 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9661 MVT::v8i16, 2, 0, 1,
9662 94,
9663 OPC_CheckChild0Same, 1,
9664 OPC_MoveSibling1,
9665 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9666 OPC_CheckChild0Same, 0,
9667 OPC_MoveParent,
9668 OPC_CheckType, MVT::v8i16,
9669 OPC_MoveParent,
9670 OPC_CheckChild2Integer, 2,
9671 OPC_CheckChild2TypeI32,
9672 OPC_CheckChild3Integer, 3,
9673 OPC_CheckChild3TypeI32,
9674 OPC_CheckChild4Integer, 6,
9675 OPC_CheckChild4TypeI32,
9676 OPC_MoveChild5,
9677 OPC_CheckInteger, 7,
9678 OPC_CheckTypeI32,
9679 OPC_MoveSibling6,
9680 OPC_CheckInteger, 10,
9681 OPC_CheckTypeI32,
9682 OPC_MoveSibling7,
9683 OPC_CheckInteger, 11,
9684 OPC_CheckTypeI32,
9685 OPC_MoveSibling, 8,
9686 OPC_CheckInteger, 14,
9687 OPC_CheckTypeI32,
9688 OPC_MoveSibling, 9,
9689 OPC_CheckInteger, 15,
9690 OPC_CheckTypeI32,
9691 OPC_MoveSibling, 10,
9692 OPC_CheckInteger, 18,
9693 OPC_CheckTypeI32,
9694 OPC_MoveSibling, 11,
9695 OPC_CheckInteger, 19,
9696 OPC_CheckTypeI32,
9697 OPC_MoveSibling, 12,
9698 OPC_CheckInteger, 22,
9699 OPC_CheckTypeI32,
9700 OPC_MoveSibling, 13,
9701 OPC_CheckInteger, 23,
9702 OPC_CheckTypeI32,
9703 OPC_MoveSibling, 14,
9704 OPC_CheckInteger, 26,
9705 OPC_CheckTypeI32,
9706 OPC_MoveSibling, 15,
9707 OPC_CheckInteger, 27,
9708 OPC_CheckTypeI32,
9709 OPC_MoveSibling, 16,
9710 OPC_CheckInteger, 30,
9711 OPC_CheckTypeI32,
9712 OPC_MoveSibling, 17,
9713 OPC_CheckInteger, 31,
9714 OPC_CheckTypeI32,
9715 OPC_MoveParent,
9716 OPC_MoveParent,
9717 OPC_CheckType, MVT::v8i16,
9718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9719 MVT::v8i16, 2, 0, 1,
9720 0,
9721 0,
9722 75|128,6,
9723 OPC_CheckChild0Same, 1,
9724 OPC_MoveSibling1,
9725 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9726 OPC_CheckChild0Same, 0,
9727 OPC_MoveParent,
9728 OPC_CheckType, MVT::v8i16,
9729 OPC_MoveParent,
9730 OPC_CheckChild2Integer, 0,
9731 OPC_CheckChild2TypeI32,
9732 OPC_CheckChild3Integer, 1,
9733 OPC_CheckChild3TypeI32,
9734 OPC_CheckChild4Integer, 4,
9735 OPC_CheckChild4TypeI32,
9736 OPC_MoveChild5,
9737 OPC_CheckInteger, 5,
9738 OPC_CheckTypeI32,
9739 OPC_MoveSibling6,
9740 OPC_CheckInteger, 8,
9741 OPC_CheckTypeI32,
9742 OPC_MoveSibling7,
9743 OPC_CheckInteger, 9,
9744 OPC_CheckTypeI32,
9745 OPC_MoveSibling, 8,
9746 OPC_CheckInteger, 12,
9747 OPC_CheckTypeI32,
9748 OPC_MoveSibling, 9,
9749 OPC_CheckInteger, 13,
9750 OPC_CheckTypeI32,
9751 OPC_MoveSibling, 10,
9752 OPC_CheckInteger, 16,
9753 OPC_CheckTypeI32,
9754 OPC_MoveSibling, 11,
9755 OPC_CheckInteger, 17,
9756 OPC_CheckTypeI32,
9757 OPC_MoveSibling, 12,
9758 OPC_CheckInteger, 20,
9759 OPC_CheckTypeI32,
9760 OPC_MoveSibling, 13,
9761 OPC_CheckInteger, 21,
9762 OPC_CheckTypeI32,
9763 OPC_MoveSibling, 14,
9764 OPC_CheckInteger, 24,
9765 OPC_CheckTypeI32,
9766 OPC_MoveSibling, 15,
9767 OPC_CheckInteger, 25,
9768 OPC_CheckTypeI32,
9769 OPC_MoveSibling, 16,
9770 OPC_CheckInteger, 28,
9771 OPC_CheckTypeI32,
9772 OPC_MoveSibling, 17,
9773 OPC_CheckInteger, 29,
9774 OPC_CheckTypeI32,
9775 OPC_MoveParent,
9776 OPC_MoveSibling1,
9777 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9778 OPC_MoveChild0,
9779 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9780 OPC_MoveChild0,
9781 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9782 OPC_Scope, 83|128,1,
9783 OPC_CheckChild0Same, 0,
9784 OPC_MoveSibling1,
9785 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9786 OPC_CheckChild0Same, 1,
9787 OPC_MoveParent,
9788 OPC_CheckType, MVT::v8i16,
9789 OPC_MoveSibling1,
9790 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9791 OPC_MoveChild0,
9792 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9793 OPC_Scope, 94,
9794 OPC_CheckChild0Same, 0,
9795 OPC_MoveSibling1,
9796 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9797 OPC_CheckChild0Same, 1,
9798 OPC_MoveParent,
9799 OPC_CheckType, MVT::v8i16,
9800 OPC_MoveParent,
9801 OPC_CheckChild2Integer, 2,
9802 OPC_CheckChild2TypeI32,
9803 OPC_CheckChild3Integer, 3,
9804 OPC_CheckChild3TypeI32,
9805 OPC_CheckChild4Integer, 6,
9806 OPC_CheckChild4TypeI32,
9807 OPC_MoveChild5,
9808 OPC_CheckInteger, 7,
9809 OPC_CheckTypeI32,
9810 OPC_MoveSibling6,
9811 OPC_CheckInteger, 10,
9812 OPC_CheckTypeI32,
9813 OPC_MoveSibling7,
9814 OPC_CheckInteger, 11,
9815 OPC_CheckTypeI32,
9816 OPC_MoveSibling, 8,
9817 OPC_CheckInteger, 14,
9818 OPC_CheckTypeI32,
9819 OPC_MoveSibling, 9,
9820 OPC_CheckInteger, 15,
9821 OPC_CheckTypeI32,
9822 OPC_MoveSibling, 10,
9823 OPC_CheckInteger, 18,
9824 OPC_CheckTypeI32,
9825 OPC_MoveSibling, 11,
9826 OPC_CheckInteger, 19,
9827 OPC_CheckTypeI32,
9828 OPC_MoveSibling, 12,
9829 OPC_CheckInteger, 22,
9830 OPC_CheckTypeI32,
9831 OPC_MoveSibling, 13,
9832 OPC_CheckInteger, 23,
9833 OPC_CheckTypeI32,
9834 OPC_MoveSibling, 14,
9835 OPC_CheckInteger, 26,
9836 OPC_CheckTypeI32,
9837 OPC_MoveSibling, 15,
9838 OPC_CheckInteger, 27,
9839 OPC_CheckTypeI32,
9840 OPC_MoveSibling, 16,
9841 OPC_CheckInteger, 30,
9842 OPC_CheckTypeI32,
9843 OPC_MoveSibling, 17,
9844 OPC_CheckInteger, 31,
9845 OPC_CheckTypeI32,
9846 OPC_MoveParent,
9847 OPC_MoveParent,
9848 OPC_CheckType, MVT::v8i16,
9849 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9850 MVT::v8i16, 2, 0, 1,
9851 94,
9852 OPC_CheckChild0Same, 1,
9853 OPC_MoveSibling1,
9854 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9855 OPC_CheckChild0Same, 0,
9856 OPC_MoveParent,
9857 OPC_CheckType, MVT::v8i16,
9858 OPC_MoveParent,
9859 OPC_CheckChild2Integer, 2,
9860 OPC_CheckChild2TypeI32,
9861 OPC_CheckChild3Integer, 3,
9862 OPC_CheckChild3TypeI32,
9863 OPC_CheckChild4Integer, 6,
9864 OPC_CheckChild4TypeI32,
9865 OPC_MoveChild5,
9866 OPC_CheckInteger, 7,
9867 OPC_CheckTypeI32,
9868 OPC_MoveSibling6,
9869 OPC_CheckInteger, 10,
9870 OPC_CheckTypeI32,
9871 OPC_MoveSibling7,
9872 OPC_CheckInteger, 11,
9873 OPC_CheckTypeI32,
9874 OPC_MoveSibling, 8,
9875 OPC_CheckInteger, 14,
9876 OPC_CheckTypeI32,
9877 OPC_MoveSibling, 9,
9878 OPC_CheckInteger, 15,
9879 OPC_CheckTypeI32,
9880 OPC_MoveSibling, 10,
9881 OPC_CheckInteger, 18,
9882 OPC_CheckTypeI32,
9883 OPC_MoveSibling, 11,
9884 OPC_CheckInteger, 19,
9885 OPC_CheckTypeI32,
9886 OPC_MoveSibling, 12,
9887 OPC_CheckInteger, 22,
9888 OPC_CheckTypeI32,
9889 OPC_MoveSibling, 13,
9890 OPC_CheckInteger, 23,
9891 OPC_CheckTypeI32,
9892 OPC_MoveSibling, 14,
9893 OPC_CheckInteger, 26,
9894 OPC_CheckTypeI32,
9895 OPC_MoveSibling, 15,
9896 OPC_CheckInteger, 27,
9897 OPC_CheckTypeI32,
9898 OPC_MoveSibling, 16,
9899 OPC_CheckInteger, 30,
9900 OPC_CheckTypeI32,
9901 OPC_MoveSibling, 17,
9902 OPC_CheckInteger, 31,
9903 OPC_CheckTypeI32,
9904 OPC_MoveParent,
9905 OPC_MoveParent,
9906 OPC_CheckType, MVT::v8i16,
9907 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9908 MVT::v8i16, 2, 0, 1,
9909 0,
9910 61|128,2,
9911 OPC_CheckChild0Same, 1,
9912 OPC_MoveSibling1,
9913 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
9914 OPC_CheckChild0Same, 0,
9915 OPC_MoveParent,
9916 OPC_CheckType, MVT::v8i16,
9917 OPC_MoveSibling1,
9918 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9919 OPC_MoveChild0,
9920 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9921 OPC_Scope, 94,
9922 OPC_CheckChild0Same, 0,
9923 OPC_MoveSibling1,
9924 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9925 OPC_CheckChild0Same, 1,
9926 OPC_MoveParent,
9927 OPC_CheckType, MVT::v8i16,
9928 OPC_MoveParent,
9929 OPC_CheckChild2Integer, 2,
9930 OPC_CheckChild2TypeI32,
9931 OPC_CheckChild3Integer, 3,
9932 OPC_CheckChild3TypeI32,
9933 OPC_CheckChild4Integer, 6,
9934 OPC_CheckChild4TypeI32,
9935 OPC_MoveChild5,
9936 OPC_CheckInteger, 7,
9937 OPC_CheckTypeI32,
9938 OPC_MoveSibling6,
9939 OPC_CheckInteger, 10,
9940 OPC_CheckTypeI32,
9941 OPC_MoveSibling7,
9942 OPC_CheckInteger, 11,
9943 OPC_CheckTypeI32,
9944 OPC_MoveSibling, 8,
9945 OPC_CheckInteger, 14,
9946 OPC_CheckTypeI32,
9947 OPC_MoveSibling, 9,
9948 OPC_CheckInteger, 15,
9949 OPC_CheckTypeI32,
9950 OPC_MoveSibling, 10,
9951 OPC_CheckInteger, 18,
9952 OPC_CheckTypeI32,
9953 OPC_MoveSibling, 11,
9954 OPC_CheckInteger, 19,
9955 OPC_CheckTypeI32,
9956 OPC_MoveSibling, 12,
9957 OPC_CheckInteger, 22,
9958 OPC_CheckTypeI32,
9959 OPC_MoveSibling, 13,
9960 OPC_CheckInteger, 23,
9961 OPC_CheckTypeI32,
9962 OPC_MoveSibling, 14,
9963 OPC_CheckInteger, 26,
9964 OPC_CheckTypeI32,
9965 OPC_MoveSibling, 15,
9966 OPC_CheckInteger, 27,
9967 OPC_CheckTypeI32,
9968 OPC_MoveSibling, 16,
9969 OPC_CheckInteger, 30,
9970 OPC_CheckTypeI32,
9971 OPC_MoveSibling, 17,
9972 OPC_CheckInteger, 31,
9973 OPC_CheckTypeI32,
9974 OPC_MoveParent,
9975 OPC_MoveParent,
9976 OPC_CheckType, MVT::v8i16,
9977 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
9978 MVT::v8i16, 2, 0, 1,
9979 105,
9980 OPC_CheckChild0Same, 1,
9981 OPC_MoveSibling1,
9982 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
9983 OPC_CheckChild0Same, 0,
9984 OPC_MoveParent,
9985 OPC_CheckType, MVT::v8i16,
9986 OPC_MoveParent,
9987 OPC_CheckChild2Integer, 2,
9988 OPC_CheckChild2TypeI32,
9989 OPC_CheckChild3Integer, 3,
9990 OPC_CheckChild3TypeI32,
9991 OPC_CheckChild4Integer, 6,
9992 OPC_CheckChild4TypeI32,
9993 OPC_MoveChild5,
9994 OPC_CheckInteger, 7,
9995 OPC_CheckTypeI32,
9996 OPC_MoveSibling6,
9997 OPC_CheckInteger, 10,
9998 OPC_CheckTypeI32,
9999 OPC_MoveSibling7,
10000 OPC_CheckInteger, 11,
10001 OPC_CheckTypeI32,
10002 OPC_MoveSibling, 8,
10003 OPC_CheckInteger, 14,
10004 OPC_CheckTypeI32,
10005 OPC_MoveSibling, 9,
10006 OPC_CheckInteger, 15,
10007 OPC_CheckTypeI32,
10008 OPC_MoveSibling, 10,
10009 OPC_CheckInteger, 18,
10010 OPC_CheckTypeI32,
10011 OPC_MoveSibling, 11,
10012 OPC_CheckInteger, 19,
10013 OPC_CheckTypeI32,
10014 OPC_MoveSibling, 12,
10015 OPC_CheckInteger, 22,
10016 OPC_CheckTypeI32,
10017 OPC_MoveSibling, 13,
10018 OPC_CheckInteger, 23,
10019 OPC_CheckTypeI32,
10020 OPC_MoveSibling, 14,
10021 OPC_CheckInteger, 26,
10022 OPC_CheckTypeI32,
10023 OPC_MoveSibling, 15,
10024 OPC_CheckInteger, 27,
10025 OPC_CheckTypeI32,
10026 OPC_MoveSibling, 16,
10027 OPC_CheckInteger, 30,
10028 OPC_CheckTypeI32,
10029 OPC_MoveSibling, 17,
10030 OPC_CheckInteger, 31,
10031 OPC_CheckTypeI32,
10032 OPC_MoveParent,
10033 OPC_MoveParent,
10034 OPC_CheckType, MVT::v8i16,
10035 OPC_Scope, 7,
10036 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10037 MVT::v8i16, 2, 0, 1,
10038 7,
10039 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10040 MVT::v8i16, 2, 1, 0,
10041 0,
10042 94,
10043 OPC_CheckChild0Same, 0,
10044 OPC_MoveSibling1,
10045 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10046 OPC_CheckChild0Same, 1,
10047 OPC_MoveParent,
10048 OPC_CheckType, MVT::v8i16,
10049 OPC_MoveParent,
10050 OPC_CheckChild2Integer, 2,
10051 OPC_CheckChild2TypeI32,
10052 OPC_CheckChild3Integer, 3,
10053 OPC_CheckChild3TypeI32,
10054 OPC_CheckChild4Integer, 6,
10055 OPC_CheckChild4TypeI32,
10056 OPC_MoveChild5,
10057 OPC_CheckInteger, 7,
10058 OPC_CheckTypeI32,
10059 OPC_MoveSibling6,
10060 OPC_CheckInteger, 10,
10061 OPC_CheckTypeI32,
10062 OPC_MoveSibling7,
10063 OPC_CheckInteger, 11,
10064 OPC_CheckTypeI32,
10065 OPC_MoveSibling, 8,
10066 OPC_CheckInteger, 14,
10067 OPC_CheckTypeI32,
10068 OPC_MoveSibling, 9,
10069 OPC_CheckInteger, 15,
10070 OPC_CheckTypeI32,
10071 OPC_MoveSibling, 10,
10072 OPC_CheckInteger, 18,
10073 OPC_CheckTypeI32,
10074 OPC_MoveSibling, 11,
10075 OPC_CheckInteger, 19,
10076 OPC_CheckTypeI32,
10077 OPC_MoveSibling, 12,
10078 OPC_CheckInteger, 22,
10079 OPC_CheckTypeI32,
10080 OPC_MoveSibling, 13,
10081 OPC_CheckInteger, 23,
10082 OPC_CheckTypeI32,
10083 OPC_MoveSibling, 14,
10084 OPC_CheckInteger, 26,
10085 OPC_CheckTypeI32,
10086 OPC_MoveSibling, 15,
10087 OPC_CheckInteger, 27,
10088 OPC_CheckTypeI32,
10089 OPC_MoveSibling, 16,
10090 OPC_CheckInteger, 30,
10091 OPC_CheckTypeI32,
10092 OPC_MoveSibling, 17,
10093 OPC_CheckInteger, 31,
10094 OPC_CheckTypeI32,
10095 OPC_MoveParent,
10096 OPC_MoveParent,
10097 OPC_CheckType, MVT::v8i16,
10098 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10099 MVT::v8i16, 2, 1, 0,
10100 0,
10101 83|128,1,
10102 OPC_CheckChild0Same, 0,
10103 OPC_MoveSibling1,
10104 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10105 OPC_CheckChild0Same, 1,
10106 OPC_MoveParent,
10107 OPC_CheckType, MVT::v8i16,
10108 OPC_MoveSibling1,
10109 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10110 OPC_MoveChild0,
10111 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10112 OPC_Scope, 94,
10113 OPC_CheckChild0Same, 1,
10114 OPC_MoveSibling1,
10115 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10116 OPC_CheckChild0Same, 0,
10117 OPC_MoveParent,
10118 OPC_CheckType, MVT::v8i16,
10119 OPC_MoveParent,
10120 OPC_CheckChild2Integer, 2,
10121 OPC_CheckChild2TypeI32,
10122 OPC_CheckChild3Integer, 3,
10123 OPC_CheckChild3TypeI32,
10124 OPC_CheckChild4Integer, 6,
10125 OPC_CheckChild4TypeI32,
10126 OPC_MoveChild5,
10127 OPC_CheckInteger, 7,
10128 OPC_CheckTypeI32,
10129 OPC_MoveSibling6,
10130 OPC_CheckInteger, 10,
10131 OPC_CheckTypeI32,
10132 OPC_MoveSibling7,
10133 OPC_CheckInteger, 11,
10134 OPC_CheckTypeI32,
10135 OPC_MoveSibling, 8,
10136 OPC_CheckInteger, 14,
10137 OPC_CheckTypeI32,
10138 OPC_MoveSibling, 9,
10139 OPC_CheckInteger, 15,
10140 OPC_CheckTypeI32,
10141 OPC_MoveSibling, 10,
10142 OPC_CheckInteger, 18,
10143 OPC_CheckTypeI32,
10144 OPC_MoveSibling, 11,
10145 OPC_CheckInteger, 19,
10146 OPC_CheckTypeI32,
10147 OPC_MoveSibling, 12,
10148 OPC_CheckInteger, 22,
10149 OPC_CheckTypeI32,
10150 OPC_MoveSibling, 13,
10151 OPC_CheckInteger, 23,
10152 OPC_CheckTypeI32,
10153 OPC_MoveSibling, 14,
10154 OPC_CheckInteger, 26,
10155 OPC_CheckTypeI32,
10156 OPC_MoveSibling, 15,
10157 OPC_CheckInteger, 27,
10158 OPC_CheckTypeI32,
10159 OPC_MoveSibling, 16,
10160 OPC_CheckInteger, 30,
10161 OPC_CheckTypeI32,
10162 OPC_MoveSibling, 17,
10163 OPC_CheckInteger, 31,
10164 OPC_CheckTypeI32,
10165 OPC_MoveParent,
10166 OPC_MoveParent,
10167 OPC_CheckType, MVT::v8i16,
10168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10169 MVT::v8i16, 2, 1, 0,
10170 94,
10171 OPC_CheckChild0Same, 0,
10172 OPC_MoveSibling1,
10173 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10174 OPC_CheckChild0Same, 1,
10175 OPC_MoveParent,
10176 OPC_CheckType, MVT::v8i16,
10177 OPC_MoveParent,
10178 OPC_CheckChild2Integer, 2,
10179 OPC_CheckChild2TypeI32,
10180 OPC_CheckChild3Integer, 3,
10181 OPC_CheckChild3TypeI32,
10182 OPC_CheckChild4Integer, 6,
10183 OPC_CheckChild4TypeI32,
10184 OPC_MoveChild5,
10185 OPC_CheckInteger, 7,
10186 OPC_CheckTypeI32,
10187 OPC_MoveSibling6,
10188 OPC_CheckInteger, 10,
10189 OPC_CheckTypeI32,
10190 OPC_MoveSibling7,
10191 OPC_CheckInteger, 11,
10192 OPC_CheckTypeI32,
10193 OPC_MoveSibling, 8,
10194 OPC_CheckInteger, 14,
10195 OPC_CheckTypeI32,
10196 OPC_MoveSibling, 9,
10197 OPC_CheckInteger, 15,
10198 OPC_CheckTypeI32,
10199 OPC_MoveSibling, 10,
10200 OPC_CheckInteger, 18,
10201 OPC_CheckTypeI32,
10202 OPC_MoveSibling, 11,
10203 OPC_CheckInteger, 19,
10204 OPC_CheckTypeI32,
10205 OPC_MoveSibling, 12,
10206 OPC_CheckInteger, 22,
10207 OPC_CheckTypeI32,
10208 OPC_MoveSibling, 13,
10209 OPC_CheckInteger, 23,
10210 OPC_CheckTypeI32,
10211 OPC_MoveSibling, 14,
10212 OPC_CheckInteger, 26,
10213 OPC_CheckTypeI32,
10214 OPC_MoveSibling, 15,
10215 OPC_CheckInteger, 27,
10216 OPC_CheckTypeI32,
10217 OPC_MoveSibling, 16,
10218 OPC_CheckInteger, 30,
10219 OPC_CheckTypeI32,
10220 OPC_MoveSibling, 17,
10221 OPC_CheckInteger, 31,
10222 OPC_CheckTypeI32,
10223 OPC_MoveParent,
10224 OPC_MoveParent,
10225 OPC_CheckType, MVT::v8i16,
10226 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10227 MVT::v8i16, 2, 1, 0,
10228 0,
10229 0,
10230 18|128,8,
10231 OPC_CheckChild0Same, 0,
10232 OPC_MoveSibling1,
10233 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10234 OPC_CheckChild0Same, 1,
10235 OPC_MoveParent,
10236 OPC_CheckType, MVT::v8i16,
10237 OPC_MoveParent,
10238 OPC_Scope, 0|128,4,
10239 OPC_CheckChild2Integer, 0,
10240 OPC_CheckChild2TypeI32,
10241 OPC_CheckChild3Integer, 1,
10242 OPC_CheckChild3TypeI32,
10243 OPC_CheckChild4Integer, 4,
10244 OPC_CheckChild4TypeI32,
10245 OPC_MoveChild5,
10246 OPC_CheckInteger, 5,
10247 OPC_CheckTypeI32,
10248 OPC_MoveSibling6,
10249 OPC_CheckInteger, 8,
10250 OPC_CheckTypeI32,
10251 OPC_MoveSibling7,
10252 OPC_CheckInteger, 9,
10253 OPC_CheckTypeI32,
10254 OPC_MoveSibling, 8,
10255 OPC_CheckInteger, 12,
10256 OPC_CheckTypeI32,
10257 OPC_MoveSibling, 9,
10258 OPC_CheckInteger, 13,
10259 OPC_CheckTypeI32,
10260 OPC_MoveSibling, 10,
10261 OPC_CheckInteger, 16,
10262 OPC_CheckTypeI32,
10263 OPC_MoveSibling, 11,
10264 OPC_CheckInteger, 17,
10265 OPC_CheckTypeI32,
10266 OPC_MoveSibling, 12,
10267 OPC_CheckInteger, 20,
10268 OPC_CheckTypeI32,
10269 OPC_MoveSibling, 13,
10270 OPC_CheckInteger, 21,
10271 OPC_CheckTypeI32,
10272 OPC_MoveSibling, 14,
10273 OPC_CheckInteger, 24,
10274 OPC_CheckTypeI32,
10275 OPC_MoveSibling, 15,
10276 OPC_CheckInteger, 25,
10277 OPC_CheckTypeI32,
10278 OPC_MoveSibling, 16,
10279 OPC_CheckInteger, 28,
10280 OPC_CheckTypeI32,
10281 OPC_MoveSibling, 17,
10282 OPC_CheckInteger, 29,
10283 OPC_CheckTypeI32,
10284 OPC_MoveParent,
10285 OPC_MoveSibling1,
10286 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10287 OPC_MoveChild0,
10288 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10289 OPC_MoveChild0,
10290 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10291 OPC_Scope, 83|128,1,
10292 OPC_CheckChild0Same, 1,
10293 OPC_MoveSibling1,
10294 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10295 OPC_CheckChild0Same, 0,
10296 OPC_MoveParent,
10297 OPC_CheckType, MVT::v8i16,
10298 OPC_MoveSibling1,
10299 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10300 OPC_MoveChild0,
10301 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10302 OPC_Scope, 94,
10303 OPC_CheckChild0Same, 1,
10304 OPC_MoveSibling1,
10305 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10306 OPC_CheckChild0Same, 0,
10307 OPC_MoveParent,
10308 OPC_CheckType, MVT::v8i16,
10309 OPC_MoveParent,
10310 OPC_CheckChild2Integer, 2,
10311 OPC_CheckChild2TypeI32,
10312 OPC_CheckChild3Integer, 3,
10313 OPC_CheckChild3TypeI32,
10314 OPC_CheckChild4Integer, 6,
10315 OPC_CheckChild4TypeI32,
10316 OPC_MoveChild5,
10317 OPC_CheckInteger, 7,
10318 OPC_CheckTypeI32,
10319 OPC_MoveSibling6,
10320 OPC_CheckInteger, 10,
10321 OPC_CheckTypeI32,
10322 OPC_MoveSibling7,
10323 OPC_CheckInteger, 11,
10324 OPC_CheckTypeI32,
10325 OPC_MoveSibling, 8,
10326 OPC_CheckInteger, 14,
10327 OPC_CheckTypeI32,
10328 OPC_MoveSibling, 9,
10329 OPC_CheckInteger, 15,
10330 OPC_CheckTypeI32,
10331 OPC_MoveSibling, 10,
10332 OPC_CheckInteger, 18,
10333 OPC_CheckTypeI32,
10334 OPC_MoveSibling, 11,
10335 OPC_CheckInteger, 19,
10336 OPC_CheckTypeI32,
10337 OPC_MoveSibling, 12,
10338 OPC_CheckInteger, 22,
10339 OPC_CheckTypeI32,
10340 OPC_MoveSibling, 13,
10341 OPC_CheckInteger, 23,
10342 OPC_CheckTypeI32,
10343 OPC_MoveSibling, 14,
10344 OPC_CheckInteger, 26,
10345 OPC_CheckTypeI32,
10346 OPC_MoveSibling, 15,
10347 OPC_CheckInteger, 27,
10348 OPC_CheckTypeI32,
10349 OPC_MoveSibling, 16,
10350 OPC_CheckInteger, 30,
10351 OPC_CheckTypeI32,
10352 OPC_MoveSibling, 17,
10353 OPC_CheckInteger, 31,
10354 OPC_CheckTypeI32,
10355 OPC_MoveParent,
10356 OPC_MoveParent,
10357 OPC_CheckType, MVT::v8i16,
10358 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10359 MVT::v8i16, 2, 1, 0,
10360 94,
10361 OPC_CheckChild0Same, 0,
10362 OPC_MoveSibling1,
10363 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10364 OPC_CheckChild0Same, 1,
10365 OPC_MoveParent,
10366 OPC_CheckType, MVT::v8i16,
10367 OPC_MoveParent,
10368 OPC_CheckChild2Integer, 2,
10369 OPC_CheckChild2TypeI32,
10370 OPC_CheckChild3Integer, 3,
10371 OPC_CheckChild3TypeI32,
10372 OPC_CheckChild4Integer, 6,
10373 OPC_CheckChild4TypeI32,
10374 OPC_MoveChild5,
10375 OPC_CheckInteger, 7,
10376 OPC_CheckTypeI32,
10377 OPC_MoveSibling6,
10378 OPC_CheckInteger, 10,
10379 OPC_CheckTypeI32,
10380 OPC_MoveSibling7,
10381 OPC_CheckInteger, 11,
10382 OPC_CheckTypeI32,
10383 OPC_MoveSibling, 8,
10384 OPC_CheckInteger, 14,
10385 OPC_CheckTypeI32,
10386 OPC_MoveSibling, 9,
10387 OPC_CheckInteger, 15,
10388 OPC_CheckTypeI32,
10389 OPC_MoveSibling, 10,
10390 OPC_CheckInteger, 18,
10391 OPC_CheckTypeI32,
10392 OPC_MoveSibling, 11,
10393 OPC_CheckInteger, 19,
10394 OPC_CheckTypeI32,
10395 OPC_MoveSibling, 12,
10396 OPC_CheckInteger, 22,
10397 OPC_CheckTypeI32,
10398 OPC_MoveSibling, 13,
10399 OPC_CheckInteger, 23,
10400 OPC_CheckTypeI32,
10401 OPC_MoveSibling, 14,
10402 OPC_CheckInteger, 26,
10403 OPC_CheckTypeI32,
10404 OPC_MoveSibling, 15,
10405 OPC_CheckInteger, 27,
10406 OPC_CheckTypeI32,
10407 OPC_MoveSibling, 16,
10408 OPC_CheckInteger, 30,
10409 OPC_CheckTypeI32,
10410 OPC_MoveSibling, 17,
10411 OPC_CheckInteger, 31,
10412 OPC_CheckTypeI32,
10413 OPC_MoveParent,
10414 OPC_MoveParent,
10415 OPC_CheckType, MVT::v8i16,
10416 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10417 MVT::v8i16, 2, 1, 0,
10418 0,
10419 83|128,1,
10420 OPC_CheckChild0Same, 0,
10421 OPC_MoveSibling1,
10422 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10423 OPC_CheckChild0Same, 1,
10424 OPC_MoveParent,
10425 OPC_CheckType, MVT::v8i16,
10426 OPC_MoveSibling1,
10427 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10428 OPC_MoveChild0,
10429 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10430 OPC_Scope, 94,
10431 OPC_CheckChild0Same, 1,
10432 OPC_MoveSibling1,
10433 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10434 OPC_CheckChild0Same, 0,
10435 OPC_MoveParent,
10436 OPC_CheckType, MVT::v8i16,
10437 OPC_MoveParent,
10438 OPC_CheckChild2Integer, 2,
10439 OPC_CheckChild2TypeI32,
10440 OPC_CheckChild3Integer, 3,
10441 OPC_CheckChild3TypeI32,
10442 OPC_CheckChild4Integer, 6,
10443 OPC_CheckChild4TypeI32,
10444 OPC_MoveChild5,
10445 OPC_CheckInteger, 7,
10446 OPC_CheckTypeI32,
10447 OPC_MoveSibling6,
10448 OPC_CheckInteger, 10,
10449 OPC_CheckTypeI32,
10450 OPC_MoveSibling7,
10451 OPC_CheckInteger, 11,
10452 OPC_CheckTypeI32,
10453 OPC_MoveSibling, 8,
10454 OPC_CheckInteger, 14,
10455 OPC_CheckTypeI32,
10456 OPC_MoveSibling, 9,
10457 OPC_CheckInteger, 15,
10458 OPC_CheckTypeI32,
10459 OPC_MoveSibling, 10,
10460 OPC_CheckInteger, 18,
10461 OPC_CheckTypeI32,
10462 OPC_MoveSibling, 11,
10463 OPC_CheckInteger, 19,
10464 OPC_CheckTypeI32,
10465 OPC_MoveSibling, 12,
10466 OPC_CheckInteger, 22,
10467 OPC_CheckTypeI32,
10468 OPC_MoveSibling, 13,
10469 OPC_CheckInteger, 23,
10470 OPC_CheckTypeI32,
10471 OPC_MoveSibling, 14,
10472 OPC_CheckInteger, 26,
10473 OPC_CheckTypeI32,
10474 OPC_MoveSibling, 15,
10475 OPC_CheckInteger, 27,
10476 OPC_CheckTypeI32,
10477 OPC_MoveSibling, 16,
10478 OPC_CheckInteger, 30,
10479 OPC_CheckTypeI32,
10480 OPC_MoveSibling, 17,
10481 OPC_CheckInteger, 31,
10482 OPC_CheckTypeI32,
10483 OPC_MoveParent,
10484 OPC_MoveParent,
10485 OPC_CheckType, MVT::v8i16,
10486 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10487 MVT::v8i16, 2, 1, 0,
10488 94,
10489 OPC_CheckChild0Same, 0,
10490 OPC_MoveSibling1,
10491 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10492 OPC_CheckChild0Same, 1,
10493 OPC_MoveParent,
10494 OPC_CheckType, MVT::v8i16,
10495 OPC_MoveParent,
10496 OPC_CheckChild2Integer, 2,
10497 OPC_CheckChild2TypeI32,
10498 OPC_CheckChild3Integer, 3,
10499 OPC_CheckChild3TypeI32,
10500 OPC_CheckChild4Integer, 6,
10501 OPC_CheckChild4TypeI32,
10502 OPC_MoveChild5,
10503 OPC_CheckInteger, 7,
10504 OPC_CheckTypeI32,
10505 OPC_MoveSibling6,
10506 OPC_CheckInteger, 10,
10507 OPC_CheckTypeI32,
10508 OPC_MoveSibling7,
10509 OPC_CheckInteger, 11,
10510 OPC_CheckTypeI32,
10511 OPC_MoveSibling, 8,
10512 OPC_CheckInteger, 14,
10513 OPC_CheckTypeI32,
10514 OPC_MoveSibling, 9,
10515 OPC_CheckInteger, 15,
10516 OPC_CheckTypeI32,
10517 OPC_MoveSibling, 10,
10518 OPC_CheckInteger, 18,
10519 OPC_CheckTypeI32,
10520 OPC_MoveSibling, 11,
10521 OPC_CheckInteger, 19,
10522 OPC_CheckTypeI32,
10523 OPC_MoveSibling, 12,
10524 OPC_CheckInteger, 22,
10525 OPC_CheckTypeI32,
10526 OPC_MoveSibling, 13,
10527 OPC_CheckInteger, 23,
10528 OPC_CheckTypeI32,
10529 OPC_MoveSibling, 14,
10530 OPC_CheckInteger, 26,
10531 OPC_CheckTypeI32,
10532 OPC_MoveSibling, 15,
10533 OPC_CheckInteger, 27,
10534 OPC_CheckTypeI32,
10535 OPC_MoveSibling, 16,
10536 OPC_CheckInteger, 30,
10537 OPC_CheckTypeI32,
10538 OPC_MoveSibling, 17,
10539 OPC_CheckInteger, 31,
10540 OPC_CheckTypeI32,
10541 OPC_MoveParent,
10542 OPC_MoveParent,
10543 OPC_CheckType, MVT::v8i16,
10544 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10545 MVT::v8i16, 2, 1, 0,
10546 0,
10547 0,
10548 0|128,4,
10549 OPC_CheckChild2Integer, 2,
10550 OPC_CheckChild2TypeI32,
10551 OPC_CheckChild3Integer, 3,
10552 OPC_CheckChild3TypeI32,
10553 OPC_CheckChild4Integer, 6,
10554 OPC_CheckChild4TypeI32,
10555 OPC_MoveChild5,
10556 OPC_CheckInteger, 7,
10557 OPC_CheckTypeI32,
10558 OPC_MoveSibling6,
10559 OPC_CheckInteger, 10,
10560 OPC_CheckTypeI32,
10561 OPC_MoveSibling7,
10562 OPC_CheckInteger, 11,
10563 OPC_CheckTypeI32,
10564 OPC_MoveSibling, 8,
10565 OPC_CheckInteger, 14,
10566 OPC_CheckTypeI32,
10567 OPC_MoveSibling, 9,
10568 OPC_CheckInteger, 15,
10569 OPC_CheckTypeI32,
10570 OPC_MoveSibling, 10,
10571 OPC_CheckInteger, 18,
10572 OPC_CheckTypeI32,
10573 OPC_MoveSibling, 11,
10574 OPC_CheckInteger, 19,
10575 OPC_CheckTypeI32,
10576 OPC_MoveSibling, 12,
10577 OPC_CheckInteger, 22,
10578 OPC_CheckTypeI32,
10579 OPC_MoveSibling, 13,
10580 OPC_CheckInteger, 23,
10581 OPC_CheckTypeI32,
10582 OPC_MoveSibling, 14,
10583 OPC_CheckInteger, 26,
10584 OPC_CheckTypeI32,
10585 OPC_MoveSibling, 15,
10586 OPC_CheckInteger, 27,
10587 OPC_CheckTypeI32,
10588 OPC_MoveSibling, 16,
10589 OPC_CheckInteger, 30,
10590 OPC_CheckTypeI32,
10591 OPC_MoveSibling, 17,
10592 OPC_CheckInteger, 31,
10593 OPC_CheckTypeI32,
10594 OPC_MoveParent,
10595 OPC_MoveSibling1,
10596 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10597 OPC_MoveChild0,
10598 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10599 OPC_MoveChild0,
10600 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10601 OPC_Scope, 83|128,1,
10602 OPC_CheckChild0Same, 0,
10603 OPC_MoveSibling1,
10604 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10605 OPC_CheckChild0Same, 1,
10606 OPC_MoveParent,
10607 OPC_CheckType, MVT::v8i16,
10608 OPC_MoveSibling1,
10609 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10610 OPC_MoveChild0,
10611 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10612 OPC_Scope, 94,
10613 OPC_CheckChild0Same, 0,
10614 OPC_MoveSibling1,
10615 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10616 OPC_CheckChild0Same, 1,
10617 OPC_MoveParent,
10618 OPC_CheckType, MVT::v8i16,
10619 OPC_MoveParent,
10620 OPC_CheckChild2Integer, 0,
10621 OPC_CheckChild2TypeI32,
10622 OPC_CheckChild3Integer, 1,
10623 OPC_CheckChild3TypeI32,
10624 OPC_CheckChild4Integer, 4,
10625 OPC_CheckChild4TypeI32,
10626 OPC_MoveChild5,
10627 OPC_CheckInteger, 5,
10628 OPC_CheckTypeI32,
10629 OPC_MoveSibling6,
10630 OPC_CheckInteger, 8,
10631 OPC_CheckTypeI32,
10632 OPC_MoveSibling7,
10633 OPC_CheckInteger, 9,
10634 OPC_CheckTypeI32,
10635 OPC_MoveSibling, 8,
10636 OPC_CheckInteger, 12,
10637 OPC_CheckTypeI32,
10638 OPC_MoveSibling, 9,
10639 OPC_CheckInteger, 13,
10640 OPC_CheckTypeI32,
10641 OPC_MoveSibling, 10,
10642 OPC_CheckInteger, 16,
10643 OPC_CheckTypeI32,
10644 OPC_MoveSibling, 11,
10645 OPC_CheckInteger, 17,
10646 OPC_CheckTypeI32,
10647 OPC_MoveSibling, 12,
10648 OPC_CheckInteger, 20,
10649 OPC_CheckTypeI32,
10650 OPC_MoveSibling, 13,
10651 OPC_CheckInteger, 21,
10652 OPC_CheckTypeI32,
10653 OPC_MoveSibling, 14,
10654 OPC_CheckInteger, 24,
10655 OPC_CheckTypeI32,
10656 OPC_MoveSibling, 15,
10657 OPC_CheckInteger, 25,
10658 OPC_CheckTypeI32,
10659 OPC_MoveSibling, 16,
10660 OPC_CheckInteger, 28,
10661 OPC_CheckTypeI32,
10662 OPC_MoveSibling, 17,
10663 OPC_CheckInteger, 29,
10664 OPC_CheckTypeI32,
10665 OPC_MoveParent,
10666 OPC_MoveParent,
10667 OPC_CheckType, MVT::v8i16,
10668 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10669 MVT::v8i16, 2, 0, 1,
10670 94,
10671 OPC_CheckChild0Same, 1,
10672 OPC_MoveSibling1,
10673 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10674 OPC_CheckChild0Same, 0,
10675 OPC_MoveParent,
10676 OPC_CheckType, MVT::v8i16,
10677 OPC_MoveParent,
10678 OPC_CheckChild2Integer, 0,
10679 OPC_CheckChild2TypeI32,
10680 OPC_CheckChild3Integer, 1,
10681 OPC_CheckChild3TypeI32,
10682 OPC_CheckChild4Integer, 4,
10683 OPC_CheckChild4TypeI32,
10684 OPC_MoveChild5,
10685 OPC_CheckInteger, 5,
10686 OPC_CheckTypeI32,
10687 OPC_MoveSibling6,
10688 OPC_CheckInteger, 8,
10689 OPC_CheckTypeI32,
10690 OPC_MoveSibling7,
10691 OPC_CheckInteger, 9,
10692 OPC_CheckTypeI32,
10693 OPC_MoveSibling, 8,
10694 OPC_CheckInteger, 12,
10695 OPC_CheckTypeI32,
10696 OPC_MoveSibling, 9,
10697 OPC_CheckInteger, 13,
10698 OPC_CheckTypeI32,
10699 OPC_MoveSibling, 10,
10700 OPC_CheckInteger, 16,
10701 OPC_CheckTypeI32,
10702 OPC_MoveSibling, 11,
10703 OPC_CheckInteger, 17,
10704 OPC_CheckTypeI32,
10705 OPC_MoveSibling, 12,
10706 OPC_CheckInteger, 20,
10707 OPC_CheckTypeI32,
10708 OPC_MoveSibling, 13,
10709 OPC_CheckInteger, 21,
10710 OPC_CheckTypeI32,
10711 OPC_MoveSibling, 14,
10712 OPC_CheckInteger, 24,
10713 OPC_CheckTypeI32,
10714 OPC_MoveSibling, 15,
10715 OPC_CheckInteger, 25,
10716 OPC_CheckTypeI32,
10717 OPC_MoveSibling, 16,
10718 OPC_CheckInteger, 28,
10719 OPC_CheckTypeI32,
10720 OPC_MoveSibling, 17,
10721 OPC_CheckInteger, 29,
10722 OPC_CheckTypeI32,
10723 OPC_MoveParent,
10724 OPC_MoveParent,
10725 OPC_CheckType, MVT::v8i16,
10726 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10727 MVT::v8i16, 2, 0, 1,
10728 0,
10729 83|128,1,
10730 OPC_CheckChild0Same, 1,
10731 OPC_MoveSibling1,
10732 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10733 OPC_CheckChild0Same, 0,
10734 OPC_MoveParent,
10735 OPC_CheckType, MVT::v8i16,
10736 OPC_MoveSibling1,
10737 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10738 OPC_MoveChild0,
10739 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10740 OPC_Scope, 94,
10741 OPC_CheckChild0Same, 0,
10742 OPC_MoveSibling1,
10743 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10744 OPC_CheckChild0Same, 1,
10745 OPC_MoveParent,
10746 OPC_CheckType, MVT::v8i16,
10747 OPC_MoveParent,
10748 OPC_CheckChild2Integer, 0,
10749 OPC_CheckChild2TypeI32,
10750 OPC_CheckChild3Integer, 1,
10751 OPC_CheckChild3TypeI32,
10752 OPC_CheckChild4Integer, 4,
10753 OPC_CheckChild4TypeI32,
10754 OPC_MoveChild5,
10755 OPC_CheckInteger, 5,
10756 OPC_CheckTypeI32,
10757 OPC_MoveSibling6,
10758 OPC_CheckInteger, 8,
10759 OPC_CheckTypeI32,
10760 OPC_MoveSibling7,
10761 OPC_CheckInteger, 9,
10762 OPC_CheckTypeI32,
10763 OPC_MoveSibling, 8,
10764 OPC_CheckInteger, 12,
10765 OPC_CheckTypeI32,
10766 OPC_MoveSibling, 9,
10767 OPC_CheckInteger, 13,
10768 OPC_CheckTypeI32,
10769 OPC_MoveSibling, 10,
10770 OPC_CheckInteger, 16,
10771 OPC_CheckTypeI32,
10772 OPC_MoveSibling, 11,
10773 OPC_CheckInteger, 17,
10774 OPC_CheckTypeI32,
10775 OPC_MoveSibling, 12,
10776 OPC_CheckInteger, 20,
10777 OPC_CheckTypeI32,
10778 OPC_MoveSibling, 13,
10779 OPC_CheckInteger, 21,
10780 OPC_CheckTypeI32,
10781 OPC_MoveSibling, 14,
10782 OPC_CheckInteger, 24,
10783 OPC_CheckTypeI32,
10784 OPC_MoveSibling, 15,
10785 OPC_CheckInteger, 25,
10786 OPC_CheckTypeI32,
10787 OPC_MoveSibling, 16,
10788 OPC_CheckInteger, 28,
10789 OPC_CheckTypeI32,
10790 OPC_MoveSibling, 17,
10791 OPC_CheckInteger, 29,
10792 OPC_CheckTypeI32,
10793 OPC_MoveParent,
10794 OPC_MoveParent,
10795 OPC_CheckType, MVT::v8i16,
10796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10797 MVT::v8i16, 2, 0, 1,
10798 94,
10799 OPC_CheckChild0Same, 1,
10800 OPC_MoveSibling1,
10801 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10802 OPC_CheckChild0Same, 0,
10803 OPC_MoveParent,
10804 OPC_CheckType, MVT::v8i16,
10805 OPC_MoveParent,
10806 OPC_CheckChild2Integer, 0,
10807 OPC_CheckChild2TypeI32,
10808 OPC_CheckChild3Integer, 1,
10809 OPC_CheckChild3TypeI32,
10810 OPC_CheckChild4Integer, 4,
10811 OPC_CheckChild4TypeI32,
10812 OPC_MoveChild5,
10813 OPC_CheckInteger, 5,
10814 OPC_CheckTypeI32,
10815 OPC_MoveSibling6,
10816 OPC_CheckInteger, 8,
10817 OPC_CheckTypeI32,
10818 OPC_MoveSibling7,
10819 OPC_CheckInteger, 9,
10820 OPC_CheckTypeI32,
10821 OPC_MoveSibling, 8,
10822 OPC_CheckInteger, 12,
10823 OPC_CheckTypeI32,
10824 OPC_MoveSibling, 9,
10825 OPC_CheckInteger, 13,
10826 OPC_CheckTypeI32,
10827 OPC_MoveSibling, 10,
10828 OPC_CheckInteger, 16,
10829 OPC_CheckTypeI32,
10830 OPC_MoveSibling, 11,
10831 OPC_CheckInteger, 17,
10832 OPC_CheckTypeI32,
10833 OPC_MoveSibling, 12,
10834 OPC_CheckInteger, 20,
10835 OPC_CheckTypeI32,
10836 OPC_MoveSibling, 13,
10837 OPC_CheckInteger, 21,
10838 OPC_CheckTypeI32,
10839 OPC_MoveSibling, 14,
10840 OPC_CheckInteger, 24,
10841 OPC_CheckTypeI32,
10842 OPC_MoveSibling, 15,
10843 OPC_CheckInteger, 25,
10844 OPC_CheckTypeI32,
10845 OPC_MoveSibling, 16,
10846 OPC_CheckInteger, 28,
10847 OPC_CheckTypeI32,
10848 OPC_MoveSibling, 17,
10849 OPC_CheckInteger, 29,
10850 OPC_CheckTypeI32,
10851 OPC_MoveParent,
10852 OPC_MoveParent,
10853 OPC_CheckType, MVT::v8i16,
10854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10855 MVT::v8i16, 2, 0, 1,
10856 0,
10857 0,
10858 0,
10859 75|128,6,
10860 OPC_CheckChild0Same, 1,
10861 OPC_MoveSibling1,
10862 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10863 OPC_CheckChild0Same, 0,
10864 OPC_MoveParent,
10865 OPC_CheckType, MVT::v8i16,
10866 OPC_MoveParent,
10867 OPC_CheckChild2Integer, 2,
10868 OPC_CheckChild2TypeI32,
10869 OPC_CheckChild3Integer, 3,
10870 OPC_CheckChild3TypeI32,
10871 OPC_CheckChild4Integer, 6,
10872 OPC_CheckChild4TypeI32,
10873 OPC_MoveChild5,
10874 OPC_CheckInteger, 7,
10875 OPC_CheckTypeI32,
10876 OPC_MoveSibling6,
10877 OPC_CheckInteger, 10,
10878 OPC_CheckTypeI32,
10879 OPC_MoveSibling7,
10880 OPC_CheckInteger, 11,
10881 OPC_CheckTypeI32,
10882 OPC_MoveSibling, 8,
10883 OPC_CheckInteger, 14,
10884 OPC_CheckTypeI32,
10885 OPC_MoveSibling, 9,
10886 OPC_CheckInteger, 15,
10887 OPC_CheckTypeI32,
10888 OPC_MoveSibling, 10,
10889 OPC_CheckInteger, 18,
10890 OPC_CheckTypeI32,
10891 OPC_MoveSibling, 11,
10892 OPC_CheckInteger, 19,
10893 OPC_CheckTypeI32,
10894 OPC_MoveSibling, 12,
10895 OPC_CheckInteger, 22,
10896 OPC_CheckTypeI32,
10897 OPC_MoveSibling, 13,
10898 OPC_CheckInteger, 23,
10899 OPC_CheckTypeI32,
10900 OPC_MoveSibling, 14,
10901 OPC_CheckInteger, 26,
10902 OPC_CheckTypeI32,
10903 OPC_MoveSibling, 15,
10904 OPC_CheckInteger, 27,
10905 OPC_CheckTypeI32,
10906 OPC_MoveSibling, 16,
10907 OPC_CheckInteger, 30,
10908 OPC_CheckTypeI32,
10909 OPC_MoveSibling, 17,
10910 OPC_CheckInteger, 31,
10911 OPC_CheckTypeI32,
10912 OPC_MoveParent,
10913 OPC_MoveSibling1,
10914 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
10915 OPC_MoveChild0,
10916 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10917 OPC_MoveChild0,
10918 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10919 OPC_Scope, 83|128,1,
10920 OPC_CheckChild0Same, 0,
10921 OPC_MoveSibling1,
10922 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
10923 OPC_CheckChild0Same, 1,
10924 OPC_MoveParent,
10925 OPC_CheckType, MVT::v8i16,
10926 OPC_MoveSibling1,
10927 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10928 OPC_MoveChild0,
10929 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10930 OPC_Scope, 94,
10931 OPC_CheckChild0Same, 0,
10932 OPC_MoveSibling1,
10933 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10934 OPC_CheckChild0Same, 1,
10935 OPC_MoveParent,
10936 OPC_CheckType, MVT::v8i16,
10937 OPC_MoveParent,
10938 OPC_CheckChild2Integer, 0,
10939 OPC_CheckChild2TypeI32,
10940 OPC_CheckChild3Integer, 1,
10941 OPC_CheckChild3TypeI32,
10942 OPC_CheckChild4Integer, 4,
10943 OPC_CheckChild4TypeI32,
10944 OPC_MoveChild5,
10945 OPC_CheckInteger, 5,
10946 OPC_CheckTypeI32,
10947 OPC_MoveSibling6,
10948 OPC_CheckInteger, 8,
10949 OPC_CheckTypeI32,
10950 OPC_MoveSibling7,
10951 OPC_CheckInteger, 9,
10952 OPC_CheckTypeI32,
10953 OPC_MoveSibling, 8,
10954 OPC_CheckInteger, 12,
10955 OPC_CheckTypeI32,
10956 OPC_MoveSibling, 9,
10957 OPC_CheckInteger, 13,
10958 OPC_CheckTypeI32,
10959 OPC_MoveSibling, 10,
10960 OPC_CheckInteger, 16,
10961 OPC_CheckTypeI32,
10962 OPC_MoveSibling, 11,
10963 OPC_CheckInteger, 17,
10964 OPC_CheckTypeI32,
10965 OPC_MoveSibling, 12,
10966 OPC_CheckInteger, 20,
10967 OPC_CheckTypeI32,
10968 OPC_MoveSibling, 13,
10969 OPC_CheckInteger, 21,
10970 OPC_CheckTypeI32,
10971 OPC_MoveSibling, 14,
10972 OPC_CheckInteger, 24,
10973 OPC_CheckTypeI32,
10974 OPC_MoveSibling, 15,
10975 OPC_CheckInteger, 25,
10976 OPC_CheckTypeI32,
10977 OPC_MoveSibling, 16,
10978 OPC_CheckInteger, 28,
10979 OPC_CheckTypeI32,
10980 OPC_MoveSibling, 17,
10981 OPC_CheckInteger, 29,
10982 OPC_CheckTypeI32,
10983 OPC_MoveParent,
10984 OPC_MoveParent,
10985 OPC_CheckType, MVT::v8i16,
10986 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
10987 MVT::v8i16, 2, 0, 1,
10988 94,
10989 OPC_CheckChild0Same, 1,
10990 OPC_MoveSibling1,
10991 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
10992 OPC_CheckChild0Same, 0,
10993 OPC_MoveParent,
10994 OPC_CheckType, MVT::v8i16,
10995 OPC_MoveParent,
10996 OPC_CheckChild2Integer, 0,
10997 OPC_CheckChild2TypeI32,
10998 OPC_CheckChild3Integer, 1,
10999 OPC_CheckChild3TypeI32,
11000 OPC_CheckChild4Integer, 4,
11001 OPC_CheckChild4TypeI32,
11002 OPC_MoveChild5,
11003 OPC_CheckInteger, 5,
11004 OPC_CheckTypeI32,
11005 OPC_MoveSibling6,
11006 OPC_CheckInteger, 8,
11007 OPC_CheckTypeI32,
11008 OPC_MoveSibling7,
11009 OPC_CheckInteger, 9,
11010 OPC_CheckTypeI32,
11011 OPC_MoveSibling, 8,
11012 OPC_CheckInteger, 12,
11013 OPC_CheckTypeI32,
11014 OPC_MoveSibling, 9,
11015 OPC_CheckInteger, 13,
11016 OPC_CheckTypeI32,
11017 OPC_MoveSibling, 10,
11018 OPC_CheckInteger, 16,
11019 OPC_CheckTypeI32,
11020 OPC_MoveSibling, 11,
11021 OPC_CheckInteger, 17,
11022 OPC_CheckTypeI32,
11023 OPC_MoveSibling, 12,
11024 OPC_CheckInteger, 20,
11025 OPC_CheckTypeI32,
11026 OPC_MoveSibling, 13,
11027 OPC_CheckInteger, 21,
11028 OPC_CheckTypeI32,
11029 OPC_MoveSibling, 14,
11030 OPC_CheckInteger, 24,
11031 OPC_CheckTypeI32,
11032 OPC_MoveSibling, 15,
11033 OPC_CheckInteger, 25,
11034 OPC_CheckTypeI32,
11035 OPC_MoveSibling, 16,
11036 OPC_CheckInteger, 28,
11037 OPC_CheckTypeI32,
11038 OPC_MoveSibling, 17,
11039 OPC_CheckInteger, 29,
11040 OPC_CheckTypeI32,
11041 OPC_MoveParent,
11042 OPC_MoveParent,
11043 OPC_CheckType, MVT::v8i16,
11044 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11045 MVT::v8i16, 2, 0, 1,
11046 0,
11047 61|128,2,
11048 OPC_CheckChild0Same, 1,
11049 OPC_MoveSibling1,
11050 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11051 OPC_CheckChild0Same, 0,
11052 OPC_MoveParent,
11053 OPC_CheckType, MVT::v8i16,
11054 OPC_MoveSibling1,
11055 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11056 OPC_MoveChild0,
11057 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11058 OPC_Scope, 94,
11059 OPC_CheckChild0Same, 0,
11060 OPC_MoveSibling1,
11061 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11062 OPC_CheckChild0Same, 1,
11063 OPC_MoveParent,
11064 OPC_CheckType, MVT::v8i16,
11065 OPC_MoveParent,
11066 OPC_CheckChild2Integer, 0,
11067 OPC_CheckChild2TypeI32,
11068 OPC_CheckChild3Integer, 1,
11069 OPC_CheckChild3TypeI32,
11070 OPC_CheckChild4Integer, 4,
11071 OPC_CheckChild4TypeI32,
11072 OPC_MoveChild5,
11073 OPC_CheckInteger, 5,
11074 OPC_CheckTypeI32,
11075 OPC_MoveSibling6,
11076 OPC_CheckInteger, 8,
11077 OPC_CheckTypeI32,
11078 OPC_MoveSibling7,
11079 OPC_CheckInteger, 9,
11080 OPC_CheckTypeI32,
11081 OPC_MoveSibling, 8,
11082 OPC_CheckInteger, 12,
11083 OPC_CheckTypeI32,
11084 OPC_MoveSibling, 9,
11085 OPC_CheckInteger, 13,
11086 OPC_CheckTypeI32,
11087 OPC_MoveSibling, 10,
11088 OPC_CheckInteger, 16,
11089 OPC_CheckTypeI32,
11090 OPC_MoveSibling, 11,
11091 OPC_CheckInteger, 17,
11092 OPC_CheckTypeI32,
11093 OPC_MoveSibling, 12,
11094 OPC_CheckInteger, 20,
11095 OPC_CheckTypeI32,
11096 OPC_MoveSibling, 13,
11097 OPC_CheckInteger, 21,
11098 OPC_CheckTypeI32,
11099 OPC_MoveSibling, 14,
11100 OPC_CheckInteger, 24,
11101 OPC_CheckTypeI32,
11102 OPC_MoveSibling, 15,
11103 OPC_CheckInteger, 25,
11104 OPC_CheckTypeI32,
11105 OPC_MoveSibling, 16,
11106 OPC_CheckInteger, 28,
11107 OPC_CheckTypeI32,
11108 OPC_MoveSibling, 17,
11109 OPC_CheckInteger, 29,
11110 OPC_CheckTypeI32,
11111 OPC_MoveParent,
11112 OPC_MoveParent,
11113 OPC_CheckType, MVT::v8i16,
11114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11115 MVT::v8i16, 2, 0, 1,
11116 105,
11117 OPC_CheckChild0Same, 1,
11118 OPC_MoveSibling1,
11119 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11120 OPC_CheckChild0Same, 0,
11121 OPC_MoveParent,
11122 OPC_CheckType, MVT::v8i16,
11123 OPC_MoveParent,
11124 OPC_CheckChild2Integer, 0,
11125 OPC_CheckChild2TypeI32,
11126 OPC_CheckChild3Integer, 1,
11127 OPC_CheckChild3TypeI32,
11128 OPC_CheckChild4Integer, 4,
11129 OPC_CheckChild4TypeI32,
11130 OPC_MoveChild5,
11131 OPC_CheckInteger, 5,
11132 OPC_CheckTypeI32,
11133 OPC_MoveSibling6,
11134 OPC_CheckInteger, 8,
11135 OPC_CheckTypeI32,
11136 OPC_MoveSibling7,
11137 OPC_CheckInteger, 9,
11138 OPC_CheckTypeI32,
11139 OPC_MoveSibling, 8,
11140 OPC_CheckInteger, 12,
11141 OPC_CheckTypeI32,
11142 OPC_MoveSibling, 9,
11143 OPC_CheckInteger, 13,
11144 OPC_CheckTypeI32,
11145 OPC_MoveSibling, 10,
11146 OPC_CheckInteger, 16,
11147 OPC_CheckTypeI32,
11148 OPC_MoveSibling, 11,
11149 OPC_CheckInteger, 17,
11150 OPC_CheckTypeI32,
11151 OPC_MoveSibling, 12,
11152 OPC_CheckInteger, 20,
11153 OPC_CheckTypeI32,
11154 OPC_MoveSibling, 13,
11155 OPC_CheckInteger, 21,
11156 OPC_CheckTypeI32,
11157 OPC_MoveSibling, 14,
11158 OPC_CheckInteger, 24,
11159 OPC_CheckTypeI32,
11160 OPC_MoveSibling, 15,
11161 OPC_CheckInteger, 25,
11162 OPC_CheckTypeI32,
11163 OPC_MoveSibling, 16,
11164 OPC_CheckInteger, 28,
11165 OPC_CheckTypeI32,
11166 OPC_MoveSibling, 17,
11167 OPC_CheckInteger, 29,
11168 OPC_CheckTypeI32,
11169 OPC_MoveParent,
11170 OPC_MoveParent,
11171 OPC_CheckType, MVT::v8i16,
11172 OPC_Scope, 7,
11173 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11174 MVT::v8i16, 2, 0, 1,
11175 7,
11176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11177 MVT::v8i16, 2, 1, 0,
11178 0,
11179 94,
11180 OPC_CheckChild0Same, 0,
11181 OPC_MoveSibling1,
11182 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11183 OPC_CheckChild0Same, 1,
11184 OPC_MoveParent,
11185 OPC_CheckType, MVT::v8i16,
11186 OPC_MoveParent,
11187 OPC_CheckChild2Integer, 0,
11188 OPC_CheckChild2TypeI32,
11189 OPC_CheckChild3Integer, 1,
11190 OPC_CheckChild3TypeI32,
11191 OPC_CheckChild4Integer, 4,
11192 OPC_CheckChild4TypeI32,
11193 OPC_MoveChild5,
11194 OPC_CheckInteger, 5,
11195 OPC_CheckTypeI32,
11196 OPC_MoveSibling6,
11197 OPC_CheckInteger, 8,
11198 OPC_CheckTypeI32,
11199 OPC_MoveSibling7,
11200 OPC_CheckInteger, 9,
11201 OPC_CheckTypeI32,
11202 OPC_MoveSibling, 8,
11203 OPC_CheckInteger, 12,
11204 OPC_CheckTypeI32,
11205 OPC_MoveSibling, 9,
11206 OPC_CheckInteger, 13,
11207 OPC_CheckTypeI32,
11208 OPC_MoveSibling, 10,
11209 OPC_CheckInteger, 16,
11210 OPC_CheckTypeI32,
11211 OPC_MoveSibling, 11,
11212 OPC_CheckInteger, 17,
11213 OPC_CheckTypeI32,
11214 OPC_MoveSibling, 12,
11215 OPC_CheckInteger, 20,
11216 OPC_CheckTypeI32,
11217 OPC_MoveSibling, 13,
11218 OPC_CheckInteger, 21,
11219 OPC_CheckTypeI32,
11220 OPC_MoveSibling, 14,
11221 OPC_CheckInteger, 24,
11222 OPC_CheckTypeI32,
11223 OPC_MoveSibling, 15,
11224 OPC_CheckInteger, 25,
11225 OPC_CheckTypeI32,
11226 OPC_MoveSibling, 16,
11227 OPC_CheckInteger, 28,
11228 OPC_CheckTypeI32,
11229 OPC_MoveSibling, 17,
11230 OPC_CheckInteger, 29,
11231 OPC_CheckTypeI32,
11232 OPC_MoveParent,
11233 OPC_MoveParent,
11234 OPC_CheckType, MVT::v8i16,
11235 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11236 MVT::v8i16, 2, 1, 0,
11237 0,
11238 83|128,1,
11239 OPC_CheckChild0Same, 0,
11240 OPC_MoveSibling1,
11241 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11242 OPC_CheckChild0Same, 1,
11243 OPC_MoveParent,
11244 OPC_CheckType, MVT::v8i16,
11245 OPC_MoveSibling1,
11246 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11247 OPC_MoveChild0,
11248 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11249 OPC_Scope, 94,
11250 OPC_CheckChild0Same, 1,
11251 OPC_MoveSibling1,
11252 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11253 OPC_CheckChild0Same, 0,
11254 OPC_MoveParent,
11255 OPC_CheckType, MVT::v8i16,
11256 OPC_MoveParent,
11257 OPC_CheckChild2Integer, 0,
11258 OPC_CheckChild2TypeI32,
11259 OPC_CheckChild3Integer, 1,
11260 OPC_CheckChild3TypeI32,
11261 OPC_CheckChild4Integer, 4,
11262 OPC_CheckChild4TypeI32,
11263 OPC_MoveChild5,
11264 OPC_CheckInteger, 5,
11265 OPC_CheckTypeI32,
11266 OPC_MoveSibling6,
11267 OPC_CheckInteger, 8,
11268 OPC_CheckTypeI32,
11269 OPC_MoveSibling7,
11270 OPC_CheckInteger, 9,
11271 OPC_CheckTypeI32,
11272 OPC_MoveSibling, 8,
11273 OPC_CheckInteger, 12,
11274 OPC_CheckTypeI32,
11275 OPC_MoveSibling, 9,
11276 OPC_CheckInteger, 13,
11277 OPC_CheckTypeI32,
11278 OPC_MoveSibling, 10,
11279 OPC_CheckInteger, 16,
11280 OPC_CheckTypeI32,
11281 OPC_MoveSibling, 11,
11282 OPC_CheckInteger, 17,
11283 OPC_CheckTypeI32,
11284 OPC_MoveSibling, 12,
11285 OPC_CheckInteger, 20,
11286 OPC_CheckTypeI32,
11287 OPC_MoveSibling, 13,
11288 OPC_CheckInteger, 21,
11289 OPC_CheckTypeI32,
11290 OPC_MoveSibling, 14,
11291 OPC_CheckInteger, 24,
11292 OPC_CheckTypeI32,
11293 OPC_MoveSibling, 15,
11294 OPC_CheckInteger, 25,
11295 OPC_CheckTypeI32,
11296 OPC_MoveSibling, 16,
11297 OPC_CheckInteger, 28,
11298 OPC_CheckTypeI32,
11299 OPC_MoveSibling, 17,
11300 OPC_CheckInteger, 29,
11301 OPC_CheckTypeI32,
11302 OPC_MoveParent,
11303 OPC_MoveParent,
11304 OPC_CheckType, MVT::v8i16,
11305 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11306 MVT::v8i16, 2, 1, 0,
11307 94,
11308 OPC_CheckChild0Same, 0,
11309 OPC_MoveSibling1,
11310 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11311 OPC_CheckChild0Same, 1,
11312 OPC_MoveParent,
11313 OPC_CheckType, MVT::v8i16,
11314 OPC_MoveParent,
11315 OPC_CheckChild2Integer, 0,
11316 OPC_CheckChild2TypeI32,
11317 OPC_CheckChild3Integer, 1,
11318 OPC_CheckChild3TypeI32,
11319 OPC_CheckChild4Integer, 4,
11320 OPC_CheckChild4TypeI32,
11321 OPC_MoveChild5,
11322 OPC_CheckInteger, 5,
11323 OPC_CheckTypeI32,
11324 OPC_MoveSibling6,
11325 OPC_CheckInteger, 8,
11326 OPC_CheckTypeI32,
11327 OPC_MoveSibling7,
11328 OPC_CheckInteger, 9,
11329 OPC_CheckTypeI32,
11330 OPC_MoveSibling, 8,
11331 OPC_CheckInteger, 12,
11332 OPC_CheckTypeI32,
11333 OPC_MoveSibling, 9,
11334 OPC_CheckInteger, 13,
11335 OPC_CheckTypeI32,
11336 OPC_MoveSibling, 10,
11337 OPC_CheckInteger, 16,
11338 OPC_CheckTypeI32,
11339 OPC_MoveSibling, 11,
11340 OPC_CheckInteger, 17,
11341 OPC_CheckTypeI32,
11342 OPC_MoveSibling, 12,
11343 OPC_CheckInteger, 20,
11344 OPC_CheckTypeI32,
11345 OPC_MoveSibling, 13,
11346 OPC_CheckInteger, 21,
11347 OPC_CheckTypeI32,
11348 OPC_MoveSibling, 14,
11349 OPC_CheckInteger, 24,
11350 OPC_CheckTypeI32,
11351 OPC_MoveSibling, 15,
11352 OPC_CheckInteger, 25,
11353 OPC_CheckTypeI32,
11354 OPC_MoveSibling, 16,
11355 OPC_CheckInteger, 28,
11356 OPC_CheckTypeI32,
11357 OPC_MoveSibling, 17,
11358 OPC_CheckInteger, 29,
11359 OPC_CheckTypeI32,
11360 OPC_MoveParent,
11361 OPC_MoveParent,
11362 OPC_CheckType, MVT::v8i16,
11363 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11364 MVT::v8i16, 2, 1, 0,
11365 0,
11366 0,
11367 12|128,4,
11368 OPC_CheckChild0Same, 0,
11369 OPC_MoveSibling1,
11370 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11371 OPC_CheckChild0Same, 1,
11372 OPC_MoveParent,
11373 OPC_CheckType, MVT::v8i16,
11374 OPC_MoveParent,
11375 OPC_CheckChild2Integer, 2,
11376 OPC_CheckChild2TypeI32,
11377 OPC_CheckChild3Integer, 3,
11378 OPC_CheckChild3TypeI32,
11379 OPC_CheckChild4Integer, 6,
11380 OPC_CheckChild4TypeI32,
11381 OPC_MoveChild5,
11382 OPC_CheckInteger, 7,
11383 OPC_CheckTypeI32,
11384 OPC_MoveSibling6,
11385 OPC_CheckInteger, 10,
11386 OPC_CheckTypeI32,
11387 OPC_MoveSibling7,
11388 OPC_CheckInteger, 11,
11389 OPC_CheckTypeI32,
11390 OPC_MoveSibling, 8,
11391 OPC_CheckInteger, 14,
11392 OPC_CheckTypeI32,
11393 OPC_MoveSibling, 9,
11394 OPC_CheckInteger, 15,
11395 OPC_CheckTypeI32,
11396 OPC_MoveSibling, 10,
11397 OPC_CheckInteger, 18,
11398 OPC_CheckTypeI32,
11399 OPC_MoveSibling, 11,
11400 OPC_CheckInteger, 19,
11401 OPC_CheckTypeI32,
11402 OPC_MoveSibling, 12,
11403 OPC_CheckInteger, 22,
11404 OPC_CheckTypeI32,
11405 OPC_MoveSibling, 13,
11406 OPC_CheckInteger, 23,
11407 OPC_CheckTypeI32,
11408 OPC_MoveSibling, 14,
11409 OPC_CheckInteger, 26,
11410 OPC_CheckTypeI32,
11411 OPC_MoveSibling, 15,
11412 OPC_CheckInteger, 27,
11413 OPC_CheckTypeI32,
11414 OPC_MoveSibling, 16,
11415 OPC_CheckInteger, 30,
11416 OPC_CheckTypeI32,
11417 OPC_MoveSibling, 17,
11418 OPC_CheckInteger, 31,
11419 OPC_CheckTypeI32,
11420 OPC_MoveParent,
11421 OPC_MoveSibling1,
11422 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11423 OPC_MoveChild0,
11424 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11425 OPC_MoveChild0,
11426 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11427 OPC_Scope, 83|128,1,
11428 OPC_CheckChild0Same, 1,
11429 OPC_MoveSibling1,
11430 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11431 OPC_CheckChild0Same, 0,
11432 OPC_MoveParent,
11433 OPC_CheckType, MVT::v8i16,
11434 OPC_MoveSibling1,
11435 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11436 OPC_MoveChild0,
11437 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11438 OPC_Scope, 94,
11439 OPC_CheckChild0Same, 1,
11440 OPC_MoveSibling1,
11441 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11442 OPC_CheckChild0Same, 0,
11443 OPC_MoveParent,
11444 OPC_CheckType, MVT::v8i16,
11445 OPC_MoveParent,
11446 OPC_CheckChild2Integer, 0,
11447 OPC_CheckChild2TypeI32,
11448 OPC_CheckChild3Integer, 1,
11449 OPC_CheckChild3TypeI32,
11450 OPC_CheckChild4Integer, 4,
11451 OPC_CheckChild4TypeI32,
11452 OPC_MoveChild5,
11453 OPC_CheckInteger, 5,
11454 OPC_CheckTypeI32,
11455 OPC_MoveSibling6,
11456 OPC_CheckInteger, 8,
11457 OPC_CheckTypeI32,
11458 OPC_MoveSibling7,
11459 OPC_CheckInteger, 9,
11460 OPC_CheckTypeI32,
11461 OPC_MoveSibling, 8,
11462 OPC_CheckInteger, 12,
11463 OPC_CheckTypeI32,
11464 OPC_MoveSibling, 9,
11465 OPC_CheckInteger, 13,
11466 OPC_CheckTypeI32,
11467 OPC_MoveSibling, 10,
11468 OPC_CheckInteger, 16,
11469 OPC_CheckTypeI32,
11470 OPC_MoveSibling, 11,
11471 OPC_CheckInteger, 17,
11472 OPC_CheckTypeI32,
11473 OPC_MoveSibling, 12,
11474 OPC_CheckInteger, 20,
11475 OPC_CheckTypeI32,
11476 OPC_MoveSibling, 13,
11477 OPC_CheckInteger, 21,
11478 OPC_CheckTypeI32,
11479 OPC_MoveSibling, 14,
11480 OPC_CheckInteger, 24,
11481 OPC_CheckTypeI32,
11482 OPC_MoveSibling, 15,
11483 OPC_CheckInteger, 25,
11484 OPC_CheckTypeI32,
11485 OPC_MoveSibling, 16,
11486 OPC_CheckInteger, 28,
11487 OPC_CheckTypeI32,
11488 OPC_MoveSibling, 17,
11489 OPC_CheckInteger, 29,
11490 OPC_CheckTypeI32,
11491 OPC_MoveParent,
11492 OPC_MoveParent,
11493 OPC_CheckType, MVT::v8i16,
11494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11495 MVT::v8i16, 2, 1, 0,
11496 94,
11497 OPC_CheckChild0Same, 0,
11498 OPC_MoveSibling1,
11499 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11500 OPC_CheckChild0Same, 1,
11501 OPC_MoveParent,
11502 OPC_CheckType, MVT::v8i16,
11503 OPC_MoveParent,
11504 OPC_CheckChild2Integer, 0,
11505 OPC_CheckChild2TypeI32,
11506 OPC_CheckChild3Integer, 1,
11507 OPC_CheckChild3TypeI32,
11508 OPC_CheckChild4Integer, 4,
11509 OPC_CheckChild4TypeI32,
11510 OPC_MoveChild5,
11511 OPC_CheckInteger, 5,
11512 OPC_CheckTypeI32,
11513 OPC_MoveSibling6,
11514 OPC_CheckInteger, 8,
11515 OPC_CheckTypeI32,
11516 OPC_MoveSibling7,
11517 OPC_CheckInteger, 9,
11518 OPC_CheckTypeI32,
11519 OPC_MoveSibling, 8,
11520 OPC_CheckInteger, 12,
11521 OPC_CheckTypeI32,
11522 OPC_MoveSibling, 9,
11523 OPC_CheckInteger, 13,
11524 OPC_CheckTypeI32,
11525 OPC_MoveSibling, 10,
11526 OPC_CheckInteger, 16,
11527 OPC_CheckTypeI32,
11528 OPC_MoveSibling, 11,
11529 OPC_CheckInteger, 17,
11530 OPC_CheckTypeI32,
11531 OPC_MoveSibling, 12,
11532 OPC_CheckInteger, 20,
11533 OPC_CheckTypeI32,
11534 OPC_MoveSibling, 13,
11535 OPC_CheckInteger, 21,
11536 OPC_CheckTypeI32,
11537 OPC_MoveSibling, 14,
11538 OPC_CheckInteger, 24,
11539 OPC_CheckTypeI32,
11540 OPC_MoveSibling, 15,
11541 OPC_CheckInteger, 25,
11542 OPC_CheckTypeI32,
11543 OPC_MoveSibling, 16,
11544 OPC_CheckInteger, 28,
11545 OPC_CheckTypeI32,
11546 OPC_MoveSibling, 17,
11547 OPC_CheckInteger, 29,
11548 OPC_CheckTypeI32,
11549 OPC_MoveParent,
11550 OPC_MoveParent,
11551 OPC_CheckType, MVT::v8i16,
11552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11553 MVT::v8i16, 2, 1, 0,
11554 0,
11555 83|128,1,
11556 OPC_CheckChild0Same, 0,
11557 OPC_MoveSibling1,
11558 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11559 OPC_CheckChild0Same, 1,
11560 OPC_MoveParent,
11561 OPC_CheckType, MVT::v8i16,
11562 OPC_MoveSibling1,
11563 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
11564 OPC_MoveChild0,
11565 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11566 OPC_Scope, 94,
11567 OPC_CheckChild0Same, 1,
11568 OPC_MoveSibling1,
11569 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11570 OPC_CheckChild0Same, 0,
11571 OPC_MoveParent,
11572 OPC_CheckType, MVT::v8i16,
11573 OPC_MoveParent,
11574 OPC_CheckChild2Integer, 0,
11575 OPC_CheckChild2TypeI32,
11576 OPC_CheckChild3Integer, 1,
11577 OPC_CheckChild3TypeI32,
11578 OPC_CheckChild4Integer, 4,
11579 OPC_CheckChild4TypeI32,
11580 OPC_MoveChild5,
11581 OPC_CheckInteger, 5,
11582 OPC_CheckTypeI32,
11583 OPC_MoveSibling6,
11584 OPC_CheckInteger, 8,
11585 OPC_CheckTypeI32,
11586 OPC_MoveSibling7,
11587 OPC_CheckInteger, 9,
11588 OPC_CheckTypeI32,
11589 OPC_MoveSibling, 8,
11590 OPC_CheckInteger, 12,
11591 OPC_CheckTypeI32,
11592 OPC_MoveSibling, 9,
11593 OPC_CheckInteger, 13,
11594 OPC_CheckTypeI32,
11595 OPC_MoveSibling, 10,
11596 OPC_CheckInteger, 16,
11597 OPC_CheckTypeI32,
11598 OPC_MoveSibling, 11,
11599 OPC_CheckInteger, 17,
11600 OPC_CheckTypeI32,
11601 OPC_MoveSibling, 12,
11602 OPC_CheckInteger, 20,
11603 OPC_CheckTypeI32,
11604 OPC_MoveSibling, 13,
11605 OPC_CheckInteger, 21,
11606 OPC_CheckTypeI32,
11607 OPC_MoveSibling, 14,
11608 OPC_CheckInteger, 24,
11609 OPC_CheckTypeI32,
11610 OPC_MoveSibling, 15,
11611 OPC_CheckInteger, 25,
11612 OPC_CheckTypeI32,
11613 OPC_MoveSibling, 16,
11614 OPC_CheckInteger, 28,
11615 OPC_CheckTypeI32,
11616 OPC_MoveSibling, 17,
11617 OPC_CheckInteger, 29,
11618 OPC_CheckTypeI32,
11619 OPC_MoveParent,
11620 OPC_MoveParent,
11621 OPC_CheckType, MVT::v8i16,
11622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11623 MVT::v8i16, 2, 1, 0,
11624 94,
11625 OPC_CheckChild0Same, 0,
11626 OPC_MoveSibling1,
11627 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
11628 OPC_CheckChild0Same, 1,
11629 OPC_MoveParent,
11630 OPC_CheckType, MVT::v8i16,
11631 OPC_MoveParent,
11632 OPC_CheckChild2Integer, 0,
11633 OPC_CheckChild2TypeI32,
11634 OPC_CheckChild3Integer, 1,
11635 OPC_CheckChild3TypeI32,
11636 OPC_CheckChild4Integer, 4,
11637 OPC_CheckChild4TypeI32,
11638 OPC_MoveChild5,
11639 OPC_CheckInteger, 5,
11640 OPC_CheckTypeI32,
11641 OPC_MoveSibling6,
11642 OPC_CheckInteger, 8,
11643 OPC_CheckTypeI32,
11644 OPC_MoveSibling7,
11645 OPC_CheckInteger, 9,
11646 OPC_CheckTypeI32,
11647 OPC_MoveSibling, 8,
11648 OPC_CheckInteger, 12,
11649 OPC_CheckTypeI32,
11650 OPC_MoveSibling, 9,
11651 OPC_CheckInteger, 13,
11652 OPC_CheckTypeI32,
11653 OPC_MoveSibling, 10,
11654 OPC_CheckInteger, 16,
11655 OPC_CheckTypeI32,
11656 OPC_MoveSibling, 11,
11657 OPC_CheckInteger, 17,
11658 OPC_CheckTypeI32,
11659 OPC_MoveSibling, 12,
11660 OPC_CheckInteger, 20,
11661 OPC_CheckTypeI32,
11662 OPC_MoveSibling, 13,
11663 OPC_CheckInteger, 21,
11664 OPC_CheckTypeI32,
11665 OPC_MoveSibling, 14,
11666 OPC_CheckInteger, 24,
11667 OPC_CheckTypeI32,
11668 OPC_MoveSibling, 15,
11669 OPC_CheckInteger, 25,
11670 OPC_CheckTypeI32,
11671 OPC_MoveSibling, 16,
11672 OPC_CheckInteger, 28,
11673 OPC_CheckTypeI32,
11674 OPC_MoveSibling, 17,
11675 OPC_CheckInteger, 29,
11676 OPC_CheckTypeI32,
11677 OPC_MoveParent,
11678 OPC_MoveParent,
11679 OPC_CheckType, MVT::v8i16,
11680 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
11681 MVT::v8i16, 2, 1, 0,
11682 0,
11683 0,
11684 0,
11685 0,
11686 75|128,4, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11687 OPC_MoveChild0,
11688 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11689 OPC_RecordChild0,
11690 OPC_Scope, 32|128,2,
11691 OPC_CheckChild0Type, MVT::v8i16,
11692 OPC_CheckChild1Type, MVT::v8i16,
11693 OPC_Scope, 11|128,1,
11694 OPC_CheckChild2Integer, 0,
11695 OPC_CheckChild2TypeI32,
11696 OPC_CheckChild3Integer, 1,
11697 OPC_CheckChild3TypeI32,
11698 OPC_CheckChild4Integer, 4,
11699 OPC_CheckChild4TypeI32,
11700 OPC_MoveChild5,
11701 OPC_CheckInteger, 5,
11702 OPC_CheckTypeI32,
11703 OPC_MoveSibling6,
11704 OPC_CheckInteger, 8,
11705 OPC_CheckTypeI32,
11706 OPC_MoveSibling7,
11707 OPC_CheckInteger, 9,
11708 OPC_CheckTypeI32,
11709 OPC_MoveSibling, 8,
11710 OPC_CheckInteger, 12,
11711 OPC_CheckTypeI32,
11712 OPC_MoveSibling, 9,
11713 OPC_CheckInteger, 13,
11714 OPC_CheckTypeI32,
11715 OPC_MoveSibling, 10,
11716 OPC_CheckTypeI32,
11717 OPC_MoveSibling, 11,
11718 OPC_CheckTypeI32,
11719 OPC_MoveSibling, 12,
11720 OPC_CheckTypeI32,
11721 OPC_MoveSibling, 13,
11722 OPC_CheckTypeI32,
11723 OPC_MoveSibling, 14,
11724 OPC_CheckTypeI32,
11725 OPC_MoveSibling, 15,
11726 OPC_CheckTypeI32,
11727 OPC_MoveSibling, 16,
11728 OPC_CheckTypeI32,
11729 OPC_MoveSibling, 17,
11730 OPC_CheckTypeI32,
11731 OPC_MoveParent,
11732 OPC_CheckType, MVT::v8i16,
11733 OPC_MoveParent,
11734 OPC_MoveSibling1,
11735 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11736 OPC_MoveChild0,
11737 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11738 OPC_CheckChild0Same, 0,
11739 OPC_CheckChild1Type, MVT::v8i16,
11740 OPC_CheckChild2Integer, 2,
11741 OPC_CheckChild2TypeI32,
11742 OPC_CheckChild3Integer, 3,
11743 OPC_CheckChild3TypeI32,
11744 OPC_CheckChild4Integer, 6,
11745 OPC_CheckChild4TypeI32,
11746 OPC_MoveChild5,
11747 OPC_CheckInteger, 7,
11748 OPC_CheckTypeI32,
11749 OPC_MoveSibling6,
11750 OPC_CheckInteger, 10,
11751 OPC_CheckTypeI32,
11752 OPC_MoveSibling7,
11753 OPC_CheckInteger, 11,
11754 OPC_CheckTypeI32,
11755 OPC_MoveSibling, 8,
11756 OPC_CheckInteger, 14,
11757 OPC_CheckTypeI32,
11758 OPC_MoveSibling, 9,
11759 OPC_CheckInteger, 15,
11760 OPC_CheckTypeI32,
11761 OPC_MoveSibling, 10,
11762 OPC_CheckTypeI32,
11763 OPC_MoveSibling, 11,
11764 OPC_CheckTypeI32,
11765 OPC_MoveSibling, 12,
11766 OPC_CheckTypeI32,
11767 OPC_MoveSibling, 13,
11768 OPC_CheckTypeI32,
11769 OPC_MoveSibling, 14,
11770 OPC_CheckTypeI32,
11771 OPC_MoveSibling, 15,
11772 OPC_CheckTypeI32,
11773 OPC_MoveSibling, 16,
11774 OPC_CheckTypeI32,
11775 OPC_MoveSibling, 17,
11776 OPC_CheckTypeI32,
11777 OPC_MoveParent,
11778 OPC_CheckType, MVT::v8i16,
11779 OPC_MoveParent,
11780 OPC_MoveParent,
11781 OPC_CheckType, MVT::v4i32,
11782 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
11783 MVT::v4i32, 1, 0,
11784 11|128,1,
11785 OPC_CheckChild2Integer, 2,
11786 OPC_CheckChild2TypeI32,
11787 OPC_CheckChild3Integer, 3,
11788 OPC_CheckChild3TypeI32,
11789 OPC_CheckChild4Integer, 6,
11790 OPC_CheckChild4TypeI32,
11791 OPC_MoveChild5,
11792 OPC_CheckInteger, 7,
11793 OPC_CheckTypeI32,
11794 OPC_MoveSibling6,
11795 OPC_CheckInteger, 10,
11796 OPC_CheckTypeI32,
11797 OPC_MoveSibling7,
11798 OPC_CheckInteger, 11,
11799 OPC_CheckTypeI32,
11800 OPC_MoveSibling, 8,
11801 OPC_CheckInteger, 14,
11802 OPC_CheckTypeI32,
11803 OPC_MoveSibling, 9,
11804 OPC_CheckInteger, 15,
11805 OPC_CheckTypeI32,
11806 OPC_MoveSibling, 10,
11807 OPC_CheckTypeI32,
11808 OPC_MoveSibling, 11,
11809 OPC_CheckTypeI32,
11810 OPC_MoveSibling, 12,
11811 OPC_CheckTypeI32,
11812 OPC_MoveSibling, 13,
11813 OPC_CheckTypeI32,
11814 OPC_MoveSibling, 14,
11815 OPC_CheckTypeI32,
11816 OPC_MoveSibling, 15,
11817 OPC_CheckTypeI32,
11818 OPC_MoveSibling, 16,
11819 OPC_CheckTypeI32,
11820 OPC_MoveSibling, 17,
11821 OPC_CheckTypeI32,
11822 OPC_MoveParent,
11823 OPC_CheckType, MVT::v8i16,
11824 OPC_MoveParent,
11825 OPC_MoveSibling1,
11826 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11827 OPC_MoveChild0,
11828 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11829 OPC_CheckChild0Same, 0,
11830 OPC_CheckChild1Type, MVT::v8i16,
11831 OPC_CheckChild2Integer, 0,
11832 OPC_CheckChild2TypeI32,
11833 OPC_CheckChild3Integer, 1,
11834 OPC_CheckChild3TypeI32,
11835 OPC_CheckChild4Integer, 4,
11836 OPC_CheckChild4TypeI32,
11837 OPC_MoveChild5,
11838 OPC_CheckInteger, 5,
11839 OPC_CheckTypeI32,
11840 OPC_MoveSibling6,
11841 OPC_CheckInteger, 8,
11842 OPC_CheckTypeI32,
11843 OPC_MoveSibling7,
11844 OPC_CheckInteger, 9,
11845 OPC_CheckTypeI32,
11846 OPC_MoveSibling, 8,
11847 OPC_CheckInteger, 12,
11848 OPC_CheckTypeI32,
11849 OPC_MoveSibling, 9,
11850 OPC_CheckInteger, 13,
11851 OPC_CheckTypeI32,
11852 OPC_MoveSibling, 10,
11853 OPC_CheckTypeI32,
11854 OPC_MoveSibling, 11,
11855 OPC_CheckTypeI32,
11856 OPC_MoveSibling, 12,
11857 OPC_CheckTypeI32,
11858 OPC_MoveSibling, 13,
11859 OPC_CheckTypeI32,
11860 OPC_MoveSibling, 14,
11861 OPC_CheckTypeI32,
11862 OPC_MoveSibling, 15,
11863 OPC_CheckTypeI32,
11864 OPC_MoveSibling, 16,
11865 OPC_CheckTypeI32,
11866 OPC_MoveSibling, 17,
11867 OPC_CheckTypeI32,
11868 OPC_MoveParent,
11869 OPC_CheckType, MVT::v8i16,
11870 OPC_MoveParent,
11871 OPC_MoveParent,
11872 OPC_CheckType, MVT::v4i32,
11873 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
11874 MVT::v4i32, 1, 0,
11875 0,
11876 32|128,2,
11877 OPC_CheckChild0Type, MVT::v16i8,
11878 OPC_CheckChild1Type, MVT::v16i8,
11879 OPC_Scope, 11|128,1,
11880 OPC_CheckChild2Integer, 0,
11881 OPC_CheckChild2TypeI32,
11882 OPC_CheckChild3Integer, 2,
11883 OPC_CheckChild3TypeI32,
11884 OPC_CheckChild4Integer, 4,
11885 OPC_CheckChild4TypeI32,
11886 OPC_MoveChild5,
11887 OPC_CheckInteger, 6,
11888 OPC_CheckTypeI32,
11889 OPC_MoveSibling6,
11890 OPC_CheckInteger, 8,
11891 OPC_CheckTypeI32,
11892 OPC_MoveSibling7,
11893 OPC_CheckInteger, 10,
11894 OPC_CheckTypeI32,
11895 OPC_MoveSibling, 8,
11896 OPC_CheckInteger, 12,
11897 OPC_CheckTypeI32,
11898 OPC_MoveSibling, 9,
11899 OPC_CheckInteger, 14,
11900 OPC_CheckTypeI32,
11901 OPC_MoveSibling, 10,
11902 OPC_CheckTypeI32,
11903 OPC_MoveSibling, 11,
11904 OPC_CheckTypeI32,
11905 OPC_MoveSibling, 12,
11906 OPC_CheckTypeI32,
11907 OPC_MoveSibling, 13,
11908 OPC_CheckTypeI32,
11909 OPC_MoveSibling, 14,
11910 OPC_CheckTypeI32,
11911 OPC_MoveSibling, 15,
11912 OPC_CheckTypeI32,
11913 OPC_MoveSibling, 16,
11914 OPC_CheckTypeI32,
11915 OPC_MoveSibling, 17,
11916 OPC_CheckTypeI32,
11917 OPC_MoveParent,
11918 OPC_CheckType, MVT::v16i8,
11919 OPC_MoveParent,
11920 OPC_MoveSibling1,
11921 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
11922 OPC_MoveChild0,
11923 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
11924 OPC_CheckChild0Same, 0,
11925 OPC_CheckChild1Type, MVT::v16i8,
11926 OPC_CheckChild2Integer, 1,
11927 OPC_CheckChild2TypeI32,
11928 OPC_CheckChild3Integer, 3,
11929 OPC_CheckChild3TypeI32,
11930 OPC_CheckChild4Integer, 5,
11931 OPC_CheckChild4TypeI32,
11932 OPC_MoveChild5,
11933 OPC_CheckInteger, 7,
11934 OPC_CheckTypeI32,
11935 OPC_MoveSibling6,
11936 OPC_CheckInteger, 9,
11937 OPC_CheckTypeI32,
11938 OPC_MoveSibling7,
11939 OPC_CheckInteger, 11,
11940 OPC_CheckTypeI32,
11941 OPC_MoveSibling, 8,
11942 OPC_CheckInteger, 13,
11943 OPC_CheckTypeI32,
11944 OPC_MoveSibling, 9,
11945 OPC_CheckInteger, 15,
11946 OPC_CheckTypeI32,
11947 OPC_MoveSibling, 10,
11948 OPC_CheckTypeI32,
11949 OPC_MoveSibling, 11,
11950 OPC_CheckTypeI32,
11951 OPC_MoveSibling, 12,
11952 OPC_CheckTypeI32,
11953 OPC_MoveSibling, 13,
11954 OPC_CheckTypeI32,
11955 OPC_MoveSibling, 14,
11956 OPC_CheckTypeI32,
11957 OPC_MoveSibling, 15,
11958 OPC_CheckTypeI32,
11959 OPC_MoveSibling, 16,
11960 OPC_CheckTypeI32,
11961 OPC_MoveSibling, 17,
11962 OPC_CheckTypeI32,
11963 OPC_MoveParent,
11964 OPC_CheckType, MVT::v16i8,
11965 OPC_MoveParent,
11966 OPC_MoveParent,
11967 OPC_CheckType, MVT::v8i16,
11968 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
11969 MVT::v8i16, 1, 0,
11970 11|128,1,
11971 OPC_CheckChild2Integer, 1,
11972 OPC_CheckChild2TypeI32,
11973 OPC_CheckChild3Integer, 3,
11974 OPC_CheckChild3TypeI32,
11975 OPC_CheckChild4Integer, 5,
11976 OPC_CheckChild4TypeI32,
11977 OPC_MoveChild5,
11978 OPC_CheckInteger, 7,
11979 OPC_CheckTypeI32,
11980 OPC_MoveSibling6,
11981 OPC_CheckInteger, 9,
11982 OPC_CheckTypeI32,
11983 OPC_MoveSibling7,
11984 OPC_CheckInteger, 11,
11985 OPC_CheckTypeI32,
11986 OPC_MoveSibling, 8,
11987 OPC_CheckInteger, 13,
11988 OPC_CheckTypeI32,
11989 OPC_MoveSibling, 9,
11990 OPC_CheckInteger, 15,
11991 OPC_CheckTypeI32,
11992 OPC_MoveSibling, 10,
11993 OPC_CheckTypeI32,
11994 OPC_MoveSibling, 11,
11995 OPC_CheckTypeI32,
11996 OPC_MoveSibling, 12,
11997 OPC_CheckTypeI32,
11998 OPC_MoveSibling, 13,
11999 OPC_CheckTypeI32,
12000 OPC_MoveSibling, 14,
12001 OPC_CheckTypeI32,
12002 OPC_MoveSibling, 15,
12003 OPC_CheckTypeI32,
12004 OPC_MoveSibling, 16,
12005 OPC_CheckTypeI32,
12006 OPC_MoveSibling, 17,
12007 OPC_CheckTypeI32,
12008 OPC_MoveParent,
12009 OPC_CheckType, MVT::v16i8,
12010 OPC_MoveParent,
12011 OPC_MoveSibling1,
12012 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12013 OPC_MoveChild0,
12014 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12015 OPC_CheckChild0Same, 0,
12016 OPC_CheckChild1Type, MVT::v16i8,
12017 OPC_CheckChild2Integer, 0,
12018 OPC_CheckChild2TypeI32,
12019 OPC_CheckChild3Integer, 2,
12020 OPC_CheckChild3TypeI32,
12021 OPC_CheckChild4Integer, 4,
12022 OPC_CheckChild4TypeI32,
12023 OPC_MoveChild5,
12024 OPC_CheckInteger, 6,
12025 OPC_CheckTypeI32,
12026 OPC_MoveSibling6,
12027 OPC_CheckInteger, 8,
12028 OPC_CheckTypeI32,
12029 OPC_MoveSibling7,
12030 OPC_CheckInteger, 10,
12031 OPC_CheckTypeI32,
12032 OPC_MoveSibling, 8,
12033 OPC_CheckInteger, 12,
12034 OPC_CheckTypeI32,
12035 OPC_MoveSibling, 9,
12036 OPC_CheckInteger, 14,
12037 OPC_CheckTypeI32,
12038 OPC_MoveSibling, 10,
12039 OPC_CheckTypeI32,
12040 OPC_MoveSibling, 11,
12041 OPC_CheckTypeI32,
12042 OPC_MoveSibling, 12,
12043 OPC_CheckTypeI32,
12044 OPC_MoveSibling, 13,
12045 OPC_CheckTypeI32,
12046 OPC_MoveSibling, 14,
12047 OPC_CheckTypeI32,
12048 OPC_MoveSibling, 15,
12049 OPC_CheckTypeI32,
12050 OPC_MoveSibling, 16,
12051 OPC_CheckTypeI32,
12052 OPC_MoveSibling, 17,
12053 OPC_CheckTypeI32,
12054 OPC_MoveParent,
12055 OPC_CheckType, MVT::v16i8,
12056 OPC_MoveParent,
12057 OPC_MoveParent,
12058 OPC_CheckType, MVT::v8i16,
12059 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
12060 MVT::v8i16, 1, 0,
12061 0,
12062 0,
12063 75|128,4, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12064 OPC_MoveChild0,
12065 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12066 OPC_RecordChild0,
12067 OPC_Scope, 32|128,2,
12068 OPC_CheckChild0Type, MVT::v8i16,
12069 OPC_CheckChild1Type, MVT::v8i16,
12070 OPC_Scope, 11|128,1,
12071 OPC_CheckChild2Integer, 0,
12072 OPC_CheckChild2TypeI32,
12073 OPC_CheckChild3Integer, 1,
12074 OPC_CheckChild3TypeI32,
12075 OPC_CheckChild4Integer, 4,
12076 OPC_CheckChild4TypeI32,
12077 OPC_MoveChild5,
12078 OPC_CheckInteger, 5,
12079 OPC_CheckTypeI32,
12080 OPC_MoveSibling6,
12081 OPC_CheckInteger, 8,
12082 OPC_CheckTypeI32,
12083 OPC_MoveSibling7,
12084 OPC_CheckInteger, 9,
12085 OPC_CheckTypeI32,
12086 OPC_MoveSibling, 8,
12087 OPC_CheckInteger, 12,
12088 OPC_CheckTypeI32,
12089 OPC_MoveSibling, 9,
12090 OPC_CheckInteger, 13,
12091 OPC_CheckTypeI32,
12092 OPC_MoveSibling, 10,
12093 OPC_CheckTypeI32,
12094 OPC_MoveSibling, 11,
12095 OPC_CheckTypeI32,
12096 OPC_MoveSibling, 12,
12097 OPC_CheckTypeI32,
12098 OPC_MoveSibling, 13,
12099 OPC_CheckTypeI32,
12100 OPC_MoveSibling, 14,
12101 OPC_CheckTypeI32,
12102 OPC_MoveSibling, 15,
12103 OPC_CheckTypeI32,
12104 OPC_MoveSibling, 16,
12105 OPC_CheckTypeI32,
12106 OPC_MoveSibling, 17,
12107 OPC_CheckTypeI32,
12108 OPC_MoveParent,
12109 OPC_CheckType, MVT::v8i16,
12110 OPC_MoveParent,
12111 OPC_MoveSibling1,
12112 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12113 OPC_MoveChild0,
12114 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12115 OPC_CheckChild0Same, 0,
12116 OPC_CheckChild1Type, MVT::v8i16,
12117 OPC_CheckChild2Integer, 2,
12118 OPC_CheckChild2TypeI32,
12119 OPC_CheckChild3Integer, 3,
12120 OPC_CheckChild3TypeI32,
12121 OPC_CheckChild4Integer, 6,
12122 OPC_CheckChild4TypeI32,
12123 OPC_MoveChild5,
12124 OPC_CheckInteger, 7,
12125 OPC_CheckTypeI32,
12126 OPC_MoveSibling6,
12127 OPC_CheckInteger, 10,
12128 OPC_CheckTypeI32,
12129 OPC_MoveSibling7,
12130 OPC_CheckInteger, 11,
12131 OPC_CheckTypeI32,
12132 OPC_MoveSibling, 8,
12133 OPC_CheckInteger, 14,
12134 OPC_CheckTypeI32,
12135 OPC_MoveSibling, 9,
12136 OPC_CheckInteger, 15,
12137 OPC_CheckTypeI32,
12138 OPC_MoveSibling, 10,
12139 OPC_CheckTypeI32,
12140 OPC_MoveSibling, 11,
12141 OPC_CheckTypeI32,
12142 OPC_MoveSibling, 12,
12143 OPC_CheckTypeI32,
12144 OPC_MoveSibling, 13,
12145 OPC_CheckTypeI32,
12146 OPC_MoveSibling, 14,
12147 OPC_CheckTypeI32,
12148 OPC_MoveSibling, 15,
12149 OPC_CheckTypeI32,
12150 OPC_MoveSibling, 16,
12151 OPC_CheckTypeI32,
12152 OPC_MoveSibling, 17,
12153 OPC_CheckTypeI32,
12154 OPC_MoveParent,
12155 OPC_CheckType, MVT::v8i16,
12156 OPC_MoveParent,
12157 OPC_MoveParent,
12158 OPC_CheckType, MVT::v4i32,
12159 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
12160 MVT::v4i32, 1, 0,
12161 11|128,1,
12162 OPC_CheckChild2Integer, 2,
12163 OPC_CheckChild2TypeI32,
12164 OPC_CheckChild3Integer, 3,
12165 OPC_CheckChild3TypeI32,
12166 OPC_CheckChild4Integer, 6,
12167 OPC_CheckChild4TypeI32,
12168 OPC_MoveChild5,
12169 OPC_CheckInteger, 7,
12170 OPC_CheckTypeI32,
12171 OPC_MoveSibling6,
12172 OPC_CheckInteger, 10,
12173 OPC_CheckTypeI32,
12174 OPC_MoveSibling7,
12175 OPC_CheckInteger, 11,
12176 OPC_CheckTypeI32,
12177 OPC_MoveSibling, 8,
12178 OPC_CheckInteger, 14,
12179 OPC_CheckTypeI32,
12180 OPC_MoveSibling, 9,
12181 OPC_CheckInteger, 15,
12182 OPC_CheckTypeI32,
12183 OPC_MoveSibling, 10,
12184 OPC_CheckTypeI32,
12185 OPC_MoveSibling, 11,
12186 OPC_CheckTypeI32,
12187 OPC_MoveSibling, 12,
12188 OPC_CheckTypeI32,
12189 OPC_MoveSibling, 13,
12190 OPC_CheckTypeI32,
12191 OPC_MoveSibling, 14,
12192 OPC_CheckTypeI32,
12193 OPC_MoveSibling, 15,
12194 OPC_CheckTypeI32,
12195 OPC_MoveSibling, 16,
12196 OPC_CheckTypeI32,
12197 OPC_MoveSibling, 17,
12198 OPC_CheckTypeI32,
12199 OPC_MoveParent,
12200 OPC_CheckType, MVT::v8i16,
12201 OPC_MoveParent,
12202 OPC_MoveSibling1,
12203 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12204 OPC_MoveChild0,
12205 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12206 OPC_CheckChild0Same, 0,
12207 OPC_CheckChild1Type, MVT::v8i16,
12208 OPC_CheckChild2Integer, 0,
12209 OPC_CheckChild2TypeI32,
12210 OPC_CheckChild3Integer, 1,
12211 OPC_CheckChild3TypeI32,
12212 OPC_CheckChild4Integer, 4,
12213 OPC_CheckChild4TypeI32,
12214 OPC_MoveChild5,
12215 OPC_CheckInteger, 5,
12216 OPC_CheckTypeI32,
12217 OPC_MoveSibling6,
12218 OPC_CheckInteger, 8,
12219 OPC_CheckTypeI32,
12220 OPC_MoveSibling7,
12221 OPC_CheckInteger, 9,
12222 OPC_CheckTypeI32,
12223 OPC_MoveSibling, 8,
12224 OPC_CheckInteger, 12,
12225 OPC_CheckTypeI32,
12226 OPC_MoveSibling, 9,
12227 OPC_CheckInteger, 13,
12228 OPC_CheckTypeI32,
12229 OPC_MoveSibling, 10,
12230 OPC_CheckTypeI32,
12231 OPC_MoveSibling, 11,
12232 OPC_CheckTypeI32,
12233 OPC_MoveSibling, 12,
12234 OPC_CheckTypeI32,
12235 OPC_MoveSibling, 13,
12236 OPC_CheckTypeI32,
12237 OPC_MoveSibling, 14,
12238 OPC_CheckTypeI32,
12239 OPC_MoveSibling, 15,
12240 OPC_CheckTypeI32,
12241 OPC_MoveSibling, 16,
12242 OPC_CheckTypeI32,
12243 OPC_MoveSibling, 17,
12244 OPC_CheckTypeI32,
12245 OPC_MoveParent,
12246 OPC_CheckType, MVT::v8i16,
12247 OPC_MoveParent,
12248 OPC_MoveParent,
12249 OPC_CheckType, MVT::v4i32,
12250 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
12251 MVT::v4i32, 1, 0,
12252 0,
12253 32|128,2,
12254 OPC_CheckChild0Type, MVT::v16i8,
12255 OPC_CheckChild1Type, MVT::v16i8,
12256 OPC_Scope, 11|128,1,
12257 OPC_CheckChild2Integer, 0,
12258 OPC_CheckChild2TypeI32,
12259 OPC_CheckChild3Integer, 2,
12260 OPC_CheckChild3TypeI32,
12261 OPC_CheckChild4Integer, 4,
12262 OPC_CheckChild4TypeI32,
12263 OPC_MoveChild5,
12264 OPC_CheckInteger, 6,
12265 OPC_CheckTypeI32,
12266 OPC_MoveSibling6,
12267 OPC_CheckInteger, 8,
12268 OPC_CheckTypeI32,
12269 OPC_MoveSibling7,
12270 OPC_CheckInteger, 10,
12271 OPC_CheckTypeI32,
12272 OPC_MoveSibling, 8,
12273 OPC_CheckInteger, 12,
12274 OPC_CheckTypeI32,
12275 OPC_MoveSibling, 9,
12276 OPC_CheckInteger, 14,
12277 OPC_CheckTypeI32,
12278 OPC_MoveSibling, 10,
12279 OPC_CheckTypeI32,
12280 OPC_MoveSibling, 11,
12281 OPC_CheckTypeI32,
12282 OPC_MoveSibling, 12,
12283 OPC_CheckTypeI32,
12284 OPC_MoveSibling, 13,
12285 OPC_CheckTypeI32,
12286 OPC_MoveSibling, 14,
12287 OPC_CheckTypeI32,
12288 OPC_MoveSibling, 15,
12289 OPC_CheckTypeI32,
12290 OPC_MoveSibling, 16,
12291 OPC_CheckTypeI32,
12292 OPC_MoveSibling, 17,
12293 OPC_CheckTypeI32,
12294 OPC_MoveParent,
12295 OPC_CheckType, MVT::v16i8,
12296 OPC_MoveParent,
12297 OPC_MoveSibling1,
12298 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12299 OPC_MoveChild0,
12300 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12301 OPC_CheckChild0Same, 0,
12302 OPC_CheckChild1Type, MVT::v16i8,
12303 OPC_CheckChild2Integer, 1,
12304 OPC_CheckChild2TypeI32,
12305 OPC_CheckChild3Integer, 3,
12306 OPC_CheckChild3TypeI32,
12307 OPC_CheckChild4Integer, 5,
12308 OPC_CheckChild4TypeI32,
12309 OPC_MoveChild5,
12310 OPC_CheckInteger, 7,
12311 OPC_CheckTypeI32,
12312 OPC_MoveSibling6,
12313 OPC_CheckInteger, 9,
12314 OPC_CheckTypeI32,
12315 OPC_MoveSibling7,
12316 OPC_CheckInteger, 11,
12317 OPC_CheckTypeI32,
12318 OPC_MoveSibling, 8,
12319 OPC_CheckInteger, 13,
12320 OPC_CheckTypeI32,
12321 OPC_MoveSibling, 9,
12322 OPC_CheckInteger, 15,
12323 OPC_CheckTypeI32,
12324 OPC_MoveSibling, 10,
12325 OPC_CheckTypeI32,
12326 OPC_MoveSibling, 11,
12327 OPC_CheckTypeI32,
12328 OPC_MoveSibling, 12,
12329 OPC_CheckTypeI32,
12330 OPC_MoveSibling, 13,
12331 OPC_CheckTypeI32,
12332 OPC_MoveSibling, 14,
12333 OPC_CheckTypeI32,
12334 OPC_MoveSibling, 15,
12335 OPC_CheckTypeI32,
12336 OPC_MoveSibling, 16,
12337 OPC_CheckTypeI32,
12338 OPC_MoveSibling, 17,
12339 OPC_CheckTypeI32,
12340 OPC_MoveParent,
12341 OPC_CheckType, MVT::v16i8,
12342 OPC_MoveParent,
12343 OPC_MoveParent,
12344 OPC_CheckType, MVT::v8i16,
12345 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
12346 MVT::v8i16, 1, 0,
12347 11|128,1,
12348 OPC_CheckChild2Integer, 1,
12349 OPC_CheckChild2TypeI32,
12350 OPC_CheckChild3Integer, 3,
12351 OPC_CheckChild3TypeI32,
12352 OPC_CheckChild4Integer, 5,
12353 OPC_CheckChild4TypeI32,
12354 OPC_MoveChild5,
12355 OPC_CheckInteger, 7,
12356 OPC_CheckTypeI32,
12357 OPC_MoveSibling6,
12358 OPC_CheckInteger, 9,
12359 OPC_CheckTypeI32,
12360 OPC_MoveSibling7,
12361 OPC_CheckInteger, 11,
12362 OPC_CheckTypeI32,
12363 OPC_MoveSibling, 8,
12364 OPC_CheckInteger, 13,
12365 OPC_CheckTypeI32,
12366 OPC_MoveSibling, 9,
12367 OPC_CheckInteger, 15,
12368 OPC_CheckTypeI32,
12369 OPC_MoveSibling, 10,
12370 OPC_CheckTypeI32,
12371 OPC_MoveSibling, 11,
12372 OPC_CheckTypeI32,
12373 OPC_MoveSibling, 12,
12374 OPC_CheckTypeI32,
12375 OPC_MoveSibling, 13,
12376 OPC_CheckTypeI32,
12377 OPC_MoveSibling, 14,
12378 OPC_CheckTypeI32,
12379 OPC_MoveSibling, 15,
12380 OPC_CheckTypeI32,
12381 OPC_MoveSibling, 16,
12382 OPC_CheckTypeI32,
12383 OPC_MoveSibling, 17,
12384 OPC_CheckTypeI32,
12385 OPC_MoveParent,
12386 OPC_CheckType, MVT::v16i8,
12387 OPC_MoveParent,
12388 OPC_MoveSibling1,
12389 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12390 OPC_MoveChild0,
12391 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::SHUFFLE),
12392 OPC_CheckChild0Same, 0,
12393 OPC_CheckChild1Type, MVT::v16i8,
12394 OPC_CheckChild2Integer, 0,
12395 OPC_CheckChild2TypeI32,
12396 OPC_CheckChild3Integer, 2,
12397 OPC_CheckChild3TypeI32,
12398 OPC_CheckChild4Integer, 4,
12399 OPC_CheckChild4TypeI32,
12400 OPC_MoveChild5,
12401 OPC_CheckInteger, 6,
12402 OPC_CheckTypeI32,
12403 OPC_MoveSibling6,
12404 OPC_CheckInteger, 8,
12405 OPC_CheckTypeI32,
12406 OPC_MoveSibling7,
12407 OPC_CheckInteger, 10,
12408 OPC_CheckTypeI32,
12409 OPC_MoveSibling, 8,
12410 OPC_CheckInteger, 12,
12411 OPC_CheckTypeI32,
12412 OPC_MoveSibling, 9,
12413 OPC_CheckInteger, 14,
12414 OPC_CheckTypeI32,
12415 OPC_MoveSibling, 10,
12416 OPC_CheckTypeI32,
12417 OPC_MoveSibling, 11,
12418 OPC_CheckTypeI32,
12419 OPC_MoveSibling, 12,
12420 OPC_CheckTypeI32,
12421 OPC_MoveSibling, 13,
12422 OPC_CheckTypeI32,
12423 OPC_MoveSibling, 14,
12424 OPC_CheckTypeI32,
12425 OPC_MoveSibling, 15,
12426 OPC_CheckTypeI32,
12427 OPC_MoveSibling, 16,
12428 OPC_CheckTypeI32,
12429 OPC_MoveSibling, 17,
12430 OPC_CheckTypeI32,
12431 OPC_MoveParent,
12432 OPC_CheckType, MVT::v16i8,
12433 OPC_MoveParent,
12434 OPC_MoveParent,
12435 OPC_CheckType, MVT::v8i16,
12436 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
12437 MVT::v8i16, 1, 0,
12438 0,
12439 0,
12440 27, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
12441 OPC_CheckChild0Integer, 34|128,112|128,0,
12442 OPC_MoveChild1,
12443 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
12444 OPC_CheckChild0Integer, 61|128,112|128,0,
12445 OPC_RecordChild1,
12446 OPC_RecordChild2,
12447 OPC_MoveParent,
12448 OPC_MoveParent,
12449 OPC_RecordChild1,
12450 OPC_CheckType, MVT::v4i32,
12451 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
12452 MVT::v4i32, 3, 0, 1, 2,
12453 0,
12454 78,
12455 OPC_RecordChild0,
12456 OPC_Scope, 30,
12457 OPC_MoveChild1,
12458 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
12459 OPC_CheckChild0Integer, 34|128,112|128,0,
12460 OPC_MoveChild1,
12461 OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
12462 OPC_CheckChild0Integer, 61|128,112|128,0,
12463 OPC_RecordChild1,
12464 OPC_RecordChild2,
12465 OPC_MoveParent,
12466 OPC_MoveParent,
12467 OPC_CheckType, MVT::v4i32,
12468 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
12469 MVT::v4i32, 3, 1, 2, 0,
12470 43,
12471 OPC_RecordChild1,
12472 OPC_SwitchType , 8, MVT::v16i8,
12473 OPC_CheckPatternPredicate0,
12474 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I8x16),
12475 MVT::v16i8, 2, 0, 1,
12476 8, MVT::v8i16,
12477 OPC_CheckPatternPredicate0,
12478 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I16x8),
12479 MVT::v8i16, 2, 0, 1,
12480 8, MVT::v4i32,
12481 OPC_CheckPatternPredicate0,
12482 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
12483 MVT::v4i32, 2, 0, 1,
12484 8, MVT::v2i64,
12485 OPC_CheckPatternPredicate0,
12486 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64x2),
12487 MVT::v2i64, 2, 0, 1,
12488 0,
12489 0,
12490 0,
12491 113, TARGET_VAL(ISD::SUB),
12492 OPC_Scope, 22,
12493 OPC_RecordChild0,
12494 OPC_RecordChild1,
12495 OPC_SwitchType , 7, MVT::i32,
12496 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32),
12497 MVT::i32, 2, 0, 1,
12498 7, MVT::i64,
12499 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64),
12500 MVT::i64, 2, 0, 1,
12501 0,
12502 42,
12503 OPC_MoveChild0,
12504 OPC_CheckImmAllZerosV,
12505 OPC_MoveParent,
12506 OPC_RecordChild1,
12507 OPC_SwitchType , 7, MVT::v16i8,
12508 OPC_CheckPatternPredicate0,
12509 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I8x16),
12510 MVT::v16i8, 1, 0,
12511 7, MVT::v8i16,
12512 OPC_CheckPatternPredicate0,
12513 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I16x8),
12514 MVT::v8i16, 1, 0,
12515 7, MVT::v4i32,
12516 OPC_CheckPatternPredicate0,
12517 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I32x4),
12518 MVT::v4i32, 1, 0,
12519 7, MVT::v2i64,
12520 OPC_CheckPatternPredicate0,
12521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I64x2),
12522 MVT::v2i64, 1, 0,
12523 0,
12524 44,
12525 OPC_RecordChild0,
12526 OPC_RecordChild1,
12527 OPC_SwitchType , 8, MVT::v16i8,
12528 OPC_CheckPatternPredicate0,
12529 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I8x16),
12530 MVT::v16i8, 2, 0, 1,
12531 8, MVT::v8i16,
12532 OPC_CheckPatternPredicate0,
12533 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I16x8),
12534 MVT::v8i16, 2, 0, 1,
12535 8, MVT::v4i32,
12536 OPC_CheckPatternPredicate0,
12537 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32x4),
12538 MVT::v4i32, 2, 0, 1,
12539 8, MVT::v2i64,
12540 OPC_CheckPatternPredicate0,
12541 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64x2),
12542 MVT::v2i64, 2, 0, 1,
12543 0,
12544 0,
12545 85|128,2, TARGET_VAL(ISD::MUL),
12546 OPC_Scope, 22,
12547 OPC_RecordChild0,
12548 OPC_RecordChild1,
12549 OPC_SwitchType , 7, MVT::i32,
12550 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32),
12551 MVT::i32, 2, 0, 1,
12552 7, MVT::i64,
12553 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64),
12554 MVT::i64, 2, 0, 1,
12555 0,
12556 23|128,2,
12557 OPC_MoveChild0,
12558 OPC_SwitchOpcode , 66, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12559 OPC_RecordChild0,
12560 OPC_Scope, 20,
12561 OPC_CheckChild0Type, MVT::v16i8,
12562 OPC_MoveSibling1,
12563 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12564 OPC_RecordChild0,
12565 OPC_CheckChild0Type, MVT::v16i8,
12566 OPC_MoveParent,
12567 OPC_CheckType, MVT::v8i16,
12568 OPC_CheckPatternPredicate0,
12569 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8),
12570 MVT::v8i16, 2, 0, 1,
12571 20,
12572 OPC_CheckChild0Type, MVT::v8i16,
12573 OPC_MoveSibling1,
12574 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12575 OPC_RecordChild0,
12576 OPC_CheckChild0Type, MVT::v8i16,
12577 OPC_MoveParent,
12578 OPC_CheckType, MVT::v4i32,
12579 OPC_CheckPatternPredicate0,
12580 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I32x4),
12581 MVT::v4i32, 2, 0, 1,
12582 20,
12583 OPC_CheckChild0Type, MVT::v4i32,
12584 OPC_MoveSibling1,
12585 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12586 OPC_RecordChild0,
12587 OPC_CheckChild0Type, MVT::v4i32,
12588 OPC_MoveParent,
12589 OPC_CheckType, MVT::v2i64,
12590 OPC_CheckPatternPredicate0,
12591 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I64x2),
12592 MVT::v2i64, 2, 0, 1,
12593 0,
12594 66, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12595 OPC_RecordChild0,
12596 OPC_Scope, 20,
12597 OPC_CheckChild0Type, MVT::v16i8,
12598 OPC_MoveSibling1,
12599 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12600 OPC_RecordChild0,
12601 OPC_CheckChild0Type, MVT::v16i8,
12602 OPC_MoveParent,
12603 OPC_CheckType, MVT::v8i16,
12604 OPC_CheckPatternPredicate0,
12605 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8),
12606 MVT::v8i16, 2, 0, 1,
12607 20,
12608 OPC_CheckChild0Type, MVT::v8i16,
12609 OPC_MoveSibling1,
12610 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12611 OPC_RecordChild0,
12612 OPC_CheckChild0Type, MVT::v8i16,
12613 OPC_MoveParent,
12614 OPC_CheckType, MVT::v4i32,
12615 OPC_CheckPatternPredicate0,
12616 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I32x4),
12617 MVT::v4i32, 2, 0, 1,
12618 20,
12619 OPC_CheckChild0Type, MVT::v4i32,
12620 OPC_MoveSibling1,
12621 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12622 OPC_RecordChild0,
12623 OPC_CheckChild0Type, MVT::v4i32,
12624 OPC_MoveParent,
12625 OPC_CheckType, MVT::v2i64,
12626 OPC_CheckPatternPredicate0,
12627 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I64x2),
12628 MVT::v2i64, 2, 0, 1,
12629 0,
12630 66, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12631 OPC_RecordChild0,
12632 OPC_Scope, 20,
12633 OPC_CheckChild0Type, MVT::v16i8,
12634 OPC_MoveSibling1,
12635 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12636 OPC_RecordChild0,
12637 OPC_CheckChild0Type, MVT::v16i8,
12638 OPC_MoveParent,
12639 OPC_CheckType, MVT::v8i16,
12640 OPC_CheckPatternPredicate0,
12641 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8),
12642 MVT::v8i16, 2, 0, 1,
12643 20,
12644 OPC_CheckChild0Type, MVT::v8i16,
12645 OPC_MoveSibling1,
12646 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12647 OPC_RecordChild0,
12648 OPC_CheckChild0Type, MVT::v8i16,
12649 OPC_MoveParent,
12650 OPC_CheckType, MVT::v4i32,
12651 OPC_CheckPatternPredicate0,
12652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4),
12653 MVT::v4i32, 2, 0, 1,
12654 20,
12655 OPC_CheckChild0Type, MVT::v4i32,
12656 OPC_MoveSibling1,
12657 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12658 OPC_RecordChild0,
12659 OPC_CheckChild0Type, MVT::v4i32,
12660 OPC_MoveParent,
12661 OPC_CheckType, MVT::v2i64,
12662 OPC_CheckPatternPredicate0,
12663 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I64x2),
12664 MVT::v2i64, 2, 0, 1,
12665 0,
12666 66, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12667 OPC_RecordChild0,
12668 OPC_Scope, 20,
12669 OPC_CheckChild0Type, MVT::v16i8,
12670 OPC_MoveSibling1,
12671 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12672 OPC_RecordChild0,
12673 OPC_CheckChild0Type, MVT::v16i8,
12674 OPC_MoveParent,
12675 OPC_CheckType, MVT::v8i16,
12676 OPC_CheckPatternPredicate0,
12677 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8),
12678 MVT::v8i16, 2, 0, 1,
12679 20,
12680 OPC_CheckChild0Type, MVT::v8i16,
12681 OPC_MoveSibling1,
12682 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12683 OPC_RecordChild0,
12684 OPC_CheckChild0Type, MVT::v8i16,
12685 OPC_MoveParent,
12686 OPC_CheckType, MVT::v4i32,
12687 OPC_CheckPatternPredicate0,
12688 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4),
12689 MVT::v4i32, 2, 0, 1,
12690 20,
12691 OPC_CheckChild0Type, MVT::v4i32,
12692 OPC_MoveSibling1,
12693 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12694 OPC_RecordChild0,
12695 OPC_CheckChild0Type, MVT::v4i32,
12696 OPC_MoveParent,
12697 OPC_CheckType, MVT::v2i64,
12698 OPC_CheckPatternPredicate0,
12699 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I64x2),
12700 MVT::v2i64, 2, 0, 1,
12701 0,
12702 0,
12703 34,
12704 OPC_RecordChild0,
12705 OPC_RecordChild1,
12706 OPC_SwitchType , 8, MVT::v8i16,
12707 OPC_CheckPatternPredicate0,
12708 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I16x8),
12709 MVT::v8i16, 2, 0, 1,
12710 8, MVT::v4i32,
12711 OPC_CheckPatternPredicate0,
12712 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32x4),
12713 MVT::v4i32, 2, 0, 1,
12714 8, MVT::v2i64,
12715 OPC_CheckPatternPredicate0,
12716 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64x2),
12717 MVT::v2i64, 2, 0, 1,
12718 0,
12719 0,
12720 22, TARGET_VAL(ISD::SDIV),
12721 OPC_RecordChild0,
12722 OPC_RecordChild1,
12723 OPC_SwitchType , 7, MVT::i32,
12724 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I32),
12725 MVT::i32, 2, 0, 1,
12726 7, MVT::i64,
12727 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I64),
12728 MVT::i64, 2, 0, 1,
12729 0,
12730 22, TARGET_VAL(ISD::UDIV),
12731 OPC_RecordChild0,
12732 OPC_RecordChild1,
12733 OPC_SwitchType , 7, MVT::i32,
12734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I32),
12735 MVT::i32, 2, 0, 1,
12736 7, MVT::i64,
12737 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I64),
12738 MVT::i64, 2, 0, 1,
12739 0,
12740 22, TARGET_VAL(ISD::SREM),
12741 OPC_RecordChild0,
12742 OPC_RecordChild1,
12743 OPC_SwitchType , 7, MVT::i32,
12744 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I32),
12745 MVT::i32, 2, 0, 1,
12746 7, MVT::i64,
12747 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I64),
12748 MVT::i64, 2, 0, 1,
12749 0,
12750 22, TARGET_VAL(ISD::UREM),
12751 OPC_RecordChild0,
12752 OPC_RecordChild1,
12753 OPC_SwitchType , 7, MVT::i32,
12754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I32),
12755 MVT::i32, 2, 0, 1,
12756 7, MVT::i64,
12757 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I64),
12758 MVT::i64, 2, 0, 1,
12759 0,
12760 56|128,6, TARGET_VAL(ISD::OR),
12761 OPC_Scope, 22,
12762 OPC_RecordChild0,
12763 OPC_RecordChild1,
12764 OPC_SwitchType , 7, MVT::i32,
12765 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I32),
12766 MVT::i32, 2, 0, 1,
12767 7, MVT::i64,
12768 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I64),
12769 MVT::i64, 2, 0, 1,
12770 0,
12771 116|128,5,
12772 OPC_MoveChild0,
12773 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12774 OPC_Scope, 4|128,1,
12775 OPC_RecordChild0,
12776 OPC_RecordChild1,
12777 OPC_MoveSibling1,
12778 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12779 OPC_Scope, 54,
12780 OPC_MoveChild0,
12781 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12782 OPC_CheckChild0Same, 0,
12783 OPC_MoveChild1,
12784 OPC_CheckImmAllOnesV,
12785 OPC_MoveParent,
12786 OPC_MoveParent,
12787 OPC_RecordChild1,
12788 OPC_MoveParent,
12789 OPC_SwitchType , 8, MVT::v16i8,
12790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12791 MVT::v16i8, 3, 1, 2, 0,
12792 8, MVT::v8i16,
12793 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12794 MVT::v8i16, 3, 1, 2, 0,
12795 8, MVT::v4i32,
12796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12797 MVT::v4i32, 3, 1, 2, 0,
12798 8, MVT::v2i64,
12799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12800 MVT::v2i64, 3, 1, 2, 0,
12801 0,
12802 22,
12803 OPC_RecordChild0,
12804 OPC_MoveChild1,
12805 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12806 OPC_CheckChild0Same, 0,
12807 OPC_MoveChild1,
12808 OPC_CheckImmAllOnesV,
12809 OPC_MoveParent,
12810 OPC_MoveParent,
12811 OPC_MoveParent,
12812 OPC_CheckType, MVT::v16i8,
12813 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12814 MVT::v16i8, 3, 1, 2, 0,
12815 22,
12816 OPC_MoveChild0,
12817 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12818 OPC_CheckChild0Same, 1,
12819 OPC_MoveChild1,
12820 OPC_CheckImmAllOnesV,
12821 OPC_MoveParent,
12822 OPC_MoveParent,
12823 OPC_RecordChild1,
12824 OPC_MoveParent,
12825 OPC_CheckType, MVT::v16i8,
12826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12827 MVT::v16i8, 3, 0, 2, 1,
12828 22,
12829 OPC_RecordChild0,
12830 OPC_MoveChild1,
12831 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12832 OPC_CheckChild0Same, 1,
12833 OPC_MoveChild1,
12834 OPC_CheckImmAllOnesV,
12835 OPC_MoveParent,
12836 OPC_MoveParent,
12837 OPC_MoveParent,
12838 OPC_CheckType, MVT::v16i8,
12839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12840 MVT::v16i8, 3, 0, 2, 1,
12841 0,
12842 46,
12843 OPC_MoveChild0,
12844 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12845 OPC_RecordChild0,
12846 OPC_MoveChild1,
12847 OPC_CheckImmAllOnesV,
12848 OPC_MoveParent,
12849 OPC_MoveParent,
12850 OPC_RecordChild1,
12851 OPC_MoveSibling1,
12852 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12853 OPC_Scope, 14,
12854 OPC_CheckChild0Same, 0,
12855 OPC_RecordChild1,
12856 OPC_MoveParent,
12857 OPC_CheckType, MVT::v16i8,
12858 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12859 MVT::v16i8, 3, 2, 1, 0,
12860 14,
12861 OPC_RecordChild0,
12862 OPC_CheckChild1Same, 0,
12863 OPC_MoveParent,
12864 OPC_CheckType, MVT::v16i8,
12865 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12866 MVT::v16i8, 3, 2, 1, 0,
12867 0,
12868 126,
12869 OPC_RecordChild0,
12870 OPC_Scope, 45,
12871 OPC_MoveChild1,
12872 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12873 OPC_RecordChild0,
12874 OPC_MoveChild1,
12875 OPC_CheckImmAllOnesV,
12876 OPC_MoveParent,
12877 OPC_MoveParent,
12878 OPC_MoveSibling1,
12879 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12880 OPC_Scope, 14,
12881 OPC_CheckChild0Same, 1,
12882 OPC_RecordChild1,
12883 OPC_MoveParent,
12884 OPC_CheckType, MVT::v16i8,
12885 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12886 MVT::v16i8, 3, 2, 0, 1,
12887 14,
12888 OPC_RecordChild0,
12889 OPC_CheckChild1Same, 1,
12890 OPC_MoveParent,
12891 OPC_CheckType, MVT::v16i8,
12892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12893 MVT::v16i8, 3, 2, 0, 1,
12894 0,
12895 76,
12896 OPC_RecordChild1,
12897 OPC_MoveSibling1,
12898 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12899 OPC_Scope, 22,
12900 OPC_RecordChild0,
12901 OPC_MoveChild1,
12902 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12903 OPC_CheckChild0Same, 0,
12904 OPC_MoveChild1,
12905 OPC_CheckImmAllOnesV,
12906 OPC_MoveParent,
12907 OPC_MoveParent,
12908 OPC_MoveParent,
12909 OPC_CheckType, MVT::v8i16,
12910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12911 MVT::v8i16, 3, 1, 2, 0,
12912 22,
12913 OPC_MoveChild0,
12914 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12915 OPC_CheckChild0Same, 1,
12916 OPC_MoveChild1,
12917 OPC_CheckImmAllOnesV,
12918 OPC_MoveParent,
12919 OPC_MoveParent,
12920 OPC_RecordChild1,
12921 OPC_MoveParent,
12922 OPC_CheckType, MVT::v8i16,
12923 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12924 MVT::v8i16, 3, 0, 2, 1,
12925 22,
12926 OPC_RecordChild0,
12927 OPC_MoveChild1,
12928 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12929 OPC_CheckChild0Same, 1,
12930 OPC_MoveChild1,
12931 OPC_CheckImmAllOnesV,
12932 OPC_MoveParent,
12933 OPC_MoveParent,
12934 OPC_MoveParent,
12935 OPC_CheckType, MVT::v8i16,
12936 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12937 MVT::v8i16, 3, 0, 2, 1,
12938 0,
12939 0,
12940 46,
12941 OPC_MoveChild0,
12942 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12943 OPC_RecordChild0,
12944 OPC_MoveChild1,
12945 OPC_CheckImmAllOnesV,
12946 OPC_MoveParent,
12947 OPC_MoveParent,
12948 OPC_RecordChild1,
12949 OPC_MoveSibling1,
12950 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12951 OPC_Scope, 14,
12952 OPC_CheckChild0Same, 0,
12953 OPC_RecordChild1,
12954 OPC_MoveParent,
12955 OPC_CheckType, MVT::v8i16,
12956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12957 MVT::v8i16, 3, 2, 1, 0,
12958 14,
12959 OPC_RecordChild0,
12960 OPC_CheckChild1Same, 0,
12961 OPC_MoveParent,
12962 OPC_CheckType, MVT::v8i16,
12963 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12964 MVT::v8i16, 3, 2, 1, 0,
12965 0,
12966 126,
12967 OPC_RecordChild0,
12968 OPC_Scope, 45,
12969 OPC_MoveChild1,
12970 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12971 OPC_RecordChild0,
12972 OPC_MoveChild1,
12973 OPC_CheckImmAllOnesV,
12974 OPC_MoveParent,
12975 OPC_MoveParent,
12976 OPC_MoveSibling1,
12977 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12978 OPC_Scope, 14,
12979 OPC_CheckChild0Same, 1,
12980 OPC_RecordChild1,
12981 OPC_MoveParent,
12982 OPC_CheckType, MVT::v8i16,
12983 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12984 MVT::v8i16, 3, 2, 0, 1,
12985 14,
12986 OPC_RecordChild0,
12987 OPC_CheckChild1Same, 1,
12988 OPC_MoveParent,
12989 OPC_CheckType, MVT::v8i16,
12990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12991 MVT::v8i16, 3, 2, 0, 1,
12992 0,
12993 76,
12994 OPC_RecordChild1,
12995 OPC_MoveSibling1,
12996 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12997 OPC_Scope, 22,
12998 OPC_RecordChild0,
12999 OPC_MoveChild1,
13000 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13001 OPC_CheckChild0Same, 0,
13002 OPC_MoveChild1,
13003 OPC_CheckImmAllOnesV,
13004 OPC_MoveParent,
13005 OPC_MoveParent,
13006 OPC_MoveParent,
13007 OPC_CheckType, MVT::v4i32,
13008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13009 MVT::v4i32, 3, 1, 2, 0,
13010 22,
13011 OPC_MoveChild0,
13012 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13013 OPC_CheckChild0Same, 1,
13014 OPC_MoveChild1,
13015 OPC_CheckImmAllOnesV,
13016 OPC_MoveParent,
13017 OPC_MoveParent,
13018 OPC_RecordChild1,
13019 OPC_MoveParent,
13020 OPC_CheckType, MVT::v4i32,
13021 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13022 MVT::v4i32, 3, 0, 2, 1,
13023 22,
13024 OPC_RecordChild0,
13025 OPC_MoveChild1,
13026 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13027 OPC_CheckChild0Same, 1,
13028 OPC_MoveChild1,
13029 OPC_CheckImmAllOnesV,
13030 OPC_MoveParent,
13031 OPC_MoveParent,
13032 OPC_MoveParent,
13033 OPC_CheckType, MVT::v4i32,
13034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13035 MVT::v4i32, 3, 0, 2, 1,
13036 0,
13037 0,
13038 46,
13039 OPC_MoveChild0,
13040 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13041 OPC_RecordChild0,
13042 OPC_MoveChild1,
13043 OPC_CheckImmAllOnesV,
13044 OPC_MoveParent,
13045 OPC_MoveParent,
13046 OPC_RecordChild1,
13047 OPC_MoveSibling1,
13048 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13049 OPC_Scope, 14,
13050 OPC_CheckChild0Same, 0,
13051 OPC_RecordChild1,
13052 OPC_MoveParent,
13053 OPC_CheckType, MVT::v4i32,
13054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13055 MVT::v4i32, 3, 2, 1, 0,
13056 14,
13057 OPC_RecordChild0,
13058 OPC_CheckChild1Same, 0,
13059 OPC_MoveParent,
13060 OPC_CheckType, MVT::v4i32,
13061 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13062 MVT::v4i32, 3, 2, 1, 0,
13063 0,
13064 126,
13065 OPC_RecordChild0,
13066 OPC_Scope, 45,
13067 OPC_MoveChild1,
13068 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13069 OPC_RecordChild0,
13070 OPC_MoveChild1,
13071 OPC_CheckImmAllOnesV,
13072 OPC_MoveParent,
13073 OPC_MoveParent,
13074 OPC_MoveSibling1,
13075 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13076 OPC_Scope, 14,
13077 OPC_CheckChild0Same, 1,
13078 OPC_RecordChild1,
13079 OPC_MoveParent,
13080 OPC_CheckType, MVT::v4i32,
13081 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13082 MVT::v4i32, 3, 2, 0, 1,
13083 14,
13084 OPC_RecordChild0,
13085 OPC_CheckChild1Same, 1,
13086 OPC_MoveParent,
13087 OPC_CheckType, MVT::v4i32,
13088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13089 MVT::v4i32, 3, 2, 0, 1,
13090 0,
13091 76,
13092 OPC_RecordChild1,
13093 OPC_MoveSibling1,
13094 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13095 OPC_Scope, 22,
13096 OPC_RecordChild0,
13097 OPC_MoveChild1,
13098 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13099 OPC_CheckChild0Same, 0,
13100 OPC_MoveChild1,
13101 OPC_CheckImmAllOnesV,
13102 OPC_MoveParent,
13103 OPC_MoveParent,
13104 OPC_MoveParent,
13105 OPC_CheckType, MVT::v2i64,
13106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13107 MVT::v2i64, 3, 1, 2, 0,
13108 22,
13109 OPC_MoveChild0,
13110 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13111 OPC_CheckChild0Same, 1,
13112 OPC_MoveChild1,
13113 OPC_CheckImmAllOnesV,
13114 OPC_MoveParent,
13115 OPC_MoveParent,
13116 OPC_RecordChild1,
13117 OPC_MoveParent,
13118 OPC_CheckType, MVT::v2i64,
13119 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13120 MVT::v2i64, 3, 0, 2, 1,
13121 22,
13122 OPC_RecordChild0,
13123 OPC_MoveChild1,
13124 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13125 OPC_CheckChild0Same, 1,
13126 OPC_MoveChild1,
13127 OPC_CheckImmAllOnesV,
13128 OPC_MoveParent,
13129 OPC_MoveParent,
13130 OPC_MoveParent,
13131 OPC_CheckType, MVT::v2i64,
13132 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13133 MVT::v2i64, 3, 0, 2, 1,
13134 0,
13135 0,
13136 46,
13137 OPC_MoveChild0,
13138 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13139 OPC_RecordChild0,
13140 OPC_MoveChild1,
13141 OPC_CheckImmAllOnesV,
13142 OPC_MoveParent,
13143 OPC_MoveParent,
13144 OPC_RecordChild1,
13145 OPC_MoveSibling1,
13146 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13147 OPC_Scope, 14,
13148 OPC_CheckChild0Same, 0,
13149 OPC_RecordChild1,
13150 OPC_MoveParent,
13151 OPC_CheckType, MVT::v2i64,
13152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13153 MVT::v2i64, 3, 2, 1, 0,
13154 14,
13155 OPC_RecordChild0,
13156 OPC_CheckChild1Same, 0,
13157 OPC_MoveParent,
13158 OPC_CheckType, MVT::v2i64,
13159 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13160 MVT::v2i64, 3, 2, 1, 0,
13161 0,
13162 46,
13163 OPC_RecordChild0,
13164 OPC_MoveChild1,
13165 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13166 OPC_RecordChild0,
13167 OPC_MoveChild1,
13168 OPC_CheckImmAllOnesV,
13169 OPC_MoveParent,
13170 OPC_MoveParent,
13171 OPC_MoveSibling1,
13172 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13173 OPC_Scope, 14,
13174 OPC_CheckChild0Same, 1,
13175 OPC_RecordChild1,
13176 OPC_MoveParent,
13177 OPC_CheckType, MVT::v2i64,
13178 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13179 MVT::v2i64, 3, 2, 0, 1,
13180 14,
13181 OPC_RecordChild0,
13182 OPC_CheckChild1Same, 1,
13183 OPC_MoveParent,
13184 OPC_CheckType, MVT::v2i64,
13185 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13186 MVT::v2i64, 3, 2, 0, 1,
13187 0,
13188 0,
13189 40,
13190 OPC_RecordChild0,
13191 OPC_RecordChild1,
13192 OPC_SwitchType , 7, MVT::v16i8,
13193 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
13194 MVT::v16i8, 2, 0, 1,
13195 7, MVT::v8i16,
13196 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
13197 MVT::v8i16, 2, 0, 1,
13198 7, MVT::v4i32,
13199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
13200 MVT::v4i32, 2, 0, 1,
13201 7, MVT::v2i64,
13202 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
13203 MVT::v2i64, 2, 0, 1,
13204 0,
13205 0,
13206 121|128,11, TARGET_VAL(ISD::XOR),
13207 OPC_Scope, 22,
13208 OPC_RecordChild0,
13209 OPC_RecordChild1,
13210 OPC_SwitchType , 7, MVT::i32,
13211 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I32),
13212 MVT::i32, 2, 0, 1,
13213 7, MVT::i64,
13214 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I64),
13215 MVT::i64, 2, 0, 1,
13216 0,
13217 121,
13218 OPC_MoveChild0,
13219 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13220 OPC_MoveChild0,
13221 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13222 OPC_RecordChild0,
13223 OPC_Scope, 71,
13224 OPC_RecordChild1,
13225 OPC_MoveSibling1,
13226 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13227 OPC_RecordChild0,
13228 OPC_MoveChild1,
13229 OPC_CheckImmAllOnesV,
13230 OPC_MoveParent,
13231 OPC_MoveParent,
13232 OPC_MoveParent,
13233 OPC_Scope, 44,
13234 OPC_CheckChild1Same, 1,
13235 OPC_SwitchType , 8, MVT::v16i8,
13236 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13237 MVT::v16i8, 3, 1, 0, 2,
13238 8, MVT::v8i16,
13239 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13240 MVT::v8i16, 3, 1, 0, 2,
13241 8, MVT::v4i32,
13242 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13243 MVT::v4i32, 3, 1, 0, 2,
13244 8, MVT::v2i64,
13245 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13246 MVT::v2i64, 3, 1, 0, 2,
13247 0,
13248 12,
13249 OPC_CheckChild1Same, 0,
13250 OPC_CheckType, MVT::v16i8,
13251 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13252 MVT::v16i8, 3, 0, 1, 2,
13253 0,
13254 37,
13255 OPC_MoveChild1,
13256 OPC_CheckImmAllOnesV,
13257 OPC_MoveParent,
13258 OPC_MoveSibling1,
13259 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13260 OPC_RecordChild0,
13261 OPC_RecordChild1,
13262 OPC_MoveParent,
13263 OPC_MoveParent,
13264 OPC_CheckType, MVT::v16i8,
13265 OPC_Scope, 10,
13266 OPC_CheckChild1Same, 2,
13267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13268 MVT::v16i8, 3, 2, 1, 0,
13269 10,
13270 OPC_CheckChild1Same, 1,
13271 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13272 MVT::v16i8, 3, 1, 2, 0,
13273 0,
13274 0,
13275 102,
13276 OPC_RecordChild0,
13277 OPC_MoveChild1,
13278 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13279 OPC_MoveChild0,
13280 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13281 OPC_Scope, 23,
13282 OPC_RecordChild0,
13283 OPC_CheckChild1Same, 0,
13284 OPC_MoveSibling1,
13285 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13286 OPC_RecordChild0,
13287 OPC_MoveChild1,
13288 OPC_CheckImmAllOnesV,
13289 OPC_MoveParent,
13290 OPC_MoveParent,
13291 OPC_MoveParent,
13292 OPC_CheckType, MVT::v16i8,
13293 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13294 MVT::v16i8, 3, 0, 1, 2,
13295 23,
13296 OPC_CheckChild0Same, 0,
13297 OPC_RecordChild1,
13298 OPC_MoveSibling1,
13299 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13300 OPC_RecordChild0,
13301 OPC_MoveChild1,
13302 OPC_CheckImmAllOnesV,
13303 OPC_MoveParent,
13304 OPC_MoveParent,
13305 OPC_MoveParent,
13306 OPC_CheckType, MVT::v16i8,
13307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13308 MVT::v16i8, 3, 0, 1, 2,
13309 42,
13310 OPC_RecordChild0,
13311 OPC_MoveChild1,
13312 OPC_CheckImmAllOnesV,
13313 OPC_MoveParent,
13314 OPC_MoveSibling1,
13315 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13316 OPC_Scope, 15,
13317 OPC_RecordChild0,
13318 OPC_CheckChild1Same, 0,
13319 OPC_MoveParent,
13320 OPC_MoveParent,
13321 OPC_CheckType, MVT::v16i8,
13322 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13323 MVT::v16i8, 3, 0, 2, 1,
13324 15,
13325 OPC_CheckChild0Same, 0,
13326 OPC_RecordChild1,
13327 OPC_MoveParent,
13328 OPC_MoveParent,
13329 OPC_CheckType, MVT::v16i8,
13330 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13331 MVT::v16i8, 3, 0, 2, 1,
13332 0,
13333 0,
13334 73,
13335 OPC_MoveChild0,
13336 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13337 OPC_MoveChild0,
13338 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13339 OPC_RecordChild0,
13340 OPC_Scope, 23,
13341 OPC_RecordChild1,
13342 OPC_MoveSibling1,
13343 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13344 OPC_RecordChild0,
13345 OPC_MoveChild1,
13346 OPC_CheckImmAllOnesV,
13347 OPC_MoveParent,
13348 OPC_MoveParent,
13349 OPC_MoveParent,
13350 OPC_CheckChild1Same, 0,
13351 OPC_CheckType, MVT::v8i16,
13352 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13353 MVT::v8i16, 3, 0, 1, 2,
13354 37,
13355 OPC_MoveChild1,
13356 OPC_CheckImmAllOnesV,
13357 OPC_MoveParent,
13358 OPC_MoveSibling1,
13359 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13360 OPC_RecordChild0,
13361 OPC_RecordChild1,
13362 OPC_MoveParent,
13363 OPC_MoveParent,
13364 OPC_CheckType, MVT::v8i16,
13365 OPC_Scope, 10,
13366 OPC_CheckChild1Same, 2,
13367 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13368 MVT::v8i16, 3, 2, 1, 0,
13369 10,
13370 OPC_CheckChild1Same, 1,
13371 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13372 MVT::v8i16, 3, 1, 2, 0,
13373 0,
13374 0,
13375 102,
13376 OPC_RecordChild0,
13377 OPC_MoveChild1,
13378 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13379 OPC_MoveChild0,
13380 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13381 OPC_Scope, 23,
13382 OPC_RecordChild0,
13383 OPC_CheckChild1Same, 0,
13384 OPC_MoveSibling1,
13385 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13386 OPC_RecordChild0,
13387 OPC_MoveChild1,
13388 OPC_CheckImmAllOnesV,
13389 OPC_MoveParent,
13390 OPC_MoveParent,
13391 OPC_MoveParent,
13392 OPC_CheckType, MVT::v8i16,
13393 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13394 MVT::v8i16, 3, 0, 1, 2,
13395 23,
13396 OPC_CheckChild0Same, 0,
13397 OPC_RecordChild1,
13398 OPC_MoveSibling1,
13399 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13400 OPC_RecordChild0,
13401 OPC_MoveChild1,
13402 OPC_CheckImmAllOnesV,
13403 OPC_MoveParent,
13404 OPC_MoveParent,
13405 OPC_MoveParent,
13406 OPC_CheckType, MVT::v8i16,
13407 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13408 MVT::v8i16, 3, 0, 1, 2,
13409 42,
13410 OPC_RecordChild0,
13411 OPC_MoveChild1,
13412 OPC_CheckImmAllOnesV,
13413 OPC_MoveParent,
13414 OPC_MoveSibling1,
13415 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13416 OPC_Scope, 15,
13417 OPC_RecordChild0,
13418 OPC_CheckChild1Same, 0,
13419 OPC_MoveParent,
13420 OPC_MoveParent,
13421 OPC_CheckType, MVT::v8i16,
13422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13423 MVT::v8i16, 3, 0, 2, 1,
13424 15,
13425 OPC_CheckChild0Same, 0,
13426 OPC_RecordChild1,
13427 OPC_MoveParent,
13428 OPC_MoveParent,
13429 OPC_CheckType, MVT::v8i16,
13430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13431 MVT::v8i16, 3, 0, 2, 1,
13432 0,
13433 0,
13434 73,
13435 OPC_MoveChild0,
13436 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13437 OPC_MoveChild0,
13438 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13439 OPC_RecordChild0,
13440 OPC_Scope, 23,
13441 OPC_RecordChild1,
13442 OPC_MoveSibling1,
13443 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13444 OPC_RecordChild0,
13445 OPC_MoveChild1,
13446 OPC_CheckImmAllOnesV,
13447 OPC_MoveParent,
13448 OPC_MoveParent,
13449 OPC_MoveParent,
13450 OPC_CheckChild1Same, 0,
13451 OPC_CheckType, MVT::v4i32,
13452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13453 MVT::v4i32, 3, 0, 1, 2,
13454 37,
13455 OPC_MoveChild1,
13456 OPC_CheckImmAllOnesV,
13457 OPC_MoveParent,
13458 OPC_MoveSibling1,
13459 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13460 OPC_RecordChild0,
13461 OPC_RecordChild1,
13462 OPC_MoveParent,
13463 OPC_MoveParent,
13464 OPC_CheckType, MVT::v4i32,
13465 OPC_Scope, 10,
13466 OPC_CheckChild1Same, 2,
13467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13468 MVT::v4i32, 3, 2, 1, 0,
13469 10,
13470 OPC_CheckChild1Same, 1,
13471 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13472 MVT::v4i32, 3, 1, 2, 0,
13473 0,
13474 0,
13475 102,
13476 OPC_RecordChild0,
13477 OPC_MoveChild1,
13478 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13479 OPC_MoveChild0,
13480 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13481 OPC_Scope, 23,
13482 OPC_RecordChild0,
13483 OPC_CheckChild1Same, 0,
13484 OPC_MoveSibling1,
13485 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13486 OPC_RecordChild0,
13487 OPC_MoveChild1,
13488 OPC_CheckImmAllOnesV,
13489 OPC_MoveParent,
13490 OPC_MoveParent,
13491 OPC_MoveParent,
13492 OPC_CheckType, MVT::v4i32,
13493 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13494 MVT::v4i32, 3, 0, 1, 2,
13495 23,
13496 OPC_CheckChild0Same, 0,
13497 OPC_RecordChild1,
13498 OPC_MoveSibling1,
13499 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13500 OPC_RecordChild0,
13501 OPC_MoveChild1,
13502 OPC_CheckImmAllOnesV,
13503 OPC_MoveParent,
13504 OPC_MoveParent,
13505 OPC_MoveParent,
13506 OPC_CheckType, MVT::v4i32,
13507 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13508 MVT::v4i32, 3, 0, 1, 2,
13509 42,
13510 OPC_RecordChild0,
13511 OPC_MoveChild1,
13512 OPC_CheckImmAllOnesV,
13513 OPC_MoveParent,
13514 OPC_MoveSibling1,
13515 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13516 OPC_Scope, 15,
13517 OPC_RecordChild0,
13518 OPC_CheckChild1Same, 0,
13519 OPC_MoveParent,
13520 OPC_MoveParent,
13521 OPC_CheckType, MVT::v4i32,
13522 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13523 MVT::v4i32, 3, 0, 2, 1,
13524 15,
13525 OPC_CheckChild0Same, 0,
13526 OPC_RecordChild1,
13527 OPC_MoveParent,
13528 OPC_MoveParent,
13529 OPC_CheckType, MVT::v4i32,
13530 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13531 MVT::v4i32, 3, 0, 2, 1,
13532 0,
13533 0,
13534 73,
13535 OPC_MoveChild0,
13536 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13537 OPC_MoveChild0,
13538 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13539 OPC_RecordChild0,
13540 OPC_Scope, 23,
13541 OPC_RecordChild1,
13542 OPC_MoveSibling1,
13543 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13544 OPC_RecordChild0,
13545 OPC_MoveChild1,
13546 OPC_CheckImmAllOnesV,
13547 OPC_MoveParent,
13548 OPC_MoveParent,
13549 OPC_MoveParent,
13550 OPC_CheckChild1Same, 0,
13551 OPC_CheckType, MVT::v2i64,
13552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13553 MVT::v2i64, 3, 0, 1, 2,
13554 37,
13555 OPC_MoveChild1,
13556 OPC_CheckImmAllOnesV,
13557 OPC_MoveParent,
13558 OPC_MoveSibling1,
13559 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13560 OPC_RecordChild0,
13561 OPC_RecordChild1,
13562 OPC_MoveParent,
13563 OPC_MoveParent,
13564 OPC_CheckType, MVT::v2i64,
13565 OPC_Scope, 10,
13566 OPC_CheckChild1Same, 2,
13567 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13568 MVT::v2i64, 3, 2, 1, 0,
13569 10,
13570 OPC_CheckChild1Same, 1,
13571 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13572 MVT::v2i64, 3, 1, 2, 0,
13573 0,
13574 0,
13575 102,
13576 OPC_RecordChild0,
13577 OPC_MoveChild1,
13578 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13579 OPC_MoveChild0,
13580 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13581 OPC_Scope, 23,
13582 OPC_RecordChild0,
13583 OPC_CheckChild1Same, 0,
13584 OPC_MoveSibling1,
13585 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13586 OPC_RecordChild0,
13587 OPC_MoveChild1,
13588 OPC_CheckImmAllOnesV,
13589 OPC_MoveParent,
13590 OPC_MoveParent,
13591 OPC_MoveParent,
13592 OPC_CheckType, MVT::v2i64,
13593 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13594 MVT::v2i64, 3, 0, 1, 2,
13595 23,
13596 OPC_CheckChild0Same, 0,
13597 OPC_RecordChild1,
13598 OPC_MoveSibling1,
13599 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13600 OPC_RecordChild0,
13601 OPC_MoveChild1,
13602 OPC_CheckImmAllOnesV,
13603 OPC_MoveParent,
13604 OPC_MoveParent,
13605 OPC_MoveParent,
13606 OPC_CheckType, MVT::v2i64,
13607 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13608 MVT::v2i64, 3, 0, 1, 2,
13609 42,
13610 OPC_RecordChild0,
13611 OPC_MoveChild1,
13612 OPC_CheckImmAllOnesV,
13613 OPC_MoveParent,
13614 OPC_MoveSibling1,
13615 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13616 OPC_Scope, 15,
13617 OPC_RecordChild0,
13618 OPC_CheckChild1Same, 0,
13619 OPC_MoveParent,
13620 OPC_MoveParent,
13621 OPC_CheckType, MVT::v2i64,
13622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13623 MVT::v2i64, 3, 0, 2, 1,
13624 15,
13625 OPC_CheckChild0Same, 0,
13626 OPC_RecordChild1,
13627 OPC_MoveParent,
13628 OPC_MoveParent,
13629 OPC_CheckType, MVT::v2i64,
13630 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13631 MVT::v2i64, 3, 0, 2, 1,
13632 0,
13633 0,
13634 112,
13635 OPC_MoveChild0,
13636 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13637 OPC_Scope, 69,
13638 OPC_MoveChild0,
13639 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13640 OPC_RecordChild0,
13641 OPC_RecordChild1,
13642 OPC_MoveParent,
13643 OPC_RecordChild1,
13644 OPC_MoveParent,
13645 OPC_Scope, 44,
13646 OPC_CheckChild1Same, 1,
13647 OPC_SwitchType , 8, MVT::v16i8,
13648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13649 MVT::v16i8, 3, 0, 1, 2,
13650 8, MVT::v8i16,
13651 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13652 MVT::v8i16, 3, 0, 1, 2,
13653 8, MVT::v4i32,
13654 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13655 MVT::v4i32, 3, 0, 1, 2,
13656 8, MVT::v2i64,
13657 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13658 MVT::v2i64, 3, 0, 1, 2,
13659 0,
13660 12,
13661 OPC_CheckChild1Same, 0,
13662 OPC_CheckType, MVT::v16i8,
13663 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13664 MVT::v16i8, 3, 1, 0, 2,
13665 0,
13666 35,
13667 OPC_RecordChild0,
13668 OPC_MoveChild1,
13669 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13670 OPC_RecordChild0,
13671 OPC_RecordChild1,
13672 OPC_MoveParent,
13673 OPC_MoveParent,
13674 OPC_CheckType, MVT::v16i8,
13675 OPC_Scope, 10,
13676 OPC_CheckChild1Same, 2,
13677 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13678 MVT::v16i8, 3, 1, 2, 0,
13679 10,
13680 OPC_CheckChild1Same, 1,
13681 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13682 MVT::v16i8, 3, 2, 1, 0,
13683 0,
13684 0,
13685 88,
13686 OPC_RecordChild0,
13687 OPC_MoveChild1,
13688 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13689 OPC_Scope, 40,
13690 OPC_MoveChild0,
13691 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13692 OPC_Scope, 16,
13693 OPC_RecordChild0,
13694 OPC_CheckChild1Same, 0,
13695 OPC_MoveParent,
13696 OPC_RecordChild1,
13697 OPC_MoveParent,
13698 OPC_CheckType, MVT::v16i8,
13699 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13700 MVT::v16i8, 3, 1, 0, 2,
13701 16,
13702 OPC_CheckChild0Same, 0,
13703 OPC_RecordChild1,
13704 OPC_MoveParent,
13705 OPC_RecordChild1,
13706 OPC_MoveParent,
13707 OPC_CheckType, MVT::v16i8,
13708 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13709 MVT::v16i8, 3, 1, 0, 2,
13710 0,
13711 39,
13712 OPC_RecordChild0,
13713 OPC_MoveChild1,
13714 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13715 OPC_Scope, 15,
13716 OPC_RecordChild0,
13717 OPC_CheckChild1Same, 0,
13718 OPC_MoveParent,
13719 OPC_MoveParent,
13720 OPC_CheckType, MVT::v16i8,
13721 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13722 MVT::v16i8, 3, 2, 0, 1,
13723 15,
13724 OPC_CheckChild0Same, 0,
13725 OPC_RecordChild1,
13726 OPC_MoveParent,
13727 OPC_MoveParent,
13728 OPC_CheckType, MVT::v16i8,
13729 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13730 MVT::v16i8, 3, 2, 0, 1,
13731 0,
13732 0,
13733 64,
13734 OPC_MoveChild0,
13735 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13736 OPC_Scope, 21,
13737 OPC_MoveChild0,
13738 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13739 OPC_RecordChild0,
13740 OPC_RecordChild1,
13741 OPC_MoveParent,
13742 OPC_RecordChild1,
13743 OPC_MoveParent,
13744 OPC_CheckChild1Same, 0,
13745 OPC_CheckType, MVT::v8i16,
13746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13747 MVT::v8i16, 3, 1, 0, 2,
13748 35,
13749 OPC_RecordChild0,
13750 OPC_MoveChild1,
13751 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13752 OPC_RecordChild0,
13753 OPC_RecordChild1,
13754 OPC_MoveParent,
13755 OPC_MoveParent,
13756 OPC_CheckType, MVT::v8i16,
13757 OPC_Scope, 10,
13758 OPC_CheckChild1Same, 2,
13759 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13760 MVT::v8i16, 3, 1, 2, 0,
13761 10,
13762 OPC_CheckChild1Same, 1,
13763 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13764 MVT::v8i16, 3, 2, 1, 0,
13765 0,
13766 0,
13767 88,
13768 OPC_RecordChild0,
13769 OPC_MoveChild1,
13770 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13771 OPC_Scope, 40,
13772 OPC_MoveChild0,
13773 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13774 OPC_Scope, 16,
13775 OPC_RecordChild0,
13776 OPC_CheckChild1Same, 0,
13777 OPC_MoveParent,
13778 OPC_RecordChild1,
13779 OPC_MoveParent,
13780 OPC_CheckType, MVT::v8i16,
13781 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13782 MVT::v8i16, 3, 1, 0, 2,
13783 16,
13784 OPC_CheckChild0Same, 0,
13785 OPC_RecordChild1,
13786 OPC_MoveParent,
13787 OPC_RecordChild1,
13788 OPC_MoveParent,
13789 OPC_CheckType, MVT::v8i16,
13790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13791 MVT::v8i16, 3, 1, 0, 2,
13792 0,
13793 39,
13794 OPC_RecordChild0,
13795 OPC_MoveChild1,
13796 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13797 OPC_Scope, 15,
13798 OPC_RecordChild0,
13799 OPC_CheckChild1Same, 0,
13800 OPC_MoveParent,
13801 OPC_MoveParent,
13802 OPC_CheckType, MVT::v8i16,
13803 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13804 MVT::v8i16, 3, 2, 0, 1,
13805 15,
13806 OPC_CheckChild0Same, 0,
13807 OPC_RecordChild1,
13808 OPC_MoveParent,
13809 OPC_MoveParent,
13810 OPC_CheckType, MVT::v8i16,
13811 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13812 MVT::v8i16, 3, 2, 0, 1,
13813 0,
13814 0,
13815 64,
13816 OPC_MoveChild0,
13817 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13818 OPC_Scope, 21,
13819 OPC_MoveChild0,
13820 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13821 OPC_RecordChild0,
13822 OPC_RecordChild1,
13823 OPC_MoveParent,
13824 OPC_RecordChild1,
13825 OPC_MoveParent,
13826 OPC_CheckChild1Same, 0,
13827 OPC_CheckType, MVT::v4i32,
13828 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13829 MVT::v4i32, 3, 1, 0, 2,
13830 35,
13831 OPC_RecordChild0,
13832 OPC_MoveChild1,
13833 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13834 OPC_RecordChild0,
13835 OPC_RecordChild1,
13836 OPC_MoveParent,
13837 OPC_MoveParent,
13838 OPC_CheckType, MVT::v4i32,
13839 OPC_Scope, 10,
13840 OPC_CheckChild1Same, 2,
13841 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13842 MVT::v4i32, 3, 1, 2, 0,
13843 10,
13844 OPC_CheckChild1Same, 1,
13845 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13846 MVT::v4i32, 3, 2, 1, 0,
13847 0,
13848 0,
13849 88,
13850 OPC_RecordChild0,
13851 OPC_MoveChild1,
13852 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13853 OPC_Scope, 40,
13854 OPC_MoveChild0,
13855 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13856 OPC_Scope, 16,
13857 OPC_RecordChild0,
13858 OPC_CheckChild1Same, 0,
13859 OPC_MoveParent,
13860 OPC_RecordChild1,
13861 OPC_MoveParent,
13862 OPC_CheckType, MVT::v4i32,
13863 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13864 MVT::v4i32, 3, 1, 0, 2,
13865 16,
13866 OPC_CheckChild0Same, 0,
13867 OPC_RecordChild1,
13868 OPC_MoveParent,
13869 OPC_RecordChild1,
13870 OPC_MoveParent,
13871 OPC_CheckType, MVT::v4i32,
13872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13873 MVT::v4i32, 3, 1, 0, 2,
13874 0,
13875 39,
13876 OPC_RecordChild0,
13877 OPC_MoveChild1,
13878 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13879 OPC_Scope, 15,
13880 OPC_RecordChild0,
13881 OPC_CheckChild1Same, 0,
13882 OPC_MoveParent,
13883 OPC_MoveParent,
13884 OPC_CheckType, MVT::v4i32,
13885 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13886 MVT::v4i32, 3, 2, 0, 1,
13887 15,
13888 OPC_CheckChild0Same, 0,
13889 OPC_RecordChild1,
13890 OPC_MoveParent,
13891 OPC_MoveParent,
13892 OPC_CheckType, MVT::v4i32,
13893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13894 MVT::v4i32, 3, 2, 0, 1,
13895 0,
13896 0,
13897 64,
13898 OPC_MoveChild0,
13899 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13900 OPC_Scope, 21,
13901 OPC_MoveChild0,
13902 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13903 OPC_RecordChild0,
13904 OPC_RecordChild1,
13905 OPC_MoveParent,
13906 OPC_RecordChild1,
13907 OPC_MoveParent,
13908 OPC_CheckChild1Same, 0,
13909 OPC_CheckType, MVT::v2i64,
13910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13911 MVT::v2i64, 3, 1, 0, 2,
13912 35,
13913 OPC_RecordChild0,
13914 OPC_MoveChild1,
13915 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13916 OPC_RecordChild0,
13917 OPC_RecordChild1,
13918 OPC_MoveParent,
13919 OPC_MoveParent,
13920 OPC_CheckType, MVT::v2i64,
13921 OPC_Scope, 10,
13922 OPC_CheckChild1Same, 2,
13923 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13924 MVT::v2i64, 3, 1, 2, 0,
13925 10,
13926 OPC_CheckChild1Same, 1,
13927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13928 MVT::v2i64, 3, 2, 1, 0,
13929 0,
13930 0,
13931 43|128,1,
13932 OPC_RecordChild0,
13933 OPC_Scope, 127,
13934 OPC_MoveChild1,
13935 OPC_Scope, 86,
13936 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13937 OPC_Scope, 40,
13938 OPC_MoveChild0,
13939 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13940 OPC_Scope, 16,
13941 OPC_RecordChild0,
13942 OPC_CheckChild1Same, 0,
13943 OPC_MoveParent,
13944 OPC_RecordChild1,
13945 OPC_MoveParent,
13946 OPC_CheckType, MVT::v2i64,
13947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13948 MVT::v2i64, 3, 1, 0, 2,
13949 16,
13950 OPC_CheckChild0Same, 0,
13951 OPC_RecordChild1,
13952 OPC_MoveParent,
13953 OPC_RecordChild1,
13954 OPC_MoveParent,
13955 OPC_CheckType, MVT::v2i64,
13956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13957 MVT::v2i64, 3, 1, 0, 2,
13958 0,
13959 39,
13960 OPC_RecordChild0,
13961 OPC_MoveChild1,
13962 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
13963 OPC_Scope, 15,
13964 OPC_RecordChild0,
13965 OPC_CheckChild1Same, 0,
13966 OPC_MoveParent,
13967 OPC_MoveParent,
13968 OPC_CheckType, MVT::v2i64,
13969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13970 MVT::v2i64, 3, 2, 0, 1,
13971 15,
13972 OPC_CheckChild0Same, 0,
13973 OPC_RecordChild1,
13974 OPC_MoveParent,
13975 OPC_MoveParent,
13976 OPC_CheckType, MVT::v2i64,
13977 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
13978 MVT::v2i64, 3, 2, 0, 1,
13979 0,
13980 0,
13981 36,
13982 OPC_CheckImmAllOnesV,
13983 OPC_MoveParent,
13984 OPC_SwitchType , 6, MVT::v16i8,
13985 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
13986 MVT::v16i8, 1, 0,
13987 6, MVT::v8i16,
13988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
13989 MVT::v8i16, 1, 0,
13990 6, MVT::v4i32,
13991 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
13992 MVT::v4i32, 1, 0,
13993 6, MVT::v2i64,
13994 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
13995 MVT::v2i64, 1, 0,
13996 0,
13997 0,
13998 39,
13999 OPC_RecordChild1,
14000 OPC_SwitchType , 7, MVT::v16i8,
14001 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
14002 MVT::v16i8, 2, 0, 1,
14003 7, MVT::v8i16,
14004 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
14005 MVT::v8i16, 2, 0, 1,
14006 7, MVT::v4i32,
14007 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
14008 MVT::v4i32, 2, 0, 1,
14009 7, MVT::v2i64,
14010 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
14011 MVT::v2i64, 2, 0, 1,
14012 0,
14013 0,
14014 0,
14015 21, TARGET_VAL(ISD::CTLZ),
14016 OPC_RecordChild0,
14017 OPC_SwitchType , 7, MVT::i32,
14018 OPC_CheckChild0TypeI32,
14019 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I32),
14020 MVT::i32, 1, 0,
14021 7, MVT::i64,
14022 OPC_CheckChild0TypeI64,
14023 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I64),
14024 MVT::i64, 1, 0,
14025 0,
14026 21, TARGET_VAL(ISD::CTTZ),
14027 OPC_RecordChild0,
14028 OPC_SwitchType , 7, MVT::i32,
14029 OPC_CheckChild0TypeI32,
14030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I32),
14031 MVT::i32, 1, 0,
14032 7, MVT::i64,
14033 OPC_CheckChild0TypeI64,
14034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I64),
14035 MVT::i64, 1, 0,
14036 0,
14037 30, TARGET_VAL(ISD::CTPOP),
14038 OPC_RecordChild0,
14039 OPC_SwitchType , 7, MVT::i32,
14040 OPC_CheckChild0TypeI32,
14041 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I32),
14042 MVT::i32, 1, 0,
14043 7, MVT::i64,
14044 OPC_CheckChild0TypeI64,
14045 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I64),
14046 MVT::i64, 1, 0,
14047 7, MVT::v16i8,
14048 OPC_CheckPatternPredicate0,
14049 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I8x16),
14050 MVT::v16i8, 1, 0,
14051 0,
14052 22, TARGET_VAL(WebAssemblyISD::I64_ADD128),
14053 OPC_RecordChild0,
14054 OPC_CheckChild0TypeI64,
14055 OPC_RecordChild1,
14056 OPC_CheckChild1TypeI64,
14057 OPC_RecordChild2,
14058 OPC_CheckChild2TypeI64,
14059 OPC_RecordChild3,
14060 OPC_CheckChild3TypeI64,
14061 OPC_CheckTypeI64,
14062 OPC_CheckTypeRes, 1, MVT::i64,
14063 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_ADD128),
14064 MVT::i64, MVT::i64, 4, 0, 1, 2, 3,
14065 22, TARGET_VAL(WebAssemblyISD::I64_SUB128),
14066 OPC_RecordChild0,
14067 OPC_CheckChild0TypeI64,
14068 OPC_RecordChild1,
14069 OPC_CheckChild1TypeI64,
14070 OPC_RecordChild2,
14071 OPC_CheckChild2TypeI64,
14072 OPC_RecordChild3,
14073 OPC_CheckChild3TypeI64,
14074 OPC_CheckTypeI64,
14075 OPC_CheckTypeRes, 1, MVT::i64,
14076 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_SUB128),
14077 MVT::i64, MVT::i64, 4, 0, 1, 2, 3,
14078 16, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_S),
14079 OPC_RecordChild0,
14080 OPC_CheckChild0TypeI64,
14081 OPC_RecordChild1,
14082 OPC_CheckChild1TypeI64,
14083 OPC_CheckTypeI64,
14084 OPC_CheckTypeRes, 1, MVT::i64,
14085 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_S),
14086 MVT::i64, MVT::i64, 2, 0, 1,
14087 16, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_U),
14088 OPC_RecordChild0,
14089 OPC_CheckChild0TypeI64,
14090 OPC_RecordChild1,
14091 OPC_CheckChild1TypeI64,
14092 OPC_CheckTypeI64,
14093 OPC_CheckTypeRes, 1, MVT::i64,
14094 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_U),
14095 MVT::i64, MVT::i64, 2, 0, 1,
14096 21, TARGET_VAL(ISD::ConstantFP),
14097 OPC_RecordNode,
14098 OPC_SwitchType , 7, MVT::f32,
14099 OPC_EmitConvertToTarget0,
14100 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F32),
14101 MVT::f32, 1, 1,
14102 7, MVT::f64,
14103 OPC_EmitConvertToTarget0,
14104 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F64),
14105 MVT::f64, 1, 1,
14106 0,
14107 65, TARGET_VAL(ISD::SINT_TO_FP),
14108 OPC_RecordChild0,
14109 OPC_Scope, 19,
14110 OPC_CheckChild0TypeI32,
14111 OPC_SwitchType , 6, MVT::f32,
14112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32),
14113 MVT::f32, 1, 0,
14114 6, MVT::f64,
14115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32),
14116 MVT::f64, 1, 0,
14117 0,
14118 19,
14119 OPC_CheckChild0TypeI64,
14120 OPC_SwitchType , 6, MVT::f32,
14121 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64),
14122 MVT::f32, 1, 0,
14123 6, MVT::f64,
14124 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64),
14125 MVT::f64, 1, 0,
14126 0,
14127 11,
14128 OPC_CheckType, 6|128,1,
14129 OPC_CheckPatternPredicate0,
14130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F32x4),
14131 6|128,1, 1, 0,
14132 9,
14133 OPC_CheckType, MVT::v8f16,
14134 OPC_CheckPatternPredicate6,
14135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F16x8),
14136 MVT::v8f16, 1, 0,
14137 0,
14138 65, TARGET_VAL(ISD::UINT_TO_FP),
14139 OPC_RecordChild0,
14140 OPC_Scope, 19,
14141 OPC_CheckChild0TypeI32,
14142 OPC_SwitchType , 6, MVT::f32,
14143 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32),
14144 MVT::f32, 1, 0,
14145 6, MVT::f64,
14146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32),
14147 MVT::f64, 1, 0,
14148 0,
14149 19,
14150 OPC_CheckChild0TypeI64,
14151 OPC_SwitchType , 6, MVT::f32,
14152 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64),
14153 MVT::f32, 1, 0,
14154 6, MVT::f64,
14155 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64),
14156 MVT::f64, 1, 0,
14157 0,
14158 11,
14159 OPC_CheckType, 6|128,1,
14160 OPC_CheckPatternPredicate0,
14161 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F32x4),
14162 6|128,1, 1, 0,
14163 9,
14164 OPC_CheckType, MVT::v8f16,
14165 OPC_CheckPatternPredicate6,
14166 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F16x8),
14167 MVT::v8f16, 1, 0,
14168 0,
14169 7, TARGET_VAL(ISD::FP_EXTEND),
14170 OPC_RecordChild0,
14171 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
14172 MVT::f64, 1, 0,
14173 7, TARGET_VAL(ISD::FP_ROUND),
14174 OPC_RecordChild0,
14175 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
14176 MVT::f32, 1, 0,
14177 20|128,1, TARGET_VAL(ISD::FADD),
14178 OPC_Scope, 22,
14179 OPC_RecordChild0,
14180 OPC_RecordChild1,
14181 OPC_SwitchType , 7, MVT::f32,
14182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32),
14183 MVT::f32, 2, 0, 1,
14184 7, MVT::f64,
14185 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64),
14186 MVT::f64, 2, 0, 1,
14187 0,
14188 40,
14189 OPC_MoveChild0,
14190 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
14191 OPC_RecordChild0,
14192 OPC_RecordChild1,
14193 OPC_CheckPredicate, 25,
14194 OPC_MoveParent,
14195 OPC_RecordChild1,
14196 OPC_CheckPredicate, 25,
14197 OPC_SwitchType , 10, 6|128,1,
14198 OPC_CheckPatternPredicate5,
14199 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
14200 6|128,1, 3, 0, 1, 2,
14201 10, 24|128,1,
14202 OPC_CheckPatternPredicate5,
14203 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
14204 24|128,1, 3, 0, 1, 2,
14205 0,
14206 81,
14207 OPC_RecordChild0,
14208 OPC_Scope, 39,
14209 OPC_MoveChild1,
14210 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
14211 OPC_RecordChild0,
14212 OPC_RecordChild1,
14213 OPC_CheckPredicate, 25,
14214 OPC_MoveParent,
14215 OPC_CheckPredicate, 25,
14216 OPC_SwitchType , 10, 6|128,1,
14217 OPC_CheckPatternPredicate5,
14218 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
14219 6|128,1, 3, 1, 2, 0,
14220 10, 24|128,1,
14221 OPC_CheckPatternPredicate5,
14222 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
14223 24|128,1, 3, 1, 2, 0,
14224 0,
14225 37,
14226 OPC_RecordChild1,
14227 OPC_SwitchType , 9, 6|128,1,
14228 OPC_CheckPatternPredicate0,
14229 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32x4),
14230 6|128,1, 2, 0, 1,
14231 9, 24|128,1,
14232 OPC_CheckPatternPredicate0,
14233 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64x2),
14234 24|128,1, 2, 0, 1,
14235 8, MVT::v8f16,
14236 OPC_CheckPatternPredicate6,
14237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F16x8),
14238 MVT::v8f16, 2, 0, 1,
14239 0,
14240 0,
14241 0,
14242 103, TARGET_VAL(ISD::FSUB),
14243 OPC_RecordChild0,
14244 OPC_Scope, 21,
14245 OPC_RecordChild1,
14246 OPC_SwitchType , 7, MVT::f32,
14247 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32),
14248 MVT::f32, 2, 0, 1,
14249 7, MVT::f64,
14250 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64),
14251 MVT::f64, 2, 0, 1,
14252 0,
14253 39,
14254 OPC_MoveChild1,
14255 OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
14256 OPC_RecordChild0,
14257 OPC_RecordChild1,
14258 OPC_CheckPredicate, 25,
14259 OPC_MoveParent,
14260 OPC_CheckPredicate, 25,
14261 OPC_SwitchType , 10, 6|128,1,
14262 OPC_CheckPatternPredicate5,
14263 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
14264 6|128,1, 3, 1, 2, 0,
14265 10, 24|128,1,
14266 OPC_CheckPatternPredicate5,
14267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
14268 24|128,1, 3, 1, 2, 0,
14269 0,
14270 37,
14271 OPC_RecordChild1,
14272 OPC_SwitchType , 9, 6|128,1,
14273 OPC_CheckPatternPredicate0,
14274 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32x4),
14275 6|128,1, 2, 0, 1,
14276 9, 24|128,1,
14277 OPC_CheckPatternPredicate0,
14278 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64x2),
14279 24|128,1, 2, 0, 1,
14280 8, MVT::v8f16,
14281 OPC_CheckPatternPredicate6,
14282 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F16x8),
14283 MVT::v8f16, 2, 0, 1,
14284 0,
14285 0,
14286 56, TARGET_VAL(ISD::FMUL),
14287 OPC_RecordChild0,
14288 OPC_RecordChild1,
14289 OPC_SwitchType , 7, MVT::f32,
14290 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32),
14291 MVT::f32, 2, 0, 1,
14292 7, MVT::f64,
14293 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64),
14294 MVT::f64, 2, 0, 1,
14295 9, 6|128,1,
14296 OPC_CheckPatternPredicate0,
14297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32x4),
14298 6|128,1, 2, 0, 1,
14299 9, 24|128,1,
14300 OPC_CheckPatternPredicate0,
14301 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64x2),
14302 24|128,1, 2, 0, 1,
14303 8, MVT::v8f16,
14304 OPC_CheckPatternPredicate6,
14305 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F16x8),
14306 MVT::v8f16, 2, 0, 1,
14307 0,
14308 56, TARGET_VAL(ISD::FDIV),
14309 OPC_RecordChild0,
14310 OPC_RecordChild1,
14311 OPC_SwitchType , 7, MVT::f32,
14312 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32),
14313 MVT::f32, 2, 0, 1,
14314 7, MVT::f64,
14315 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64),
14316 MVT::f64, 2, 0, 1,
14317 9, 6|128,1,
14318 OPC_CheckPatternPredicate0,
14319 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32x4),
14320 6|128,1, 2, 0, 1,
14321 9, 24|128,1,
14322 OPC_CheckPatternPredicate0,
14323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64x2),
14324 24|128,1, 2, 0, 1,
14325 8, MVT::v8f16,
14326 OPC_CheckPatternPredicate6,
14327 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F16x8),
14328 MVT::v8f16, 2, 0, 1,
14329 0,
14330 50, TARGET_VAL(ISD::FSQRT),
14331 OPC_RecordChild0,
14332 OPC_SwitchType , 6, MVT::f32,
14333 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32),
14334 MVT::f32, 1, 0,
14335 6, MVT::f64,
14336 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64),
14337 MVT::f64, 1, 0,
14338 8, 6|128,1,
14339 OPC_CheckPatternPredicate0,
14340 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32x4),
14341 6|128,1, 1, 0,
14342 8, 24|128,1,
14343 OPC_CheckPatternPredicate0,
14344 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64x2),
14345 24|128,1, 1, 0,
14346 7, MVT::v8f16,
14347 OPC_CheckPatternPredicate6,
14348 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F16x8),
14349 MVT::v8f16, 1, 0,
14350 0,
14351 50, TARGET_VAL(ISD::FABS),
14352 OPC_RecordChild0,
14353 OPC_SwitchType , 6, MVT::f32,
14354 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32),
14355 MVT::f32, 1, 0,
14356 6, MVT::f64,
14357 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64),
14358 MVT::f64, 1, 0,
14359 8, 6|128,1,
14360 OPC_CheckPatternPredicate0,
14361 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32x4),
14362 6|128,1, 1, 0,
14363 8, 24|128,1,
14364 OPC_CheckPatternPredicate0,
14365 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64x2),
14366 24|128,1, 1, 0,
14367 7, MVT::v8f16,
14368 OPC_CheckPatternPredicate6,
14369 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F16x8),
14370 MVT::v8f16, 1, 0,
14371 0,
14372 50, TARGET_VAL(ISD::FNEG),
14373 OPC_RecordChild0,
14374 OPC_SwitchType , 6, MVT::f32,
14375 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32),
14376 MVT::f32, 1, 0,
14377 6, MVT::f64,
14378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64),
14379 MVT::f64, 1, 0,
14380 8, 6|128,1,
14381 OPC_CheckPatternPredicate0,
14382 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32x4),
14383 6|128,1, 1, 0,
14384 8, 24|128,1,
14385 OPC_CheckPatternPredicate0,
14386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64x2),
14387 24|128,1, 1, 0,
14388 7, MVT::v8f16,
14389 OPC_CheckPatternPredicate6,
14390 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F16x8),
14391 MVT::v8f16, 1, 0,
14392 0,
14393 62, TARGET_VAL(ISD::FCOPYSIGN),
14394 OPC_RecordChild0,
14395 OPC_RecordChild1,
14396 OPC_Scope, 28,
14397 OPC_CheckChild1Type, MVT::f32,
14398 OPC_SwitchType , 7, MVT::f32,
14399 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
14400 MVT::f32, 2, 0, 1,
14401 13, MVT::f64,
14402 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
14403 MVT::f64, 1, 1,
14404 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
14405 MVT::f64, 2, 0, 2,
14406 0,
14407 28,
14408 OPC_CheckChild1Type, MVT::f64,
14409 OPC_SwitchType , 7, MVT::f64,
14410 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
14411 MVT::f64, 2, 0, 1,
14412 13, MVT::f32,
14413 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
14414 MVT::f32, 1, 1,
14415 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
14416 MVT::f32, 2, 0, 2,
14417 0,
14418 0,
14419 56, TARGET_VAL(ISD::FMINIMUM),
14420 OPC_RecordChild0,
14421 OPC_RecordChild1,
14422 OPC_SwitchType , 7, MVT::f32,
14423 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32),
14424 MVT::f32, 2, 0, 1,
14425 7, MVT::f64,
14426 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64),
14427 MVT::f64, 2, 0, 1,
14428 9, 6|128,1,
14429 OPC_CheckPatternPredicate0,
14430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32x4),
14431 6|128,1, 2, 0, 1,
14432 9, 24|128,1,
14433 OPC_CheckPatternPredicate0,
14434 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64x2),
14435 24|128,1, 2, 0, 1,
14436 8, MVT::v8f16,
14437 OPC_CheckPatternPredicate6,
14438 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F16x8),
14439 MVT::v8f16, 2, 0, 1,
14440 0,
14441 56, TARGET_VAL(ISD::FMAXIMUM),
14442 OPC_RecordChild0,
14443 OPC_RecordChild1,
14444 OPC_SwitchType , 7, MVT::f32,
14445 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32),
14446 MVT::f32, 2, 0, 1,
14447 7, MVT::f64,
14448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64),
14449 MVT::f64, 2, 0, 1,
14450 9, 6|128,1,
14451 OPC_CheckPatternPredicate0,
14452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32x4),
14453 6|128,1, 2, 0, 1,
14454 9, 24|128,1,
14455 OPC_CheckPatternPredicate0,
14456 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64x2),
14457 24|128,1, 2, 0, 1,
14458 8, MVT::v8f16,
14459 OPC_CheckPatternPredicate6,
14460 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F16x8),
14461 MVT::v8f16, 2, 0, 1,
14462 0,
14463 50, TARGET_VAL(ISD::FCEIL),
14464 OPC_RecordChild0,
14465 OPC_SwitchType , 6, MVT::f32,
14466 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32),
14467 MVT::f32, 1, 0,
14468 6, MVT::f64,
14469 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64),
14470 MVT::f64, 1, 0,
14471 8, 6|128,1,
14472 OPC_CheckPatternPredicate0,
14473 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32x4),
14474 6|128,1, 1, 0,
14475 8, 24|128,1,
14476 OPC_CheckPatternPredicate0,
14477 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64x2),
14478 24|128,1, 1, 0,
14479 7, MVT::v8f16,
14480 OPC_CheckPatternPredicate6,
14481 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F16x8),
14482 MVT::v8f16, 1, 0,
14483 0,
14484 50, TARGET_VAL(ISD::FFLOOR),
14485 OPC_RecordChild0,
14486 OPC_SwitchType , 6, MVT::f32,
14487 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32),
14488 MVT::f32, 1, 0,
14489 6, MVT::f64,
14490 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64),
14491 MVT::f64, 1, 0,
14492 8, 6|128,1,
14493 OPC_CheckPatternPredicate0,
14494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32x4),
14495 6|128,1, 1, 0,
14496 8, 24|128,1,
14497 OPC_CheckPatternPredicate0,
14498 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64x2),
14499 24|128,1, 1, 0,
14500 7, MVT::v8f16,
14501 OPC_CheckPatternPredicate6,
14502 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F16x8),
14503 MVT::v8f16, 1, 0,
14504 0,
14505 50, TARGET_VAL(ISD::FTRUNC),
14506 OPC_RecordChild0,
14507 OPC_SwitchType , 6, MVT::f32,
14508 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32),
14509 MVT::f32, 1, 0,
14510 6, MVT::f64,
14511 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64),
14512 MVT::f64, 1, 0,
14513 8, 6|128,1,
14514 OPC_CheckPatternPredicate0,
14515 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32x4),
14516 6|128,1, 1, 0,
14517 8, 24|128,1,
14518 OPC_CheckPatternPredicate0,
14519 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64x2),
14520 24|128,1, 1, 0,
14521 7, MVT::v8f16,
14522 OPC_CheckPatternPredicate6,
14523 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F16x8),
14524 MVT::v8f16, 1, 0,
14525 0,
14526 50, TARGET_VAL(ISD::FNEARBYINT),
14527 OPC_RecordChild0,
14528 OPC_SwitchType , 6, MVT::f32,
14529 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
14530 MVT::f32, 1, 0,
14531 6, MVT::f64,
14532 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
14533 MVT::f64, 1, 0,
14534 8, 6|128,1,
14535 OPC_CheckPatternPredicate0,
14536 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
14537 6|128,1, 1, 0,
14538 8, 24|128,1,
14539 OPC_CheckPatternPredicate0,
14540 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
14541 24|128,1, 1, 0,
14542 7, MVT::v8f16,
14543 OPC_CheckPatternPredicate6,
14544 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
14545 MVT::v8f16, 1, 0,
14546 0,
14547 47, TARGET_VAL(ISD::FRINT),
14548 OPC_RecordChild0,
14549 OPC_SwitchType , 6, MVT::f32,
14550 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
14551 MVT::f32, 1, 0,
14552 6, MVT::f64,
14553 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
14554 MVT::f64, 1, 0,
14555 7, 6|128,1,
14556 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
14557 6|128,1, 1, 0,
14558 7, 24|128,1,
14559 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
14560 24|128,1, 1, 0,
14561 6, MVT::v8f16,
14562 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
14563 MVT::v8f16, 1, 0,
14564 0,
14565 47, TARGET_VAL(ISD::FROUNDEVEN),
14566 OPC_RecordChild0,
14567 OPC_SwitchType , 6, MVT::f32,
14568 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
14569 MVT::f32, 1, 0,
14570 6, MVT::f64,
14571 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
14572 MVT::f64, 1, 0,
14573 7, 6|128,1,
14574 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
14575 6|128,1, 1, 0,
14576 7, 24|128,1,
14577 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
14578 24|128,1, 1, 0,
14579 6, MVT::v8f16,
14580 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
14581 MVT::v8f16, 1, 0,
14582 0,
14583 107|128,95, TARGET_VAL(WebAssemblyISD::NARROW_U),
14584 OPC_Scope, 71|128,95,
14585 OPC_MoveChild0,
14586 OPC_SwitchOpcode , 36|128,93, TARGET_VAL(ISD::AND),
14587 OPC_MoveChild0,
14588 OPC_SwitchOpcode , 79|128,23, TARGET_VAL(ISD::SMIN),
14589 OPC_MoveChild0,
14590 OPC_SwitchOpcode , 123|128,11, TARGET_VAL(ISD::SMAX),
14591 OPC_Scope, 63|128,3,
14592 OPC_RecordChild0,
14593 OPC_MoveChild1,
14594 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14595 OPC_Scope, 98|128,2,
14596 OPC_CheckChild0Integer, 0|128,127,
14597 OPC_CheckChild0TypeI32,
14598 OPC_MoveParent,
14599 OPC_MoveSibling1,
14600 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14601 OPC_CheckChild0Integer, 127|128,0,
14602 OPC_CheckChild0TypeI32,
14603 OPC_MoveParent,
14604 OPC_MoveSibling1,
14605 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14606 OPC_CheckChild0Integer, 127|128,1,
14607 OPC_CheckChild0TypeI32,
14608 OPC_MoveParent,
14609 OPC_CheckType, MVT::v8i16,
14610 OPC_MoveSibling1,
14611 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14612 OPC_MoveChild0,
14613 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
14614 OPC_MoveChild0,
14615 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
14616 OPC_Scope, 40,
14617 OPC_RecordChild0,
14618 OPC_MoveChild1,
14619 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14620 OPC_CheckChild0Integer, 0|128,127,
14621 OPC_CheckChild0TypeI32,
14622 OPC_MoveParent,
14623 OPC_MoveSibling1,
14624 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14625 OPC_CheckChild0Integer, 127|128,0,
14626 OPC_CheckChild0TypeI32,
14627 OPC_MoveParent,
14628 OPC_MoveSibling1,
14629 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14630 OPC_CheckChild0Integer, 127|128,1,
14631 OPC_CheckChild0TypeI32,
14632 OPC_MoveParent,
14633 OPC_CheckType, MVT::v8i16,
14634 OPC_MoveParent,
14635 OPC_CheckType, MVT::v16i8,
14636 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14637 MVT::v16i8, 2, 0, 1,
14638 40,
14639 OPC_MoveChild0,
14640 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14641 OPC_CheckChild0Integer, 0|128,127,
14642 OPC_CheckChild0TypeI32,
14643 OPC_MoveParent,
14644 OPC_RecordChild1,
14645 OPC_MoveSibling1,
14646 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14647 OPC_CheckChild0Integer, 127|128,0,
14648 OPC_CheckChild0TypeI32,
14649 OPC_MoveParent,
14650 OPC_MoveSibling1,
14651 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14652 OPC_CheckChild0Integer, 127|128,1,
14653 OPC_CheckChild0TypeI32,
14654 OPC_MoveParent,
14655 OPC_CheckType, MVT::v8i16,
14656 OPC_MoveParent,
14657 OPC_CheckType, MVT::v16i8,
14658 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14659 MVT::v16i8, 2, 0, 1,
14660 0,
14661 76, TARGET_VAL(ISD::SPLAT_VECTOR),
14662 OPC_CheckChild0Integer, 127|128,0,
14663 OPC_CheckChild0TypeI32,
14664 OPC_MoveSibling1,
14665 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
14666 OPC_Scope, 32,
14667 OPC_RecordChild0,
14668 OPC_MoveChild1,
14669 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14670 OPC_CheckChild0Integer, 0|128,127,
14671 OPC_CheckChild0TypeI32,
14672 OPC_MoveParent,
14673 OPC_MoveParent,
14674 OPC_MoveSibling1,
14675 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14676 OPC_CheckChild0Integer, 127|128,1,
14677 OPC_CheckChild0TypeI32,
14678 OPC_MoveParent,
14679 OPC_CheckType, MVT::v8i16,
14680 OPC_MoveParent,
14681 OPC_CheckType, MVT::v16i8,
14682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14683 MVT::v16i8, 2, 0, 1,
14684 32,
14685 OPC_MoveChild0,
14686 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14687 OPC_CheckChild0Integer, 0|128,127,
14688 OPC_CheckChild0TypeI32,
14689 OPC_MoveParent,
14690 OPC_RecordChild1,
14691 OPC_MoveParent,
14692 OPC_MoveSibling1,
14693 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14694 OPC_CheckChild0Integer, 127|128,1,
14695 OPC_CheckChild0TypeI32,
14696 OPC_MoveParent,
14697 OPC_CheckType, MVT::v8i16,
14698 OPC_MoveParent,
14699 OPC_CheckType, MVT::v16i8,
14700 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14701 MVT::v16i8, 2, 0, 1,
14702 0,
14703 0,
14704 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
14705 OPC_CheckChild0Integer, 127|128,1,
14706 OPC_CheckChild0TypeI32,
14707 OPC_MoveSibling1,
14708 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
14709 OPC_MoveChild0,
14710 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
14711 OPC_Scope, 32,
14712 OPC_RecordChild0,
14713 OPC_MoveChild1,
14714 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14715 OPC_CheckChild0Integer, 0|128,127,
14716 OPC_CheckChild0TypeI32,
14717 OPC_MoveParent,
14718 OPC_MoveSibling1,
14719 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14720 OPC_CheckChild0Integer, 127|128,0,
14721 OPC_CheckChild0TypeI32,
14722 OPC_MoveParent,
14723 OPC_MoveParent,
14724 OPC_CheckType, MVT::v8i16,
14725 OPC_MoveParent,
14726 OPC_CheckType, MVT::v16i8,
14727 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14728 MVT::v16i8, 2, 0, 1,
14729 32,
14730 OPC_MoveChild0,
14731 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14732 OPC_CheckChild0Integer, 0|128,127,
14733 OPC_CheckChild0TypeI32,
14734 OPC_MoveParent,
14735 OPC_RecordChild1,
14736 OPC_MoveSibling1,
14737 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14738 OPC_CheckChild0Integer, 127|128,0,
14739 OPC_CheckChild0TypeI32,
14740 OPC_MoveParent,
14741 OPC_MoveParent,
14742 OPC_CheckType, MVT::v8i16,
14743 OPC_MoveParent,
14744 OPC_CheckType, MVT::v16i8,
14745 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14746 MVT::v16i8, 2, 0, 1,
14747 0,
14748 60, TARGET_VAL(ISD::SPLAT_VECTOR),
14749 OPC_CheckChild0Integer, 127|128,0,
14750 OPC_CheckChild0TypeI32,
14751 OPC_MoveSibling1,
14752 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
14753 OPC_Scope, 24,
14754 OPC_RecordChild0,
14755 OPC_MoveChild1,
14756 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14757 OPC_CheckChild0Integer, 0|128,127,
14758 OPC_CheckChild0TypeI32,
14759 OPC_MoveParent,
14760 OPC_MoveParent,
14761 OPC_MoveParent,
14762 OPC_CheckType, MVT::v8i16,
14763 OPC_MoveParent,
14764 OPC_CheckType, MVT::v16i8,
14765 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14766 MVT::v16i8, 2, 0, 1,
14767 24,
14768 OPC_MoveChild0,
14769 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14770 OPC_CheckChild0Integer, 0|128,127,
14771 OPC_CheckChild0TypeI32,
14772 OPC_MoveParent,
14773 OPC_RecordChild1,
14774 OPC_MoveParent,
14775 OPC_MoveParent,
14776 OPC_CheckType, MVT::v8i16,
14777 OPC_MoveParent,
14778 OPC_CheckType, MVT::v16i8,
14779 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14780 MVT::v16i8, 2, 0, 1,
14781 0,
14782 0,
14783 0,
14784 83,
14785 OPC_CheckChild0Integer, 0|128,0|128,126,
14786 OPC_CheckChild0TypeI32,
14787 OPC_MoveParent,
14788 OPC_MoveSibling1,
14789 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14790 OPC_CheckChild0Integer, 127|128,127|128,1,
14791 OPC_CheckChild0TypeI32,
14792 OPC_MoveParent,
14793 OPC_MoveSibling1,
14794 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14795 OPC_CheckChild0Integer, 127|128,127|128,3,
14796 OPC_CheckChild0TypeI32,
14797 OPC_MoveParent,
14798 OPC_CheckType, MVT::v4i32,
14799 OPC_MoveSibling1,
14800 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14801 OPC_MoveChild0,
14802 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
14803 OPC_MoveChild0,
14804 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
14805 OPC_RecordChild0,
14806 OPC_MoveChild1,
14807 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14808 OPC_CheckChild0Integer, 0|128,0|128,126,
14809 OPC_CheckChild0TypeI32,
14810 OPC_MoveParent,
14811 OPC_MoveSibling1,
14812 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14813 OPC_CheckChild0Integer, 127|128,127|128,1,
14814 OPC_CheckChild0TypeI32,
14815 OPC_MoveParent,
14816 OPC_MoveSibling1,
14817 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14818 OPC_CheckChild0Integer, 127|128,127|128,3,
14819 OPC_CheckChild0TypeI32,
14820 OPC_MoveParent,
14821 OPC_CheckType, MVT::v4i32,
14822 OPC_MoveParent,
14823 OPC_CheckType, MVT::v8i16,
14824 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
14825 MVT::v8i16, 2, 0, 1,
14826 0,
14827 103|128,2,
14828 OPC_MoveChild0,
14829 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14830 OPC_CheckChild0Integer, 0|128,127,
14831 OPC_CheckChild0TypeI32,
14832 OPC_MoveParent,
14833 OPC_RecordChild1,
14834 OPC_MoveSibling1,
14835 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14836 OPC_CheckChild0Integer, 127|128,0,
14837 OPC_CheckChild0TypeI32,
14838 OPC_MoveParent,
14839 OPC_MoveSibling1,
14840 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14841 OPC_CheckChild0Integer, 127|128,1,
14842 OPC_CheckChild0TypeI32,
14843 OPC_MoveParent,
14844 OPC_CheckType, MVT::v8i16,
14845 OPC_MoveSibling1,
14846 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14847 OPC_MoveChild0,
14848 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
14849 OPC_MoveChild0,
14850 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
14851 OPC_Scope, 40,
14852 OPC_RecordChild0,
14853 OPC_MoveChild1,
14854 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14855 OPC_CheckChild0Integer, 0|128,127,
14856 OPC_CheckChild0TypeI32,
14857 OPC_MoveParent,
14858 OPC_MoveSibling1,
14859 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14860 OPC_CheckChild0Integer, 127|128,0,
14861 OPC_CheckChild0TypeI32,
14862 OPC_MoveParent,
14863 OPC_MoveSibling1,
14864 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14865 OPC_CheckChild0Integer, 127|128,1,
14866 OPC_CheckChild0TypeI32,
14867 OPC_MoveParent,
14868 OPC_CheckType, MVT::v8i16,
14869 OPC_MoveParent,
14870 OPC_CheckType, MVT::v16i8,
14871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14872 MVT::v16i8, 2, 0, 1,
14873 40,
14874 OPC_MoveChild0,
14875 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14876 OPC_CheckChild0Integer, 0|128,127,
14877 OPC_CheckChild0TypeI32,
14878 OPC_MoveParent,
14879 OPC_RecordChild1,
14880 OPC_MoveSibling1,
14881 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14882 OPC_CheckChild0Integer, 127|128,0,
14883 OPC_CheckChild0TypeI32,
14884 OPC_MoveParent,
14885 OPC_MoveSibling1,
14886 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14887 OPC_CheckChild0Integer, 127|128,1,
14888 OPC_CheckChild0TypeI32,
14889 OPC_MoveParent,
14890 OPC_CheckType, MVT::v8i16,
14891 OPC_MoveParent,
14892 OPC_CheckType, MVT::v16i8,
14893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14894 MVT::v16i8, 2, 0, 1,
14895 0,
14896 76, TARGET_VAL(ISD::SPLAT_VECTOR),
14897 OPC_CheckChild0Integer, 127|128,0,
14898 OPC_CheckChild0TypeI32,
14899 OPC_MoveSibling1,
14900 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
14901 OPC_Scope, 32,
14902 OPC_RecordChild0,
14903 OPC_MoveChild1,
14904 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14905 OPC_CheckChild0Integer, 0|128,127,
14906 OPC_CheckChild0TypeI32,
14907 OPC_MoveParent,
14908 OPC_MoveParent,
14909 OPC_MoveSibling1,
14910 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14911 OPC_CheckChild0Integer, 127|128,1,
14912 OPC_CheckChild0TypeI32,
14913 OPC_MoveParent,
14914 OPC_CheckType, MVT::v8i16,
14915 OPC_MoveParent,
14916 OPC_CheckType, MVT::v16i8,
14917 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14918 MVT::v16i8, 2, 0, 1,
14919 32,
14920 OPC_MoveChild0,
14921 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14922 OPC_CheckChild0Integer, 0|128,127,
14923 OPC_CheckChild0TypeI32,
14924 OPC_MoveParent,
14925 OPC_RecordChild1,
14926 OPC_MoveParent,
14927 OPC_MoveSibling1,
14928 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14929 OPC_CheckChild0Integer, 127|128,1,
14930 OPC_CheckChild0TypeI32,
14931 OPC_MoveParent,
14932 OPC_CheckType, MVT::v8i16,
14933 OPC_MoveParent,
14934 OPC_CheckType, MVT::v16i8,
14935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14936 MVT::v16i8, 2, 0, 1,
14937 0,
14938 0,
14939 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
14940 OPC_CheckChild0Integer, 127|128,1,
14941 OPC_CheckChild0TypeI32,
14942 OPC_MoveSibling1,
14943 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
14944 OPC_MoveChild0,
14945 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
14946 OPC_Scope, 32,
14947 OPC_RecordChild0,
14948 OPC_MoveChild1,
14949 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14950 OPC_CheckChild0Integer, 0|128,127,
14951 OPC_CheckChild0TypeI32,
14952 OPC_MoveParent,
14953 OPC_MoveSibling1,
14954 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14955 OPC_CheckChild0Integer, 127|128,0,
14956 OPC_CheckChild0TypeI32,
14957 OPC_MoveParent,
14958 OPC_MoveParent,
14959 OPC_CheckType, MVT::v8i16,
14960 OPC_MoveParent,
14961 OPC_CheckType, MVT::v16i8,
14962 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14963 MVT::v16i8, 2, 0, 1,
14964 32,
14965 OPC_MoveChild0,
14966 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14967 OPC_CheckChild0Integer, 0|128,127,
14968 OPC_CheckChild0TypeI32,
14969 OPC_MoveParent,
14970 OPC_RecordChild1,
14971 OPC_MoveSibling1,
14972 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14973 OPC_CheckChild0Integer, 127|128,0,
14974 OPC_CheckChild0TypeI32,
14975 OPC_MoveParent,
14976 OPC_MoveParent,
14977 OPC_CheckType, MVT::v8i16,
14978 OPC_MoveParent,
14979 OPC_CheckType, MVT::v16i8,
14980 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
14981 MVT::v16i8, 2, 0, 1,
14982 0,
14983 60, TARGET_VAL(ISD::SPLAT_VECTOR),
14984 OPC_CheckChild0Integer, 127|128,0,
14985 OPC_CheckChild0TypeI32,
14986 OPC_MoveSibling1,
14987 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
14988 OPC_Scope, 24,
14989 OPC_RecordChild0,
14990 OPC_MoveChild1,
14991 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
14992 OPC_CheckChild0Integer, 0|128,127,
14993 OPC_CheckChild0TypeI32,
14994 OPC_MoveParent,
14995 OPC_MoveParent,
14996 OPC_MoveParent,
14997 OPC_CheckType, MVT::v8i16,
14998 OPC_MoveParent,
14999 OPC_CheckType, MVT::v16i8,
15000 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15001 MVT::v16i8, 2, 0, 1,
15002 24,
15003 OPC_MoveChild0,
15004 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15005 OPC_CheckChild0Integer, 0|128,127,
15006 OPC_CheckChild0TypeI32,
15007 OPC_MoveParent,
15008 OPC_RecordChild1,
15009 OPC_MoveParent,
15010 OPC_MoveParent,
15011 OPC_CheckType, MVT::v8i16,
15012 OPC_MoveParent,
15013 OPC_CheckType, MVT::v16i8,
15014 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15015 MVT::v16i8, 2, 0, 1,
15016 0,
15017 0,
15018 0,
15019 78|128,2,
15020 OPC_RecordChild0,
15021 OPC_MoveChild1,
15022 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15023 OPC_CheckChild0Integer, 0|128,0|128,126,
15024 OPC_CheckChild0TypeI32,
15025 OPC_MoveParent,
15026 OPC_MoveSibling1,
15027 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15028 OPC_CheckChild0Integer, 127|128,127|128,1,
15029 OPC_CheckChild0TypeI32,
15030 OPC_MoveParent,
15031 OPC_MoveSibling1,
15032 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15033 OPC_CheckChild0Integer, 127|128,127|128,3,
15034 OPC_CheckChild0TypeI32,
15035 OPC_MoveParent,
15036 OPC_CheckType, MVT::v4i32,
15037 OPC_MoveSibling1,
15038 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15039 OPC_MoveChild0,
15040 OPC_SwitchOpcode , 5|128,1, TARGET_VAL(ISD::SMIN),
15041 OPC_MoveChild0,
15042 OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SMAX),
15043 OPC_MoveChild0,
15044 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15045 OPC_CheckChild0Integer, 0|128,0|128,126,
15046 OPC_CheckChild0TypeI32,
15047 OPC_MoveParent,
15048 OPC_RecordChild1,
15049 OPC_MoveSibling1,
15050 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15051 OPC_CheckChild0Integer, 127|128,127|128,1,
15052 OPC_CheckChild0TypeI32,
15053 OPC_MoveParent,
15054 OPC_MoveSibling1,
15055 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15056 OPC_CheckChild0Integer, 127|128,127|128,3,
15057 OPC_CheckChild0TypeI32,
15058 OPC_MoveParent,
15059 OPC_CheckType, MVT::v4i32,
15060 OPC_MoveParent,
15061 OPC_CheckType, MVT::v8i16,
15062 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15063 MVT::v8i16, 2, 0, 1,
15064 81, TARGET_VAL(ISD::SPLAT_VECTOR),
15065 OPC_CheckChild0Integer, 127|128,127|128,1,
15066 OPC_CheckChild0TypeI32,
15067 OPC_MoveSibling1,
15068 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15069 OPC_Scope, 34,
15070 OPC_RecordChild0,
15071 OPC_MoveChild1,
15072 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15073 OPC_CheckChild0Integer, 0|128,0|128,126,
15074 OPC_CheckChild0TypeI32,
15075 OPC_MoveParent,
15076 OPC_MoveParent,
15077 OPC_MoveSibling1,
15078 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15079 OPC_CheckChild0Integer, 127|128,127|128,3,
15080 OPC_CheckChild0TypeI32,
15081 OPC_MoveParent,
15082 OPC_CheckType, MVT::v4i32,
15083 OPC_MoveParent,
15084 OPC_CheckType, MVT::v8i16,
15085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15086 MVT::v8i16, 2, 0, 1,
15087 34,
15088 OPC_MoveChild0,
15089 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15090 OPC_CheckChild0Integer, 0|128,0|128,126,
15091 OPC_CheckChild0TypeI32,
15092 OPC_MoveParent,
15093 OPC_RecordChild1,
15094 OPC_MoveParent,
15095 OPC_MoveSibling1,
15096 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15097 OPC_CheckChild0Integer, 127|128,127|128,3,
15098 OPC_CheckChild0TypeI32,
15099 OPC_MoveParent,
15100 OPC_CheckType, MVT::v4i32,
15101 OPC_MoveParent,
15102 OPC_CheckType, MVT::v8i16,
15103 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15104 MVT::v8i16, 2, 0, 1,
15105 0,
15106 0,
15107 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15108 OPC_CheckChild0Integer, 127|128,127|128,3,
15109 OPC_CheckChild0TypeI32,
15110 OPC_MoveSibling1,
15111 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15112 OPC_MoveChild0,
15113 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
15114 OPC_Scope, 34,
15115 OPC_RecordChild0,
15116 OPC_MoveChild1,
15117 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15118 OPC_CheckChild0Integer, 0|128,0|128,126,
15119 OPC_CheckChild0TypeI32,
15120 OPC_MoveParent,
15121 OPC_MoveSibling1,
15122 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15123 OPC_CheckChild0Integer, 127|128,127|128,1,
15124 OPC_CheckChild0TypeI32,
15125 OPC_MoveParent,
15126 OPC_MoveParent,
15127 OPC_CheckType, MVT::v4i32,
15128 OPC_MoveParent,
15129 OPC_CheckType, MVT::v8i16,
15130 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15131 MVT::v8i16, 2, 0, 1,
15132 34,
15133 OPC_MoveChild0,
15134 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15135 OPC_CheckChild0Integer, 0|128,0|128,126,
15136 OPC_CheckChild0TypeI32,
15137 OPC_MoveParent,
15138 OPC_RecordChild1,
15139 OPC_MoveSibling1,
15140 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15141 OPC_CheckChild0Integer, 127|128,127|128,1,
15142 OPC_CheckChild0TypeI32,
15143 OPC_MoveParent,
15144 OPC_MoveParent,
15145 OPC_CheckType, MVT::v4i32,
15146 OPC_MoveParent,
15147 OPC_CheckType, MVT::v8i16,
15148 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15149 MVT::v8i16, 2, 0, 1,
15150 0,
15151 63, TARGET_VAL(ISD::SPLAT_VECTOR),
15152 OPC_CheckChild0Integer, 127|128,127|128,1,
15153 OPC_CheckChild0TypeI32,
15154 OPC_MoveSibling1,
15155 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15156 OPC_Scope, 25,
15157 OPC_RecordChild0,
15158 OPC_MoveChild1,
15159 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15160 OPC_CheckChild0Integer, 0|128,0|128,126,
15161 OPC_CheckChild0TypeI32,
15162 OPC_MoveParent,
15163 OPC_MoveParent,
15164 OPC_MoveParent,
15165 OPC_CheckType, MVT::v4i32,
15166 OPC_MoveParent,
15167 OPC_CheckType, MVT::v8i16,
15168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15169 MVT::v8i16, 2, 0, 1,
15170 25,
15171 OPC_MoveChild0,
15172 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15173 OPC_CheckChild0Integer, 0|128,0|128,126,
15174 OPC_CheckChild0TypeI32,
15175 OPC_MoveParent,
15176 OPC_RecordChild1,
15177 OPC_MoveParent,
15178 OPC_MoveParent,
15179 OPC_CheckType, MVT::v4i32,
15180 OPC_MoveParent,
15181 OPC_CheckType, MVT::v8i16,
15182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15183 MVT::v8i16, 2, 0, 1,
15184 0,
15185 0,
15186 0,
15187 125|128,2,
15188 OPC_MoveChild0,
15189 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15190 OPC_CheckChild0Integer, 0|128,0|128,126,
15191 OPC_CheckChild0TypeI32,
15192 OPC_MoveParent,
15193 OPC_RecordChild1,
15194 OPC_MoveSibling1,
15195 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15196 OPC_CheckChild0Integer, 127|128,127|128,1,
15197 OPC_CheckChild0TypeI32,
15198 OPC_MoveParent,
15199 OPC_MoveSibling1,
15200 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15201 OPC_CheckChild0Integer, 127|128,127|128,3,
15202 OPC_CheckChild0TypeI32,
15203 OPC_MoveParent,
15204 OPC_CheckType, MVT::v4i32,
15205 OPC_MoveSibling1,
15206 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15207 OPC_MoveChild0,
15208 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
15209 OPC_MoveChild0,
15210 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
15211 OPC_Scope, 43,
15212 OPC_RecordChild0,
15213 OPC_MoveChild1,
15214 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15215 OPC_CheckChild0Integer, 0|128,0|128,126,
15216 OPC_CheckChild0TypeI32,
15217 OPC_MoveParent,
15218 OPC_MoveSibling1,
15219 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15220 OPC_CheckChild0Integer, 127|128,127|128,1,
15221 OPC_CheckChild0TypeI32,
15222 OPC_MoveParent,
15223 OPC_MoveSibling1,
15224 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15225 OPC_CheckChild0Integer, 127|128,127|128,3,
15226 OPC_CheckChild0TypeI32,
15227 OPC_MoveParent,
15228 OPC_CheckType, MVT::v4i32,
15229 OPC_MoveParent,
15230 OPC_CheckType, MVT::v8i16,
15231 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15232 MVT::v8i16, 2, 0, 1,
15233 43,
15234 OPC_MoveChild0,
15235 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15236 OPC_CheckChild0Integer, 0|128,0|128,126,
15237 OPC_CheckChild0TypeI32,
15238 OPC_MoveParent,
15239 OPC_RecordChild1,
15240 OPC_MoveSibling1,
15241 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15242 OPC_CheckChild0Integer, 127|128,127|128,1,
15243 OPC_CheckChild0TypeI32,
15244 OPC_MoveParent,
15245 OPC_MoveSibling1,
15246 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15247 OPC_CheckChild0Integer, 127|128,127|128,3,
15248 OPC_CheckChild0TypeI32,
15249 OPC_MoveParent,
15250 OPC_CheckType, MVT::v4i32,
15251 OPC_MoveParent,
15252 OPC_CheckType, MVT::v8i16,
15253 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15254 MVT::v8i16, 2, 0, 1,
15255 0,
15256 81, TARGET_VAL(ISD::SPLAT_VECTOR),
15257 OPC_CheckChild0Integer, 127|128,127|128,1,
15258 OPC_CheckChild0TypeI32,
15259 OPC_MoveSibling1,
15260 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15261 OPC_Scope, 34,
15262 OPC_RecordChild0,
15263 OPC_MoveChild1,
15264 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15265 OPC_CheckChild0Integer, 0|128,0|128,126,
15266 OPC_CheckChild0TypeI32,
15267 OPC_MoveParent,
15268 OPC_MoveParent,
15269 OPC_MoveSibling1,
15270 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15271 OPC_CheckChild0Integer, 127|128,127|128,3,
15272 OPC_CheckChild0TypeI32,
15273 OPC_MoveParent,
15274 OPC_CheckType, MVT::v4i32,
15275 OPC_MoveParent,
15276 OPC_CheckType, MVT::v8i16,
15277 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15278 MVT::v8i16, 2, 0, 1,
15279 34,
15280 OPC_MoveChild0,
15281 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15282 OPC_CheckChild0Integer, 0|128,0|128,126,
15283 OPC_CheckChild0TypeI32,
15284 OPC_MoveParent,
15285 OPC_RecordChild1,
15286 OPC_MoveParent,
15287 OPC_MoveSibling1,
15288 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15289 OPC_CheckChild0Integer, 127|128,127|128,3,
15290 OPC_CheckChild0TypeI32,
15291 OPC_MoveParent,
15292 OPC_CheckType, MVT::v4i32,
15293 OPC_MoveParent,
15294 OPC_CheckType, MVT::v8i16,
15295 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15296 MVT::v8i16, 2, 0, 1,
15297 0,
15298 0,
15299 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15300 OPC_CheckChild0Integer, 127|128,127|128,3,
15301 OPC_CheckChild0TypeI32,
15302 OPC_MoveSibling1,
15303 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15304 OPC_MoveChild0,
15305 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
15306 OPC_Scope, 34,
15307 OPC_RecordChild0,
15308 OPC_MoveChild1,
15309 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15310 OPC_CheckChild0Integer, 0|128,0|128,126,
15311 OPC_CheckChild0TypeI32,
15312 OPC_MoveParent,
15313 OPC_MoveSibling1,
15314 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15315 OPC_CheckChild0Integer, 127|128,127|128,1,
15316 OPC_CheckChild0TypeI32,
15317 OPC_MoveParent,
15318 OPC_MoveParent,
15319 OPC_CheckType, MVT::v4i32,
15320 OPC_MoveParent,
15321 OPC_CheckType, MVT::v8i16,
15322 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15323 MVT::v8i16, 2, 0, 1,
15324 34,
15325 OPC_MoveChild0,
15326 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15327 OPC_CheckChild0Integer, 0|128,0|128,126,
15328 OPC_CheckChild0TypeI32,
15329 OPC_MoveParent,
15330 OPC_RecordChild1,
15331 OPC_MoveSibling1,
15332 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15333 OPC_CheckChild0Integer, 127|128,127|128,1,
15334 OPC_CheckChild0TypeI32,
15335 OPC_MoveParent,
15336 OPC_MoveParent,
15337 OPC_CheckType, MVT::v4i32,
15338 OPC_MoveParent,
15339 OPC_CheckType, MVT::v8i16,
15340 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15341 MVT::v8i16, 2, 0, 1,
15342 0,
15343 63, TARGET_VAL(ISD::SPLAT_VECTOR),
15344 OPC_CheckChild0Integer, 127|128,127|128,1,
15345 OPC_CheckChild0TypeI32,
15346 OPC_MoveSibling1,
15347 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15348 OPC_Scope, 25,
15349 OPC_RecordChild0,
15350 OPC_MoveChild1,
15351 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15352 OPC_CheckChild0Integer, 0|128,0|128,126,
15353 OPC_CheckChild0TypeI32,
15354 OPC_MoveParent,
15355 OPC_MoveParent,
15356 OPC_MoveParent,
15357 OPC_CheckType, MVT::v4i32,
15358 OPC_MoveParent,
15359 OPC_CheckType, MVT::v8i16,
15360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15361 MVT::v8i16, 2, 0, 1,
15362 25,
15363 OPC_MoveChild0,
15364 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15365 OPC_CheckChild0Integer, 0|128,0|128,126,
15366 OPC_CheckChild0TypeI32,
15367 OPC_MoveParent,
15368 OPC_RecordChild1,
15369 OPC_MoveParent,
15370 OPC_MoveParent,
15371 OPC_CheckType, MVT::v4i32,
15372 OPC_MoveParent,
15373 OPC_CheckType, MVT::v8i16,
15374 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15375 MVT::v8i16, 2, 0, 1,
15376 0,
15377 0,
15378 0,
15379 0,
15380 73|128,11, TARGET_VAL(ISD::SPLAT_VECTOR),
15381 OPC_Scope, 76|128,5,
15382 OPC_CheckChild0Integer, 127|128,0,
15383 OPC_CheckChild0TypeI32,
15384 OPC_MoveSibling1,
15385 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15386 OPC_Scope, 95|128,2,
15387 OPC_RecordChild0,
15388 OPC_MoveChild1,
15389 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15390 OPC_CheckChild0Integer, 0|128,127,
15391 OPC_CheckChild0TypeI32,
15392 OPC_MoveParent,
15393 OPC_MoveParent,
15394 OPC_MoveSibling1,
15395 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15396 OPC_CheckChild0Integer, 127|128,1,
15397 OPC_CheckChild0TypeI32,
15398 OPC_MoveParent,
15399 OPC_CheckType, MVT::v8i16,
15400 OPC_MoveSibling1,
15401 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15402 OPC_MoveChild0,
15403 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
15404 OPC_MoveChild0,
15405 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
15406 OPC_Scope, 40,
15407 OPC_RecordChild0,
15408 OPC_MoveChild1,
15409 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15410 OPC_CheckChild0Integer, 0|128,127,
15411 OPC_CheckChild0TypeI32,
15412 OPC_MoveParent,
15413 OPC_MoveSibling1,
15414 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15415 OPC_CheckChild0Integer, 127|128,0,
15416 OPC_CheckChild0TypeI32,
15417 OPC_MoveParent,
15418 OPC_MoveSibling1,
15419 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15420 OPC_CheckChild0Integer, 127|128,1,
15421 OPC_CheckChild0TypeI32,
15422 OPC_MoveParent,
15423 OPC_CheckType, MVT::v8i16,
15424 OPC_MoveParent,
15425 OPC_CheckType, MVT::v16i8,
15426 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15427 MVT::v16i8, 2, 0, 1,
15428 40,
15429 OPC_MoveChild0,
15430 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15431 OPC_CheckChild0Integer, 0|128,127,
15432 OPC_CheckChild0TypeI32,
15433 OPC_MoveParent,
15434 OPC_RecordChild1,
15435 OPC_MoveSibling1,
15436 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15437 OPC_CheckChild0Integer, 127|128,0,
15438 OPC_CheckChild0TypeI32,
15439 OPC_MoveParent,
15440 OPC_MoveSibling1,
15441 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15442 OPC_CheckChild0Integer, 127|128,1,
15443 OPC_CheckChild0TypeI32,
15444 OPC_MoveParent,
15445 OPC_CheckType, MVT::v8i16,
15446 OPC_MoveParent,
15447 OPC_CheckType, MVT::v16i8,
15448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15449 MVT::v16i8, 2, 0, 1,
15450 0,
15451 76, TARGET_VAL(ISD::SPLAT_VECTOR),
15452 OPC_CheckChild0Integer, 127|128,0,
15453 OPC_CheckChild0TypeI32,
15454 OPC_MoveSibling1,
15455 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15456 OPC_Scope, 32,
15457 OPC_RecordChild0,
15458 OPC_MoveChild1,
15459 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15460 OPC_CheckChild0Integer, 0|128,127,
15461 OPC_CheckChild0TypeI32,
15462 OPC_MoveParent,
15463 OPC_MoveParent,
15464 OPC_MoveSibling1,
15465 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15466 OPC_CheckChild0Integer, 127|128,1,
15467 OPC_CheckChild0TypeI32,
15468 OPC_MoveParent,
15469 OPC_CheckType, MVT::v8i16,
15470 OPC_MoveParent,
15471 OPC_CheckType, MVT::v16i8,
15472 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15473 MVT::v16i8, 2, 0, 1,
15474 32,
15475 OPC_MoveChild0,
15476 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15477 OPC_CheckChild0Integer, 0|128,127,
15478 OPC_CheckChild0TypeI32,
15479 OPC_MoveParent,
15480 OPC_RecordChild1,
15481 OPC_MoveParent,
15482 OPC_MoveSibling1,
15483 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15484 OPC_CheckChild0Integer, 127|128,1,
15485 OPC_CheckChild0TypeI32,
15486 OPC_MoveParent,
15487 OPC_CheckType, MVT::v8i16,
15488 OPC_MoveParent,
15489 OPC_CheckType, MVT::v16i8,
15490 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15491 MVT::v16i8, 2, 0, 1,
15492 0,
15493 0,
15494 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15495 OPC_CheckChild0Integer, 127|128,1,
15496 OPC_CheckChild0TypeI32,
15497 OPC_MoveSibling1,
15498 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15499 OPC_MoveChild0,
15500 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
15501 OPC_Scope, 32,
15502 OPC_RecordChild0,
15503 OPC_MoveChild1,
15504 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15505 OPC_CheckChild0Integer, 0|128,127,
15506 OPC_CheckChild0TypeI32,
15507 OPC_MoveParent,
15508 OPC_MoveSibling1,
15509 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15510 OPC_CheckChild0Integer, 127|128,0,
15511 OPC_CheckChild0TypeI32,
15512 OPC_MoveParent,
15513 OPC_MoveParent,
15514 OPC_CheckType, MVT::v8i16,
15515 OPC_MoveParent,
15516 OPC_CheckType, MVT::v16i8,
15517 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15518 MVT::v16i8, 2, 0, 1,
15519 32,
15520 OPC_MoveChild0,
15521 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15522 OPC_CheckChild0Integer, 0|128,127,
15523 OPC_CheckChild0TypeI32,
15524 OPC_MoveParent,
15525 OPC_RecordChild1,
15526 OPC_MoveSibling1,
15527 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15528 OPC_CheckChild0Integer, 127|128,0,
15529 OPC_CheckChild0TypeI32,
15530 OPC_MoveParent,
15531 OPC_MoveParent,
15532 OPC_CheckType, MVT::v8i16,
15533 OPC_MoveParent,
15534 OPC_CheckType, MVT::v16i8,
15535 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15536 MVT::v16i8, 2, 0, 1,
15537 0,
15538 60, TARGET_VAL(ISD::SPLAT_VECTOR),
15539 OPC_CheckChild0Integer, 127|128,0,
15540 OPC_CheckChild0TypeI32,
15541 OPC_MoveSibling1,
15542 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15543 OPC_Scope, 24,
15544 OPC_RecordChild0,
15545 OPC_MoveChild1,
15546 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15547 OPC_CheckChild0Integer, 0|128,127,
15548 OPC_CheckChild0TypeI32,
15549 OPC_MoveParent,
15550 OPC_MoveParent,
15551 OPC_MoveParent,
15552 OPC_CheckType, MVT::v8i16,
15553 OPC_MoveParent,
15554 OPC_CheckType, MVT::v16i8,
15555 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15556 MVT::v16i8, 2, 0, 1,
15557 24,
15558 OPC_MoveChild0,
15559 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15560 OPC_CheckChild0Integer, 0|128,127,
15561 OPC_CheckChild0TypeI32,
15562 OPC_MoveParent,
15563 OPC_RecordChild1,
15564 OPC_MoveParent,
15565 OPC_MoveParent,
15566 OPC_CheckType, MVT::v8i16,
15567 OPC_MoveParent,
15568 OPC_CheckType, MVT::v16i8,
15569 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15570 MVT::v16i8, 2, 0, 1,
15571 0,
15572 0,
15573 0,
15574 95|128,2,
15575 OPC_MoveChild0,
15576 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15577 OPC_CheckChild0Integer, 0|128,127,
15578 OPC_CheckChild0TypeI32,
15579 OPC_MoveParent,
15580 OPC_RecordChild1,
15581 OPC_MoveParent,
15582 OPC_MoveSibling1,
15583 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15584 OPC_CheckChild0Integer, 127|128,1,
15585 OPC_CheckChild0TypeI32,
15586 OPC_MoveParent,
15587 OPC_CheckType, MVT::v8i16,
15588 OPC_MoveSibling1,
15589 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15590 OPC_MoveChild0,
15591 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
15592 OPC_MoveChild0,
15593 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
15594 OPC_Scope, 40,
15595 OPC_RecordChild0,
15596 OPC_MoveChild1,
15597 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15598 OPC_CheckChild0Integer, 0|128,127,
15599 OPC_CheckChild0TypeI32,
15600 OPC_MoveParent,
15601 OPC_MoveSibling1,
15602 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15603 OPC_CheckChild0Integer, 127|128,0,
15604 OPC_CheckChild0TypeI32,
15605 OPC_MoveParent,
15606 OPC_MoveSibling1,
15607 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15608 OPC_CheckChild0Integer, 127|128,1,
15609 OPC_CheckChild0TypeI32,
15610 OPC_MoveParent,
15611 OPC_CheckType, MVT::v8i16,
15612 OPC_MoveParent,
15613 OPC_CheckType, MVT::v16i8,
15614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15615 MVT::v16i8, 2, 0, 1,
15616 40,
15617 OPC_MoveChild0,
15618 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15619 OPC_CheckChild0Integer, 0|128,127,
15620 OPC_CheckChild0TypeI32,
15621 OPC_MoveParent,
15622 OPC_RecordChild1,
15623 OPC_MoveSibling1,
15624 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15625 OPC_CheckChild0Integer, 127|128,0,
15626 OPC_CheckChild0TypeI32,
15627 OPC_MoveParent,
15628 OPC_MoveSibling1,
15629 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15630 OPC_CheckChild0Integer, 127|128,1,
15631 OPC_CheckChild0TypeI32,
15632 OPC_MoveParent,
15633 OPC_CheckType, MVT::v8i16,
15634 OPC_MoveParent,
15635 OPC_CheckType, MVT::v16i8,
15636 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15637 MVT::v16i8, 2, 0, 1,
15638 0,
15639 76, TARGET_VAL(ISD::SPLAT_VECTOR),
15640 OPC_CheckChild0Integer, 127|128,0,
15641 OPC_CheckChild0TypeI32,
15642 OPC_MoveSibling1,
15643 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15644 OPC_Scope, 32,
15645 OPC_RecordChild0,
15646 OPC_MoveChild1,
15647 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15648 OPC_CheckChild0Integer, 0|128,127,
15649 OPC_CheckChild0TypeI32,
15650 OPC_MoveParent,
15651 OPC_MoveParent,
15652 OPC_MoveSibling1,
15653 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15654 OPC_CheckChild0Integer, 127|128,1,
15655 OPC_CheckChild0TypeI32,
15656 OPC_MoveParent,
15657 OPC_CheckType, MVT::v8i16,
15658 OPC_MoveParent,
15659 OPC_CheckType, MVT::v16i8,
15660 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15661 MVT::v16i8, 2, 0, 1,
15662 32,
15663 OPC_MoveChild0,
15664 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15665 OPC_CheckChild0Integer, 0|128,127,
15666 OPC_CheckChild0TypeI32,
15667 OPC_MoveParent,
15668 OPC_RecordChild1,
15669 OPC_MoveParent,
15670 OPC_MoveSibling1,
15671 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15672 OPC_CheckChild0Integer, 127|128,1,
15673 OPC_CheckChild0TypeI32,
15674 OPC_MoveParent,
15675 OPC_CheckType, MVT::v8i16,
15676 OPC_MoveParent,
15677 OPC_CheckType, MVT::v16i8,
15678 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15679 MVT::v16i8, 2, 0, 1,
15680 0,
15681 0,
15682 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15683 OPC_CheckChild0Integer, 127|128,1,
15684 OPC_CheckChild0TypeI32,
15685 OPC_MoveSibling1,
15686 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15687 OPC_MoveChild0,
15688 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
15689 OPC_Scope, 32,
15690 OPC_RecordChild0,
15691 OPC_MoveChild1,
15692 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15693 OPC_CheckChild0Integer, 0|128,127,
15694 OPC_CheckChild0TypeI32,
15695 OPC_MoveParent,
15696 OPC_MoveSibling1,
15697 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15698 OPC_CheckChild0Integer, 127|128,0,
15699 OPC_CheckChild0TypeI32,
15700 OPC_MoveParent,
15701 OPC_MoveParent,
15702 OPC_CheckType, MVT::v8i16,
15703 OPC_MoveParent,
15704 OPC_CheckType, MVT::v16i8,
15705 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15706 MVT::v16i8, 2, 0, 1,
15707 32,
15708 OPC_MoveChild0,
15709 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15710 OPC_CheckChild0Integer, 0|128,127,
15711 OPC_CheckChild0TypeI32,
15712 OPC_MoveParent,
15713 OPC_RecordChild1,
15714 OPC_MoveSibling1,
15715 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15716 OPC_CheckChild0Integer, 127|128,0,
15717 OPC_CheckChild0TypeI32,
15718 OPC_MoveParent,
15719 OPC_MoveParent,
15720 OPC_CheckType, MVT::v8i16,
15721 OPC_MoveParent,
15722 OPC_CheckType, MVT::v16i8,
15723 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15724 MVT::v16i8, 2, 0, 1,
15725 0,
15726 60, TARGET_VAL(ISD::SPLAT_VECTOR),
15727 OPC_CheckChild0Integer, 127|128,0,
15728 OPC_CheckChild0TypeI32,
15729 OPC_MoveSibling1,
15730 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15731 OPC_Scope, 24,
15732 OPC_RecordChild0,
15733 OPC_MoveChild1,
15734 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15735 OPC_CheckChild0Integer, 0|128,127,
15736 OPC_CheckChild0TypeI32,
15737 OPC_MoveParent,
15738 OPC_MoveParent,
15739 OPC_MoveParent,
15740 OPC_CheckType, MVT::v8i16,
15741 OPC_MoveParent,
15742 OPC_CheckType, MVT::v16i8,
15743 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15744 MVT::v16i8, 2, 0, 1,
15745 24,
15746 OPC_MoveChild0,
15747 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15748 OPC_CheckChild0Integer, 0|128,127,
15749 OPC_CheckChild0TypeI32,
15750 OPC_MoveParent,
15751 OPC_RecordChild1,
15752 OPC_MoveParent,
15753 OPC_MoveParent,
15754 OPC_CheckType, MVT::v8i16,
15755 OPC_MoveParent,
15756 OPC_CheckType, MVT::v16i8,
15757 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
15758 MVT::v16i8, 2, 0, 1,
15759 0,
15760 0,
15761 0,
15762 0,
15763 119|128,5,
15764 OPC_CheckChild0Integer, 127|128,127|128,1,
15765 OPC_CheckChild0TypeI32,
15766 OPC_MoveSibling1,
15767 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15768 OPC_Scope, 116|128,2,
15769 OPC_RecordChild0,
15770 OPC_MoveChild1,
15771 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15772 OPC_CheckChild0Integer, 0|128,0|128,126,
15773 OPC_CheckChild0TypeI32,
15774 OPC_MoveParent,
15775 OPC_MoveParent,
15776 OPC_MoveSibling1,
15777 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15778 OPC_CheckChild0Integer, 127|128,127|128,3,
15779 OPC_CheckChild0TypeI32,
15780 OPC_MoveParent,
15781 OPC_CheckType, MVT::v4i32,
15782 OPC_MoveSibling1,
15783 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15784 OPC_MoveChild0,
15785 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
15786 OPC_MoveChild0,
15787 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
15788 OPC_Scope, 43,
15789 OPC_RecordChild0,
15790 OPC_MoveChild1,
15791 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15792 OPC_CheckChild0Integer, 0|128,0|128,126,
15793 OPC_CheckChild0TypeI32,
15794 OPC_MoveParent,
15795 OPC_MoveSibling1,
15796 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15797 OPC_CheckChild0Integer, 127|128,127|128,1,
15798 OPC_CheckChild0TypeI32,
15799 OPC_MoveParent,
15800 OPC_MoveSibling1,
15801 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15802 OPC_CheckChild0Integer, 127|128,127|128,3,
15803 OPC_CheckChild0TypeI32,
15804 OPC_MoveParent,
15805 OPC_CheckType, MVT::v4i32,
15806 OPC_MoveParent,
15807 OPC_CheckType, MVT::v8i16,
15808 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15809 MVT::v8i16, 2, 0, 1,
15810 43,
15811 OPC_MoveChild0,
15812 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15813 OPC_CheckChild0Integer, 0|128,0|128,126,
15814 OPC_CheckChild0TypeI32,
15815 OPC_MoveParent,
15816 OPC_RecordChild1,
15817 OPC_MoveSibling1,
15818 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15819 OPC_CheckChild0Integer, 127|128,127|128,1,
15820 OPC_CheckChild0TypeI32,
15821 OPC_MoveParent,
15822 OPC_MoveSibling1,
15823 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15824 OPC_CheckChild0Integer, 127|128,127|128,3,
15825 OPC_CheckChild0TypeI32,
15826 OPC_MoveParent,
15827 OPC_CheckType, MVT::v4i32,
15828 OPC_MoveParent,
15829 OPC_CheckType, MVT::v8i16,
15830 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15831 MVT::v8i16, 2, 0, 1,
15832 0,
15833 81, TARGET_VAL(ISD::SPLAT_VECTOR),
15834 OPC_CheckChild0Integer, 127|128,127|128,1,
15835 OPC_CheckChild0TypeI32,
15836 OPC_MoveSibling1,
15837 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15838 OPC_Scope, 34,
15839 OPC_RecordChild0,
15840 OPC_MoveChild1,
15841 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15842 OPC_CheckChild0Integer, 0|128,0|128,126,
15843 OPC_CheckChild0TypeI32,
15844 OPC_MoveParent,
15845 OPC_MoveParent,
15846 OPC_MoveSibling1,
15847 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15848 OPC_CheckChild0Integer, 127|128,127|128,3,
15849 OPC_CheckChild0TypeI32,
15850 OPC_MoveParent,
15851 OPC_CheckType, MVT::v4i32,
15852 OPC_MoveParent,
15853 OPC_CheckType, MVT::v8i16,
15854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15855 MVT::v8i16, 2, 0, 1,
15856 34,
15857 OPC_MoveChild0,
15858 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15859 OPC_CheckChild0Integer, 0|128,0|128,126,
15860 OPC_CheckChild0TypeI32,
15861 OPC_MoveParent,
15862 OPC_RecordChild1,
15863 OPC_MoveParent,
15864 OPC_MoveSibling1,
15865 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15866 OPC_CheckChild0Integer, 127|128,127|128,3,
15867 OPC_CheckChild0TypeI32,
15868 OPC_MoveParent,
15869 OPC_CheckType, MVT::v4i32,
15870 OPC_MoveParent,
15871 OPC_CheckType, MVT::v8i16,
15872 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15873 MVT::v8i16, 2, 0, 1,
15874 0,
15875 0,
15876 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
15877 OPC_CheckChild0Integer, 127|128,127|128,3,
15878 OPC_CheckChild0TypeI32,
15879 OPC_MoveSibling1,
15880 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
15881 OPC_MoveChild0,
15882 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
15883 OPC_Scope, 34,
15884 OPC_RecordChild0,
15885 OPC_MoveChild1,
15886 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15887 OPC_CheckChild0Integer, 0|128,0|128,126,
15888 OPC_CheckChild0TypeI32,
15889 OPC_MoveParent,
15890 OPC_MoveSibling1,
15891 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15892 OPC_CheckChild0Integer, 127|128,127|128,1,
15893 OPC_CheckChild0TypeI32,
15894 OPC_MoveParent,
15895 OPC_MoveParent,
15896 OPC_CheckType, MVT::v4i32,
15897 OPC_MoveParent,
15898 OPC_CheckType, MVT::v8i16,
15899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15900 MVT::v8i16, 2, 0, 1,
15901 34,
15902 OPC_MoveChild0,
15903 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15904 OPC_CheckChild0Integer, 0|128,0|128,126,
15905 OPC_CheckChild0TypeI32,
15906 OPC_MoveParent,
15907 OPC_RecordChild1,
15908 OPC_MoveSibling1,
15909 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15910 OPC_CheckChild0Integer, 127|128,127|128,1,
15911 OPC_CheckChild0TypeI32,
15912 OPC_MoveParent,
15913 OPC_MoveParent,
15914 OPC_CheckType, MVT::v4i32,
15915 OPC_MoveParent,
15916 OPC_CheckType, MVT::v8i16,
15917 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15918 MVT::v8i16, 2, 0, 1,
15919 0,
15920 63, TARGET_VAL(ISD::SPLAT_VECTOR),
15921 OPC_CheckChild0Integer, 127|128,127|128,1,
15922 OPC_CheckChild0TypeI32,
15923 OPC_MoveSibling1,
15924 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
15925 OPC_Scope, 25,
15926 OPC_RecordChild0,
15927 OPC_MoveChild1,
15928 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15929 OPC_CheckChild0Integer, 0|128,0|128,126,
15930 OPC_CheckChild0TypeI32,
15931 OPC_MoveParent,
15932 OPC_MoveParent,
15933 OPC_MoveParent,
15934 OPC_CheckType, MVT::v4i32,
15935 OPC_MoveParent,
15936 OPC_CheckType, MVT::v8i16,
15937 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15938 MVT::v8i16, 2, 0, 1,
15939 25,
15940 OPC_MoveChild0,
15941 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15942 OPC_CheckChild0Integer, 0|128,0|128,126,
15943 OPC_CheckChild0TypeI32,
15944 OPC_MoveParent,
15945 OPC_RecordChild1,
15946 OPC_MoveParent,
15947 OPC_MoveParent,
15948 OPC_CheckType, MVT::v4i32,
15949 OPC_MoveParent,
15950 OPC_CheckType, MVT::v8i16,
15951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15952 MVT::v8i16, 2, 0, 1,
15953 0,
15954 0,
15955 0,
15956 116|128,2,
15957 OPC_MoveChild0,
15958 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15959 OPC_CheckChild0Integer, 0|128,0|128,126,
15960 OPC_CheckChild0TypeI32,
15961 OPC_MoveParent,
15962 OPC_RecordChild1,
15963 OPC_MoveParent,
15964 OPC_MoveSibling1,
15965 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15966 OPC_CheckChild0Integer, 127|128,127|128,3,
15967 OPC_CheckChild0TypeI32,
15968 OPC_MoveParent,
15969 OPC_CheckType, MVT::v4i32,
15970 OPC_MoveSibling1,
15971 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15972 OPC_MoveChild0,
15973 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
15974 OPC_MoveChild0,
15975 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
15976 OPC_Scope, 43,
15977 OPC_RecordChild0,
15978 OPC_MoveChild1,
15979 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15980 OPC_CheckChild0Integer, 0|128,0|128,126,
15981 OPC_CheckChild0TypeI32,
15982 OPC_MoveParent,
15983 OPC_MoveSibling1,
15984 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15985 OPC_CheckChild0Integer, 127|128,127|128,1,
15986 OPC_CheckChild0TypeI32,
15987 OPC_MoveParent,
15988 OPC_MoveSibling1,
15989 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
15990 OPC_CheckChild0Integer, 127|128,127|128,3,
15991 OPC_CheckChild0TypeI32,
15992 OPC_MoveParent,
15993 OPC_CheckType, MVT::v4i32,
15994 OPC_MoveParent,
15995 OPC_CheckType, MVT::v8i16,
15996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
15997 MVT::v8i16, 2, 0, 1,
15998 43,
15999 OPC_MoveChild0,
16000 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16001 OPC_CheckChild0Integer, 0|128,0|128,126,
16002 OPC_CheckChild0TypeI32,
16003 OPC_MoveParent,
16004 OPC_RecordChild1,
16005 OPC_MoveSibling1,
16006 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16007 OPC_CheckChild0Integer, 127|128,127|128,1,
16008 OPC_CheckChild0TypeI32,
16009 OPC_MoveParent,
16010 OPC_MoveSibling1,
16011 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16012 OPC_CheckChild0Integer, 127|128,127|128,3,
16013 OPC_CheckChild0TypeI32,
16014 OPC_MoveParent,
16015 OPC_CheckType, MVT::v4i32,
16016 OPC_MoveParent,
16017 OPC_CheckType, MVT::v8i16,
16018 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16019 MVT::v8i16, 2, 0, 1,
16020 0,
16021 81, TARGET_VAL(ISD::SPLAT_VECTOR),
16022 OPC_CheckChild0Integer, 127|128,127|128,1,
16023 OPC_CheckChild0TypeI32,
16024 OPC_MoveSibling1,
16025 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16026 OPC_Scope, 34,
16027 OPC_RecordChild0,
16028 OPC_MoveChild1,
16029 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16030 OPC_CheckChild0Integer, 0|128,0|128,126,
16031 OPC_CheckChild0TypeI32,
16032 OPC_MoveParent,
16033 OPC_MoveParent,
16034 OPC_MoveSibling1,
16035 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16036 OPC_CheckChild0Integer, 127|128,127|128,3,
16037 OPC_CheckChild0TypeI32,
16038 OPC_MoveParent,
16039 OPC_CheckType, MVT::v4i32,
16040 OPC_MoveParent,
16041 OPC_CheckType, MVT::v8i16,
16042 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16043 MVT::v8i16, 2, 0, 1,
16044 34,
16045 OPC_MoveChild0,
16046 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16047 OPC_CheckChild0Integer, 0|128,0|128,126,
16048 OPC_CheckChild0TypeI32,
16049 OPC_MoveParent,
16050 OPC_RecordChild1,
16051 OPC_MoveParent,
16052 OPC_MoveSibling1,
16053 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16054 OPC_CheckChild0Integer, 127|128,127|128,3,
16055 OPC_CheckChild0TypeI32,
16056 OPC_MoveParent,
16057 OPC_CheckType, MVT::v4i32,
16058 OPC_MoveParent,
16059 OPC_CheckType, MVT::v8i16,
16060 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16061 MVT::v8i16, 2, 0, 1,
16062 0,
16063 0,
16064 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16065 OPC_CheckChild0Integer, 127|128,127|128,3,
16066 OPC_CheckChild0TypeI32,
16067 OPC_MoveSibling1,
16068 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16069 OPC_MoveChild0,
16070 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
16071 OPC_Scope, 34,
16072 OPC_RecordChild0,
16073 OPC_MoveChild1,
16074 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16075 OPC_CheckChild0Integer, 0|128,0|128,126,
16076 OPC_CheckChild0TypeI32,
16077 OPC_MoveParent,
16078 OPC_MoveSibling1,
16079 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16080 OPC_CheckChild0Integer, 127|128,127|128,1,
16081 OPC_CheckChild0TypeI32,
16082 OPC_MoveParent,
16083 OPC_MoveParent,
16084 OPC_CheckType, MVT::v4i32,
16085 OPC_MoveParent,
16086 OPC_CheckType, MVT::v8i16,
16087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16088 MVT::v8i16, 2, 0, 1,
16089 34,
16090 OPC_MoveChild0,
16091 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16092 OPC_CheckChild0Integer, 0|128,0|128,126,
16093 OPC_CheckChild0TypeI32,
16094 OPC_MoveParent,
16095 OPC_RecordChild1,
16096 OPC_MoveSibling1,
16097 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16098 OPC_CheckChild0Integer, 127|128,127|128,1,
16099 OPC_CheckChild0TypeI32,
16100 OPC_MoveParent,
16101 OPC_MoveParent,
16102 OPC_CheckType, MVT::v4i32,
16103 OPC_MoveParent,
16104 OPC_CheckType, MVT::v8i16,
16105 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16106 MVT::v8i16, 2, 0, 1,
16107 0,
16108 63, TARGET_VAL(ISD::SPLAT_VECTOR),
16109 OPC_CheckChild0Integer, 127|128,127|128,1,
16110 OPC_CheckChild0TypeI32,
16111 OPC_MoveSibling1,
16112 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16113 OPC_Scope, 25,
16114 OPC_RecordChild0,
16115 OPC_MoveChild1,
16116 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16117 OPC_CheckChild0Integer, 0|128,0|128,126,
16118 OPC_CheckChild0TypeI32,
16119 OPC_MoveParent,
16120 OPC_MoveParent,
16121 OPC_MoveParent,
16122 OPC_CheckType, MVT::v4i32,
16123 OPC_MoveParent,
16124 OPC_CheckType, MVT::v8i16,
16125 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16126 MVT::v8i16, 2, 0, 1,
16127 25,
16128 OPC_MoveChild0,
16129 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16130 OPC_CheckChild0Integer, 0|128,0|128,126,
16131 OPC_CheckChild0TypeI32,
16132 OPC_MoveParent,
16133 OPC_RecordChild1,
16134 OPC_MoveParent,
16135 OPC_MoveParent,
16136 OPC_CheckType, MVT::v4i32,
16137 OPC_MoveParent,
16138 OPC_CheckType, MVT::v8i16,
16139 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16140 MVT::v8i16, 2, 0, 1,
16141 0,
16142 0,
16143 0,
16144 0,
16145 0,
16146 0,
16147 79|128,23, TARGET_VAL(ISD::SMAX),
16148 OPC_MoveChild0,
16149 OPC_SwitchOpcode , 123|128,11, TARGET_VAL(ISD::SMIN),
16150 OPC_Scope, 63|128,3,
16151 OPC_RecordChild0,
16152 OPC_MoveChild1,
16153 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16154 OPC_Scope, 98|128,2,
16155 OPC_CheckChild0Integer, 127|128,0,
16156 OPC_CheckChild0TypeI32,
16157 OPC_MoveParent,
16158 OPC_MoveSibling1,
16159 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16160 OPC_CheckChild0Integer, 0|128,127,
16161 OPC_CheckChild0TypeI32,
16162 OPC_MoveParent,
16163 OPC_MoveSibling1,
16164 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16165 OPC_CheckChild0Integer, 127|128,1,
16166 OPC_CheckChild0TypeI32,
16167 OPC_MoveParent,
16168 OPC_CheckType, MVT::v8i16,
16169 OPC_MoveSibling1,
16170 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16171 OPC_MoveChild0,
16172 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
16173 OPC_MoveChild0,
16174 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
16175 OPC_Scope, 40,
16176 OPC_RecordChild0,
16177 OPC_MoveChild1,
16178 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16179 OPC_CheckChild0Integer, 127|128,0,
16180 OPC_CheckChild0TypeI32,
16181 OPC_MoveParent,
16182 OPC_MoveSibling1,
16183 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16184 OPC_CheckChild0Integer, 0|128,127,
16185 OPC_CheckChild0TypeI32,
16186 OPC_MoveParent,
16187 OPC_MoveSibling1,
16188 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16189 OPC_CheckChild0Integer, 127|128,1,
16190 OPC_CheckChild0TypeI32,
16191 OPC_MoveParent,
16192 OPC_CheckType, MVT::v8i16,
16193 OPC_MoveParent,
16194 OPC_CheckType, MVT::v16i8,
16195 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16196 MVT::v16i8, 2, 0, 1,
16197 40,
16198 OPC_MoveChild0,
16199 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16200 OPC_CheckChild0Integer, 127|128,0,
16201 OPC_CheckChild0TypeI32,
16202 OPC_MoveParent,
16203 OPC_RecordChild1,
16204 OPC_MoveSibling1,
16205 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16206 OPC_CheckChild0Integer, 0|128,127,
16207 OPC_CheckChild0TypeI32,
16208 OPC_MoveParent,
16209 OPC_MoveSibling1,
16210 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16211 OPC_CheckChild0Integer, 127|128,1,
16212 OPC_CheckChild0TypeI32,
16213 OPC_MoveParent,
16214 OPC_CheckType, MVT::v8i16,
16215 OPC_MoveParent,
16216 OPC_CheckType, MVT::v16i8,
16217 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16218 MVT::v16i8, 2, 0, 1,
16219 0,
16220 76, TARGET_VAL(ISD::SPLAT_VECTOR),
16221 OPC_CheckChild0Integer, 0|128,127,
16222 OPC_CheckChild0TypeI32,
16223 OPC_MoveSibling1,
16224 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16225 OPC_Scope, 32,
16226 OPC_RecordChild0,
16227 OPC_MoveChild1,
16228 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16229 OPC_CheckChild0Integer, 127|128,0,
16230 OPC_CheckChild0TypeI32,
16231 OPC_MoveParent,
16232 OPC_MoveParent,
16233 OPC_MoveSibling1,
16234 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16235 OPC_CheckChild0Integer, 127|128,1,
16236 OPC_CheckChild0TypeI32,
16237 OPC_MoveParent,
16238 OPC_CheckType, MVT::v8i16,
16239 OPC_MoveParent,
16240 OPC_CheckType, MVT::v16i8,
16241 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16242 MVT::v16i8, 2, 0, 1,
16243 32,
16244 OPC_MoveChild0,
16245 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16246 OPC_CheckChild0Integer, 127|128,0,
16247 OPC_CheckChild0TypeI32,
16248 OPC_MoveParent,
16249 OPC_RecordChild1,
16250 OPC_MoveParent,
16251 OPC_MoveSibling1,
16252 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16253 OPC_CheckChild0Integer, 127|128,1,
16254 OPC_CheckChild0TypeI32,
16255 OPC_MoveParent,
16256 OPC_CheckType, MVT::v8i16,
16257 OPC_MoveParent,
16258 OPC_CheckType, MVT::v16i8,
16259 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16260 MVT::v16i8, 2, 0, 1,
16261 0,
16262 0,
16263 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16264 OPC_CheckChild0Integer, 127|128,1,
16265 OPC_CheckChild0TypeI32,
16266 OPC_MoveSibling1,
16267 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16268 OPC_MoveChild0,
16269 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
16270 OPC_Scope, 32,
16271 OPC_RecordChild0,
16272 OPC_MoveChild1,
16273 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16274 OPC_CheckChild0Integer, 127|128,0,
16275 OPC_CheckChild0TypeI32,
16276 OPC_MoveParent,
16277 OPC_MoveSibling1,
16278 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16279 OPC_CheckChild0Integer, 0|128,127,
16280 OPC_CheckChild0TypeI32,
16281 OPC_MoveParent,
16282 OPC_MoveParent,
16283 OPC_CheckType, MVT::v8i16,
16284 OPC_MoveParent,
16285 OPC_CheckType, MVT::v16i8,
16286 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16287 MVT::v16i8, 2, 0, 1,
16288 32,
16289 OPC_MoveChild0,
16290 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16291 OPC_CheckChild0Integer, 127|128,0,
16292 OPC_CheckChild0TypeI32,
16293 OPC_MoveParent,
16294 OPC_RecordChild1,
16295 OPC_MoveSibling1,
16296 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16297 OPC_CheckChild0Integer, 0|128,127,
16298 OPC_CheckChild0TypeI32,
16299 OPC_MoveParent,
16300 OPC_MoveParent,
16301 OPC_CheckType, MVT::v8i16,
16302 OPC_MoveParent,
16303 OPC_CheckType, MVT::v16i8,
16304 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16305 MVT::v16i8, 2, 0, 1,
16306 0,
16307 60, TARGET_VAL(ISD::SPLAT_VECTOR),
16308 OPC_CheckChild0Integer, 0|128,127,
16309 OPC_CheckChild0TypeI32,
16310 OPC_MoveSibling1,
16311 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16312 OPC_Scope, 24,
16313 OPC_RecordChild0,
16314 OPC_MoveChild1,
16315 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16316 OPC_CheckChild0Integer, 127|128,0,
16317 OPC_CheckChild0TypeI32,
16318 OPC_MoveParent,
16319 OPC_MoveParent,
16320 OPC_MoveParent,
16321 OPC_CheckType, MVT::v8i16,
16322 OPC_MoveParent,
16323 OPC_CheckType, MVT::v16i8,
16324 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16325 MVT::v16i8, 2, 0, 1,
16326 24,
16327 OPC_MoveChild0,
16328 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16329 OPC_CheckChild0Integer, 127|128,0,
16330 OPC_CheckChild0TypeI32,
16331 OPC_MoveParent,
16332 OPC_RecordChild1,
16333 OPC_MoveParent,
16334 OPC_MoveParent,
16335 OPC_CheckType, MVT::v8i16,
16336 OPC_MoveParent,
16337 OPC_CheckType, MVT::v16i8,
16338 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16339 MVT::v16i8, 2, 0, 1,
16340 0,
16341 0,
16342 0,
16343 83,
16344 OPC_CheckChild0Integer, 127|128,127|128,1,
16345 OPC_CheckChild0TypeI32,
16346 OPC_MoveParent,
16347 OPC_MoveSibling1,
16348 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16349 OPC_CheckChild0Integer, 0|128,0|128,126,
16350 OPC_CheckChild0TypeI32,
16351 OPC_MoveParent,
16352 OPC_MoveSibling1,
16353 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16354 OPC_CheckChild0Integer, 127|128,127|128,3,
16355 OPC_CheckChild0TypeI32,
16356 OPC_MoveParent,
16357 OPC_CheckType, MVT::v4i32,
16358 OPC_MoveSibling1,
16359 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16360 OPC_MoveChild0,
16361 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16362 OPC_MoveChild0,
16363 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16364 OPC_RecordChild0,
16365 OPC_MoveChild1,
16366 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16367 OPC_CheckChild0Integer, 127|128,127|128,1,
16368 OPC_CheckChild0TypeI32,
16369 OPC_MoveParent,
16370 OPC_MoveSibling1,
16371 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16372 OPC_CheckChild0Integer, 0|128,0|128,126,
16373 OPC_CheckChild0TypeI32,
16374 OPC_MoveParent,
16375 OPC_MoveSibling1,
16376 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16377 OPC_CheckChild0Integer, 127|128,127|128,3,
16378 OPC_CheckChild0TypeI32,
16379 OPC_MoveParent,
16380 OPC_CheckType, MVT::v4i32,
16381 OPC_MoveParent,
16382 OPC_CheckType, MVT::v8i16,
16383 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16384 MVT::v8i16, 2, 0, 1,
16385 0,
16386 103|128,2,
16387 OPC_MoveChild0,
16388 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16389 OPC_CheckChild0Integer, 127|128,0,
16390 OPC_CheckChild0TypeI32,
16391 OPC_MoveParent,
16392 OPC_RecordChild1,
16393 OPC_MoveSibling1,
16394 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16395 OPC_CheckChild0Integer, 0|128,127,
16396 OPC_CheckChild0TypeI32,
16397 OPC_MoveParent,
16398 OPC_MoveSibling1,
16399 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16400 OPC_CheckChild0Integer, 127|128,1,
16401 OPC_CheckChild0TypeI32,
16402 OPC_MoveParent,
16403 OPC_CheckType, MVT::v8i16,
16404 OPC_MoveSibling1,
16405 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16406 OPC_MoveChild0,
16407 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
16408 OPC_MoveChild0,
16409 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
16410 OPC_Scope, 40,
16411 OPC_RecordChild0,
16412 OPC_MoveChild1,
16413 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16414 OPC_CheckChild0Integer, 127|128,0,
16415 OPC_CheckChild0TypeI32,
16416 OPC_MoveParent,
16417 OPC_MoveSibling1,
16418 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16419 OPC_CheckChild0Integer, 0|128,127,
16420 OPC_CheckChild0TypeI32,
16421 OPC_MoveParent,
16422 OPC_MoveSibling1,
16423 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16424 OPC_CheckChild0Integer, 127|128,1,
16425 OPC_CheckChild0TypeI32,
16426 OPC_MoveParent,
16427 OPC_CheckType, MVT::v8i16,
16428 OPC_MoveParent,
16429 OPC_CheckType, MVT::v16i8,
16430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16431 MVT::v16i8, 2, 0, 1,
16432 40,
16433 OPC_MoveChild0,
16434 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16435 OPC_CheckChild0Integer, 127|128,0,
16436 OPC_CheckChild0TypeI32,
16437 OPC_MoveParent,
16438 OPC_RecordChild1,
16439 OPC_MoveSibling1,
16440 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16441 OPC_CheckChild0Integer, 0|128,127,
16442 OPC_CheckChild0TypeI32,
16443 OPC_MoveParent,
16444 OPC_MoveSibling1,
16445 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16446 OPC_CheckChild0Integer, 127|128,1,
16447 OPC_CheckChild0TypeI32,
16448 OPC_MoveParent,
16449 OPC_CheckType, MVT::v8i16,
16450 OPC_MoveParent,
16451 OPC_CheckType, MVT::v16i8,
16452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16453 MVT::v16i8, 2, 0, 1,
16454 0,
16455 76, TARGET_VAL(ISD::SPLAT_VECTOR),
16456 OPC_CheckChild0Integer, 0|128,127,
16457 OPC_CheckChild0TypeI32,
16458 OPC_MoveSibling1,
16459 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16460 OPC_Scope, 32,
16461 OPC_RecordChild0,
16462 OPC_MoveChild1,
16463 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16464 OPC_CheckChild0Integer, 127|128,0,
16465 OPC_CheckChild0TypeI32,
16466 OPC_MoveParent,
16467 OPC_MoveParent,
16468 OPC_MoveSibling1,
16469 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16470 OPC_CheckChild0Integer, 127|128,1,
16471 OPC_CheckChild0TypeI32,
16472 OPC_MoveParent,
16473 OPC_CheckType, MVT::v8i16,
16474 OPC_MoveParent,
16475 OPC_CheckType, MVT::v16i8,
16476 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16477 MVT::v16i8, 2, 0, 1,
16478 32,
16479 OPC_MoveChild0,
16480 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16481 OPC_CheckChild0Integer, 127|128,0,
16482 OPC_CheckChild0TypeI32,
16483 OPC_MoveParent,
16484 OPC_RecordChild1,
16485 OPC_MoveParent,
16486 OPC_MoveSibling1,
16487 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16488 OPC_CheckChild0Integer, 127|128,1,
16489 OPC_CheckChild0TypeI32,
16490 OPC_MoveParent,
16491 OPC_CheckType, MVT::v8i16,
16492 OPC_MoveParent,
16493 OPC_CheckType, MVT::v16i8,
16494 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16495 MVT::v16i8, 2, 0, 1,
16496 0,
16497 0,
16498 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16499 OPC_CheckChild0Integer, 127|128,1,
16500 OPC_CheckChild0TypeI32,
16501 OPC_MoveSibling1,
16502 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16503 OPC_MoveChild0,
16504 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
16505 OPC_Scope, 32,
16506 OPC_RecordChild0,
16507 OPC_MoveChild1,
16508 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16509 OPC_CheckChild0Integer, 127|128,0,
16510 OPC_CheckChild0TypeI32,
16511 OPC_MoveParent,
16512 OPC_MoveSibling1,
16513 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16514 OPC_CheckChild0Integer, 0|128,127,
16515 OPC_CheckChild0TypeI32,
16516 OPC_MoveParent,
16517 OPC_MoveParent,
16518 OPC_CheckType, MVT::v8i16,
16519 OPC_MoveParent,
16520 OPC_CheckType, MVT::v16i8,
16521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16522 MVT::v16i8, 2, 0, 1,
16523 32,
16524 OPC_MoveChild0,
16525 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16526 OPC_CheckChild0Integer, 127|128,0,
16527 OPC_CheckChild0TypeI32,
16528 OPC_MoveParent,
16529 OPC_RecordChild1,
16530 OPC_MoveSibling1,
16531 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16532 OPC_CheckChild0Integer, 0|128,127,
16533 OPC_CheckChild0TypeI32,
16534 OPC_MoveParent,
16535 OPC_MoveParent,
16536 OPC_CheckType, MVT::v8i16,
16537 OPC_MoveParent,
16538 OPC_CheckType, MVT::v16i8,
16539 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16540 MVT::v16i8, 2, 0, 1,
16541 0,
16542 60, TARGET_VAL(ISD::SPLAT_VECTOR),
16543 OPC_CheckChild0Integer, 0|128,127,
16544 OPC_CheckChild0TypeI32,
16545 OPC_MoveSibling1,
16546 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16547 OPC_Scope, 24,
16548 OPC_RecordChild0,
16549 OPC_MoveChild1,
16550 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16551 OPC_CheckChild0Integer, 127|128,0,
16552 OPC_CheckChild0TypeI32,
16553 OPC_MoveParent,
16554 OPC_MoveParent,
16555 OPC_MoveParent,
16556 OPC_CheckType, MVT::v8i16,
16557 OPC_MoveParent,
16558 OPC_CheckType, MVT::v16i8,
16559 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16560 MVT::v16i8, 2, 0, 1,
16561 24,
16562 OPC_MoveChild0,
16563 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16564 OPC_CheckChild0Integer, 127|128,0,
16565 OPC_CheckChild0TypeI32,
16566 OPC_MoveParent,
16567 OPC_RecordChild1,
16568 OPC_MoveParent,
16569 OPC_MoveParent,
16570 OPC_CheckType, MVT::v8i16,
16571 OPC_MoveParent,
16572 OPC_CheckType, MVT::v16i8,
16573 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16574 MVT::v16i8, 2, 0, 1,
16575 0,
16576 0,
16577 0,
16578 78|128,2,
16579 OPC_RecordChild0,
16580 OPC_MoveChild1,
16581 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16582 OPC_CheckChild0Integer, 127|128,127|128,1,
16583 OPC_CheckChild0TypeI32,
16584 OPC_MoveParent,
16585 OPC_MoveSibling1,
16586 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16587 OPC_CheckChild0Integer, 0|128,0|128,126,
16588 OPC_CheckChild0TypeI32,
16589 OPC_MoveParent,
16590 OPC_MoveSibling1,
16591 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16592 OPC_CheckChild0Integer, 127|128,127|128,3,
16593 OPC_CheckChild0TypeI32,
16594 OPC_MoveParent,
16595 OPC_CheckType, MVT::v4i32,
16596 OPC_MoveSibling1,
16597 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16598 OPC_MoveChild0,
16599 OPC_SwitchOpcode , 5|128,1, TARGET_VAL(ISD::SMAX),
16600 OPC_MoveChild0,
16601 OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SMIN),
16602 OPC_MoveChild0,
16603 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16604 OPC_CheckChild0Integer, 127|128,127|128,1,
16605 OPC_CheckChild0TypeI32,
16606 OPC_MoveParent,
16607 OPC_RecordChild1,
16608 OPC_MoveSibling1,
16609 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16610 OPC_CheckChild0Integer, 0|128,0|128,126,
16611 OPC_CheckChild0TypeI32,
16612 OPC_MoveParent,
16613 OPC_MoveSibling1,
16614 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16615 OPC_CheckChild0Integer, 127|128,127|128,3,
16616 OPC_CheckChild0TypeI32,
16617 OPC_MoveParent,
16618 OPC_CheckType, MVT::v4i32,
16619 OPC_MoveParent,
16620 OPC_CheckType, MVT::v8i16,
16621 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16622 MVT::v8i16, 2, 0, 1,
16623 81, TARGET_VAL(ISD::SPLAT_VECTOR),
16624 OPC_CheckChild0Integer, 0|128,0|128,126,
16625 OPC_CheckChild0TypeI32,
16626 OPC_MoveSibling1,
16627 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16628 OPC_Scope, 34,
16629 OPC_RecordChild0,
16630 OPC_MoveChild1,
16631 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16632 OPC_CheckChild0Integer, 127|128,127|128,1,
16633 OPC_CheckChild0TypeI32,
16634 OPC_MoveParent,
16635 OPC_MoveParent,
16636 OPC_MoveSibling1,
16637 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16638 OPC_CheckChild0Integer, 127|128,127|128,3,
16639 OPC_CheckChild0TypeI32,
16640 OPC_MoveParent,
16641 OPC_CheckType, MVT::v4i32,
16642 OPC_MoveParent,
16643 OPC_CheckType, MVT::v8i16,
16644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16645 MVT::v8i16, 2, 0, 1,
16646 34,
16647 OPC_MoveChild0,
16648 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16649 OPC_CheckChild0Integer, 127|128,127|128,1,
16650 OPC_CheckChild0TypeI32,
16651 OPC_MoveParent,
16652 OPC_RecordChild1,
16653 OPC_MoveParent,
16654 OPC_MoveSibling1,
16655 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16656 OPC_CheckChild0Integer, 127|128,127|128,3,
16657 OPC_CheckChild0TypeI32,
16658 OPC_MoveParent,
16659 OPC_CheckType, MVT::v4i32,
16660 OPC_MoveParent,
16661 OPC_CheckType, MVT::v8i16,
16662 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16663 MVT::v8i16, 2, 0, 1,
16664 0,
16665 0,
16666 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16667 OPC_CheckChild0Integer, 127|128,127|128,3,
16668 OPC_CheckChild0TypeI32,
16669 OPC_MoveSibling1,
16670 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16671 OPC_MoveChild0,
16672 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
16673 OPC_Scope, 34,
16674 OPC_RecordChild0,
16675 OPC_MoveChild1,
16676 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16677 OPC_CheckChild0Integer, 127|128,127|128,1,
16678 OPC_CheckChild0TypeI32,
16679 OPC_MoveParent,
16680 OPC_MoveSibling1,
16681 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16682 OPC_CheckChild0Integer, 0|128,0|128,126,
16683 OPC_CheckChild0TypeI32,
16684 OPC_MoveParent,
16685 OPC_MoveParent,
16686 OPC_CheckType, MVT::v4i32,
16687 OPC_MoveParent,
16688 OPC_CheckType, MVT::v8i16,
16689 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16690 MVT::v8i16, 2, 0, 1,
16691 34,
16692 OPC_MoveChild0,
16693 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16694 OPC_CheckChild0Integer, 127|128,127|128,1,
16695 OPC_CheckChild0TypeI32,
16696 OPC_MoveParent,
16697 OPC_RecordChild1,
16698 OPC_MoveSibling1,
16699 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16700 OPC_CheckChild0Integer, 0|128,0|128,126,
16701 OPC_CheckChild0TypeI32,
16702 OPC_MoveParent,
16703 OPC_MoveParent,
16704 OPC_CheckType, MVT::v4i32,
16705 OPC_MoveParent,
16706 OPC_CheckType, MVT::v8i16,
16707 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16708 MVT::v8i16, 2, 0, 1,
16709 0,
16710 63, TARGET_VAL(ISD::SPLAT_VECTOR),
16711 OPC_CheckChild0Integer, 0|128,0|128,126,
16712 OPC_CheckChild0TypeI32,
16713 OPC_MoveSibling1,
16714 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16715 OPC_Scope, 25,
16716 OPC_RecordChild0,
16717 OPC_MoveChild1,
16718 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16719 OPC_CheckChild0Integer, 127|128,127|128,1,
16720 OPC_CheckChild0TypeI32,
16721 OPC_MoveParent,
16722 OPC_MoveParent,
16723 OPC_MoveParent,
16724 OPC_CheckType, MVT::v4i32,
16725 OPC_MoveParent,
16726 OPC_CheckType, MVT::v8i16,
16727 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16728 MVT::v8i16, 2, 0, 1,
16729 25,
16730 OPC_MoveChild0,
16731 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16732 OPC_CheckChild0Integer, 127|128,127|128,1,
16733 OPC_CheckChild0TypeI32,
16734 OPC_MoveParent,
16735 OPC_RecordChild1,
16736 OPC_MoveParent,
16737 OPC_MoveParent,
16738 OPC_CheckType, MVT::v4i32,
16739 OPC_MoveParent,
16740 OPC_CheckType, MVT::v8i16,
16741 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16742 MVT::v8i16, 2, 0, 1,
16743 0,
16744 0,
16745 0,
16746 125|128,2,
16747 OPC_MoveChild0,
16748 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16749 OPC_CheckChild0Integer, 127|128,127|128,1,
16750 OPC_CheckChild0TypeI32,
16751 OPC_MoveParent,
16752 OPC_RecordChild1,
16753 OPC_MoveSibling1,
16754 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16755 OPC_CheckChild0Integer, 0|128,0|128,126,
16756 OPC_CheckChild0TypeI32,
16757 OPC_MoveParent,
16758 OPC_MoveSibling1,
16759 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16760 OPC_CheckChild0Integer, 127|128,127|128,3,
16761 OPC_CheckChild0TypeI32,
16762 OPC_MoveParent,
16763 OPC_CheckType, MVT::v4i32,
16764 OPC_MoveSibling1,
16765 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16766 OPC_MoveChild0,
16767 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
16768 OPC_MoveChild0,
16769 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
16770 OPC_Scope, 43,
16771 OPC_RecordChild0,
16772 OPC_MoveChild1,
16773 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16774 OPC_CheckChild0Integer, 127|128,127|128,1,
16775 OPC_CheckChild0TypeI32,
16776 OPC_MoveParent,
16777 OPC_MoveSibling1,
16778 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16779 OPC_CheckChild0Integer, 0|128,0|128,126,
16780 OPC_CheckChild0TypeI32,
16781 OPC_MoveParent,
16782 OPC_MoveSibling1,
16783 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16784 OPC_CheckChild0Integer, 127|128,127|128,3,
16785 OPC_CheckChild0TypeI32,
16786 OPC_MoveParent,
16787 OPC_CheckType, MVT::v4i32,
16788 OPC_MoveParent,
16789 OPC_CheckType, MVT::v8i16,
16790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16791 MVT::v8i16, 2, 0, 1,
16792 43,
16793 OPC_MoveChild0,
16794 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16795 OPC_CheckChild0Integer, 127|128,127|128,1,
16796 OPC_CheckChild0TypeI32,
16797 OPC_MoveParent,
16798 OPC_RecordChild1,
16799 OPC_MoveSibling1,
16800 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16801 OPC_CheckChild0Integer, 0|128,0|128,126,
16802 OPC_CheckChild0TypeI32,
16803 OPC_MoveParent,
16804 OPC_MoveSibling1,
16805 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16806 OPC_CheckChild0Integer, 127|128,127|128,3,
16807 OPC_CheckChild0TypeI32,
16808 OPC_MoveParent,
16809 OPC_CheckType, MVT::v4i32,
16810 OPC_MoveParent,
16811 OPC_CheckType, MVT::v8i16,
16812 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16813 MVT::v8i16, 2, 0, 1,
16814 0,
16815 81, TARGET_VAL(ISD::SPLAT_VECTOR),
16816 OPC_CheckChild0Integer, 0|128,0|128,126,
16817 OPC_CheckChild0TypeI32,
16818 OPC_MoveSibling1,
16819 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16820 OPC_Scope, 34,
16821 OPC_RecordChild0,
16822 OPC_MoveChild1,
16823 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16824 OPC_CheckChild0Integer, 127|128,127|128,1,
16825 OPC_CheckChild0TypeI32,
16826 OPC_MoveParent,
16827 OPC_MoveParent,
16828 OPC_MoveSibling1,
16829 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16830 OPC_CheckChild0Integer, 127|128,127|128,3,
16831 OPC_CheckChild0TypeI32,
16832 OPC_MoveParent,
16833 OPC_CheckType, MVT::v4i32,
16834 OPC_MoveParent,
16835 OPC_CheckType, MVT::v8i16,
16836 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16837 MVT::v8i16, 2, 0, 1,
16838 34,
16839 OPC_MoveChild0,
16840 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16841 OPC_CheckChild0Integer, 127|128,127|128,1,
16842 OPC_CheckChild0TypeI32,
16843 OPC_MoveParent,
16844 OPC_RecordChild1,
16845 OPC_MoveParent,
16846 OPC_MoveSibling1,
16847 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16848 OPC_CheckChild0Integer, 127|128,127|128,3,
16849 OPC_CheckChild0TypeI32,
16850 OPC_MoveParent,
16851 OPC_CheckType, MVT::v4i32,
16852 OPC_MoveParent,
16853 OPC_CheckType, MVT::v8i16,
16854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16855 MVT::v8i16, 2, 0, 1,
16856 0,
16857 0,
16858 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
16859 OPC_CheckChild0Integer, 127|128,127|128,3,
16860 OPC_CheckChild0TypeI32,
16861 OPC_MoveSibling1,
16862 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
16863 OPC_MoveChild0,
16864 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
16865 OPC_Scope, 34,
16866 OPC_RecordChild0,
16867 OPC_MoveChild1,
16868 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16869 OPC_CheckChild0Integer, 127|128,127|128,1,
16870 OPC_CheckChild0TypeI32,
16871 OPC_MoveParent,
16872 OPC_MoveSibling1,
16873 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16874 OPC_CheckChild0Integer, 0|128,0|128,126,
16875 OPC_CheckChild0TypeI32,
16876 OPC_MoveParent,
16877 OPC_MoveParent,
16878 OPC_CheckType, MVT::v4i32,
16879 OPC_MoveParent,
16880 OPC_CheckType, MVT::v8i16,
16881 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16882 MVT::v8i16, 2, 0, 1,
16883 34,
16884 OPC_MoveChild0,
16885 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16886 OPC_CheckChild0Integer, 127|128,127|128,1,
16887 OPC_CheckChild0TypeI32,
16888 OPC_MoveParent,
16889 OPC_RecordChild1,
16890 OPC_MoveSibling1,
16891 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16892 OPC_CheckChild0Integer, 0|128,0|128,126,
16893 OPC_CheckChild0TypeI32,
16894 OPC_MoveParent,
16895 OPC_MoveParent,
16896 OPC_CheckType, MVT::v4i32,
16897 OPC_MoveParent,
16898 OPC_CheckType, MVT::v8i16,
16899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16900 MVT::v8i16, 2, 0, 1,
16901 0,
16902 63, TARGET_VAL(ISD::SPLAT_VECTOR),
16903 OPC_CheckChild0Integer, 0|128,0|128,126,
16904 OPC_CheckChild0TypeI32,
16905 OPC_MoveSibling1,
16906 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16907 OPC_Scope, 25,
16908 OPC_RecordChild0,
16909 OPC_MoveChild1,
16910 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16911 OPC_CheckChild0Integer, 127|128,127|128,1,
16912 OPC_CheckChild0TypeI32,
16913 OPC_MoveParent,
16914 OPC_MoveParent,
16915 OPC_MoveParent,
16916 OPC_CheckType, MVT::v4i32,
16917 OPC_MoveParent,
16918 OPC_CheckType, MVT::v8i16,
16919 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16920 MVT::v8i16, 2, 0, 1,
16921 25,
16922 OPC_MoveChild0,
16923 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16924 OPC_CheckChild0Integer, 127|128,127|128,1,
16925 OPC_CheckChild0TypeI32,
16926 OPC_MoveParent,
16927 OPC_RecordChild1,
16928 OPC_MoveParent,
16929 OPC_MoveParent,
16930 OPC_CheckType, MVT::v4i32,
16931 OPC_MoveParent,
16932 OPC_CheckType, MVT::v8i16,
16933 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
16934 MVT::v8i16, 2, 0, 1,
16935 0,
16936 0,
16937 0,
16938 0,
16939 73|128,11, TARGET_VAL(ISD::SPLAT_VECTOR),
16940 OPC_Scope, 76|128,5,
16941 OPC_CheckChild0Integer, 0|128,127,
16942 OPC_CheckChild0TypeI32,
16943 OPC_MoveSibling1,
16944 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
16945 OPC_Scope, 95|128,2,
16946 OPC_RecordChild0,
16947 OPC_MoveChild1,
16948 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16949 OPC_CheckChild0Integer, 127|128,0,
16950 OPC_CheckChild0TypeI32,
16951 OPC_MoveParent,
16952 OPC_MoveParent,
16953 OPC_MoveSibling1,
16954 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16955 OPC_CheckChild0Integer, 127|128,1,
16956 OPC_CheckChild0TypeI32,
16957 OPC_MoveParent,
16958 OPC_CheckType, MVT::v8i16,
16959 OPC_MoveSibling1,
16960 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16961 OPC_MoveChild0,
16962 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
16963 OPC_MoveChild0,
16964 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
16965 OPC_Scope, 40,
16966 OPC_RecordChild0,
16967 OPC_MoveChild1,
16968 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16969 OPC_CheckChild0Integer, 127|128,0,
16970 OPC_CheckChild0TypeI32,
16971 OPC_MoveParent,
16972 OPC_MoveSibling1,
16973 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16974 OPC_CheckChild0Integer, 0|128,127,
16975 OPC_CheckChild0TypeI32,
16976 OPC_MoveParent,
16977 OPC_MoveSibling1,
16978 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16979 OPC_CheckChild0Integer, 127|128,1,
16980 OPC_CheckChild0TypeI32,
16981 OPC_MoveParent,
16982 OPC_CheckType, MVT::v8i16,
16983 OPC_MoveParent,
16984 OPC_CheckType, MVT::v16i8,
16985 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
16986 MVT::v16i8, 2, 0, 1,
16987 40,
16988 OPC_MoveChild0,
16989 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16990 OPC_CheckChild0Integer, 127|128,0,
16991 OPC_CheckChild0TypeI32,
16992 OPC_MoveParent,
16993 OPC_RecordChild1,
16994 OPC_MoveSibling1,
16995 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
16996 OPC_CheckChild0Integer, 0|128,127,
16997 OPC_CheckChild0TypeI32,
16998 OPC_MoveParent,
16999 OPC_MoveSibling1,
17000 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17001 OPC_CheckChild0Integer, 127|128,1,
17002 OPC_CheckChild0TypeI32,
17003 OPC_MoveParent,
17004 OPC_CheckType, MVT::v8i16,
17005 OPC_MoveParent,
17006 OPC_CheckType, MVT::v16i8,
17007 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17008 MVT::v16i8, 2, 0, 1,
17009 0,
17010 76, TARGET_VAL(ISD::SPLAT_VECTOR),
17011 OPC_CheckChild0Integer, 0|128,127,
17012 OPC_CheckChild0TypeI32,
17013 OPC_MoveSibling1,
17014 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17015 OPC_Scope, 32,
17016 OPC_RecordChild0,
17017 OPC_MoveChild1,
17018 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17019 OPC_CheckChild0Integer, 127|128,0,
17020 OPC_CheckChild0TypeI32,
17021 OPC_MoveParent,
17022 OPC_MoveParent,
17023 OPC_MoveSibling1,
17024 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17025 OPC_CheckChild0Integer, 127|128,1,
17026 OPC_CheckChild0TypeI32,
17027 OPC_MoveParent,
17028 OPC_CheckType, MVT::v8i16,
17029 OPC_MoveParent,
17030 OPC_CheckType, MVT::v16i8,
17031 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17032 MVT::v16i8, 2, 0, 1,
17033 32,
17034 OPC_MoveChild0,
17035 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17036 OPC_CheckChild0Integer, 127|128,0,
17037 OPC_CheckChild0TypeI32,
17038 OPC_MoveParent,
17039 OPC_RecordChild1,
17040 OPC_MoveParent,
17041 OPC_MoveSibling1,
17042 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17043 OPC_CheckChild0Integer, 127|128,1,
17044 OPC_CheckChild0TypeI32,
17045 OPC_MoveParent,
17046 OPC_CheckType, MVT::v8i16,
17047 OPC_MoveParent,
17048 OPC_CheckType, MVT::v16i8,
17049 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17050 MVT::v16i8, 2, 0, 1,
17051 0,
17052 0,
17053 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17054 OPC_CheckChild0Integer, 127|128,1,
17055 OPC_CheckChild0TypeI32,
17056 OPC_MoveSibling1,
17057 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17058 OPC_MoveChild0,
17059 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
17060 OPC_Scope, 32,
17061 OPC_RecordChild0,
17062 OPC_MoveChild1,
17063 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17064 OPC_CheckChild0Integer, 127|128,0,
17065 OPC_CheckChild0TypeI32,
17066 OPC_MoveParent,
17067 OPC_MoveSibling1,
17068 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17069 OPC_CheckChild0Integer, 0|128,127,
17070 OPC_CheckChild0TypeI32,
17071 OPC_MoveParent,
17072 OPC_MoveParent,
17073 OPC_CheckType, MVT::v8i16,
17074 OPC_MoveParent,
17075 OPC_CheckType, MVT::v16i8,
17076 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17077 MVT::v16i8, 2, 0, 1,
17078 32,
17079 OPC_MoveChild0,
17080 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17081 OPC_CheckChild0Integer, 127|128,0,
17082 OPC_CheckChild0TypeI32,
17083 OPC_MoveParent,
17084 OPC_RecordChild1,
17085 OPC_MoveSibling1,
17086 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17087 OPC_CheckChild0Integer, 0|128,127,
17088 OPC_CheckChild0TypeI32,
17089 OPC_MoveParent,
17090 OPC_MoveParent,
17091 OPC_CheckType, MVT::v8i16,
17092 OPC_MoveParent,
17093 OPC_CheckType, MVT::v16i8,
17094 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17095 MVT::v16i8, 2, 0, 1,
17096 0,
17097 60, TARGET_VAL(ISD::SPLAT_VECTOR),
17098 OPC_CheckChild0Integer, 0|128,127,
17099 OPC_CheckChild0TypeI32,
17100 OPC_MoveSibling1,
17101 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17102 OPC_Scope, 24,
17103 OPC_RecordChild0,
17104 OPC_MoveChild1,
17105 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17106 OPC_CheckChild0Integer, 127|128,0,
17107 OPC_CheckChild0TypeI32,
17108 OPC_MoveParent,
17109 OPC_MoveParent,
17110 OPC_MoveParent,
17111 OPC_CheckType, MVT::v8i16,
17112 OPC_MoveParent,
17113 OPC_CheckType, MVT::v16i8,
17114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17115 MVT::v16i8, 2, 0, 1,
17116 24,
17117 OPC_MoveChild0,
17118 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17119 OPC_CheckChild0Integer, 127|128,0,
17120 OPC_CheckChild0TypeI32,
17121 OPC_MoveParent,
17122 OPC_RecordChild1,
17123 OPC_MoveParent,
17124 OPC_MoveParent,
17125 OPC_CheckType, MVT::v8i16,
17126 OPC_MoveParent,
17127 OPC_CheckType, MVT::v16i8,
17128 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17129 MVT::v16i8, 2, 0, 1,
17130 0,
17131 0,
17132 0,
17133 95|128,2,
17134 OPC_MoveChild0,
17135 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17136 OPC_CheckChild0Integer, 127|128,0,
17137 OPC_CheckChild0TypeI32,
17138 OPC_MoveParent,
17139 OPC_RecordChild1,
17140 OPC_MoveParent,
17141 OPC_MoveSibling1,
17142 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17143 OPC_CheckChild0Integer, 127|128,1,
17144 OPC_CheckChild0TypeI32,
17145 OPC_MoveParent,
17146 OPC_CheckType, MVT::v8i16,
17147 OPC_MoveSibling1,
17148 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17149 OPC_MoveChild0,
17150 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
17151 OPC_MoveChild0,
17152 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
17153 OPC_Scope, 40,
17154 OPC_RecordChild0,
17155 OPC_MoveChild1,
17156 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17157 OPC_CheckChild0Integer, 127|128,0,
17158 OPC_CheckChild0TypeI32,
17159 OPC_MoveParent,
17160 OPC_MoveSibling1,
17161 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17162 OPC_CheckChild0Integer, 0|128,127,
17163 OPC_CheckChild0TypeI32,
17164 OPC_MoveParent,
17165 OPC_MoveSibling1,
17166 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17167 OPC_CheckChild0Integer, 127|128,1,
17168 OPC_CheckChild0TypeI32,
17169 OPC_MoveParent,
17170 OPC_CheckType, MVT::v8i16,
17171 OPC_MoveParent,
17172 OPC_CheckType, MVT::v16i8,
17173 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17174 MVT::v16i8, 2, 0, 1,
17175 40,
17176 OPC_MoveChild0,
17177 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17178 OPC_CheckChild0Integer, 127|128,0,
17179 OPC_CheckChild0TypeI32,
17180 OPC_MoveParent,
17181 OPC_RecordChild1,
17182 OPC_MoveSibling1,
17183 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17184 OPC_CheckChild0Integer, 0|128,127,
17185 OPC_CheckChild0TypeI32,
17186 OPC_MoveParent,
17187 OPC_MoveSibling1,
17188 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17189 OPC_CheckChild0Integer, 127|128,1,
17190 OPC_CheckChild0TypeI32,
17191 OPC_MoveParent,
17192 OPC_CheckType, MVT::v8i16,
17193 OPC_MoveParent,
17194 OPC_CheckType, MVT::v16i8,
17195 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17196 MVT::v16i8, 2, 0, 1,
17197 0,
17198 76, TARGET_VAL(ISD::SPLAT_VECTOR),
17199 OPC_CheckChild0Integer, 0|128,127,
17200 OPC_CheckChild0TypeI32,
17201 OPC_MoveSibling1,
17202 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17203 OPC_Scope, 32,
17204 OPC_RecordChild0,
17205 OPC_MoveChild1,
17206 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17207 OPC_CheckChild0Integer, 127|128,0,
17208 OPC_CheckChild0TypeI32,
17209 OPC_MoveParent,
17210 OPC_MoveParent,
17211 OPC_MoveSibling1,
17212 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17213 OPC_CheckChild0Integer, 127|128,1,
17214 OPC_CheckChild0TypeI32,
17215 OPC_MoveParent,
17216 OPC_CheckType, MVT::v8i16,
17217 OPC_MoveParent,
17218 OPC_CheckType, MVT::v16i8,
17219 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17220 MVT::v16i8, 2, 0, 1,
17221 32,
17222 OPC_MoveChild0,
17223 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17224 OPC_CheckChild0Integer, 127|128,0,
17225 OPC_CheckChild0TypeI32,
17226 OPC_MoveParent,
17227 OPC_RecordChild1,
17228 OPC_MoveParent,
17229 OPC_MoveSibling1,
17230 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17231 OPC_CheckChild0Integer, 127|128,1,
17232 OPC_CheckChild0TypeI32,
17233 OPC_MoveParent,
17234 OPC_CheckType, MVT::v8i16,
17235 OPC_MoveParent,
17236 OPC_CheckType, MVT::v16i8,
17237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17238 MVT::v16i8, 2, 0, 1,
17239 0,
17240 0,
17241 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17242 OPC_CheckChild0Integer, 127|128,1,
17243 OPC_CheckChild0TypeI32,
17244 OPC_MoveSibling1,
17245 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17246 OPC_MoveChild0,
17247 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
17248 OPC_Scope, 32,
17249 OPC_RecordChild0,
17250 OPC_MoveChild1,
17251 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17252 OPC_CheckChild0Integer, 127|128,0,
17253 OPC_CheckChild0TypeI32,
17254 OPC_MoveParent,
17255 OPC_MoveSibling1,
17256 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17257 OPC_CheckChild0Integer, 0|128,127,
17258 OPC_CheckChild0TypeI32,
17259 OPC_MoveParent,
17260 OPC_MoveParent,
17261 OPC_CheckType, MVT::v8i16,
17262 OPC_MoveParent,
17263 OPC_CheckType, MVT::v16i8,
17264 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17265 MVT::v16i8, 2, 0, 1,
17266 32,
17267 OPC_MoveChild0,
17268 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17269 OPC_CheckChild0Integer, 127|128,0,
17270 OPC_CheckChild0TypeI32,
17271 OPC_MoveParent,
17272 OPC_RecordChild1,
17273 OPC_MoveSibling1,
17274 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17275 OPC_CheckChild0Integer, 0|128,127,
17276 OPC_CheckChild0TypeI32,
17277 OPC_MoveParent,
17278 OPC_MoveParent,
17279 OPC_CheckType, MVT::v8i16,
17280 OPC_MoveParent,
17281 OPC_CheckType, MVT::v16i8,
17282 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17283 MVT::v16i8, 2, 0, 1,
17284 0,
17285 60, TARGET_VAL(ISD::SPLAT_VECTOR),
17286 OPC_CheckChild0Integer, 0|128,127,
17287 OPC_CheckChild0TypeI32,
17288 OPC_MoveSibling1,
17289 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17290 OPC_Scope, 24,
17291 OPC_RecordChild0,
17292 OPC_MoveChild1,
17293 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17294 OPC_CheckChild0Integer, 127|128,0,
17295 OPC_CheckChild0TypeI32,
17296 OPC_MoveParent,
17297 OPC_MoveParent,
17298 OPC_MoveParent,
17299 OPC_CheckType, MVT::v8i16,
17300 OPC_MoveParent,
17301 OPC_CheckType, MVT::v16i8,
17302 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17303 MVT::v16i8, 2, 0, 1,
17304 24,
17305 OPC_MoveChild0,
17306 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17307 OPC_CheckChild0Integer, 127|128,0,
17308 OPC_CheckChild0TypeI32,
17309 OPC_MoveParent,
17310 OPC_RecordChild1,
17311 OPC_MoveParent,
17312 OPC_MoveParent,
17313 OPC_CheckType, MVT::v8i16,
17314 OPC_MoveParent,
17315 OPC_CheckType, MVT::v16i8,
17316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17317 MVT::v16i8, 2, 0, 1,
17318 0,
17319 0,
17320 0,
17321 0,
17322 119|128,5,
17323 OPC_CheckChild0Integer, 0|128,0|128,126,
17324 OPC_CheckChild0TypeI32,
17325 OPC_MoveSibling1,
17326 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17327 OPC_Scope, 116|128,2,
17328 OPC_RecordChild0,
17329 OPC_MoveChild1,
17330 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17331 OPC_CheckChild0Integer, 127|128,127|128,1,
17332 OPC_CheckChild0TypeI32,
17333 OPC_MoveParent,
17334 OPC_MoveParent,
17335 OPC_MoveSibling1,
17336 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17337 OPC_CheckChild0Integer, 127|128,127|128,3,
17338 OPC_CheckChild0TypeI32,
17339 OPC_MoveParent,
17340 OPC_CheckType, MVT::v4i32,
17341 OPC_MoveSibling1,
17342 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17343 OPC_MoveChild0,
17344 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
17345 OPC_MoveChild0,
17346 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
17347 OPC_Scope, 43,
17348 OPC_RecordChild0,
17349 OPC_MoveChild1,
17350 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17351 OPC_CheckChild0Integer, 127|128,127|128,1,
17352 OPC_CheckChild0TypeI32,
17353 OPC_MoveParent,
17354 OPC_MoveSibling1,
17355 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17356 OPC_CheckChild0Integer, 0|128,0|128,126,
17357 OPC_CheckChild0TypeI32,
17358 OPC_MoveParent,
17359 OPC_MoveSibling1,
17360 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17361 OPC_CheckChild0Integer, 127|128,127|128,3,
17362 OPC_CheckChild0TypeI32,
17363 OPC_MoveParent,
17364 OPC_CheckType, MVT::v4i32,
17365 OPC_MoveParent,
17366 OPC_CheckType, MVT::v8i16,
17367 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17368 MVT::v8i16, 2, 0, 1,
17369 43,
17370 OPC_MoveChild0,
17371 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17372 OPC_CheckChild0Integer, 127|128,127|128,1,
17373 OPC_CheckChild0TypeI32,
17374 OPC_MoveParent,
17375 OPC_RecordChild1,
17376 OPC_MoveSibling1,
17377 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17378 OPC_CheckChild0Integer, 0|128,0|128,126,
17379 OPC_CheckChild0TypeI32,
17380 OPC_MoveParent,
17381 OPC_MoveSibling1,
17382 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17383 OPC_CheckChild0Integer, 127|128,127|128,3,
17384 OPC_CheckChild0TypeI32,
17385 OPC_MoveParent,
17386 OPC_CheckType, MVT::v4i32,
17387 OPC_MoveParent,
17388 OPC_CheckType, MVT::v8i16,
17389 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17390 MVT::v8i16, 2, 0, 1,
17391 0,
17392 81, TARGET_VAL(ISD::SPLAT_VECTOR),
17393 OPC_CheckChild0Integer, 0|128,0|128,126,
17394 OPC_CheckChild0TypeI32,
17395 OPC_MoveSibling1,
17396 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17397 OPC_Scope, 34,
17398 OPC_RecordChild0,
17399 OPC_MoveChild1,
17400 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17401 OPC_CheckChild0Integer, 127|128,127|128,1,
17402 OPC_CheckChild0TypeI32,
17403 OPC_MoveParent,
17404 OPC_MoveParent,
17405 OPC_MoveSibling1,
17406 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17407 OPC_CheckChild0Integer, 127|128,127|128,3,
17408 OPC_CheckChild0TypeI32,
17409 OPC_MoveParent,
17410 OPC_CheckType, MVT::v4i32,
17411 OPC_MoveParent,
17412 OPC_CheckType, MVT::v8i16,
17413 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17414 MVT::v8i16, 2, 0, 1,
17415 34,
17416 OPC_MoveChild0,
17417 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17418 OPC_CheckChild0Integer, 127|128,127|128,1,
17419 OPC_CheckChild0TypeI32,
17420 OPC_MoveParent,
17421 OPC_RecordChild1,
17422 OPC_MoveParent,
17423 OPC_MoveSibling1,
17424 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17425 OPC_CheckChild0Integer, 127|128,127|128,3,
17426 OPC_CheckChild0TypeI32,
17427 OPC_MoveParent,
17428 OPC_CheckType, MVT::v4i32,
17429 OPC_MoveParent,
17430 OPC_CheckType, MVT::v8i16,
17431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17432 MVT::v8i16, 2, 0, 1,
17433 0,
17434 0,
17435 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17436 OPC_CheckChild0Integer, 127|128,127|128,3,
17437 OPC_CheckChild0TypeI32,
17438 OPC_MoveSibling1,
17439 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17440 OPC_MoveChild0,
17441 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
17442 OPC_Scope, 34,
17443 OPC_RecordChild0,
17444 OPC_MoveChild1,
17445 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17446 OPC_CheckChild0Integer, 127|128,127|128,1,
17447 OPC_CheckChild0TypeI32,
17448 OPC_MoveParent,
17449 OPC_MoveSibling1,
17450 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17451 OPC_CheckChild0Integer, 0|128,0|128,126,
17452 OPC_CheckChild0TypeI32,
17453 OPC_MoveParent,
17454 OPC_MoveParent,
17455 OPC_CheckType, MVT::v4i32,
17456 OPC_MoveParent,
17457 OPC_CheckType, MVT::v8i16,
17458 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17459 MVT::v8i16, 2, 0, 1,
17460 34,
17461 OPC_MoveChild0,
17462 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17463 OPC_CheckChild0Integer, 127|128,127|128,1,
17464 OPC_CheckChild0TypeI32,
17465 OPC_MoveParent,
17466 OPC_RecordChild1,
17467 OPC_MoveSibling1,
17468 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17469 OPC_CheckChild0Integer, 0|128,0|128,126,
17470 OPC_CheckChild0TypeI32,
17471 OPC_MoveParent,
17472 OPC_MoveParent,
17473 OPC_CheckType, MVT::v4i32,
17474 OPC_MoveParent,
17475 OPC_CheckType, MVT::v8i16,
17476 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17477 MVT::v8i16, 2, 0, 1,
17478 0,
17479 63, TARGET_VAL(ISD::SPLAT_VECTOR),
17480 OPC_CheckChild0Integer, 0|128,0|128,126,
17481 OPC_CheckChild0TypeI32,
17482 OPC_MoveSibling1,
17483 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17484 OPC_Scope, 25,
17485 OPC_RecordChild0,
17486 OPC_MoveChild1,
17487 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17488 OPC_CheckChild0Integer, 127|128,127|128,1,
17489 OPC_CheckChild0TypeI32,
17490 OPC_MoveParent,
17491 OPC_MoveParent,
17492 OPC_MoveParent,
17493 OPC_CheckType, MVT::v4i32,
17494 OPC_MoveParent,
17495 OPC_CheckType, MVT::v8i16,
17496 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17497 MVT::v8i16, 2, 0, 1,
17498 25,
17499 OPC_MoveChild0,
17500 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17501 OPC_CheckChild0Integer, 127|128,127|128,1,
17502 OPC_CheckChild0TypeI32,
17503 OPC_MoveParent,
17504 OPC_RecordChild1,
17505 OPC_MoveParent,
17506 OPC_MoveParent,
17507 OPC_CheckType, MVT::v4i32,
17508 OPC_MoveParent,
17509 OPC_CheckType, MVT::v8i16,
17510 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17511 MVT::v8i16, 2, 0, 1,
17512 0,
17513 0,
17514 0,
17515 116|128,2,
17516 OPC_MoveChild0,
17517 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17518 OPC_CheckChild0Integer, 127|128,127|128,1,
17519 OPC_CheckChild0TypeI32,
17520 OPC_MoveParent,
17521 OPC_RecordChild1,
17522 OPC_MoveParent,
17523 OPC_MoveSibling1,
17524 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17525 OPC_CheckChild0Integer, 127|128,127|128,3,
17526 OPC_CheckChild0TypeI32,
17527 OPC_MoveParent,
17528 OPC_CheckType, MVT::v4i32,
17529 OPC_MoveSibling1,
17530 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17531 OPC_MoveChild0,
17532 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
17533 OPC_MoveChild0,
17534 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
17535 OPC_Scope, 43,
17536 OPC_RecordChild0,
17537 OPC_MoveChild1,
17538 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17539 OPC_CheckChild0Integer, 127|128,127|128,1,
17540 OPC_CheckChild0TypeI32,
17541 OPC_MoveParent,
17542 OPC_MoveSibling1,
17543 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17544 OPC_CheckChild0Integer, 0|128,0|128,126,
17545 OPC_CheckChild0TypeI32,
17546 OPC_MoveParent,
17547 OPC_MoveSibling1,
17548 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17549 OPC_CheckChild0Integer, 127|128,127|128,3,
17550 OPC_CheckChild0TypeI32,
17551 OPC_MoveParent,
17552 OPC_CheckType, MVT::v4i32,
17553 OPC_MoveParent,
17554 OPC_CheckType, MVT::v8i16,
17555 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17556 MVT::v8i16, 2, 0, 1,
17557 43,
17558 OPC_MoveChild0,
17559 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17560 OPC_CheckChild0Integer, 127|128,127|128,1,
17561 OPC_CheckChild0TypeI32,
17562 OPC_MoveParent,
17563 OPC_RecordChild1,
17564 OPC_MoveSibling1,
17565 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17566 OPC_CheckChild0Integer, 0|128,0|128,126,
17567 OPC_CheckChild0TypeI32,
17568 OPC_MoveParent,
17569 OPC_MoveSibling1,
17570 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17571 OPC_CheckChild0Integer, 127|128,127|128,3,
17572 OPC_CheckChild0TypeI32,
17573 OPC_MoveParent,
17574 OPC_CheckType, MVT::v4i32,
17575 OPC_MoveParent,
17576 OPC_CheckType, MVT::v8i16,
17577 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17578 MVT::v8i16, 2, 0, 1,
17579 0,
17580 81, TARGET_VAL(ISD::SPLAT_VECTOR),
17581 OPC_CheckChild0Integer, 0|128,0|128,126,
17582 OPC_CheckChild0TypeI32,
17583 OPC_MoveSibling1,
17584 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17585 OPC_Scope, 34,
17586 OPC_RecordChild0,
17587 OPC_MoveChild1,
17588 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17589 OPC_CheckChild0Integer, 127|128,127|128,1,
17590 OPC_CheckChild0TypeI32,
17591 OPC_MoveParent,
17592 OPC_MoveParent,
17593 OPC_MoveSibling1,
17594 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17595 OPC_CheckChild0Integer, 127|128,127|128,3,
17596 OPC_CheckChild0TypeI32,
17597 OPC_MoveParent,
17598 OPC_CheckType, MVT::v4i32,
17599 OPC_MoveParent,
17600 OPC_CheckType, MVT::v8i16,
17601 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17602 MVT::v8i16, 2, 0, 1,
17603 34,
17604 OPC_MoveChild0,
17605 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17606 OPC_CheckChild0Integer, 127|128,127|128,1,
17607 OPC_CheckChild0TypeI32,
17608 OPC_MoveParent,
17609 OPC_RecordChild1,
17610 OPC_MoveParent,
17611 OPC_MoveSibling1,
17612 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17613 OPC_CheckChild0Integer, 127|128,127|128,3,
17614 OPC_CheckChild0TypeI32,
17615 OPC_MoveParent,
17616 OPC_CheckType, MVT::v4i32,
17617 OPC_MoveParent,
17618 OPC_CheckType, MVT::v8i16,
17619 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17620 MVT::v8i16, 2, 0, 1,
17621 0,
17622 0,
17623 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17624 OPC_CheckChild0Integer, 127|128,127|128,3,
17625 OPC_CheckChild0TypeI32,
17626 OPC_MoveSibling1,
17627 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17628 OPC_MoveChild0,
17629 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
17630 OPC_Scope, 34,
17631 OPC_RecordChild0,
17632 OPC_MoveChild1,
17633 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17634 OPC_CheckChild0Integer, 127|128,127|128,1,
17635 OPC_CheckChild0TypeI32,
17636 OPC_MoveParent,
17637 OPC_MoveSibling1,
17638 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17639 OPC_CheckChild0Integer, 0|128,0|128,126,
17640 OPC_CheckChild0TypeI32,
17641 OPC_MoveParent,
17642 OPC_MoveParent,
17643 OPC_CheckType, MVT::v4i32,
17644 OPC_MoveParent,
17645 OPC_CheckType, MVT::v8i16,
17646 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17647 MVT::v8i16, 2, 0, 1,
17648 34,
17649 OPC_MoveChild0,
17650 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17651 OPC_CheckChild0Integer, 127|128,127|128,1,
17652 OPC_CheckChild0TypeI32,
17653 OPC_MoveParent,
17654 OPC_RecordChild1,
17655 OPC_MoveSibling1,
17656 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17657 OPC_CheckChild0Integer, 0|128,0|128,126,
17658 OPC_CheckChild0TypeI32,
17659 OPC_MoveParent,
17660 OPC_MoveParent,
17661 OPC_CheckType, MVT::v4i32,
17662 OPC_MoveParent,
17663 OPC_CheckType, MVT::v8i16,
17664 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17665 MVT::v8i16, 2, 0, 1,
17666 0,
17667 63, TARGET_VAL(ISD::SPLAT_VECTOR),
17668 OPC_CheckChild0Integer, 0|128,0|128,126,
17669 OPC_CheckChild0TypeI32,
17670 OPC_MoveSibling1,
17671 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17672 OPC_Scope, 25,
17673 OPC_RecordChild0,
17674 OPC_MoveChild1,
17675 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17676 OPC_CheckChild0Integer, 127|128,127|128,1,
17677 OPC_CheckChild0TypeI32,
17678 OPC_MoveParent,
17679 OPC_MoveParent,
17680 OPC_MoveParent,
17681 OPC_CheckType, MVT::v4i32,
17682 OPC_MoveParent,
17683 OPC_CheckType, MVT::v8i16,
17684 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17685 MVT::v8i16, 2, 0, 1,
17686 25,
17687 OPC_MoveChild0,
17688 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17689 OPC_CheckChild0Integer, 127|128,127|128,1,
17690 OPC_CheckChild0TypeI32,
17691 OPC_MoveParent,
17692 OPC_RecordChild1,
17693 OPC_MoveParent,
17694 OPC_MoveParent,
17695 OPC_CheckType, MVT::v4i32,
17696 OPC_MoveParent,
17697 OPC_CheckType, MVT::v8i16,
17698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
17699 MVT::v8i16, 2, 0, 1,
17700 0,
17701 0,
17702 0,
17703 0,
17704 0,
17705 0,
17706 119|128,45, TARGET_VAL(ISD::SPLAT_VECTOR),
17707 OPC_Scope, 37|128,22,
17708 OPC_CheckChild0Integer, 127|128,1,
17709 OPC_CheckChild0TypeI32,
17710 OPC_MoveSibling1,
17711 OPC_SwitchOpcode , 11|128,11, TARGET_VAL(ISD::SMIN),
17712 OPC_MoveChild0,
17713 OPC_SwitchOpcode , 68|128,5, TARGET_VAL(ISD::SMAX),
17714 OPC_Scope, 95|128,2,
17715 OPC_RecordChild0,
17716 OPC_MoveChild1,
17717 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17718 OPC_CheckChild0Integer, 0|128,127,
17719 OPC_CheckChild0TypeI32,
17720 OPC_MoveParent,
17721 OPC_MoveSibling1,
17722 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17723 OPC_CheckChild0Integer, 127|128,0,
17724 OPC_CheckChild0TypeI32,
17725 OPC_MoveParent,
17726 OPC_MoveParent,
17727 OPC_CheckType, MVT::v8i16,
17728 OPC_MoveSibling1,
17729 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17730 OPC_MoveChild0,
17731 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
17732 OPC_MoveChild0,
17733 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
17734 OPC_Scope, 40,
17735 OPC_RecordChild0,
17736 OPC_MoveChild1,
17737 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17738 OPC_CheckChild0Integer, 0|128,127,
17739 OPC_CheckChild0TypeI32,
17740 OPC_MoveParent,
17741 OPC_MoveSibling1,
17742 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17743 OPC_CheckChild0Integer, 127|128,0,
17744 OPC_CheckChild0TypeI32,
17745 OPC_MoveParent,
17746 OPC_MoveSibling1,
17747 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17748 OPC_CheckChild0Integer, 127|128,1,
17749 OPC_CheckChild0TypeI32,
17750 OPC_MoveParent,
17751 OPC_CheckType, MVT::v8i16,
17752 OPC_MoveParent,
17753 OPC_CheckType, MVT::v16i8,
17754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17755 MVT::v16i8, 2, 0, 1,
17756 40,
17757 OPC_MoveChild0,
17758 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17759 OPC_CheckChild0Integer, 0|128,127,
17760 OPC_CheckChild0TypeI32,
17761 OPC_MoveParent,
17762 OPC_RecordChild1,
17763 OPC_MoveSibling1,
17764 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17765 OPC_CheckChild0Integer, 127|128,0,
17766 OPC_CheckChild0TypeI32,
17767 OPC_MoveParent,
17768 OPC_MoveSibling1,
17769 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17770 OPC_CheckChild0Integer, 127|128,1,
17771 OPC_CheckChild0TypeI32,
17772 OPC_MoveParent,
17773 OPC_CheckType, MVT::v8i16,
17774 OPC_MoveParent,
17775 OPC_CheckType, MVT::v16i8,
17776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17777 MVT::v16i8, 2, 0, 1,
17778 0,
17779 76, TARGET_VAL(ISD::SPLAT_VECTOR),
17780 OPC_CheckChild0Integer, 127|128,0,
17781 OPC_CheckChild0TypeI32,
17782 OPC_MoveSibling1,
17783 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17784 OPC_Scope, 32,
17785 OPC_RecordChild0,
17786 OPC_MoveChild1,
17787 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17788 OPC_CheckChild0Integer, 0|128,127,
17789 OPC_CheckChild0TypeI32,
17790 OPC_MoveParent,
17791 OPC_MoveParent,
17792 OPC_MoveSibling1,
17793 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17794 OPC_CheckChild0Integer, 127|128,1,
17795 OPC_CheckChild0TypeI32,
17796 OPC_MoveParent,
17797 OPC_CheckType, MVT::v8i16,
17798 OPC_MoveParent,
17799 OPC_CheckType, MVT::v16i8,
17800 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17801 MVT::v16i8, 2, 0, 1,
17802 32,
17803 OPC_MoveChild0,
17804 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17805 OPC_CheckChild0Integer, 0|128,127,
17806 OPC_CheckChild0TypeI32,
17807 OPC_MoveParent,
17808 OPC_RecordChild1,
17809 OPC_MoveParent,
17810 OPC_MoveSibling1,
17811 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17812 OPC_CheckChild0Integer, 127|128,1,
17813 OPC_CheckChild0TypeI32,
17814 OPC_MoveParent,
17815 OPC_CheckType, MVT::v8i16,
17816 OPC_MoveParent,
17817 OPC_CheckType, MVT::v16i8,
17818 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17819 MVT::v16i8, 2, 0, 1,
17820 0,
17821 0,
17822 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
17823 OPC_CheckChild0Integer, 127|128,1,
17824 OPC_CheckChild0TypeI32,
17825 OPC_MoveSibling1,
17826 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
17827 OPC_MoveChild0,
17828 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
17829 OPC_Scope, 32,
17830 OPC_RecordChild0,
17831 OPC_MoveChild1,
17832 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17833 OPC_CheckChild0Integer, 0|128,127,
17834 OPC_CheckChild0TypeI32,
17835 OPC_MoveParent,
17836 OPC_MoveSibling1,
17837 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17838 OPC_CheckChild0Integer, 127|128,0,
17839 OPC_CheckChild0TypeI32,
17840 OPC_MoveParent,
17841 OPC_MoveParent,
17842 OPC_CheckType, MVT::v8i16,
17843 OPC_MoveParent,
17844 OPC_CheckType, MVT::v16i8,
17845 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17846 MVT::v16i8, 2, 0, 1,
17847 32,
17848 OPC_MoveChild0,
17849 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17850 OPC_CheckChild0Integer, 0|128,127,
17851 OPC_CheckChild0TypeI32,
17852 OPC_MoveParent,
17853 OPC_RecordChild1,
17854 OPC_MoveSibling1,
17855 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17856 OPC_CheckChild0Integer, 127|128,0,
17857 OPC_CheckChild0TypeI32,
17858 OPC_MoveParent,
17859 OPC_MoveParent,
17860 OPC_CheckType, MVT::v8i16,
17861 OPC_MoveParent,
17862 OPC_CheckType, MVT::v16i8,
17863 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17864 MVT::v16i8, 2, 0, 1,
17865 0,
17866 60, TARGET_VAL(ISD::SPLAT_VECTOR),
17867 OPC_CheckChild0Integer, 127|128,0,
17868 OPC_CheckChild0TypeI32,
17869 OPC_MoveSibling1,
17870 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17871 OPC_Scope, 24,
17872 OPC_RecordChild0,
17873 OPC_MoveChild1,
17874 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17875 OPC_CheckChild0Integer, 0|128,127,
17876 OPC_CheckChild0TypeI32,
17877 OPC_MoveParent,
17878 OPC_MoveParent,
17879 OPC_MoveParent,
17880 OPC_CheckType, MVT::v8i16,
17881 OPC_MoveParent,
17882 OPC_CheckType, MVT::v16i8,
17883 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17884 MVT::v16i8, 2, 0, 1,
17885 24,
17886 OPC_MoveChild0,
17887 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17888 OPC_CheckChild0Integer, 0|128,127,
17889 OPC_CheckChild0TypeI32,
17890 OPC_MoveParent,
17891 OPC_RecordChild1,
17892 OPC_MoveParent,
17893 OPC_MoveParent,
17894 OPC_CheckType, MVT::v8i16,
17895 OPC_MoveParent,
17896 OPC_CheckType, MVT::v16i8,
17897 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17898 MVT::v16i8, 2, 0, 1,
17899 0,
17900 0,
17901 0,
17902 95|128,2,
17903 OPC_MoveChild0,
17904 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17905 OPC_CheckChild0Integer, 0|128,127,
17906 OPC_CheckChild0TypeI32,
17907 OPC_MoveParent,
17908 OPC_RecordChild1,
17909 OPC_MoveSibling1,
17910 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17911 OPC_CheckChild0Integer, 127|128,0,
17912 OPC_CheckChild0TypeI32,
17913 OPC_MoveParent,
17914 OPC_MoveParent,
17915 OPC_CheckType, MVT::v8i16,
17916 OPC_MoveSibling1,
17917 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
17918 OPC_MoveChild0,
17919 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
17920 OPC_MoveChild0,
17921 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
17922 OPC_Scope, 40,
17923 OPC_RecordChild0,
17924 OPC_MoveChild1,
17925 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17926 OPC_CheckChild0Integer, 0|128,127,
17927 OPC_CheckChild0TypeI32,
17928 OPC_MoveParent,
17929 OPC_MoveSibling1,
17930 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17931 OPC_CheckChild0Integer, 127|128,0,
17932 OPC_CheckChild0TypeI32,
17933 OPC_MoveParent,
17934 OPC_MoveSibling1,
17935 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17936 OPC_CheckChild0Integer, 127|128,1,
17937 OPC_CheckChild0TypeI32,
17938 OPC_MoveParent,
17939 OPC_CheckType, MVT::v8i16,
17940 OPC_MoveParent,
17941 OPC_CheckType, MVT::v16i8,
17942 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17943 MVT::v16i8, 2, 0, 1,
17944 40,
17945 OPC_MoveChild0,
17946 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17947 OPC_CheckChild0Integer, 0|128,127,
17948 OPC_CheckChild0TypeI32,
17949 OPC_MoveParent,
17950 OPC_RecordChild1,
17951 OPC_MoveSibling1,
17952 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17953 OPC_CheckChild0Integer, 127|128,0,
17954 OPC_CheckChild0TypeI32,
17955 OPC_MoveParent,
17956 OPC_MoveSibling1,
17957 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17958 OPC_CheckChild0Integer, 127|128,1,
17959 OPC_CheckChild0TypeI32,
17960 OPC_MoveParent,
17961 OPC_CheckType, MVT::v8i16,
17962 OPC_MoveParent,
17963 OPC_CheckType, MVT::v16i8,
17964 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17965 MVT::v16i8, 2, 0, 1,
17966 0,
17967 76, TARGET_VAL(ISD::SPLAT_VECTOR),
17968 OPC_CheckChild0Integer, 127|128,0,
17969 OPC_CheckChild0TypeI32,
17970 OPC_MoveSibling1,
17971 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
17972 OPC_Scope, 32,
17973 OPC_RecordChild0,
17974 OPC_MoveChild1,
17975 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17976 OPC_CheckChild0Integer, 0|128,127,
17977 OPC_CheckChild0TypeI32,
17978 OPC_MoveParent,
17979 OPC_MoveParent,
17980 OPC_MoveSibling1,
17981 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17982 OPC_CheckChild0Integer, 127|128,1,
17983 OPC_CheckChild0TypeI32,
17984 OPC_MoveParent,
17985 OPC_CheckType, MVT::v8i16,
17986 OPC_MoveParent,
17987 OPC_CheckType, MVT::v16i8,
17988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
17989 MVT::v16i8, 2, 0, 1,
17990 32,
17991 OPC_MoveChild0,
17992 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
17993 OPC_CheckChild0Integer, 0|128,127,
17994 OPC_CheckChild0TypeI32,
17995 OPC_MoveParent,
17996 OPC_RecordChild1,
17997 OPC_MoveParent,
17998 OPC_MoveSibling1,
17999 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18000 OPC_CheckChild0Integer, 127|128,1,
18001 OPC_CheckChild0TypeI32,
18002 OPC_MoveParent,
18003 OPC_CheckType, MVT::v8i16,
18004 OPC_MoveParent,
18005 OPC_CheckType, MVT::v16i8,
18006 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18007 MVT::v16i8, 2, 0, 1,
18008 0,
18009 0,
18010 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18011 OPC_CheckChild0Integer, 127|128,1,
18012 OPC_CheckChild0TypeI32,
18013 OPC_MoveSibling1,
18014 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18015 OPC_MoveChild0,
18016 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
18017 OPC_Scope, 32,
18018 OPC_RecordChild0,
18019 OPC_MoveChild1,
18020 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18021 OPC_CheckChild0Integer, 0|128,127,
18022 OPC_CheckChild0TypeI32,
18023 OPC_MoveParent,
18024 OPC_MoveSibling1,
18025 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18026 OPC_CheckChild0Integer, 127|128,0,
18027 OPC_CheckChild0TypeI32,
18028 OPC_MoveParent,
18029 OPC_MoveParent,
18030 OPC_CheckType, MVT::v8i16,
18031 OPC_MoveParent,
18032 OPC_CheckType, MVT::v16i8,
18033 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18034 MVT::v16i8, 2, 0, 1,
18035 32,
18036 OPC_MoveChild0,
18037 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18038 OPC_CheckChild0Integer, 0|128,127,
18039 OPC_CheckChild0TypeI32,
18040 OPC_MoveParent,
18041 OPC_RecordChild1,
18042 OPC_MoveSibling1,
18043 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18044 OPC_CheckChild0Integer, 127|128,0,
18045 OPC_CheckChild0TypeI32,
18046 OPC_MoveParent,
18047 OPC_MoveParent,
18048 OPC_CheckType, MVT::v8i16,
18049 OPC_MoveParent,
18050 OPC_CheckType, MVT::v16i8,
18051 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18052 MVT::v16i8, 2, 0, 1,
18053 0,
18054 60, TARGET_VAL(ISD::SPLAT_VECTOR),
18055 OPC_CheckChild0Integer, 127|128,0,
18056 OPC_CheckChild0TypeI32,
18057 OPC_MoveSibling1,
18058 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18059 OPC_Scope, 24,
18060 OPC_RecordChild0,
18061 OPC_MoveChild1,
18062 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18063 OPC_CheckChild0Integer, 0|128,127,
18064 OPC_CheckChild0TypeI32,
18065 OPC_MoveParent,
18066 OPC_MoveParent,
18067 OPC_MoveParent,
18068 OPC_CheckType, MVT::v8i16,
18069 OPC_MoveParent,
18070 OPC_CheckType, MVT::v16i8,
18071 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18072 MVT::v16i8, 2, 0, 1,
18073 24,
18074 OPC_MoveChild0,
18075 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18076 OPC_CheckChild0Integer, 0|128,127,
18077 OPC_CheckChild0TypeI32,
18078 OPC_MoveParent,
18079 OPC_RecordChild1,
18080 OPC_MoveParent,
18081 OPC_MoveParent,
18082 OPC_CheckType, MVT::v8i16,
18083 OPC_MoveParent,
18084 OPC_CheckType, MVT::v16i8,
18085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18086 MVT::v16i8, 2, 0, 1,
18087 0,
18088 0,
18089 0,
18090 0,
18091 60|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
18092 OPC_CheckChild0Integer, 127|128,0,
18093 OPC_CheckChild0TypeI32,
18094 OPC_MoveSibling1,
18095 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18096 OPC_Scope, 87|128,2,
18097 OPC_RecordChild0,
18098 OPC_MoveChild1,
18099 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18100 OPC_CheckChild0Integer, 0|128,127,
18101 OPC_CheckChild0TypeI32,
18102 OPC_MoveParent,
18103 OPC_MoveParent,
18104 OPC_MoveParent,
18105 OPC_CheckType, MVT::v8i16,
18106 OPC_MoveSibling1,
18107 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18108 OPC_MoveChild0,
18109 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
18110 OPC_MoveChild0,
18111 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
18112 OPC_Scope, 40,
18113 OPC_RecordChild0,
18114 OPC_MoveChild1,
18115 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18116 OPC_CheckChild0Integer, 0|128,127,
18117 OPC_CheckChild0TypeI32,
18118 OPC_MoveParent,
18119 OPC_MoveSibling1,
18120 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18121 OPC_CheckChild0Integer, 127|128,0,
18122 OPC_CheckChild0TypeI32,
18123 OPC_MoveParent,
18124 OPC_MoveSibling1,
18125 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18126 OPC_CheckChild0Integer, 127|128,1,
18127 OPC_CheckChild0TypeI32,
18128 OPC_MoveParent,
18129 OPC_CheckType, MVT::v8i16,
18130 OPC_MoveParent,
18131 OPC_CheckType, MVT::v16i8,
18132 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18133 MVT::v16i8, 2, 0, 1,
18134 40,
18135 OPC_MoveChild0,
18136 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18137 OPC_CheckChild0Integer, 0|128,127,
18138 OPC_CheckChild0TypeI32,
18139 OPC_MoveParent,
18140 OPC_RecordChild1,
18141 OPC_MoveSibling1,
18142 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18143 OPC_CheckChild0Integer, 127|128,0,
18144 OPC_CheckChild0TypeI32,
18145 OPC_MoveParent,
18146 OPC_MoveSibling1,
18147 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18148 OPC_CheckChild0Integer, 127|128,1,
18149 OPC_CheckChild0TypeI32,
18150 OPC_MoveParent,
18151 OPC_CheckType, MVT::v8i16,
18152 OPC_MoveParent,
18153 OPC_CheckType, MVT::v16i8,
18154 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18155 MVT::v16i8, 2, 0, 1,
18156 0,
18157 76, TARGET_VAL(ISD::SPLAT_VECTOR),
18158 OPC_CheckChild0Integer, 127|128,0,
18159 OPC_CheckChild0TypeI32,
18160 OPC_MoveSibling1,
18161 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18162 OPC_Scope, 32,
18163 OPC_RecordChild0,
18164 OPC_MoveChild1,
18165 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18166 OPC_CheckChild0Integer, 0|128,127,
18167 OPC_CheckChild0TypeI32,
18168 OPC_MoveParent,
18169 OPC_MoveParent,
18170 OPC_MoveSibling1,
18171 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18172 OPC_CheckChild0Integer, 127|128,1,
18173 OPC_CheckChild0TypeI32,
18174 OPC_MoveParent,
18175 OPC_CheckType, MVT::v8i16,
18176 OPC_MoveParent,
18177 OPC_CheckType, MVT::v16i8,
18178 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18179 MVT::v16i8, 2, 0, 1,
18180 32,
18181 OPC_MoveChild0,
18182 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18183 OPC_CheckChild0Integer, 0|128,127,
18184 OPC_CheckChild0TypeI32,
18185 OPC_MoveParent,
18186 OPC_RecordChild1,
18187 OPC_MoveParent,
18188 OPC_MoveSibling1,
18189 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18190 OPC_CheckChild0Integer, 127|128,1,
18191 OPC_CheckChild0TypeI32,
18192 OPC_MoveParent,
18193 OPC_CheckType, MVT::v8i16,
18194 OPC_MoveParent,
18195 OPC_CheckType, MVT::v16i8,
18196 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18197 MVT::v16i8, 2, 0, 1,
18198 0,
18199 0,
18200 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18201 OPC_CheckChild0Integer, 127|128,1,
18202 OPC_CheckChild0TypeI32,
18203 OPC_MoveSibling1,
18204 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18205 OPC_MoveChild0,
18206 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
18207 OPC_Scope, 32,
18208 OPC_RecordChild0,
18209 OPC_MoveChild1,
18210 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18211 OPC_CheckChild0Integer, 0|128,127,
18212 OPC_CheckChild0TypeI32,
18213 OPC_MoveParent,
18214 OPC_MoveSibling1,
18215 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18216 OPC_CheckChild0Integer, 127|128,0,
18217 OPC_CheckChild0TypeI32,
18218 OPC_MoveParent,
18219 OPC_MoveParent,
18220 OPC_CheckType, MVT::v8i16,
18221 OPC_MoveParent,
18222 OPC_CheckType, MVT::v16i8,
18223 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18224 MVT::v16i8, 2, 0, 1,
18225 32,
18226 OPC_MoveChild0,
18227 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18228 OPC_CheckChild0Integer, 0|128,127,
18229 OPC_CheckChild0TypeI32,
18230 OPC_MoveParent,
18231 OPC_RecordChild1,
18232 OPC_MoveSibling1,
18233 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18234 OPC_CheckChild0Integer, 127|128,0,
18235 OPC_CheckChild0TypeI32,
18236 OPC_MoveParent,
18237 OPC_MoveParent,
18238 OPC_CheckType, MVT::v8i16,
18239 OPC_MoveParent,
18240 OPC_CheckType, MVT::v16i8,
18241 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18242 MVT::v16i8, 2, 0, 1,
18243 0,
18244 60, TARGET_VAL(ISD::SPLAT_VECTOR),
18245 OPC_CheckChild0Integer, 127|128,0,
18246 OPC_CheckChild0TypeI32,
18247 OPC_MoveSibling1,
18248 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18249 OPC_Scope, 24,
18250 OPC_RecordChild0,
18251 OPC_MoveChild1,
18252 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18253 OPC_CheckChild0Integer, 0|128,127,
18254 OPC_CheckChild0TypeI32,
18255 OPC_MoveParent,
18256 OPC_MoveParent,
18257 OPC_MoveParent,
18258 OPC_CheckType, MVT::v8i16,
18259 OPC_MoveParent,
18260 OPC_CheckType, MVT::v16i8,
18261 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18262 MVT::v16i8, 2, 0, 1,
18263 24,
18264 OPC_MoveChild0,
18265 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18266 OPC_CheckChild0Integer, 0|128,127,
18267 OPC_CheckChild0TypeI32,
18268 OPC_MoveParent,
18269 OPC_RecordChild1,
18270 OPC_MoveParent,
18271 OPC_MoveParent,
18272 OPC_CheckType, MVT::v8i16,
18273 OPC_MoveParent,
18274 OPC_CheckType, MVT::v16i8,
18275 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18276 MVT::v16i8, 2, 0, 1,
18277 0,
18278 0,
18279 0,
18280 87|128,2,
18281 OPC_MoveChild0,
18282 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18283 OPC_CheckChild0Integer, 0|128,127,
18284 OPC_CheckChild0TypeI32,
18285 OPC_MoveParent,
18286 OPC_RecordChild1,
18287 OPC_MoveParent,
18288 OPC_MoveParent,
18289 OPC_CheckType, MVT::v8i16,
18290 OPC_MoveSibling1,
18291 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18292 OPC_MoveChild0,
18293 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMIN),
18294 OPC_MoveChild0,
18295 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMAX),
18296 OPC_Scope, 40,
18297 OPC_RecordChild0,
18298 OPC_MoveChild1,
18299 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18300 OPC_CheckChild0Integer, 0|128,127,
18301 OPC_CheckChild0TypeI32,
18302 OPC_MoveParent,
18303 OPC_MoveSibling1,
18304 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18305 OPC_CheckChild0Integer, 127|128,0,
18306 OPC_CheckChild0TypeI32,
18307 OPC_MoveParent,
18308 OPC_MoveSibling1,
18309 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18310 OPC_CheckChild0Integer, 127|128,1,
18311 OPC_CheckChild0TypeI32,
18312 OPC_MoveParent,
18313 OPC_CheckType, MVT::v8i16,
18314 OPC_MoveParent,
18315 OPC_CheckType, MVT::v16i8,
18316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18317 MVT::v16i8, 2, 0, 1,
18318 40,
18319 OPC_MoveChild0,
18320 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18321 OPC_CheckChild0Integer, 0|128,127,
18322 OPC_CheckChild0TypeI32,
18323 OPC_MoveParent,
18324 OPC_RecordChild1,
18325 OPC_MoveSibling1,
18326 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18327 OPC_CheckChild0Integer, 127|128,0,
18328 OPC_CheckChild0TypeI32,
18329 OPC_MoveParent,
18330 OPC_MoveSibling1,
18331 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18332 OPC_CheckChild0Integer, 127|128,1,
18333 OPC_CheckChild0TypeI32,
18334 OPC_MoveParent,
18335 OPC_CheckType, MVT::v8i16,
18336 OPC_MoveParent,
18337 OPC_CheckType, MVT::v16i8,
18338 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18339 MVT::v16i8, 2, 0, 1,
18340 0,
18341 76, TARGET_VAL(ISD::SPLAT_VECTOR),
18342 OPC_CheckChild0Integer, 127|128,0,
18343 OPC_CheckChild0TypeI32,
18344 OPC_MoveSibling1,
18345 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18346 OPC_Scope, 32,
18347 OPC_RecordChild0,
18348 OPC_MoveChild1,
18349 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18350 OPC_CheckChild0Integer, 0|128,127,
18351 OPC_CheckChild0TypeI32,
18352 OPC_MoveParent,
18353 OPC_MoveParent,
18354 OPC_MoveSibling1,
18355 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18356 OPC_CheckChild0Integer, 127|128,1,
18357 OPC_CheckChild0TypeI32,
18358 OPC_MoveParent,
18359 OPC_CheckType, MVT::v8i16,
18360 OPC_MoveParent,
18361 OPC_CheckType, MVT::v16i8,
18362 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18363 MVT::v16i8, 2, 0, 1,
18364 32,
18365 OPC_MoveChild0,
18366 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18367 OPC_CheckChild0Integer, 0|128,127,
18368 OPC_CheckChild0TypeI32,
18369 OPC_MoveParent,
18370 OPC_RecordChild1,
18371 OPC_MoveParent,
18372 OPC_MoveSibling1,
18373 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18374 OPC_CheckChild0Integer, 127|128,1,
18375 OPC_CheckChild0TypeI32,
18376 OPC_MoveParent,
18377 OPC_CheckType, MVT::v8i16,
18378 OPC_MoveParent,
18379 OPC_CheckType, MVT::v16i8,
18380 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18381 MVT::v16i8, 2, 0, 1,
18382 0,
18383 0,
18384 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18385 OPC_CheckChild0Integer, 127|128,1,
18386 OPC_CheckChild0TypeI32,
18387 OPC_MoveSibling1,
18388 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18389 OPC_MoveChild0,
18390 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMAX),
18391 OPC_Scope, 32,
18392 OPC_RecordChild0,
18393 OPC_MoveChild1,
18394 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18395 OPC_CheckChild0Integer, 0|128,127,
18396 OPC_CheckChild0TypeI32,
18397 OPC_MoveParent,
18398 OPC_MoveSibling1,
18399 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18400 OPC_CheckChild0Integer, 127|128,0,
18401 OPC_CheckChild0TypeI32,
18402 OPC_MoveParent,
18403 OPC_MoveParent,
18404 OPC_CheckType, MVT::v8i16,
18405 OPC_MoveParent,
18406 OPC_CheckType, MVT::v16i8,
18407 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18408 MVT::v16i8, 2, 0, 1,
18409 32,
18410 OPC_MoveChild0,
18411 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18412 OPC_CheckChild0Integer, 0|128,127,
18413 OPC_CheckChild0TypeI32,
18414 OPC_MoveParent,
18415 OPC_RecordChild1,
18416 OPC_MoveSibling1,
18417 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18418 OPC_CheckChild0Integer, 127|128,0,
18419 OPC_CheckChild0TypeI32,
18420 OPC_MoveParent,
18421 OPC_MoveParent,
18422 OPC_CheckType, MVT::v8i16,
18423 OPC_MoveParent,
18424 OPC_CheckType, MVT::v16i8,
18425 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18426 MVT::v16i8, 2, 0, 1,
18427 0,
18428 60, TARGET_VAL(ISD::SPLAT_VECTOR),
18429 OPC_CheckChild0Integer, 127|128,0,
18430 OPC_CheckChild0TypeI32,
18431 OPC_MoveSibling1,
18432 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18433 OPC_Scope, 24,
18434 OPC_RecordChild0,
18435 OPC_MoveChild1,
18436 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18437 OPC_CheckChild0Integer, 0|128,127,
18438 OPC_CheckChild0TypeI32,
18439 OPC_MoveParent,
18440 OPC_MoveParent,
18441 OPC_MoveParent,
18442 OPC_CheckType, MVT::v8i16,
18443 OPC_MoveParent,
18444 OPC_CheckType, MVT::v16i8,
18445 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18446 MVT::v16i8, 2, 0, 1,
18447 24,
18448 OPC_MoveChild0,
18449 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18450 OPC_CheckChild0Integer, 0|128,127,
18451 OPC_CheckChild0TypeI32,
18452 OPC_MoveParent,
18453 OPC_RecordChild1,
18454 OPC_MoveParent,
18455 OPC_MoveParent,
18456 OPC_CheckType, MVT::v8i16,
18457 OPC_MoveParent,
18458 OPC_CheckType, MVT::v16i8,
18459 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18460 MVT::v16i8, 2, 0, 1,
18461 0,
18462 0,
18463 0,
18464 0,
18465 0,
18466 11|128,11, TARGET_VAL(ISD::SMAX),
18467 OPC_MoveChild0,
18468 OPC_SwitchOpcode , 68|128,5, TARGET_VAL(ISD::SMIN),
18469 OPC_Scope, 95|128,2,
18470 OPC_RecordChild0,
18471 OPC_MoveChild1,
18472 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18473 OPC_CheckChild0Integer, 127|128,0,
18474 OPC_CheckChild0TypeI32,
18475 OPC_MoveParent,
18476 OPC_MoveSibling1,
18477 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18478 OPC_CheckChild0Integer, 0|128,127,
18479 OPC_CheckChild0TypeI32,
18480 OPC_MoveParent,
18481 OPC_MoveParent,
18482 OPC_CheckType, MVT::v8i16,
18483 OPC_MoveSibling1,
18484 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18485 OPC_MoveChild0,
18486 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
18487 OPC_MoveChild0,
18488 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
18489 OPC_Scope, 40,
18490 OPC_RecordChild0,
18491 OPC_MoveChild1,
18492 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18493 OPC_CheckChild0Integer, 127|128,0,
18494 OPC_CheckChild0TypeI32,
18495 OPC_MoveParent,
18496 OPC_MoveSibling1,
18497 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18498 OPC_CheckChild0Integer, 0|128,127,
18499 OPC_CheckChild0TypeI32,
18500 OPC_MoveParent,
18501 OPC_MoveSibling1,
18502 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18503 OPC_CheckChild0Integer, 127|128,1,
18504 OPC_CheckChild0TypeI32,
18505 OPC_MoveParent,
18506 OPC_CheckType, MVT::v8i16,
18507 OPC_MoveParent,
18508 OPC_CheckType, MVT::v16i8,
18509 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18510 MVT::v16i8, 2, 0, 1,
18511 40,
18512 OPC_MoveChild0,
18513 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18514 OPC_CheckChild0Integer, 127|128,0,
18515 OPC_CheckChild0TypeI32,
18516 OPC_MoveParent,
18517 OPC_RecordChild1,
18518 OPC_MoveSibling1,
18519 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18520 OPC_CheckChild0Integer, 0|128,127,
18521 OPC_CheckChild0TypeI32,
18522 OPC_MoveParent,
18523 OPC_MoveSibling1,
18524 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18525 OPC_CheckChild0Integer, 127|128,1,
18526 OPC_CheckChild0TypeI32,
18527 OPC_MoveParent,
18528 OPC_CheckType, MVT::v8i16,
18529 OPC_MoveParent,
18530 OPC_CheckType, MVT::v16i8,
18531 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18532 MVT::v16i8, 2, 0, 1,
18533 0,
18534 76, TARGET_VAL(ISD::SPLAT_VECTOR),
18535 OPC_CheckChild0Integer, 0|128,127,
18536 OPC_CheckChild0TypeI32,
18537 OPC_MoveSibling1,
18538 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18539 OPC_Scope, 32,
18540 OPC_RecordChild0,
18541 OPC_MoveChild1,
18542 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18543 OPC_CheckChild0Integer, 127|128,0,
18544 OPC_CheckChild0TypeI32,
18545 OPC_MoveParent,
18546 OPC_MoveParent,
18547 OPC_MoveSibling1,
18548 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18549 OPC_CheckChild0Integer, 127|128,1,
18550 OPC_CheckChild0TypeI32,
18551 OPC_MoveParent,
18552 OPC_CheckType, MVT::v8i16,
18553 OPC_MoveParent,
18554 OPC_CheckType, MVT::v16i8,
18555 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18556 MVT::v16i8, 2, 0, 1,
18557 32,
18558 OPC_MoveChild0,
18559 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18560 OPC_CheckChild0Integer, 127|128,0,
18561 OPC_CheckChild0TypeI32,
18562 OPC_MoveParent,
18563 OPC_RecordChild1,
18564 OPC_MoveParent,
18565 OPC_MoveSibling1,
18566 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18567 OPC_CheckChild0Integer, 127|128,1,
18568 OPC_CheckChild0TypeI32,
18569 OPC_MoveParent,
18570 OPC_CheckType, MVT::v8i16,
18571 OPC_MoveParent,
18572 OPC_CheckType, MVT::v16i8,
18573 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18574 MVT::v16i8, 2, 0, 1,
18575 0,
18576 0,
18577 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18578 OPC_CheckChild0Integer, 127|128,1,
18579 OPC_CheckChild0TypeI32,
18580 OPC_MoveSibling1,
18581 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18582 OPC_MoveChild0,
18583 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
18584 OPC_Scope, 32,
18585 OPC_RecordChild0,
18586 OPC_MoveChild1,
18587 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18588 OPC_CheckChild0Integer, 127|128,0,
18589 OPC_CheckChild0TypeI32,
18590 OPC_MoveParent,
18591 OPC_MoveSibling1,
18592 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18593 OPC_CheckChild0Integer, 0|128,127,
18594 OPC_CheckChild0TypeI32,
18595 OPC_MoveParent,
18596 OPC_MoveParent,
18597 OPC_CheckType, MVT::v8i16,
18598 OPC_MoveParent,
18599 OPC_CheckType, MVT::v16i8,
18600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18601 MVT::v16i8, 2, 0, 1,
18602 32,
18603 OPC_MoveChild0,
18604 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18605 OPC_CheckChild0Integer, 127|128,0,
18606 OPC_CheckChild0TypeI32,
18607 OPC_MoveParent,
18608 OPC_RecordChild1,
18609 OPC_MoveSibling1,
18610 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18611 OPC_CheckChild0Integer, 0|128,127,
18612 OPC_CheckChild0TypeI32,
18613 OPC_MoveParent,
18614 OPC_MoveParent,
18615 OPC_CheckType, MVT::v8i16,
18616 OPC_MoveParent,
18617 OPC_CheckType, MVT::v16i8,
18618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18619 MVT::v16i8, 2, 0, 1,
18620 0,
18621 60, TARGET_VAL(ISD::SPLAT_VECTOR),
18622 OPC_CheckChild0Integer, 0|128,127,
18623 OPC_CheckChild0TypeI32,
18624 OPC_MoveSibling1,
18625 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18626 OPC_Scope, 24,
18627 OPC_RecordChild0,
18628 OPC_MoveChild1,
18629 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18630 OPC_CheckChild0Integer, 127|128,0,
18631 OPC_CheckChild0TypeI32,
18632 OPC_MoveParent,
18633 OPC_MoveParent,
18634 OPC_MoveParent,
18635 OPC_CheckType, MVT::v8i16,
18636 OPC_MoveParent,
18637 OPC_CheckType, MVT::v16i8,
18638 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18639 MVT::v16i8, 2, 0, 1,
18640 24,
18641 OPC_MoveChild0,
18642 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18643 OPC_CheckChild0Integer, 127|128,0,
18644 OPC_CheckChild0TypeI32,
18645 OPC_MoveParent,
18646 OPC_RecordChild1,
18647 OPC_MoveParent,
18648 OPC_MoveParent,
18649 OPC_CheckType, MVT::v8i16,
18650 OPC_MoveParent,
18651 OPC_CheckType, MVT::v16i8,
18652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18653 MVT::v16i8, 2, 0, 1,
18654 0,
18655 0,
18656 0,
18657 95|128,2,
18658 OPC_MoveChild0,
18659 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18660 OPC_CheckChild0Integer, 127|128,0,
18661 OPC_CheckChild0TypeI32,
18662 OPC_MoveParent,
18663 OPC_RecordChild1,
18664 OPC_MoveSibling1,
18665 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18666 OPC_CheckChild0Integer, 0|128,127,
18667 OPC_CheckChild0TypeI32,
18668 OPC_MoveParent,
18669 OPC_MoveParent,
18670 OPC_CheckType, MVT::v8i16,
18671 OPC_MoveSibling1,
18672 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18673 OPC_MoveChild0,
18674 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
18675 OPC_MoveChild0,
18676 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
18677 OPC_Scope, 40,
18678 OPC_RecordChild0,
18679 OPC_MoveChild1,
18680 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18681 OPC_CheckChild0Integer, 127|128,0,
18682 OPC_CheckChild0TypeI32,
18683 OPC_MoveParent,
18684 OPC_MoveSibling1,
18685 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18686 OPC_CheckChild0Integer, 0|128,127,
18687 OPC_CheckChild0TypeI32,
18688 OPC_MoveParent,
18689 OPC_MoveSibling1,
18690 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18691 OPC_CheckChild0Integer, 127|128,1,
18692 OPC_CheckChild0TypeI32,
18693 OPC_MoveParent,
18694 OPC_CheckType, MVT::v8i16,
18695 OPC_MoveParent,
18696 OPC_CheckType, MVT::v16i8,
18697 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18698 MVT::v16i8, 2, 0, 1,
18699 40,
18700 OPC_MoveChild0,
18701 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18702 OPC_CheckChild0Integer, 127|128,0,
18703 OPC_CheckChild0TypeI32,
18704 OPC_MoveParent,
18705 OPC_RecordChild1,
18706 OPC_MoveSibling1,
18707 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18708 OPC_CheckChild0Integer, 0|128,127,
18709 OPC_CheckChild0TypeI32,
18710 OPC_MoveParent,
18711 OPC_MoveSibling1,
18712 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18713 OPC_CheckChild0Integer, 127|128,1,
18714 OPC_CheckChild0TypeI32,
18715 OPC_MoveParent,
18716 OPC_CheckType, MVT::v8i16,
18717 OPC_MoveParent,
18718 OPC_CheckType, MVT::v16i8,
18719 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18720 MVT::v16i8, 2, 0, 1,
18721 0,
18722 76, TARGET_VAL(ISD::SPLAT_VECTOR),
18723 OPC_CheckChild0Integer, 0|128,127,
18724 OPC_CheckChild0TypeI32,
18725 OPC_MoveSibling1,
18726 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18727 OPC_Scope, 32,
18728 OPC_RecordChild0,
18729 OPC_MoveChild1,
18730 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18731 OPC_CheckChild0Integer, 127|128,0,
18732 OPC_CheckChild0TypeI32,
18733 OPC_MoveParent,
18734 OPC_MoveParent,
18735 OPC_MoveSibling1,
18736 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18737 OPC_CheckChild0Integer, 127|128,1,
18738 OPC_CheckChild0TypeI32,
18739 OPC_MoveParent,
18740 OPC_CheckType, MVT::v8i16,
18741 OPC_MoveParent,
18742 OPC_CheckType, MVT::v16i8,
18743 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18744 MVT::v16i8, 2, 0, 1,
18745 32,
18746 OPC_MoveChild0,
18747 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18748 OPC_CheckChild0Integer, 127|128,0,
18749 OPC_CheckChild0TypeI32,
18750 OPC_MoveParent,
18751 OPC_RecordChild1,
18752 OPC_MoveParent,
18753 OPC_MoveSibling1,
18754 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18755 OPC_CheckChild0Integer, 127|128,1,
18756 OPC_CheckChild0TypeI32,
18757 OPC_MoveParent,
18758 OPC_CheckType, MVT::v8i16,
18759 OPC_MoveParent,
18760 OPC_CheckType, MVT::v16i8,
18761 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18762 MVT::v16i8, 2, 0, 1,
18763 0,
18764 0,
18765 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18766 OPC_CheckChild0Integer, 127|128,1,
18767 OPC_CheckChild0TypeI32,
18768 OPC_MoveSibling1,
18769 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18770 OPC_MoveChild0,
18771 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
18772 OPC_Scope, 32,
18773 OPC_RecordChild0,
18774 OPC_MoveChild1,
18775 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18776 OPC_CheckChild0Integer, 127|128,0,
18777 OPC_CheckChild0TypeI32,
18778 OPC_MoveParent,
18779 OPC_MoveSibling1,
18780 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18781 OPC_CheckChild0Integer, 0|128,127,
18782 OPC_CheckChild0TypeI32,
18783 OPC_MoveParent,
18784 OPC_MoveParent,
18785 OPC_CheckType, MVT::v8i16,
18786 OPC_MoveParent,
18787 OPC_CheckType, MVT::v16i8,
18788 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18789 MVT::v16i8, 2, 0, 1,
18790 32,
18791 OPC_MoveChild0,
18792 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18793 OPC_CheckChild0Integer, 127|128,0,
18794 OPC_CheckChild0TypeI32,
18795 OPC_MoveParent,
18796 OPC_RecordChild1,
18797 OPC_MoveSibling1,
18798 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18799 OPC_CheckChild0Integer, 0|128,127,
18800 OPC_CheckChild0TypeI32,
18801 OPC_MoveParent,
18802 OPC_MoveParent,
18803 OPC_CheckType, MVT::v8i16,
18804 OPC_MoveParent,
18805 OPC_CheckType, MVT::v16i8,
18806 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18807 MVT::v16i8, 2, 0, 1,
18808 0,
18809 60, TARGET_VAL(ISD::SPLAT_VECTOR),
18810 OPC_CheckChild0Integer, 0|128,127,
18811 OPC_CheckChild0TypeI32,
18812 OPC_MoveSibling1,
18813 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18814 OPC_Scope, 24,
18815 OPC_RecordChild0,
18816 OPC_MoveChild1,
18817 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18818 OPC_CheckChild0Integer, 127|128,0,
18819 OPC_CheckChild0TypeI32,
18820 OPC_MoveParent,
18821 OPC_MoveParent,
18822 OPC_MoveParent,
18823 OPC_CheckType, MVT::v8i16,
18824 OPC_MoveParent,
18825 OPC_CheckType, MVT::v16i8,
18826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18827 MVT::v16i8, 2, 0, 1,
18828 24,
18829 OPC_MoveChild0,
18830 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18831 OPC_CheckChild0Integer, 127|128,0,
18832 OPC_CheckChild0TypeI32,
18833 OPC_MoveParent,
18834 OPC_RecordChild1,
18835 OPC_MoveParent,
18836 OPC_MoveParent,
18837 OPC_CheckType, MVT::v8i16,
18838 OPC_MoveParent,
18839 OPC_CheckType, MVT::v16i8,
18840 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18841 MVT::v16i8, 2, 0, 1,
18842 0,
18843 0,
18844 0,
18845 0,
18846 60|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
18847 OPC_CheckChild0Integer, 0|128,127,
18848 OPC_CheckChild0TypeI32,
18849 OPC_MoveSibling1,
18850 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18851 OPC_Scope, 87|128,2,
18852 OPC_RecordChild0,
18853 OPC_MoveChild1,
18854 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18855 OPC_CheckChild0Integer, 127|128,0,
18856 OPC_CheckChild0TypeI32,
18857 OPC_MoveParent,
18858 OPC_MoveParent,
18859 OPC_MoveParent,
18860 OPC_CheckType, MVT::v8i16,
18861 OPC_MoveSibling1,
18862 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
18863 OPC_MoveChild0,
18864 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
18865 OPC_MoveChild0,
18866 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
18867 OPC_Scope, 40,
18868 OPC_RecordChild0,
18869 OPC_MoveChild1,
18870 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18871 OPC_CheckChild0Integer, 127|128,0,
18872 OPC_CheckChild0TypeI32,
18873 OPC_MoveParent,
18874 OPC_MoveSibling1,
18875 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18876 OPC_CheckChild0Integer, 0|128,127,
18877 OPC_CheckChild0TypeI32,
18878 OPC_MoveParent,
18879 OPC_MoveSibling1,
18880 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18881 OPC_CheckChild0Integer, 127|128,1,
18882 OPC_CheckChild0TypeI32,
18883 OPC_MoveParent,
18884 OPC_CheckType, MVT::v8i16,
18885 OPC_MoveParent,
18886 OPC_CheckType, MVT::v16i8,
18887 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18888 MVT::v16i8, 2, 0, 1,
18889 40,
18890 OPC_MoveChild0,
18891 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18892 OPC_CheckChild0Integer, 127|128,0,
18893 OPC_CheckChild0TypeI32,
18894 OPC_MoveParent,
18895 OPC_RecordChild1,
18896 OPC_MoveSibling1,
18897 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18898 OPC_CheckChild0Integer, 0|128,127,
18899 OPC_CheckChild0TypeI32,
18900 OPC_MoveParent,
18901 OPC_MoveSibling1,
18902 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18903 OPC_CheckChild0Integer, 127|128,1,
18904 OPC_CheckChild0TypeI32,
18905 OPC_MoveParent,
18906 OPC_CheckType, MVT::v8i16,
18907 OPC_MoveParent,
18908 OPC_CheckType, MVT::v16i8,
18909 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18910 MVT::v16i8, 2, 0, 1,
18911 0,
18912 76, TARGET_VAL(ISD::SPLAT_VECTOR),
18913 OPC_CheckChild0Integer, 0|128,127,
18914 OPC_CheckChild0TypeI32,
18915 OPC_MoveSibling1,
18916 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
18917 OPC_Scope, 32,
18918 OPC_RecordChild0,
18919 OPC_MoveChild1,
18920 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18921 OPC_CheckChild0Integer, 127|128,0,
18922 OPC_CheckChild0TypeI32,
18923 OPC_MoveParent,
18924 OPC_MoveParent,
18925 OPC_MoveSibling1,
18926 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18927 OPC_CheckChild0Integer, 127|128,1,
18928 OPC_CheckChild0TypeI32,
18929 OPC_MoveParent,
18930 OPC_CheckType, MVT::v8i16,
18931 OPC_MoveParent,
18932 OPC_CheckType, MVT::v16i8,
18933 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18934 MVT::v16i8, 2, 0, 1,
18935 32,
18936 OPC_MoveChild0,
18937 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18938 OPC_CheckChild0Integer, 127|128,0,
18939 OPC_CheckChild0TypeI32,
18940 OPC_MoveParent,
18941 OPC_RecordChild1,
18942 OPC_MoveParent,
18943 OPC_MoveSibling1,
18944 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18945 OPC_CheckChild0Integer, 127|128,1,
18946 OPC_CheckChild0TypeI32,
18947 OPC_MoveParent,
18948 OPC_CheckType, MVT::v8i16,
18949 OPC_MoveParent,
18950 OPC_CheckType, MVT::v16i8,
18951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18952 MVT::v16i8, 2, 0, 1,
18953 0,
18954 0,
18955 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
18956 OPC_CheckChild0Integer, 127|128,1,
18957 OPC_CheckChild0TypeI32,
18958 OPC_MoveSibling1,
18959 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
18960 OPC_MoveChild0,
18961 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
18962 OPC_Scope, 32,
18963 OPC_RecordChild0,
18964 OPC_MoveChild1,
18965 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18966 OPC_CheckChild0Integer, 127|128,0,
18967 OPC_CheckChild0TypeI32,
18968 OPC_MoveParent,
18969 OPC_MoveSibling1,
18970 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18971 OPC_CheckChild0Integer, 0|128,127,
18972 OPC_CheckChild0TypeI32,
18973 OPC_MoveParent,
18974 OPC_MoveParent,
18975 OPC_CheckType, MVT::v8i16,
18976 OPC_MoveParent,
18977 OPC_CheckType, MVT::v16i8,
18978 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18979 MVT::v16i8, 2, 0, 1,
18980 32,
18981 OPC_MoveChild0,
18982 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18983 OPC_CheckChild0Integer, 127|128,0,
18984 OPC_CheckChild0TypeI32,
18985 OPC_MoveParent,
18986 OPC_RecordChild1,
18987 OPC_MoveSibling1,
18988 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
18989 OPC_CheckChild0Integer, 0|128,127,
18990 OPC_CheckChild0TypeI32,
18991 OPC_MoveParent,
18992 OPC_MoveParent,
18993 OPC_CheckType, MVT::v8i16,
18994 OPC_MoveParent,
18995 OPC_CheckType, MVT::v16i8,
18996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
18997 MVT::v16i8, 2, 0, 1,
18998 0,
18999 60, TARGET_VAL(ISD::SPLAT_VECTOR),
19000 OPC_CheckChild0Integer, 0|128,127,
19001 OPC_CheckChild0TypeI32,
19002 OPC_MoveSibling1,
19003 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19004 OPC_Scope, 24,
19005 OPC_RecordChild0,
19006 OPC_MoveChild1,
19007 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19008 OPC_CheckChild0Integer, 127|128,0,
19009 OPC_CheckChild0TypeI32,
19010 OPC_MoveParent,
19011 OPC_MoveParent,
19012 OPC_MoveParent,
19013 OPC_CheckType, MVT::v8i16,
19014 OPC_MoveParent,
19015 OPC_CheckType, MVT::v16i8,
19016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19017 MVT::v16i8, 2, 0, 1,
19018 24,
19019 OPC_MoveChild0,
19020 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19021 OPC_CheckChild0Integer, 127|128,0,
19022 OPC_CheckChild0TypeI32,
19023 OPC_MoveParent,
19024 OPC_RecordChild1,
19025 OPC_MoveParent,
19026 OPC_MoveParent,
19027 OPC_CheckType, MVT::v8i16,
19028 OPC_MoveParent,
19029 OPC_CheckType, MVT::v16i8,
19030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19031 MVT::v16i8, 2, 0, 1,
19032 0,
19033 0,
19034 0,
19035 87|128,2,
19036 OPC_MoveChild0,
19037 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19038 OPC_CheckChild0Integer, 127|128,0,
19039 OPC_CheckChild0TypeI32,
19040 OPC_MoveParent,
19041 OPC_RecordChild1,
19042 OPC_MoveParent,
19043 OPC_MoveParent,
19044 OPC_CheckType, MVT::v8i16,
19045 OPC_MoveSibling1,
19046 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19047 OPC_MoveChild0,
19048 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::SMAX),
19049 OPC_MoveChild0,
19050 OPC_SwitchOpcode , 84, TARGET_VAL(ISD::SMIN),
19051 OPC_Scope, 40,
19052 OPC_RecordChild0,
19053 OPC_MoveChild1,
19054 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19055 OPC_CheckChild0Integer, 127|128,0,
19056 OPC_CheckChild0TypeI32,
19057 OPC_MoveParent,
19058 OPC_MoveSibling1,
19059 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19060 OPC_CheckChild0Integer, 0|128,127,
19061 OPC_CheckChild0TypeI32,
19062 OPC_MoveParent,
19063 OPC_MoveSibling1,
19064 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19065 OPC_CheckChild0Integer, 127|128,1,
19066 OPC_CheckChild0TypeI32,
19067 OPC_MoveParent,
19068 OPC_CheckType, MVT::v8i16,
19069 OPC_MoveParent,
19070 OPC_CheckType, MVT::v16i8,
19071 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19072 MVT::v16i8, 2, 0, 1,
19073 40,
19074 OPC_MoveChild0,
19075 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19076 OPC_CheckChild0Integer, 127|128,0,
19077 OPC_CheckChild0TypeI32,
19078 OPC_MoveParent,
19079 OPC_RecordChild1,
19080 OPC_MoveSibling1,
19081 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19082 OPC_CheckChild0Integer, 0|128,127,
19083 OPC_CheckChild0TypeI32,
19084 OPC_MoveParent,
19085 OPC_MoveSibling1,
19086 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19087 OPC_CheckChild0Integer, 127|128,1,
19088 OPC_CheckChild0TypeI32,
19089 OPC_MoveParent,
19090 OPC_CheckType, MVT::v8i16,
19091 OPC_MoveParent,
19092 OPC_CheckType, MVT::v16i8,
19093 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19094 MVT::v16i8, 2, 0, 1,
19095 0,
19096 76, TARGET_VAL(ISD::SPLAT_VECTOR),
19097 OPC_CheckChild0Integer, 0|128,127,
19098 OPC_CheckChild0TypeI32,
19099 OPC_MoveSibling1,
19100 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19101 OPC_Scope, 32,
19102 OPC_RecordChild0,
19103 OPC_MoveChild1,
19104 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19105 OPC_CheckChild0Integer, 127|128,0,
19106 OPC_CheckChild0TypeI32,
19107 OPC_MoveParent,
19108 OPC_MoveParent,
19109 OPC_MoveSibling1,
19110 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19111 OPC_CheckChild0Integer, 127|128,1,
19112 OPC_CheckChild0TypeI32,
19113 OPC_MoveParent,
19114 OPC_CheckType, MVT::v8i16,
19115 OPC_MoveParent,
19116 OPC_CheckType, MVT::v16i8,
19117 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19118 MVT::v16i8, 2, 0, 1,
19119 32,
19120 OPC_MoveChild0,
19121 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19122 OPC_CheckChild0Integer, 127|128,0,
19123 OPC_CheckChild0TypeI32,
19124 OPC_MoveParent,
19125 OPC_RecordChild1,
19126 OPC_MoveParent,
19127 OPC_MoveSibling1,
19128 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19129 OPC_CheckChild0Integer, 127|128,1,
19130 OPC_CheckChild0TypeI32,
19131 OPC_MoveParent,
19132 OPC_CheckType, MVT::v8i16,
19133 OPC_MoveParent,
19134 OPC_CheckType, MVT::v16i8,
19135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19136 MVT::v16i8, 2, 0, 1,
19137 0,
19138 0,
19139 17|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19140 OPC_CheckChild0Integer, 127|128,1,
19141 OPC_CheckChild0TypeI32,
19142 OPC_MoveSibling1,
19143 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19144 OPC_MoveChild0,
19145 OPC_SwitchOpcode , 68, TARGET_VAL(ISD::SMIN),
19146 OPC_Scope, 32,
19147 OPC_RecordChild0,
19148 OPC_MoveChild1,
19149 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19150 OPC_CheckChild0Integer, 127|128,0,
19151 OPC_CheckChild0TypeI32,
19152 OPC_MoveParent,
19153 OPC_MoveSibling1,
19154 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19155 OPC_CheckChild0Integer, 0|128,127,
19156 OPC_CheckChild0TypeI32,
19157 OPC_MoveParent,
19158 OPC_MoveParent,
19159 OPC_CheckType, MVT::v8i16,
19160 OPC_MoveParent,
19161 OPC_CheckType, MVT::v16i8,
19162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19163 MVT::v16i8, 2, 0, 1,
19164 32,
19165 OPC_MoveChild0,
19166 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19167 OPC_CheckChild0Integer, 127|128,0,
19168 OPC_CheckChild0TypeI32,
19169 OPC_MoveParent,
19170 OPC_RecordChild1,
19171 OPC_MoveSibling1,
19172 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19173 OPC_CheckChild0Integer, 0|128,127,
19174 OPC_CheckChild0TypeI32,
19175 OPC_MoveParent,
19176 OPC_MoveParent,
19177 OPC_CheckType, MVT::v8i16,
19178 OPC_MoveParent,
19179 OPC_CheckType, MVT::v16i8,
19180 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19181 MVT::v16i8, 2, 0, 1,
19182 0,
19183 60, TARGET_VAL(ISD::SPLAT_VECTOR),
19184 OPC_CheckChild0Integer, 0|128,127,
19185 OPC_CheckChild0TypeI32,
19186 OPC_MoveSibling1,
19187 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19188 OPC_Scope, 24,
19189 OPC_RecordChild0,
19190 OPC_MoveChild1,
19191 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19192 OPC_CheckChild0Integer, 127|128,0,
19193 OPC_CheckChild0TypeI32,
19194 OPC_MoveParent,
19195 OPC_MoveParent,
19196 OPC_MoveParent,
19197 OPC_CheckType, MVT::v8i16,
19198 OPC_MoveParent,
19199 OPC_CheckType, MVT::v16i8,
19200 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19201 MVT::v16i8, 2, 0, 1,
19202 24,
19203 OPC_MoveChild0,
19204 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19205 OPC_CheckChild0Integer, 127|128,0,
19206 OPC_CheckChild0TypeI32,
19207 OPC_MoveParent,
19208 OPC_RecordChild1,
19209 OPC_MoveParent,
19210 OPC_MoveParent,
19211 OPC_CheckType, MVT::v8i16,
19212 OPC_MoveParent,
19213 OPC_CheckType, MVT::v16i8,
19214 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
19215 MVT::v16i8, 2, 0, 1,
19216 0,
19217 0,
19218 0,
19219 0,
19220 0,
19221 0,
19222 76|128,23,
19223 OPC_CheckChild0Integer, 127|128,127|128,3,
19224 OPC_CheckChild0TypeI32,
19225 OPC_MoveSibling1,
19226 OPC_SwitchOpcode , 94|128,11, TARGET_VAL(ISD::SMIN),
19227 OPC_MoveChild0,
19228 OPC_SwitchOpcode , 110|128,5, TARGET_VAL(ISD::SMAX),
19229 OPC_Scope, 116|128,2,
19230 OPC_RecordChild0,
19231 OPC_MoveChild1,
19232 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19233 OPC_CheckChild0Integer, 0|128,0|128,126,
19234 OPC_CheckChild0TypeI32,
19235 OPC_MoveParent,
19236 OPC_MoveSibling1,
19237 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19238 OPC_CheckChild0Integer, 127|128,127|128,1,
19239 OPC_CheckChild0TypeI32,
19240 OPC_MoveParent,
19241 OPC_MoveParent,
19242 OPC_CheckType, MVT::v4i32,
19243 OPC_MoveSibling1,
19244 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19245 OPC_MoveChild0,
19246 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
19247 OPC_MoveChild0,
19248 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
19249 OPC_Scope, 43,
19250 OPC_RecordChild0,
19251 OPC_MoveChild1,
19252 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19253 OPC_CheckChild0Integer, 0|128,0|128,126,
19254 OPC_CheckChild0TypeI32,
19255 OPC_MoveParent,
19256 OPC_MoveSibling1,
19257 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19258 OPC_CheckChild0Integer, 127|128,127|128,1,
19259 OPC_CheckChild0TypeI32,
19260 OPC_MoveParent,
19261 OPC_MoveSibling1,
19262 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19263 OPC_CheckChild0Integer, 127|128,127|128,3,
19264 OPC_CheckChild0TypeI32,
19265 OPC_MoveParent,
19266 OPC_CheckType, MVT::v4i32,
19267 OPC_MoveParent,
19268 OPC_CheckType, MVT::v8i16,
19269 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19270 MVT::v8i16, 2, 0, 1,
19271 43,
19272 OPC_MoveChild0,
19273 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19274 OPC_CheckChild0Integer, 0|128,0|128,126,
19275 OPC_CheckChild0TypeI32,
19276 OPC_MoveParent,
19277 OPC_RecordChild1,
19278 OPC_MoveSibling1,
19279 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19280 OPC_CheckChild0Integer, 127|128,127|128,1,
19281 OPC_CheckChild0TypeI32,
19282 OPC_MoveParent,
19283 OPC_MoveSibling1,
19284 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19285 OPC_CheckChild0Integer, 127|128,127|128,3,
19286 OPC_CheckChild0TypeI32,
19287 OPC_MoveParent,
19288 OPC_CheckType, MVT::v4i32,
19289 OPC_MoveParent,
19290 OPC_CheckType, MVT::v8i16,
19291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19292 MVT::v8i16, 2, 0, 1,
19293 0,
19294 81, TARGET_VAL(ISD::SPLAT_VECTOR),
19295 OPC_CheckChild0Integer, 127|128,127|128,1,
19296 OPC_CheckChild0TypeI32,
19297 OPC_MoveSibling1,
19298 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19299 OPC_Scope, 34,
19300 OPC_RecordChild0,
19301 OPC_MoveChild1,
19302 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19303 OPC_CheckChild0Integer, 0|128,0|128,126,
19304 OPC_CheckChild0TypeI32,
19305 OPC_MoveParent,
19306 OPC_MoveParent,
19307 OPC_MoveSibling1,
19308 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19309 OPC_CheckChild0Integer, 127|128,127|128,3,
19310 OPC_CheckChild0TypeI32,
19311 OPC_MoveParent,
19312 OPC_CheckType, MVT::v4i32,
19313 OPC_MoveParent,
19314 OPC_CheckType, MVT::v8i16,
19315 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19316 MVT::v8i16, 2, 0, 1,
19317 34,
19318 OPC_MoveChild0,
19319 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19320 OPC_CheckChild0Integer, 0|128,0|128,126,
19321 OPC_CheckChild0TypeI32,
19322 OPC_MoveParent,
19323 OPC_RecordChild1,
19324 OPC_MoveParent,
19325 OPC_MoveSibling1,
19326 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19327 OPC_CheckChild0Integer, 127|128,127|128,3,
19328 OPC_CheckChild0TypeI32,
19329 OPC_MoveParent,
19330 OPC_CheckType, MVT::v4i32,
19331 OPC_MoveParent,
19332 OPC_CheckType, MVT::v8i16,
19333 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19334 MVT::v8i16, 2, 0, 1,
19335 0,
19336 0,
19337 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19338 OPC_CheckChild0Integer, 127|128,127|128,3,
19339 OPC_CheckChild0TypeI32,
19340 OPC_MoveSibling1,
19341 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19342 OPC_MoveChild0,
19343 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
19344 OPC_Scope, 34,
19345 OPC_RecordChild0,
19346 OPC_MoveChild1,
19347 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19348 OPC_CheckChild0Integer, 0|128,0|128,126,
19349 OPC_CheckChild0TypeI32,
19350 OPC_MoveParent,
19351 OPC_MoveSibling1,
19352 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19353 OPC_CheckChild0Integer, 127|128,127|128,1,
19354 OPC_CheckChild0TypeI32,
19355 OPC_MoveParent,
19356 OPC_MoveParent,
19357 OPC_CheckType, MVT::v4i32,
19358 OPC_MoveParent,
19359 OPC_CheckType, MVT::v8i16,
19360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19361 MVT::v8i16, 2, 0, 1,
19362 34,
19363 OPC_MoveChild0,
19364 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19365 OPC_CheckChild0Integer, 0|128,0|128,126,
19366 OPC_CheckChild0TypeI32,
19367 OPC_MoveParent,
19368 OPC_RecordChild1,
19369 OPC_MoveSibling1,
19370 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19371 OPC_CheckChild0Integer, 127|128,127|128,1,
19372 OPC_CheckChild0TypeI32,
19373 OPC_MoveParent,
19374 OPC_MoveParent,
19375 OPC_CheckType, MVT::v4i32,
19376 OPC_MoveParent,
19377 OPC_CheckType, MVT::v8i16,
19378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19379 MVT::v8i16, 2, 0, 1,
19380 0,
19381 63, TARGET_VAL(ISD::SPLAT_VECTOR),
19382 OPC_CheckChild0Integer, 127|128,127|128,1,
19383 OPC_CheckChild0TypeI32,
19384 OPC_MoveSibling1,
19385 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19386 OPC_Scope, 25,
19387 OPC_RecordChild0,
19388 OPC_MoveChild1,
19389 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19390 OPC_CheckChild0Integer, 0|128,0|128,126,
19391 OPC_CheckChild0TypeI32,
19392 OPC_MoveParent,
19393 OPC_MoveParent,
19394 OPC_MoveParent,
19395 OPC_CheckType, MVT::v4i32,
19396 OPC_MoveParent,
19397 OPC_CheckType, MVT::v8i16,
19398 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19399 MVT::v8i16, 2, 0, 1,
19400 25,
19401 OPC_MoveChild0,
19402 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19403 OPC_CheckChild0Integer, 0|128,0|128,126,
19404 OPC_CheckChild0TypeI32,
19405 OPC_MoveParent,
19406 OPC_RecordChild1,
19407 OPC_MoveParent,
19408 OPC_MoveParent,
19409 OPC_CheckType, MVT::v4i32,
19410 OPC_MoveParent,
19411 OPC_CheckType, MVT::v8i16,
19412 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19413 MVT::v8i16, 2, 0, 1,
19414 0,
19415 0,
19416 0,
19417 116|128,2,
19418 OPC_MoveChild0,
19419 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19420 OPC_CheckChild0Integer, 0|128,0|128,126,
19421 OPC_CheckChild0TypeI32,
19422 OPC_MoveParent,
19423 OPC_RecordChild1,
19424 OPC_MoveSibling1,
19425 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19426 OPC_CheckChild0Integer, 127|128,127|128,1,
19427 OPC_CheckChild0TypeI32,
19428 OPC_MoveParent,
19429 OPC_MoveParent,
19430 OPC_CheckType, MVT::v4i32,
19431 OPC_MoveSibling1,
19432 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19433 OPC_MoveChild0,
19434 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
19435 OPC_MoveChild0,
19436 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
19437 OPC_Scope, 43,
19438 OPC_RecordChild0,
19439 OPC_MoveChild1,
19440 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19441 OPC_CheckChild0Integer, 0|128,0|128,126,
19442 OPC_CheckChild0TypeI32,
19443 OPC_MoveParent,
19444 OPC_MoveSibling1,
19445 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19446 OPC_CheckChild0Integer, 127|128,127|128,1,
19447 OPC_CheckChild0TypeI32,
19448 OPC_MoveParent,
19449 OPC_MoveSibling1,
19450 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19451 OPC_CheckChild0Integer, 127|128,127|128,3,
19452 OPC_CheckChild0TypeI32,
19453 OPC_MoveParent,
19454 OPC_CheckType, MVT::v4i32,
19455 OPC_MoveParent,
19456 OPC_CheckType, MVT::v8i16,
19457 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19458 MVT::v8i16, 2, 0, 1,
19459 43,
19460 OPC_MoveChild0,
19461 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19462 OPC_CheckChild0Integer, 0|128,0|128,126,
19463 OPC_CheckChild0TypeI32,
19464 OPC_MoveParent,
19465 OPC_RecordChild1,
19466 OPC_MoveSibling1,
19467 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19468 OPC_CheckChild0Integer, 127|128,127|128,1,
19469 OPC_CheckChild0TypeI32,
19470 OPC_MoveParent,
19471 OPC_MoveSibling1,
19472 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19473 OPC_CheckChild0Integer, 127|128,127|128,3,
19474 OPC_CheckChild0TypeI32,
19475 OPC_MoveParent,
19476 OPC_CheckType, MVT::v4i32,
19477 OPC_MoveParent,
19478 OPC_CheckType, MVT::v8i16,
19479 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19480 MVT::v8i16, 2, 0, 1,
19481 0,
19482 81, TARGET_VAL(ISD::SPLAT_VECTOR),
19483 OPC_CheckChild0Integer, 127|128,127|128,1,
19484 OPC_CheckChild0TypeI32,
19485 OPC_MoveSibling1,
19486 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19487 OPC_Scope, 34,
19488 OPC_RecordChild0,
19489 OPC_MoveChild1,
19490 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19491 OPC_CheckChild0Integer, 0|128,0|128,126,
19492 OPC_CheckChild0TypeI32,
19493 OPC_MoveParent,
19494 OPC_MoveParent,
19495 OPC_MoveSibling1,
19496 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19497 OPC_CheckChild0Integer, 127|128,127|128,3,
19498 OPC_CheckChild0TypeI32,
19499 OPC_MoveParent,
19500 OPC_CheckType, MVT::v4i32,
19501 OPC_MoveParent,
19502 OPC_CheckType, MVT::v8i16,
19503 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19504 MVT::v8i16, 2, 0, 1,
19505 34,
19506 OPC_MoveChild0,
19507 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19508 OPC_CheckChild0Integer, 0|128,0|128,126,
19509 OPC_CheckChild0TypeI32,
19510 OPC_MoveParent,
19511 OPC_RecordChild1,
19512 OPC_MoveParent,
19513 OPC_MoveSibling1,
19514 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19515 OPC_CheckChild0Integer, 127|128,127|128,3,
19516 OPC_CheckChild0TypeI32,
19517 OPC_MoveParent,
19518 OPC_CheckType, MVT::v4i32,
19519 OPC_MoveParent,
19520 OPC_CheckType, MVT::v8i16,
19521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19522 MVT::v8i16, 2, 0, 1,
19523 0,
19524 0,
19525 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19526 OPC_CheckChild0Integer, 127|128,127|128,3,
19527 OPC_CheckChild0TypeI32,
19528 OPC_MoveSibling1,
19529 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19530 OPC_MoveChild0,
19531 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
19532 OPC_Scope, 34,
19533 OPC_RecordChild0,
19534 OPC_MoveChild1,
19535 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19536 OPC_CheckChild0Integer, 0|128,0|128,126,
19537 OPC_CheckChild0TypeI32,
19538 OPC_MoveParent,
19539 OPC_MoveSibling1,
19540 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19541 OPC_CheckChild0Integer, 127|128,127|128,1,
19542 OPC_CheckChild0TypeI32,
19543 OPC_MoveParent,
19544 OPC_MoveParent,
19545 OPC_CheckType, MVT::v4i32,
19546 OPC_MoveParent,
19547 OPC_CheckType, MVT::v8i16,
19548 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19549 MVT::v8i16, 2, 0, 1,
19550 34,
19551 OPC_MoveChild0,
19552 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19553 OPC_CheckChild0Integer, 0|128,0|128,126,
19554 OPC_CheckChild0TypeI32,
19555 OPC_MoveParent,
19556 OPC_RecordChild1,
19557 OPC_MoveSibling1,
19558 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19559 OPC_CheckChild0Integer, 127|128,127|128,1,
19560 OPC_CheckChild0TypeI32,
19561 OPC_MoveParent,
19562 OPC_MoveParent,
19563 OPC_CheckType, MVT::v4i32,
19564 OPC_MoveParent,
19565 OPC_CheckType, MVT::v8i16,
19566 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19567 MVT::v8i16, 2, 0, 1,
19568 0,
19569 63, TARGET_VAL(ISD::SPLAT_VECTOR),
19570 OPC_CheckChild0Integer, 127|128,127|128,1,
19571 OPC_CheckChild0TypeI32,
19572 OPC_MoveSibling1,
19573 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19574 OPC_Scope, 25,
19575 OPC_RecordChild0,
19576 OPC_MoveChild1,
19577 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19578 OPC_CheckChild0Integer, 0|128,0|128,126,
19579 OPC_CheckChild0TypeI32,
19580 OPC_MoveParent,
19581 OPC_MoveParent,
19582 OPC_MoveParent,
19583 OPC_CheckType, MVT::v4i32,
19584 OPC_MoveParent,
19585 OPC_CheckType, MVT::v8i16,
19586 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19587 MVT::v8i16, 2, 0, 1,
19588 25,
19589 OPC_MoveChild0,
19590 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19591 OPC_CheckChild0Integer, 0|128,0|128,126,
19592 OPC_CheckChild0TypeI32,
19593 OPC_MoveParent,
19594 OPC_RecordChild1,
19595 OPC_MoveParent,
19596 OPC_MoveParent,
19597 OPC_CheckType, MVT::v4i32,
19598 OPC_MoveParent,
19599 OPC_CheckType, MVT::v8i16,
19600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19601 MVT::v8i16, 2, 0, 1,
19602 0,
19603 0,
19604 0,
19605 0,
19606 101|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
19607 OPC_CheckChild0Integer, 127|128,127|128,1,
19608 OPC_CheckChild0TypeI32,
19609 OPC_MoveSibling1,
19610 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19611 OPC_Scope, 107|128,2,
19612 OPC_RecordChild0,
19613 OPC_MoveChild1,
19614 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19615 OPC_CheckChild0Integer, 0|128,0|128,126,
19616 OPC_CheckChild0TypeI32,
19617 OPC_MoveParent,
19618 OPC_MoveParent,
19619 OPC_MoveParent,
19620 OPC_CheckType, MVT::v4i32,
19621 OPC_MoveSibling1,
19622 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19623 OPC_MoveChild0,
19624 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
19625 OPC_MoveChild0,
19626 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
19627 OPC_Scope, 43,
19628 OPC_RecordChild0,
19629 OPC_MoveChild1,
19630 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19631 OPC_CheckChild0Integer, 0|128,0|128,126,
19632 OPC_CheckChild0TypeI32,
19633 OPC_MoveParent,
19634 OPC_MoveSibling1,
19635 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19636 OPC_CheckChild0Integer, 127|128,127|128,1,
19637 OPC_CheckChild0TypeI32,
19638 OPC_MoveParent,
19639 OPC_MoveSibling1,
19640 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19641 OPC_CheckChild0Integer, 127|128,127|128,3,
19642 OPC_CheckChild0TypeI32,
19643 OPC_MoveParent,
19644 OPC_CheckType, MVT::v4i32,
19645 OPC_MoveParent,
19646 OPC_CheckType, MVT::v8i16,
19647 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19648 MVT::v8i16, 2, 0, 1,
19649 43,
19650 OPC_MoveChild0,
19651 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19652 OPC_CheckChild0Integer, 0|128,0|128,126,
19653 OPC_CheckChild0TypeI32,
19654 OPC_MoveParent,
19655 OPC_RecordChild1,
19656 OPC_MoveSibling1,
19657 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19658 OPC_CheckChild0Integer, 127|128,127|128,1,
19659 OPC_CheckChild0TypeI32,
19660 OPC_MoveParent,
19661 OPC_MoveSibling1,
19662 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19663 OPC_CheckChild0Integer, 127|128,127|128,3,
19664 OPC_CheckChild0TypeI32,
19665 OPC_MoveParent,
19666 OPC_CheckType, MVT::v4i32,
19667 OPC_MoveParent,
19668 OPC_CheckType, MVT::v8i16,
19669 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19670 MVT::v8i16, 2, 0, 1,
19671 0,
19672 81, TARGET_VAL(ISD::SPLAT_VECTOR),
19673 OPC_CheckChild0Integer, 127|128,127|128,1,
19674 OPC_CheckChild0TypeI32,
19675 OPC_MoveSibling1,
19676 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19677 OPC_Scope, 34,
19678 OPC_RecordChild0,
19679 OPC_MoveChild1,
19680 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19681 OPC_CheckChild0Integer, 0|128,0|128,126,
19682 OPC_CheckChild0TypeI32,
19683 OPC_MoveParent,
19684 OPC_MoveParent,
19685 OPC_MoveSibling1,
19686 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19687 OPC_CheckChild0Integer, 127|128,127|128,3,
19688 OPC_CheckChild0TypeI32,
19689 OPC_MoveParent,
19690 OPC_CheckType, MVT::v4i32,
19691 OPC_MoveParent,
19692 OPC_CheckType, MVT::v8i16,
19693 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19694 MVT::v8i16, 2, 0, 1,
19695 34,
19696 OPC_MoveChild0,
19697 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19698 OPC_CheckChild0Integer, 0|128,0|128,126,
19699 OPC_CheckChild0TypeI32,
19700 OPC_MoveParent,
19701 OPC_RecordChild1,
19702 OPC_MoveParent,
19703 OPC_MoveSibling1,
19704 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19705 OPC_CheckChild0Integer, 127|128,127|128,3,
19706 OPC_CheckChild0TypeI32,
19707 OPC_MoveParent,
19708 OPC_CheckType, MVT::v4i32,
19709 OPC_MoveParent,
19710 OPC_CheckType, MVT::v8i16,
19711 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19712 MVT::v8i16, 2, 0, 1,
19713 0,
19714 0,
19715 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19716 OPC_CheckChild0Integer, 127|128,127|128,3,
19717 OPC_CheckChild0TypeI32,
19718 OPC_MoveSibling1,
19719 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19720 OPC_MoveChild0,
19721 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
19722 OPC_Scope, 34,
19723 OPC_RecordChild0,
19724 OPC_MoveChild1,
19725 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19726 OPC_CheckChild0Integer, 0|128,0|128,126,
19727 OPC_CheckChild0TypeI32,
19728 OPC_MoveParent,
19729 OPC_MoveSibling1,
19730 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19731 OPC_CheckChild0Integer, 127|128,127|128,1,
19732 OPC_CheckChild0TypeI32,
19733 OPC_MoveParent,
19734 OPC_MoveParent,
19735 OPC_CheckType, MVT::v4i32,
19736 OPC_MoveParent,
19737 OPC_CheckType, MVT::v8i16,
19738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19739 MVT::v8i16, 2, 0, 1,
19740 34,
19741 OPC_MoveChild0,
19742 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19743 OPC_CheckChild0Integer, 0|128,0|128,126,
19744 OPC_CheckChild0TypeI32,
19745 OPC_MoveParent,
19746 OPC_RecordChild1,
19747 OPC_MoveSibling1,
19748 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19749 OPC_CheckChild0Integer, 127|128,127|128,1,
19750 OPC_CheckChild0TypeI32,
19751 OPC_MoveParent,
19752 OPC_MoveParent,
19753 OPC_CheckType, MVT::v4i32,
19754 OPC_MoveParent,
19755 OPC_CheckType, MVT::v8i16,
19756 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19757 MVT::v8i16, 2, 0, 1,
19758 0,
19759 63, TARGET_VAL(ISD::SPLAT_VECTOR),
19760 OPC_CheckChild0Integer, 127|128,127|128,1,
19761 OPC_CheckChild0TypeI32,
19762 OPC_MoveSibling1,
19763 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19764 OPC_Scope, 25,
19765 OPC_RecordChild0,
19766 OPC_MoveChild1,
19767 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19768 OPC_CheckChild0Integer, 0|128,0|128,126,
19769 OPC_CheckChild0TypeI32,
19770 OPC_MoveParent,
19771 OPC_MoveParent,
19772 OPC_MoveParent,
19773 OPC_CheckType, MVT::v4i32,
19774 OPC_MoveParent,
19775 OPC_CheckType, MVT::v8i16,
19776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19777 MVT::v8i16, 2, 0, 1,
19778 25,
19779 OPC_MoveChild0,
19780 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19781 OPC_CheckChild0Integer, 0|128,0|128,126,
19782 OPC_CheckChild0TypeI32,
19783 OPC_MoveParent,
19784 OPC_RecordChild1,
19785 OPC_MoveParent,
19786 OPC_MoveParent,
19787 OPC_CheckType, MVT::v4i32,
19788 OPC_MoveParent,
19789 OPC_CheckType, MVT::v8i16,
19790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19791 MVT::v8i16, 2, 0, 1,
19792 0,
19793 0,
19794 0,
19795 107|128,2,
19796 OPC_MoveChild0,
19797 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19798 OPC_CheckChild0Integer, 0|128,0|128,126,
19799 OPC_CheckChild0TypeI32,
19800 OPC_MoveParent,
19801 OPC_RecordChild1,
19802 OPC_MoveParent,
19803 OPC_MoveParent,
19804 OPC_CheckType, MVT::v4i32,
19805 OPC_MoveSibling1,
19806 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
19807 OPC_MoveChild0,
19808 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMIN),
19809 OPC_MoveChild0,
19810 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMAX),
19811 OPC_Scope, 43,
19812 OPC_RecordChild0,
19813 OPC_MoveChild1,
19814 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19815 OPC_CheckChild0Integer, 0|128,0|128,126,
19816 OPC_CheckChild0TypeI32,
19817 OPC_MoveParent,
19818 OPC_MoveSibling1,
19819 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19820 OPC_CheckChild0Integer, 127|128,127|128,1,
19821 OPC_CheckChild0TypeI32,
19822 OPC_MoveParent,
19823 OPC_MoveSibling1,
19824 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19825 OPC_CheckChild0Integer, 127|128,127|128,3,
19826 OPC_CheckChild0TypeI32,
19827 OPC_MoveParent,
19828 OPC_CheckType, MVT::v4i32,
19829 OPC_MoveParent,
19830 OPC_CheckType, MVT::v8i16,
19831 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19832 MVT::v8i16, 2, 0, 1,
19833 43,
19834 OPC_MoveChild0,
19835 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19836 OPC_CheckChild0Integer, 0|128,0|128,126,
19837 OPC_CheckChild0TypeI32,
19838 OPC_MoveParent,
19839 OPC_RecordChild1,
19840 OPC_MoveSibling1,
19841 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19842 OPC_CheckChild0Integer, 127|128,127|128,1,
19843 OPC_CheckChild0TypeI32,
19844 OPC_MoveParent,
19845 OPC_MoveSibling1,
19846 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19847 OPC_CheckChild0Integer, 127|128,127|128,3,
19848 OPC_CheckChild0TypeI32,
19849 OPC_MoveParent,
19850 OPC_CheckType, MVT::v4i32,
19851 OPC_MoveParent,
19852 OPC_CheckType, MVT::v8i16,
19853 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19854 MVT::v8i16, 2, 0, 1,
19855 0,
19856 81, TARGET_VAL(ISD::SPLAT_VECTOR),
19857 OPC_CheckChild0Integer, 127|128,127|128,1,
19858 OPC_CheckChild0TypeI32,
19859 OPC_MoveSibling1,
19860 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19861 OPC_Scope, 34,
19862 OPC_RecordChild0,
19863 OPC_MoveChild1,
19864 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19865 OPC_CheckChild0Integer, 0|128,0|128,126,
19866 OPC_CheckChild0TypeI32,
19867 OPC_MoveParent,
19868 OPC_MoveParent,
19869 OPC_MoveSibling1,
19870 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19871 OPC_CheckChild0Integer, 127|128,127|128,3,
19872 OPC_CheckChild0TypeI32,
19873 OPC_MoveParent,
19874 OPC_CheckType, MVT::v4i32,
19875 OPC_MoveParent,
19876 OPC_CheckType, MVT::v8i16,
19877 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19878 MVT::v8i16, 2, 0, 1,
19879 34,
19880 OPC_MoveChild0,
19881 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19882 OPC_CheckChild0Integer, 0|128,0|128,126,
19883 OPC_CheckChild0TypeI32,
19884 OPC_MoveParent,
19885 OPC_RecordChild1,
19886 OPC_MoveParent,
19887 OPC_MoveSibling1,
19888 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19889 OPC_CheckChild0Integer, 127|128,127|128,3,
19890 OPC_CheckChild0TypeI32,
19891 OPC_MoveParent,
19892 OPC_CheckType, MVT::v4i32,
19893 OPC_MoveParent,
19894 OPC_CheckType, MVT::v8i16,
19895 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19896 MVT::v8i16, 2, 0, 1,
19897 0,
19898 0,
19899 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
19900 OPC_CheckChild0Integer, 127|128,127|128,3,
19901 OPC_CheckChild0TypeI32,
19902 OPC_MoveSibling1,
19903 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
19904 OPC_MoveChild0,
19905 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMAX),
19906 OPC_Scope, 34,
19907 OPC_RecordChild0,
19908 OPC_MoveChild1,
19909 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19910 OPC_CheckChild0Integer, 0|128,0|128,126,
19911 OPC_CheckChild0TypeI32,
19912 OPC_MoveParent,
19913 OPC_MoveSibling1,
19914 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19915 OPC_CheckChild0Integer, 127|128,127|128,1,
19916 OPC_CheckChild0TypeI32,
19917 OPC_MoveParent,
19918 OPC_MoveParent,
19919 OPC_CheckType, MVT::v4i32,
19920 OPC_MoveParent,
19921 OPC_CheckType, MVT::v8i16,
19922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19923 MVT::v8i16, 2, 0, 1,
19924 34,
19925 OPC_MoveChild0,
19926 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19927 OPC_CheckChild0Integer, 0|128,0|128,126,
19928 OPC_CheckChild0TypeI32,
19929 OPC_MoveParent,
19930 OPC_RecordChild1,
19931 OPC_MoveSibling1,
19932 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19933 OPC_CheckChild0Integer, 127|128,127|128,1,
19934 OPC_CheckChild0TypeI32,
19935 OPC_MoveParent,
19936 OPC_MoveParent,
19937 OPC_CheckType, MVT::v4i32,
19938 OPC_MoveParent,
19939 OPC_CheckType, MVT::v8i16,
19940 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19941 MVT::v8i16, 2, 0, 1,
19942 0,
19943 63, TARGET_VAL(ISD::SPLAT_VECTOR),
19944 OPC_CheckChild0Integer, 127|128,127|128,1,
19945 OPC_CheckChild0TypeI32,
19946 OPC_MoveSibling1,
19947 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
19948 OPC_Scope, 25,
19949 OPC_RecordChild0,
19950 OPC_MoveChild1,
19951 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19952 OPC_CheckChild0Integer, 0|128,0|128,126,
19953 OPC_CheckChild0TypeI32,
19954 OPC_MoveParent,
19955 OPC_MoveParent,
19956 OPC_MoveParent,
19957 OPC_CheckType, MVT::v4i32,
19958 OPC_MoveParent,
19959 OPC_CheckType, MVT::v8i16,
19960 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19961 MVT::v8i16, 2, 0, 1,
19962 25,
19963 OPC_MoveChild0,
19964 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19965 OPC_CheckChild0Integer, 0|128,0|128,126,
19966 OPC_CheckChild0TypeI32,
19967 OPC_MoveParent,
19968 OPC_RecordChild1,
19969 OPC_MoveParent,
19970 OPC_MoveParent,
19971 OPC_CheckType, MVT::v4i32,
19972 OPC_MoveParent,
19973 OPC_CheckType, MVT::v8i16,
19974 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
19975 MVT::v8i16, 2, 0, 1,
19976 0,
19977 0,
19978 0,
19979 0,
19980 0,
19981 94|128,11, TARGET_VAL(ISD::SMAX),
19982 OPC_MoveChild0,
19983 OPC_SwitchOpcode , 110|128,5, TARGET_VAL(ISD::SMIN),
19984 OPC_Scope, 116|128,2,
19985 OPC_RecordChild0,
19986 OPC_MoveChild1,
19987 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19988 OPC_CheckChild0Integer, 127|128,127|128,1,
19989 OPC_CheckChild0TypeI32,
19990 OPC_MoveParent,
19991 OPC_MoveSibling1,
19992 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
19993 OPC_CheckChild0Integer, 0|128,0|128,126,
19994 OPC_CheckChild0TypeI32,
19995 OPC_MoveParent,
19996 OPC_MoveParent,
19997 OPC_CheckType, MVT::v4i32,
19998 OPC_MoveSibling1,
19999 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20000 OPC_MoveChild0,
20001 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
20002 OPC_MoveChild0,
20003 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
20004 OPC_Scope, 43,
20005 OPC_RecordChild0,
20006 OPC_MoveChild1,
20007 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20008 OPC_CheckChild0Integer, 127|128,127|128,1,
20009 OPC_CheckChild0TypeI32,
20010 OPC_MoveParent,
20011 OPC_MoveSibling1,
20012 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20013 OPC_CheckChild0Integer, 0|128,0|128,126,
20014 OPC_CheckChild0TypeI32,
20015 OPC_MoveParent,
20016 OPC_MoveSibling1,
20017 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20018 OPC_CheckChild0Integer, 127|128,127|128,3,
20019 OPC_CheckChild0TypeI32,
20020 OPC_MoveParent,
20021 OPC_CheckType, MVT::v4i32,
20022 OPC_MoveParent,
20023 OPC_CheckType, MVT::v8i16,
20024 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20025 MVT::v8i16, 2, 0, 1,
20026 43,
20027 OPC_MoveChild0,
20028 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20029 OPC_CheckChild0Integer, 127|128,127|128,1,
20030 OPC_CheckChild0TypeI32,
20031 OPC_MoveParent,
20032 OPC_RecordChild1,
20033 OPC_MoveSibling1,
20034 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20035 OPC_CheckChild0Integer, 0|128,0|128,126,
20036 OPC_CheckChild0TypeI32,
20037 OPC_MoveParent,
20038 OPC_MoveSibling1,
20039 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20040 OPC_CheckChild0Integer, 127|128,127|128,3,
20041 OPC_CheckChild0TypeI32,
20042 OPC_MoveParent,
20043 OPC_CheckType, MVT::v4i32,
20044 OPC_MoveParent,
20045 OPC_CheckType, MVT::v8i16,
20046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20047 MVT::v8i16, 2, 0, 1,
20048 0,
20049 81, TARGET_VAL(ISD::SPLAT_VECTOR),
20050 OPC_CheckChild0Integer, 0|128,0|128,126,
20051 OPC_CheckChild0TypeI32,
20052 OPC_MoveSibling1,
20053 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20054 OPC_Scope, 34,
20055 OPC_RecordChild0,
20056 OPC_MoveChild1,
20057 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20058 OPC_CheckChild0Integer, 127|128,127|128,1,
20059 OPC_CheckChild0TypeI32,
20060 OPC_MoveParent,
20061 OPC_MoveParent,
20062 OPC_MoveSibling1,
20063 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20064 OPC_CheckChild0Integer, 127|128,127|128,3,
20065 OPC_CheckChild0TypeI32,
20066 OPC_MoveParent,
20067 OPC_CheckType, MVT::v4i32,
20068 OPC_MoveParent,
20069 OPC_CheckType, MVT::v8i16,
20070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20071 MVT::v8i16, 2, 0, 1,
20072 34,
20073 OPC_MoveChild0,
20074 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20075 OPC_CheckChild0Integer, 127|128,127|128,1,
20076 OPC_CheckChild0TypeI32,
20077 OPC_MoveParent,
20078 OPC_RecordChild1,
20079 OPC_MoveParent,
20080 OPC_MoveSibling1,
20081 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20082 OPC_CheckChild0Integer, 127|128,127|128,3,
20083 OPC_CheckChild0TypeI32,
20084 OPC_MoveParent,
20085 OPC_CheckType, MVT::v4i32,
20086 OPC_MoveParent,
20087 OPC_CheckType, MVT::v8i16,
20088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20089 MVT::v8i16, 2, 0, 1,
20090 0,
20091 0,
20092 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20093 OPC_CheckChild0Integer, 127|128,127|128,3,
20094 OPC_CheckChild0TypeI32,
20095 OPC_MoveSibling1,
20096 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20097 OPC_MoveChild0,
20098 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
20099 OPC_Scope, 34,
20100 OPC_RecordChild0,
20101 OPC_MoveChild1,
20102 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20103 OPC_CheckChild0Integer, 127|128,127|128,1,
20104 OPC_CheckChild0TypeI32,
20105 OPC_MoveParent,
20106 OPC_MoveSibling1,
20107 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20108 OPC_CheckChild0Integer, 0|128,0|128,126,
20109 OPC_CheckChild0TypeI32,
20110 OPC_MoveParent,
20111 OPC_MoveParent,
20112 OPC_CheckType, MVT::v4i32,
20113 OPC_MoveParent,
20114 OPC_CheckType, MVT::v8i16,
20115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20116 MVT::v8i16, 2, 0, 1,
20117 34,
20118 OPC_MoveChild0,
20119 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20120 OPC_CheckChild0Integer, 127|128,127|128,1,
20121 OPC_CheckChild0TypeI32,
20122 OPC_MoveParent,
20123 OPC_RecordChild1,
20124 OPC_MoveSibling1,
20125 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20126 OPC_CheckChild0Integer, 0|128,0|128,126,
20127 OPC_CheckChild0TypeI32,
20128 OPC_MoveParent,
20129 OPC_MoveParent,
20130 OPC_CheckType, MVT::v4i32,
20131 OPC_MoveParent,
20132 OPC_CheckType, MVT::v8i16,
20133 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20134 MVT::v8i16, 2, 0, 1,
20135 0,
20136 63, TARGET_VAL(ISD::SPLAT_VECTOR),
20137 OPC_CheckChild0Integer, 0|128,0|128,126,
20138 OPC_CheckChild0TypeI32,
20139 OPC_MoveSibling1,
20140 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20141 OPC_Scope, 25,
20142 OPC_RecordChild0,
20143 OPC_MoveChild1,
20144 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20145 OPC_CheckChild0Integer, 127|128,127|128,1,
20146 OPC_CheckChild0TypeI32,
20147 OPC_MoveParent,
20148 OPC_MoveParent,
20149 OPC_MoveParent,
20150 OPC_CheckType, MVT::v4i32,
20151 OPC_MoveParent,
20152 OPC_CheckType, MVT::v8i16,
20153 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20154 MVT::v8i16, 2, 0, 1,
20155 25,
20156 OPC_MoveChild0,
20157 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20158 OPC_CheckChild0Integer, 127|128,127|128,1,
20159 OPC_CheckChild0TypeI32,
20160 OPC_MoveParent,
20161 OPC_RecordChild1,
20162 OPC_MoveParent,
20163 OPC_MoveParent,
20164 OPC_CheckType, MVT::v4i32,
20165 OPC_MoveParent,
20166 OPC_CheckType, MVT::v8i16,
20167 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20168 MVT::v8i16, 2, 0, 1,
20169 0,
20170 0,
20171 0,
20172 116|128,2,
20173 OPC_MoveChild0,
20174 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20175 OPC_CheckChild0Integer, 127|128,127|128,1,
20176 OPC_CheckChild0TypeI32,
20177 OPC_MoveParent,
20178 OPC_RecordChild1,
20179 OPC_MoveSibling1,
20180 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20181 OPC_CheckChild0Integer, 0|128,0|128,126,
20182 OPC_CheckChild0TypeI32,
20183 OPC_MoveParent,
20184 OPC_MoveParent,
20185 OPC_CheckType, MVT::v4i32,
20186 OPC_MoveSibling1,
20187 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20188 OPC_MoveChild0,
20189 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
20190 OPC_MoveChild0,
20191 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
20192 OPC_Scope, 43,
20193 OPC_RecordChild0,
20194 OPC_MoveChild1,
20195 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20196 OPC_CheckChild0Integer, 127|128,127|128,1,
20197 OPC_CheckChild0TypeI32,
20198 OPC_MoveParent,
20199 OPC_MoveSibling1,
20200 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20201 OPC_CheckChild0Integer, 0|128,0|128,126,
20202 OPC_CheckChild0TypeI32,
20203 OPC_MoveParent,
20204 OPC_MoveSibling1,
20205 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20206 OPC_CheckChild0Integer, 127|128,127|128,3,
20207 OPC_CheckChild0TypeI32,
20208 OPC_MoveParent,
20209 OPC_CheckType, MVT::v4i32,
20210 OPC_MoveParent,
20211 OPC_CheckType, MVT::v8i16,
20212 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20213 MVT::v8i16, 2, 0, 1,
20214 43,
20215 OPC_MoveChild0,
20216 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20217 OPC_CheckChild0Integer, 127|128,127|128,1,
20218 OPC_CheckChild0TypeI32,
20219 OPC_MoveParent,
20220 OPC_RecordChild1,
20221 OPC_MoveSibling1,
20222 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20223 OPC_CheckChild0Integer, 0|128,0|128,126,
20224 OPC_CheckChild0TypeI32,
20225 OPC_MoveParent,
20226 OPC_MoveSibling1,
20227 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20228 OPC_CheckChild0Integer, 127|128,127|128,3,
20229 OPC_CheckChild0TypeI32,
20230 OPC_MoveParent,
20231 OPC_CheckType, MVT::v4i32,
20232 OPC_MoveParent,
20233 OPC_CheckType, MVT::v8i16,
20234 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20235 MVT::v8i16, 2, 0, 1,
20236 0,
20237 81, TARGET_VAL(ISD::SPLAT_VECTOR),
20238 OPC_CheckChild0Integer, 0|128,0|128,126,
20239 OPC_CheckChild0TypeI32,
20240 OPC_MoveSibling1,
20241 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20242 OPC_Scope, 34,
20243 OPC_RecordChild0,
20244 OPC_MoveChild1,
20245 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20246 OPC_CheckChild0Integer, 127|128,127|128,1,
20247 OPC_CheckChild0TypeI32,
20248 OPC_MoveParent,
20249 OPC_MoveParent,
20250 OPC_MoveSibling1,
20251 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20252 OPC_CheckChild0Integer, 127|128,127|128,3,
20253 OPC_CheckChild0TypeI32,
20254 OPC_MoveParent,
20255 OPC_CheckType, MVT::v4i32,
20256 OPC_MoveParent,
20257 OPC_CheckType, MVT::v8i16,
20258 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20259 MVT::v8i16, 2, 0, 1,
20260 34,
20261 OPC_MoveChild0,
20262 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20263 OPC_CheckChild0Integer, 127|128,127|128,1,
20264 OPC_CheckChild0TypeI32,
20265 OPC_MoveParent,
20266 OPC_RecordChild1,
20267 OPC_MoveParent,
20268 OPC_MoveSibling1,
20269 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20270 OPC_CheckChild0Integer, 127|128,127|128,3,
20271 OPC_CheckChild0TypeI32,
20272 OPC_MoveParent,
20273 OPC_CheckType, MVT::v4i32,
20274 OPC_MoveParent,
20275 OPC_CheckType, MVT::v8i16,
20276 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20277 MVT::v8i16, 2, 0, 1,
20278 0,
20279 0,
20280 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20281 OPC_CheckChild0Integer, 127|128,127|128,3,
20282 OPC_CheckChild0TypeI32,
20283 OPC_MoveSibling1,
20284 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20285 OPC_MoveChild0,
20286 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
20287 OPC_Scope, 34,
20288 OPC_RecordChild0,
20289 OPC_MoveChild1,
20290 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20291 OPC_CheckChild0Integer, 127|128,127|128,1,
20292 OPC_CheckChild0TypeI32,
20293 OPC_MoveParent,
20294 OPC_MoveSibling1,
20295 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20296 OPC_CheckChild0Integer, 0|128,0|128,126,
20297 OPC_CheckChild0TypeI32,
20298 OPC_MoveParent,
20299 OPC_MoveParent,
20300 OPC_CheckType, MVT::v4i32,
20301 OPC_MoveParent,
20302 OPC_CheckType, MVT::v8i16,
20303 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20304 MVT::v8i16, 2, 0, 1,
20305 34,
20306 OPC_MoveChild0,
20307 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20308 OPC_CheckChild0Integer, 127|128,127|128,1,
20309 OPC_CheckChild0TypeI32,
20310 OPC_MoveParent,
20311 OPC_RecordChild1,
20312 OPC_MoveSibling1,
20313 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20314 OPC_CheckChild0Integer, 0|128,0|128,126,
20315 OPC_CheckChild0TypeI32,
20316 OPC_MoveParent,
20317 OPC_MoveParent,
20318 OPC_CheckType, MVT::v4i32,
20319 OPC_MoveParent,
20320 OPC_CheckType, MVT::v8i16,
20321 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20322 MVT::v8i16, 2, 0, 1,
20323 0,
20324 63, TARGET_VAL(ISD::SPLAT_VECTOR),
20325 OPC_CheckChild0Integer, 0|128,0|128,126,
20326 OPC_CheckChild0TypeI32,
20327 OPC_MoveSibling1,
20328 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20329 OPC_Scope, 25,
20330 OPC_RecordChild0,
20331 OPC_MoveChild1,
20332 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20333 OPC_CheckChild0Integer, 127|128,127|128,1,
20334 OPC_CheckChild0TypeI32,
20335 OPC_MoveParent,
20336 OPC_MoveParent,
20337 OPC_MoveParent,
20338 OPC_CheckType, MVT::v4i32,
20339 OPC_MoveParent,
20340 OPC_CheckType, MVT::v8i16,
20341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20342 MVT::v8i16, 2, 0, 1,
20343 25,
20344 OPC_MoveChild0,
20345 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20346 OPC_CheckChild0Integer, 127|128,127|128,1,
20347 OPC_CheckChild0TypeI32,
20348 OPC_MoveParent,
20349 OPC_RecordChild1,
20350 OPC_MoveParent,
20351 OPC_MoveParent,
20352 OPC_CheckType, MVT::v4i32,
20353 OPC_MoveParent,
20354 OPC_CheckType, MVT::v8i16,
20355 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20356 MVT::v8i16, 2, 0, 1,
20357 0,
20358 0,
20359 0,
20360 0,
20361 101|128,5, TARGET_VAL(ISD::SPLAT_VECTOR),
20362 OPC_CheckChild0Integer, 0|128,0|128,126,
20363 OPC_CheckChild0TypeI32,
20364 OPC_MoveSibling1,
20365 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20366 OPC_Scope, 107|128,2,
20367 OPC_RecordChild0,
20368 OPC_MoveChild1,
20369 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20370 OPC_CheckChild0Integer, 127|128,127|128,1,
20371 OPC_CheckChild0TypeI32,
20372 OPC_MoveParent,
20373 OPC_MoveParent,
20374 OPC_MoveParent,
20375 OPC_CheckType, MVT::v4i32,
20376 OPC_MoveSibling1,
20377 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20378 OPC_MoveChild0,
20379 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
20380 OPC_MoveChild0,
20381 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
20382 OPC_Scope, 43,
20383 OPC_RecordChild0,
20384 OPC_MoveChild1,
20385 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20386 OPC_CheckChild0Integer, 127|128,127|128,1,
20387 OPC_CheckChild0TypeI32,
20388 OPC_MoveParent,
20389 OPC_MoveSibling1,
20390 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20391 OPC_CheckChild0Integer, 0|128,0|128,126,
20392 OPC_CheckChild0TypeI32,
20393 OPC_MoveParent,
20394 OPC_MoveSibling1,
20395 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20396 OPC_CheckChild0Integer, 127|128,127|128,3,
20397 OPC_CheckChild0TypeI32,
20398 OPC_MoveParent,
20399 OPC_CheckType, MVT::v4i32,
20400 OPC_MoveParent,
20401 OPC_CheckType, MVT::v8i16,
20402 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20403 MVT::v8i16, 2, 0, 1,
20404 43,
20405 OPC_MoveChild0,
20406 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20407 OPC_CheckChild0Integer, 127|128,127|128,1,
20408 OPC_CheckChild0TypeI32,
20409 OPC_MoveParent,
20410 OPC_RecordChild1,
20411 OPC_MoveSibling1,
20412 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20413 OPC_CheckChild0Integer, 0|128,0|128,126,
20414 OPC_CheckChild0TypeI32,
20415 OPC_MoveParent,
20416 OPC_MoveSibling1,
20417 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20418 OPC_CheckChild0Integer, 127|128,127|128,3,
20419 OPC_CheckChild0TypeI32,
20420 OPC_MoveParent,
20421 OPC_CheckType, MVT::v4i32,
20422 OPC_MoveParent,
20423 OPC_CheckType, MVT::v8i16,
20424 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20425 MVT::v8i16, 2, 0, 1,
20426 0,
20427 81, TARGET_VAL(ISD::SPLAT_VECTOR),
20428 OPC_CheckChild0Integer, 0|128,0|128,126,
20429 OPC_CheckChild0TypeI32,
20430 OPC_MoveSibling1,
20431 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20432 OPC_Scope, 34,
20433 OPC_RecordChild0,
20434 OPC_MoveChild1,
20435 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20436 OPC_CheckChild0Integer, 127|128,127|128,1,
20437 OPC_CheckChild0TypeI32,
20438 OPC_MoveParent,
20439 OPC_MoveParent,
20440 OPC_MoveSibling1,
20441 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20442 OPC_CheckChild0Integer, 127|128,127|128,3,
20443 OPC_CheckChild0TypeI32,
20444 OPC_MoveParent,
20445 OPC_CheckType, MVT::v4i32,
20446 OPC_MoveParent,
20447 OPC_CheckType, MVT::v8i16,
20448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20449 MVT::v8i16, 2, 0, 1,
20450 34,
20451 OPC_MoveChild0,
20452 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20453 OPC_CheckChild0Integer, 127|128,127|128,1,
20454 OPC_CheckChild0TypeI32,
20455 OPC_MoveParent,
20456 OPC_RecordChild1,
20457 OPC_MoveParent,
20458 OPC_MoveSibling1,
20459 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20460 OPC_CheckChild0Integer, 127|128,127|128,3,
20461 OPC_CheckChild0TypeI32,
20462 OPC_MoveParent,
20463 OPC_CheckType, MVT::v4i32,
20464 OPC_MoveParent,
20465 OPC_CheckType, MVT::v8i16,
20466 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20467 MVT::v8i16, 2, 0, 1,
20468 0,
20469 0,
20470 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20471 OPC_CheckChild0Integer, 127|128,127|128,3,
20472 OPC_CheckChild0TypeI32,
20473 OPC_MoveSibling1,
20474 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20475 OPC_MoveChild0,
20476 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
20477 OPC_Scope, 34,
20478 OPC_RecordChild0,
20479 OPC_MoveChild1,
20480 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20481 OPC_CheckChild0Integer, 127|128,127|128,1,
20482 OPC_CheckChild0TypeI32,
20483 OPC_MoveParent,
20484 OPC_MoveSibling1,
20485 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20486 OPC_CheckChild0Integer, 0|128,0|128,126,
20487 OPC_CheckChild0TypeI32,
20488 OPC_MoveParent,
20489 OPC_MoveParent,
20490 OPC_CheckType, MVT::v4i32,
20491 OPC_MoveParent,
20492 OPC_CheckType, MVT::v8i16,
20493 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20494 MVT::v8i16, 2, 0, 1,
20495 34,
20496 OPC_MoveChild0,
20497 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20498 OPC_CheckChild0Integer, 127|128,127|128,1,
20499 OPC_CheckChild0TypeI32,
20500 OPC_MoveParent,
20501 OPC_RecordChild1,
20502 OPC_MoveSibling1,
20503 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20504 OPC_CheckChild0Integer, 0|128,0|128,126,
20505 OPC_CheckChild0TypeI32,
20506 OPC_MoveParent,
20507 OPC_MoveParent,
20508 OPC_CheckType, MVT::v4i32,
20509 OPC_MoveParent,
20510 OPC_CheckType, MVT::v8i16,
20511 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20512 MVT::v8i16, 2, 0, 1,
20513 0,
20514 63, TARGET_VAL(ISD::SPLAT_VECTOR),
20515 OPC_CheckChild0Integer, 0|128,0|128,126,
20516 OPC_CheckChild0TypeI32,
20517 OPC_MoveSibling1,
20518 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20519 OPC_Scope, 25,
20520 OPC_RecordChild0,
20521 OPC_MoveChild1,
20522 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20523 OPC_CheckChild0Integer, 127|128,127|128,1,
20524 OPC_CheckChild0TypeI32,
20525 OPC_MoveParent,
20526 OPC_MoveParent,
20527 OPC_MoveParent,
20528 OPC_CheckType, MVT::v4i32,
20529 OPC_MoveParent,
20530 OPC_CheckType, MVT::v8i16,
20531 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20532 MVT::v8i16, 2, 0, 1,
20533 25,
20534 OPC_MoveChild0,
20535 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20536 OPC_CheckChild0Integer, 127|128,127|128,1,
20537 OPC_CheckChild0TypeI32,
20538 OPC_MoveParent,
20539 OPC_RecordChild1,
20540 OPC_MoveParent,
20541 OPC_MoveParent,
20542 OPC_CheckType, MVT::v4i32,
20543 OPC_MoveParent,
20544 OPC_CheckType, MVT::v8i16,
20545 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20546 MVT::v8i16, 2, 0, 1,
20547 0,
20548 0,
20549 0,
20550 107|128,2,
20551 OPC_MoveChild0,
20552 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20553 OPC_CheckChild0Integer, 127|128,127|128,1,
20554 OPC_CheckChild0TypeI32,
20555 OPC_MoveParent,
20556 OPC_RecordChild1,
20557 OPC_MoveParent,
20558 OPC_MoveParent,
20559 OPC_CheckType, MVT::v4i32,
20560 OPC_MoveSibling1,
20561 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
20562 OPC_MoveChild0,
20563 OPC_SwitchOpcode , 52|128,1, TARGET_VAL(ISD::SMAX),
20564 OPC_MoveChild0,
20565 OPC_SwitchOpcode , 90, TARGET_VAL(ISD::SMIN),
20566 OPC_Scope, 43,
20567 OPC_RecordChild0,
20568 OPC_MoveChild1,
20569 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20570 OPC_CheckChild0Integer, 127|128,127|128,1,
20571 OPC_CheckChild0TypeI32,
20572 OPC_MoveParent,
20573 OPC_MoveSibling1,
20574 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20575 OPC_CheckChild0Integer, 0|128,0|128,126,
20576 OPC_CheckChild0TypeI32,
20577 OPC_MoveParent,
20578 OPC_MoveSibling1,
20579 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20580 OPC_CheckChild0Integer, 127|128,127|128,3,
20581 OPC_CheckChild0TypeI32,
20582 OPC_MoveParent,
20583 OPC_CheckType, MVT::v4i32,
20584 OPC_MoveParent,
20585 OPC_CheckType, MVT::v8i16,
20586 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20587 MVT::v8i16, 2, 0, 1,
20588 43,
20589 OPC_MoveChild0,
20590 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20591 OPC_CheckChild0Integer, 127|128,127|128,1,
20592 OPC_CheckChild0TypeI32,
20593 OPC_MoveParent,
20594 OPC_RecordChild1,
20595 OPC_MoveSibling1,
20596 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20597 OPC_CheckChild0Integer, 0|128,0|128,126,
20598 OPC_CheckChild0TypeI32,
20599 OPC_MoveParent,
20600 OPC_MoveSibling1,
20601 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20602 OPC_CheckChild0Integer, 127|128,127|128,3,
20603 OPC_CheckChild0TypeI32,
20604 OPC_MoveParent,
20605 OPC_CheckType, MVT::v4i32,
20606 OPC_MoveParent,
20607 OPC_CheckType, MVT::v8i16,
20608 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20609 MVT::v8i16, 2, 0, 1,
20610 0,
20611 81, TARGET_VAL(ISD::SPLAT_VECTOR),
20612 OPC_CheckChild0Integer, 0|128,0|128,126,
20613 OPC_CheckChild0TypeI32,
20614 OPC_MoveSibling1,
20615 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20616 OPC_Scope, 34,
20617 OPC_RecordChild0,
20618 OPC_MoveChild1,
20619 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20620 OPC_CheckChild0Integer, 127|128,127|128,1,
20621 OPC_CheckChild0TypeI32,
20622 OPC_MoveParent,
20623 OPC_MoveParent,
20624 OPC_MoveSibling1,
20625 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20626 OPC_CheckChild0Integer, 127|128,127|128,3,
20627 OPC_CheckChild0TypeI32,
20628 OPC_MoveParent,
20629 OPC_CheckType, MVT::v4i32,
20630 OPC_MoveParent,
20631 OPC_CheckType, MVT::v8i16,
20632 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20633 MVT::v8i16, 2, 0, 1,
20634 34,
20635 OPC_MoveChild0,
20636 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20637 OPC_CheckChild0Integer, 127|128,127|128,1,
20638 OPC_CheckChild0TypeI32,
20639 OPC_MoveParent,
20640 OPC_RecordChild1,
20641 OPC_MoveParent,
20642 OPC_MoveSibling1,
20643 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20644 OPC_CheckChild0Integer, 127|128,127|128,3,
20645 OPC_CheckChild0TypeI32,
20646 OPC_MoveParent,
20647 OPC_CheckType, MVT::v4i32,
20648 OPC_MoveParent,
20649 OPC_CheckType, MVT::v8i16,
20650 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20651 MVT::v8i16, 2, 0, 1,
20652 0,
20653 0,
20654 25|128,1, TARGET_VAL(ISD::SPLAT_VECTOR),
20655 OPC_CheckChild0Integer, 127|128,127|128,3,
20656 OPC_CheckChild0TypeI32,
20657 OPC_MoveSibling1,
20658 OPC_CheckOpcode, TARGET_VAL(ISD::SMAX),
20659 OPC_MoveChild0,
20660 OPC_SwitchOpcode , 72, TARGET_VAL(ISD::SMIN),
20661 OPC_Scope, 34,
20662 OPC_RecordChild0,
20663 OPC_MoveChild1,
20664 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20665 OPC_CheckChild0Integer, 127|128,127|128,1,
20666 OPC_CheckChild0TypeI32,
20667 OPC_MoveParent,
20668 OPC_MoveSibling1,
20669 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20670 OPC_CheckChild0Integer, 0|128,0|128,126,
20671 OPC_CheckChild0TypeI32,
20672 OPC_MoveParent,
20673 OPC_MoveParent,
20674 OPC_CheckType, MVT::v4i32,
20675 OPC_MoveParent,
20676 OPC_CheckType, MVT::v8i16,
20677 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20678 MVT::v8i16, 2, 0, 1,
20679 34,
20680 OPC_MoveChild0,
20681 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20682 OPC_CheckChild0Integer, 127|128,127|128,1,
20683 OPC_CheckChild0TypeI32,
20684 OPC_MoveParent,
20685 OPC_RecordChild1,
20686 OPC_MoveSibling1,
20687 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20688 OPC_CheckChild0Integer, 0|128,0|128,126,
20689 OPC_CheckChild0TypeI32,
20690 OPC_MoveParent,
20691 OPC_MoveParent,
20692 OPC_CheckType, MVT::v4i32,
20693 OPC_MoveParent,
20694 OPC_CheckType, MVT::v8i16,
20695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20696 MVT::v8i16, 2, 0, 1,
20697 0,
20698 63, TARGET_VAL(ISD::SPLAT_VECTOR),
20699 OPC_CheckChild0Integer, 0|128,0|128,126,
20700 OPC_CheckChild0TypeI32,
20701 OPC_MoveSibling1,
20702 OPC_CheckOpcode, TARGET_VAL(ISD::SMIN),
20703 OPC_Scope, 25,
20704 OPC_RecordChild0,
20705 OPC_MoveChild1,
20706 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20707 OPC_CheckChild0Integer, 127|128,127|128,1,
20708 OPC_CheckChild0TypeI32,
20709 OPC_MoveParent,
20710 OPC_MoveParent,
20711 OPC_MoveParent,
20712 OPC_CheckType, MVT::v4i32,
20713 OPC_MoveParent,
20714 OPC_CheckType, MVT::v8i16,
20715 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20716 MVT::v8i16, 2, 0, 1,
20717 25,
20718 OPC_MoveChild0,
20719 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20720 OPC_CheckChild0Integer, 127|128,127|128,1,
20721 OPC_CheckChild0TypeI32,
20722 OPC_MoveParent,
20723 OPC_RecordChild1,
20724 OPC_MoveParent,
20725 OPC_MoveParent,
20726 OPC_CheckType, MVT::v4i32,
20727 OPC_MoveParent,
20728 OPC_CheckType, MVT::v8i16,
20729 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
20730 MVT::v8i16, 2, 0, 1,
20731 0,
20732 0,
20733 0,
20734 0,
20735 0,
20736 0,
20737 0,
20738 0,
20739 24|128,2, TARGET_VAL(ISD::UMIN),
20740 OPC_Scope, 103,
20741 OPC_RecordChild0,
20742 OPC_MoveChild1,
20743 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20744 OPC_Scope, 59,
20745 OPC_CheckChild0Integer, 127|128,1,
20746 OPC_CheckChild0TypeI32,
20747 OPC_MoveParent,
20748 OPC_CheckType, MVT::v8i16,
20749 OPC_MoveSibling1,
20750 OPC_CheckOpcode, TARGET_VAL(ISD::UMIN),
20751 OPC_Scope, 22,
20752 OPC_RecordChild0,
20753 OPC_MoveChild1,
20754 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20755 OPC_CheckChild0Integer, 127|128,1,
20756 OPC_CheckChild0TypeI32,
20757 OPC_MoveParent,
20758 OPC_CheckType, MVT::v8i16,
20759 OPC_MoveParent,
20760 OPC_CheckType, MVT::v16i8,
20761 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
20762 MVT::v16i8, 2, 0, 1,
20763 22,
20764 OPC_MoveChild0,
20765 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20766 OPC_CheckChild0Integer, 127|128,1,
20767 OPC_CheckChild0TypeI32,
20768 OPC_MoveParent,
20769 OPC_RecordChild1,
20770 OPC_CheckType, MVT::v8i16,
20771 OPC_MoveParent,
20772 OPC_CheckType, MVT::v16i8,
20773 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
20774 MVT::v16i8, 2, 0, 1,
20775 0,
20776 35,
20777 OPC_CheckChild0Integer, 127|128,127|128,3,
20778 OPC_CheckChild0TypeI32,
20779 OPC_MoveParent,
20780 OPC_CheckType, MVT::v4i32,
20781 OPC_MoveSibling1,
20782 OPC_CheckOpcode, TARGET_VAL(ISD::UMIN),
20783 OPC_RecordChild0,
20784 OPC_MoveChild1,
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_U_I16x8),
20793 MVT::v8i16, 2, 0, 1,
20794 0,
20795 64,
20796 OPC_MoveChild0,
20797 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20798 OPC_CheckChild0Integer, 127|128,1,
20799 OPC_CheckChild0TypeI32,
20800 OPC_MoveParent,
20801 OPC_RecordChild1,
20802 OPC_CheckType, MVT::v8i16,
20803 OPC_MoveSibling1,
20804 OPC_CheckOpcode, TARGET_VAL(ISD::UMIN),
20805 OPC_Scope, 22,
20806 OPC_RecordChild0,
20807 OPC_MoveChild1,
20808 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20809 OPC_CheckChild0Integer, 127|128,1,
20810 OPC_CheckChild0TypeI32,
20811 OPC_MoveParent,
20812 OPC_CheckType, MVT::v8i16,
20813 OPC_MoveParent,
20814 OPC_CheckType, MVT::v16i8,
20815 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
20816 MVT::v16i8, 2, 0, 1,
20817 22,
20818 OPC_MoveChild0,
20819 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20820 OPC_CheckChild0Integer, 127|128,1,
20821 OPC_CheckChild0TypeI32,
20822 OPC_MoveParent,
20823 OPC_RecordChild1,
20824 OPC_CheckType, MVT::v8i16,
20825 OPC_MoveParent,
20826 OPC_CheckType, MVT::v16i8,
20827 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
20828 MVT::v16i8, 2, 0, 1,
20829 0,
20830 40,
20831 OPC_RecordChild0,
20832 OPC_MoveChild1,
20833 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20834 OPC_CheckChild0Integer, 127|128,127|128,3,
20835 OPC_CheckChild0TypeI32,
20836 OPC_MoveParent,
20837 OPC_CheckType, MVT::v4i32,
20838 OPC_MoveSibling1,
20839 OPC_CheckOpcode, TARGET_VAL(ISD::UMIN),
20840 OPC_MoveChild0,
20841 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20842 OPC_CheckChild0Integer, 127|128,127|128,3,
20843 OPC_CheckChild0TypeI32,
20844 OPC_MoveParent,
20845 OPC_RecordChild1,
20846 OPC_CheckType, MVT::v4i32,
20847 OPC_MoveParent,
20848 OPC_CheckType, MVT::v8i16,
20849 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
20850 MVT::v8i16, 2, 0, 1,
20851 67,
20852 OPC_MoveChild0,
20853 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20854 OPC_CheckChild0Integer, 127|128,127|128,3,
20855 OPC_CheckChild0TypeI32,
20856 OPC_MoveParent,
20857 OPC_RecordChild1,
20858 OPC_CheckType, MVT::v4i32,
20859 OPC_MoveSibling1,
20860 OPC_CheckOpcode, TARGET_VAL(ISD::UMIN),
20861 OPC_Scope, 23,
20862 OPC_RecordChild0,
20863 OPC_MoveChild1,
20864 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20865 OPC_CheckChild0Integer, 127|128,127|128,3,
20866 OPC_CheckChild0TypeI32,
20867 OPC_MoveParent,
20868 OPC_CheckType, MVT::v4i32,
20869 OPC_MoveParent,
20870 OPC_CheckType, MVT::v8i16,
20871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
20872 MVT::v8i16, 2, 0, 1,
20873 23,
20874 OPC_MoveChild0,
20875 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
20876 OPC_CheckChild0Integer, 127|128,127|128,3,
20877 OPC_CheckChild0TypeI32,
20878 OPC_MoveParent,
20879 OPC_RecordChild1,
20880 OPC_CheckType, MVT::v4i32,
20881 OPC_MoveParent,
20882 OPC_CheckType, MVT::v8i16,
20883 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
20884 MVT::v8i16, 2, 0, 1,
20885 0,
20886 0,
20887 0,
20888 31,
20889 OPC_RecordChild0,
20890 OPC_SwitchType , 12, MVT::v16i8,
20891 OPC_CheckChild0Type, MVT::v8i16,
20892 OPC_RecordChild1,
20893 OPC_CheckChild1Type, MVT::v8i16,
20894 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
20895 MVT::v16i8, 2, 0, 1,
20896 12, MVT::v8i16,
20897 OPC_CheckChild0Type, MVT::v4i32,
20898 OPC_RecordChild1,
20899 OPC_CheckChild1Type, MVT::v4i32,
20900 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
20901 MVT::v8i16, 2, 0, 1,
20902 0,
20903 0,
20904 24|128,3, TARGET_VAL(ISD::BUILD_VECTOR),
20905 OPC_RecordChild0,
20906 OPC_MoveChild0,
20907 OPC_SwitchOpcode , 73|128,2, TARGET_VAL(ISD::Constant),
20908 OPC_SwitchType , 47|128,2, MVT::i32,
20909 OPC_Scope, 51|128,1,
20910 OPC_CheckPredicate, 10,
20911 OPC_MoveSibling1,
20912 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20913 OPC_RecordNode,
20914 OPC_CheckPredicate, 10,
20915 OPC_CheckTypeI32,
20916 OPC_MoveSibling2,
20917 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20918 OPC_RecordNode,
20919 OPC_CheckPredicate, 10,
20920 OPC_CheckTypeI32,
20921 OPC_MoveSibling3,
20922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20923 OPC_RecordNode,
20924 OPC_CheckPredicate, 10,
20925 OPC_CheckTypeI32,
20926 OPC_MoveSibling4,
20927 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20928 OPC_RecordNode,
20929 OPC_CheckPredicate, 10,
20930 OPC_CheckTypeI32,
20931 OPC_MoveSibling5,
20932 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20933 OPC_RecordNode,
20934 OPC_CheckPredicate, 10,
20935 OPC_CheckTypeI32,
20936 OPC_MoveSibling6,
20937 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20938 OPC_RecordNode,
20939 OPC_CheckPredicate, 10,
20940 OPC_CheckTypeI32,
20941 OPC_MoveSibling7,
20942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20943 OPC_RecordNode,
20944 OPC_CheckPredicate, 10,
20945 OPC_CheckTypeI32,
20946 OPC_MoveSibling, 8,
20947 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20948 OPC_RecordNode,
20949 OPC_CheckPredicate, 10,
20950 OPC_CheckTypeI32,
20951 OPC_MoveSibling, 9,
20952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20953 OPC_RecordNode,
20954 OPC_CheckPredicate, 10,
20955 OPC_CheckTypeI32,
20956 OPC_MoveSibling, 10,
20957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20958 OPC_RecordNode,
20959 OPC_CheckPredicate, 10,
20960 OPC_CheckTypeI32,
20961 OPC_MoveSibling, 11,
20962 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20963 OPC_RecordNode,
20964 OPC_CheckPredicate, 10,
20965 OPC_CheckTypeI32,
20966 OPC_MoveSibling, 12,
20967 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20968 OPC_RecordNode,
20969 OPC_CheckPredicate, 10,
20970 OPC_CheckTypeI32,
20971 OPC_MoveSibling, 13,
20972 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20973 OPC_RecordNode,
20974 OPC_CheckPredicate, 10,
20975 OPC_CheckTypeI32,
20976 OPC_MoveSibling, 14,
20977 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20978 OPC_RecordNode,
20979 OPC_CheckPredicate, 10,
20980 OPC_CheckTypeI32,
20981 OPC_MoveSibling, 15,
20982 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20983 OPC_RecordNode,
20984 OPC_CheckPredicate, 10,
20985 OPC_CheckTypeI32,
20986 OPC_MoveParent,
20987 OPC_CheckType, MVT::v16i8,
20988 OPC_CheckPatternPredicate0,
20989 OPC_EmitConvertToTarget0,
20990 OPC_EmitConvertToTarget1,
20991 OPC_EmitConvertToTarget2,
20992 OPC_EmitConvertToTarget3,
20993 OPC_EmitConvertToTarget4,
20994 OPC_EmitConvertToTarget5,
20995 OPC_EmitConvertToTarget6,
20996 OPC_EmitConvertToTarget7,
20997 OPC_EmitConvertToTarget, 8,
20998 OPC_EmitConvertToTarget, 9,
20999 OPC_EmitConvertToTarget, 10,
21000 OPC_EmitConvertToTarget, 11,
21001 OPC_EmitConvertToTarget, 12,
21002 OPC_EmitConvertToTarget, 13,
21003 OPC_EmitConvertToTarget, 14,
21004 OPC_EmitConvertToTarget, 15,
21005 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
21006 MVT::v16i8, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
21007 83,
21008 OPC_CheckPredicate, 20,
21009 OPC_MoveSibling1,
21010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21011 OPC_RecordNode,
21012 OPC_CheckPredicate, 20,
21013 OPC_CheckTypeI32,
21014 OPC_MoveSibling2,
21015 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21016 OPC_RecordNode,
21017 OPC_CheckPredicate, 20,
21018 OPC_CheckTypeI32,
21019 OPC_MoveSibling3,
21020 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21021 OPC_RecordNode,
21022 OPC_CheckPredicate, 20,
21023 OPC_CheckTypeI32,
21024 OPC_MoveSibling4,
21025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21026 OPC_RecordNode,
21027 OPC_CheckPredicate, 20,
21028 OPC_CheckTypeI32,
21029 OPC_MoveSibling5,
21030 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21031 OPC_RecordNode,
21032 OPC_CheckPredicate, 20,
21033 OPC_CheckTypeI32,
21034 OPC_MoveSibling6,
21035 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21036 OPC_RecordNode,
21037 OPC_CheckPredicate, 20,
21038 OPC_CheckTypeI32,
21039 OPC_MoveSibling7,
21040 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21041 OPC_RecordNode,
21042 OPC_CheckPredicate, 20,
21043 OPC_CheckTypeI32,
21044 OPC_MoveParent,
21045 OPC_CheckType, MVT::v8i16,
21046 OPC_CheckPatternPredicate0,
21047 OPC_EmitConvertToTarget0,
21048 OPC_EmitConvertToTarget1,
21049 OPC_EmitConvertToTarget2,
21050 OPC_EmitConvertToTarget3,
21051 OPC_EmitConvertToTarget4,
21052 OPC_EmitConvertToTarget5,
21053 OPC_EmitConvertToTarget6,
21054 OPC_EmitConvertToTarget7,
21055 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
21056 MVT::v8i16, 8, 8, 9, 10, 11, 12, 13, 14, 15,
21057 35,
21058 OPC_MoveSibling1,
21059 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21060 OPC_RecordNode,
21061 OPC_CheckTypeI32,
21062 OPC_MoveSibling2,
21063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21064 OPC_RecordNode,
21065 OPC_CheckTypeI32,
21066 OPC_MoveSibling3,
21067 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21068 OPC_RecordNode,
21069 OPC_CheckTypeI32,
21070 OPC_MoveParent,
21071 OPC_CheckType, MVT::v4i32,
21072 OPC_CheckPatternPredicate0,
21073 OPC_EmitConvertToTarget0,
21074 OPC_EmitConvertToTarget1,
21075 OPC_EmitConvertToTarget2,
21076 OPC_EmitConvertToTarget3,
21077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
21078 MVT::v4i32, 4, 4, 5, 6, 7,
21079 0,
21080 19, MVT::i64,
21081 OPC_MoveSibling1,
21082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21083 OPC_RecordNode,
21084 OPC_CheckTypeI64,
21085 OPC_MoveParent,
21086 OPC_CheckType, MVT::v2i64,
21087 OPC_CheckPatternPredicate0,
21088 OPC_EmitConvertToTarget0,
21089 OPC_EmitConvertToTarget1,
21090 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
21091 MVT::v2i64, 2, 2, 3,
21092 0,
21093 68, TARGET_VAL(ISD::ConstantFP),
21094 OPC_SwitchType , 40, MVT::f32,
21095 OPC_MoveSibling1,
21096 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
21097 OPC_RecordNode,
21098 OPC_CheckType, MVT::f32,
21099 OPC_MoveSibling2,
21100 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
21101 OPC_RecordNode,
21102 OPC_CheckType, MVT::f32,
21103 OPC_MoveSibling3,
21104 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
21105 OPC_RecordNode,
21106 OPC_CheckType, MVT::f32,
21107 OPC_MoveParent,
21108 OPC_CheckType, 6|128,1,
21109 OPC_CheckPatternPredicate0,
21110 OPC_EmitConvertToTarget0,
21111 OPC_EmitConvertToTarget1,
21112 OPC_EmitConvertToTarget2,
21113 OPC_EmitConvertToTarget3,
21114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
21115 6|128,1, 4, 4, 5, 6, 7,
21116 22, MVT::f64,
21117 OPC_MoveSibling1,
21118 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
21119 OPC_RecordNode,
21120 OPC_CheckType, MVT::f64,
21121 OPC_MoveParent,
21122 OPC_CheckType, 24|128,1,
21123 OPC_CheckPatternPredicate0,
21124 OPC_EmitConvertToTarget0,
21125 OPC_EmitConvertToTarget1,
21126 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
21127 24|128,1, 2, 2, 3,
21128 0,
21129 0,
21130 98|128,18, TARGET_VAL(WebAssemblyISD::SHUFFLE),
21131 OPC_RecordChild0,
21132 OPC_Scope, 83|128,2,
21133 OPC_CheckChild0Type, MVT::v16i8,
21134 OPC_RecordChild1,
21135 OPC_CheckChild1Type, MVT::v16i8,
21136 OPC_RecordChild2,
21137 OPC_MoveChild2,
21138 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
21139 OPC_CheckPredicate0,
21140 OPC_CheckTypeI32,
21141 OPC_MoveSibling3,
21142 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21143 OPC_RecordNode,
21144 OPC_CheckPredicate0,
21145 OPC_CheckTypeI32,
21146 OPC_MoveSibling4,
21147 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21148 OPC_RecordNode,
21149 OPC_CheckPredicate0,
21150 OPC_CheckTypeI32,
21151 OPC_MoveSibling5,
21152 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21153 OPC_RecordNode,
21154 OPC_CheckPredicate0,
21155 OPC_CheckTypeI32,
21156 OPC_MoveSibling6,
21157 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21158 OPC_RecordNode,
21159 OPC_CheckPredicate0,
21160 OPC_CheckTypeI32,
21161 OPC_MoveSibling7,
21162 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21163 OPC_RecordNode,
21164 OPC_CheckPredicate0,
21165 OPC_CheckTypeI32,
21166 OPC_MoveSibling, 8,
21167 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21168 OPC_RecordNode,
21169 OPC_CheckPredicate0,
21170 OPC_CheckTypeI32,
21171 OPC_MoveSibling, 9,
21172 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21173 OPC_RecordNode,
21174 OPC_CheckPredicate0,
21175 OPC_CheckTypeI32,
21176 OPC_MoveSibling, 10,
21177 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21178 OPC_RecordNode,
21179 OPC_CheckPredicate0,
21180 OPC_CheckTypeI32,
21181 OPC_MoveSibling, 11,
21182 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21183 OPC_RecordNode,
21184 OPC_CheckPredicate0,
21185 OPC_CheckTypeI32,
21186 OPC_MoveSibling, 12,
21187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21188 OPC_RecordNode,
21189 OPC_CheckPredicate0,
21190 OPC_CheckTypeI32,
21191 OPC_MoveSibling, 13,
21192 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21193 OPC_RecordNode,
21194 OPC_CheckPredicate0,
21195 OPC_CheckTypeI32,
21196 OPC_MoveSibling, 14,
21197 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21198 OPC_RecordNode,
21199 OPC_CheckPredicate0,
21200 OPC_CheckTypeI32,
21201 OPC_MoveSibling, 15,
21202 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21203 OPC_RecordNode,
21204 OPC_CheckPredicate0,
21205 OPC_CheckTypeI32,
21206 OPC_MoveSibling, 16,
21207 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21208 OPC_RecordNode,
21209 OPC_CheckPredicate0,
21210 OPC_CheckTypeI32,
21211 OPC_MoveSibling, 17,
21212 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21213 OPC_RecordNode,
21214 OPC_CheckPredicate0,
21215 OPC_CheckTypeI32,
21216 OPC_MoveParent,
21217 OPC_CheckType, MVT::v16i8,
21218 OPC_EmitConvertToTarget2,
21219 OPC_EmitConvertToTarget3,
21220 OPC_EmitConvertToTarget4,
21221 OPC_EmitConvertToTarget5,
21222 OPC_EmitConvertToTarget6,
21223 OPC_EmitConvertToTarget7,
21224 OPC_EmitConvertToTarget, 8,
21225 OPC_EmitConvertToTarget, 9,
21226 OPC_EmitConvertToTarget, 10,
21227 OPC_EmitConvertToTarget, 11,
21228 OPC_EmitConvertToTarget, 12,
21229 OPC_EmitConvertToTarget, 13,
21230 OPC_EmitConvertToTarget, 14,
21231 OPC_EmitConvertToTarget, 15,
21232 OPC_EmitConvertToTarget, 16,
21233 OPC_EmitConvertToTarget, 17,
21234 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21235 MVT::v16i8, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21236 25|128,1, TARGET_VAL(ISD::TargetConstant),
21237 OPC_CheckTypeI32,
21238 OPC_MoveSibling3,
21239 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21240 OPC_RecordNode,
21241 OPC_CheckTypeI32,
21242 OPC_MoveSibling4,
21243 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21244 OPC_RecordNode,
21245 OPC_CheckTypeI32,
21246 OPC_MoveSibling5,
21247 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21248 OPC_RecordNode,
21249 OPC_CheckTypeI32,
21250 OPC_MoveSibling6,
21251 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21252 OPC_RecordNode,
21253 OPC_CheckTypeI32,
21254 OPC_MoveSibling7,
21255 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21256 OPC_RecordNode,
21257 OPC_CheckTypeI32,
21258 OPC_MoveSibling, 8,
21259 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21260 OPC_RecordNode,
21261 OPC_CheckTypeI32,
21262 OPC_MoveSibling, 9,
21263 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21264 OPC_RecordNode,
21265 OPC_CheckTypeI32,
21266 OPC_MoveSibling, 10,
21267 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21268 OPC_RecordNode,
21269 OPC_CheckTypeI32,
21270 OPC_MoveSibling, 11,
21271 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21272 OPC_RecordNode,
21273 OPC_CheckTypeI32,
21274 OPC_MoveSibling, 12,
21275 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21276 OPC_RecordNode,
21277 OPC_CheckTypeI32,
21278 OPC_MoveSibling, 13,
21279 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21280 OPC_RecordNode,
21281 OPC_CheckTypeI32,
21282 OPC_MoveSibling, 14,
21283 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21284 OPC_RecordNode,
21285 OPC_CheckTypeI32,
21286 OPC_MoveSibling, 15,
21287 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21288 OPC_RecordNode,
21289 OPC_CheckTypeI32,
21290 OPC_MoveSibling, 16,
21291 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21292 OPC_RecordNode,
21293 OPC_CheckTypeI32,
21294 OPC_MoveSibling, 17,
21295 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21296 OPC_RecordNode,
21297 OPC_CheckTypeI32,
21298 OPC_MoveParent,
21299 OPC_CheckType, MVT::v16i8,
21300 OPC_EmitConvertToTarget2,
21301 OPC_EmitConvertToTarget3,
21302 OPC_EmitConvertToTarget4,
21303 OPC_EmitConvertToTarget5,
21304 OPC_EmitConvertToTarget6,
21305 OPC_EmitConvertToTarget7,
21306 OPC_EmitConvertToTarget, 8,
21307 OPC_EmitConvertToTarget, 9,
21308 OPC_EmitConvertToTarget, 10,
21309 OPC_EmitConvertToTarget, 11,
21310 OPC_EmitConvertToTarget, 12,
21311 OPC_EmitConvertToTarget, 13,
21312 OPC_EmitConvertToTarget, 14,
21313 OPC_EmitConvertToTarget, 15,
21314 OPC_EmitConvertToTarget, 16,
21315 OPC_EmitConvertToTarget, 17,
21316 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21317 MVT::v16i8, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21318 0,
21319 83|128,2,
21320 OPC_CheckChild0Type, MVT::v8i16,
21321 OPC_RecordChild1,
21322 OPC_CheckChild1Type, MVT::v8i16,
21323 OPC_RecordChild2,
21324 OPC_MoveChild2,
21325 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
21326 OPC_CheckPredicate0,
21327 OPC_CheckTypeI32,
21328 OPC_MoveSibling3,
21329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21330 OPC_RecordNode,
21331 OPC_CheckPredicate0,
21332 OPC_CheckTypeI32,
21333 OPC_MoveSibling4,
21334 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21335 OPC_RecordNode,
21336 OPC_CheckPredicate0,
21337 OPC_CheckTypeI32,
21338 OPC_MoveSibling5,
21339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21340 OPC_RecordNode,
21341 OPC_CheckPredicate0,
21342 OPC_CheckTypeI32,
21343 OPC_MoveSibling6,
21344 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21345 OPC_RecordNode,
21346 OPC_CheckPredicate0,
21347 OPC_CheckTypeI32,
21348 OPC_MoveSibling7,
21349 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21350 OPC_RecordNode,
21351 OPC_CheckPredicate0,
21352 OPC_CheckTypeI32,
21353 OPC_MoveSibling, 8,
21354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21355 OPC_RecordNode,
21356 OPC_CheckPredicate0,
21357 OPC_CheckTypeI32,
21358 OPC_MoveSibling, 9,
21359 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21360 OPC_RecordNode,
21361 OPC_CheckPredicate0,
21362 OPC_CheckTypeI32,
21363 OPC_MoveSibling, 10,
21364 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21365 OPC_RecordNode,
21366 OPC_CheckPredicate0,
21367 OPC_CheckTypeI32,
21368 OPC_MoveSibling, 11,
21369 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21370 OPC_RecordNode,
21371 OPC_CheckPredicate0,
21372 OPC_CheckTypeI32,
21373 OPC_MoveSibling, 12,
21374 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21375 OPC_RecordNode,
21376 OPC_CheckPredicate0,
21377 OPC_CheckTypeI32,
21378 OPC_MoveSibling, 13,
21379 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21380 OPC_RecordNode,
21381 OPC_CheckPredicate0,
21382 OPC_CheckTypeI32,
21383 OPC_MoveSibling, 14,
21384 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21385 OPC_RecordNode,
21386 OPC_CheckPredicate0,
21387 OPC_CheckTypeI32,
21388 OPC_MoveSibling, 15,
21389 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21390 OPC_RecordNode,
21391 OPC_CheckPredicate0,
21392 OPC_CheckTypeI32,
21393 OPC_MoveSibling, 16,
21394 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21395 OPC_RecordNode,
21396 OPC_CheckPredicate0,
21397 OPC_CheckTypeI32,
21398 OPC_MoveSibling, 17,
21399 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21400 OPC_RecordNode,
21401 OPC_CheckPredicate0,
21402 OPC_CheckTypeI32,
21403 OPC_MoveParent,
21404 OPC_CheckType, MVT::v8i16,
21405 OPC_EmitConvertToTarget2,
21406 OPC_EmitConvertToTarget3,
21407 OPC_EmitConvertToTarget4,
21408 OPC_EmitConvertToTarget5,
21409 OPC_EmitConvertToTarget6,
21410 OPC_EmitConvertToTarget7,
21411 OPC_EmitConvertToTarget, 8,
21412 OPC_EmitConvertToTarget, 9,
21413 OPC_EmitConvertToTarget, 10,
21414 OPC_EmitConvertToTarget, 11,
21415 OPC_EmitConvertToTarget, 12,
21416 OPC_EmitConvertToTarget, 13,
21417 OPC_EmitConvertToTarget, 14,
21418 OPC_EmitConvertToTarget, 15,
21419 OPC_EmitConvertToTarget, 16,
21420 OPC_EmitConvertToTarget, 17,
21421 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21422 MVT::v8i16, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21423 25|128,1, TARGET_VAL(ISD::TargetConstant),
21424 OPC_CheckTypeI32,
21425 OPC_MoveSibling3,
21426 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21427 OPC_RecordNode,
21428 OPC_CheckTypeI32,
21429 OPC_MoveSibling4,
21430 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21431 OPC_RecordNode,
21432 OPC_CheckTypeI32,
21433 OPC_MoveSibling5,
21434 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21435 OPC_RecordNode,
21436 OPC_CheckTypeI32,
21437 OPC_MoveSibling6,
21438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21439 OPC_RecordNode,
21440 OPC_CheckTypeI32,
21441 OPC_MoveSibling7,
21442 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21443 OPC_RecordNode,
21444 OPC_CheckTypeI32,
21445 OPC_MoveSibling, 8,
21446 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21447 OPC_RecordNode,
21448 OPC_CheckTypeI32,
21449 OPC_MoveSibling, 9,
21450 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21451 OPC_RecordNode,
21452 OPC_CheckTypeI32,
21453 OPC_MoveSibling, 10,
21454 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21455 OPC_RecordNode,
21456 OPC_CheckTypeI32,
21457 OPC_MoveSibling, 11,
21458 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21459 OPC_RecordNode,
21460 OPC_CheckTypeI32,
21461 OPC_MoveSibling, 12,
21462 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21463 OPC_RecordNode,
21464 OPC_CheckTypeI32,
21465 OPC_MoveSibling, 13,
21466 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21467 OPC_RecordNode,
21468 OPC_CheckTypeI32,
21469 OPC_MoveSibling, 14,
21470 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21471 OPC_RecordNode,
21472 OPC_CheckTypeI32,
21473 OPC_MoveSibling, 15,
21474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21475 OPC_RecordNode,
21476 OPC_CheckTypeI32,
21477 OPC_MoveSibling, 16,
21478 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21479 OPC_RecordNode,
21480 OPC_CheckTypeI32,
21481 OPC_MoveSibling, 17,
21482 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21483 OPC_RecordNode,
21484 OPC_CheckTypeI32,
21485 OPC_MoveParent,
21486 OPC_CheckType, MVT::v8i16,
21487 OPC_EmitConvertToTarget2,
21488 OPC_EmitConvertToTarget3,
21489 OPC_EmitConvertToTarget4,
21490 OPC_EmitConvertToTarget5,
21491 OPC_EmitConvertToTarget6,
21492 OPC_EmitConvertToTarget7,
21493 OPC_EmitConvertToTarget, 8,
21494 OPC_EmitConvertToTarget, 9,
21495 OPC_EmitConvertToTarget, 10,
21496 OPC_EmitConvertToTarget, 11,
21497 OPC_EmitConvertToTarget, 12,
21498 OPC_EmitConvertToTarget, 13,
21499 OPC_EmitConvertToTarget, 14,
21500 OPC_EmitConvertToTarget, 15,
21501 OPC_EmitConvertToTarget, 16,
21502 OPC_EmitConvertToTarget, 17,
21503 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21504 MVT::v8i16, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21505 0,
21506 83|128,2,
21507 OPC_CheckChild0Type, MVT::v4i32,
21508 OPC_RecordChild1,
21509 OPC_CheckChild1Type, MVT::v4i32,
21510 OPC_RecordChild2,
21511 OPC_MoveChild2,
21512 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
21513 OPC_CheckPredicate0,
21514 OPC_CheckTypeI32,
21515 OPC_MoveSibling3,
21516 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21517 OPC_RecordNode,
21518 OPC_CheckPredicate0,
21519 OPC_CheckTypeI32,
21520 OPC_MoveSibling4,
21521 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21522 OPC_RecordNode,
21523 OPC_CheckPredicate0,
21524 OPC_CheckTypeI32,
21525 OPC_MoveSibling5,
21526 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21527 OPC_RecordNode,
21528 OPC_CheckPredicate0,
21529 OPC_CheckTypeI32,
21530 OPC_MoveSibling6,
21531 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21532 OPC_RecordNode,
21533 OPC_CheckPredicate0,
21534 OPC_CheckTypeI32,
21535 OPC_MoveSibling7,
21536 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21537 OPC_RecordNode,
21538 OPC_CheckPredicate0,
21539 OPC_CheckTypeI32,
21540 OPC_MoveSibling, 8,
21541 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21542 OPC_RecordNode,
21543 OPC_CheckPredicate0,
21544 OPC_CheckTypeI32,
21545 OPC_MoveSibling, 9,
21546 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21547 OPC_RecordNode,
21548 OPC_CheckPredicate0,
21549 OPC_CheckTypeI32,
21550 OPC_MoveSibling, 10,
21551 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21552 OPC_RecordNode,
21553 OPC_CheckPredicate0,
21554 OPC_CheckTypeI32,
21555 OPC_MoveSibling, 11,
21556 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21557 OPC_RecordNode,
21558 OPC_CheckPredicate0,
21559 OPC_CheckTypeI32,
21560 OPC_MoveSibling, 12,
21561 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21562 OPC_RecordNode,
21563 OPC_CheckPredicate0,
21564 OPC_CheckTypeI32,
21565 OPC_MoveSibling, 13,
21566 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21567 OPC_RecordNode,
21568 OPC_CheckPredicate0,
21569 OPC_CheckTypeI32,
21570 OPC_MoveSibling, 14,
21571 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21572 OPC_RecordNode,
21573 OPC_CheckPredicate0,
21574 OPC_CheckTypeI32,
21575 OPC_MoveSibling, 15,
21576 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21577 OPC_RecordNode,
21578 OPC_CheckPredicate0,
21579 OPC_CheckTypeI32,
21580 OPC_MoveSibling, 16,
21581 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21582 OPC_RecordNode,
21583 OPC_CheckPredicate0,
21584 OPC_CheckTypeI32,
21585 OPC_MoveSibling, 17,
21586 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21587 OPC_RecordNode,
21588 OPC_CheckPredicate0,
21589 OPC_CheckTypeI32,
21590 OPC_MoveParent,
21591 OPC_CheckType, MVT::v4i32,
21592 OPC_EmitConvertToTarget2,
21593 OPC_EmitConvertToTarget3,
21594 OPC_EmitConvertToTarget4,
21595 OPC_EmitConvertToTarget5,
21596 OPC_EmitConvertToTarget6,
21597 OPC_EmitConvertToTarget7,
21598 OPC_EmitConvertToTarget, 8,
21599 OPC_EmitConvertToTarget, 9,
21600 OPC_EmitConvertToTarget, 10,
21601 OPC_EmitConvertToTarget, 11,
21602 OPC_EmitConvertToTarget, 12,
21603 OPC_EmitConvertToTarget, 13,
21604 OPC_EmitConvertToTarget, 14,
21605 OPC_EmitConvertToTarget, 15,
21606 OPC_EmitConvertToTarget, 16,
21607 OPC_EmitConvertToTarget, 17,
21608 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21609 MVT::v4i32, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21610 25|128,1, TARGET_VAL(ISD::TargetConstant),
21611 OPC_CheckTypeI32,
21612 OPC_MoveSibling3,
21613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21614 OPC_RecordNode,
21615 OPC_CheckTypeI32,
21616 OPC_MoveSibling4,
21617 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21618 OPC_RecordNode,
21619 OPC_CheckTypeI32,
21620 OPC_MoveSibling5,
21621 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21622 OPC_RecordNode,
21623 OPC_CheckTypeI32,
21624 OPC_MoveSibling6,
21625 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21626 OPC_RecordNode,
21627 OPC_CheckTypeI32,
21628 OPC_MoveSibling7,
21629 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21630 OPC_RecordNode,
21631 OPC_CheckTypeI32,
21632 OPC_MoveSibling, 8,
21633 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21634 OPC_RecordNode,
21635 OPC_CheckTypeI32,
21636 OPC_MoveSibling, 9,
21637 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21638 OPC_RecordNode,
21639 OPC_CheckTypeI32,
21640 OPC_MoveSibling, 10,
21641 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21642 OPC_RecordNode,
21643 OPC_CheckTypeI32,
21644 OPC_MoveSibling, 11,
21645 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21646 OPC_RecordNode,
21647 OPC_CheckTypeI32,
21648 OPC_MoveSibling, 12,
21649 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21650 OPC_RecordNode,
21651 OPC_CheckTypeI32,
21652 OPC_MoveSibling, 13,
21653 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21654 OPC_RecordNode,
21655 OPC_CheckTypeI32,
21656 OPC_MoveSibling, 14,
21657 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21658 OPC_RecordNode,
21659 OPC_CheckTypeI32,
21660 OPC_MoveSibling, 15,
21661 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21662 OPC_RecordNode,
21663 OPC_CheckTypeI32,
21664 OPC_MoveSibling, 16,
21665 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21666 OPC_RecordNode,
21667 OPC_CheckTypeI32,
21668 OPC_MoveSibling, 17,
21669 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21670 OPC_RecordNode,
21671 OPC_CheckTypeI32,
21672 OPC_MoveParent,
21673 OPC_CheckType, MVT::v4i32,
21674 OPC_EmitConvertToTarget2,
21675 OPC_EmitConvertToTarget3,
21676 OPC_EmitConvertToTarget4,
21677 OPC_EmitConvertToTarget5,
21678 OPC_EmitConvertToTarget6,
21679 OPC_EmitConvertToTarget7,
21680 OPC_EmitConvertToTarget, 8,
21681 OPC_EmitConvertToTarget, 9,
21682 OPC_EmitConvertToTarget, 10,
21683 OPC_EmitConvertToTarget, 11,
21684 OPC_EmitConvertToTarget, 12,
21685 OPC_EmitConvertToTarget, 13,
21686 OPC_EmitConvertToTarget, 14,
21687 OPC_EmitConvertToTarget, 15,
21688 OPC_EmitConvertToTarget, 16,
21689 OPC_EmitConvertToTarget, 17,
21690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21691 MVT::v4i32, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21692 0,
21693 83|128,2,
21694 OPC_CheckChild0Type, MVT::v2i64,
21695 OPC_RecordChild1,
21696 OPC_CheckChild1Type, MVT::v2i64,
21697 OPC_RecordChild2,
21698 OPC_MoveChild2,
21699 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
21700 OPC_CheckPredicate0,
21701 OPC_CheckTypeI32,
21702 OPC_MoveSibling3,
21703 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21704 OPC_RecordNode,
21705 OPC_CheckPredicate0,
21706 OPC_CheckTypeI32,
21707 OPC_MoveSibling4,
21708 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21709 OPC_RecordNode,
21710 OPC_CheckPredicate0,
21711 OPC_CheckTypeI32,
21712 OPC_MoveSibling5,
21713 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21714 OPC_RecordNode,
21715 OPC_CheckPredicate0,
21716 OPC_CheckTypeI32,
21717 OPC_MoveSibling6,
21718 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21719 OPC_RecordNode,
21720 OPC_CheckPredicate0,
21721 OPC_CheckTypeI32,
21722 OPC_MoveSibling7,
21723 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21724 OPC_RecordNode,
21725 OPC_CheckPredicate0,
21726 OPC_CheckTypeI32,
21727 OPC_MoveSibling, 8,
21728 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21729 OPC_RecordNode,
21730 OPC_CheckPredicate0,
21731 OPC_CheckTypeI32,
21732 OPC_MoveSibling, 9,
21733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21734 OPC_RecordNode,
21735 OPC_CheckPredicate0,
21736 OPC_CheckTypeI32,
21737 OPC_MoveSibling, 10,
21738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21739 OPC_RecordNode,
21740 OPC_CheckPredicate0,
21741 OPC_CheckTypeI32,
21742 OPC_MoveSibling, 11,
21743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21744 OPC_RecordNode,
21745 OPC_CheckPredicate0,
21746 OPC_CheckTypeI32,
21747 OPC_MoveSibling, 12,
21748 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21749 OPC_RecordNode,
21750 OPC_CheckPredicate0,
21751 OPC_CheckTypeI32,
21752 OPC_MoveSibling, 13,
21753 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21754 OPC_RecordNode,
21755 OPC_CheckPredicate0,
21756 OPC_CheckTypeI32,
21757 OPC_MoveSibling, 14,
21758 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21759 OPC_RecordNode,
21760 OPC_CheckPredicate0,
21761 OPC_CheckTypeI32,
21762 OPC_MoveSibling, 15,
21763 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21764 OPC_RecordNode,
21765 OPC_CheckPredicate0,
21766 OPC_CheckTypeI32,
21767 OPC_MoveSibling, 16,
21768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21769 OPC_RecordNode,
21770 OPC_CheckPredicate0,
21771 OPC_CheckTypeI32,
21772 OPC_MoveSibling, 17,
21773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21774 OPC_RecordNode,
21775 OPC_CheckPredicate0,
21776 OPC_CheckTypeI32,
21777 OPC_MoveParent,
21778 OPC_CheckType, MVT::v2i64,
21779 OPC_EmitConvertToTarget2,
21780 OPC_EmitConvertToTarget3,
21781 OPC_EmitConvertToTarget4,
21782 OPC_EmitConvertToTarget5,
21783 OPC_EmitConvertToTarget6,
21784 OPC_EmitConvertToTarget7,
21785 OPC_EmitConvertToTarget, 8,
21786 OPC_EmitConvertToTarget, 9,
21787 OPC_EmitConvertToTarget, 10,
21788 OPC_EmitConvertToTarget, 11,
21789 OPC_EmitConvertToTarget, 12,
21790 OPC_EmitConvertToTarget, 13,
21791 OPC_EmitConvertToTarget, 14,
21792 OPC_EmitConvertToTarget, 15,
21793 OPC_EmitConvertToTarget, 16,
21794 OPC_EmitConvertToTarget, 17,
21795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21796 MVT::v2i64, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21797 25|128,1, TARGET_VAL(ISD::TargetConstant),
21798 OPC_CheckTypeI32,
21799 OPC_MoveSibling3,
21800 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21801 OPC_RecordNode,
21802 OPC_CheckTypeI32,
21803 OPC_MoveSibling4,
21804 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21805 OPC_RecordNode,
21806 OPC_CheckTypeI32,
21807 OPC_MoveSibling5,
21808 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21809 OPC_RecordNode,
21810 OPC_CheckTypeI32,
21811 OPC_MoveSibling6,
21812 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21813 OPC_RecordNode,
21814 OPC_CheckTypeI32,
21815 OPC_MoveSibling7,
21816 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21817 OPC_RecordNode,
21818 OPC_CheckTypeI32,
21819 OPC_MoveSibling, 8,
21820 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21821 OPC_RecordNode,
21822 OPC_CheckTypeI32,
21823 OPC_MoveSibling, 9,
21824 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21825 OPC_RecordNode,
21826 OPC_CheckTypeI32,
21827 OPC_MoveSibling, 10,
21828 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21829 OPC_RecordNode,
21830 OPC_CheckTypeI32,
21831 OPC_MoveSibling, 11,
21832 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21833 OPC_RecordNode,
21834 OPC_CheckTypeI32,
21835 OPC_MoveSibling, 12,
21836 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21837 OPC_RecordNode,
21838 OPC_CheckTypeI32,
21839 OPC_MoveSibling, 13,
21840 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21841 OPC_RecordNode,
21842 OPC_CheckTypeI32,
21843 OPC_MoveSibling, 14,
21844 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21845 OPC_RecordNode,
21846 OPC_CheckTypeI32,
21847 OPC_MoveSibling, 15,
21848 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21849 OPC_RecordNode,
21850 OPC_CheckTypeI32,
21851 OPC_MoveSibling, 16,
21852 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21853 OPC_RecordNode,
21854 OPC_CheckTypeI32,
21855 OPC_MoveSibling, 17,
21856 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21857 OPC_RecordNode,
21858 OPC_CheckTypeI32,
21859 OPC_MoveParent,
21860 OPC_CheckType, MVT::v2i64,
21861 OPC_EmitConvertToTarget2,
21862 OPC_EmitConvertToTarget3,
21863 OPC_EmitConvertToTarget4,
21864 OPC_EmitConvertToTarget5,
21865 OPC_EmitConvertToTarget6,
21866 OPC_EmitConvertToTarget7,
21867 OPC_EmitConvertToTarget, 8,
21868 OPC_EmitConvertToTarget, 9,
21869 OPC_EmitConvertToTarget, 10,
21870 OPC_EmitConvertToTarget, 11,
21871 OPC_EmitConvertToTarget, 12,
21872 OPC_EmitConvertToTarget, 13,
21873 OPC_EmitConvertToTarget, 14,
21874 OPC_EmitConvertToTarget, 15,
21875 OPC_EmitConvertToTarget, 16,
21876 OPC_EmitConvertToTarget, 17,
21877 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21878 MVT::v2i64, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21879 0,
21880 89|128,2,
21881 OPC_CheckChild0Type, 6|128,1,
21882 OPC_RecordChild1,
21883 OPC_CheckChild1Type, 6|128,1,
21884 OPC_RecordChild2,
21885 OPC_MoveChild2,
21886 OPC_SwitchOpcode , 43|128,1, TARGET_VAL(ISD::Constant),
21887 OPC_CheckPredicate0,
21888 OPC_CheckTypeI32,
21889 OPC_MoveSibling3,
21890 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21891 OPC_RecordNode,
21892 OPC_CheckPredicate0,
21893 OPC_CheckTypeI32,
21894 OPC_MoveSibling4,
21895 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21896 OPC_RecordNode,
21897 OPC_CheckPredicate0,
21898 OPC_CheckTypeI32,
21899 OPC_MoveSibling5,
21900 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21901 OPC_RecordNode,
21902 OPC_CheckPredicate0,
21903 OPC_CheckTypeI32,
21904 OPC_MoveSibling6,
21905 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21906 OPC_RecordNode,
21907 OPC_CheckPredicate0,
21908 OPC_CheckTypeI32,
21909 OPC_MoveSibling7,
21910 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21911 OPC_RecordNode,
21912 OPC_CheckPredicate0,
21913 OPC_CheckTypeI32,
21914 OPC_MoveSibling, 8,
21915 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21916 OPC_RecordNode,
21917 OPC_CheckPredicate0,
21918 OPC_CheckTypeI32,
21919 OPC_MoveSibling, 9,
21920 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21921 OPC_RecordNode,
21922 OPC_CheckPredicate0,
21923 OPC_CheckTypeI32,
21924 OPC_MoveSibling, 10,
21925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21926 OPC_RecordNode,
21927 OPC_CheckPredicate0,
21928 OPC_CheckTypeI32,
21929 OPC_MoveSibling, 11,
21930 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21931 OPC_RecordNode,
21932 OPC_CheckPredicate0,
21933 OPC_CheckTypeI32,
21934 OPC_MoveSibling, 12,
21935 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21936 OPC_RecordNode,
21937 OPC_CheckPredicate0,
21938 OPC_CheckTypeI32,
21939 OPC_MoveSibling, 13,
21940 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21941 OPC_RecordNode,
21942 OPC_CheckPredicate0,
21943 OPC_CheckTypeI32,
21944 OPC_MoveSibling, 14,
21945 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21946 OPC_RecordNode,
21947 OPC_CheckPredicate0,
21948 OPC_CheckTypeI32,
21949 OPC_MoveSibling, 15,
21950 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21951 OPC_RecordNode,
21952 OPC_CheckPredicate0,
21953 OPC_CheckTypeI32,
21954 OPC_MoveSibling, 16,
21955 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21956 OPC_RecordNode,
21957 OPC_CheckPredicate0,
21958 OPC_CheckTypeI32,
21959 OPC_MoveSibling, 17,
21960 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21961 OPC_RecordNode,
21962 OPC_CheckPredicate0,
21963 OPC_CheckTypeI32,
21964 OPC_MoveParent,
21965 OPC_CheckType, 6|128,1,
21966 OPC_EmitConvertToTarget2,
21967 OPC_EmitConvertToTarget3,
21968 OPC_EmitConvertToTarget4,
21969 OPC_EmitConvertToTarget5,
21970 OPC_EmitConvertToTarget6,
21971 OPC_EmitConvertToTarget7,
21972 OPC_EmitConvertToTarget, 8,
21973 OPC_EmitConvertToTarget, 9,
21974 OPC_EmitConvertToTarget, 10,
21975 OPC_EmitConvertToTarget, 11,
21976 OPC_EmitConvertToTarget, 12,
21977 OPC_EmitConvertToTarget, 13,
21978 OPC_EmitConvertToTarget, 14,
21979 OPC_EmitConvertToTarget, 15,
21980 OPC_EmitConvertToTarget, 16,
21981 OPC_EmitConvertToTarget, 17,
21982 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
21983 6|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
21984 27|128,1, TARGET_VAL(ISD::TargetConstant),
21985 OPC_CheckTypeI32,
21986 OPC_MoveSibling3,
21987 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21988 OPC_RecordNode,
21989 OPC_CheckTypeI32,
21990 OPC_MoveSibling4,
21991 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21992 OPC_RecordNode,
21993 OPC_CheckTypeI32,
21994 OPC_MoveSibling5,
21995 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21996 OPC_RecordNode,
21997 OPC_CheckTypeI32,
21998 OPC_MoveSibling6,
21999 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22000 OPC_RecordNode,
22001 OPC_CheckTypeI32,
22002 OPC_MoveSibling7,
22003 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22004 OPC_RecordNode,
22005 OPC_CheckTypeI32,
22006 OPC_MoveSibling, 8,
22007 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22008 OPC_RecordNode,
22009 OPC_CheckTypeI32,
22010 OPC_MoveSibling, 9,
22011 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22012 OPC_RecordNode,
22013 OPC_CheckTypeI32,
22014 OPC_MoveSibling, 10,
22015 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22016 OPC_RecordNode,
22017 OPC_CheckTypeI32,
22018 OPC_MoveSibling, 11,
22019 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22020 OPC_RecordNode,
22021 OPC_CheckTypeI32,
22022 OPC_MoveSibling, 12,
22023 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22024 OPC_RecordNode,
22025 OPC_CheckTypeI32,
22026 OPC_MoveSibling, 13,
22027 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22028 OPC_RecordNode,
22029 OPC_CheckTypeI32,
22030 OPC_MoveSibling, 14,
22031 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22032 OPC_RecordNode,
22033 OPC_CheckTypeI32,
22034 OPC_MoveSibling, 15,
22035 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22036 OPC_RecordNode,
22037 OPC_CheckTypeI32,
22038 OPC_MoveSibling, 16,
22039 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22040 OPC_RecordNode,
22041 OPC_CheckTypeI32,
22042 OPC_MoveSibling, 17,
22043 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22044 OPC_RecordNode,
22045 OPC_CheckTypeI32,
22046 OPC_MoveParent,
22047 OPC_CheckType, 6|128,1,
22048 OPC_EmitConvertToTarget2,
22049 OPC_EmitConvertToTarget3,
22050 OPC_EmitConvertToTarget4,
22051 OPC_EmitConvertToTarget5,
22052 OPC_EmitConvertToTarget6,
22053 OPC_EmitConvertToTarget7,
22054 OPC_EmitConvertToTarget, 8,
22055 OPC_EmitConvertToTarget, 9,
22056 OPC_EmitConvertToTarget, 10,
22057 OPC_EmitConvertToTarget, 11,
22058 OPC_EmitConvertToTarget, 12,
22059 OPC_EmitConvertToTarget, 13,
22060 OPC_EmitConvertToTarget, 14,
22061 OPC_EmitConvertToTarget, 15,
22062 OPC_EmitConvertToTarget, 16,
22063 OPC_EmitConvertToTarget, 17,
22064 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
22065 6|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
22066 0,
22067 89|128,2,
22068 OPC_CheckChild0Type, 24|128,1,
22069 OPC_RecordChild1,
22070 OPC_CheckChild1Type, 24|128,1,
22071 OPC_RecordChild2,
22072 OPC_MoveChild2,
22073 OPC_SwitchOpcode , 43|128,1, TARGET_VAL(ISD::Constant),
22074 OPC_CheckPredicate0,
22075 OPC_CheckTypeI32,
22076 OPC_MoveSibling3,
22077 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22078 OPC_RecordNode,
22079 OPC_CheckPredicate0,
22080 OPC_CheckTypeI32,
22081 OPC_MoveSibling4,
22082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22083 OPC_RecordNode,
22084 OPC_CheckPredicate0,
22085 OPC_CheckTypeI32,
22086 OPC_MoveSibling5,
22087 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22088 OPC_RecordNode,
22089 OPC_CheckPredicate0,
22090 OPC_CheckTypeI32,
22091 OPC_MoveSibling6,
22092 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22093 OPC_RecordNode,
22094 OPC_CheckPredicate0,
22095 OPC_CheckTypeI32,
22096 OPC_MoveSibling7,
22097 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22098 OPC_RecordNode,
22099 OPC_CheckPredicate0,
22100 OPC_CheckTypeI32,
22101 OPC_MoveSibling, 8,
22102 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22103 OPC_RecordNode,
22104 OPC_CheckPredicate0,
22105 OPC_CheckTypeI32,
22106 OPC_MoveSibling, 9,
22107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22108 OPC_RecordNode,
22109 OPC_CheckPredicate0,
22110 OPC_CheckTypeI32,
22111 OPC_MoveSibling, 10,
22112 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22113 OPC_RecordNode,
22114 OPC_CheckPredicate0,
22115 OPC_CheckTypeI32,
22116 OPC_MoveSibling, 11,
22117 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22118 OPC_RecordNode,
22119 OPC_CheckPredicate0,
22120 OPC_CheckTypeI32,
22121 OPC_MoveSibling, 12,
22122 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22123 OPC_RecordNode,
22124 OPC_CheckPredicate0,
22125 OPC_CheckTypeI32,
22126 OPC_MoveSibling, 13,
22127 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22128 OPC_RecordNode,
22129 OPC_CheckPredicate0,
22130 OPC_CheckTypeI32,
22131 OPC_MoveSibling, 14,
22132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22133 OPC_RecordNode,
22134 OPC_CheckPredicate0,
22135 OPC_CheckTypeI32,
22136 OPC_MoveSibling, 15,
22137 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22138 OPC_RecordNode,
22139 OPC_CheckPredicate0,
22140 OPC_CheckTypeI32,
22141 OPC_MoveSibling, 16,
22142 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22143 OPC_RecordNode,
22144 OPC_CheckPredicate0,
22145 OPC_CheckTypeI32,
22146 OPC_MoveSibling, 17,
22147 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22148 OPC_RecordNode,
22149 OPC_CheckPredicate0,
22150 OPC_CheckTypeI32,
22151 OPC_MoveParent,
22152 OPC_CheckType, 24|128,1,
22153 OPC_EmitConvertToTarget2,
22154 OPC_EmitConvertToTarget3,
22155 OPC_EmitConvertToTarget4,
22156 OPC_EmitConvertToTarget5,
22157 OPC_EmitConvertToTarget6,
22158 OPC_EmitConvertToTarget7,
22159 OPC_EmitConvertToTarget, 8,
22160 OPC_EmitConvertToTarget, 9,
22161 OPC_EmitConvertToTarget, 10,
22162 OPC_EmitConvertToTarget, 11,
22163 OPC_EmitConvertToTarget, 12,
22164 OPC_EmitConvertToTarget, 13,
22165 OPC_EmitConvertToTarget, 14,
22166 OPC_EmitConvertToTarget, 15,
22167 OPC_EmitConvertToTarget, 16,
22168 OPC_EmitConvertToTarget, 17,
22169 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
22170 24|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
22171 27|128,1, TARGET_VAL(ISD::TargetConstant),
22172 OPC_CheckTypeI32,
22173 OPC_MoveSibling3,
22174 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22175 OPC_RecordNode,
22176 OPC_CheckTypeI32,
22177 OPC_MoveSibling4,
22178 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22179 OPC_RecordNode,
22180 OPC_CheckTypeI32,
22181 OPC_MoveSibling5,
22182 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22183 OPC_RecordNode,
22184 OPC_CheckTypeI32,
22185 OPC_MoveSibling6,
22186 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22187 OPC_RecordNode,
22188 OPC_CheckTypeI32,
22189 OPC_MoveSibling7,
22190 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22191 OPC_RecordNode,
22192 OPC_CheckTypeI32,
22193 OPC_MoveSibling, 8,
22194 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22195 OPC_RecordNode,
22196 OPC_CheckTypeI32,
22197 OPC_MoveSibling, 9,
22198 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22199 OPC_RecordNode,
22200 OPC_CheckTypeI32,
22201 OPC_MoveSibling, 10,
22202 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22203 OPC_RecordNode,
22204 OPC_CheckTypeI32,
22205 OPC_MoveSibling, 11,
22206 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22207 OPC_RecordNode,
22208 OPC_CheckTypeI32,
22209 OPC_MoveSibling, 12,
22210 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22211 OPC_RecordNode,
22212 OPC_CheckTypeI32,
22213 OPC_MoveSibling, 13,
22214 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22215 OPC_RecordNode,
22216 OPC_CheckTypeI32,
22217 OPC_MoveSibling, 14,
22218 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22219 OPC_RecordNode,
22220 OPC_CheckTypeI32,
22221 OPC_MoveSibling, 15,
22222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22223 OPC_RecordNode,
22224 OPC_CheckTypeI32,
22225 OPC_MoveSibling, 16,
22226 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22227 OPC_RecordNode,
22228 OPC_CheckTypeI32,
22229 OPC_MoveSibling, 17,
22230 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22231 OPC_RecordNode,
22232 OPC_CheckTypeI32,
22233 OPC_MoveParent,
22234 OPC_CheckType, 24|128,1,
22235 OPC_EmitConvertToTarget2,
22236 OPC_EmitConvertToTarget3,
22237 OPC_EmitConvertToTarget4,
22238 OPC_EmitConvertToTarget5,
22239 OPC_EmitConvertToTarget6,
22240 OPC_EmitConvertToTarget7,
22241 OPC_EmitConvertToTarget, 8,
22242 OPC_EmitConvertToTarget, 9,
22243 OPC_EmitConvertToTarget, 10,
22244 OPC_EmitConvertToTarget, 11,
22245 OPC_EmitConvertToTarget, 12,
22246 OPC_EmitConvertToTarget, 13,
22247 OPC_EmitConvertToTarget, 14,
22248 OPC_EmitConvertToTarget, 15,
22249 OPC_EmitConvertToTarget, 16,
22250 OPC_EmitConvertToTarget, 17,
22251 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
22252 24|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
22253 0,
22254 83|128,2,
22255 OPC_CheckChild0Type, MVT::v8f16,
22256 OPC_RecordChild1,
22257 OPC_CheckChild1Type, MVT::v8f16,
22258 OPC_RecordChild2,
22259 OPC_MoveChild2,
22260 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
22261 OPC_CheckPredicate0,
22262 OPC_CheckTypeI32,
22263 OPC_MoveSibling3,
22264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22265 OPC_RecordNode,
22266 OPC_CheckPredicate0,
22267 OPC_CheckTypeI32,
22268 OPC_MoveSibling4,
22269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22270 OPC_RecordNode,
22271 OPC_CheckPredicate0,
22272 OPC_CheckTypeI32,
22273 OPC_MoveSibling5,
22274 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22275 OPC_RecordNode,
22276 OPC_CheckPredicate0,
22277 OPC_CheckTypeI32,
22278 OPC_MoveSibling6,
22279 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22280 OPC_RecordNode,
22281 OPC_CheckPredicate0,
22282 OPC_CheckTypeI32,
22283 OPC_MoveSibling7,
22284 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22285 OPC_RecordNode,
22286 OPC_CheckPredicate0,
22287 OPC_CheckTypeI32,
22288 OPC_MoveSibling, 8,
22289 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22290 OPC_RecordNode,
22291 OPC_CheckPredicate0,
22292 OPC_CheckTypeI32,
22293 OPC_MoveSibling, 9,
22294 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22295 OPC_RecordNode,
22296 OPC_CheckPredicate0,
22297 OPC_CheckTypeI32,
22298 OPC_MoveSibling, 10,
22299 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22300 OPC_RecordNode,
22301 OPC_CheckPredicate0,
22302 OPC_CheckTypeI32,
22303 OPC_MoveSibling, 11,
22304 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22305 OPC_RecordNode,
22306 OPC_CheckPredicate0,
22307 OPC_CheckTypeI32,
22308 OPC_MoveSibling, 12,
22309 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22310 OPC_RecordNode,
22311 OPC_CheckPredicate0,
22312 OPC_CheckTypeI32,
22313 OPC_MoveSibling, 13,
22314 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22315 OPC_RecordNode,
22316 OPC_CheckPredicate0,
22317 OPC_CheckTypeI32,
22318 OPC_MoveSibling, 14,
22319 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22320 OPC_RecordNode,
22321 OPC_CheckPredicate0,
22322 OPC_CheckTypeI32,
22323 OPC_MoveSibling, 15,
22324 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22325 OPC_RecordNode,
22326 OPC_CheckPredicate0,
22327 OPC_CheckTypeI32,
22328 OPC_MoveSibling, 16,
22329 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22330 OPC_RecordNode,
22331 OPC_CheckPredicate0,
22332 OPC_CheckTypeI32,
22333 OPC_MoveSibling, 17,
22334 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22335 OPC_RecordNode,
22336 OPC_CheckPredicate0,
22337 OPC_CheckTypeI32,
22338 OPC_MoveParent,
22339 OPC_CheckType, MVT::v8f16,
22340 OPC_EmitConvertToTarget2,
22341 OPC_EmitConvertToTarget3,
22342 OPC_EmitConvertToTarget4,
22343 OPC_EmitConvertToTarget5,
22344 OPC_EmitConvertToTarget6,
22345 OPC_EmitConvertToTarget7,
22346 OPC_EmitConvertToTarget, 8,
22347 OPC_EmitConvertToTarget, 9,
22348 OPC_EmitConvertToTarget, 10,
22349 OPC_EmitConvertToTarget, 11,
22350 OPC_EmitConvertToTarget, 12,
22351 OPC_EmitConvertToTarget, 13,
22352 OPC_EmitConvertToTarget, 14,
22353 OPC_EmitConvertToTarget, 15,
22354 OPC_EmitConvertToTarget, 16,
22355 OPC_EmitConvertToTarget, 17,
22356 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
22357 MVT::v8f16, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
22358 25|128,1, TARGET_VAL(ISD::TargetConstant),
22359 OPC_CheckTypeI32,
22360 OPC_MoveSibling3,
22361 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22362 OPC_RecordNode,
22363 OPC_CheckTypeI32,
22364 OPC_MoveSibling4,
22365 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22366 OPC_RecordNode,
22367 OPC_CheckTypeI32,
22368 OPC_MoveSibling5,
22369 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22370 OPC_RecordNode,
22371 OPC_CheckTypeI32,
22372 OPC_MoveSibling6,
22373 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22374 OPC_RecordNode,
22375 OPC_CheckTypeI32,
22376 OPC_MoveSibling7,
22377 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22378 OPC_RecordNode,
22379 OPC_CheckTypeI32,
22380 OPC_MoveSibling, 8,
22381 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22382 OPC_RecordNode,
22383 OPC_CheckTypeI32,
22384 OPC_MoveSibling, 9,
22385 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22386 OPC_RecordNode,
22387 OPC_CheckTypeI32,
22388 OPC_MoveSibling, 10,
22389 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22390 OPC_RecordNode,
22391 OPC_CheckTypeI32,
22392 OPC_MoveSibling, 11,
22393 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22394 OPC_RecordNode,
22395 OPC_CheckTypeI32,
22396 OPC_MoveSibling, 12,
22397 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22398 OPC_RecordNode,
22399 OPC_CheckTypeI32,
22400 OPC_MoveSibling, 13,
22401 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22402 OPC_RecordNode,
22403 OPC_CheckTypeI32,
22404 OPC_MoveSibling, 14,
22405 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22406 OPC_RecordNode,
22407 OPC_CheckTypeI32,
22408 OPC_MoveSibling, 15,
22409 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22410 OPC_RecordNode,
22411 OPC_CheckTypeI32,
22412 OPC_MoveSibling, 16,
22413 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22414 OPC_RecordNode,
22415 OPC_CheckTypeI32,
22416 OPC_MoveSibling, 17,
22417 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22418 OPC_RecordNode,
22419 OPC_CheckTypeI32,
22420 OPC_MoveParent,
22421 OPC_CheckType, MVT::v8f16,
22422 OPC_EmitConvertToTarget2,
22423 OPC_EmitConvertToTarget3,
22424 OPC_EmitConvertToTarget4,
22425 OPC_EmitConvertToTarget5,
22426 OPC_EmitConvertToTarget6,
22427 OPC_EmitConvertToTarget7,
22428 OPC_EmitConvertToTarget, 8,
22429 OPC_EmitConvertToTarget, 9,
22430 OPC_EmitConvertToTarget, 10,
22431 OPC_EmitConvertToTarget, 11,
22432 OPC_EmitConvertToTarget, 12,
22433 OPC_EmitConvertToTarget, 13,
22434 OPC_EmitConvertToTarget, 14,
22435 OPC_EmitConvertToTarget, 15,
22436 OPC_EmitConvertToTarget, 16,
22437 OPC_EmitConvertToTarget, 17,
22438 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
22439 MVT::v8f16, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
22440 0,
22441 0,
22442 114|128,9, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
22443 OPC_Scope, 6|128,1,
22444 OPC_MoveChild0,
22445 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22446 OPC_CheckChild0Integer, 0,
22447 OPC_Scope, 62,
22448 OPC_CheckChild0TypeI32,
22449 OPC_MoveSibling1,
22450 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22451 OPC_RecordMemRef,
22452 OPC_RecordNode,
22453 OPC_CheckFoldableChainNode,
22454 OPC_RecordChild1,
22455 OPC_CheckTypeI32,
22456 OPC_Scope, 24,
22457 OPC_CheckChild1TypeI32,
22458 OPC_CheckPredicate, 8,
22459 OPC_CheckPredicate7,
22460 OPC_MoveParent,
22461 OPC_CheckChild2Integer, 0,
22462 OPC_CheckType, MVT::v4i32,
22463 OPC_CheckPatternPredicate1,
22464 OPC_CheckComplexPat0, /*#*/1,
22465 OPC_EmitMergeInputChains1_0,
22466 OPC_EmitIntegerI32, 0,
22467 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22468 MVT::v4i32, 3, 4, 2, 3,
22469 24,
22470 OPC_CheckChild1TypeI64,
22471 OPC_CheckPredicate, 8,
22472 OPC_CheckPredicate7,
22473 OPC_MoveParent,
22474 OPC_CheckChild2Integer, 0,
22475 OPC_CheckType, MVT::v4i32,
22476 OPC_CheckPatternPredicate2,
22477 OPC_CheckComplexPat1, /*#*/1,
22478 OPC_EmitMergeInputChains1_0,
22479 OPC_EmitIntegerI32, 0,
22480 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22481 MVT::v4i32, 3, 4, 2, 3,
22482 0,
22483 62,
22484 OPC_CheckChild0TypeI64,
22485 OPC_MoveSibling1,
22486 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22487 OPC_RecordMemRef,
22488 OPC_RecordNode,
22489 OPC_CheckFoldableChainNode,
22490 OPC_RecordChild1,
22491 OPC_CheckTypeI64,
22492 OPC_Scope, 24,
22493 OPC_CheckChild1TypeI32,
22494 OPC_CheckPredicate, 8,
22495 OPC_CheckPredicate7,
22496 OPC_MoveParent,
22497 OPC_CheckChild2Integer, 0,
22498 OPC_CheckType, MVT::v2i64,
22499 OPC_CheckPatternPredicate1,
22500 OPC_CheckComplexPat0, /*#*/1,
22501 OPC_EmitMergeInputChains1_0,
22502 OPC_EmitIntegerI32, 0,
22503 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22504 MVT::v2i64, 3, 4, 2, 3,
22505 24,
22506 OPC_CheckChild1TypeI64,
22507 OPC_CheckPredicate, 8,
22508 OPC_CheckPredicate7,
22509 OPC_MoveParent,
22510 OPC_CheckChild2Integer, 0,
22511 OPC_CheckType, MVT::v2i64,
22512 OPC_CheckPatternPredicate2,
22513 OPC_CheckComplexPat1, /*#*/1,
22514 OPC_EmitMergeInputChains1_0,
22515 OPC_EmitIntegerI32, 0,
22516 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22517 MVT::v2i64, 3, 4, 2, 3,
22518 0,
22519 0,
22520 63|128,4,
22521 OPC_RecordChild0,
22522 OPC_Scope, 32|128,3,
22523 OPC_MoveChild1,
22524 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22525 OPC_RecordMemRef,
22526 OPC_RecordNode,
22527 OPC_CheckFoldableChainNode,
22528 OPC_RecordChild1,
22529 OPC_Scope, 73|128,1,
22530 OPC_CheckChild1TypeI32,
22531 OPC_CheckPredicate, 8,
22532 OPC_Scope, 67,
22533 OPC_CheckPredicate, 11,
22534 OPC_CheckTypeI32,
22535 OPC_Scope, 30,
22536 OPC_CheckPredicate1,
22537 OPC_MoveSibling2,
22538 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22539 OPC_RecordNode,
22540 OPC_CheckPredicate, 21,
22541 OPC_CheckTypeI32,
22542 OPC_MoveParent,
22543 OPC_CheckType, MVT::v16i8,
22544 OPC_CheckPatternPredicate1,
22545 OPC_CheckComplexPat0, /*#*/2,
22546 OPC_EmitMergeInputChains1_1,
22547 OPC_EmitIntegerI32, 0,
22548 OPC_EmitConvertToTarget3,
22549 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A32), 0|OPFL_Chain|OPFL_MemRefs,
22550 MVT::v16i8, 5, 6, 4, 7, 5, 0,
22551 30,
22552 OPC_CheckPredicate2,
22553 OPC_MoveSibling2,
22554 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22555 OPC_RecordNode,
22556 OPC_CheckPredicate, 15,
22557 OPC_CheckTypeI32,
22558 OPC_MoveParent,
22559 OPC_CheckType, MVT::v8i16,
22560 OPC_CheckPatternPredicate1,
22561 OPC_CheckComplexPat0, /*#*/2,
22562 OPC_EmitMergeInputChains1_1,
22563 OPC_EmitIntegerI32, 0,
22564 OPC_EmitConvertToTarget3,
22565 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A32), 0|OPFL_Chain|OPFL_MemRefs,
22566 MVT::v8i16, 5, 6, 4, 7, 5, 0,
22567 0,
22568 127,
22569 OPC_CheckPredicate7,
22570 OPC_SwitchType , 29, MVT::i32,
22571 OPC_MoveSibling2,
22572 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22573 OPC_RecordNode,
22574 OPC_CheckPredicate, 12,
22575 OPC_CheckTypeI32,
22576 OPC_MoveParent,
22577 OPC_CheckType, MVT::v4i32,
22578 OPC_CheckPatternPredicate1,
22579 OPC_CheckComplexPat0, /*#*/2,
22580 OPC_EmitMergeInputChains1_1,
22581 OPC_EmitIntegerI32, 0,
22582 OPC_EmitConvertToTarget3,
22583 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22584 MVT::v4i32, 5, 6, 4, 7, 5, 0,
22585 29, MVT::f32,
22586 OPC_MoveSibling2,
22587 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22588 OPC_RecordNode,
22589 OPC_CheckPredicate, 12,
22590 OPC_CheckTypeI32,
22591 OPC_MoveParent,
22592 OPC_CheckType, MVT::v4i32,
22593 OPC_CheckPatternPredicate1,
22594 OPC_CheckComplexPat0, /*#*/2,
22595 OPC_EmitMergeInputChains1_1,
22596 OPC_EmitIntegerI32, 0,
22597 OPC_EmitConvertToTarget3,
22598 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22599 MVT::v4i32, 5, 6, 4, 7, 5, 0,
22600 29, MVT::i64,
22601 OPC_MoveSibling2,
22602 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22603 OPC_RecordNode,
22604 OPC_CheckPredicate, 13,
22605 OPC_CheckTypeI32,
22606 OPC_MoveParent,
22607 OPC_CheckType, MVT::v2i64,
22608 OPC_CheckPatternPredicate1,
22609 OPC_CheckComplexPat0, /*#*/2,
22610 OPC_EmitMergeInputChains1_1,
22611 OPC_EmitIntegerI32, 0,
22612 OPC_EmitConvertToTarget3,
22613 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22614 MVT::v2i64, 5, 6, 4, 7, 5, 0,
22615 29, MVT::f64,
22616 OPC_MoveSibling2,
22617 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22618 OPC_RecordNode,
22619 OPC_CheckPredicate, 13,
22620 OPC_CheckTypeI32,
22621 OPC_MoveParent,
22622 OPC_CheckType, MVT::v2i64,
22623 OPC_CheckPatternPredicate1,
22624 OPC_CheckComplexPat0, /*#*/2,
22625 OPC_EmitMergeInputChains1_1,
22626 OPC_EmitIntegerI32, 0,
22627 OPC_EmitConvertToTarget3,
22628 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22629 MVT::v2i64, 5, 6, 4, 7, 5, 0,
22630 0,
22631 0,
22632 73|128,1,
22633 OPC_CheckChild1TypeI64,
22634 OPC_CheckPredicate, 8,
22635 OPC_Scope, 67,
22636 OPC_CheckPredicate, 11,
22637 OPC_CheckTypeI32,
22638 OPC_Scope, 30,
22639 OPC_CheckPredicate1,
22640 OPC_MoveSibling2,
22641 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22642 OPC_RecordNode,
22643 OPC_CheckPredicate, 21,
22644 OPC_CheckTypeI32,
22645 OPC_MoveParent,
22646 OPC_CheckType, MVT::v16i8,
22647 OPC_CheckPatternPredicate2,
22648 OPC_CheckComplexPat1, /*#*/2,
22649 OPC_EmitMergeInputChains1_1,
22650 OPC_EmitIntegerI32, 0,
22651 OPC_EmitConvertToTarget3,
22652 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A64), 0|OPFL_Chain|OPFL_MemRefs,
22653 MVT::v16i8, 5, 6, 4, 7, 5, 0,
22654 30,
22655 OPC_CheckPredicate2,
22656 OPC_MoveSibling2,
22657 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22658 OPC_RecordNode,
22659 OPC_CheckPredicate, 15,
22660 OPC_CheckTypeI32,
22661 OPC_MoveParent,
22662 OPC_CheckType, MVT::v8i16,
22663 OPC_CheckPatternPredicate2,
22664 OPC_CheckComplexPat1, /*#*/2,
22665 OPC_EmitMergeInputChains1_1,
22666 OPC_EmitIntegerI32, 0,
22667 OPC_EmitConvertToTarget3,
22668 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A64), 0|OPFL_Chain|OPFL_MemRefs,
22669 MVT::v8i16, 5, 6, 4, 7, 5, 0,
22670 0,
22671 127,
22672 OPC_CheckPredicate7,
22673 OPC_SwitchType , 29, MVT::i32,
22674 OPC_MoveSibling2,
22675 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22676 OPC_RecordNode,
22677 OPC_CheckPredicate, 12,
22678 OPC_CheckTypeI32,
22679 OPC_MoveParent,
22680 OPC_CheckType, MVT::v4i32,
22681 OPC_CheckPatternPredicate2,
22682 OPC_CheckComplexPat1, /*#*/2,
22683 OPC_EmitMergeInputChains1_1,
22684 OPC_EmitIntegerI32, 0,
22685 OPC_EmitConvertToTarget3,
22686 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22687 MVT::v4i32, 5, 6, 4, 7, 5, 0,
22688 29, MVT::f32,
22689 OPC_MoveSibling2,
22690 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22691 OPC_RecordNode,
22692 OPC_CheckPredicate, 12,
22693 OPC_CheckTypeI32,
22694 OPC_MoveParent,
22695 OPC_CheckType, MVT::v4i32,
22696 OPC_CheckPatternPredicate2,
22697 OPC_CheckComplexPat1, /*#*/2,
22698 OPC_EmitMergeInputChains1_1,
22699 OPC_EmitIntegerI32, 0,
22700 OPC_EmitConvertToTarget3,
22701 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22702 MVT::v4i32, 5, 6, 4, 7, 5, 0,
22703 29, MVT::i64,
22704 OPC_MoveSibling2,
22705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22706 OPC_RecordNode,
22707 OPC_CheckPredicate, 13,
22708 OPC_CheckTypeI32,
22709 OPC_MoveParent,
22710 OPC_CheckType, MVT::v2i64,
22711 OPC_CheckPatternPredicate2,
22712 OPC_CheckComplexPat1, /*#*/2,
22713 OPC_EmitMergeInputChains1_1,
22714 OPC_EmitIntegerI32, 0,
22715 OPC_EmitConvertToTarget3,
22716 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22717 MVT::v2i64, 5, 6, 4, 7, 5, 0,
22718 29, MVT::f64,
22719 OPC_MoveSibling2,
22720 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22721 OPC_RecordNode,
22722 OPC_CheckPredicate, 13,
22723 OPC_CheckTypeI32,
22724 OPC_MoveParent,
22725 OPC_CheckType, MVT::v2i64,
22726 OPC_CheckPatternPredicate2,
22727 OPC_CheckComplexPat1, /*#*/2,
22728 OPC_EmitMergeInputChains1_1,
22729 OPC_EmitIntegerI32, 0,
22730 OPC_EmitConvertToTarget3,
22731 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22732 MVT::v2i64, 5, 6, 4, 7, 5, 0,
22733 0,
22734 0,
22735 0,
22736 24|128,1,
22737 OPC_RecordChild1,
22738 OPC_Scope, 104,
22739 OPC_CheckChild1TypeI32,
22740 OPC_Scope, 56,
22741 OPC_RecordChild2,
22742 OPC_MoveChild2,
22743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22744 OPC_CheckTypeI32,
22745 OPC_Scope, 15,
22746 OPC_CheckPredicate, 21,
22747 OPC_MoveParent,
22748 OPC_CheckType, MVT::v16i8,
22749 OPC_CheckPatternPredicate0,
22750 OPC_EmitConvertToTarget2,
22751 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
22752 MVT::v16i8, 3, 0, 3, 1,
22753 15,
22754 OPC_CheckPredicate, 15,
22755 OPC_MoveParent,
22756 OPC_CheckType, MVT::v8i16,
22757 OPC_CheckPatternPredicate0,
22758 OPC_EmitConvertToTarget2,
22759 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
22760 MVT::v8i16, 3, 0, 3, 1,
22761 15,
22762 OPC_CheckPredicate, 12,
22763 OPC_MoveParent,
22764 OPC_CheckType, MVT::v4i32,
22765 OPC_CheckPatternPredicate0,
22766 OPC_EmitConvertToTarget2,
22767 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
22768 MVT::v4i32, 3, 0, 3, 1,
22769 0,
22770 43,
22771 OPC_MoveChild2,
22772 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
22773 OPC_MoveParent,
22774 OPC_SwitchType , 10, MVT::v16i8,
22775 OPC_EmitIntegerI32, 0,
22776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
22777 MVT::v16i8, 3, 0, 2, 1,
22778 10, MVT::v8i16,
22779 OPC_EmitIntegerI32, 0,
22780 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
22781 MVT::v8i16, 3, 0, 2, 1,
22782 10, MVT::v4i32,
22783 OPC_EmitIntegerI32, 0,
22784 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
22785 MVT::v4i32, 3, 0, 2, 1,
22786 0,
22787 0,
22788 43,
22789 OPC_CheckChild1TypeI64,
22790 OPC_Scope, 21,
22791 OPC_RecordChild2,
22792 OPC_MoveChild2,
22793 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22794 OPC_CheckPredicate, 13,
22795 OPC_CheckTypeI32,
22796 OPC_MoveParent,
22797 OPC_CheckType, MVT::v2i64,
22798 OPC_CheckPatternPredicate0,
22799 OPC_EmitConvertToTarget2,
22800 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
22801 MVT::v2i64, 3, 0, 3, 1,
22802 17,
22803 OPC_MoveChild2,
22804 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
22805 OPC_MoveParent,
22806 OPC_CheckType, MVT::v2i64,
22807 OPC_EmitIntegerI32, 0,
22808 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
22809 MVT::v2i64, 3, 0, 2, 1,
22810 0,
22811 0,
22812 0,
22813 22|128,1,
22814 OPC_MoveChild0,
22815 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
22816 OPC_MoveChild0,
22817 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
22818 OPC_CheckPredicate, 29,
22819 OPC_SwitchType , 67, MVT::f32,
22820 OPC_MoveParent,
22821 OPC_MoveSibling1,
22822 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22823 OPC_RecordMemRef,
22824 OPC_RecordNode,
22825 OPC_CheckFoldableChainNode,
22826 OPC_RecordChild1,
22827 OPC_CheckType, MVT::f32,
22828 OPC_Scope, 26,
22829 OPC_CheckChild1TypeI32,
22830 OPC_CheckPredicate, 8,
22831 OPC_CheckPredicate7,
22832 OPC_MoveParent,
22833 OPC_CheckChild2Integer, 0,
22834 OPC_CheckType, 6|128,1,
22835 OPC_CheckPatternPredicate1,
22836 OPC_CheckComplexPat0, /*#*/1,
22837 OPC_EmitMergeInputChains1_0,
22838 OPC_EmitIntegerI32, 0,
22839 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22840 6|128,1, 3, 4, 2, 3,
22841 26,
22842 OPC_CheckChild1TypeI64,
22843 OPC_CheckPredicate, 8,
22844 OPC_CheckPredicate7,
22845 OPC_MoveParent,
22846 OPC_CheckChild2Integer, 0,
22847 OPC_CheckType, 6|128,1,
22848 OPC_CheckPatternPredicate2,
22849 OPC_CheckComplexPat1, /*#*/1,
22850 OPC_EmitMergeInputChains1_0,
22851 OPC_EmitIntegerI32, 0,
22852 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22853 6|128,1, 3, 4, 2, 3,
22854 0,
22855 67, MVT::f64,
22856 OPC_MoveParent,
22857 OPC_MoveSibling1,
22858 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22859 OPC_RecordMemRef,
22860 OPC_RecordNode,
22861 OPC_CheckFoldableChainNode,
22862 OPC_RecordChild1,
22863 OPC_CheckType, MVT::f64,
22864 OPC_Scope, 26,
22865 OPC_CheckChild1TypeI32,
22866 OPC_CheckPredicate, 8,
22867 OPC_CheckPredicate7,
22868 OPC_MoveParent,
22869 OPC_CheckChild2Integer, 0,
22870 OPC_CheckType, 24|128,1,
22871 OPC_CheckPatternPredicate1,
22872 OPC_CheckComplexPat0, /*#*/1,
22873 OPC_EmitMergeInputChains1_0,
22874 OPC_EmitIntegerI32, 0,
22875 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22876 24|128,1, 3, 4, 2, 3,
22877 26,
22878 OPC_CheckChild1TypeI64,
22879 OPC_CheckPredicate, 8,
22880 OPC_CheckPredicate7,
22881 OPC_MoveParent,
22882 OPC_CheckChild2Integer, 0,
22883 OPC_CheckType, 24|128,1,
22884 OPC_CheckPatternPredicate2,
22885 OPC_CheckComplexPat1, /*#*/1,
22886 OPC_EmitMergeInputChains1_0,
22887 OPC_EmitIntegerI32, 0,
22888 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
22889 24|128,1, 3, 4, 2, 3,
22890 0,
22891 0,
22892 13|128,3,
22893 OPC_RecordChild0,
22894 OPC_Scope, 34|128,2,
22895 OPC_MoveChild1,
22896 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
22897 OPC_RecordMemRef,
22898 OPC_RecordNode,
22899 OPC_CheckFoldableChainNode,
22900 OPC_RecordChild1,
22901 OPC_Scope, 10|128,1,
22902 OPC_CheckChild1TypeI32,
22903 OPC_CheckPredicate, 8,
22904 OPC_CheckPredicate7,
22905 OPC_SwitchType , 31, MVT::i32,
22906 OPC_MoveSibling2,
22907 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22908 OPC_RecordNode,
22909 OPC_CheckPredicate, 12,
22910 OPC_CheckTypeI32,
22911 OPC_MoveParent,
22912 OPC_CheckType, 6|128,1,
22913 OPC_CheckPatternPredicate1,
22914 OPC_CheckComplexPat0, /*#*/2,
22915 OPC_EmitMergeInputChains1_1,
22916 OPC_EmitIntegerI32, 0,
22917 OPC_EmitConvertToTarget3,
22918 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22919 6|128,1, 5, 6, 4, 7, 5, 0,
22920 31, MVT::f32,
22921 OPC_MoveSibling2,
22922 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22923 OPC_RecordNode,
22924 OPC_CheckPredicate, 12,
22925 OPC_CheckTypeI32,
22926 OPC_MoveParent,
22927 OPC_CheckType, 6|128,1,
22928 OPC_CheckPatternPredicate1,
22929 OPC_CheckComplexPat0, /*#*/2,
22930 OPC_EmitMergeInputChains1_1,
22931 OPC_EmitIntegerI32, 0,
22932 OPC_EmitConvertToTarget3,
22933 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
22934 6|128,1, 5, 6, 4, 7, 5, 0,
22935 31, MVT::i64,
22936 OPC_MoveSibling2,
22937 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22938 OPC_RecordNode,
22939 OPC_CheckPredicate, 13,
22940 OPC_CheckTypeI32,
22941 OPC_MoveParent,
22942 OPC_CheckType, 24|128,1,
22943 OPC_CheckPatternPredicate1,
22944 OPC_CheckComplexPat0, /*#*/2,
22945 OPC_EmitMergeInputChains1_1,
22946 OPC_EmitIntegerI32, 0,
22947 OPC_EmitConvertToTarget3,
22948 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22949 24|128,1, 5, 6, 4, 7, 5, 0,
22950 31, MVT::f64,
22951 OPC_MoveSibling2,
22952 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22953 OPC_RecordNode,
22954 OPC_CheckPredicate, 13,
22955 OPC_CheckTypeI32,
22956 OPC_MoveParent,
22957 OPC_CheckType, 24|128,1,
22958 OPC_CheckPatternPredicate1,
22959 OPC_CheckComplexPat0, /*#*/2,
22960 OPC_EmitMergeInputChains1_1,
22961 OPC_EmitIntegerI32, 0,
22962 OPC_EmitConvertToTarget3,
22963 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
22964 24|128,1, 5, 6, 4, 7, 5, 0,
22965 0,
22966 10|128,1,
22967 OPC_CheckChild1TypeI64,
22968 OPC_CheckPredicate, 8,
22969 OPC_CheckPredicate7,
22970 OPC_SwitchType , 31, MVT::i32,
22971 OPC_MoveSibling2,
22972 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22973 OPC_RecordNode,
22974 OPC_CheckPredicate, 12,
22975 OPC_CheckTypeI32,
22976 OPC_MoveParent,
22977 OPC_CheckType, 6|128,1,
22978 OPC_CheckPatternPredicate2,
22979 OPC_CheckComplexPat1, /*#*/2,
22980 OPC_EmitMergeInputChains1_1,
22981 OPC_EmitIntegerI32, 0,
22982 OPC_EmitConvertToTarget3,
22983 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22984 6|128,1, 5, 6, 4, 7, 5, 0,
22985 31, MVT::f32,
22986 OPC_MoveSibling2,
22987 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22988 OPC_RecordNode,
22989 OPC_CheckPredicate, 12,
22990 OPC_CheckTypeI32,
22991 OPC_MoveParent,
22992 OPC_CheckType, 6|128,1,
22993 OPC_CheckPatternPredicate2,
22994 OPC_CheckComplexPat1, /*#*/2,
22995 OPC_EmitMergeInputChains1_1,
22996 OPC_EmitIntegerI32, 0,
22997 OPC_EmitConvertToTarget3,
22998 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
22999 6|128,1, 5, 6, 4, 7, 5, 0,
23000 31, MVT::i64,
23001 OPC_MoveSibling2,
23002 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23003 OPC_RecordNode,
23004 OPC_CheckPredicate, 13,
23005 OPC_CheckTypeI32,
23006 OPC_MoveParent,
23007 OPC_CheckType, 24|128,1,
23008 OPC_CheckPatternPredicate2,
23009 OPC_CheckComplexPat1, /*#*/2,
23010 OPC_EmitMergeInputChains1_1,
23011 OPC_EmitIntegerI32, 0,
23012 OPC_EmitConvertToTarget3,
23013 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23014 24|128,1, 5, 6, 4, 7, 5, 0,
23015 31, MVT::f64,
23016 OPC_MoveSibling2,
23017 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23018 OPC_RecordNode,
23019 OPC_CheckPredicate, 13,
23020 OPC_CheckTypeI32,
23021 OPC_MoveParent,
23022 OPC_CheckType, 24|128,1,
23023 OPC_CheckPatternPredicate2,
23024 OPC_CheckComplexPat1, /*#*/2,
23025 OPC_EmitMergeInputChains1_1,
23026 OPC_EmitIntegerI32, 0,
23027 OPC_EmitConvertToTarget3,
23028 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23029 24|128,1, 5, 6, 4, 7, 5, 0,
23030 0,
23031 0,
23032 101,
23033 OPC_RecordChild1,
23034 OPC_Scope, 48,
23035 OPC_CheckChild1Type, MVT::f32,
23036 OPC_Scope, 23,
23037 OPC_RecordChild2,
23038 OPC_MoveChild2,
23039 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23040 OPC_CheckPredicate, 12,
23041 OPC_CheckTypeI32,
23042 OPC_MoveParent,
23043 OPC_CheckType, 6|128,1,
23044 OPC_CheckPatternPredicate0,
23045 OPC_EmitConvertToTarget2,
23046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
23047 6|128,1, 3, 0, 3, 1,
23048 19,
23049 OPC_MoveChild2,
23050 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
23051 OPC_MoveParent,
23052 OPC_CheckType, 6|128,1,
23053 OPC_EmitIntegerI32, 0,
23054 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
23055 6|128,1, 3, 0, 2, 1,
23056 0,
23057 48,
23058 OPC_CheckChild1Type, MVT::f64,
23059 OPC_Scope, 23,
23060 OPC_RecordChild2,
23061 OPC_MoveChild2,
23062 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23063 OPC_CheckPredicate, 13,
23064 OPC_CheckTypeI32,
23065 OPC_MoveParent,
23066 OPC_CheckType, 24|128,1,
23067 OPC_CheckPatternPredicate0,
23068 OPC_EmitConvertToTarget2,
23069 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
23070 24|128,1, 3, 0, 3, 1,
23071 19,
23072 OPC_MoveChild2,
23073 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
23074 OPC_MoveParent,
23075 OPC_CheckType, 24|128,1,
23076 OPC_EmitIntegerI32, 0,
23077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
23078 24|128,1, 3, 0, 2, 1,
23079 0,
23080 0,
23081 0,
23082 0,
23083 96|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHR_U),
23084 OPC_Scope, 87,
23085 OPC_MoveChild0,
23086 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
23087 OPC_MoveChild0,
23088 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::ADD),
23089 OPC_RecordChild0,
23090 OPC_RecordChild1,
23091 OPC_CheckPredicate, 27,
23092 OPC_MoveSibling1,
23093 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
23094 OPC_CheckChild0Integer, 1,
23095 OPC_CheckChild0TypeI32,
23096 OPC_MoveParent,
23097 OPC_CheckPredicate, 27,
23098 OPC_MoveParent,
23099 OPC_CheckChild1Integer, 1,
23100 OPC_SwitchType , 7, MVT::v16i8,
23101 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
23102 MVT::v16i8, 2, 0, 1,
23103 7, MVT::v8i16,
23104 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
23105 MVT::v8i16, 2, 0, 1,
23106 0,
23107 37, TARGET_VAL(ISD::SPLAT_VECTOR),
23108 OPC_CheckChild0Integer, 1,
23109 OPC_CheckChild0TypeI32,
23110 OPC_MoveSibling1,
23111 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
23112 OPC_RecordChild0,
23113 OPC_RecordChild1,
23114 OPC_CheckPredicate, 27,
23115 OPC_MoveParent,
23116 OPC_CheckPredicate, 27,
23117 OPC_MoveParent,
23118 OPC_CheckChild1Integer, 1,
23119 OPC_SwitchType , 7, MVT::v16i8,
23120 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
23121 MVT::v16i8, 2, 0, 1,
23122 7, MVT::v8i16,
23123 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
23124 MVT::v8i16, 2, 0, 1,
23125 0,
23126 0,
23127 4|128,1,
23128 OPC_RecordChild0,
23129 OPC_Scope, 84,
23130 OPC_MoveChild1,
23131 OPC_Scope, 24,
23132 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
23133 OPC_MoveChild0,
23134 OPC_CheckAndImm, 63,
23135 OPC_RecordChild0,
23136 OPC_MoveParent,
23137 OPC_MoveParent,
23138 OPC_CheckType, MVT::v2i64,
23139 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
23140 MVT::i32, 1, 1,
23141 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
23142 MVT::v2i64, 2, 0, 2,
23143 13,
23144 OPC_CheckAndImm, 7,
23145 OPC_RecordChild0,
23146 OPC_MoveParent,
23147 OPC_CheckType, MVT::v16i8,
23148 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
23149 MVT::v16i8, 2, 0, 1,
23150 13,
23151 OPC_CheckAndImm, 15,
23152 OPC_RecordChild0,
23153 OPC_MoveParent,
23154 OPC_CheckType, MVT::v8i16,
23155 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
23156 MVT::v8i16, 2, 0, 1,
23157 13,
23158 OPC_CheckAndImm, 31,
23159 OPC_RecordChild0,
23160 OPC_MoveParent,
23161 OPC_CheckType, MVT::v4i32,
23162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
23163 MVT::v4i32, 2, 0, 1,
23164 13,
23165 OPC_CheckAndImm, 63,
23166 OPC_RecordChild0,
23167 OPC_MoveParent,
23168 OPC_CheckType, MVT::v2i64,
23169 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
23170 MVT::v2i64, 2, 0, 1,
23171 0,
23172 43,
23173 OPC_RecordChild1,
23174 OPC_SwitchType , 8, MVT::v16i8,
23175 OPC_CheckPatternPredicate0,
23176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
23177 MVT::v16i8, 2, 0, 1,
23178 8, MVT::v8i16,
23179 OPC_CheckPatternPredicate0,
23180 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
23181 MVT::v8i16, 2, 0, 1,
23182 8, MVT::v4i32,
23183 OPC_CheckPatternPredicate0,
23184 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
23185 MVT::v4i32, 2, 0, 1,
23186 8, MVT::v2i64,
23187 OPC_CheckPatternPredicate0,
23188 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
23189 MVT::v2i64, 2, 0, 1,
23190 0,
23191 0,
23192 0,
23193 30|128,4, TARGET_VAL(ISD::SPLAT_VECTOR),
23194 OPC_Scope, 73|128,1,
23195 OPC_MoveChild0,
23196 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
23197 OPC_RecordMemRef,
23198 OPC_RecordNode,
23199 OPC_RecordChild1,
23200 OPC_Scope, 95,
23201 OPC_CheckChild1TypeI32,
23202 OPC_CheckPredicate, 8,
23203 OPC_Scope, 45,
23204 OPC_CheckPredicate, 11,
23205 OPC_CheckTypeI32,
23206 OPC_Scope, 19,
23207 OPC_CheckPredicate1,
23208 OPC_MoveParent,
23209 OPC_CheckType, MVT::v16i8,
23210 OPC_CheckPatternPredicate1,
23211 OPC_CheckComplexPat0, /*#*/1,
23212 OPC_EmitMergeInputChains1_0,
23213 OPC_EmitIntegerI32, 0,
23214 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23215 MVT::v16i8, 3, 4, 2, 3,
23216 19,
23217 OPC_CheckPredicate2,
23218 OPC_MoveParent,
23219 OPC_CheckType, MVT::v8i16,
23220 OPC_CheckPatternPredicate1,
23221 OPC_CheckComplexPat0, /*#*/1,
23222 OPC_EmitMergeInputChains1_0,
23223 OPC_EmitIntegerI32, 0,
23224 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23225 MVT::v8i16, 3, 4, 2, 3,
23226 0,
23227 43,
23228 OPC_CheckPredicate7,
23229 OPC_SwitchType , 18, MVT::i32,
23230 OPC_MoveParent,
23231 OPC_CheckType, MVT::v4i32,
23232 OPC_CheckPatternPredicate1,
23233 OPC_CheckComplexPat0, /*#*/1,
23234 OPC_EmitMergeInputChains1_0,
23235 OPC_EmitIntegerI32, 0,
23236 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23237 MVT::v4i32, 3, 4, 2, 3,
23238 18, MVT::i64,
23239 OPC_MoveParent,
23240 OPC_CheckType, MVT::v2i64,
23241 OPC_CheckPatternPredicate1,
23242 OPC_CheckComplexPat0, /*#*/1,
23243 OPC_EmitMergeInputChains1_0,
23244 OPC_EmitIntegerI32, 0,
23245 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23246 MVT::v2i64, 3, 4, 2, 3,
23247 0,
23248 0,
23249 95,
23250 OPC_CheckChild1TypeI64,
23251 OPC_CheckPredicate, 8,
23252 OPC_Scope, 45,
23253 OPC_CheckPredicate, 11,
23254 OPC_CheckTypeI32,
23255 OPC_Scope, 19,
23256 OPC_CheckPredicate1,
23257 OPC_MoveParent,
23258 OPC_CheckType, MVT::v16i8,
23259 OPC_CheckPatternPredicate2,
23260 OPC_CheckComplexPat1, /*#*/1,
23261 OPC_EmitMergeInputChains1_0,
23262 OPC_EmitIntegerI32, 0,
23263 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23264 MVT::v16i8, 3, 4, 2, 3,
23265 19,
23266 OPC_CheckPredicate2,
23267 OPC_MoveParent,
23268 OPC_CheckType, MVT::v8i16,
23269 OPC_CheckPatternPredicate2,
23270 OPC_CheckComplexPat1, /*#*/1,
23271 OPC_EmitMergeInputChains1_0,
23272 OPC_EmitIntegerI32, 0,
23273 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23274 MVT::v8i16, 3, 4, 2, 3,
23275 0,
23276 43,
23277 OPC_CheckPredicate7,
23278 OPC_SwitchType , 18, MVT::i32,
23279 OPC_MoveParent,
23280 OPC_CheckType, MVT::v4i32,
23281 OPC_CheckPatternPredicate2,
23282 OPC_CheckComplexPat1, /*#*/1,
23283 OPC_EmitMergeInputChains1_0,
23284 OPC_EmitIntegerI32, 0,
23285 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23286 MVT::v4i32, 3, 4, 2, 3,
23287 18, MVT::i64,
23288 OPC_MoveParent,
23289 OPC_CheckType, MVT::v2i64,
23290 OPC_CheckPatternPredicate2,
23291 OPC_CheckComplexPat1, /*#*/1,
23292 OPC_EmitMergeInputChains1_0,
23293 OPC_EmitIntegerI32, 0,
23294 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23295 MVT::v2i64, 3, 4, 2, 3,
23296 0,
23297 0,
23298 0,
23299 20|128,1,
23300 OPC_RecordChild0,
23301 OPC_Scope, 102,
23302 OPC_MoveChild0,
23303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23304 OPC_SwitchType , 80, MVT::i32,
23305 OPC_MoveParent,
23306 OPC_SwitchType , 37, MVT::v16i8,
23307 OPC_EmitConvertToTarget0,
23308 OPC_EmitConvertToTarget0,
23309 OPC_EmitConvertToTarget0,
23310 OPC_EmitConvertToTarget0,
23311 OPC_EmitConvertToTarget0,
23312 OPC_EmitConvertToTarget0,
23313 OPC_EmitConvertToTarget0,
23314 OPC_EmitConvertToTarget0,
23315 OPC_EmitConvertToTarget0,
23316 OPC_EmitConvertToTarget0,
23317 OPC_EmitConvertToTarget0,
23318 OPC_EmitConvertToTarget0,
23319 OPC_EmitConvertToTarget0,
23320 OPC_EmitConvertToTarget0,
23321 OPC_EmitConvertToTarget0,
23322 OPC_EmitConvertToTarget0,
23323 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
23324 MVT::v16i8, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
23325 21, MVT::v8i16,
23326 OPC_EmitConvertToTarget0,
23327 OPC_EmitConvertToTarget0,
23328 OPC_EmitConvertToTarget0,
23329 OPC_EmitConvertToTarget0,
23330 OPC_EmitConvertToTarget0,
23331 OPC_EmitConvertToTarget0,
23332 OPC_EmitConvertToTarget0,
23333 OPC_EmitConvertToTarget0,
23334 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
23335 MVT::v8i16, 8, 1, 2, 3, 4, 5, 6, 7, 8,
23336 13, MVT::v4i32,
23337 OPC_EmitConvertToTarget0,
23338 OPC_EmitConvertToTarget0,
23339 OPC_EmitConvertToTarget0,
23340 OPC_EmitConvertToTarget0,
23341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
23342 MVT::v4i32, 4, 1, 2, 3, 4,
23343 0,
23344 12, MVT::i64,
23345 OPC_MoveParent,
23346 OPC_CheckType, MVT::v2i64,
23347 OPC_EmitConvertToTarget0,
23348 OPC_EmitConvertToTarget0,
23349 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
23350 MVT::v2i64, 2, 1, 2,
23351 0,
23352 30,
23353 OPC_CheckChild0TypeI32,
23354 OPC_SwitchType , 7, MVT::v16i8,
23355 OPC_CheckPatternPredicate0,
23356 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
23357 MVT::v16i8, 1, 0,
23358 7, MVT::v8i16,
23359 OPC_CheckPatternPredicate0,
23360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
23361 MVT::v8i16, 1, 0,
23362 7, MVT::v4i32,
23363 OPC_CheckPatternPredicate0,
23364 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
23365 MVT::v4i32, 1, 0,
23366 0,
23367 10,
23368 OPC_CheckChild0TypeI64,
23369 OPC_CheckType, MVT::v2i64,
23370 OPC_CheckPatternPredicate0,
23371 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
23372 MVT::v2i64, 1, 0,
23373 0,
23374 111,
23375 OPC_MoveChild0,
23376 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
23377 OPC_RecordMemRef,
23378 OPC_RecordNode,
23379 OPC_RecordChild1,
23380 OPC_Scope, 50,
23381 OPC_CheckChild1TypeI32,
23382 OPC_CheckPredicate, 8,
23383 OPC_CheckPredicate7,
23384 OPC_SwitchType , 20, MVT::f32,
23385 OPC_MoveParent,
23386 OPC_CheckType, 6|128,1,
23387 OPC_CheckPatternPredicate1,
23388 OPC_CheckComplexPat0, /*#*/1,
23389 OPC_EmitMergeInputChains1_0,
23390 OPC_EmitIntegerI32, 0,
23391 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23392 6|128,1, 3, 4, 2, 3,
23393 20, MVT::f64,
23394 OPC_MoveParent,
23395 OPC_CheckType, 24|128,1,
23396 OPC_CheckPatternPredicate1,
23397 OPC_CheckComplexPat0, /*#*/1,
23398 OPC_EmitMergeInputChains1_0,
23399 OPC_EmitIntegerI32, 0,
23400 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
23401 24|128,1, 3, 4, 2, 3,
23402 0,
23403 50,
23404 OPC_CheckChild1TypeI64,
23405 OPC_CheckPredicate, 8,
23406 OPC_CheckPredicate7,
23407 OPC_SwitchType , 20, MVT::f32,
23408 OPC_MoveParent,
23409 OPC_CheckType, 6|128,1,
23410 OPC_CheckPatternPredicate2,
23411 OPC_CheckComplexPat1, /*#*/1,
23412 OPC_EmitMergeInputChains1_0,
23413 OPC_EmitIntegerI32, 0,
23414 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23415 6|128,1, 3, 4, 2, 3,
23416 20, MVT::f64,
23417 OPC_MoveParent,
23418 OPC_CheckType, 24|128,1,
23419 OPC_CheckPatternPredicate2,
23420 OPC_CheckComplexPat1, /*#*/1,
23421 OPC_EmitMergeInputChains1_0,
23422 OPC_EmitIntegerI32, 0,
23423 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
23424 24|128,1, 3, 4, 2, 3,
23425 0,
23426 0,
23427 74,
23428 OPC_RecordChild0,
23429 OPC_Scope, 42,
23430 OPC_MoveChild0,
23431 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
23432 OPC_SwitchType , 18, MVT::f32,
23433 OPC_MoveParent,
23434 OPC_CheckType, 6|128,1,
23435 OPC_EmitConvertToTarget0,
23436 OPC_EmitConvertToTarget0,
23437 OPC_EmitConvertToTarget0,
23438 OPC_EmitConvertToTarget0,
23439 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
23440 6|128,1, 4, 1, 2, 3, 4,
23441 14, MVT::f64,
23442 OPC_MoveParent,
23443 OPC_CheckType, 24|128,1,
23444 OPC_EmitConvertToTarget0,
23445 OPC_EmitConvertToTarget0,
23446 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
23447 24|128,1, 2, 1, 2,
23448 0,
23449 13,
23450 OPC_CheckChild0Type, MVT::f32,
23451 OPC_CheckType, 6|128,1,
23452 OPC_CheckPatternPredicate0,
23453 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
23454 6|128,1, 1, 0,
23455 13,
23456 OPC_CheckChild0Type, MVT::f64,
23457 OPC_CheckType, 24|128,1,
23458 OPC_CheckPatternPredicate0,
23459 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
23460 24|128,1, 1, 0,
23461 0,
23462 0,
23463 32|128,2, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
23464 OPC_Scope, 103,
23465 OPC_MoveChild0,
23466 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
23467 OPC_RecordMemRef,
23468 OPC_RecordNode,
23469 OPC_RecordChild1,
23470 OPC_Scope, 46,
23471 OPC_CheckChild1TypeI32,
23472 OPC_CheckPredicate, 8,
23473 OPC_CheckPredicate7,
23474 OPC_SwitchType , 18, MVT::i32,
23475 OPC_MoveParent,
23476 OPC_CheckType, MVT::v4i32,
23477 OPC_CheckPatternPredicate1,
23478 OPC_CheckComplexPat0, /*#*/1,
23479 OPC_EmitMergeInputChains1_0,
23480 OPC_EmitIntegerI32, 0,
23481 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23482 MVT::v4i32, 3, 4, 2, 3,
23483 18, MVT::i64,
23484 OPC_MoveParent,
23485 OPC_CheckType, MVT::v2i64,
23486 OPC_CheckPatternPredicate1,
23487 OPC_CheckComplexPat0, /*#*/1,
23488 OPC_EmitMergeInputChains1_0,
23489 OPC_EmitIntegerI32, 0,
23490 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23491 MVT::v2i64, 3, 4, 2, 3,
23492 0,
23493 46,
23494 OPC_CheckChild1TypeI64,
23495 OPC_CheckPredicate, 8,
23496 OPC_CheckPredicate7,
23497 OPC_SwitchType , 18, MVT::i32,
23498 OPC_MoveParent,
23499 OPC_CheckType, MVT::v4i32,
23500 OPC_CheckPatternPredicate2,
23501 OPC_CheckComplexPat1, /*#*/1,
23502 OPC_EmitMergeInputChains1_0,
23503 OPC_EmitIntegerI32, 0,
23504 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23505 MVT::v4i32, 3, 4, 2, 3,
23506 18, MVT::i64,
23507 OPC_MoveParent,
23508 OPC_CheckType, MVT::v2i64,
23509 OPC_CheckPatternPredicate2,
23510 OPC_CheckComplexPat1, /*#*/1,
23511 OPC_EmitMergeInputChains1_0,
23512 OPC_EmitIntegerI32, 0,
23513 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23514 MVT::v2i64, 3, 4, 2, 3,
23515 0,
23516 0,
23517 41,
23518 OPC_RecordChild0,
23519 OPC_Scope, 27,
23520 OPC_CheckChild0TypeI32,
23521 OPC_SwitchType , 6, MVT::v16i8,
23522 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
23523 MVT::v16i8, 1, 0,
23524 6, MVT::v8i16,
23525 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
23526 MVT::v8i16, 1, 0,
23527 6, MVT::v4i32,
23528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
23529 MVT::v4i32, 1, 0,
23530 0,
23531 9,
23532 OPC_CheckChild0TypeI64,
23533 OPC_CheckType, MVT::v2i64,
23534 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
23535 MVT::v2i64, 1, 0,
23536 0,
23537 111,
23538 OPC_MoveChild0,
23539 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
23540 OPC_RecordMemRef,
23541 OPC_RecordNode,
23542 OPC_RecordChild1,
23543 OPC_Scope, 50,
23544 OPC_CheckChild1TypeI32,
23545 OPC_CheckPredicate, 8,
23546 OPC_CheckPredicate7,
23547 OPC_SwitchType , 20, MVT::f32,
23548 OPC_MoveParent,
23549 OPC_CheckType, 6|128,1,
23550 OPC_CheckPatternPredicate1,
23551 OPC_CheckComplexPat0, /*#*/1,
23552 OPC_EmitMergeInputChains1_0,
23553 OPC_EmitIntegerI32, 0,
23554 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
23555 6|128,1, 3, 4, 2, 3,
23556 20, MVT::f64,
23557 OPC_MoveParent,
23558 OPC_CheckType, 24|128,1,
23559 OPC_CheckPatternPredicate1,
23560 OPC_CheckComplexPat0, /*#*/1,
23561 OPC_EmitMergeInputChains1_0,
23562 OPC_EmitIntegerI32, 0,
23563 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
23564 24|128,1, 3, 4, 2, 3,
23565 0,
23566 50,
23567 OPC_CheckChild1TypeI64,
23568 OPC_CheckPredicate, 8,
23569 OPC_CheckPredicate7,
23570 OPC_SwitchType , 20, MVT::f32,
23571 OPC_MoveParent,
23572 OPC_CheckType, 6|128,1,
23573 OPC_CheckPatternPredicate2,
23574 OPC_CheckComplexPat1, /*#*/1,
23575 OPC_EmitMergeInputChains1_0,
23576 OPC_EmitIntegerI32, 0,
23577 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
23578 6|128,1, 3, 4, 2, 3,
23579 20, MVT::f64,
23580 OPC_MoveParent,
23581 OPC_CheckType, 24|128,1,
23582 OPC_CheckPatternPredicate2,
23583 OPC_CheckComplexPat1, /*#*/1,
23584 OPC_EmitMergeInputChains1_0,
23585 OPC_EmitIntegerI32, 0,
23586 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
23587 24|128,1, 3, 4, 2, 3,
23588 0,
23589 0,
23590 27,
23591 OPC_RecordChild0,
23592 OPC_SwitchType , 9, 6|128,1,
23593 OPC_CheckChild0Type, MVT::f32,
23594 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
23595 6|128,1, 1, 0,
23596 9, 24|128,1,
23597 OPC_CheckChild0Type, MVT::f64,
23598 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
23599 24|128,1, 1, 0,
23600 0,
23601 0,
23602 4|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHL),
23603 OPC_RecordChild0,
23604 OPC_Scope, 84,
23605 OPC_MoveChild1,
23606 OPC_Scope, 24,
23607 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
23608 OPC_MoveChild0,
23609 OPC_CheckAndImm, 63,
23610 OPC_RecordChild0,
23611 OPC_MoveParent,
23612 OPC_MoveParent,
23613 OPC_CheckType, MVT::v2i64,
23614 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
23615 MVT::i32, 1, 1,
23616 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
23617 MVT::v2i64, 2, 0, 2,
23618 13,
23619 OPC_CheckAndImm, 7,
23620 OPC_RecordChild0,
23621 OPC_MoveParent,
23622 OPC_CheckType, MVT::v16i8,
23623 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
23624 MVT::v16i8, 2, 0, 1,
23625 13,
23626 OPC_CheckAndImm, 15,
23627 OPC_RecordChild0,
23628 OPC_MoveParent,
23629 OPC_CheckType, MVT::v8i16,
23630 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
23631 MVT::v8i16, 2, 0, 1,
23632 13,
23633 OPC_CheckAndImm, 31,
23634 OPC_RecordChild0,
23635 OPC_MoveParent,
23636 OPC_CheckType, MVT::v4i32,
23637 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
23638 MVT::v4i32, 2, 0, 1,
23639 13,
23640 OPC_CheckAndImm, 63,
23641 OPC_RecordChild0,
23642 OPC_MoveParent,
23643 OPC_CheckType, MVT::v2i64,
23644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
23645 MVT::v2i64, 2, 0, 1,
23646 0,
23647 43,
23648 OPC_RecordChild1,
23649 OPC_SwitchType , 8, MVT::v16i8,
23650 OPC_CheckPatternPredicate0,
23651 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
23652 MVT::v16i8, 2, 0, 1,
23653 8, MVT::v8i16,
23654 OPC_CheckPatternPredicate0,
23655 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
23656 MVT::v8i16, 2, 0, 1,
23657 8, MVT::v4i32,
23658 OPC_CheckPatternPredicate0,
23659 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
23660 MVT::v4i32, 2, 0, 1,
23661 8, MVT::v2i64,
23662 OPC_CheckPatternPredicate0,
23663 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
23664 MVT::v2i64, 2, 0, 1,
23665 0,
23666 0,
23667 4|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHR_S),
23668 OPC_RecordChild0,
23669 OPC_Scope, 84,
23670 OPC_MoveChild1,
23671 OPC_Scope, 24,
23672 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
23673 OPC_MoveChild0,
23674 OPC_CheckAndImm, 63,
23675 OPC_RecordChild0,
23676 OPC_MoveParent,
23677 OPC_MoveParent,
23678 OPC_CheckType, MVT::v2i64,
23679 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
23680 MVT::i32, 1, 1,
23681 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
23682 MVT::v2i64, 2, 0, 2,
23683 13,
23684 OPC_CheckAndImm, 7,
23685 OPC_RecordChild0,
23686 OPC_MoveParent,
23687 OPC_CheckType, MVT::v16i8,
23688 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
23689 MVT::v16i8, 2, 0, 1,
23690 13,
23691 OPC_CheckAndImm, 15,
23692 OPC_RecordChild0,
23693 OPC_MoveParent,
23694 OPC_CheckType, MVT::v8i16,
23695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
23696 MVT::v8i16, 2, 0, 1,
23697 13,
23698 OPC_CheckAndImm, 31,
23699 OPC_RecordChild0,
23700 OPC_MoveParent,
23701 OPC_CheckType, MVT::v4i32,
23702 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
23703 MVT::v4i32, 2, 0, 1,
23704 13,
23705 OPC_CheckAndImm, 63,
23706 OPC_RecordChild0,
23707 OPC_MoveParent,
23708 OPC_CheckType, MVT::v2i64,
23709 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
23710 MVT::v2i64, 2, 0, 1,
23711 0,
23712 43,
23713 OPC_RecordChild1,
23714 OPC_SwitchType , 8, MVT::v16i8,
23715 OPC_CheckPatternPredicate0,
23716 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
23717 MVT::v16i8, 2, 0, 1,
23718 8, MVT::v8i16,
23719 OPC_CheckPatternPredicate0,
23720 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
23721 MVT::v8i16, 2, 0, 1,
23722 8, MVT::v4i32,
23723 OPC_CheckPatternPredicate0,
23724 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
23725 MVT::v4i32, 2, 0, 1,
23726 8, MVT::v2i64,
23727 OPC_CheckPatternPredicate0,
23728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
23729 MVT::v2i64, 2, 0, 1,
23730 0,
23731 0,
23732 114|128,12, TARGET_VAL(ISD::VSELECT),
23733 OPC_Scope, 66|128,1,
23734 OPC_MoveChild0,
23735 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
23736 OPC_MoveChild0,
23737 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23738 OPC_RecordChild0,
23739 OPC_SwitchType , 67, 6|128,1,
23740 OPC_CheckChild0Type, MVT::v4i32,
23741 OPC_MoveSibling1,
23742 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23743 OPC_RecordChild0,
23744 OPC_CheckChild0Type, MVT::v4i32,
23745 OPC_MoveParent,
23746 OPC_CheckChild2CondCode, ISD::SETOLT,
23747 OPC_MoveParent,
23748 OPC_CheckType, MVT::v4i32,
23749 OPC_Scope, 12,
23750 OPC_CheckChild1Same, 0,
23751 OPC_CheckChild2Same, 1,
23752 OPC_CheckPatternPredicate5,
23753 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23754 MVT::v4i32, 2, 1, 0,
23755 12,
23756 OPC_CheckChild1Same, 1,
23757 OPC_CheckChild2Same, 0,
23758 OPC_CheckPatternPredicate5,
23759 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23760 MVT::v4i32, 2, 0, 1,
23761 11,
23762 OPC_CheckChild1Same, 0,
23763 OPC_CheckChild2Same, 1,
23764 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23765 MVT::v4i32, 2, 1, 0,
23766 11,
23767 OPC_CheckChild1Same, 1,
23768 OPC_CheckChild2Same, 0,
23769 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
23770 MVT::v4i32, 2, 0, 1,
23771 0,
23772 67, 24|128,1,
23773 OPC_CheckChild0Type, MVT::v2i64,
23774 OPC_MoveSibling1,
23775 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23776 OPC_RecordChild0,
23777 OPC_CheckChild0Type, MVT::v2i64,
23778 OPC_MoveParent,
23779 OPC_CheckChild2CondCode, ISD::SETOLT,
23780 OPC_MoveParent,
23781 OPC_CheckType, MVT::v2i64,
23782 OPC_Scope, 12,
23783 OPC_CheckChild1Same, 0,
23784 OPC_CheckChild2Same, 1,
23785 OPC_CheckPatternPredicate5,
23786 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
23787 MVT::v2i64, 2, 1, 0,
23788 12,
23789 OPC_CheckChild1Same, 1,
23790 OPC_CheckChild2Same, 0,
23791 OPC_CheckPatternPredicate5,
23792 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
23793 MVT::v2i64, 2, 0, 1,
23794 11,
23795 OPC_CheckChild1Same, 0,
23796 OPC_CheckChild2Same, 1,
23797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
23798 MVT::v2i64, 2, 1, 0,
23799 11,
23800 OPC_CheckChild1Same, 1,
23801 OPC_CheckChild2Same, 0,
23802 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
23803 MVT::v2i64, 2, 0, 1,
23804 0,
23805 41, MVT::v8f16,
23806 OPC_CheckChild0Type, MVT::v8i16,
23807 OPC_MoveSibling1,
23808 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
23809 OPC_RecordChild0,
23810 OPC_CheckChild0Type, MVT::v8i16,
23811 OPC_MoveParent,
23812 OPC_CheckChild2CondCode, ISD::SETOLT,
23813 OPC_MoveParent,
23814 OPC_CheckType, MVT::v8i16,
23815 OPC_Scope, 11,
23816 OPC_CheckChild1Same, 0,
23817 OPC_CheckChild2Same, 1,
23818 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
23819 MVT::v8i16, 2, 1, 0,
23820 11,
23821 OPC_CheckChild1Same, 1,
23822 OPC_CheckChild2Same, 0,
23823 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
23824 MVT::v8i16, 2, 0, 1,
23825 0,
23826 0,
23827 45,
23828 OPC_RecordChild0,
23829 OPC_RecordChild1,
23830 OPC_RecordChild2,
23831 OPC_SwitchType , 8, MVT::v16i8,
23832 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
23833 MVT::v16i8, 3, 1, 2, 0,
23834 8, MVT::v8i16,
23835 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
23836 MVT::v8i16, 3, 1, 2, 0,
23837 8, MVT::v4i32,
23838 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
23839 MVT::v4i32, 3, 1, 2, 0,
23840 8, MVT::v2i64,
23841 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
23842 MVT::v2i64, 3, 1, 2, 0,
23843 0,
23844 94|128,10,
23845 OPC_MoveChild0,
23846 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
23847 OPC_RecordChild0,
23848 OPC_Scope, 30|128,4,
23849 OPC_CheckChild0Type, 6|128,1,
23850 OPC_RecordChild1,
23851 OPC_Scope, 66,
23852 OPC_CheckChild2CondCode, ISD::SETOLT,
23853 OPC_MoveParent,
23854 OPC_CheckType, 6|128,1,
23855 OPC_Scope, 14,
23856 OPC_CheckChild1Same, 0,
23857 OPC_CheckChild2Same, 1,
23858 OPC_CheckPredicate4,
23859 OPC_CheckPatternPredicate5,
23860 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23861 6|128,1, 2, 1, 0,
23862 14,
23863 OPC_CheckChild1Same, 1,
23864 OPC_CheckChild2Same, 0,
23865 OPC_CheckPredicate4,
23866 OPC_CheckPatternPredicate5,
23867 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23868 6|128,1, 2, 0, 1,
23869 13,
23870 OPC_CheckChild1Same, 0,
23871 OPC_CheckChild2Same, 1,
23872 OPC_CheckPatternPredicate0,
23873 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23874 6|128,1, 2, 1, 0,
23875 13,
23876 OPC_CheckChild1Same, 1,
23877 OPC_CheckChild2Same, 0,
23878 OPC_CheckPatternPredicate0,
23879 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
23880 6|128,1, 2, 0, 1,
23881 0,
23882 66,
23883 OPC_CheckChild2CondCode, ISD::SETOLE,
23884 OPC_MoveParent,
23885 OPC_CheckType, 6|128,1,
23886 OPC_Scope, 14,
23887 OPC_CheckChild1Same, 0,
23888 OPC_CheckChild2Same, 1,
23889 OPC_CheckPredicate4,
23890 OPC_CheckPatternPredicate5,
23891 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23892 6|128,1, 2, 1, 0,
23893 14,
23894 OPC_CheckChild1Same, 1,
23895 OPC_CheckChild2Same, 0,
23896 OPC_CheckPredicate4,
23897 OPC_CheckPatternPredicate5,
23898 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23899 6|128,1, 2, 0, 1,
23900 13,
23901 OPC_CheckChild1Same, 0,
23902 OPC_CheckChild2Same, 1,
23903 OPC_CheckPatternPredicate0,
23904 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23905 6|128,1, 2, 1, 0,
23906 13,
23907 OPC_CheckChild1Same, 1,
23908 OPC_CheckChild2Same, 0,
23909 OPC_CheckPatternPredicate0,
23910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
23911 6|128,1, 2, 0, 1,
23912 0,
23913 66,
23914 OPC_CheckChild2CondCode, ISD::SETOGT,
23915 OPC_MoveParent,
23916 OPC_CheckType, 6|128,1,
23917 OPC_Scope, 14,
23918 OPC_CheckChild1Same, 1,
23919 OPC_CheckChild2Same, 0,
23920 OPC_CheckPredicate4,
23921 OPC_CheckPatternPredicate5,
23922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23923 6|128,1, 2, 0, 1,
23924 14,
23925 OPC_CheckChild1Same, 0,
23926 OPC_CheckChild2Same, 1,
23927 OPC_CheckPredicate4,
23928 OPC_CheckPatternPredicate5,
23929 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23930 6|128,1, 2, 1, 0,
23931 13,
23932 OPC_CheckChild1Same, 1,
23933 OPC_CheckChild2Same, 0,
23934 OPC_CheckPatternPredicate0,
23935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23936 6|128,1, 2, 0, 1,
23937 13,
23938 OPC_CheckChild1Same, 0,
23939 OPC_CheckChild2Same, 1,
23940 OPC_CheckPatternPredicate0,
23941 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
23942 6|128,1, 2, 1, 0,
23943 0,
23944 66,
23945 OPC_CheckChild2CondCode, ISD::SETOGE,
23946 OPC_MoveParent,
23947 OPC_CheckType, 6|128,1,
23948 OPC_Scope, 14,
23949 OPC_CheckChild1Same, 1,
23950 OPC_CheckChild2Same, 0,
23951 OPC_CheckPredicate4,
23952 OPC_CheckPatternPredicate5,
23953 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23954 6|128,1, 2, 0, 1,
23955 14,
23956 OPC_CheckChild1Same, 0,
23957 OPC_CheckChild2Same, 1,
23958 OPC_CheckPredicate4,
23959 OPC_CheckPatternPredicate5,
23960 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23961 6|128,1, 2, 1, 0,
23962 13,
23963 OPC_CheckChild1Same, 1,
23964 OPC_CheckChild2Same, 0,
23965 OPC_CheckPatternPredicate0,
23966 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23967 6|128,1, 2, 0, 1,
23968 13,
23969 OPC_CheckChild1Same, 0,
23970 OPC_CheckChild2Same, 1,
23971 OPC_CheckPatternPredicate0,
23972 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
23973 6|128,1, 2, 1, 0,
23974 0,
23975 66,
23976 OPC_CheckChild2CondCode, ISD::SETLT,
23977 OPC_MoveParent,
23978 OPC_CheckType, 6|128,1,
23979 OPC_Scope, 14,
23980 OPC_CheckChild1Same, 0,
23981 OPC_CheckChild2Same, 1,
23982 OPC_CheckPredicate4,
23983 OPC_CheckPatternPredicate5,
23984 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
23985 6|128,1, 2, 0, 1,
23986 14,
23987 OPC_CheckChild1Same, 1,
23988 OPC_CheckChild2Same, 0,
23989 OPC_CheckPredicate4,
23990 OPC_CheckPatternPredicate5,
23991 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
23992 6|128,1, 2, 0, 1,
23993 13,
23994 OPC_CheckChild1Same, 0,
23995 OPC_CheckChild2Same, 1,
23996 OPC_CheckPatternPredicate0,
23997 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
23998 6|128,1, 2, 0, 1,
23999 13,
24000 OPC_CheckChild1Same, 1,
24001 OPC_CheckChild2Same, 0,
24002 OPC_CheckPatternPredicate0,
24003 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
24004 6|128,1, 2, 0, 1,
24005 0,
24006 66,
24007 OPC_CheckChild2CondCode, ISD::SETLE,
24008 OPC_MoveParent,
24009 OPC_CheckType, 6|128,1,
24010 OPC_Scope, 14,
24011 OPC_CheckChild1Same, 0,
24012 OPC_CheckChild2Same, 1,
24013 OPC_CheckPredicate4,
24014 OPC_CheckPatternPredicate5,
24015 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
24016 6|128,1, 2, 0, 1,
24017 14,
24018 OPC_CheckChild1Same, 1,
24019 OPC_CheckChild2Same, 0,
24020 OPC_CheckPredicate4,
24021 OPC_CheckPatternPredicate5,
24022 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
24023 6|128,1, 2, 0, 1,
24024 13,
24025 OPC_CheckChild1Same, 0,
24026 OPC_CheckChild2Same, 1,
24027 OPC_CheckPatternPredicate0,
24028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
24029 6|128,1, 2, 0, 1,
24030 13,
24031 OPC_CheckChild1Same, 1,
24032 OPC_CheckChild2Same, 0,
24033 OPC_CheckPatternPredicate0,
24034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
24035 6|128,1, 2, 0, 1,
24036 0,
24037 66,
24038 OPC_CheckChild2CondCode, ISD::SETGT,
24039 OPC_MoveParent,
24040 OPC_CheckType, 6|128,1,
24041 OPC_Scope, 14,
24042 OPC_CheckChild1Same, 1,
24043 OPC_CheckChild2Same, 0,
24044 OPC_CheckPredicate4,
24045 OPC_CheckPatternPredicate5,
24046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
24047 6|128,1, 2, 0, 1,
24048 14,
24049 OPC_CheckChild1Same, 0,
24050 OPC_CheckChild2Same, 1,
24051 OPC_CheckPredicate4,
24052 OPC_CheckPatternPredicate5,
24053 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
24054 6|128,1, 2, 0, 1,
24055 13,
24056 OPC_CheckChild1Same, 1,
24057 OPC_CheckChild2Same, 0,
24058 OPC_CheckPatternPredicate0,
24059 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
24060 6|128,1, 2, 0, 1,
24061 13,
24062 OPC_CheckChild1Same, 0,
24063 OPC_CheckChild2Same, 1,
24064 OPC_CheckPatternPredicate0,
24065 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
24066 6|128,1, 2, 0, 1,
24067 0,
24068 66,
24069 OPC_CheckChild2CondCode, ISD::SETGE,
24070 OPC_MoveParent,
24071 OPC_CheckType, 6|128,1,
24072 OPC_Scope, 14,
24073 OPC_CheckChild1Same, 1,
24074 OPC_CheckChild2Same, 0,
24075 OPC_CheckPredicate4,
24076 OPC_CheckPatternPredicate5,
24077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
24078 6|128,1, 2, 0, 1,
24079 14,
24080 OPC_CheckChild1Same, 0,
24081 OPC_CheckChild2Same, 1,
24082 OPC_CheckPredicate4,
24083 OPC_CheckPatternPredicate5,
24084 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
24085 6|128,1, 2, 0, 1,
24086 13,
24087 OPC_CheckChild1Same, 1,
24088 OPC_CheckChild2Same, 0,
24089 OPC_CheckPatternPredicate0,
24090 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
24091 6|128,1, 2, 0, 1,
24092 13,
24093 OPC_CheckChild1Same, 0,
24094 OPC_CheckChild2Same, 1,
24095 OPC_CheckPatternPredicate0,
24096 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
24097 6|128,1, 2, 0, 1,
24098 0,
24099 0,
24100 30|128,4,
24101 OPC_CheckChild0Type, 24|128,1,
24102 OPC_RecordChild1,
24103 OPC_Scope, 66,
24104 OPC_CheckChild2CondCode, ISD::SETOLT,
24105 OPC_MoveParent,
24106 OPC_CheckType, 24|128,1,
24107 OPC_Scope, 14,
24108 OPC_CheckChild1Same, 0,
24109 OPC_CheckChild2Same, 1,
24110 OPC_CheckPredicate4,
24111 OPC_CheckPatternPredicate5,
24112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24113 24|128,1, 2, 1, 0,
24114 14,
24115 OPC_CheckChild1Same, 1,
24116 OPC_CheckChild2Same, 0,
24117 OPC_CheckPredicate4,
24118 OPC_CheckPatternPredicate5,
24119 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24120 24|128,1, 2, 0, 1,
24121 13,
24122 OPC_CheckChild1Same, 0,
24123 OPC_CheckChild2Same, 1,
24124 OPC_CheckPatternPredicate0,
24125 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24126 24|128,1, 2, 1, 0,
24127 13,
24128 OPC_CheckChild1Same, 1,
24129 OPC_CheckChild2Same, 0,
24130 OPC_CheckPatternPredicate0,
24131 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24132 24|128,1, 2, 0, 1,
24133 0,
24134 66,
24135 OPC_CheckChild2CondCode, ISD::SETOLE,
24136 OPC_MoveParent,
24137 OPC_CheckType, 24|128,1,
24138 OPC_Scope, 14,
24139 OPC_CheckChild1Same, 0,
24140 OPC_CheckChild2Same, 1,
24141 OPC_CheckPredicate4,
24142 OPC_CheckPatternPredicate5,
24143 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24144 24|128,1, 2, 1, 0,
24145 14,
24146 OPC_CheckChild1Same, 1,
24147 OPC_CheckChild2Same, 0,
24148 OPC_CheckPredicate4,
24149 OPC_CheckPatternPredicate5,
24150 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24151 24|128,1, 2, 0, 1,
24152 13,
24153 OPC_CheckChild1Same, 0,
24154 OPC_CheckChild2Same, 1,
24155 OPC_CheckPatternPredicate0,
24156 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24157 24|128,1, 2, 1, 0,
24158 13,
24159 OPC_CheckChild1Same, 1,
24160 OPC_CheckChild2Same, 0,
24161 OPC_CheckPatternPredicate0,
24162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24163 24|128,1, 2, 0, 1,
24164 0,
24165 66,
24166 OPC_CheckChild2CondCode, ISD::SETOGT,
24167 OPC_MoveParent,
24168 OPC_CheckType, 24|128,1,
24169 OPC_Scope, 14,
24170 OPC_CheckChild1Same, 1,
24171 OPC_CheckChild2Same, 0,
24172 OPC_CheckPredicate4,
24173 OPC_CheckPatternPredicate5,
24174 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24175 24|128,1, 2, 0, 1,
24176 14,
24177 OPC_CheckChild1Same, 0,
24178 OPC_CheckChild2Same, 1,
24179 OPC_CheckPredicate4,
24180 OPC_CheckPatternPredicate5,
24181 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24182 24|128,1, 2, 1, 0,
24183 13,
24184 OPC_CheckChild1Same, 1,
24185 OPC_CheckChild2Same, 0,
24186 OPC_CheckPatternPredicate0,
24187 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24188 24|128,1, 2, 0, 1,
24189 13,
24190 OPC_CheckChild1Same, 0,
24191 OPC_CheckChild2Same, 1,
24192 OPC_CheckPatternPredicate0,
24193 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24194 24|128,1, 2, 1, 0,
24195 0,
24196 66,
24197 OPC_CheckChild2CondCode, ISD::SETOGE,
24198 OPC_MoveParent,
24199 OPC_CheckType, 24|128,1,
24200 OPC_Scope, 14,
24201 OPC_CheckChild1Same, 1,
24202 OPC_CheckChild2Same, 0,
24203 OPC_CheckPredicate4,
24204 OPC_CheckPatternPredicate5,
24205 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24206 24|128,1, 2, 0, 1,
24207 14,
24208 OPC_CheckChild1Same, 0,
24209 OPC_CheckChild2Same, 1,
24210 OPC_CheckPredicate4,
24211 OPC_CheckPatternPredicate5,
24212 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24213 24|128,1, 2, 1, 0,
24214 13,
24215 OPC_CheckChild1Same, 1,
24216 OPC_CheckChild2Same, 0,
24217 OPC_CheckPatternPredicate0,
24218 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24219 24|128,1, 2, 0, 1,
24220 13,
24221 OPC_CheckChild1Same, 0,
24222 OPC_CheckChild2Same, 1,
24223 OPC_CheckPatternPredicate0,
24224 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24225 24|128,1, 2, 1, 0,
24226 0,
24227 66,
24228 OPC_CheckChild2CondCode, ISD::SETLT,
24229 OPC_MoveParent,
24230 OPC_CheckType, 24|128,1,
24231 OPC_Scope, 14,
24232 OPC_CheckChild1Same, 0,
24233 OPC_CheckChild2Same, 1,
24234 OPC_CheckPredicate4,
24235 OPC_CheckPatternPredicate5,
24236 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24237 24|128,1, 2, 0, 1,
24238 14,
24239 OPC_CheckChild1Same, 1,
24240 OPC_CheckChild2Same, 0,
24241 OPC_CheckPredicate4,
24242 OPC_CheckPatternPredicate5,
24243 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24244 24|128,1, 2, 0, 1,
24245 13,
24246 OPC_CheckChild1Same, 0,
24247 OPC_CheckChild2Same, 1,
24248 OPC_CheckPatternPredicate0,
24249 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24250 24|128,1, 2, 0, 1,
24251 13,
24252 OPC_CheckChild1Same, 1,
24253 OPC_CheckChild2Same, 0,
24254 OPC_CheckPatternPredicate0,
24255 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24256 24|128,1, 2, 0, 1,
24257 0,
24258 66,
24259 OPC_CheckChild2CondCode, ISD::SETLE,
24260 OPC_MoveParent,
24261 OPC_CheckType, 24|128,1,
24262 OPC_Scope, 14,
24263 OPC_CheckChild1Same, 0,
24264 OPC_CheckChild2Same, 1,
24265 OPC_CheckPredicate4,
24266 OPC_CheckPatternPredicate5,
24267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24268 24|128,1, 2, 0, 1,
24269 14,
24270 OPC_CheckChild1Same, 1,
24271 OPC_CheckChild2Same, 0,
24272 OPC_CheckPredicate4,
24273 OPC_CheckPatternPredicate5,
24274 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24275 24|128,1, 2, 0, 1,
24276 13,
24277 OPC_CheckChild1Same, 0,
24278 OPC_CheckChild2Same, 1,
24279 OPC_CheckPatternPredicate0,
24280 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24281 24|128,1, 2, 0, 1,
24282 13,
24283 OPC_CheckChild1Same, 1,
24284 OPC_CheckChild2Same, 0,
24285 OPC_CheckPatternPredicate0,
24286 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24287 24|128,1, 2, 0, 1,
24288 0,
24289 66,
24290 OPC_CheckChild2CondCode, ISD::SETGT,
24291 OPC_MoveParent,
24292 OPC_CheckType, 24|128,1,
24293 OPC_Scope, 14,
24294 OPC_CheckChild1Same, 1,
24295 OPC_CheckChild2Same, 0,
24296 OPC_CheckPredicate4,
24297 OPC_CheckPatternPredicate5,
24298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24299 24|128,1, 2, 0, 1,
24300 14,
24301 OPC_CheckChild1Same, 0,
24302 OPC_CheckChild2Same, 1,
24303 OPC_CheckPredicate4,
24304 OPC_CheckPatternPredicate5,
24305 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24306 24|128,1, 2, 0, 1,
24307 13,
24308 OPC_CheckChild1Same, 1,
24309 OPC_CheckChild2Same, 0,
24310 OPC_CheckPatternPredicate0,
24311 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24312 24|128,1, 2, 0, 1,
24313 13,
24314 OPC_CheckChild1Same, 0,
24315 OPC_CheckChild2Same, 1,
24316 OPC_CheckPatternPredicate0,
24317 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24318 24|128,1, 2, 0, 1,
24319 0,
24320 66,
24321 OPC_CheckChild2CondCode, ISD::SETGE,
24322 OPC_MoveParent,
24323 OPC_CheckType, 24|128,1,
24324 OPC_Scope, 14,
24325 OPC_CheckChild1Same, 1,
24326 OPC_CheckChild2Same, 0,
24327 OPC_CheckPredicate4,
24328 OPC_CheckPatternPredicate5,
24329 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
24330 24|128,1, 2, 0, 1,
24331 14,
24332 OPC_CheckChild1Same, 0,
24333 OPC_CheckChild2Same, 1,
24334 OPC_CheckPredicate4,
24335 OPC_CheckPatternPredicate5,
24336 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
24337 24|128,1, 2, 0, 1,
24338 13,
24339 OPC_CheckChild1Same, 1,
24340 OPC_CheckChild2Same, 0,
24341 OPC_CheckPatternPredicate0,
24342 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
24343 24|128,1, 2, 0, 1,
24344 13,
24345 OPC_CheckChild1Same, 0,
24346 OPC_CheckChild2Same, 1,
24347 OPC_CheckPatternPredicate0,
24348 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
24349 24|128,1, 2, 0, 1,
24350 0,
24351 0,
24352 21|128,2,
24353 OPC_CheckChild0Type, MVT::v8f16,
24354 OPC_RecordChild1,
24355 OPC_Scope, 33,
24356 OPC_CheckChild2CondCode, ISD::SETOLT,
24357 OPC_MoveParent,
24358 OPC_CheckType, MVT::v8f16,
24359 OPC_Scope, 12,
24360 OPC_CheckChild1Same, 0,
24361 OPC_CheckChild2Same, 1,
24362 OPC_CheckPatternPredicate6,
24363 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24364 MVT::v8f16, 2, 1, 0,
24365 12,
24366 OPC_CheckChild1Same, 1,
24367 OPC_CheckChild2Same, 0,
24368 OPC_CheckPatternPredicate6,
24369 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24370 MVT::v8f16, 2, 0, 1,
24371 0,
24372 33,
24373 OPC_CheckChild2CondCode, ISD::SETOLE,
24374 OPC_MoveParent,
24375 OPC_CheckType, MVT::v8f16,
24376 OPC_Scope, 12,
24377 OPC_CheckChild1Same, 0,
24378 OPC_CheckChild2Same, 1,
24379 OPC_CheckPatternPredicate6,
24380 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24381 MVT::v8f16, 2, 1, 0,
24382 12,
24383 OPC_CheckChild1Same, 1,
24384 OPC_CheckChild2Same, 0,
24385 OPC_CheckPatternPredicate6,
24386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24387 MVT::v8f16, 2, 0, 1,
24388 0,
24389 33,
24390 OPC_CheckChild2CondCode, ISD::SETOGT,
24391 OPC_MoveParent,
24392 OPC_CheckType, MVT::v8f16,
24393 OPC_Scope, 12,
24394 OPC_CheckChild1Same, 1,
24395 OPC_CheckChild2Same, 0,
24396 OPC_CheckPatternPredicate6,
24397 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24398 MVT::v8f16, 2, 0, 1,
24399 12,
24400 OPC_CheckChild1Same, 0,
24401 OPC_CheckChild2Same, 1,
24402 OPC_CheckPatternPredicate6,
24403 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24404 MVT::v8f16, 2, 1, 0,
24405 0,
24406 33,
24407 OPC_CheckChild2CondCode, ISD::SETOGE,
24408 OPC_MoveParent,
24409 OPC_CheckType, MVT::v8f16,
24410 OPC_Scope, 12,
24411 OPC_CheckChild1Same, 1,
24412 OPC_CheckChild2Same, 0,
24413 OPC_CheckPatternPredicate6,
24414 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24415 MVT::v8f16, 2, 0, 1,
24416 12,
24417 OPC_CheckChild1Same, 0,
24418 OPC_CheckChild2Same, 1,
24419 OPC_CheckPatternPredicate6,
24420 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24421 MVT::v8f16, 2, 1, 0,
24422 0,
24423 33,
24424 OPC_CheckChild2CondCode, ISD::SETLT,
24425 OPC_MoveParent,
24426 OPC_CheckType, MVT::v8f16,
24427 OPC_Scope, 12,
24428 OPC_CheckChild1Same, 0,
24429 OPC_CheckChild2Same, 1,
24430 OPC_CheckPatternPredicate6,
24431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24432 MVT::v8f16, 2, 0, 1,
24433 12,
24434 OPC_CheckChild1Same, 1,
24435 OPC_CheckChild2Same, 0,
24436 OPC_CheckPatternPredicate6,
24437 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24438 MVT::v8f16, 2, 0, 1,
24439 0,
24440 33,
24441 OPC_CheckChild2CondCode, ISD::SETLE,
24442 OPC_MoveParent,
24443 OPC_CheckType, MVT::v8f16,
24444 OPC_Scope, 12,
24445 OPC_CheckChild1Same, 0,
24446 OPC_CheckChild2Same, 1,
24447 OPC_CheckPatternPredicate6,
24448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24449 MVT::v8f16, 2, 0, 1,
24450 12,
24451 OPC_CheckChild1Same, 1,
24452 OPC_CheckChild2Same, 0,
24453 OPC_CheckPatternPredicate6,
24454 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24455 MVT::v8f16, 2, 0, 1,
24456 0,
24457 33,
24458 OPC_CheckChild2CondCode, ISD::SETGT,
24459 OPC_MoveParent,
24460 OPC_CheckType, MVT::v8f16,
24461 OPC_Scope, 12,
24462 OPC_CheckChild1Same, 1,
24463 OPC_CheckChild2Same, 0,
24464 OPC_CheckPatternPredicate6,
24465 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24466 MVT::v8f16, 2, 0, 1,
24467 12,
24468 OPC_CheckChild1Same, 0,
24469 OPC_CheckChild2Same, 1,
24470 OPC_CheckPatternPredicate6,
24471 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24472 MVT::v8f16, 2, 0, 1,
24473 0,
24474 33,
24475 OPC_CheckChild2CondCode, ISD::SETGE,
24476 OPC_MoveParent,
24477 OPC_CheckType, MVT::v8f16,
24478 OPC_Scope, 12,
24479 OPC_CheckChild1Same, 1,
24480 OPC_CheckChild2Same, 0,
24481 OPC_CheckPatternPredicate6,
24482 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
24483 MVT::v8f16, 2, 0, 1,
24484 12,
24485 OPC_CheckChild1Same, 0,
24486 OPC_CheckChild2Same, 1,
24487 OPC_CheckPatternPredicate6,
24488 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
24489 MVT::v8f16, 2, 0, 1,
24490 0,
24491 0,
24492 0,
24493 29,
24494 OPC_RecordChild0,
24495 OPC_RecordChild1,
24496 OPC_RecordChild2,
24497 OPC_SwitchType , 9, 6|128,1,
24498 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
24499 6|128,1, 3, 1, 2, 0,
24500 9, 24|128,1,
24501 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
24502 24|128,1, 3, 1, 2, 0,
24503 0,
24504 0,
24505 25|128,1, TARGET_VAL(ISD::PARTIAL_REDUCE_SMLA),
24506 OPC_RecordChild0,
24507 OPC_CheckChild0Type, MVT::v4i32,
24508 OPC_RecordChild1,
24509 OPC_Scope, 50,
24510 OPC_CheckChild1Type, MVT::v8i16,
24511 OPC_Scope, 25,
24512 OPC_MoveChild2,
24513 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
24514 OPC_CheckChild0Integer, 1,
24515 OPC_CheckChild0TypeI32,
24516 OPC_CheckType, MVT::v8i16,
24517 OPC_MoveParent,
24518 OPC_CheckType, MVT::v4i32,
24519 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
24520 MVT::v16i8, 1, 1,
24521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24522 MVT::v4i32, 2, 2, 0,
24523 19,
24524 OPC_RecordChild2,
24525 OPC_CheckChild2Type, MVT::v8i16,
24526 OPC_CheckType, MVT::v4i32,
24527 OPC_EmitNode1None, TARGET_VAL(WebAssembly::DOT),
24528 MVT::v16i8, 2, 1, 2,
24529 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24530 MVT::v4i32, 2, 3, 0,
24531 0,
24532 95,
24533 OPC_CheckChild1Type, MVT::v16i8,
24534 OPC_Scope, 31,
24535 OPC_MoveChild2,
24536 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
24537 OPC_CheckChild0Integer, 1,
24538 OPC_CheckChild0TypeI32,
24539 OPC_CheckType, MVT::v16i8,
24540 OPC_MoveParent,
24541 OPC_CheckType, MVT::v4i32,
24542 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
24543 MVT::v16i8, 1, 1,
24544 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
24545 MVT::v16i8, 1, 2,
24546 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24547 MVT::v4i32, 2, 3, 0,
24548 58,
24549 OPC_RecordChild2,
24550 OPC_CheckChild2Type, MVT::v16i8,
24551 OPC_CheckType, MVT::v4i32,
24552 OPC_Scope, 9,
24553 OPC_CheckPatternPredicate5,
24554 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
24555 MVT::v4i32, 3, 1, 2, 0,
24556 40,
24557 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8),
24558 MVT::v16i8, 2, 1, 2,
24559 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
24560 MVT::v16i8, 1, 3,
24561 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8),
24562 MVT::v16i8, 2, 1, 2,
24563 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
24564 MVT::v16i8, 1, 5,
24565 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24566 MVT::v16i8, 2, 4, 6,
24567 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24568 MVT::v4i32, 2, 7, 0,
24569 0,
24570 0,
24571 0,
24572 26|128,1, TARGET_VAL(ISD::PARTIAL_REDUCE_UMLA),
24573 OPC_RecordChild0,
24574 OPC_CheckChild0Type, MVT::v4i32,
24575 OPC_RecordChild1,
24576 OPC_Scope, 64,
24577 OPC_CheckChild1Type, MVT::v8i16,
24578 OPC_Scope, 25,
24579 OPC_MoveChild2,
24580 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
24581 OPC_CheckChild0Integer, 1,
24582 OPC_CheckChild0TypeI32,
24583 OPC_CheckType, MVT::v8i16,
24584 OPC_MoveParent,
24585 OPC_CheckType, MVT::v4i32,
24586 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
24587 MVT::v16i8, 1, 1,
24588 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24589 MVT::v4i32, 2, 2, 0,
24590 33,
24591 OPC_RecordChild2,
24592 OPC_CheckChild2Type, MVT::v8i16,
24593 OPC_CheckType, MVT::v4i32,
24594 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4),
24595 MVT::v16i8, 2, 1, 2,
24596 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4),
24597 MVT::v16i8, 2, 1, 2,
24598 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24599 MVT::v16i8, 2, 3, 4,
24600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24601 MVT::v4i32, 2, 5, 0,
24602 0,
24603 82,
24604 OPC_CheckChild1Type, MVT::v16i8,
24605 OPC_Scope, 31,
24606 OPC_MoveChild2,
24607 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
24608 OPC_CheckChild0Integer, 1,
24609 OPC_CheckChild0TypeI32,
24610 OPC_CheckType, MVT::v16i8,
24611 OPC_MoveParent,
24612 OPC_CheckType, MVT::v4i32,
24613 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
24614 MVT::v16i8, 1, 1,
24615 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
24616 MVT::v16i8, 1, 2,
24617 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24618 MVT::v4i32, 2, 3, 0,
24619 45,
24620 OPC_RecordChild2,
24621 OPC_CheckChild2Type, MVT::v16i8,
24622 OPC_CheckType, MVT::v4i32,
24623 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8),
24624 MVT::v16i8, 2, 1, 2,
24625 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
24626 MVT::v16i8, 1, 3,
24627 OPC_EmitNode1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8),
24628 MVT::v16i8, 2, 1, 2,
24629 OPC_EmitNode1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
24630 MVT::v16i8, 1, 5,
24631 OPC_EmitNode1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24632 MVT::v16i8, 2, 4, 6,
24633 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
24634 MVT::v4i32, 2, 7, 0,
24635 0,
24636 0,
24637 16, TARGET_VAL(WebAssemblyISD::SWIZZLE),
24638 OPC_RecordChild0,
24639 OPC_CheckChild0Type, MVT::v16i8,
24640 OPC_RecordChild1,
24641 OPC_CheckChild1Type, MVT::v16i8,
24642 OPC_CheckType, MVT::v16i8,
24643 OPC_CheckPatternPredicate0,
24644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
24645 MVT::v16i8, 2, 0, 1,
24646 39, TARGET_VAL(ISD::ABS),
24647 OPC_RecordChild0,
24648 OPC_SwitchType , 7, MVT::v16i8,
24649 OPC_CheckPatternPredicate0,
24650 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I8x16),
24651 MVT::v16i8, 1, 0,
24652 7, MVT::v8i16,
24653 OPC_CheckPatternPredicate0,
24654 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I16x8),
24655 MVT::v8i16, 1, 0,
24656 7, MVT::v4i32,
24657 OPC_CheckPatternPredicate0,
24658 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I32x4),
24659 MVT::v4i32, 1, 0,
24660 7, MVT::v2i64,
24661 OPC_CheckPatternPredicate0,
24662 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I64x2),
24663 MVT::v2i64, 1, 0,
24664 0,
24665 24, TARGET_VAL(ISD::SADDSAT),
24666 OPC_RecordChild0,
24667 OPC_RecordChild1,
24668 OPC_SwitchType , 8, MVT::v16i8,
24669 OPC_CheckPatternPredicate0,
24670 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I8x16),
24671 MVT::v16i8, 2, 0, 1,
24672 8, MVT::v8i16,
24673 OPC_CheckPatternPredicate0,
24674 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I16x8),
24675 MVT::v8i16, 2, 0, 1,
24676 0,
24677 24, TARGET_VAL(ISD::UADDSAT),
24678 OPC_RecordChild0,
24679 OPC_RecordChild1,
24680 OPC_SwitchType , 8, MVT::v16i8,
24681 OPC_CheckPatternPredicate0,
24682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I8x16),
24683 MVT::v16i8, 2, 0, 1,
24684 8, MVT::v8i16,
24685 OPC_CheckPatternPredicate0,
24686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I16x8),
24687 MVT::v8i16, 2, 0, 1,
24688 0,
24689 24, TARGET_VAL(ISD::SSUBSAT),
24690 OPC_RecordChild0,
24691 OPC_RecordChild1,
24692 OPC_SwitchType , 8, MVT::v16i8,
24693 OPC_CheckPatternPredicate0,
24694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I8x16),
24695 MVT::v16i8, 2, 0, 1,
24696 8, MVT::v8i16,
24697 OPC_CheckPatternPredicate0,
24698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I16x8),
24699 MVT::v8i16, 2, 0, 1,
24700 0,
24701 24, TARGET_VAL(ISD::USUBSAT),
24702 OPC_RecordChild0,
24703 OPC_RecordChild1,
24704 OPC_SwitchType , 8, MVT::v16i8,
24705 OPC_CheckPatternPredicate0,
24706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I8x16),
24707 MVT::v16i8, 2, 0, 1,
24708 8, MVT::v8i16,
24709 OPC_CheckPatternPredicate0,
24710 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I16x8),
24711 MVT::v8i16, 2, 0, 1,
24712 0,
24713 34, TARGET_VAL(ISD::SMIN),
24714 OPC_RecordChild0,
24715 OPC_RecordChild1,
24716 OPC_SwitchType , 8, MVT::v16i8,
24717 OPC_CheckPatternPredicate0,
24718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I8x16),
24719 MVT::v16i8, 2, 0, 1,
24720 8, MVT::v8i16,
24721 OPC_CheckPatternPredicate0,
24722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I16x8),
24723 MVT::v8i16, 2, 0, 1,
24724 8, MVT::v4i32,
24725 OPC_CheckPatternPredicate0,
24726 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I32x4),
24727 MVT::v4i32, 2, 0, 1,
24728 0,
24729 34, TARGET_VAL(ISD::UMIN),
24730 OPC_RecordChild0,
24731 OPC_RecordChild1,
24732 OPC_SwitchType , 8, MVT::v16i8,
24733 OPC_CheckPatternPredicate0,
24734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I8x16),
24735 MVT::v16i8, 2, 0, 1,
24736 8, MVT::v8i16,
24737 OPC_CheckPatternPredicate0,
24738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I16x8),
24739 MVT::v8i16, 2, 0, 1,
24740 8, MVT::v4i32,
24741 OPC_CheckPatternPredicate0,
24742 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I32x4),
24743 MVT::v4i32, 2, 0, 1,
24744 0,
24745 34, TARGET_VAL(ISD::SMAX),
24746 OPC_RecordChild0,
24747 OPC_RecordChild1,
24748 OPC_SwitchType , 8, MVT::v16i8,
24749 OPC_CheckPatternPredicate0,
24750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I8x16),
24751 MVT::v16i8, 2, 0, 1,
24752 8, MVT::v8i16,
24753 OPC_CheckPatternPredicate0,
24754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I16x8),
24755 MVT::v8i16, 2, 0, 1,
24756 8, MVT::v4i32,
24757 OPC_CheckPatternPredicate0,
24758 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I32x4),
24759 MVT::v4i32, 2, 0, 1,
24760 0,
24761 34, TARGET_VAL(ISD::UMAX),
24762 OPC_RecordChild0,
24763 OPC_RecordChild1,
24764 OPC_SwitchType , 8, MVT::v16i8,
24765 OPC_CheckPatternPredicate0,
24766 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I8x16),
24767 MVT::v16i8, 2, 0, 1,
24768 8, MVT::v8i16,
24769 OPC_CheckPatternPredicate0,
24770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I16x8),
24771 MVT::v8i16, 2, 0, 1,
24772 8, MVT::v4i32,
24773 OPC_CheckPatternPredicate0,
24774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I32x4),
24775 MVT::v4i32, 2, 0, 1,
24776 0,
24777 22, TARGET_VAL(ISD::AVGCEILU),
24778 OPC_RecordChild0,
24779 OPC_RecordChild1,
24780 OPC_SwitchType , 7, MVT::v16i8,
24781 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
24782 MVT::v16i8, 2, 0, 1,
24783 7, MVT::v8i16,
24784 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
24785 MVT::v8i16, 2, 0, 1,
24786 0,
24787 9, TARGET_VAL(WebAssemblyISD::DOT),
24788 OPC_RecordChild0,
24789 OPC_RecordChild1,
24790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
24791 MVT::v4i32, 2, 0, 1,
24792 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_S),
24793 OPC_RecordChild0,
24794 OPC_CheckChild0Type, 24|128,1,
24795 OPC_CheckType, MVT::v4i32,
24796 OPC_CheckPatternPredicate0,
24797 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_s_I32x4),
24798 MVT::v4i32, 1, 0,
24799 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_U),
24800 OPC_RecordChild0,
24801 OPC_CheckChild0Type, 24|128,1,
24802 OPC_CheckType, MVT::v4i32,
24803 OPC_CheckPatternPredicate0,
24804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_u_I32x4),
24805 MVT::v4i32, 1, 0,
24806 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
24807 OPC_RecordChild0,
24808 OPC_SwitchType , 9, MVT::v8i16,
24809 OPC_CheckChild0Type, MVT::v16i8,
24810 OPC_CheckPatternPredicate0,
24811 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I16x8),
24812 MVT::v8i16, 1, 0,
24813 9, MVT::v4i32,
24814 OPC_CheckChild0Type, MVT::v8i16,
24815 OPC_CheckPatternPredicate0,
24816 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I32x4),
24817 MVT::v4i32, 1, 0,
24818 9, MVT::v2i64,
24819 OPC_CheckChild0Type, MVT::v4i32,
24820 OPC_CheckPatternPredicate0,
24821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I64x2),
24822 MVT::v2i64, 1, 0,
24823 0,
24824 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
24825 OPC_RecordChild0,
24826 OPC_SwitchType , 9, MVT::v8i16,
24827 OPC_CheckChild0Type, MVT::v16i8,
24828 OPC_CheckPatternPredicate0,
24829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I16x8),
24830 MVT::v8i16, 1, 0,
24831 9, MVT::v4i32,
24832 OPC_CheckChild0Type, MVT::v8i16,
24833 OPC_CheckPatternPredicate0,
24834 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I32x4),
24835 MVT::v4i32, 1, 0,
24836 9, MVT::v2i64,
24837 OPC_CheckChild0Type, MVT::v4i32,
24838 OPC_CheckPatternPredicate0,
24839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I64x2),
24840 MVT::v2i64, 1, 0,
24841 0,
24842 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
24843 OPC_RecordChild0,
24844 OPC_SwitchType , 9, MVT::v8i16,
24845 OPC_CheckChild0Type, MVT::v16i8,
24846 OPC_CheckPatternPredicate0,
24847 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I16x8),
24848 MVT::v8i16, 1, 0,
24849 9, MVT::v4i32,
24850 OPC_CheckChild0Type, MVT::v8i16,
24851 OPC_CheckPatternPredicate0,
24852 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I32x4),
24853 MVT::v4i32, 1, 0,
24854 9, MVT::v2i64,
24855 OPC_CheckChild0Type, MVT::v4i32,
24856 OPC_CheckPatternPredicate0,
24857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I64x2),
24858 MVT::v2i64, 1, 0,
24859 0,
24860 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
24861 OPC_RecordChild0,
24862 OPC_SwitchType , 9, MVT::v8i16,
24863 OPC_CheckChild0Type, MVT::v16i8,
24864 OPC_CheckPatternPredicate0,
24865 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I16x8),
24866 MVT::v8i16, 1, 0,
24867 9, MVT::v4i32,
24868 OPC_CheckChild0Type, MVT::v8i16,
24869 OPC_CheckPatternPredicate0,
24870 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I32x4),
24871 MVT::v4i32, 1, 0,
24872 9, MVT::v2i64,
24873 OPC_CheckChild0Type, MVT::v4i32,
24874 OPC_CheckPatternPredicate0,
24875 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I64x2),
24876 MVT::v2i64, 1, 0,
24877 0,
24878 25, TARGET_VAL(WebAssemblyISD::EXT_ADD_PAIRWISE_S),
24879 OPC_RecordChild0,
24880 OPC_SwitchType , 9, MVT::v8i16,
24881 OPC_CheckChild0Type, MVT::v16i8,
24882 OPC_CheckPatternPredicate0,
24883 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I16x8),
24884 MVT::v8i16, 1, 0,
24885 9, MVT::v4i32,
24886 OPC_CheckChild0Type, MVT::v8i16,
24887 OPC_CheckPatternPredicate0,
24888 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_s_I32x4),
24889 MVT::v4i32, 1, 0,
24890 0,
24891 25, TARGET_VAL(WebAssemblyISD::EXT_ADD_PAIRWISE_U),
24892 OPC_RecordChild0,
24893 OPC_SwitchType , 9, MVT::v8i16,
24894 OPC_CheckChild0Type, MVT::v16i8,
24895 OPC_CheckPatternPredicate0,
24896 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I16x8),
24897 MVT::v8i16, 1, 0,
24898 9, MVT::v4i32,
24899 OPC_CheckChild0Type, MVT::v8i16,
24900 OPC_CheckPatternPredicate0,
24901 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extadd_pairwise_u_I32x4),
24902 MVT::v4i32, 1, 0,
24903 0,
24904 110, TARGET_VAL(ISD::FMULADD),
24905 OPC_Scope, 36,
24906 OPC_MoveChild0,
24907 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
24908 OPC_RecordChild0,
24909 OPC_MoveParent,
24910 OPC_RecordChild1,
24911 OPC_RecordChild2,
24912 OPC_SwitchType , 10, 6|128,1,
24913 OPC_CheckPatternPredicate5,
24914 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
24915 6|128,1, 3, 0, 1, 2,
24916 10, 24|128,1,
24917 OPC_CheckPatternPredicate5,
24918 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
24919 24|128,1, 3, 0, 1, 2,
24920 0,
24921 70,
24922 OPC_RecordChild0,
24923 OPC_Scope, 35,
24924 OPC_MoveChild1,
24925 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
24926 OPC_RecordChild0,
24927 OPC_MoveParent,
24928 OPC_RecordChild2,
24929 OPC_SwitchType , 10, 6|128,1,
24930 OPC_CheckPatternPredicate5,
24931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
24932 6|128,1, 3, 1, 0, 2,
24933 10, 24|128,1,
24934 OPC_CheckPatternPredicate5,
24935 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
24936 24|128,1, 3, 1, 0, 2,
24937 0,
24938 30,
24939 OPC_RecordChild1,
24940 OPC_RecordChild2,
24941 OPC_SwitchType , 10, 6|128,1,
24942 OPC_CheckPatternPredicate5,
24943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
24944 6|128,1, 3, 0, 1, 2,
24945 10, 24|128,1,
24946 OPC_CheckPatternPredicate5,
24947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
24948 24|128,1, 3, 0, 1, 2,
24949 0,
24950 0,
24951 0,
24952 59, TARGET_VAL(ISD::FMA),
24953 OPC_Scope, 19,
24954 OPC_MoveChild0,
24955 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
24956 OPC_RecordChild0,
24957 OPC_MoveParent,
24958 OPC_RecordChild1,
24959 OPC_RecordChild2,
24960 OPC_CheckType, MVT::v8f16,
24961 OPC_CheckPatternPredicate6,
24962 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
24963 MVT::v8f16, 3, 0, 1, 2,
24964 36,
24965 OPC_RecordChild0,
24966 OPC_Scope, 18,
24967 OPC_MoveChild1,
24968 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
24969 OPC_RecordChild0,
24970 OPC_MoveParent,
24971 OPC_RecordChild2,
24972 OPC_CheckType, MVT::v8f16,
24973 OPC_CheckPatternPredicate6,
24974 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
24975 MVT::v8f16, 3, 1, 0, 2,
24976 13,
24977 OPC_RecordChild1,
24978 OPC_RecordChild2,
24979 OPC_CheckType, MVT::v8f16,
24980 OPC_CheckPatternPredicate6,
24981 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F16x8),
24982 MVT::v8f16, 3, 0, 1, 2,
24983 0,
24984 0,
24985 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_S),
24986 OPC_RecordChild0,
24987 OPC_CheckChild0Type, MVT::v4i32,
24988 OPC_CheckType, 24|128,1,
24989 OPC_CheckPatternPredicate0,
24990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_s_F64x2),
24991 24|128,1, 1, 0,
24992 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_U),
24993 OPC_RecordChild0,
24994 OPC_CheckChild0Type, MVT::v4i32,
24995 OPC_CheckType, 24|128,1,
24996 OPC_CheckPatternPredicate0,
24997 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_u_F64x2),
24998 24|128,1, 1, 0,
24999 15, TARGET_VAL(WebAssemblyISD::DEMOTE_ZERO),
25000 OPC_RecordChild0,
25001 OPC_CheckChild0Type, 24|128,1,
25002 OPC_CheckType, 6|128,1,
25003 OPC_CheckPatternPredicate0,
25004 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::demote_zero_F32x4),
25005 6|128,1, 1, 0,
25006 15, TARGET_VAL(WebAssemblyISD::PROMOTE_LOW),
25007 OPC_RecordChild0,
25008 OPC_CheckChild0Type, 6|128,1,
25009 OPC_CheckType, 24|128,1,
25010 OPC_CheckPatternPredicate0,
25011 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
25012 24|128,1, 1, 0,
25013 28, TARGET_VAL(WebAssemblyISD::RELAXED_FMIN),
25014 OPC_RecordChild0,
25015 OPC_RecordChild1,
25016 OPC_SwitchType , 9, 6|128,1,
25017 OPC_CheckPatternPredicate5,
25018 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
25019 6|128,1, 2, 0, 1,
25020 9, 24|128,1,
25021 OPC_CheckPatternPredicate5,
25022 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
25023 24|128,1, 2, 0, 1,
25024 0,
25025 28, TARGET_VAL(WebAssemblyISD::RELAXED_FMAX),
25026 OPC_RecordChild0,
25027 OPC_RecordChild1,
25028 OPC_SwitchType , 9, 6|128,1,
25029 OPC_CheckPatternPredicate5,
25030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
25031 6|128,1, 2, 0, 1,
25032 9, 24|128,1,
25033 OPC_CheckPatternPredicate5,
25034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
25035 24|128,1, 2, 0, 1,
25036 0,
25037 0,
25038 }; // Total Array size is 48345 bytes
25039
25040 #undef COVERAGE_IDX_VAL
25041 #undef TARGET_VAL
25042 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
25043}
25044#endif // GET_DAGISEL_BODY
25045
25046#ifdef GET_DAGISEL_DECL
25047bool CheckPatternPredicate(unsigned PredNo) const override;
25048#endif
25049#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25050bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
25051#if DAGISEL_INLINE
25052 override
25053#endif
25054{
25055 switch (PredNo) {
25056 default: llvm_unreachable("Invalid predicate in table?");
25057 case 0: return (Subtarget->hasSIMD128());
25058 case 1: return (!Subtarget->hasAddr64());
25059 case 2: return (Subtarget->hasAddr64());
25060 case 3: return (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
25061 case 4: return (Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
25062 case 5: return (Subtarget->hasRelaxedSIMD());
25063 case 6: return (Subtarget->hasFP16()) && (Subtarget->hasSIMD128());
25064 case 7: return (Subtarget->hasReferenceTypes());
25065 case 8: return (Subtarget->hasExceptionHandling()) && (Subtarget->hasReferenceTypes());
25066 case 9: return (Subtarget->hasNontrappingFPToInt());
25067 case 10: return (!Subtarget->hasNontrappingFPToInt());
25068 case 11: return (Subtarget->hasSignExt());
25069 case 12: return (Subtarget->hasBulkMemoryOpt());
25070 case 13: return (Subtarget->hasRelaxedSIMD()) && (Subtarget->hasSIMD128());
25071 case 14: return (!Subtarget->hasAddr64()) && (TM.isPositionIndependent());
25072 case 15: return (Subtarget->hasAddr64()) && (TM.isPositionIndependent());
25073 case 16: return (Subtarget->hasFP16());
25074 case 17: return (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
25075 case 18: return (Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
25076 case 19: return (Subtarget->hasExceptionHandling());
25077 }
25078}
25079#endif // GET_DAGISEL_BODY
25080
25081#ifdef GET_DAGISEL_DECL
25082bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
25083#endif
25084#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25085bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
25086#if DAGISEL_INLINE
25087 override
25088#endif
25089{
25090 switch (PredNo) {
25091 default: llvm_unreachable("Invalid predicate in table?");
25092 case 0: {
25093 // Predicate_LaneIdx32
25094 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25095return 0 <= Imm && Imm < 32;
25096 }
25097 case 1: {
25098 // Predicate_atomic_cmp_swap_i8
25099 // Predicate_atomic_load_add_i8
25100 // Predicate_atomic_load_aext_8
25101 // Predicate_atomic_load_and_i8
25102 // Predicate_atomic_load_or_i8
25103 // Predicate_atomic_load_sub_i8
25104 // Predicate_atomic_load_xor_i8
25105 // Predicate_atomic_load_zext_8
25106 // Predicate_atomic_store_8
25107 // Predicate_atomic_swap_i8
25108 // Predicate_extloadi8
25109 // Predicate_sextloadi8
25110 // Predicate_truncstorei8
25111 // Predicate_zextloadi8
25112 SDNode *N = Op.getNode();
25113 (void)N;
25114if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
25115return true;
25116
25117 }
25118 case 2: {
25119 // Predicate_atomic_cmp_swap_i16
25120 // Predicate_atomic_load_add_i16
25121 // Predicate_atomic_load_aext_16
25122 // Predicate_atomic_load_and_i16
25123 // Predicate_atomic_load_or_i16
25124 // Predicate_atomic_load_sub_i16
25125 // Predicate_atomic_load_xor_i16
25126 // Predicate_atomic_load_zext_16
25127 // Predicate_atomic_store_16
25128 // Predicate_atomic_swap_i16
25129 // Predicate_extloadi16
25130 // Predicate_sextloadi16
25131 // Predicate_truncstorei16
25132 // Predicate_zextloadi16
25133 SDNode *N = Op.getNode();
25134 (void)N;
25135if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
25136return true;
25137
25138 }
25139 case 3: {
25140 // Predicate_atomic_cmp_swap_i32
25141 // Predicate_atomic_load_add_i32
25142 // Predicate_atomic_load_and_i32
25143 // Predicate_atomic_load_nonext_32
25144 // Predicate_atomic_load_or_i32
25145 // Predicate_atomic_load_sub_i32
25146 // Predicate_atomic_load_xor_i32
25147 // Predicate_atomic_store_32
25148 // Predicate_atomic_swap_i32
25149 // Predicate_extloadi32
25150 // Predicate_sextloadi32
25151 // Predicate_truncstorei32
25152 // Predicate_zextloadi32
25153 SDNode *N = Op.getNode();
25154 (void)N;
25155if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
25156return true;
25157
25158 }
25159 case 4: {
25160 // Predicate_relaxed_pmax
25161 // Predicate_relaxed_pmin
25162 SDNode *N = Op.getNode();
25163 (void)N;
25164
25165 return (N->getFlags().hasNoNaNs() ||
25166 (CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 0)) &&
25167 CurDAG->isKnownNeverNaN(Op: N->getOperand(Num: 1)))) &&
25168 (N->getFlags().hasNoSignedZeros() ||
25169 CurDAG->isKnownNeverZeroFloat(Op: N->getOperand(Num: 0)) ||
25170 CurDAG->isKnownNeverZeroFloat(Op: N->getOperand(Num: 1)));
25171
25172 }
25173 case 5: {
25174 // Predicate_unindexedstore
25175 SDNode *N = Op.getNode();
25176 (void)N;
25177if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25178return true;
25179
25180 }
25181 case 6: {
25182 // Predicate_store
25183 SDNode *N = Op.getNode();
25184 (void)N;
25185 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25186return true;
25187
25188 }
25189 case 7: {
25190 // Predicate_load
25191 SDNode *N = Op.getNode();
25192 (void)N;
25193if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25194return true;
25195
25196 }
25197 case 8: {
25198 // Predicate_unindexedload
25199 SDNode *N = Op.getNode();
25200 (void)N;
25201if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
25202return true;
25203
25204 }
25205 case 9: {
25206 // Predicate_atomic_cmp_swap_i64
25207 // Predicate_atomic_load_add_i64
25208 // Predicate_atomic_load_and_i64
25209 // Predicate_atomic_load_nonext_64
25210 // Predicate_atomic_load_or_i64
25211 // Predicate_atomic_load_sub_i64
25212 // Predicate_atomic_load_xor_i64
25213 // Predicate_atomic_store_64
25214 // Predicate_atomic_swap_i64
25215 SDNode *N = Op.getNode();
25216 (void)N;
25217if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
25218return true;
25219
25220 }
25221 case 10: {
25222 // Predicate_ImmI8
25223 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25224return -(1 << (8 - 1)) <= Imm && Imm < (1 << 8);
25225 }
25226 case 11: {
25227 // Predicate_extload
25228 SDNode *N = Op.getNode();
25229 (void)N;
25230if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25231return true;
25232
25233 }
25234 case 12: {
25235 // Predicate_LaneIdx4
25236 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25237return 0 <= Imm && Imm < 4;
25238 }
25239 case 13: {
25240 // Predicate_LaneIdx2
25241 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25242return 0 <= Imm && Imm < 2;
25243 }
25244 case 14: {
25245 // Predicate_atomic_load_zext
25246 SDNode *N = Op.getNode();
25247 (void)N;
25248if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
25249return true;
25250
25251 }
25252 case 15: {
25253 // Predicate_LaneIdx8
25254 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25255return 0 <= Imm && Imm < 8;
25256 }
25257 case 16: {
25258 // Predicate_atomic_load_aext
25259 SDNode *N = Op.getNode();
25260 (void)N;
25261if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
25262return true;
25263
25264 }
25265 case 17: {
25266 // Predicate_truncstore
25267 SDNode *N = Op.getNode();
25268 (void)N;
25269 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
25270return true;
25271
25272 }
25273 case 18: {
25274 // Predicate_sextload
25275 SDNode *N = Op.getNode();
25276 (void)N;
25277if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
25278return true;
25279
25280 }
25281 case 19: {
25282 // Predicate_zextload
25283 SDNode *N = Op.getNode();
25284 (void)N;
25285if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
25286return true;
25287
25288 }
25289 case 20: {
25290 // Predicate_ImmI16
25291 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25292return -(1 << (16 - 1)) <= Imm && Imm < (1 << 16);
25293 }
25294 case 21: {
25295 // Predicate_LaneIdx16
25296 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
25297return 0 <= Imm && Imm < 16;
25298 }
25299 case 22: {
25300 // Predicate_extloadvi8
25301 // Predicate_sextloadvi8
25302 // Predicate_zextloadvi8
25303 SDNode *N = Op.getNode();
25304 (void)N;
25305if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i8) return false;
25306return true;
25307
25308 }
25309 case 23: {
25310 // Predicate_extloadvi16
25311 // Predicate_sextloadvi16
25312 // Predicate_zextloadvi16
25313 SDNode *N = Op.getNode();
25314 (void)N;
25315if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i16) return false;
25316return true;
25317
25318 }
25319 case 24: {
25320 // Predicate_extloadvi32
25321 // Predicate_sextloadvi32
25322 // Predicate_zextloadvi32
25323 SDNode *N = Op.getNode();
25324 (void)N;
25325if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i32) return false;
25326return true;
25327
25328 }
25329 case 25: {
25330 // Predicate_fadd_contract
25331 // Predicate_fmul_contract
25332 // Predicate_fsub_contract
25333 SDNode *N = Op.getNode();
25334 (void)N;
25335
25336 return N->getFlags().hasAllowContract();
25337
25338 }
25339 case 26: {
25340 // Predicate_atomic_load_nonext
25341 SDNode *N = Op.getNode();
25342 (void)N;
25343if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
25344return true;
25345
25346 }
25347 case 27: {
25348 // Predicate_add_nuw
25349 SDNode *N = Op.getNode();
25350 (void)N;
25351return N->getFlags().hasNoUnsignedWrap();
25352 }
25353 case 28: {
25354 // Predicate_bool_node
25355 SDNode *N = Op.getNode();
25356 (void)N;
25357
25358 return CurDAG->computeKnownBits(Op).countMinLeadingZeros() == 31;
25359
25360 }
25361 case 29: {
25362 // Predicate_fpimm0
25363 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
25364 (void)N;
25365
25366 return N->isExactlyValue(V: +0.0);
25367
25368 }
25369 }
25370}
25371#endif // GET_DAGISEL_BODY
25372
25373#ifdef GET_DAGISEL_DECL
25374bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
25375 SDValue N, unsigned PatternNo,
25376 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
25377#endif
25378#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
25379bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
25380 SDValue N, unsigned PatternNo,
25381 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
25382#if DAGISEL_INLINE
25383 override
25384#endif
25385{
25386 unsigned NextRes = Result.size();
25387 switch (PatternNo) {
25388 default: llvm_unreachable("Invalid pattern # in table?");
25389 case 0:
25390 Result.resize(N: NextRes+2);
25391 return SelectAddrOperands32(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
25392 case 1:
25393 Result.resize(N: NextRes+2);
25394 return SelectAddrOperands64(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
25395 }
25396}
25397#endif // GET_DAGISEL_BODY
25398
25399
25400#ifdef DAGISEL_INLINE
25401#undef DAGISEL_INLINE
25402#endif
25403#ifdef DAGISEL_CLASS_COLONCOLON
25404#undef DAGISEL_CLASS_COLONCOLON
25405#endif
25406#ifdef GET_DAGISEL_DECL
25407#undef GET_DAGISEL_DECL
25408#endif
25409#ifdef GET_DAGISEL_BODY
25410#undef GET_DAGISEL_BODY
25411#endif
25412