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 unsigned char 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_EmitInteger32, 0,
86 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
87 8, 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_EmitInteger32, 0,
96 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
97 8, 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_EmitInteger32, 0,
116 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
117 8, 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_EmitInteger32, 0,
126 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
127 8, 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_EmitInteger32, 0,
149 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
150 8, 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_EmitInteger32, 0,
166 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
167 8, 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_EmitInteger32, 0,
186 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
187 8, 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_EmitInteger32, 0,
195 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
196 8, 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_EmitInteger32, 0,
204 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
205 8, 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_EmitInteger32, 0,
220 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
221 8, 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_EmitInteger32, 0,
229 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
230 8, 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_EmitInteger32, 0,
238 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
239 8, 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_EmitInteger32, 0,
259 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
260 8, 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_EmitInteger32, 0,
268 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
269 8, 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_EmitInteger32, 0,
277 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
278 8, 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_EmitInteger32, 0,
293 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
294 8, 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_EmitInteger32, 0,
302 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
303 8, 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_EmitInteger32, 0,
311 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
312 8, 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_EmitInteger32, 0,
332 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
333 8, 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_EmitInteger32, 0,
341 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
342 8, 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_EmitInteger32, 0,
350 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
351 8, 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_EmitInteger32, 0,
366 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
367 8, 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_EmitInteger32, 0,
375 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
376 8, 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_EmitInteger32, 0,
384 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
385 8, 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_EmitInteger32, 0,
405 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
406 8, 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_EmitInteger32, 0,
414 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
415 8, 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_EmitInteger32, 0,
423 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
424 8, 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_EmitInteger32, 0,
439 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
440 8, 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_EmitInteger32, 0,
448 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
449 8, 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_EmitInteger32, 0,
457 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
458 8, 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_EmitInteger32, 0,
478 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
479 8, 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_EmitInteger32, 0,
487 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
488 8, 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_EmitInteger32, 0,
496 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
497 8, 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_EmitInteger32, 0,
512 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
513 8, 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_EmitInteger32, 0,
521 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
522 8, 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_EmitInteger32, 0,
530 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
531 8, 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_EmitInteger32, 0,
551 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
552 8, 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_EmitInteger32, 0,
560 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
561 8, 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_EmitInteger32, 0,
569 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
570 8, 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_EmitInteger32, 0,
585 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
586 8, 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_EmitInteger32, 0,
594 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
595 8, 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_EmitInteger32, 0,
603 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
604 8, 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, 15,
615 OPC_CheckPredicate1,
616 OPC_MoveParent,
617 OPC_CheckPatternPredicate1,
618 OPC_CheckComplexPat0, /*#*/1,
619 OPC_EmitMergeInputChains1_0,
620 OPC_EmitInteger32, 0,
621 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
622 8, 3, 4, 2, 3,
623 19,
624 OPC_CheckPredicate, 13,
625 OPC_CheckPredicate1,
626 OPC_MoveParent,
627 OPC_CheckPatternPredicate1,
628 OPC_CheckComplexPat0, /*#*/1,
629 OPC_EmitMergeInputChains1_0,
630 OPC_EmitInteger32, 0,
631 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
632 8, 3, 4, 2, 3,
633 19,
634 OPC_CheckPredicate, 15,
635 OPC_CheckPredicate2,
636 OPC_MoveParent,
637 OPC_CheckPatternPredicate1,
638 OPC_CheckComplexPat0, /*#*/1,
639 OPC_EmitMergeInputChains1_0,
640 OPC_EmitInteger32, 0,
641 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
642 8, 3, 4, 2, 3,
643 19,
644 OPC_CheckPredicate, 13,
645 OPC_CheckPredicate2,
646 OPC_MoveParent,
647 OPC_CheckPatternPredicate1,
648 OPC_CheckComplexPat0, /*#*/1,
649 OPC_EmitMergeInputChains1_0,
650 OPC_EmitInteger32, 0,
651 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
652 8, 3, 4, 2, 3,
653 19,
654 OPC_CheckPredicate, 24,
655 OPC_CheckPredicate3,
656 OPC_MoveParent,
657 OPC_CheckPatternPredicate1,
658 OPC_CheckComplexPat0, /*#*/1,
659 OPC_EmitMergeInputChains1_0,
660 OPC_EmitInteger32, 0,
661 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
662 8, 3, 4, 2, 3,
663 0,
664 103,
665 OPC_CheckChild1TypeI64,
666 OPC_Scope, 19,
667 OPC_CheckPredicate, 15,
668 OPC_CheckPredicate1,
669 OPC_MoveParent,
670 OPC_CheckPatternPredicate2,
671 OPC_CheckComplexPat1, /*#*/1,
672 OPC_EmitMergeInputChains1_0,
673 OPC_EmitInteger32, 0,
674 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
675 8, 3, 4, 2, 3,
676 19,
677 OPC_CheckPredicate, 13,
678 OPC_CheckPredicate1,
679 OPC_MoveParent,
680 OPC_CheckPatternPredicate2,
681 OPC_CheckComplexPat1, /*#*/1,
682 OPC_EmitMergeInputChains1_0,
683 OPC_EmitInteger32, 0,
684 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
685 8, 3, 4, 2, 3,
686 19,
687 OPC_CheckPredicate, 15,
688 OPC_CheckPredicate2,
689 OPC_MoveParent,
690 OPC_CheckPatternPredicate2,
691 OPC_CheckComplexPat1, /*#*/1,
692 OPC_EmitMergeInputChains1_0,
693 OPC_EmitInteger32, 0,
694 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
695 8, 3, 4, 2, 3,
696 19,
697 OPC_CheckPredicate, 13,
698 OPC_CheckPredicate2,
699 OPC_MoveParent,
700 OPC_CheckPatternPredicate2,
701 OPC_CheckComplexPat1, /*#*/1,
702 OPC_EmitMergeInputChains1_0,
703 OPC_EmitInteger32, 0,
704 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
705 8, 3, 4, 2, 3,
706 19,
707 OPC_CheckPredicate, 24,
708 OPC_CheckPredicate3,
709 OPC_MoveParent,
710 OPC_CheckPatternPredicate2,
711 OPC_CheckComplexPat1, /*#*/1,
712 OPC_EmitMergeInputChains1_0,
713 OPC_EmitInteger32, 0,
714 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
715 8, 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 8, 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_EmitInteger32, 0,
751 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
752 8, 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_EmitInteger32, 0,
761 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
762 8, 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_EmitInteger32, 0,
781 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
782 8, 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_EmitInteger32, 0,
791 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
792 8, 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_EmitInteger32, 0,
812 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
813 8, 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_EmitInteger32, 0,
821 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
822 8, 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_EmitInteger32, 0,
837 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
838 8, 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_EmitInteger32, 0,
846 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
847 8, 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_EmitInteger32, 0,
867 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
868 8, 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_EmitInteger32, 0,
876 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
877 8, 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_EmitInteger32, 0,
892 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
893 8, 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_EmitInteger32, 0,
901 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
902 8, 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_EmitInteger32, 0,
922 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
923 8, 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_EmitInteger32, 0,
931 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
932 8, 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_EmitInteger32, 0,
947 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
948 8, 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_EmitInteger32, 0,
956 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
957 8, 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_EmitInteger32, 0,
977 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
978 8, 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_EmitInteger32, 0,
986 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
987 8, 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_EmitInteger32, 0,
1002 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1003 8, 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_EmitInteger32, 0,
1011 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1012 8, 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_EmitInteger32, 0,
1032 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1033 8, 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_EmitInteger32, 0,
1041 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1042 8, 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_EmitInteger32, 0,
1057 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1058 8, 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_EmitInteger32, 0,
1066 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1067 8, 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_EmitInteger32, 0,
1087 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1088 8, 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_EmitInteger32, 0,
1096 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1097 8, 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_EmitInteger32, 0,
1112 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1113 8, 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_EmitInteger32, 0,
1121 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1122 8, 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, 15,
1133 OPC_CheckPredicate1,
1134 OPC_MoveParent,
1135 OPC_CheckPatternPredicate1,
1136 OPC_CheckComplexPat0, /*#*/1,
1137 OPC_EmitMergeInputChains1_0,
1138 OPC_EmitInteger32, 0,
1139 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1140 8, 3, 4, 2, 3,
1141 19,
1142 OPC_CheckPredicate, 13,
1143 OPC_CheckPredicate1,
1144 OPC_MoveParent,
1145 OPC_CheckPatternPredicate1,
1146 OPC_CheckComplexPat0, /*#*/1,
1147 OPC_EmitMergeInputChains1_0,
1148 OPC_EmitInteger32, 0,
1149 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1150 8, 3, 4, 2, 3,
1151 19,
1152 OPC_CheckPredicate, 15,
1153 OPC_CheckPredicate2,
1154 OPC_MoveParent,
1155 OPC_CheckPatternPredicate1,
1156 OPC_CheckComplexPat0, /*#*/1,
1157 OPC_EmitMergeInputChains1_0,
1158 OPC_EmitInteger32, 0,
1159 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1160 8, 3, 4, 2, 3,
1161 19,
1162 OPC_CheckPredicate, 13,
1163 OPC_CheckPredicate2,
1164 OPC_MoveParent,
1165 OPC_CheckPatternPredicate1,
1166 OPC_CheckComplexPat0, /*#*/1,
1167 OPC_EmitMergeInputChains1_0,
1168 OPC_EmitInteger32, 0,
1169 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1170 8, 3, 4, 2, 3,
1171 0,
1172 83,
1173 OPC_CheckChild1TypeI64,
1174 OPC_Scope, 19,
1175 OPC_CheckPredicate, 15,
1176 OPC_CheckPredicate1,
1177 OPC_MoveParent,
1178 OPC_CheckPatternPredicate2,
1179 OPC_CheckComplexPat1, /*#*/1,
1180 OPC_EmitMergeInputChains1_0,
1181 OPC_EmitInteger32, 0,
1182 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1183 8, 3, 4, 2, 3,
1184 19,
1185 OPC_CheckPredicate, 13,
1186 OPC_CheckPredicate1,
1187 OPC_MoveParent,
1188 OPC_CheckPatternPredicate2,
1189 OPC_CheckComplexPat1, /*#*/1,
1190 OPC_EmitMergeInputChains1_0,
1191 OPC_EmitInteger32, 0,
1192 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1193 8, 3, 4, 2, 3,
1194 19,
1195 OPC_CheckPredicate, 15,
1196 OPC_CheckPredicate2,
1197 OPC_MoveParent,
1198 OPC_CheckPatternPredicate2,
1199 OPC_CheckComplexPat1, /*#*/1,
1200 OPC_EmitMergeInputChains1_0,
1201 OPC_EmitInteger32, 0,
1202 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1203 8, 3, 4, 2, 3,
1204 19,
1205 OPC_CheckPredicate, 13,
1206 OPC_CheckPredicate2,
1207 OPC_MoveParent,
1208 OPC_CheckPatternPredicate2,
1209 OPC_CheckComplexPat1, /*#*/1,
1210 OPC_EmitMergeInputChains1_0,
1211 OPC_EmitInteger32, 0,
1212 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1213 8, 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 8, 1, 0,
1221 0,
1222 52|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, 40,
1231 OPC_RecordChild1,
1232 OPC_MoveChild1,
1233 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1234 OPC_CheckPredicate, 20,
1235 OPC_CheckTypeI32,
1236 OPC_MoveParent,
1237 OPC_CheckTypeI32,
1238 OPC_MoveParent,
1239 OPC_RecordChild2,
1240 OPC_Scope, 22,
1241 OPC_CheckChild2TypeI32,
1242 OPC_CheckPredicate4,
1243 OPC_CheckPredicate, 16,
1244 OPC_CheckPredicate1,
1245 OPC_CheckPatternPredicate1,
1246 OPC_CheckComplexPat0, /*#*/3,
1247 OPC_EmitMergeInputChains1_0,
1248 OPC_EmitInteger32, 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_CheckPredicate4,
1255 OPC_CheckPredicate, 16,
1256 OPC_CheckPredicate1,
1257 OPC_CheckPatternPredicate2,
1258 OPC_CheckComplexPat1, /*#*/3,
1259 OPC_EmitMergeInputChains1_0,
1260 OPC_EmitInteger32, 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, 51,
1267 OPC_RecordChild1,
1268 OPC_MoveChild1,
1269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1270 OPC_CheckPredicate, 14,
1271 OPC_CheckTypeI32,
1272 OPC_MoveParent,
1273 OPC_CheckTypeI32,
1274 OPC_MoveParent,
1275 OPC_RecordChild2,
1276 OPC_Scope, 22,
1277 OPC_CheckChild2TypeI32,
1278 OPC_CheckPredicate4,
1279 OPC_CheckPredicate, 16,
1280 OPC_CheckPredicate2,
1281 OPC_CheckPatternPredicate1,
1282 OPC_CheckComplexPat0, /*#*/3,
1283 OPC_EmitMergeInputChains1_0,
1284 OPC_EmitInteger32, 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_CheckPredicate4,
1291 OPC_CheckPredicate, 16,
1292 OPC_CheckPredicate2,
1293 OPC_CheckPatternPredicate2,
1294 OPC_CheckComplexPat1, /*#*/3,
1295 OPC_EmitMergeInputChains1_0,
1296 OPC_EmitInteger32, 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, 62,
1303 OPC_RecordChild1,
1304 OPC_MoveChild1,
1305 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1306 OPC_CheckPredicate, 11,
1307 OPC_CheckTypeI32,
1308 OPC_MoveParent,
1309 OPC_CheckTypeI32,
1310 OPC_MoveParent,
1311 OPC_RecordChild2,
1312 OPC_Scope, 20,
1313 OPC_CheckChild2TypeI32,
1314 OPC_CheckPredicate4,
1315 OPC_CheckPredicate5,
1316 OPC_CheckPatternPredicate1,
1317 OPC_CheckComplexPat0, /*#*/3,
1318 OPC_EmitMergeInputChains1_0,
1319 OPC_EmitInteger32, 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_CheckPredicate4,
1326 OPC_CheckPredicate5,
1327 OPC_CheckPatternPredicate2,
1328 OPC_CheckComplexPat1, /*#*/3,
1329 OPC_EmitMergeInputChains1_0,
1330 OPC_EmitInteger32, 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, 81,
1337 OPC_RecordChild1,
1338 OPC_MoveChild1,
1339 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1340 OPC_CheckPredicate, 12,
1341 OPC_CheckTypeI32,
1342 OPC_MoveParent,
1343 OPC_CheckTypeI64,
1344 OPC_MoveParent,
1345 OPC_RecordChild2,
1346 OPC_Scope, 20,
1347 OPC_CheckChild2TypeI32,
1348 OPC_CheckPredicate4,
1349 OPC_CheckPredicate5,
1350 OPC_CheckPatternPredicate1,
1351 OPC_CheckComplexPat0, /*#*/3,
1352 OPC_EmitMergeInputChains1_0,
1353 OPC_EmitInteger32, 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_CheckPredicate4,
1360 OPC_CheckPredicate5,
1361 OPC_CheckPatternPredicate2,
1362 OPC_CheckComplexPat1, /*#*/3,
1363 OPC_EmitMergeInputChains1_0,
1364 OPC_EmitInteger32, 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 49|128,5,
1371 OPC_RecordChild1,
1372 OPC_Scope, 126,
1373 OPC_CheckChild1TypeI32,
1374 OPC_RecordChild2,
1375 OPC_Scope, 60,
1376 OPC_CheckChild2TypeI32,
1377 OPC_CheckPredicate4,
1378 OPC_Scope, 16,
1379 OPC_CheckPredicate5,
1380 OPC_CheckPatternPredicate1,
1381 OPC_CheckComplexPat0, /*#*/2,
1382 OPC_EmitMergeInputChains1_0,
1383 OPC_EmitInteger32, 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, 16,
1388 OPC_Scope, 16,
1389 OPC_CheckPredicate1,
1390 OPC_CheckPatternPredicate1,
1391 OPC_CheckComplexPat0, /*#*/2,
1392 OPC_EmitMergeInputChains1_0,
1393 OPC_EmitInteger32, 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_EmitInteger32, 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_CheckPredicate4,
1409 OPC_Scope, 16,
1410 OPC_CheckPredicate5,
1411 OPC_CheckPatternPredicate2,
1412 OPC_CheckComplexPat1, /*#*/2,
1413 OPC_EmitMergeInputChains1_0,
1414 OPC_EmitInteger32, 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, 16,
1419 OPC_Scope, 16,
1420 OPC_CheckPredicate1,
1421 OPC_CheckPatternPredicate2,
1422 OPC_CheckComplexPat1, /*#*/2,
1423 OPC_EmitMergeInputChains1_0,
1424 OPC_EmitInteger32, 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_EmitInteger32, 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_CheckPredicate4,
1444 OPC_Scope, 16,
1445 OPC_CheckPredicate5,
1446 OPC_CheckPatternPredicate1,
1447 OPC_CheckComplexPat0, /*#*/2,
1448 OPC_EmitMergeInputChains1_0,
1449 OPC_EmitInteger32, 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, 16,
1454 OPC_Scope, 16,
1455 OPC_CheckPredicate1,
1456 OPC_CheckPatternPredicate1,
1457 OPC_CheckComplexPat0, /*#*/2,
1458 OPC_EmitMergeInputChains1_0,
1459 OPC_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_CheckPredicate4,
1483 OPC_Scope, 16,
1484 OPC_CheckPredicate5,
1485 OPC_CheckPatternPredicate2,
1486 OPC_CheckComplexPat1, /*#*/2,
1487 OPC_EmitMergeInputChains1_0,
1488 OPC_EmitInteger32, 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, 16,
1493 OPC_Scope, 16,
1494 OPC_CheckPredicate1,
1495 OPC_CheckPatternPredicate2,
1496 OPC_CheckComplexPat1, /*#*/2,
1497 OPC_EmitMergeInputChains1_0,
1498 OPC_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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, 12,
1522 OPC_RecordChild2,
1523 OPC_Scope, 18,
1524 OPC_CheckChild2TypeI32,
1525 OPC_CheckPredicate4,
1526 OPC_CheckPredicate5,
1527 OPC_CheckPatternPredicate1,
1528 OPC_CheckComplexPat0, /*#*/2,
1529 OPC_EmitMergeInputChains1_0,
1530 OPC_EmitInteger32, 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_CheckPredicate4,
1536 OPC_CheckPredicate5,
1537 OPC_CheckPatternPredicate2,
1538 OPC_CheckComplexPat1, /*#*/2,
1539 OPC_EmitMergeInputChains1_0,
1540 OPC_EmitInteger32, 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, 13,
1546 OPC_RecordChild2,
1547 OPC_Scope, 18,
1548 OPC_CheckChild2TypeI32,
1549 OPC_CheckPredicate4,
1550 OPC_CheckPredicate5,
1551 OPC_CheckPatternPredicate1,
1552 OPC_CheckComplexPat0, /*#*/2,
1553 OPC_EmitMergeInputChains1_0,
1554 OPC_EmitInteger32, 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_CheckPredicate4,
1560 OPC_CheckPredicate5,
1561 OPC_CheckPatternPredicate2,
1562 OPC_CheckComplexPat1, /*#*/2,
1563 OPC_EmitMergeInputChains1_0,
1564 OPC_EmitInteger32, 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, 40,
1570 OPC_RecordChild2,
1571 OPC_Scope, 18,
1572 OPC_CheckChild2TypeI32,
1573 OPC_CheckPredicate4,
1574 OPC_CheckPredicate5,
1575 OPC_CheckPatternPredicate1,
1576 OPC_CheckComplexPat0, /*#*/2,
1577 OPC_EmitMergeInputChains1_0,
1578 OPC_EmitInteger32, 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_CheckPredicate4,
1584 OPC_CheckPredicate5,
1585 OPC_CheckPatternPredicate2,
1586 OPC_CheckComplexPat1, /*#*/2,
1587 OPC_EmitMergeInputChains1_0,
1588 OPC_EmitInteger32, 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, 51,
1594 OPC_RecordChild2,
1595 OPC_Scope, 18,
1596 OPC_CheckChild2TypeI32,
1597 OPC_CheckPredicate4,
1598 OPC_CheckPredicate5,
1599 OPC_CheckPatternPredicate1,
1600 OPC_CheckComplexPat0, /*#*/2,
1601 OPC_EmitMergeInputChains1_0,
1602 OPC_EmitInteger32, 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_CheckPredicate4,
1608 OPC_CheckPredicate5,
1609 OPC_CheckPatternPredicate2,
1610 OPC_CheckComplexPat1, /*#*/2,
1611 OPC_EmitMergeInputChains1_0,
1612 OPC_EmitInteger32, 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, 62,
1618 OPC_RecordChild2,
1619 OPC_Scope, 18,
1620 OPC_CheckChild2TypeI32,
1621 OPC_CheckPredicate4,
1622 OPC_CheckPredicate5,
1623 OPC_CheckPatternPredicate1,
1624 OPC_CheckComplexPat0, /*#*/2,
1625 OPC_EmitMergeInputChains1_0,
1626 OPC_EmitInteger32, 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_CheckPredicate4,
1632 OPC_CheckPredicate5,
1633 OPC_CheckPatternPredicate2,
1634 OPC_CheckComplexPat1, /*#*/2,
1635 OPC_EmitMergeInputChains1_0,
1636 OPC_EmitInteger32, 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, 81,
1642 OPC_RecordChild2,
1643 OPC_Scope, 18,
1644 OPC_CheckChild2TypeI32,
1645 OPC_CheckPredicate4,
1646 OPC_CheckPredicate5,
1647 OPC_CheckPatternPredicate1,
1648 OPC_CheckComplexPat0, /*#*/2,
1649 OPC_EmitMergeInputChains1_0,
1650 OPC_EmitInteger32, 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_CheckPredicate4,
1656 OPC_CheckPredicate5,
1657 OPC_CheckPatternPredicate2,
1658 OPC_CheckComplexPat1, /*#*/2,
1659 OPC_EmitMergeInputChains1_0,
1660 OPC_EmitInteger32, 0,
1661 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
1662 4, 5, 3, 4, 1,
1663 0,
1664 43,
1665 OPC_CheckChild1Type, 116,
1666 OPC_RecordChild2,
1667 OPC_Scope, 18,
1668 OPC_CheckChild2TypeI32,
1669 OPC_CheckPredicate4,
1670 OPC_CheckPredicate5,
1671 OPC_CheckPatternPredicate1,
1672 OPC_CheckComplexPat0, /*#*/2,
1673 OPC_EmitMergeInputChains1_0,
1674 OPC_EmitInteger32, 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_CheckPredicate4,
1680 OPC_CheckPredicate5,
1681 OPC_CheckPatternPredicate2,
1682 OPC_CheckComplexPat1, /*#*/2,
1683 OPC_EmitMergeInputChains1_0,
1684 OPC_EmitInteger32, 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, 6|128,1,
1690 OPC_RecordChild2,
1691 OPC_Scope, 18,
1692 OPC_CheckChild2TypeI32,
1693 OPC_CheckPredicate4,
1694 OPC_CheckPredicate5,
1695 OPC_CheckPatternPredicate1,
1696 OPC_CheckComplexPat0, /*#*/2,
1697 OPC_EmitMergeInputChains1_0,
1698 OPC_EmitInteger32, 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_CheckPredicate4,
1704 OPC_CheckPredicate5,
1705 OPC_CheckPatternPredicate2,
1706 OPC_CheckComplexPat1, /*#*/2,
1707 OPC_EmitMergeInputChains1_0,
1708 OPC_EmitInteger32, 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, 95,
1714 OPC_RecordChild2,
1715 OPC_Scope, 18,
1716 OPC_CheckChild2TypeI32,
1717 OPC_CheckPredicate4,
1718 OPC_CheckPredicate5,
1719 OPC_CheckPatternPredicate1,
1720 OPC_CheckComplexPat0, /*#*/2,
1721 OPC_EmitMergeInputChains1_0,
1722 OPC_EmitInteger32, 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_CheckPredicate4,
1728 OPC_CheckPredicate5,
1729 OPC_CheckPatternPredicate2,
1730 OPC_CheckComplexPat1, /*#*/2,
1731 OPC_EmitMergeInputChains1_0,
1732 OPC_EmitInteger32, 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, 70|128,80|128,1,
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_CheckPatternPredicate6,
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, 66|128,80|128,1,
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_EmitInteger32, 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_EmitInteger32, 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, 94|128,80|128,1,
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_CheckPatternPredicate6,
1799 OPC_EmitMergeInputChains1_0,
1800 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF),
1801 3, 1, 2, 3,
1802 28,
1803 OPC_CheckChild1Integer, 76|128,80|128,1,
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_CheckPatternPredicate6,
1815 OPC_EmitMergeInputChains1_0,
1816 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_FUNCREF),
1817 4, 1, 2, 3, 4,
1818 26,
1819 OPC_CheckChild1Integer, 92|128,80|128,1,
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_CheckPatternPredicate6,
1830 OPC_EmitMergeInputChains1_0,
1831 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF),
1832 3, 1, 2, 3,
1833 28,
1834 OPC_CheckChild1Integer, 74|128,80|128,1,
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_CheckPatternPredicate6,
1846 OPC_EmitMergeInputChains1_0,
1847 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::TABLE_FILL_EXTERNREF),
1848 4, 1, 2, 3, 4,
1849 27,
1850 OPC_CheckChild1Integer, 90|128,80|128,1,
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, 72|128,80|128,1,
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, 126|128,79|128,1,
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_EmitInteger32, 0,
1896 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A32), 0|OPFL_Chain|OPFL_MemRefs,
1897 7, 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_EmitInteger32, 0,
1905 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_NOTIFY_A64), 0|OPFL_Chain|OPFL_MemRefs,
1906 7, 4, 5, 3, 4, 2,
1907 0,
1908 49,
1909 OPC_CheckChild1Integer, 0|128,80|128,1,
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_EmitInteger32, 0,
1919 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A32), 0|OPFL_Chain|OPFL_MemRefs,
1920 7, 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_EmitInteger32, 0,
1929 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT32_A64), 0|OPFL_Chain|OPFL_MemRefs,
1930 7, 5, 6, 4, 5, 2, 3,
1931 0,
1932 49,
1933 OPC_CheckChild1Integer, 2|128,80|128,1,
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_EmitInteger32, 0,
1943 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A32), 0|OPFL_Chain|OPFL_MemRefs,
1944 7, 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_EmitInteger32, 0,
1953 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_ATOMIC_WAIT64_A64), 0|OPFL_Chain|OPFL_MemRefs,
1954 7, 5, 6, 4, 5, 2, 3,
1955 0,
1956 0,
1957 9|128,2,
1958 OPC_RecordNode,
1959 OPC_Scope, 26,
1960 OPC_CheckChild1Integer, 82|128,80|128,1,
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_CheckPatternPredicate6,
1970 OPC_EmitMergeInputChains1_0,
1971 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF),
1972 104|128,1, 2, 1, 2,
1973 27,
1974 OPC_CheckChild1Integer, 88|128,80|128,1,
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_CheckPatternPredicate6,
1985 OPC_EmitMergeInputChains1_0,
1986 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_FUNCREF),
1987 7, 3, 1, 2, 3,
1988 26,
1989 OPC_CheckChild1Integer, 80|128,80|128,1,
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_CheckPatternPredicate6,
1999 OPC_EmitMergeInputChains1_0,
2000 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF),
2001 105|128,1, 2, 1, 2,
2002 27,
2003 OPC_CheckChild1Integer, 86|128,80|128,1,
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_CheckPatternPredicate6,
2014 OPC_EmitMergeInputChains1_0,
2015 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_GROW_EXTERNREF),
2016 7, 3, 1, 2, 3,
2017 27,
2018 OPC_CheckChild1Integer, 78|128,80|128,1,
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 106|128,1, 2, 1, 2,
2031 28,
2032 OPC_CheckChild1Integer, 84|128,80|128,1,
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 7, 3, 1, 2, 3,
2046 23,
2047 OPC_CheckChild1Integer, 96|128,80|128,1,
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_CheckPatternPredicate6,
2056 OPC_EmitMergeInputChains1_0,
2057 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::TABLE_SIZE),
2058 7, 1, 1,
2059 32,
2060 OPC_CheckChild1Integer, 6|128,80|128,1,
2061 OPC_RecordChild2,
2062 OPC_MoveChild2,
2063 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2064 OPC_MoveParent,
2065 OPC_SwitchType , 8, 7,
2066 OPC_EmitMergeInputChains1_0,
2067 OPC_EmitConvertToTarget1,
2068 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_8818MEMORY_SIZE_A32),
2069 7, 1, 2,
2070 8, 8,
2071 OPC_EmitMergeInputChains1_0,
2072 OPC_EmitConvertToTarget1,
2073 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_8819MEMORY_SIZE_A64),
2074 8, 1, 2,
2075 0,
2076 37,
2077 OPC_CheckChild1Integer, 4|128,80|128,1,
2078 OPC_RecordChild2,
2079 OPC_MoveChild2,
2080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2081 OPC_MoveParent,
2082 OPC_RecordChild3,
2083 OPC_SwitchType , 10, 7,
2084 OPC_CheckChild3TypeI32,
2085 OPC_EmitMergeInputChains1_0,
2086 OPC_EmitConvertToTarget1,
2087 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_8818MEMORY_GROW_A32),
2088 7, 2, 3, 2,
2089 10, 8,
2090 OPC_CheckChild3TypeI64,
2091 OPC_EmitMergeInputChains1_0,
2092 OPC_EmitConvertToTarget1,
2093 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::anonymous_8819MEMORY_GROW_A64),
2094 8, 2, 3, 2,
2095 0,
2096 0,
2097 43,
2098 OPC_RecordMemRef,
2099 OPC_RecordNode,
2100 OPC_CheckChild1Integer, 122|128,79|128,1,
2101 OPC_RecordChild2,
2102 OPC_Scope, 16,
2103 OPC_CheckChild2TypeI32,
2104 OPC_CheckPatternPredicate1,
2105 OPC_CheckComplexPat0, /*#*/1,
2106 OPC_EmitMergeInputChains1_0,
2107 OPC_EmitInteger32, 0,
2108 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
2109 12, 3, 4, 2, 3,
2110 16,
2111 OPC_CheckChild2TypeI64,
2112 OPC_CheckPatternPredicate2,
2113 OPC_CheckComplexPat1, /*#*/1,
2114 OPC_EmitMergeInputChains1_0,
2115 OPC_EmitInteger32, 0,
2116 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F16_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
2117 12, 3, 4, 2, 3,
2118 0,
2119 0,
2120 29|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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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 31|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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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_EmitInteger32, 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 40,
2245 OPC_CheckChild1TypeI64,
2246 OPC_RecordChild2,
2247 OPC_Scope, 17,
2248 OPC_CheckChild2TypeI32,
2249 OPC_CheckPredicate7,
2250 OPC_CheckPatternPredicate3,
2251 OPC_CheckComplexPat0, /*#*/2,
2252 OPC_EmitMergeInputChains1_0,
2253 OPC_EmitInteger32, 0,
2254 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
2255 4, 5, 3, 4, 1,
2256 17,
2257 OPC_CheckChild2TypeI64,
2258 OPC_CheckPredicate7,
2259 OPC_CheckPatternPredicate4,
2260 OPC_CheckComplexPat1, /*#*/2,
2261 OPC_EmitMergeInputChains1_0,
2262 OPC_EmitInteger32, 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, 98|128,79|128,1,
2274 OPC_RecordChild1,
2275 OPC_Scope, 11,
2276 OPC_CheckChild1Type, 40,
2277 OPC_MoveParent,
2278 OPC_CheckChild1Integer, 2,
2279 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2280 7, 1, 0,
2281 11,
2282 OPC_CheckChild1Type, 51,
2283 OPC_MoveParent,
2284 OPC_CheckChild1Integer, 2,
2285 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2286 7, 1, 0,
2287 11,
2288 OPC_CheckChild1Type, 62,
2289 OPC_MoveParent,
2290 OPC_CheckChild1Integer, 2,
2291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2292 7, 1, 0,
2293 11,
2294 OPC_CheckChild1Type, 81,
2295 OPC_MoveParent,
2296 OPC_CheckChild1Integer, 2,
2297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2298 7, 1, 0,
2299 0,
2300 55,
2301 OPC_CheckChild0Integer, 96|128,79|128,1,
2302 OPC_RecordChild1,
2303 OPC_Scope, 11,
2304 OPC_CheckChild1Type, 40,
2305 OPC_MoveParent,
2306 OPC_CheckChild1Integer, 2,
2307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
2308 7, 1, 0,
2309 11,
2310 OPC_CheckChild1Type, 51,
2311 OPC_MoveParent,
2312 OPC_CheckChild1Integer, 2,
2313 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
2314 7, 1, 0,
2315 11,
2316 OPC_CheckChild1Type, 62,
2317 OPC_MoveParent,
2318 OPC_CheckChild1Integer, 2,
2319 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
2320 7, 1, 0,
2321 11,
2322 OPC_CheckChild1Type, 81,
2323 OPC_MoveParent,
2324 OPC_CheckChild1Integer, 2,
2325 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
2326 7, 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, 40,
2335 OPC_RecordChild1,
2336 OPC_MoveChild1,
2337 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2338 OPC_CheckPredicate, 20,
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 7, 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, 51,
2352 OPC_RecordChild1,
2353 OPC_MoveChild1,
2354 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2355 OPC_CheckPredicate, 14,
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 7, 2, 0, 2,
2363 73,
2364 OPC_RecordChild0,
2365 OPC_Scope, 21,
2366 OPC_RecordChild1,
2367 OPC_SwitchType , 7, 7,
2368 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I32),
2369 7, 2, 0, 1,
2370 7, 8,
2371 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND_I64),
2372 8, 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, 40,
2383 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2384 40, 2, 0, 1,
2385 7, 51,
2386 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2387 51, 2, 0, 1,
2388 7, 62,
2389 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2390 62, 2, 0, 1,
2391 7, 81,
2392 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2393 81, 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, 40,
2406 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2407 40, 2, 1, 0,
2408 7, 51,
2409 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2410 51, 2, 1, 0,
2411 7, 62,
2412 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2413 62, 2, 1, 0,
2414 7, 81,
2415 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANDNOT),
2416 81, 2, 1, 0,
2417 0,
2418 40,
2419 OPC_RecordChild0,
2420 OPC_RecordChild1,
2421 OPC_SwitchType , 7, 40,
2422 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2423 40, 2, 0, 1,
2424 7, 51,
2425 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2426 51, 2, 0, 1,
2427 7, 62,
2428 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2429 62, 2, 0, 1,
2430 7, 81,
2431 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AND),
2432 81, 2, 0, 1,
2433 0,
2434 0,
2435 125|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, 98|128,79|128,1,
2441 OPC_RecordChild1,
2442 OPC_Scope, 28,
2443 OPC_CheckChild1Type, 40,
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 7, 1, 0,
2451 10,
2452 OPC_CheckChild1Integer, 2,
2453 OPC_CheckChild2CondCode, ISD::SETEQ,
2454 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2455 7, 1, 0,
2456 0,
2457 28,
2458 OPC_CheckChild1Type, 51,
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 7, 1, 0,
2466 10,
2467 OPC_CheckChild1Integer, 2,
2468 OPC_CheckChild2CondCode, ISD::SETEQ,
2469 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2470 7, 1, 0,
2471 0,
2472 28,
2473 OPC_CheckChild1Type, 62,
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 7, 1, 0,
2481 10,
2482 OPC_CheckChild1Integer, 2,
2483 OPC_CheckChild2CondCode, ISD::SETEQ,
2484 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2485 7, 1, 0,
2486 0,
2487 28,
2488 OPC_CheckChild1Type, 81,
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 7, 1, 0,
2496 10,
2497 OPC_CheckChild1Integer, 2,
2498 OPC_CheckChild2CondCode, ISD::SETEQ,
2499 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
2500 7, 1, 0,
2501 0,
2502 0,
2503 123,
2504 OPC_CheckChild0Integer, 96|128,79|128,1,
2505 OPC_RecordChild1,
2506 OPC_Scope, 28,
2507 OPC_CheckChild1Type, 40,
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 7, 1, 0,
2515 10,
2516 OPC_CheckChild1Integer, 2,
2517 OPC_CheckChild2CondCode, ISD::SETEQ,
2518 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
2519 7, 1, 0,
2520 0,
2521 28,
2522 OPC_CheckChild1Type, 51,
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 7, 1, 0,
2530 10,
2531 OPC_CheckChild1Integer, 2,
2532 OPC_CheckChild2CondCode, ISD::SETEQ,
2533 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
2534 7, 1, 0,
2535 0,
2536 28,
2537 OPC_CheckChild1Type, 62,
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 7, 1, 0,
2545 10,
2546 OPC_CheckChild1Integer, 2,
2547 OPC_CheckChild2CondCode, ISD::SETEQ,
2548 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
2549 7, 1, 0,
2550 0,
2551 28,
2552 OPC_CheckChild1Type, 81,
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 7, 1, 0,
2560 10,
2561 OPC_CheckChild1Integer, 2,
2562 OPC_CheckChild2CondCode, ISD::SETEQ,
2563 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
2564 7, 1, 0,
2565 0,
2566 0,
2567 0,
2568 121|128,9,
2569 OPC_RecordChild0,
2570 OPC_SwitchType , 108|128,3, 7,
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 7, 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 7, 2, 0, 1,
2584 9,
2585 OPC_CheckChild2CondCode, ISD::SETNE,
2586 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32),
2587 7, 2, 0, 1,
2588 9,
2589 OPC_CheckChild2CondCode, ISD::SETLT,
2590 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32),
2591 7, 2, 0, 1,
2592 9,
2593 OPC_CheckChild2CondCode, ISD::SETULT,
2594 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32),
2595 7, 2, 0, 1,
2596 9,
2597 OPC_CheckChild2CondCode, ISD::SETGT,
2598 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32),
2599 7, 2, 0, 1,
2600 9,
2601 OPC_CheckChild2CondCode, ISD::SETUGT,
2602 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32),
2603 7, 2, 0, 1,
2604 9,
2605 OPC_CheckChild2CondCode, ISD::SETLE,
2606 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32),
2607 7, 2, 0, 1,
2608 9,
2609 OPC_CheckChild2CondCode, ISD::SETULE,
2610 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32),
2611 7, 2, 0, 1,
2612 9,
2613 OPC_CheckChild2CondCode, ISD::SETGE,
2614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32),
2615 7, 2, 0, 1,
2616 9,
2617 OPC_CheckChild2CondCode, ISD::SETUGE,
2618 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32),
2619 7, 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 7, 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 7, 2, 0, 1,
2635 9,
2636 OPC_CheckChild2CondCode, ISD::SETNE,
2637 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64),
2638 7, 2, 0, 1,
2639 9,
2640 OPC_CheckChild2CondCode, ISD::SETLT,
2641 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64),
2642 7, 2, 0, 1,
2643 9,
2644 OPC_CheckChild2CondCode, ISD::SETULT,
2645 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I64),
2646 7, 2, 0, 1,
2647 9,
2648 OPC_CheckChild2CondCode, ISD::SETGT,
2649 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64),
2650 7, 2, 0, 1,
2651 9,
2652 OPC_CheckChild2CondCode, ISD::SETUGT,
2653 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I64),
2654 7, 2, 0, 1,
2655 9,
2656 OPC_CheckChild2CondCode, ISD::SETLE,
2657 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64),
2658 7, 2, 0, 1,
2659 9,
2660 OPC_CheckChild2CondCode, ISD::SETULE,
2661 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I64),
2662 7, 2, 0, 1,
2663 9,
2664 OPC_CheckChild2CondCode, ISD::SETGE,
2665 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64),
2666 7, 2, 0, 1,
2667 9,
2668 OPC_CheckChild2CondCode, ISD::SETUGE,
2669 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I64),
2670 7, 2, 0, 1,
2671 0,
2672 0,
2673 125,
2674 OPC_CheckChild0Type, 12,
2675 OPC_RecordChild1,
2676 OPC_Scope, 9,
2677 OPC_CheckChild2CondCode, ISD::SETOEQ,
2678 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
2679 7, 2, 0, 1,
2680 9,
2681 OPC_CheckChild2CondCode, ISD::SETUNE,
2682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
2683 7, 2, 0, 1,
2684 9,
2685 OPC_CheckChild2CondCode, ISD::SETOLT,
2686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
2687 7, 2, 0, 1,
2688 9,
2689 OPC_CheckChild2CondCode, ISD::SETOLE,
2690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
2691 7, 2, 0, 1,
2692 9,
2693 OPC_CheckChild2CondCode, ISD::SETOGT,
2694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
2695 7, 2, 0, 1,
2696 9,
2697 OPC_CheckChild2CondCode, ISD::SETOGE,
2698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
2699 7, 2, 0, 1,
2700 9,
2701 OPC_CheckChild2CondCode, ISD::SETEQ,
2702 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32),
2703 7, 2, 0, 1,
2704 9,
2705 OPC_CheckChild2CondCode, ISD::SETNE,
2706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32),
2707 7, 2, 0, 1,
2708 9,
2709 OPC_CheckChild2CondCode, ISD::SETLT,
2710 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32),
2711 7, 2, 0, 1,
2712 9,
2713 OPC_CheckChild2CondCode, ISD::SETLE,
2714 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32),
2715 7, 2, 0, 1,
2716 9,
2717 OPC_CheckChild2CondCode, ISD::SETGT,
2718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32),
2719 7, 2, 0, 1,
2720 9,
2721 OPC_CheckChild2CondCode, ISD::SETGE,
2722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32),
2723 7, 2, 0, 1,
2724 0,
2725 125,
2726 OPC_CheckChild0Type, 13,
2727 OPC_RecordChild1,
2728 OPC_Scope, 9,
2729 OPC_CheckChild2CondCode, ISD::SETOEQ,
2730 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
2731 7, 2, 0, 1,
2732 9,
2733 OPC_CheckChild2CondCode, ISD::SETUNE,
2734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
2735 7, 2, 0, 1,
2736 9,
2737 OPC_CheckChild2CondCode, ISD::SETOLT,
2738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
2739 7, 2, 0, 1,
2740 9,
2741 OPC_CheckChild2CondCode, ISD::SETOLE,
2742 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
2743 7, 2, 0, 1,
2744 9,
2745 OPC_CheckChild2CondCode, ISD::SETOGT,
2746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
2747 7, 2, 0, 1,
2748 9,
2749 OPC_CheckChild2CondCode, ISD::SETOGE,
2750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
2751 7, 2, 0, 1,
2752 9,
2753 OPC_CheckChild2CondCode, ISD::SETEQ,
2754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64),
2755 7, 2, 0, 1,
2756 9,
2757 OPC_CheckChild2CondCode, ISD::SETNE,
2758 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64),
2759 7, 2, 0, 1,
2760 9,
2761 OPC_CheckChild2CondCode, ISD::SETLT,
2762 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64),
2763 7, 2, 0, 1,
2764 9,
2765 OPC_CheckChild2CondCode, ISD::SETLE,
2766 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64),
2767 7, 2, 0, 1,
2768 9,
2769 OPC_CheckChild2CondCode, ISD::SETGT,
2770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64),
2771 7, 2, 0, 1,
2772 9,
2773 OPC_CheckChild2CondCode, ISD::SETGE,
2774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64),
2775 7, 2, 0, 1,
2776 0,
2777 0,
2778 115, 40,
2779 OPC_CheckChild0Type, 40,
2780 OPC_RecordChild1,
2781 OPC_Scope, 10,
2782 OPC_CheckChild2CondCode, ISD::SETEQ,
2783 OPC_CheckPatternPredicate0,
2784 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I8x16),
2785 40, 2, 0, 1,
2786 10,
2787 OPC_CheckChild2CondCode, ISD::SETNE,
2788 OPC_CheckPatternPredicate0,
2789 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I8x16),
2790 40, 2, 0, 1,
2791 10,
2792 OPC_CheckChild2CondCode, ISD::SETLT,
2793 OPC_CheckPatternPredicate0,
2794 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I8x16),
2795 40, 2, 0, 1,
2796 10,
2797 OPC_CheckChild2CondCode, ISD::SETULT,
2798 OPC_CheckPatternPredicate0,
2799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I8x16),
2800 40, 2, 0, 1,
2801 10,
2802 OPC_CheckChild2CondCode, ISD::SETGT,
2803 OPC_CheckPatternPredicate0,
2804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I8x16),
2805 40, 2, 0, 1,
2806 10,
2807 OPC_CheckChild2CondCode, ISD::SETUGT,
2808 OPC_CheckPatternPredicate0,
2809 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I8x16),
2810 40, 2, 0, 1,
2811 10,
2812 OPC_CheckChild2CondCode, ISD::SETLE,
2813 OPC_CheckPatternPredicate0,
2814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I8x16),
2815 40, 2, 0, 1,
2816 10,
2817 OPC_CheckChild2CondCode, ISD::SETULE,
2818 OPC_CheckPatternPredicate0,
2819 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I8x16),
2820 40, 2, 0, 1,
2821 10,
2822 OPC_CheckChild2CondCode, ISD::SETGE,
2823 OPC_CheckPatternPredicate0,
2824 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I8x16),
2825 40, 2, 0, 1,
2826 10,
2827 OPC_CheckChild2CondCode, ISD::SETUGE,
2828 OPC_CheckPatternPredicate0,
2829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I8x16),
2830 40, 2, 0, 1,
2831 0,
2832 62|128,1, 51,
2833 OPC_Scope, 115,
2834 OPC_CheckChild0Type, 51,
2835 OPC_RecordChild1,
2836 OPC_Scope, 10,
2837 OPC_CheckChild2CondCode, ISD::SETEQ,
2838 OPC_CheckPatternPredicate0,
2839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I16x8),
2840 51, 2, 0, 1,
2841 10,
2842 OPC_CheckChild2CondCode, ISD::SETNE,
2843 OPC_CheckPatternPredicate0,
2844 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I16x8),
2845 51, 2, 0, 1,
2846 10,
2847 OPC_CheckChild2CondCode, ISD::SETLT,
2848 OPC_CheckPatternPredicate0,
2849 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I16x8),
2850 51, 2, 0, 1,
2851 10,
2852 OPC_CheckChild2CondCode, ISD::SETULT,
2853 OPC_CheckPatternPredicate0,
2854 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I16x8),
2855 51, 2, 0, 1,
2856 10,
2857 OPC_CheckChild2CondCode, ISD::SETGT,
2858 OPC_CheckPatternPredicate0,
2859 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I16x8),
2860 51, 2, 0, 1,
2861 10,
2862 OPC_CheckChild2CondCode, ISD::SETUGT,
2863 OPC_CheckPatternPredicate0,
2864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I16x8),
2865 51, 2, 0, 1,
2866 10,
2867 OPC_CheckChild2CondCode, ISD::SETLE,
2868 OPC_CheckPatternPredicate0,
2869 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I16x8),
2870 51, 2, 0, 1,
2871 10,
2872 OPC_CheckChild2CondCode, ISD::SETULE,
2873 OPC_CheckPatternPredicate0,
2874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I16x8),
2875 51, 2, 0, 1,
2876 10,
2877 OPC_CheckChild2CondCode, ISD::SETGE,
2878 OPC_CheckPatternPredicate0,
2879 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I16x8),
2880 51, 2, 0, 1,
2881 10,
2882 OPC_CheckChild2CondCode, ISD::SETUGE,
2883 OPC_CheckPatternPredicate0,
2884 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I16x8),
2885 51, 2, 0, 1,
2886 0,
2887 71,
2888 OPC_CheckChild0Type, 95,
2889 OPC_RecordChild1,
2890 OPC_Scope, 10,
2891 OPC_CheckChild2CondCode, ISD::SETOEQ,
2892 OPC_CheckPatternPredicate5,
2893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F16x8),
2894 51, 2, 0, 1,
2895 10,
2896 OPC_CheckChild2CondCode, ISD::SETUNE,
2897 OPC_CheckPatternPredicate5,
2898 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F16x8),
2899 51, 2, 0, 1,
2900 10,
2901 OPC_CheckChild2CondCode, ISD::SETOLT,
2902 OPC_CheckPatternPredicate5,
2903 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F16x8),
2904 51, 2, 0, 1,
2905 10,
2906 OPC_CheckChild2CondCode, ISD::SETOGT,
2907 OPC_CheckPatternPredicate5,
2908 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F16x8),
2909 51, 2, 0, 1,
2910 10,
2911 OPC_CheckChild2CondCode, ISD::SETOLE,
2912 OPC_CheckPatternPredicate5,
2913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F16x8),
2914 51, 2, 0, 1,
2915 10,
2916 OPC_CheckChild2CondCode, ISD::SETOGE,
2917 OPC_CheckPatternPredicate5,
2918 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F16x8),
2919 51, 2, 0, 1,
2920 0,
2921 0,
2922 123|128,1, 62,
2923 OPC_Scope, 115,
2924 OPC_CheckChild0Type, 62,
2925 OPC_RecordChild1,
2926 OPC_Scope, 10,
2927 OPC_CheckChild2CondCode, ISD::SETEQ,
2928 OPC_CheckPatternPredicate0,
2929 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I32x4),
2930 62, 2, 0, 1,
2931 10,
2932 OPC_CheckChild2CondCode, ISD::SETNE,
2933 OPC_CheckPatternPredicate0,
2934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I32x4),
2935 62, 2, 0, 1,
2936 10,
2937 OPC_CheckChild2CondCode, ISD::SETLT,
2938 OPC_CheckPatternPredicate0,
2939 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I32x4),
2940 62, 2, 0, 1,
2941 10,
2942 OPC_CheckChild2CondCode, ISD::SETULT,
2943 OPC_CheckPatternPredicate0,
2944 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_U_I32x4),
2945 62, 2, 0, 1,
2946 10,
2947 OPC_CheckChild2CondCode, ISD::SETGT,
2948 OPC_CheckPatternPredicate0,
2949 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I32x4),
2950 62, 2, 0, 1,
2951 10,
2952 OPC_CheckChild2CondCode, ISD::SETUGT,
2953 OPC_CheckPatternPredicate0,
2954 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_U_I32x4),
2955 62, 2, 0, 1,
2956 10,
2957 OPC_CheckChild2CondCode, ISD::SETLE,
2958 OPC_CheckPatternPredicate0,
2959 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I32x4),
2960 62, 2, 0, 1,
2961 10,
2962 OPC_CheckChild2CondCode, ISD::SETULE,
2963 OPC_CheckPatternPredicate0,
2964 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_U_I32x4),
2965 62, 2, 0, 1,
2966 10,
2967 OPC_CheckChild2CondCode, ISD::SETGE,
2968 OPC_CheckPatternPredicate0,
2969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I32x4),
2970 62, 2, 0, 1,
2971 10,
2972 OPC_CheckChild2CondCode, ISD::SETUGE,
2973 OPC_CheckPatternPredicate0,
2974 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_U_I32x4),
2975 62, 2, 0, 1,
2976 0,
2977 3|128,1,
2978 OPC_CheckChild0Type, 116,
2979 OPC_RecordChild1,
2980 OPC_Scope, 10,
2981 OPC_CheckChild2CondCode, ISD::SETOEQ,
2982 OPC_CheckPatternPredicate0,
2983 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
2984 62, 2, 0, 1,
2985 10,
2986 OPC_CheckChild2CondCode, ISD::SETUNE,
2987 OPC_CheckPatternPredicate0,
2988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
2989 62, 2, 0, 1,
2990 10,
2991 OPC_CheckChild2CondCode, ISD::SETOLT,
2992 OPC_CheckPatternPredicate0,
2993 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
2994 62, 2, 0, 1,
2995 10,
2996 OPC_CheckChild2CondCode, ISD::SETOGT,
2997 OPC_CheckPatternPredicate0,
2998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
2999 62, 2, 0, 1,
3000 10,
3001 OPC_CheckChild2CondCode, ISD::SETOLE,
3002 OPC_CheckPatternPredicate0,
3003 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
3004 62, 2, 0, 1,
3005 10,
3006 OPC_CheckChild2CondCode, ISD::SETOGE,
3007 OPC_CheckPatternPredicate0,
3008 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
3009 62, 2, 0, 1,
3010 9,
3011 OPC_CheckChild2CondCode, ISD::SETEQ,
3012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F32x4),
3013 62, 2, 0, 1,
3014 9,
3015 OPC_CheckChild2CondCode, ISD::SETNE,
3016 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F32x4),
3017 62, 2, 0, 1,
3018 9,
3019 OPC_CheckChild2CondCode, ISD::SETLT,
3020 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F32x4),
3021 62, 2, 0, 1,
3022 9,
3023 OPC_CheckChild2CondCode, ISD::SETGT,
3024 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F32x4),
3025 62, 2, 0, 1,
3026 9,
3027 OPC_CheckChild2CondCode, ISD::SETLE,
3028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F32x4),
3029 62, 2, 0, 1,
3030 9,
3031 OPC_CheckChild2CondCode, ISD::SETGE,
3032 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F32x4),
3033 62, 2, 0, 1,
3034 0,
3035 0,
3036 80|128,1, 81,
3037 OPC_Scope, 71,
3038 OPC_CheckChild0Type, 81,
3039 OPC_RecordChild1,
3040 OPC_Scope, 10,
3041 OPC_CheckChild2CondCode, ISD::SETEQ,
3042 OPC_CheckPatternPredicate0,
3043 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_I64x2),
3044 81, 2, 0, 1,
3045 10,
3046 OPC_CheckChild2CondCode, ISD::SETNE,
3047 OPC_CheckPatternPredicate0,
3048 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_I64x2),
3049 81, 2, 0, 1,
3050 10,
3051 OPC_CheckChild2CondCode, ISD::SETLT,
3052 OPC_CheckPatternPredicate0,
3053 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_S_I64x2),
3054 81, 2, 0, 1,
3055 10,
3056 OPC_CheckChild2CondCode, ISD::SETGT,
3057 OPC_CheckPatternPredicate0,
3058 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_S_I64x2),
3059 81, 2, 0, 1,
3060 10,
3061 OPC_CheckChild2CondCode, ISD::SETLE,
3062 OPC_CheckPatternPredicate0,
3063 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_S_I64x2),
3064 81, 2, 0, 1,
3065 10,
3066 OPC_CheckChild2CondCode, ISD::SETGE,
3067 OPC_CheckPatternPredicate0,
3068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_S_I64x2),
3069 81, 2, 0, 1,
3070 0,
3071 4|128,1,
3072 OPC_CheckChild0Type, 6|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 81, 2, 0, 1,
3079 10,
3080 OPC_CheckChild2CondCode, ISD::SETUNE,
3081 OPC_CheckPatternPredicate0,
3082 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
3083 81, 2, 0, 1,
3084 10,
3085 OPC_CheckChild2CondCode, ISD::SETOLT,
3086 OPC_CheckPatternPredicate0,
3087 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
3088 81, 2, 0, 1,
3089 10,
3090 OPC_CheckChild2CondCode, ISD::SETOGT,
3091 OPC_CheckPatternPredicate0,
3092 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
3093 81, 2, 0, 1,
3094 10,
3095 OPC_CheckChild2CondCode, ISD::SETOLE,
3096 OPC_CheckPatternPredicate0,
3097 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
3098 81, 2, 0, 1,
3099 10,
3100 OPC_CheckChild2CondCode, ISD::SETOGE,
3101 OPC_CheckPatternPredicate0,
3102 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
3103 81, 2, 0, 1,
3104 9,
3105 OPC_CheckChild2CondCode, ISD::SETEQ,
3106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EQ_F64x2),
3107 81, 2, 0, 1,
3108 9,
3109 OPC_CheckChild2CondCode, ISD::SETNE,
3110 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NE_F64x2),
3111 81, 2, 0, 1,
3112 9,
3113 OPC_CheckChild2CondCode, ISD::SETLT,
3114 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LT_F64x2),
3115 81, 2, 0, 1,
3116 9,
3117 OPC_CheckChild2CondCode, ISD::SETGT,
3118 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GT_F64x2),
3119 81, 2, 0, 1,
3120 9,
3121 OPC_CheckChild2CondCode, ISD::SETLE,
3122 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LE_F64x2),
3123 81, 2, 0, 1,
3124 9,
3125 OPC_CheckChild2CondCode, ISD::SETGE,
3126 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GE_F64x2),
3127 81, 2, 0, 1,
3128 0,
3129 0,
3130 0,
3131 0,
3132 59|128,11, TARGET_VAL(ISD::LOAD),
3133 OPC_RecordMemRef,
3134 OPC_RecordNode,
3135 OPC_RecordChild1,
3136 OPC_Scope, 89|128,5,
3137 OPC_CheckChild1TypeI32,
3138 OPC_CheckPredicate, 8,
3139 OPC_Scope, 37,
3140 OPC_CheckPredicate6,
3141 OPC_SwitchType , 15, 7,
3142 OPC_CheckPatternPredicate1,
3143 OPC_CheckComplexPat0, /*#*/1,
3144 OPC_EmitMergeInputChains1_0,
3145 OPC_EmitInteger32, 0,
3146 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3147 7, 3, 4, 2, 3,
3148 15, 8,
3149 OPC_CheckPatternPredicate1,
3150 OPC_CheckComplexPat0, /*#*/1,
3151 OPC_EmitMergeInputChains1_0,
3152 OPC_EmitInteger32, 0,
3153 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3154 8, 3, 4, 2, 3,
3155 0,
3156 97,
3157 OPC_CheckPredicate, 17,
3158 OPC_SwitchType , 36, 7,
3159 OPC_Scope, 16,
3160 OPC_CheckPredicate1,
3161 OPC_CheckPatternPredicate1,
3162 OPC_CheckComplexPat0, /*#*/1,
3163 OPC_EmitMergeInputChains1_0,
3164 OPC_EmitInteger32, 0,
3165 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3166 7, 3, 4, 2, 3,
3167 16,
3168 OPC_CheckPredicate2,
3169 OPC_CheckPatternPredicate1,
3170 OPC_CheckComplexPat0, /*#*/1,
3171 OPC_EmitMergeInputChains1_0,
3172 OPC_EmitInteger32, 0,
3173 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3174 7, 3, 4, 2, 3,
3175 0,
3176 53, 8,
3177 OPC_Scope, 16,
3178 OPC_CheckPredicate1,
3179 OPC_CheckPatternPredicate1,
3180 OPC_CheckComplexPat0, /*#*/1,
3181 OPC_EmitMergeInputChains1_0,
3182 OPC_EmitInteger32, 0,
3183 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3184 8, 3, 4, 2, 3,
3185 16,
3186 OPC_CheckPredicate2,
3187 OPC_CheckPatternPredicate1,
3188 OPC_CheckComplexPat0, /*#*/1,
3189 OPC_EmitMergeInputChains1_0,
3190 OPC_EmitInteger32, 0,
3191 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3192 8, 3, 4, 2, 3,
3193 16,
3194 OPC_CheckPredicate3,
3195 OPC_CheckPatternPredicate1,
3196 OPC_CheckComplexPat0, /*#*/1,
3197 OPC_EmitMergeInputChains1_0,
3198 OPC_EmitInteger32, 0,
3199 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3200 8, 3, 4, 2, 3,
3201 0,
3202 0,
3203 97,
3204 OPC_CheckPredicate, 18,
3205 OPC_SwitchType , 36, 7,
3206 OPC_Scope, 16,
3207 OPC_CheckPredicate1,
3208 OPC_CheckPatternPredicate1,
3209 OPC_CheckComplexPat0, /*#*/1,
3210 OPC_EmitMergeInputChains1_0,
3211 OPC_EmitInteger32, 0,
3212 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3213 7, 3, 4, 2, 3,
3214 16,
3215 OPC_CheckPredicate2,
3216 OPC_CheckPatternPredicate1,
3217 OPC_CheckComplexPat0, /*#*/1,
3218 OPC_EmitMergeInputChains1_0,
3219 OPC_EmitInteger32, 0,
3220 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3221 7, 3, 4, 2, 3,
3222 0,
3223 53, 8,
3224 OPC_Scope, 16,
3225 OPC_CheckPredicate1,
3226 OPC_CheckPatternPredicate1,
3227 OPC_CheckComplexPat0, /*#*/1,
3228 OPC_EmitMergeInputChains1_0,
3229 OPC_EmitInteger32, 0,
3230 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3231 8, 3, 4, 2, 3,
3232 16,
3233 OPC_CheckPredicate2,
3234 OPC_CheckPatternPredicate1,
3235 OPC_CheckComplexPat0, /*#*/1,
3236 OPC_EmitMergeInputChains1_0,
3237 OPC_EmitInteger32, 0,
3238 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3239 8, 3, 4, 2, 3,
3240 16,
3241 OPC_CheckPredicate3,
3242 OPC_CheckPatternPredicate1,
3243 OPC_CheckComplexPat0, /*#*/1,
3244 OPC_EmitMergeInputChains1_0,
3245 OPC_EmitInteger32, 0,
3246 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3247 8, 3, 4, 2, 3,
3248 0,
3249 0,
3250 97,
3251 OPC_CheckPredicate, 10,
3252 OPC_SwitchType , 36, 7,
3253 OPC_Scope, 16,
3254 OPC_CheckPredicate1,
3255 OPC_CheckPatternPredicate1,
3256 OPC_CheckComplexPat0, /*#*/1,
3257 OPC_EmitMergeInputChains1_0,
3258 OPC_EmitInteger32, 0,
3259 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3260 7, 3, 4, 2, 3,
3261 16,
3262 OPC_CheckPredicate2,
3263 OPC_CheckPatternPredicate1,
3264 OPC_CheckComplexPat0, /*#*/1,
3265 OPC_EmitMergeInputChains1_0,
3266 OPC_EmitInteger32, 0,
3267 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3268 7, 3, 4, 2, 3,
3269 0,
3270 53, 8,
3271 OPC_Scope, 16,
3272 OPC_CheckPredicate1,
3273 OPC_CheckPatternPredicate1,
3274 OPC_CheckComplexPat0, /*#*/1,
3275 OPC_EmitMergeInputChains1_0,
3276 OPC_EmitInteger32, 0,
3277 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3278 8, 3, 4, 2, 3,
3279 16,
3280 OPC_CheckPredicate2,
3281 OPC_CheckPatternPredicate1,
3282 OPC_CheckComplexPat0, /*#*/1,
3283 OPC_EmitMergeInputChains1_0,
3284 OPC_EmitInteger32, 0,
3285 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3286 8, 3, 4, 2, 3,
3287 16,
3288 OPC_CheckPredicate3,
3289 OPC_CheckPatternPredicate1,
3290 OPC_CheckComplexPat0, /*#*/1,
3291 OPC_EmitMergeInputChains1_0,
3292 OPC_EmitInteger32, 0,
3293 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3294 8, 3, 4, 2, 3,
3295 0,
3296 0,
3297 105,
3298 OPC_CheckPredicate6,
3299 OPC_SwitchType , 15, 12,
3300 OPC_CheckPatternPredicate1,
3301 OPC_CheckComplexPat0, /*#*/1,
3302 OPC_EmitMergeInputChains1_0,
3303 OPC_EmitInteger32, 0,
3304 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3305 12, 3, 4, 2, 3,
3306 15, 13,
3307 OPC_CheckPatternPredicate1,
3308 OPC_CheckComplexPat0, /*#*/1,
3309 OPC_EmitMergeInputChains1_0,
3310 OPC_EmitInteger32, 0,
3311 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3312 13, 3, 4, 2, 3,
3313 15, 40,
3314 OPC_CheckPatternPredicate1,
3315 OPC_CheckComplexPat0, /*#*/1,
3316 OPC_EmitMergeInputChains1_0,
3317 OPC_EmitInteger32, 0,
3318 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3319 40, 3, 4, 2, 3,
3320 15, 51,
3321 OPC_CheckPatternPredicate1,
3322 OPC_CheckComplexPat0, /*#*/1,
3323 OPC_EmitMergeInputChains1_0,
3324 OPC_EmitInteger32, 0,
3325 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3326 51, 3, 4, 2, 3,
3327 15, 62,
3328 OPC_CheckPatternPredicate1,
3329 OPC_CheckComplexPat0, /*#*/1,
3330 OPC_EmitMergeInputChains1_0,
3331 OPC_EmitInteger32, 0,
3332 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3333 62, 3, 4, 2, 3,
3334 15, 81,
3335 OPC_CheckPatternPredicate1,
3336 OPC_CheckComplexPat0, /*#*/1,
3337 OPC_EmitMergeInputChains1_0,
3338 OPC_EmitInteger32, 0,
3339 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3340 81, 3, 4, 2, 3,
3341 0,
3342 21,
3343 OPC_CheckPredicate, 17,
3344 OPC_CheckPredicate, 21,
3345 OPC_CheckType, 51,
3346 OPC_CheckPatternPredicate1,
3347 OPC_CheckComplexPat0, /*#*/1,
3348 OPC_EmitMergeInputChains1_0,
3349 OPC_EmitInteger32, 0,
3350 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3351 51, 3, 4, 2, 3,
3352 21,
3353 OPC_CheckPredicate, 18,
3354 OPC_CheckPredicate, 21,
3355 OPC_CheckType, 51,
3356 OPC_CheckPatternPredicate1,
3357 OPC_CheckComplexPat0, /*#*/1,
3358 OPC_EmitMergeInputChains1_0,
3359 OPC_EmitInteger32, 0,
3360 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3361 51, 3, 4, 2, 3,
3362 21,
3363 OPC_CheckPredicate, 10,
3364 OPC_CheckPredicate, 21,
3365 OPC_CheckType, 51,
3366 OPC_CheckPatternPredicate1,
3367 OPC_CheckComplexPat0, /*#*/1,
3368 OPC_EmitMergeInputChains1_0,
3369 OPC_EmitInteger32, 0,
3370 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A32), 0|OPFL_Chain|OPFL_MemRefs,
3371 51, 3, 4, 2, 3,
3372 21,
3373 OPC_CheckPredicate, 17,
3374 OPC_CheckPredicate, 22,
3375 OPC_CheckType, 62,
3376 OPC_CheckPatternPredicate1,
3377 OPC_CheckComplexPat0, /*#*/1,
3378 OPC_EmitMergeInputChains1_0,
3379 OPC_EmitInteger32, 0,
3380 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3381 62, 3, 4, 2, 3,
3382 21,
3383 OPC_CheckPredicate, 18,
3384 OPC_CheckPredicate, 22,
3385 OPC_CheckType, 62,
3386 OPC_CheckPatternPredicate1,
3387 OPC_CheckComplexPat0, /*#*/1,
3388 OPC_EmitMergeInputChains1_0,
3389 OPC_EmitInteger32, 0,
3390 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3391 62, 3, 4, 2, 3,
3392 21,
3393 OPC_CheckPredicate, 10,
3394 OPC_CheckPredicate, 22,
3395 OPC_CheckType, 62,
3396 OPC_CheckPatternPredicate1,
3397 OPC_CheckComplexPat0, /*#*/1,
3398 OPC_EmitMergeInputChains1_0,
3399 OPC_EmitInteger32, 0,
3400 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A32), 0|OPFL_Chain|OPFL_MemRefs,
3401 62, 3, 4, 2, 3,
3402 21,
3403 OPC_CheckPredicate, 17,
3404 OPC_CheckPredicate, 23,
3405 OPC_CheckType, 81,
3406 OPC_CheckPatternPredicate1,
3407 OPC_CheckComplexPat0, /*#*/1,
3408 OPC_EmitMergeInputChains1_0,
3409 OPC_EmitInteger32, 0,
3410 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3411 81, 3, 4, 2, 3,
3412 21,
3413 OPC_CheckPredicate, 18,
3414 OPC_CheckPredicate, 23,
3415 OPC_CheckType, 81,
3416 OPC_CheckPatternPredicate1,
3417 OPC_CheckComplexPat0, /*#*/1,
3418 OPC_EmitMergeInputChains1_0,
3419 OPC_EmitInteger32, 0,
3420 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3421 81, 3, 4, 2, 3,
3422 21,
3423 OPC_CheckPredicate, 10,
3424 OPC_CheckPredicate, 23,
3425 OPC_CheckType, 81,
3426 OPC_CheckPatternPredicate1,
3427 OPC_CheckComplexPat0, /*#*/1,
3428 OPC_EmitMergeInputChains1_0,
3429 OPC_EmitInteger32, 0,
3430 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A32), 0|OPFL_Chain|OPFL_MemRefs,
3431 81, 3, 4, 2, 3,
3432 56,
3433 OPC_CheckPredicate6,
3434 OPC_SwitchType , 15, 116,
3435 OPC_CheckPatternPredicate1,
3436 OPC_CheckComplexPat0, /*#*/1,
3437 OPC_EmitMergeInputChains1_0,
3438 OPC_EmitInteger32, 0,
3439 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3440 116, 3, 4, 2, 3,
3441 16, 6|128,1,
3442 OPC_CheckPatternPredicate1,
3443 OPC_CheckComplexPat0, /*#*/1,
3444 OPC_EmitMergeInputChains1_0,
3445 OPC_EmitInteger32, 0,
3446 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3447 6|128,1, 3, 4, 2, 3,
3448 15, 95,
3449 OPC_CheckPatternPredicate1,
3450 OPC_CheckComplexPat0, /*#*/1,
3451 OPC_EmitMergeInputChains1_0,
3452 OPC_EmitInteger32, 0,
3453 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A32), 0|OPFL_Chain|OPFL_MemRefs,
3454 95, 3, 4, 2, 3,
3455 0,
3456 30,
3457 OPC_CheckPredicate, 10,
3458 OPC_CheckType, 6|128,1,
3459 OPC_CheckPatternPredicate1,
3460 OPC_EmitMergeInputChains1_0,
3461 OPC_EmitInteger32, 0,
3462 OPC_EmitInteger32, 0,
3463 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3464 40, 3, 2, 3, 1,
3465 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
3466 6|128,1, 1, 4,
3467 OPC_CompleteMatch, 1, 5,
3468
3469 0,
3470 89|128,5,
3471 OPC_CheckChild1TypeI64,
3472 OPC_CheckPredicate, 8,
3473 OPC_Scope, 37,
3474 OPC_CheckPredicate6,
3475 OPC_SwitchType , 15, 7,
3476 OPC_CheckPatternPredicate2,
3477 OPC_CheckComplexPat1, /*#*/1,
3478 OPC_EmitMergeInputChains1_0,
3479 OPC_EmitInteger32, 0,
3480 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3481 7, 3, 4, 2, 3,
3482 15, 8,
3483 OPC_CheckPatternPredicate2,
3484 OPC_CheckComplexPat1, /*#*/1,
3485 OPC_EmitMergeInputChains1_0,
3486 OPC_EmitInteger32, 0,
3487 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3488 8, 3, 4, 2, 3,
3489 0,
3490 97,
3491 OPC_CheckPredicate, 17,
3492 OPC_SwitchType , 36, 7,
3493 OPC_Scope, 16,
3494 OPC_CheckPredicate1,
3495 OPC_CheckPatternPredicate2,
3496 OPC_CheckComplexPat1, /*#*/1,
3497 OPC_EmitMergeInputChains1_0,
3498 OPC_EmitInteger32, 0,
3499 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3500 7, 3, 4, 2, 3,
3501 16,
3502 OPC_CheckPredicate2,
3503 OPC_CheckPatternPredicate2,
3504 OPC_CheckComplexPat1, /*#*/1,
3505 OPC_EmitMergeInputChains1_0,
3506 OPC_EmitInteger32, 0,
3507 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3508 7, 3, 4, 2, 3,
3509 0,
3510 53, 8,
3511 OPC_Scope, 16,
3512 OPC_CheckPredicate1,
3513 OPC_CheckPatternPredicate2,
3514 OPC_CheckComplexPat1, /*#*/1,
3515 OPC_EmitMergeInputChains1_0,
3516 OPC_EmitInteger32, 0,
3517 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3518 8, 3, 4, 2, 3,
3519 16,
3520 OPC_CheckPredicate2,
3521 OPC_CheckPatternPredicate2,
3522 OPC_CheckComplexPat1, /*#*/1,
3523 OPC_EmitMergeInputChains1_0,
3524 OPC_EmitInteger32, 0,
3525 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3526 8, 3, 4, 2, 3,
3527 16,
3528 OPC_CheckPredicate3,
3529 OPC_CheckPatternPredicate2,
3530 OPC_CheckComplexPat1, /*#*/1,
3531 OPC_EmitMergeInputChains1_0,
3532 OPC_EmitInteger32, 0,
3533 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3534 8, 3, 4, 2, 3,
3535 0,
3536 0,
3537 97,
3538 OPC_CheckPredicate, 18,
3539 OPC_SwitchType , 36, 7,
3540 OPC_Scope, 16,
3541 OPC_CheckPredicate1,
3542 OPC_CheckPatternPredicate2,
3543 OPC_CheckComplexPat1, /*#*/1,
3544 OPC_EmitMergeInputChains1_0,
3545 OPC_EmitInteger32, 0,
3546 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3547 7, 3, 4, 2, 3,
3548 16,
3549 OPC_CheckPredicate2,
3550 OPC_CheckPatternPredicate2,
3551 OPC_CheckComplexPat1, /*#*/1,
3552 OPC_EmitMergeInputChains1_0,
3553 OPC_EmitInteger32, 0,
3554 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3555 7, 3, 4, 2, 3,
3556 0,
3557 53, 8,
3558 OPC_Scope, 16,
3559 OPC_CheckPredicate1,
3560 OPC_CheckPatternPredicate2,
3561 OPC_CheckComplexPat1, /*#*/1,
3562 OPC_EmitMergeInputChains1_0,
3563 OPC_EmitInteger32, 0,
3564 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3565 8, 3, 4, 2, 3,
3566 16,
3567 OPC_CheckPredicate2,
3568 OPC_CheckPatternPredicate2,
3569 OPC_CheckComplexPat1, /*#*/1,
3570 OPC_EmitMergeInputChains1_0,
3571 OPC_EmitInteger32, 0,
3572 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3573 8, 3, 4, 2, 3,
3574 16,
3575 OPC_CheckPredicate3,
3576 OPC_CheckPatternPredicate2,
3577 OPC_CheckComplexPat1, /*#*/1,
3578 OPC_EmitMergeInputChains1_0,
3579 OPC_EmitInteger32, 0,
3580 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3581 8, 3, 4, 2, 3,
3582 0,
3583 0,
3584 97,
3585 OPC_CheckPredicate, 10,
3586 OPC_SwitchType , 36, 7,
3587 OPC_Scope, 16,
3588 OPC_CheckPredicate1,
3589 OPC_CheckPatternPredicate2,
3590 OPC_CheckComplexPat1, /*#*/1,
3591 OPC_EmitMergeInputChains1_0,
3592 OPC_EmitInteger32, 0,
3593 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3594 7, 3, 4, 2, 3,
3595 16,
3596 OPC_CheckPredicate2,
3597 OPC_CheckPatternPredicate2,
3598 OPC_CheckComplexPat1, /*#*/1,
3599 OPC_EmitMergeInputChains1_0,
3600 OPC_EmitInteger32, 0,
3601 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3602 7, 3, 4, 2, 3,
3603 0,
3604 53, 8,
3605 OPC_Scope, 16,
3606 OPC_CheckPredicate1,
3607 OPC_CheckPatternPredicate2,
3608 OPC_CheckComplexPat1, /*#*/1,
3609 OPC_EmitMergeInputChains1_0,
3610 OPC_EmitInteger32, 0,
3611 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3612 8, 3, 4, 2, 3,
3613 16,
3614 OPC_CheckPredicate2,
3615 OPC_CheckPatternPredicate2,
3616 OPC_CheckComplexPat1, /*#*/1,
3617 OPC_EmitMergeInputChains1_0,
3618 OPC_EmitInteger32, 0,
3619 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3620 8, 3, 4, 2, 3,
3621 16,
3622 OPC_CheckPredicate3,
3623 OPC_CheckPatternPredicate2,
3624 OPC_CheckComplexPat1, /*#*/1,
3625 OPC_EmitMergeInputChains1_0,
3626 OPC_EmitInteger32, 0,
3627 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3628 8, 3, 4, 2, 3,
3629 0,
3630 0,
3631 105,
3632 OPC_CheckPredicate6,
3633 OPC_SwitchType , 15, 12,
3634 OPC_CheckPatternPredicate2,
3635 OPC_CheckComplexPat1, /*#*/1,
3636 OPC_EmitMergeInputChains1_0,
3637 OPC_EmitInteger32, 0,
3638 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3639 12, 3, 4, 2, 3,
3640 15, 13,
3641 OPC_CheckPatternPredicate2,
3642 OPC_CheckComplexPat1, /*#*/1,
3643 OPC_EmitMergeInputChains1_0,
3644 OPC_EmitInteger32, 0,
3645 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3646 13, 3, 4, 2, 3,
3647 15, 40,
3648 OPC_CheckPatternPredicate2,
3649 OPC_CheckComplexPat1, /*#*/1,
3650 OPC_EmitMergeInputChains1_0,
3651 OPC_EmitInteger32, 0,
3652 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3653 40, 3, 4, 2, 3,
3654 15, 51,
3655 OPC_CheckPatternPredicate2,
3656 OPC_CheckComplexPat1, /*#*/1,
3657 OPC_EmitMergeInputChains1_0,
3658 OPC_EmitInteger32, 0,
3659 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3660 51, 3, 4, 2, 3,
3661 15, 62,
3662 OPC_CheckPatternPredicate2,
3663 OPC_CheckComplexPat1, /*#*/1,
3664 OPC_EmitMergeInputChains1_0,
3665 OPC_EmitInteger32, 0,
3666 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3667 62, 3, 4, 2, 3,
3668 15, 81,
3669 OPC_CheckPatternPredicate2,
3670 OPC_CheckComplexPat1, /*#*/1,
3671 OPC_EmitMergeInputChains1_0,
3672 OPC_EmitInteger32, 0,
3673 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3674 81, 3, 4, 2, 3,
3675 0,
3676 21,
3677 OPC_CheckPredicate, 17,
3678 OPC_CheckPredicate, 21,
3679 OPC_CheckType, 51,
3680 OPC_CheckPatternPredicate2,
3681 OPC_CheckComplexPat1, /*#*/1,
3682 OPC_EmitMergeInputChains1_0,
3683 OPC_EmitInteger32, 0,
3684 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3685 51, 3, 4, 2, 3,
3686 21,
3687 OPC_CheckPredicate, 18,
3688 OPC_CheckPredicate, 21,
3689 OPC_CheckType, 51,
3690 OPC_CheckPatternPredicate2,
3691 OPC_CheckComplexPat1, /*#*/1,
3692 OPC_EmitMergeInputChains1_0,
3693 OPC_EmitInteger32, 0,
3694 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3695 51, 3, 4, 2, 3,
3696 21,
3697 OPC_CheckPredicate, 10,
3698 OPC_CheckPredicate, 21,
3699 OPC_CheckType, 51,
3700 OPC_CheckPatternPredicate2,
3701 OPC_CheckComplexPat1, /*#*/1,
3702 OPC_EmitMergeInputChains1_0,
3703 OPC_EmitInteger32, 0,
3704 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I16x8_A64), 0|OPFL_Chain|OPFL_MemRefs,
3705 51, 3, 4, 2, 3,
3706 21,
3707 OPC_CheckPredicate, 17,
3708 OPC_CheckPredicate, 22,
3709 OPC_CheckType, 62,
3710 OPC_CheckPatternPredicate2,
3711 OPC_CheckComplexPat1, /*#*/1,
3712 OPC_EmitMergeInputChains1_0,
3713 OPC_EmitInteger32, 0,
3714 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3715 62, 3, 4, 2, 3,
3716 21,
3717 OPC_CheckPredicate, 18,
3718 OPC_CheckPredicate, 22,
3719 OPC_CheckType, 62,
3720 OPC_CheckPatternPredicate2,
3721 OPC_CheckComplexPat1, /*#*/1,
3722 OPC_EmitMergeInputChains1_0,
3723 OPC_EmitInteger32, 0,
3724 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3725 62, 3, 4, 2, 3,
3726 21,
3727 OPC_CheckPredicate, 10,
3728 OPC_CheckPredicate, 22,
3729 OPC_CheckType, 62,
3730 OPC_CheckPatternPredicate2,
3731 OPC_CheckComplexPat1, /*#*/1,
3732 OPC_EmitMergeInputChains1_0,
3733 OPC_EmitInteger32, 0,
3734 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I32x4_A64), 0|OPFL_Chain|OPFL_MemRefs,
3735 62, 3, 4, 2, 3,
3736 21,
3737 OPC_CheckPredicate, 17,
3738 OPC_CheckPredicate, 23,
3739 OPC_CheckType, 81,
3740 OPC_CheckPatternPredicate2,
3741 OPC_CheckComplexPat1, /*#*/1,
3742 OPC_EmitMergeInputChains1_0,
3743 OPC_EmitInteger32, 0,
3744 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_S_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3745 81, 3, 4, 2, 3,
3746 21,
3747 OPC_CheckPredicate, 18,
3748 OPC_CheckPredicate, 23,
3749 OPC_CheckType, 81,
3750 OPC_CheckPatternPredicate2,
3751 OPC_CheckComplexPat1, /*#*/1,
3752 OPC_EmitMergeInputChains1_0,
3753 OPC_EmitInteger32, 0,
3754 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3755 81, 3, 4, 2, 3,
3756 21,
3757 OPC_CheckPredicate, 10,
3758 OPC_CheckPredicate, 23,
3759 OPC_CheckType, 81,
3760 OPC_CheckPatternPredicate2,
3761 OPC_CheckComplexPat1, /*#*/1,
3762 OPC_EmitMergeInputChains1_0,
3763 OPC_EmitInteger32, 0,
3764 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_EXTEND_U_I64x2_A64), 0|OPFL_Chain|OPFL_MemRefs,
3765 81, 3, 4, 2, 3,
3766 56,
3767 OPC_CheckPredicate6,
3768 OPC_SwitchType , 15, 116,
3769 OPC_CheckPatternPredicate2,
3770 OPC_CheckComplexPat1, /*#*/1,
3771 OPC_EmitMergeInputChains1_0,
3772 OPC_EmitInteger32, 0,
3773 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3774 116, 3, 4, 2, 3,
3775 16, 6|128,1,
3776 OPC_CheckPatternPredicate2,
3777 OPC_CheckComplexPat1, /*#*/1,
3778 OPC_EmitMergeInputChains1_0,
3779 OPC_EmitInteger32, 0,
3780 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3781 6|128,1, 3, 4, 2, 3,
3782 15, 95,
3783 OPC_CheckPatternPredicate2,
3784 OPC_CheckComplexPat1, /*#*/1,
3785 OPC_EmitMergeInputChains1_0,
3786 OPC_EmitInteger32, 0,
3787 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_V128_A64), 0|OPFL_Chain|OPFL_MemRefs,
3788 95, 3, 4, 2, 3,
3789 0,
3790 30,
3791 OPC_CheckPredicate, 10,
3792 OPC_CheckType, 6|128,1,
3793 OPC_CheckPatternPredicate2,
3794 OPC_EmitMergeInputChains1_0,
3795 OPC_EmitInteger32, 0,
3796 OPC_EmitInteger64, 0,
3797 OPC_EmitNode1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3798 40, 3, 2, 3, 1,
3799 OPC_EmitNode1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
3800 6|128,1, 1, 4,
3801 OPC_CompleteMatch, 1, 5,
3802
3803 0,
3804 0,
3805 47|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
3806 OPC_RecordMemRef,
3807 OPC_RecordNode,
3808 OPC_RecordChild1,
3809 OPC_Scope, 84,
3810 OPC_CheckChild1TypeI32,
3811 OPC_Scope, 40,
3812 OPC_CheckPredicate, 24,
3813 OPC_SwitchType , 16, 7,
3814 OPC_CheckPredicate3,
3815 OPC_CheckPatternPredicate1,
3816 OPC_CheckComplexPat0, /*#*/1,
3817 OPC_EmitMergeInputChains1_0,
3818 OPC_EmitInteger32, 0,
3819 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3820 7, 3, 4, 2, 3,
3821 16, 8,
3822 OPC_CheckPredicate7,
3823 OPC_CheckPatternPredicate1,
3824 OPC_CheckComplexPat0, /*#*/1,
3825 OPC_EmitMergeInputChains1_0,
3826 OPC_EmitInteger32, 0,
3827 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3828 8, 3, 4, 2, 3,
3829 0,
3830 39,
3831 OPC_CheckPredicate, 13,
3832 OPC_CheckTypeI32,
3833 OPC_Scope, 16,
3834 OPC_CheckPredicate1,
3835 OPC_CheckPatternPredicate1,
3836 OPC_CheckComplexPat0, /*#*/1,
3837 OPC_EmitMergeInputChains1_0,
3838 OPC_EmitInteger32, 0,
3839 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3840 7, 3, 4, 2, 3,
3841 16,
3842 OPC_CheckPredicate2,
3843 OPC_CheckPatternPredicate1,
3844 OPC_CheckComplexPat0, /*#*/1,
3845 OPC_EmitMergeInputChains1_0,
3846 OPC_EmitInteger32, 0,
3847 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3848 7, 3, 4, 2, 3,
3849 0,
3850 0,
3851 84,
3852 OPC_CheckChild1TypeI64,
3853 OPC_Scope, 40,
3854 OPC_CheckPredicate, 24,
3855 OPC_SwitchType , 16, 7,
3856 OPC_CheckPredicate3,
3857 OPC_CheckPatternPredicate2,
3858 OPC_CheckComplexPat1, /*#*/1,
3859 OPC_EmitMergeInputChains1_0,
3860 OPC_EmitInteger32, 0,
3861 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3862 7, 3, 4, 2, 3,
3863 16, 8,
3864 OPC_CheckPredicate7,
3865 OPC_CheckPatternPredicate2,
3866 OPC_CheckComplexPat1, /*#*/1,
3867 OPC_EmitMergeInputChains1_0,
3868 OPC_EmitInteger32, 0,
3869 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
3870 8, 3, 4, 2, 3,
3871 0,
3872 39,
3873 OPC_CheckPredicate, 13,
3874 OPC_CheckTypeI32,
3875 OPC_Scope, 16,
3876 OPC_CheckPredicate1,
3877 OPC_CheckPatternPredicate2,
3878 OPC_CheckComplexPat1, /*#*/1,
3879 OPC_EmitMergeInputChains1_0,
3880 OPC_EmitInteger32, 0,
3881 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3882 7, 3, 4, 2, 3,
3883 16,
3884 OPC_CheckPredicate2,
3885 OPC_CheckPatternPredicate2,
3886 OPC_CheckComplexPat1, /*#*/1,
3887 OPC_EmitMergeInputChains1_0,
3888 OPC_EmitInteger32, 0,
3889 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3890 7, 3, 4, 2, 3,
3891 0,
3892 0,
3893 0,
3894 113|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
3895 OPC_RecordMemRef,
3896 OPC_RecordNode,
3897 OPC_RecordChild1,
3898 OPC_Scope, 117,
3899 OPC_CheckChild1TypeI32,
3900 OPC_RecordChild2,
3901 OPC_SwitchType , 92, 7,
3902 OPC_Scope, 17,
3903 OPC_CheckPredicate3,
3904 OPC_CheckPatternPredicate3,
3905 OPC_CheckComplexPat0, /*#*/1,
3906 OPC_EmitMergeInputChains1_0,
3907 OPC_EmitInteger32, 0,
3908 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3909 7, 4, 5, 3, 4, 2,
3910 17,
3911 OPC_CheckPredicate1,
3912 OPC_CheckPatternPredicate3,
3913 OPC_CheckComplexPat0, /*#*/1,
3914 OPC_EmitMergeInputChains1_0,
3915 OPC_EmitInteger32, 0,
3916 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3917 7, 4, 5, 3, 4, 2,
3918 17,
3919 OPC_CheckPredicate2,
3920 OPC_CheckPatternPredicate3,
3921 OPC_CheckComplexPat0, /*#*/1,
3922 OPC_EmitMergeInputChains1_0,
3923 OPC_EmitInteger32, 0,
3924 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3925 7, 4, 5, 3, 4, 2,
3926 17,
3927 OPC_CheckPredicate1,
3928 OPC_CheckPatternPredicate3,
3929 OPC_CheckComplexPat0, /*#*/1,
3930 OPC_EmitMergeInputChains1_0,
3931 OPC_EmitInteger32, 0,
3932 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3933 7, 4, 5, 3, 4, 2,
3934 17,
3935 OPC_CheckPredicate2,
3936 OPC_CheckPatternPredicate3,
3937 OPC_CheckComplexPat0, /*#*/1,
3938 OPC_EmitMergeInputChains1_0,
3939 OPC_EmitInteger32, 0,
3940 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
3941 7, 4, 5, 3, 4, 2,
3942 0,
3943 17, 8,
3944 OPC_CheckPredicate7,
3945 OPC_CheckPatternPredicate3,
3946 OPC_CheckComplexPat0, /*#*/1,
3947 OPC_EmitMergeInputChains1_0,
3948 OPC_EmitInteger32, 0,
3949 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
3950 8, 4, 5, 3, 4, 2,
3951 0,
3952 117,
3953 OPC_CheckChild1TypeI64,
3954 OPC_RecordChild2,
3955 OPC_SwitchType , 92, 7,
3956 OPC_Scope, 17,
3957 OPC_CheckPredicate3,
3958 OPC_CheckPatternPredicate4,
3959 OPC_CheckComplexPat1, /*#*/1,
3960 OPC_EmitMergeInputChains1_0,
3961 OPC_EmitInteger32, 0,
3962 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3963 7, 4, 5, 3, 4, 2,
3964 17,
3965 OPC_CheckPredicate1,
3966 OPC_CheckPatternPredicate4,
3967 OPC_CheckComplexPat1, /*#*/1,
3968 OPC_EmitMergeInputChains1_0,
3969 OPC_EmitInteger32, 0,
3970 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3971 7, 4, 5, 3, 4, 2,
3972 17,
3973 OPC_CheckPredicate2,
3974 OPC_CheckPatternPredicate4,
3975 OPC_CheckComplexPat1, /*#*/1,
3976 OPC_EmitMergeInputChains1_0,
3977 OPC_EmitInteger32, 0,
3978 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3979 7, 4, 5, 3, 4, 2,
3980 17,
3981 OPC_CheckPredicate1,
3982 OPC_CheckPatternPredicate4,
3983 OPC_CheckComplexPat1, /*#*/1,
3984 OPC_EmitMergeInputChains1_0,
3985 OPC_EmitInteger32, 0,
3986 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3987 7, 4, 5, 3, 4, 2,
3988 17,
3989 OPC_CheckPredicate2,
3990 OPC_CheckPatternPredicate4,
3991 OPC_CheckComplexPat1, /*#*/1,
3992 OPC_EmitMergeInputChains1_0,
3993 OPC_EmitInteger32, 0,
3994 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
3995 7, 4, 5, 3, 4, 2,
3996 0,
3997 17, 8,
3998 OPC_CheckPredicate7,
3999 OPC_CheckPatternPredicate4,
4000 OPC_CheckComplexPat1, /*#*/1,
4001 OPC_EmitMergeInputChains1_0,
4002 OPC_EmitInteger32, 0,
4003 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4004 8, 4, 5, 3, 4, 2,
4005 0,
4006 0,
4007 113|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4008 OPC_RecordMemRef,
4009 OPC_RecordNode,
4010 OPC_RecordChild1,
4011 OPC_Scope, 117,
4012 OPC_CheckChild1TypeI32,
4013 OPC_RecordChild2,
4014 OPC_SwitchType , 92, 7,
4015 OPC_Scope, 17,
4016 OPC_CheckPredicate3,
4017 OPC_CheckPatternPredicate3,
4018 OPC_CheckComplexPat0, /*#*/1,
4019 OPC_EmitMergeInputChains1_0,
4020 OPC_EmitInteger32, 0,
4021 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4022 7, 4, 5, 3, 4, 2,
4023 17,
4024 OPC_CheckPredicate1,
4025 OPC_CheckPatternPredicate3,
4026 OPC_CheckComplexPat0, /*#*/1,
4027 OPC_EmitMergeInputChains1_0,
4028 OPC_EmitInteger32, 0,
4029 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4030 7, 4, 5, 3, 4, 2,
4031 17,
4032 OPC_CheckPredicate2,
4033 OPC_CheckPatternPredicate3,
4034 OPC_CheckComplexPat0, /*#*/1,
4035 OPC_EmitMergeInputChains1_0,
4036 OPC_EmitInteger32, 0,
4037 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4038 7, 4, 5, 3, 4, 2,
4039 17,
4040 OPC_CheckPredicate1,
4041 OPC_CheckPatternPredicate3,
4042 OPC_CheckComplexPat0, /*#*/1,
4043 OPC_EmitMergeInputChains1_0,
4044 OPC_EmitInteger32, 0,
4045 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4046 7, 4, 5, 3, 4, 2,
4047 17,
4048 OPC_CheckPredicate2,
4049 OPC_CheckPatternPredicate3,
4050 OPC_CheckComplexPat0, /*#*/1,
4051 OPC_EmitMergeInputChains1_0,
4052 OPC_EmitInteger32, 0,
4053 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4054 7, 4, 5, 3, 4, 2,
4055 0,
4056 17, 8,
4057 OPC_CheckPredicate7,
4058 OPC_CheckPatternPredicate3,
4059 OPC_CheckComplexPat0, /*#*/1,
4060 OPC_EmitMergeInputChains1_0,
4061 OPC_EmitInteger32, 0,
4062 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4063 8, 4, 5, 3, 4, 2,
4064 0,
4065 117,
4066 OPC_CheckChild1TypeI64,
4067 OPC_RecordChild2,
4068 OPC_SwitchType , 92, 7,
4069 OPC_Scope, 17,
4070 OPC_CheckPredicate3,
4071 OPC_CheckPatternPredicate4,
4072 OPC_CheckComplexPat1, /*#*/1,
4073 OPC_EmitMergeInputChains1_0,
4074 OPC_EmitInteger32, 0,
4075 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4076 7, 4, 5, 3, 4, 2,
4077 17,
4078 OPC_CheckPredicate1,
4079 OPC_CheckPatternPredicate4,
4080 OPC_CheckComplexPat1, /*#*/1,
4081 OPC_EmitMergeInputChains1_0,
4082 OPC_EmitInteger32, 0,
4083 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4084 7, 4, 5, 3, 4, 2,
4085 17,
4086 OPC_CheckPredicate2,
4087 OPC_CheckPatternPredicate4,
4088 OPC_CheckComplexPat1, /*#*/1,
4089 OPC_EmitMergeInputChains1_0,
4090 OPC_EmitInteger32, 0,
4091 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4092 7, 4, 5, 3, 4, 2,
4093 17,
4094 OPC_CheckPredicate1,
4095 OPC_CheckPatternPredicate4,
4096 OPC_CheckComplexPat1, /*#*/1,
4097 OPC_EmitMergeInputChains1_0,
4098 OPC_EmitInteger32, 0,
4099 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4100 7, 4, 5, 3, 4, 2,
4101 17,
4102 OPC_CheckPredicate2,
4103 OPC_CheckPatternPredicate4,
4104 OPC_CheckComplexPat1, /*#*/1,
4105 OPC_EmitMergeInputChains1_0,
4106 OPC_EmitInteger32, 0,
4107 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4108 7, 4, 5, 3, 4, 2,
4109 0,
4110 17, 8,
4111 OPC_CheckPredicate7,
4112 OPC_CheckPatternPredicate4,
4113 OPC_CheckComplexPat1, /*#*/1,
4114 OPC_EmitMergeInputChains1_0,
4115 OPC_EmitInteger32, 0,
4116 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4117 8, 4, 5, 3, 4, 2,
4118 0,
4119 0,
4120 113|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4121 OPC_RecordMemRef,
4122 OPC_RecordNode,
4123 OPC_RecordChild1,
4124 OPC_Scope, 117,
4125 OPC_CheckChild1TypeI32,
4126 OPC_RecordChild2,
4127 OPC_SwitchType , 92, 7,
4128 OPC_Scope, 17,
4129 OPC_CheckPredicate3,
4130 OPC_CheckPatternPredicate3,
4131 OPC_CheckComplexPat0, /*#*/1,
4132 OPC_EmitMergeInputChains1_0,
4133 OPC_EmitInteger32, 0,
4134 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4135 7, 4, 5, 3, 4, 2,
4136 17,
4137 OPC_CheckPredicate1,
4138 OPC_CheckPatternPredicate3,
4139 OPC_CheckComplexPat0, /*#*/1,
4140 OPC_EmitMergeInputChains1_0,
4141 OPC_EmitInteger32, 0,
4142 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4143 7, 4, 5, 3, 4, 2,
4144 17,
4145 OPC_CheckPredicate2,
4146 OPC_CheckPatternPredicate3,
4147 OPC_CheckComplexPat0, /*#*/1,
4148 OPC_EmitMergeInputChains1_0,
4149 OPC_EmitInteger32, 0,
4150 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4151 7, 4, 5, 3, 4, 2,
4152 17,
4153 OPC_CheckPredicate1,
4154 OPC_CheckPatternPredicate3,
4155 OPC_CheckComplexPat0, /*#*/1,
4156 OPC_EmitMergeInputChains1_0,
4157 OPC_EmitInteger32, 0,
4158 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4159 7, 4, 5, 3, 4, 2,
4160 17,
4161 OPC_CheckPredicate2,
4162 OPC_CheckPatternPredicate3,
4163 OPC_CheckComplexPat0, /*#*/1,
4164 OPC_EmitMergeInputChains1_0,
4165 OPC_EmitInteger32, 0,
4166 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4167 7, 4, 5, 3, 4, 2,
4168 0,
4169 17, 8,
4170 OPC_CheckPredicate7,
4171 OPC_CheckPatternPredicate3,
4172 OPC_CheckComplexPat0, /*#*/1,
4173 OPC_EmitMergeInputChains1_0,
4174 OPC_EmitInteger32, 0,
4175 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4176 8, 4, 5, 3, 4, 2,
4177 0,
4178 117,
4179 OPC_CheckChild1TypeI64,
4180 OPC_RecordChild2,
4181 OPC_SwitchType , 92, 7,
4182 OPC_Scope, 17,
4183 OPC_CheckPredicate3,
4184 OPC_CheckPatternPredicate4,
4185 OPC_CheckComplexPat1, /*#*/1,
4186 OPC_EmitMergeInputChains1_0,
4187 OPC_EmitInteger32, 0,
4188 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4189 7, 4, 5, 3, 4, 2,
4190 17,
4191 OPC_CheckPredicate1,
4192 OPC_CheckPatternPredicate4,
4193 OPC_CheckComplexPat1, /*#*/1,
4194 OPC_EmitMergeInputChains1_0,
4195 OPC_EmitInteger32, 0,
4196 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4197 7, 4, 5, 3, 4, 2,
4198 17,
4199 OPC_CheckPredicate2,
4200 OPC_CheckPatternPredicate4,
4201 OPC_CheckComplexPat1, /*#*/1,
4202 OPC_EmitMergeInputChains1_0,
4203 OPC_EmitInteger32, 0,
4204 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4205 7, 4, 5, 3, 4, 2,
4206 17,
4207 OPC_CheckPredicate1,
4208 OPC_CheckPatternPredicate4,
4209 OPC_CheckComplexPat1, /*#*/1,
4210 OPC_EmitMergeInputChains1_0,
4211 OPC_EmitInteger32, 0,
4212 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4213 7, 4, 5, 3, 4, 2,
4214 17,
4215 OPC_CheckPredicate2,
4216 OPC_CheckPatternPredicate4,
4217 OPC_CheckComplexPat1, /*#*/1,
4218 OPC_EmitMergeInputChains1_0,
4219 OPC_EmitInteger32, 0,
4220 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4221 7, 4, 5, 3, 4, 2,
4222 0,
4223 17, 8,
4224 OPC_CheckPredicate7,
4225 OPC_CheckPatternPredicate4,
4226 OPC_CheckComplexPat1, /*#*/1,
4227 OPC_EmitMergeInputChains1_0,
4228 OPC_EmitInteger32, 0,
4229 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4230 8, 4, 5, 3, 4, 2,
4231 0,
4232 0,
4233 113|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4234 OPC_RecordMemRef,
4235 OPC_RecordNode,
4236 OPC_RecordChild1,
4237 OPC_Scope, 117,
4238 OPC_CheckChild1TypeI32,
4239 OPC_RecordChild2,
4240 OPC_SwitchType , 92, 7,
4241 OPC_Scope, 17,
4242 OPC_CheckPredicate3,
4243 OPC_CheckPatternPredicate3,
4244 OPC_CheckComplexPat0, /*#*/1,
4245 OPC_EmitMergeInputChains1_0,
4246 OPC_EmitInteger32, 0,
4247 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4248 7, 4, 5, 3, 4, 2,
4249 17,
4250 OPC_CheckPredicate1,
4251 OPC_CheckPatternPredicate3,
4252 OPC_CheckComplexPat0, /*#*/1,
4253 OPC_EmitMergeInputChains1_0,
4254 OPC_EmitInteger32, 0,
4255 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4256 7, 4, 5, 3, 4, 2,
4257 17,
4258 OPC_CheckPredicate2,
4259 OPC_CheckPatternPredicate3,
4260 OPC_CheckComplexPat0, /*#*/1,
4261 OPC_EmitMergeInputChains1_0,
4262 OPC_EmitInteger32, 0,
4263 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4264 7, 4, 5, 3, 4, 2,
4265 17,
4266 OPC_CheckPredicate1,
4267 OPC_CheckPatternPredicate3,
4268 OPC_CheckComplexPat0, /*#*/1,
4269 OPC_EmitMergeInputChains1_0,
4270 OPC_EmitInteger32, 0,
4271 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4272 7, 4, 5, 3, 4, 2,
4273 17,
4274 OPC_CheckPredicate2,
4275 OPC_CheckPatternPredicate3,
4276 OPC_CheckComplexPat0, /*#*/1,
4277 OPC_EmitMergeInputChains1_0,
4278 OPC_EmitInteger32, 0,
4279 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4280 7, 4, 5, 3, 4, 2,
4281 0,
4282 17, 8,
4283 OPC_CheckPredicate7,
4284 OPC_CheckPatternPredicate3,
4285 OPC_CheckComplexPat0, /*#*/1,
4286 OPC_EmitMergeInputChains1_0,
4287 OPC_EmitInteger32, 0,
4288 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4289 8, 4, 5, 3, 4, 2,
4290 0,
4291 117,
4292 OPC_CheckChild1TypeI64,
4293 OPC_RecordChild2,
4294 OPC_SwitchType , 92, 7,
4295 OPC_Scope, 17,
4296 OPC_CheckPredicate3,
4297 OPC_CheckPatternPredicate4,
4298 OPC_CheckComplexPat1, /*#*/1,
4299 OPC_EmitMergeInputChains1_0,
4300 OPC_EmitInteger32, 0,
4301 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4302 7, 4, 5, 3, 4, 2,
4303 17,
4304 OPC_CheckPredicate1,
4305 OPC_CheckPatternPredicate4,
4306 OPC_CheckComplexPat1, /*#*/1,
4307 OPC_EmitMergeInputChains1_0,
4308 OPC_EmitInteger32, 0,
4309 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4310 7, 4, 5, 3, 4, 2,
4311 17,
4312 OPC_CheckPredicate2,
4313 OPC_CheckPatternPredicate4,
4314 OPC_CheckComplexPat1, /*#*/1,
4315 OPC_EmitMergeInputChains1_0,
4316 OPC_EmitInteger32, 0,
4317 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4318 7, 4, 5, 3, 4, 2,
4319 17,
4320 OPC_CheckPredicate1,
4321 OPC_CheckPatternPredicate4,
4322 OPC_CheckComplexPat1, /*#*/1,
4323 OPC_EmitMergeInputChains1_0,
4324 OPC_EmitInteger32, 0,
4325 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4326 7, 4, 5, 3, 4, 2,
4327 17,
4328 OPC_CheckPredicate2,
4329 OPC_CheckPatternPredicate4,
4330 OPC_CheckComplexPat1, /*#*/1,
4331 OPC_EmitMergeInputChains1_0,
4332 OPC_EmitInteger32, 0,
4333 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4334 7, 4, 5, 3, 4, 2,
4335 0,
4336 17, 8,
4337 OPC_CheckPredicate7,
4338 OPC_CheckPatternPredicate4,
4339 OPC_CheckComplexPat1, /*#*/1,
4340 OPC_EmitMergeInputChains1_0,
4341 OPC_EmitInteger32, 0,
4342 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4343 8, 4, 5, 3, 4, 2,
4344 0,
4345 0,
4346 113|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4347 OPC_RecordMemRef,
4348 OPC_RecordNode,
4349 OPC_RecordChild1,
4350 OPC_Scope, 117,
4351 OPC_CheckChild1TypeI32,
4352 OPC_RecordChild2,
4353 OPC_SwitchType , 92, 7,
4354 OPC_Scope, 17,
4355 OPC_CheckPredicate3,
4356 OPC_CheckPatternPredicate3,
4357 OPC_CheckComplexPat0, /*#*/1,
4358 OPC_EmitMergeInputChains1_0,
4359 OPC_EmitInteger32, 0,
4360 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4361 7, 4, 5, 3, 4, 2,
4362 17,
4363 OPC_CheckPredicate1,
4364 OPC_CheckPatternPredicate3,
4365 OPC_CheckComplexPat0, /*#*/1,
4366 OPC_EmitMergeInputChains1_0,
4367 OPC_EmitInteger32, 0,
4368 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4369 7, 4, 5, 3, 4, 2,
4370 17,
4371 OPC_CheckPredicate2,
4372 OPC_CheckPatternPredicate3,
4373 OPC_CheckComplexPat0, /*#*/1,
4374 OPC_EmitMergeInputChains1_0,
4375 OPC_EmitInteger32, 0,
4376 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4377 7, 4, 5, 3, 4, 2,
4378 17,
4379 OPC_CheckPredicate1,
4380 OPC_CheckPatternPredicate3,
4381 OPC_CheckComplexPat0, /*#*/1,
4382 OPC_EmitMergeInputChains1_0,
4383 OPC_EmitInteger32, 0,
4384 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4385 7, 4, 5, 3, 4, 2,
4386 17,
4387 OPC_CheckPredicate2,
4388 OPC_CheckPatternPredicate3,
4389 OPC_CheckComplexPat0, /*#*/1,
4390 OPC_EmitMergeInputChains1_0,
4391 OPC_EmitInteger32, 0,
4392 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4393 7, 4, 5, 3, 4, 2,
4394 0,
4395 17, 8,
4396 OPC_CheckPredicate7,
4397 OPC_CheckPatternPredicate3,
4398 OPC_CheckComplexPat0, /*#*/1,
4399 OPC_EmitMergeInputChains1_0,
4400 OPC_EmitInteger32, 0,
4401 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4402 8, 4, 5, 3, 4, 2,
4403 0,
4404 117,
4405 OPC_CheckChild1TypeI64,
4406 OPC_RecordChild2,
4407 OPC_SwitchType , 92, 7,
4408 OPC_Scope, 17,
4409 OPC_CheckPredicate3,
4410 OPC_CheckPatternPredicate4,
4411 OPC_CheckComplexPat1, /*#*/1,
4412 OPC_EmitMergeInputChains1_0,
4413 OPC_EmitInteger32, 0,
4414 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4415 7, 4, 5, 3, 4, 2,
4416 17,
4417 OPC_CheckPredicate1,
4418 OPC_CheckPatternPredicate4,
4419 OPC_CheckComplexPat1, /*#*/1,
4420 OPC_EmitMergeInputChains1_0,
4421 OPC_EmitInteger32, 0,
4422 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4423 7, 4, 5, 3, 4, 2,
4424 17,
4425 OPC_CheckPredicate2,
4426 OPC_CheckPatternPredicate4,
4427 OPC_CheckComplexPat1, /*#*/1,
4428 OPC_EmitMergeInputChains1_0,
4429 OPC_EmitInteger32, 0,
4430 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4431 7, 4, 5, 3, 4, 2,
4432 17,
4433 OPC_CheckPredicate1,
4434 OPC_CheckPatternPredicate4,
4435 OPC_CheckComplexPat1, /*#*/1,
4436 OPC_EmitMergeInputChains1_0,
4437 OPC_EmitInteger32, 0,
4438 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4439 7, 4, 5, 3, 4, 2,
4440 17,
4441 OPC_CheckPredicate2,
4442 OPC_CheckPatternPredicate4,
4443 OPC_CheckComplexPat1, /*#*/1,
4444 OPC_EmitMergeInputChains1_0,
4445 OPC_EmitInteger32, 0,
4446 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4447 7, 4, 5, 3, 4, 2,
4448 0,
4449 17, 8,
4450 OPC_CheckPredicate7,
4451 OPC_CheckPatternPredicate4,
4452 OPC_CheckComplexPat1, /*#*/1,
4453 OPC_EmitMergeInputChains1_0,
4454 OPC_EmitInteger32, 0,
4455 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4456 8, 4, 5, 3, 4, 2,
4457 0,
4458 0,
4459 113|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
4460 OPC_RecordMemRef,
4461 OPC_RecordNode,
4462 OPC_RecordChild1,
4463 OPC_Scope, 117,
4464 OPC_CheckChild1TypeI32,
4465 OPC_RecordChild2,
4466 OPC_SwitchType , 92, 7,
4467 OPC_Scope, 17,
4468 OPC_CheckPredicate3,
4469 OPC_CheckPatternPredicate3,
4470 OPC_CheckComplexPat0, /*#*/1,
4471 OPC_EmitMergeInputChains1_0,
4472 OPC_EmitInteger32, 0,
4473 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4474 7, 4, 5, 3, 4, 2,
4475 17,
4476 OPC_CheckPredicate1,
4477 OPC_CheckPatternPredicate3,
4478 OPC_CheckComplexPat0, /*#*/1,
4479 OPC_EmitMergeInputChains1_0,
4480 OPC_EmitInteger32, 0,
4481 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4482 7, 4, 5, 3, 4, 2,
4483 17,
4484 OPC_CheckPredicate2,
4485 OPC_CheckPatternPredicate3,
4486 OPC_CheckComplexPat0, /*#*/1,
4487 OPC_EmitMergeInputChains1_0,
4488 OPC_EmitInteger32, 0,
4489 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4490 7, 4, 5, 3, 4, 2,
4491 17,
4492 OPC_CheckPredicate1,
4493 OPC_CheckPatternPredicate3,
4494 OPC_CheckComplexPat0, /*#*/1,
4495 OPC_EmitMergeInputChains1_0,
4496 OPC_EmitInteger32, 0,
4497 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4498 7, 4, 5, 3, 4, 2,
4499 17,
4500 OPC_CheckPredicate2,
4501 OPC_CheckPatternPredicate3,
4502 OPC_CheckComplexPat0, /*#*/1,
4503 OPC_EmitMergeInputChains1_0,
4504 OPC_EmitInteger32, 0,
4505 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4506 7, 4, 5, 3, 4, 2,
4507 0,
4508 17, 8,
4509 OPC_CheckPredicate7,
4510 OPC_CheckPatternPredicate3,
4511 OPC_CheckComplexPat0, /*#*/1,
4512 OPC_EmitMergeInputChains1_0,
4513 OPC_EmitInteger32, 0,
4514 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4515 8, 4, 5, 3, 4, 2,
4516 0,
4517 117,
4518 OPC_CheckChild1TypeI64,
4519 OPC_RecordChild2,
4520 OPC_SwitchType , 92, 7,
4521 OPC_Scope, 17,
4522 OPC_CheckPredicate3,
4523 OPC_CheckPatternPredicate4,
4524 OPC_CheckComplexPat1, /*#*/1,
4525 OPC_EmitMergeInputChains1_0,
4526 OPC_EmitInteger32, 0,
4527 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4528 7, 4, 5, 3, 4, 2,
4529 17,
4530 OPC_CheckPredicate1,
4531 OPC_CheckPatternPredicate4,
4532 OPC_CheckComplexPat1, /*#*/1,
4533 OPC_EmitMergeInputChains1_0,
4534 OPC_EmitInteger32, 0,
4535 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4536 7, 4, 5, 3, 4, 2,
4537 17,
4538 OPC_CheckPredicate2,
4539 OPC_CheckPatternPredicate4,
4540 OPC_CheckComplexPat1, /*#*/1,
4541 OPC_EmitMergeInputChains1_0,
4542 OPC_EmitInteger32, 0,
4543 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4544 7, 4, 5, 3, 4, 2,
4545 17,
4546 OPC_CheckPredicate1,
4547 OPC_CheckPatternPredicate4,
4548 OPC_CheckComplexPat1, /*#*/1,
4549 OPC_EmitMergeInputChains1_0,
4550 OPC_EmitInteger32, 0,
4551 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4552 7, 4, 5, 3, 4, 2,
4553 17,
4554 OPC_CheckPredicate2,
4555 OPC_CheckPatternPredicate4,
4556 OPC_CheckComplexPat1, /*#*/1,
4557 OPC_EmitMergeInputChains1_0,
4558 OPC_EmitInteger32, 0,
4559 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4560 7, 4, 5, 3, 4, 2,
4561 0,
4562 17, 8,
4563 OPC_CheckPredicate7,
4564 OPC_CheckPatternPredicate4,
4565 OPC_CheckComplexPat1, /*#*/1,
4566 OPC_EmitMergeInputChains1_0,
4567 OPC_EmitInteger32, 0,
4568 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4569 8, 4, 5, 3, 4, 2,
4570 0,
4571 0,
4572 127|128,1, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4573 OPC_RecordMemRef,
4574 OPC_RecordNode,
4575 OPC_RecordChild1,
4576 OPC_Scope, 124,
4577 OPC_CheckChild1TypeI32,
4578 OPC_RecordChild2,
4579 OPC_RecordChild3,
4580 OPC_SwitchType , 97, 7,
4581 OPC_Scope, 18,
4582 OPC_CheckPredicate3,
4583 OPC_CheckPatternPredicate3,
4584 OPC_CheckComplexPat0, /*#*/1,
4585 OPC_EmitMergeInputChains1_0,
4586 OPC_EmitInteger32, 0,
4587 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4588 7, 5, 6, 4, 5, 2, 3,
4589 18,
4590 OPC_CheckPredicate1,
4591 OPC_CheckPatternPredicate3,
4592 OPC_CheckComplexPat0, /*#*/1,
4593 OPC_EmitMergeInputChains1_0,
4594 OPC_EmitInteger32, 0,
4595 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4596 7, 5, 6, 4, 5, 2, 3,
4597 18,
4598 OPC_CheckPredicate2,
4599 OPC_CheckPatternPredicate3,
4600 OPC_CheckComplexPat0, /*#*/1,
4601 OPC_EmitMergeInputChains1_0,
4602 OPC_EmitInteger32, 0,
4603 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4604 7, 5, 6, 4, 5, 2, 3,
4605 18,
4606 OPC_CheckPredicate1,
4607 OPC_CheckPatternPredicate3,
4608 OPC_CheckComplexPat0, /*#*/1,
4609 OPC_EmitMergeInputChains1_0,
4610 OPC_EmitInteger32, 0,
4611 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4612 7, 5, 6, 4, 5, 2, 3,
4613 18,
4614 OPC_CheckPredicate2,
4615 OPC_CheckPatternPredicate3,
4616 OPC_CheckComplexPat0, /*#*/1,
4617 OPC_EmitMergeInputChains1_0,
4618 OPC_EmitInteger32, 0,
4619 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A32), 0|OPFL_Chain|OPFL_MemRefs,
4620 7, 5, 6, 4, 5, 2, 3,
4621 0,
4622 18, 8,
4623 OPC_CheckPredicate7,
4624 OPC_CheckPatternPredicate3,
4625 OPC_CheckComplexPat0, /*#*/1,
4626 OPC_EmitMergeInputChains1_0,
4627 OPC_EmitInteger32, 0,
4628 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A32), 0|OPFL_Chain|OPFL_MemRefs,
4629 8, 5, 6, 4, 5, 2, 3,
4630 0,
4631 124,
4632 OPC_CheckChild1TypeI64,
4633 OPC_RecordChild2,
4634 OPC_RecordChild3,
4635 OPC_SwitchType , 97, 7,
4636 OPC_Scope, 18,
4637 OPC_CheckPredicate3,
4638 OPC_CheckPatternPredicate4,
4639 OPC_CheckComplexPat1, /*#*/1,
4640 OPC_EmitMergeInputChains1_0,
4641 OPC_EmitInteger32, 0,
4642 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4643 7, 5, 6, 4, 5, 2, 3,
4644 18,
4645 OPC_CheckPredicate1,
4646 OPC_CheckPatternPredicate4,
4647 OPC_CheckComplexPat1, /*#*/1,
4648 OPC_EmitMergeInputChains1_0,
4649 OPC_EmitInteger32, 0,
4650 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4651 7, 5, 6, 4, 5, 2, 3,
4652 18,
4653 OPC_CheckPredicate2,
4654 OPC_CheckPatternPredicate4,
4655 OPC_CheckComplexPat1, /*#*/1,
4656 OPC_EmitMergeInputChains1_0,
4657 OPC_EmitInteger32, 0,
4658 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4659 7, 5, 6, 4, 5, 2, 3,
4660 18,
4661 OPC_CheckPredicate1,
4662 OPC_CheckPatternPredicate4,
4663 OPC_CheckComplexPat1, /*#*/1,
4664 OPC_EmitMergeInputChains1_0,
4665 OPC_EmitInteger32, 0,
4666 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4667 7, 5, 6, 4, 5, 2, 3,
4668 18,
4669 OPC_CheckPredicate2,
4670 OPC_CheckPatternPredicate4,
4671 OPC_CheckComplexPat1, /*#*/1,
4672 OPC_EmitMergeInputChains1_0,
4673 OPC_EmitInteger32, 0,
4674 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32_A64), 0|OPFL_Chain|OPFL_MemRefs,
4675 7, 5, 6, 4, 5, 2, 3,
4676 0,
4677 18, 8,
4678 OPC_CheckPredicate7,
4679 OPC_CheckPatternPredicate4,
4680 OPC_CheckComplexPat1, /*#*/1,
4681 OPC_EmitMergeInputChains1_0,
4682 OPC_EmitInteger32, 0,
4683 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64_A64), 0|OPFL_Chain|OPFL_MemRefs,
4684 8, 5, 6, 4, 5, 2, 3,
4685 0,
4686 0,
4687 89, TARGET_VAL(ISD::BRCOND),
4688 OPC_RecordNode,
4689 OPC_Scope, 69,
4690 OPC_MoveChild1,
4691 OPC_SwitchOpcode , 21, TARGET_VAL(ISD::XOR),
4692 OPC_RecordChild0,
4693 OPC_MoveChild0,
4694 OPC_CheckPredicate, 26,
4695 OPC_MoveParent,
4696 OPC_CheckChild1Integer, 2,
4697 OPC_CheckTypeI32,
4698 OPC_MoveSibling2,
4699 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4700 OPC_RecordNode,
4701 OPC_MoveParent,
4702 OPC_EmitMergeInputChains1_0,
4703 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
4704 2, 2, 1,
4705 39, TARGET_VAL(ISD::SETCC),
4706 OPC_RecordChild0,
4707 OPC_CheckChild0TypeI32,
4708 OPC_CheckChild1Integer, 0,
4709 OPC_CheckTypeI32,
4710 OPC_Scope, 15,
4711 OPC_CheckChild2CondCode, ISD::SETNE,
4712 OPC_MoveSibling2,
4713 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4714 OPC_RecordNode,
4715 OPC_MoveParent,
4716 OPC_EmitMergeInputChains1_0,
4717 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
4718 2, 2, 1,
4719 15,
4720 OPC_CheckChild2CondCode, ISD::SETEQ,
4721 OPC_MoveSibling2,
4722 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4723 OPC_RecordNode,
4724 OPC_MoveParent,
4725 OPC_EmitMergeInputChains1_0,
4726 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_UNLESS),
4727 2, 2, 1,
4728 0,
4729 0,
4730 15,
4731 OPC_RecordChild1,
4732 OPC_CheckChild1TypeI32,
4733 OPC_RecordChild2,
4734 OPC_MoveChild2,
4735 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
4736 OPC_MoveParent,
4737 OPC_EmitMergeInputChains1_0,
4738 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR_IF),
4739 2, 2, 1,
4740 0,
4741 59, TARGET_VAL(ISD::SHL),
4742 OPC_RecordChild0,
4743 OPC_Scope, 31,
4744 OPC_MoveChild1,
4745 OPC_SwitchType , 12, 7,
4746 OPC_CheckAndImm, 31,
4747 OPC_RecordChild0,
4748 OPC_MoveParent,
4749 OPC_CheckTypeI32,
4750 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
4751 7, 2, 0, 1,
4752 12, 8,
4753 OPC_CheckAndImm, 63,
4754 OPC_RecordChild0,
4755 OPC_MoveParent,
4756 OPC_CheckTypeI64,
4757 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
4758 8, 2, 0, 1,
4759 0,
4760 23,
4761 OPC_RecordChild1,
4762 OPC_SwitchType , 8, 7,
4763 OPC_CheckChild1TypeI32,
4764 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32),
4765 7, 2, 0, 1,
4766 8, 8,
4767 OPC_CheckChild1TypeI64,
4768 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64),
4769 8, 2, 0, 1,
4770 0,
4771 0,
4772 59, TARGET_VAL(ISD::SRA),
4773 OPC_RecordChild0,
4774 OPC_Scope, 31,
4775 OPC_MoveChild1,
4776 OPC_SwitchType , 12, 7,
4777 OPC_CheckAndImm, 31,
4778 OPC_RecordChild0,
4779 OPC_MoveParent,
4780 OPC_CheckTypeI32,
4781 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
4782 7, 2, 0, 1,
4783 12, 8,
4784 OPC_CheckAndImm, 63,
4785 OPC_RecordChild0,
4786 OPC_MoveParent,
4787 OPC_CheckTypeI64,
4788 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
4789 8, 2, 0, 1,
4790 0,
4791 23,
4792 OPC_RecordChild1,
4793 OPC_SwitchType , 8, 7,
4794 OPC_CheckChild1TypeI32,
4795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32),
4796 7, 2, 0, 1,
4797 8, 8,
4798 OPC_CheckChild1TypeI64,
4799 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64),
4800 8, 2, 0, 1,
4801 0,
4802 0,
4803 59, TARGET_VAL(ISD::SRL),
4804 OPC_RecordChild0,
4805 OPC_Scope, 31,
4806 OPC_MoveChild1,
4807 OPC_SwitchType , 12, 7,
4808 OPC_CheckAndImm, 31,
4809 OPC_RecordChild0,
4810 OPC_MoveParent,
4811 OPC_CheckTypeI32,
4812 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
4813 7, 2, 0, 1,
4814 12, 8,
4815 OPC_CheckAndImm, 63,
4816 OPC_RecordChild0,
4817 OPC_MoveParent,
4818 OPC_CheckTypeI64,
4819 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
4820 8, 2, 0, 1,
4821 0,
4822 23,
4823 OPC_RecordChild1,
4824 OPC_SwitchType , 8, 7,
4825 OPC_CheckChild1TypeI32,
4826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32),
4827 7, 2, 0, 1,
4828 8, 8,
4829 OPC_CheckChild1TypeI64,
4830 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64),
4831 8, 2, 0, 1,
4832 0,
4833 0,
4834 59, TARGET_VAL(ISD::ROTL),
4835 OPC_RecordChild0,
4836 OPC_Scope, 31,
4837 OPC_MoveChild1,
4838 OPC_SwitchType , 12, 7,
4839 OPC_CheckAndImm, 31,
4840 OPC_RecordChild0,
4841 OPC_MoveParent,
4842 OPC_CheckTypeI32,
4843 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
4844 7, 2, 0, 1,
4845 12, 8,
4846 OPC_CheckAndImm, 63,
4847 OPC_RecordChild0,
4848 OPC_MoveParent,
4849 OPC_CheckTypeI64,
4850 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
4851 8, 2, 0, 1,
4852 0,
4853 23,
4854 OPC_RecordChild1,
4855 OPC_SwitchType , 8, 7,
4856 OPC_CheckChild1TypeI32,
4857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I32),
4858 7, 2, 0, 1,
4859 8, 8,
4860 OPC_CheckChild1TypeI64,
4861 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTL_I64),
4862 8, 2, 0, 1,
4863 0,
4864 0,
4865 59, TARGET_VAL(ISD::ROTR),
4866 OPC_RecordChild0,
4867 OPC_Scope, 31,
4868 OPC_MoveChild1,
4869 OPC_SwitchType , 12, 7,
4870 OPC_CheckAndImm, 31,
4871 OPC_RecordChild0,
4872 OPC_MoveParent,
4873 OPC_CheckTypeI32,
4874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
4875 7, 2, 0, 1,
4876 12, 8,
4877 OPC_CheckAndImm, 63,
4878 OPC_RecordChild0,
4879 OPC_MoveParent,
4880 OPC_CheckTypeI64,
4881 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
4882 8, 2, 0, 1,
4883 0,
4884 23,
4885 OPC_RecordChild1,
4886 OPC_SwitchType , 8, 7,
4887 OPC_CheckChild1TypeI32,
4888 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I32),
4889 7, 2, 0, 1,
4890 8, 8,
4891 OPC_CheckChild1TypeI64,
4892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ROTR_I64),
4893 8, 2, 0, 1,
4894 0,
4895 0,
4896 48|128,4, TARGET_VAL(ISD::SELECT),
4897 OPC_Scope, 11|128,1,
4898 OPC_MoveChild0,
4899 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
4900 OPC_RecordChild0,
4901 OPC_CheckChild0TypeI32,
4902 OPC_CheckChild1Integer, 0,
4903 OPC_CheckTypeI32,
4904 OPC_Scope, 63,
4905 OPC_CheckChild2CondCode, ISD::SETNE,
4906 OPC_MoveParent,
4907 OPC_RecordChild1,
4908 OPC_RecordChild2,
4909 OPC_SwitchType , 8, 7,
4910 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4911 7, 3, 1, 2, 0,
4912 8, 8,
4913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4914 8, 3, 1, 2, 0,
4915 9, 104|128,1,
4916 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
4917 104|128,1, 3, 1, 2, 0,
4918 9, 105|128,1,
4919 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
4920 105|128,1, 3, 1, 2, 0,
4921 9, 106|128,1,
4922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
4923 106|128,1, 3, 1, 2, 0,
4924 0,
4925 63,
4926 OPC_CheckChild2CondCode, ISD::SETEQ,
4927 OPC_MoveParent,
4928 OPC_RecordChild1,
4929 OPC_RecordChild2,
4930 OPC_SwitchType , 8, 7,
4931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4932 7, 3, 2, 1, 0,
4933 8, 8,
4934 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4935 8, 3, 2, 1, 0,
4936 9, 104|128,1,
4937 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
4938 104|128,1, 3, 2, 1, 0,
4939 9, 105|128,1,
4940 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
4941 105|128,1, 3, 2, 1, 0,
4942 9, 106|128,1,
4943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
4944 106|128,1, 3, 2, 1, 0,
4945 0,
4946 0,
4947 65,
4948 OPC_RecordChild0,
4949 OPC_CheckChild0TypeI32,
4950 OPC_RecordChild1,
4951 OPC_RecordChild2,
4952 OPC_SwitchType , 8, 7,
4953 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I32),
4954 7, 3, 1, 2, 0,
4955 8, 8,
4956 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_I64),
4957 8, 3, 1, 2, 0,
4958 10, 104|128,1,
4959 OPC_CheckPatternPredicate6,
4960 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_FUNCREF),
4961 104|128,1, 3, 1, 2, 0,
4962 10, 105|128,1,
4963 OPC_CheckPatternPredicate6,
4964 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXTERNREF),
4965 105|128,1, 3, 1, 2, 0,
4966 10, 106|128,1,
4967 OPC_CheckPatternPredicate6,
4968 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_EXNREF),
4969 106|128,1, 3, 1, 2, 0,
4970 0,
4971 67,
4972 OPC_MoveChild0,
4973 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
4974 OPC_RecordChild0,
4975 OPC_CheckChild0TypeI32,
4976 OPC_CheckChild1Integer, 0,
4977 OPC_CheckTypeI32,
4978 OPC_Scope, 27,
4979 OPC_CheckChild2CondCode, ISD::SETNE,
4980 OPC_MoveParent,
4981 OPC_RecordChild1,
4982 OPC_RecordChild2,
4983 OPC_SwitchType , 8, 12,
4984 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
4985 12, 3, 1, 2, 0,
4986 8, 13,
4987 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
4988 13, 3, 1, 2, 0,
4989 0,
4990 27,
4991 OPC_CheckChild2CondCode, ISD::SETEQ,
4992 OPC_MoveParent,
4993 OPC_RecordChild1,
4994 OPC_RecordChild2,
4995 OPC_SwitchType , 8, 12,
4996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
4997 12, 3, 2, 1, 0,
4998 8, 13,
4999 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5000 13, 3, 2, 1, 0,
5001 0,
5002 0,
5003 26,
5004 OPC_RecordChild0,
5005 OPC_CheckChild0TypeI32,
5006 OPC_RecordChild1,
5007 OPC_RecordChild2,
5008 OPC_SwitchType , 8, 12,
5009 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F32),
5010 12, 3, 1, 2, 0,
5011 8, 13,
5012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_F64),
5013 13, 3, 1, 2, 0,
5014 0,
5015 107,
5016 OPC_MoveChild0,
5017 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5018 OPC_RecordChild0,
5019 OPC_CheckChild0TypeI32,
5020 OPC_CheckChild1Integer, 0,
5021 OPC_CheckTypeI32,
5022 OPC_Scope, 47,
5023 OPC_CheckChild2CondCode, ISD::SETNE,
5024 OPC_MoveParent,
5025 OPC_RecordChild1,
5026 OPC_RecordChild2,
5027 OPC_SwitchType , 8, 40,
5028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5029 40, 3, 1, 2, 0,
5030 8, 51,
5031 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5032 51, 3, 1, 2, 0,
5033 8, 62,
5034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5035 62, 3, 1, 2, 0,
5036 8, 81,
5037 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5038 81, 3, 1, 2, 0,
5039 0,
5040 47,
5041 OPC_CheckChild2CondCode, ISD::SETEQ,
5042 OPC_MoveParent,
5043 OPC_RecordChild1,
5044 OPC_RecordChild2,
5045 OPC_SwitchType , 8, 40,
5046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5047 40, 3, 2, 1, 0,
5048 8, 51,
5049 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5050 51, 3, 2, 1, 0,
5051 8, 62,
5052 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5053 62, 3, 2, 1, 0,
5054 8, 81,
5055 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5056 81, 3, 2, 1, 0,
5057 0,
5058 0,
5059 46,
5060 OPC_RecordChild0,
5061 OPC_CheckChild0TypeI32,
5062 OPC_RecordChild1,
5063 OPC_RecordChild2,
5064 OPC_SwitchType , 8, 40,
5065 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5066 40, 3, 1, 2, 0,
5067 8, 51,
5068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5069 51, 3, 1, 2, 0,
5070 8, 62,
5071 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5072 62, 3, 1, 2, 0,
5073 8, 81,
5074 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5075 81, 3, 1, 2, 0,
5076 0,
5077 71,
5078 OPC_MoveChild0,
5079 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5080 OPC_RecordChild0,
5081 OPC_CheckChild0TypeI32,
5082 OPC_CheckChild1Integer, 0,
5083 OPC_CheckTypeI32,
5084 OPC_Scope, 29,
5085 OPC_CheckChild2CondCode, ISD::SETNE,
5086 OPC_MoveParent,
5087 OPC_RecordChild1,
5088 OPC_RecordChild2,
5089 OPC_SwitchType , 8, 116,
5090 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5091 116, 3, 1, 2, 0,
5092 9, 6|128,1,
5093 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5094 6|128,1, 3, 1, 2, 0,
5095 0,
5096 29,
5097 OPC_CheckChild2CondCode, ISD::SETEQ,
5098 OPC_MoveParent,
5099 OPC_RecordChild1,
5100 OPC_RecordChild2,
5101 OPC_SwitchType , 8, 116,
5102 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5103 116, 3, 2, 1, 0,
5104 9, 6|128,1,
5105 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5106 6|128,1, 3, 2, 1, 0,
5107 0,
5108 0,
5109 28,
5110 OPC_RecordChild0,
5111 OPC_CheckChild0TypeI32,
5112 OPC_RecordChild1,
5113 OPC_RecordChild2,
5114 OPC_SwitchType , 8, 116,
5115 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5116 116, 3, 1, 2, 0,
5117 9, 6|128,1,
5118 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SELECT_V128),
5119 6|128,1, 3, 1, 2, 0,
5120 0,
5121 0,
5122 1|128,1, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
5123 OPC_Scope, 57,
5124 OPC_MoveChild0,
5125 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
5126 OPC_RecordChild0,
5127 OPC_Scope, 24,
5128 OPC_CheckChild0Type, 40,
5129 OPC_RecordChild1,
5130 OPC_MoveChild1,
5131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5132 OPC_CheckPredicate, 20,
5133 OPC_CheckTypeI32,
5134 OPC_MoveParent,
5135 OPC_MoveSibling1,
5136 OPC_CheckValueType, 5,
5137 OPC_MoveParent,
5138 OPC_CheckTypeI32,
5139 OPC_EmitConvertToTarget1,
5140 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_s),
5141 7, 2, 0, 2,
5142 24,
5143 OPC_CheckChild0Type, 51,
5144 OPC_RecordChild1,
5145 OPC_MoveChild1,
5146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5147 OPC_CheckPredicate, 14,
5148 OPC_CheckTypeI32,
5149 OPC_MoveParent,
5150 OPC_MoveSibling1,
5151 OPC_CheckValueType, 6,
5152 OPC_MoveParent,
5153 OPC_CheckTypeI32,
5154 OPC_EmitConvertToTarget1,
5155 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_s),
5156 7, 2, 0, 2,
5157 0,
5158 68,
5159 OPC_RecordChild0,
5160 OPC_MoveChild1,
5161 OPC_Scope, 25,
5162 OPC_CheckValueType, 5,
5163 OPC_MoveParent,
5164 OPC_SwitchType , 8, 7,
5165 OPC_CheckPatternPredicate, 11,
5166 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32),
5167 7, 1, 0,
5168 8, 8,
5169 OPC_CheckPatternPredicate, 11,
5170 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64),
5171 8, 1, 0,
5172 0,
5173 25,
5174 OPC_CheckValueType, 6,
5175 OPC_MoveParent,
5176 OPC_SwitchType , 8, 7,
5177 OPC_CheckPatternPredicate, 11,
5178 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32),
5179 7, 1, 0,
5180 8, 8,
5181 OPC_CheckPatternPredicate, 11,
5182 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64),
5183 8, 1, 0,
5184 0,
5185 11,
5186 OPC_CheckValueType, 7,
5187 OPC_MoveParent,
5188 OPC_CheckPatternPredicate, 11,
5189 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64),
5190 8, 1, 0,
5191 0,
5192 0,
5193 46|128,1, TARGET_VAL(WebAssemblyISD::GLOBAL_GET),
5194 OPC_RecordMemRef,
5195 OPC_RecordNode,
5196 OPC_MoveChild1,
5197 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5198 OPC_RecordChild0,
5199 OPC_MoveChild0,
5200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5201 OPC_MoveParent,
5202 OPC_MoveParent,
5203 OPC_SwitchType , 8, 7,
5204 OPC_EmitMergeInputChains1_0,
5205 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5206 7, 1, 1,
5207 8, 8,
5208 OPC_EmitMergeInputChains1_0,
5209 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5210 8, 1, 1,
5211 10, 104|128,1,
5212 OPC_CheckPatternPredicate6,
5213 OPC_EmitMergeInputChains1_0,
5214 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5215 104|128,1, 1, 1,
5216 10, 105|128,1,
5217 OPC_CheckPatternPredicate6,
5218 OPC_EmitMergeInputChains1_0,
5219 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5220 105|128,1, 1, 1,
5221 11, 106|128,1,
5222 OPC_CheckPatternPredicate, 8,
5223 OPC_EmitMergeInputChains1_0,
5224 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5225 106|128,1, 1, 1,
5226 8, 12,
5227 OPC_EmitMergeInputChains1_0,
5228 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5229 12, 1, 1,
5230 8, 13,
5231 OPC_EmitMergeInputChains1_0,
5232 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5233 13, 1, 1,
5234 9, 81,
5235 OPC_CheckPatternPredicate0,
5236 OPC_EmitMergeInputChains1_0,
5237 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5238 81, 1, 1,
5239 9, 62,
5240 OPC_CheckPatternPredicate0,
5241 OPC_EmitMergeInputChains1_0,
5242 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5243 62, 1, 1,
5244 9, 40,
5245 OPC_CheckPatternPredicate0,
5246 OPC_EmitMergeInputChains1_0,
5247 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5248 40, 1, 1,
5249 9, 51,
5250 OPC_CheckPatternPredicate0,
5251 OPC_EmitMergeInputChains1_0,
5252 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5253 51, 1, 1,
5254 9, 95,
5255 OPC_CheckPatternPredicate0,
5256 OPC_EmitMergeInputChains1_0,
5257 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5258 95, 1, 1,
5259 9, 116,
5260 OPC_CheckPatternPredicate0,
5261 OPC_EmitMergeInputChains1_0,
5262 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5263 116, 1, 1,
5264 10, 6|128,1,
5265 OPC_CheckPatternPredicate0,
5266 OPC_EmitMergeInputChains1_0,
5267 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GLOBAL_GET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5268 6|128,1, 1, 1,
5269 0,
5270 70|128,2, TARGET_VAL(WebAssemblyISD::GLOBAL_SET),
5271 OPC_RecordMemRef,
5272 OPC_RecordNode,
5273 OPC_RecordChild1,
5274 OPC_Scope, 20,
5275 OPC_CheckChild1TypeI32,
5276 OPC_MoveChild2,
5277 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5278 OPC_RecordChild0,
5279 OPC_MoveChild0,
5280 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5281 OPC_MoveParent,
5282 OPC_MoveParent,
5283 OPC_EmitMergeInputChains1_0,
5284 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I32), 0|OPFL_Chain|OPFL_MemRefs,
5285 2, 2, 1,
5286 20,
5287 OPC_CheckChild1TypeI64,
5288 OPC_MoveChild2,
5289 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5290 OPC_RecordChild0,
5291 OPC_MoveChild0,
5292 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5293 OPC_MoveParent,
5294 OPC_MoveParent,
5295 OPC_EmitMergeInputChains1_0,
5296 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_I64), 0|OPFL_Chain|OPFL_MemRefs,
5297 2, 2, 1,
5298 21,
5299 OPC_CheckChild1Type, 12,
5300 OPC_MoveChild2,
5301 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5302 OPC_RecordChild0,
5303 OPC_MoveChild0,
5304 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5305 OPC_MoveParent,
5306 OPC_MoveParent,
5307 OPC_EmitMergeInputChains1_0,
5308 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F32), 0|OPFL_Chain|OPFL_MemRefs,
5309 2, 2, 1,
5310 21,
5311 OPC_CheckChild1Type, 13,
5312 OPC_MoveChild2,
5313 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5314 OPC_RecordChild0,
5315 OPC_MoveChild0,
5316 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5317 OPC_MoveParent,
5318 OPC_MoveParent,
5319 OPC_EmitMergeInputChains1_0,
5320 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_F64), 0|OPFL_Chain|OPFL_MemRefs,
5321 2, 2, 1,
5322 22,
5323 OPC_CheckChild1Type, 81,
5324 OPC_MoveChild2,
5325 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5326 OPC_RecordChild0,
5327 OPC_MoveChild0,
5328 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5329 OPC_MoveParent,
5330 OPC_MoveParent,
5331 OPC_CheckPatternPredicate0,
5332 OPC_EmitMergeInputChains1_0,
5333 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5334 2, 2, 1,
5335 22,
5336 OPC_CheckChild1Type, 62,
5337 OPC_MoveChild2,
5338 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5339 OPC_RecordChild0,
5340 OPC_MoveChild0,
5341 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5342 OPC_MoveParent,
5343 OPC_MoveParent,
5344 OPC_CheckPatternPredicate0,
5345 OPC_EmitMergeInputChains1_0,
5346 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5347 2, 2, 1,
5348 22,
5349 OPC_CheckChild1Type, 40,
5350 OPC_MoveChild2,
5351 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5352 OPC_RecordChild0,
5353 OPC_MoveChild0,
5354 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5355 OPC_MoveParent,
5356 OPC_MoveParent,
5357 OPC_CheckPatternPredicate0,
5358 OPC_EmitMergeInputChains1_0,
5359 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5360 2, 2, 1,
5361 22,
5362 OPC_CheckChild1Type, 51,
5363 OPC_MoveChild2,
5364 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5365 OPC_RecordChild0,
5366 OPC_MoveChild0,
5367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5368 OPC_MoveParent,
5369 OPC_MoveParent,
5370 OPC_CheckPatternPredicate0,
5371 OPC_EmitMergeInputChains1_0,
5372 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5373 2, 2, 1,
5374 22,
5375 OPC_CheckChild1Type, 95,
5376 OPC_MoveChild2,
5377 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5378 OPC_RecordChild0,
5379 OPC_MoveChild0,
5380 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5381 OPC_MoveParent,
5382 OPC_MoveParent,
5383 OPC_CheckPatternPredicate0,
5384 OPC_EmitMergeInputChains1_0,
5385 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5386 2, 2, 1,
5387 22,
5388 OPC_CheckChild1Type, 116,
5389 OPC_MoveChild2,
5390 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5391 OPC_RecordChild0,
5392 OPC_MoveChild0,
5393 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5394 OPC_MoveParent,
5395 OPC_MoveParent,
5396 OPC_CheckPatternPredicate0,
5397 OPC_EmitMergeInputChains1_0,
5398 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5399 2, 2, 1,
5400 23,
5401 OPC_CheckChild1Type, 6|128,1,
5402 OPC_MoveChild2,
5403 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5404 OPC_RecordChild0,
5405 OPC_MoveChild0,
5406 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5407 OPC_MoveParent,
5408 OPC_MoveParent,
5409 OPC_CheckPatternPredicate0,
5410 OPC_EmitMergeInputChains1_0,
5411 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_V128), 0|OPFL_Chain|OPFL_MemRefs,
5412 2, 2, 1,
5413 23,
5414 OPC_CheckChild1Type, 104|128,1,
5415 OPC_MoveChild2,
5416 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5417 OPC_RecordChild0,
5418 OPC_MoveChild0,
5419 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5420 OPC_MoveParent,
5421 OPC_MoveParent,
5422 OPC_CheckPatternPredicate6,
5423 OPC_EmitMergeInputChains1_0,
5424 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5425 2, 2, 1,
5426 23,
5427 OPC_CheckChild1Type, 105|128,1,
5428 OPC_MoveChild2,
5429 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5430 OPC_RecordChild0,
5431 OPC_MoveChild0,
5432 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5433 OPC_MoveParent,
5434 OPC_MoveParent,
5435 OPC_CheckPatternPredicate6,
5436 OPC_EmitMergeInputChains1_0,
5437 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5438 2, 2, 1,
5439 24,
5440 OPC_CheckChild1Type, 106|128,1,
5441 OPC_MoveChild2,
5442 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5443 OPC_RecordChild0,
5444 OPC_MoveChild0,
5445 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5446 OPC_MoveParent,
5447 OPC_MoveParent,
5448 OPC_CheckPatternPredicate, 8,
5449 OPC_EmitMergeInputChains1_0,
5450 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::GLOBAL_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5451 2, 2, 1,
5452 0,
5453 21, TARGET_VAL(ISD::CALLSEQ_START),
5454 OPC_RecordNode,
5455 OPC_RecordChild1,
5456 OPC_MoveChild1,
5457 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5458 OPC_MoveSibling2,
5459 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5460 OPC_RecordNode,
5461 OPC_MoveParent,
5462 OPC_EmitMergeInputChains1_0,
5463 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
5464 7, 2, 1, 2,
5465 22, TARGET_VAL(ISD::CALLSEQ_END),
5466 OPC_RecordNode,
5467 OPC_CaptureGlueInput,
5468 OPC_RecordChild1,
5469 OPC_MoveChild1,
5470 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5471 OPC_MoveSibling2,
5472 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
5473 OPC_RecordNode,
5474 OPC_MoveParent,
5475 OPC_EmitMergeInputChains1_0,
5476 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
5477 7, 2, 1, 2,
5478 60, TARGET_VAL(WebAssemblyISD::TABLE_GET),
5479 OPC_RecordMemRef,
5480 OPC_RecordNode,
5481 OPC_MoveChild1,
5482 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5483 OPC_RecordChild0,
5484 OPC_MoveChild0,
5485 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5486 OPC_MoveParent,
5487 OPC_MoveParent,
5488 OPC_RecordChild2,
5489 OPC_CheckChild2TypeI32,
5490 OPC_SwitchType , 11, 104|128,1,
5491 OPC_CheckPatternPredicate6,
5492 OPC_EmitMergeInputChains1_0,
5493 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5494 104|128,1, 2, 1, 2,
5495 11, 105|128,1,
5496 OPC_CheckPatternPredicate6,
5497 OPC_EmitMergeInputChains1_0,
5498 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5499 105|128,1, 2, 1, 2,
5500 12, 106|128,1,
5501 OPC_CheckPatternPredicate, 8,
5502 OPC_EmitMergeInputChains1_0,
5503 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TABLE_GET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5504 106|128,1, 2, 1, 2,
5505 0,
5506 87, TARGET_VAL(WebAssemblyISD::TABLE_SET),
5507 OPC_RecordMemRef,
5508 OPC_RecordNode,
5509 OPC_Scope, 59,
5510 OPC_MoveChild1,
5511 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5512 OPC_RecordChild0,
5513 OPC_MoveChild0,
5514 OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5515 OPC_MoveParent,
5516 OPC_MoveParent,
5517 OPC_RecordChild2,
5518 OPC_CheckChild2TypeI32,
5519 OPC_RecordChild3,
5520 OPC_Scope, 13,
5521 OPC_CheckChild3Type, 104|128,1,
5522 OPC_CheckPatternPredicate6,
5523 OPC_EmitMergeInputChains1_0,
5524 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5525 3, 1, 2, 3,
5526 13,
5527 OPC_CheckChild3Type, 105|128,1,
5528 OPC_CheckPatternPredicate6,
5529 OPC_EmitMergeInputChains1_0,
5530 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXTERNREF), 0|OPFL_Chain|OPFL_MemRefs,
5531 3, 1, 2, 3,
5532 14,
5533 OPC_CheckChild3Type, 106|128,1,
5534 OPC_CheckPatternPredicate, 8,
5535 OPC_EmitMergeInputChains1_0,
5536 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_EXNREF), 0|OPFL_Chain|OPFL_MemRefs,
5537 3, 1, 2, 3,
5538 0,
5539 22,
5540 OPC_RecordChild1,
5541 OPC_MoveChild1,
5542 OPC_CheckOpcode, TARGET_VAL(ISD::MCSymbol),
5543 OPC_MoveParent,
5544 OPC_RecordChild2,
5545 OPC_CheckChild2TypeI32,
5546 OPC_RecordChild3,
5547 OPC_CheckChild3Type, 104|128,1,
5548 OPC_CheckPatternPredicate6,
5549 OPC_EmitMergeInputChains1_0,
5550 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::TABLE_SET_FUNCREF), 0|OPFL_Chain|OPFL_MemRefs,
5551 3, 1, 2, 3,
5552 0,
5553 57, TARGET_VAL(WebAssemblyISD::MEMCPY),
5554 OPC_RecordNode,
5555 OPC_RecordChild1,
5556 OPC_MoveChild1,
5557 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5558 OPC_CheckTypeI32,
5559 OPC_MoveSibling2,
5560 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5561 OPC_RecordNode,
5562 OPC_CheckTypeI32,
5563 OPC_MoveParent,
5564 OPC_RecordChild3,
5565 OPC_Scope, 19,
5566 OPC_CheckChild3TypeI32,
5567 OPC_RecordChild4,
5568 OPC_CheckChild4TypeI32,
5569 OPC_RecordChild5,
5570 OPC_CheckChild5TypeI32,
5571 OPC_CheckPatternPredicate, 12,
5572 OPC_EmitMergeInputChains1_0,
5573 OPC_EmitConvertToTarget1,
5574 OPC_EmitConvertToTarget2,
5575 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A32),
5576 5, 6, 7, 3, 4, 5,
5577 19,
5578 OPC_CheckChild3TypeI64,
5579 OPC_RecordChild4,
5580 OPC_CheckChild4TypeI64,
5581 OPC_RecordChild5,
5582 OPC_CheckChild5TypeI64,
5583 OPC_CheckPatternPredicate, 12,
5584 OPC_EmitMergeInputChains1_0,
5585 OPC_EmitConvertToTarget1,
5586 OPC_EmitConvertToTarget2,
5587 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMCPY_A64),
5588 5, 6, 7, 3, 4, 5,
5589 0,
5590 119|128,9, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
5591 OPC_Scope, 49,
5592 OPC_CheckChild0Integer, 110|128,80|128,1,
5593 OPC_RecordChild1,
5594 OPC_Scope, 20,
5595 OPC_CheckChild1Type, 12,
5596 OPC_SwitchType , 6, 7,
5597 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F32),
5598 7, 1, 0,
5599 6, 8,
5600 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F32),
5601 8, 1, 0,
5602 0,
5603 20,
5604 OPC_CheckChild1Type, 13,
5605 OPC_SwitchType , 6, 7,
5606 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_F64),
5607 7, 1, 0,
5608 6, 8,
5609 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_F64),
5610 8, 1, 0,
5611 0,
5612 0,
5613 49,
5614 OPC_CheckChild0Integer, 112|128,80|128,1,
5615 OPC_RecordChild1,
5616 OPC_Scope, 20,
5617 OPC_CheckChild1Type, 12,
5618 OPC_SwitchType , 6, 7,
5619 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F32),
5620 7, 1, 0,
5621 6, 8,
5622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F32),
5623 8, 1, 0,
5624 0,
5625 20,
5626 OPC_CheckChild1Type, 13,
5627 OPC_SwitchType , 6, 7,
5628 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_F64),
5629 7, 1, 0,
5630 6, 8,
5631 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_F64),
5632 8, 1, 0,
5633 0,
5634 0,
5635 43,
5636 OPC_CheckChild0Integer, 98|128,79|128,1,
5637 OPC_RecordChild1,
5638 OPC_Scope, 8,
5639 OPC_CheckChild1Type, 40,
5640 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5641 7, 1, 0,
5642 8,
5643 OPC_CheckChild1Type, 51,
5644 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5645 7, 1, 0,
5646 8,
5647 OPC_CheckChild1Type, 62,
5648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5649 7, 1, 0,
5650 8,
5651 OPC_CheckChild1Type, 81,
5652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ANYTRUE),
5653 7, 1, 0,
5654 0,
5655 47,
5656 OPC_CheckChild0Integer, 96|128,79|128,1,
5657 OPC_RecordChild1,
5658 OPC_Scope, 9,
5659 OPC_CheckChild1Type, 40,
5660 OPC_CheckPatternPredicate0,
5661 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I8x16),
5662 7, 1, 0,
5663 9,
5664 OPC_CheckChild1Type, 51,
5665 OPC_CheckPatternPredicate0,
5666 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I16x8),
5667 7, 1, 0,
5668 9,
5669 OPC_CheckChild1Type, 62,
5670 OPC_CheckPatternPredicate0,
5671 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I32x4),
5672 7, 1, 0,
5673 9,
5674 OPC_CheckChild1Type, 81,
5675 OPC_CheckPatternPredicate0,
5676 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ALLTRUE_I64x2),
5677 7, 1, 0,
5678 0,
5679 47,
5680 OPC_CheckChild0Integer, 102|128,79|128,1,
5681 OPC_RecordChild1,
5682 OPC_Scope, 9,
5683 OPC_CheckChild1Type, 40,
5684 OPC_CheckPatternPredicate0,
5685 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I8x16),
5686 7, 1, 0,
5687 9,
5688 OPC_CheckChild1Type, 51,
5689 OPC_CheckPatternPredicate0,
5690 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I16x8),
5691 7, 1, 0,
5692 9,
5693 OPC_CheckChild1Type, 62,
5694 OPC_CheckPatternPredicate0,
5695 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I32x4),
5696 7, 1, 0,
5697 9,
5698 OPC_CheckChild1Type, 81,
5699 OPC_CheckPatternPredicate0,
5700 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITMASK_I64x2),
5701 7, 1, 0,
5702 0,
5703 11,
5704 OPC_CheckChild0Integer, 28|128,80|128,1,
5705 OPC_CheckPatternPredicate6,
5706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_FUNCREF),
5707 104|128,1, 0,
5708 12,
5709 OPC_CheckChild0Integer, 22|128,80|128,1,
5710 OPC_RecordChild1,
5711 OPC_CheckPatternPredicate6,
5712 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_FUNCREF),
5713 7, 1, 0,
5714 11,
5715 OPC_CheckChild0Integer, 26|128,80|128,1,
5716 OPC_CheckPatternPredicate6,
5717 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXTERNREF),
5718 105|128,1, 0,
5719 12,
5720 OPC_CheckChild0Integer, 20|128,80|128,1,
5721 OPC_RecordChild1,
5722 OPC_CheckPatternPredicate6,
5723 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXTERNREF),
5724 7, 1, 0,
5725 11,
5726 OPC_CheckChild0Integer, 24|128,80|128,1,
5727 OPC_CheckPatternPredicate6,
5728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_NULL_EXNREF),
5729 106|128,1, 0,
5730 12,
5731 OPC_CheckChild0Integer, 18|128,80|128,1,
5732 OPC_RecordChild1,
5733 OPC_CheckPatternPredicate6,
5734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REF_IS_NULL_EXNREF),
5735 7, 1, 0,
5736 23,
5737 OPC_CheckChild0Integer, 114|128,79|128,1,
5738 OPC_RecordChild1,
5739 OPC_RecordChild2,
5740 OPC_MoveChild2,
5741 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5742 OPC_CheckPredicate, 14,
5743 OPC_MoveParent,
5744 OPC_CheckPatternPredicate, 16,
5745 OPC_EmitConvertToTarget1,
5746 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F16x8),
5747 12, 2, 0, 2,
5748 13,
5749 OPC_CheckChild0Integer, 68|128,80|128,1,
5750 OPC_RecordChild1,
5751 OPC_RecordChild2,
5752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
5753 40, 2, 0, 1,
5754 120,
5755 OPC_CheckChild0Integer, 104|128,79|128,1,
5756 OPC_RecordChild1,
5757 OPC_SwitchType , 16, 40,
5758 OPC_CheckChild1Type, 40,
5759 OPC_RecordChild2,
5760 OPC_CheckChild2Type, 40,
5761 OPC_RecordChild3,
5762 OPC_CheckChild3Type, 40,
5763 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5764 40, 3, 0, 1, 2,
5765 16, 51,
5766 OPC_CheckChild1Type, 51,
5767 OPC_RecordChild2,
5768 OPC_CheckChild2Type, 51,
5769 OPC_RecordChild3,
5770 OPC_CheckChild3Type, 51,
5771 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5772 51, 3, 0, 1, 2,
5773 16, 62,
5774 OPC_CheckChild1Type, 62,
5775 OPC_RecordChild2,
5776 OPC_CheckChild2Type, 62,
5777 OPC_RecordChild3,
5778 OPC_CheckChild3Type, 62,
5779 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5780 62, 3, 0, 1, 2,
5781 16, 81,
5782 OPC_CheckChild1Type, 81,
5783 OPC_RecordChild2,
5784 OPC_CheckChild2Type, 81,
5785 OPC_RecordChild3,
5786 OPC_CheckChild3Type, 81,
5787 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5788 81, 3, 0, 1, 2,
5789 16, 116,
5790 OPC_CheckChild1Type, 116,
5791 OPC_RecordChild2,
5792 OPC_CheckChild2Type, 116,
5793 OPC_RecordChild3,
5794 OPC_CheckChild3Type, 116,
5795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5796 116, 3, 0, 1, 2,
5797 20, 6|128,1,
5798 OPC_CheckChild1Type, 6|128,1,
5799 OPC_RecordChild2,
5800 OPC_CheckChild2Type, 6|128,1,
5801 OPC_RecordChild3,
5802 OPC_CheckChild3Type, 6|128,1,
5803 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
5804 6|128,1, 3, 0, 1, 2,
5805 0,
5806 37,
5807 OPC_CheckChild0Integer, 100|128,79|128,1,
5808 OPC_RecordChild1,
5809 OPC_SwitchType , 13, 40,
5810 OPC_CheckChild1Type, 40,
5811 OPC_RecordChild2,
5812 OPC_CheckChild2Type, 40,
5813 OPC_CheckPatternPredicate0,
5814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
5815 40, 2, 0, 1,
5816 13, 51,
5817 OPC_CheckChild1Type, 51,
5818 OPC_RecordChild2,
5819 OPC_CheckChild2Type, 51,
5820 OPC_CheckPatternPredicate0,
5821 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
5822 51, 2, 0, 1,
5823 0,
5824 14,
5825 OPC_CheckChild0Integer, 108|128,79|128,1,
5826 OPC_RecordChild1,
5827 OPC_RecordChild2,
5828 OPC_CheckPatternPredicate0,
5829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
5830 62, 2, 0, 1,
5831 37,
5832 OPC_CheckChild0Integer, 8|128,80|128,1,
5833 OPC_RecordChild1,
5834 OPC_SwitchType , 13, 40,
5835 OPC_CheckChild1Type, 51,
5836 OPC_RecordChild2,
5837 OPC_CheckChild2Type, 51,
5838 OPC_CheckPatternPredicate0,
5839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I8x16),
5840 40, 2, 0, 1,
5841 13, 51,
5842 OPC_CheckChild1Type, 62,
5843 OPC_RecordChild2,
5844 OPC_CheckChild2Type, 62,
5845 OPC_CheckPatternPredicate0,
5846 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_S_I16x8),
5847 51, 2, 0, 1,
5848 0,
5849 37,
5850 OPC_CheckChild0Integer, 10|128,80|128,1,
5851 OPC_RecordChild1,
5852 OPC_SwitchType , 13, 40,
5853 OPC_CheckChild1Type, 51,
5854 OPC_RecordChild2,
5855 OPC_CheckChild2Type, 51,
5856 OPC_CheckPatternPredicate0,
5857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
5858 40, 2, 0, 1,
5859 13, 51,
5860 OPC_CheckChild1Type, 62,
5861 OPC_RecordChild2,
5862 OPC_CheckChild2Type, 62,
5863 OPC_CheckPatternPredicate0,
5864 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
5865 51, 2, 0, 1,
5866 0,
5867 29,
5868 OPC_CheckChild0Integer, 110|128,79|128,1,
5869 OPC_RecordChild1,
5870 OPC_SwitchType , 9, 51,
5871 OPC_CheckChild1Type, 40,
5872 OPC_CheckPatternPredicate0,
5873 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_signed_I16x8),
5874 51, 1, 0,
5875 9, 62,
5876 OPC_CheckChild1Type, 51,
5877 OPC_CheckPatternPredicate0,
5878 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_signed_I32x4),
5879 62, 1, 0,
5880 0,
5881 29,
5882 OPC_CheckChild0Integer, 112|128,79|128,1,
5883 OPC_RecordChild1,
5884 OPC_SwitchType , 9, 51,
5885 OPC_CheckChild1Type, 40,
5886 OPC_CheckPatternPredicate0,
5887 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_unsigned_I16x8),
5888 51, 1, 0,
5889 9, 62,
5890 OPC_CheckChild1Type, 51,
5891 OPC_CheckPatternPredicate0,
5892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_extadd_pairwise_unsigned_I32x4),
5893 62, 1, 0,
5894 0,
5895 14,
5896 OPC_CheckChild0Integer, 16|128,80|128,1,
5897 OPC_RecordChild1,
5898 OPC_RecordChild2,
5899 OPC_CheckPatternPredicate0,
5900 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::Q15MULR_SAT_S_I16x8),
5901 51, 2, 0, 1,
5902 14,
5903 OPC_CheckChild0Integer, 48|128,80|128,1,
5904 OPC_RecordChild1,
5905 OPC_RecordChild2,
5906 OPC_CheckPatternPredicate7,
5907 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_SWIZZLE),
5908 40, 2, 0, 1,
5909 12,
5910 OPC_CheckChild0Integer, 50|128,80|128,1,
5911 OPC_RecordChild1,
5912 OPC_CheckPatternPredicate7,
5913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_I32x4),
5914 62, 1, 0,
5915 12,
5916 OPC_CheckChild0Integer, 54|128,80|128,1,
5917 OPC_RecordChild1,
5918 OPC_CheckPatternPredicate7,
5919 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_I32x4),
5920 62, 1, 0,
5921 12,
5922 OPC_CheckChild0Integer, 52|128,80|128,1,
5923 OPC_RecordChild1,
5924 OPC_CheckPatternPredicate7,
5925 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_signed_zero_I32x4),
5926 62, 1, 0,
5927 12,
5928 OPC_CheckChild0Integer, 56|128,80|128,1,
5929 OPC_RecordChild1,
5930 OPC_CheckPatternPredicate7,
5931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::int_wasm_relaxed_trunc_unsigned_zero_I32x4),
5932 62, 1, 0,
5933 83,
5934 OPC_CheckChild0Integer, 36|128,80|128,1,
5935 OPC_RecordChild1,
5936 OPC_SwitchType , 17, 40,
5937 OPC_CheckChild1Type, 40,
5938 OPC_RecordChild2,
5939 OPC_CheckChild2Type, 40,
5940 OPC_RecordChild3,
5941 OPC_CheckChild3Type, 40,
5942 OPC_CheckPatternPredicate7,
5943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I8x16),
5944 40, 3, 0, 1, 2,
5945 17, 51,
5946 OPC_CheckChild1Type, 51,
5947 OPC_RecordChild2,
5948 OPC_CheckChild2Type, 51,
5949 OPC_RecordChild3,
5950 OPC_CheckChild3Type, 51,
5951 OPC_CheckPatternPredicate7,
5952 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I16x8),
5953 51, 3, 0, 1, 2,
5954 17, 62,
5955 OPC_CheckChild1Type, 62,
5956 OPC_RecordChild2,
5957 OPC_CheckChild2Type, 62,
5958 OPC_RecordChild3,
5959 OPC_CheckChild3Type, 62,
5960 OPC_CheckPatternPredicate7,
5961 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I32x4),
5962 62, 3, 0, 1, 2,
5963 17, 81,
5964 OPC_CheckChild1Type, 81,
5965 OPC_RecordChild2,
5966 OPC_CheckChild2Type, 81,
5967 OPC_RecordChild3,
5968 OPC_CheckChild3Type, 81,
5969 OPC_CheckPatternPredicate7,
5970 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::LANESELECT_I64x2),
5971 81, 3, 0, 1, 2,
5972 0,
5973 14,
5974 OPC_CheckChild0Integer, 46|128,80|128,1,
5975 OPC_RecordChild1,
5976 OPC_RecordChild2,
5977 OPC_CheckPatternPredicate7,
5978 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_Q15MULR_S_I16x8),
5979 51, 2, 0, 1,
5980 14,
5981 OPC_CheckChild0Integer, 34|128,80|128,1,
5982 OPC_RecordChild1,
5983 OPC_RecordChild2,
5984 OPC_CheckPatternPredicate7,
5985 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT),
5986 51, 2, 0, 1,
5987 16,
5988 OPC_CheckChild0Integer, 32|128,80|128,1,
5989 OPC_RecordChild1,
5990 OPC_RecordChild2,
5991 OPC_RecordChild3,
5992 OPC_CheckPatternPredicate7,
5993 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_ADD),
5994 62, 3, 0, 1, 2,
5995 25,
5996 OPC_CheckChild0Integer, 58|128,80|128,1,
5997 OPC_RecordChild1,
5998 OPC_RecordChild2,
5999 OPC_MoveChild2,
6000 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6001 OPC_CheckPredicate, 14,
6002 OPC_MoveParent,
6003 OPC_RecordChild3,
6004 OPC_CheckPatternPredicate, 16,
6005 OPC_EmitConvertToTarget1,
6006 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F16x8),
6007 95, 3, 0, 3, 2,
6008 13,
6009 OPC_CheckChild0Integer, 64|128,80|128,1,
6010 OPC_RecordChild1,
6011 OPC_CheckPatternPredicate, 16,
6012 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F16x8),
6013 95, 1, 0,
6014 53,
6015 OPC_CheckChild0Integer, 14|128,80|128,1,
6016 OPC_RecordChild1,
6017 OPC_SwitchType , 12, 116,
6018 OPC_CheckChild1Type, 116,
6019 OPC_RecordChild2,
6020 OPC_CheckChild2Type, 116,
6021 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
6022 116, 2, 0, 1,
6023 15, 6|128,1,
6024 OPC_CheckChild1Type, 6|128,1,
6025 OPC_RecordChild2,
6026 OPC_CheckChild2Type, 6|128,1,
6027 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
6028 6|128,1, 2, 0, 1,
6029 12, 95,
6030 OPC_CheckChild1Type, 95,
6031 OPC_RecordChild2,
6032 OPC_CheckChild2Type, 95,
6033 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
6034 95, 2, 0, 1,
6035 0,
6036 53,
6037 OPC_CheckChild0Integer, 12|128,80|128,1,
6038 OPC_RecordChild1,
6039 OPC_SwitchType , 12, 116,
6040 OPC_CheckChild1Type, 116,
6041 OPC_RecordChild2,
6042 OPC_CheckChild2Type, 116,
6043 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
6044 116, 2, 0, 1,
6045 15, 6|128,1,
6046 OPC_CheckChild1Type, 6|128,1,
6047 OPC_RecordChild2,
6048 OPC_CheckChild2Type, 6|128,1,
6049 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
6050 6|128,1, 2, 0, 1,
6051 12, 95,
6052 OPC_CheckChild1Type, 95,
6053 OPC_RecordChild2,
6054 OPC_CheckChild2Type, 95,
6055 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
6056 95, 2, 0, 1,
6057 0,
6058 71,
6059 OPC_CheckChild0Integer, 38|128,80|128,1,
6060 OPC_RecordChild1,
6061 OPC_SwitchType , 18, 116,
6062 OPC_CheckChild1Type, 116,
6063 OPC_RecordChild2,
6064 OPC_CheckChild2Type, 116,
6065 OPC_RecordChild3,
6066 OPC_CheckChild3Type, 116,
6067 OPC_CheckPatternPredicate, 13,
6068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F32x4),
6069 116, 3, 0, 1, 2,
6070 22, 6|128,1,
6071 OPC_CheckChild1Type, 6|128,1,
6072 OPC_RecordChild2,
6073 OPC_CheckChild2Type, 6|128,1,
6074 OPC_RecordChild3,
6075 OPC_CheckChild3Type, 6|128,1,
6076 OPC_CheckPatternPredicate, 13,
6077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F64x2),
6078 6|128,1, 3, 0, 1, 2,
6079 17, 95,
6080 OPC_CheckChild1Type, 95,
6081 OPC_RecordChild2,
6082 OPC_CheckChild2Type, 95,
6083 OPC_RecordChild3,
6084 OPC_CheckChild3Type, 95,
6085 OPC_CheckPatternPredicate5,
6086 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MADD_F16x8),
6087 95, 3, 0, 1, 2,
6088 0,
6089 71,
6090 OPC_CheckChild0Integer, 44|128,80|128,1,
6091 OPC_RecordChild1,
6092 OPC_SwitchType , 18, 116,
6093 OPC_CheckChild1Type, 116,
6094 OPC_RecordChild2,
6095 OPC_CheckChild2Type, 116,
6096 OPC_RecordChild3,
6097 OPC_CheckChild3Type, 116,
6098 OPC_CheckPatternPredicate, 13,
6099 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F32x4),
6100 116, 3, 0, 1, 2,
6101 22, 6|128,1,
6102 OPC_CheckChild1Type, 6|128,1,
6103 OPC_RecordChild2,
6104 OPC_CheckChild2Type, 6|128,1,
6105 OPC_RecordChild3,
6106 OPC_CheckChild3Type, 6|128,1,
6107 OPC_CheckPatternPredicate, 13,
6108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F64x2),
6109 6|128,1, 3, 0, 1, 2,
6110 17, 95,
6111 OPC_CheckChild1Type, 95,
6112 OPC_RecordChild2,
6113 OPC_CheckChild2Type, 95,
6114 OPC_RecordChild3,
6115 OPC_CheckChild3Type, 95,
6116 OPC_CheckPatternPredicate5,
6117 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NMADD_F16x8),
6118 95, 3, 0, 1, 2,
6119 0,
6120 41,
6121 OPC_CheckChild0Integer, 42|128,80|128,1,
6122 OPC_RecordChild1,
6123 OPC_SwitchType , 13, 116,
6124 OPC_CheckChild1Type, 116,
6125 OPC_RecordChild2,
6126 OPC_CheckChild2Type, 116,
6127 OPC_CheckPatternPredicate7,
6128 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F32x4),
6129 116, 2, 0, 1,
6130 16, 6|128,1,
6131 OPC_CheckChild1Type, 6|128,1,
6132 OPC_RecordChild2,
6133 OPC_CheckChild2Type, 6|128,1,
6134 OPC_CheckPatternPredicate7,
6135 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMIN_F64x2),
6136 6|128,1, 2, 0, 1,
6137 0,
6138 41,
6139 OPC_CheckChild0Integer, 40|128,80|128,1,
6140 OPC_RecordChild1,
6141 OPC_SwitchType , 13, 116,
6142 OPC_CheckChild1Type, 116,
6143 OPC_RecordChild2,
6144 OPC_CheckChild2Type, 116,
6145 OPC_CheckPatternPredicate7,
6146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F32x4),
6147 116, 2, 0, 1,
6148 16, 6|128,1,
6149 OPC_CheckChild1Type, 6|128,1,
6150 OPC_RecordChild2,
6151 OPC_CheckChild2Type, 6|128,1,
6152 OPC_CheckPatternPredicate7,
6153 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SIMD_RELAXED_FMAX_F64x2),
6154 6|128,1, 2, 0, 1,
6155 0,
6156 16,
6157 OPC_CheckChild0Integer, 30|128,80|128,1,
6158 OPC_RecordChild1,
6159 OPC_RecordChild2,
6160 OPC_RecordChild3,
6161 OPC_CheckPatternPredicate7,
6162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::RELAXED_DOT_BFLOAT),
6163 116, 3, 0, 1, 2,
6164 0,
6165 4|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
6166 OPC_RecordChild0,
6167 OPC_Scope, 20,
6168 OPC_CheckChild0Type, 40,
6169 OPC_RecordChild1,
6170 OPC_MoveChild1,
6171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6172 OPC_CheckPredicate, 20,
6173 OPC_CheckTypeI32,
6174 OPC_MoveParent,
6175 OPC_CheckTypeI32,
6176 OPC_EmitConvertToTarget1,
6177 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I8x16_u),
6178 7, 2, 0, 2,
6179 20,
6180 OPC_CheckChild0Type, 51,
6181 OPC_RecordChild1,
6182 OPC_MoveChild1,
6183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6184 OPC_CheckPredicate, 14,
6185 OPC_CheckTypeI32,
6186 OPC_MoveParent,
6187 OPC_CheckTypeI32,
6188 OPC_EmitConvertToTarget1,
6189 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I16x8_u),
6190 7, 2, 0, 2,
6191 20,
6192 OPC_CheckChild0Type, 62,
6193 OPC_RecordChild1,
6194 OPC_MoveChild1,
6195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6196 OPC_CheckPredicate, 11,
6197 OPC_CheckTypeI32,
6198 OPC_MoveParent,
6199 OPC_CheckTypeI32,
6200 OPC_EmitConvertToTarget1,
6201 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I32x4),
6202 7, 2, 0, 2,
6203 20,
6204 OPC_CheckChild0Type, 81,
6205 OPC_RecordChild1,
6206 OPC_MoveChild1,
6207 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6208 OPC_CheckPredicate, 12,
6209 OPC_CheckTypeI32,
6210 OPC_MoveParent,
6211 OPC_CheckTypeI64,
6212 OPC_EmitConvertToTarget1,
6213 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_I64x2),
6214 8, 2, 0, 2,
6215 21,
6216 OPC_CheckChild0Type, 116,
6217 OPC_RecordChild1,
6218 OPC_MoveChild1,
6219 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6220 OPC_CheckPredicate, 11,
6221 OPC_CheckTypeI32,
6222 OPC_MoveParent,
6223 OPC_CheckType, 12,
6224 OPC_EmitConvertToTarget1,
6225 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F32x4),
6226 12, 2, 0, 2,
6227 22,
6228 OPC_CheckChild0Type, 6|128,1,
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_CheckType, 13,
6236 OPC_EmitConvertToTarget1,
6237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTRACT_LANE_F64x2),
6238 13, 2, 0, 2,
6239 0,
6240 0|128,1, TARGET_VAL(WebAssemblyISD::ARGUMENT),
6241 OPC_RecordChild0,
6242 OPC_MoveChild0,
6243 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6244 OPC_MoveParent,
6245 OPC_SwitchType , 6, 7,
6246 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i32),
6247 7, 1, 0,
6248 6, 8,
6249 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_i64),
6250 8, 1, 0,
6251 7, 104|128,1,
6252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_funcref),
6253 104|128,1, 1, 0,
6254 7, 105|128,1,
6255 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_externref),
6256 105|128,1, 1, 0,
6257 7, 106|128,1,
6258 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_exnref),
6259 106|128,1, 1, 0,
6260 6, 12,
6261 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f32),
6262 12, 1, 0,
6263 6, 13,
6264 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_f64),
6265 13, 1, 0,
6266 6, 40,
6267 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v16i8),
6268 40, 1, 0,
6269 6, 51,
6270 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8i16),
6271 51, 1, 0,
6272 6, 62,
6273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4i32),
6274 62, 1, 0,
6275 6, 81,
6276 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2i64),
6277 81, 1, 0,
6278 6, 116,
6279 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v4f32),
6280 116, 1, 0,
6281 7, 6|128,1,
6282 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v2f64),
6283 6|128,1, 1, 0,
6284 6, 95,
6285 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ARGUMENT_v8f16),
6286 95, 1, 0,
6287 0,
6288 26|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_GET),
6289 OPC_RecordNode,
6290 OPC_RecordChild1,
6291 OPC_MoveChild1,
6292 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6293 OPC_MoveParent,
6294 OPC_SwitchType , 7, 7,
6295 OPC_EmitMergeInputChains1_0,
6296 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I32),
6297 7, 1, 1,
6298 7, 8,
6299 OPC_EmitMergeInputChains1_0,
6300 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_I64),
6301 8, 1, 1,
6302 9, 104|128,1,
6303 OPC_CheckPatternPredicate6,
6304 OPC_EmitMergeInputChains1_0,
6305 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_FUNCREF),
6306 104|128,1, 1, 1,
6307 9, 105|128,1,
6308 OPC_CheckPatternPredicate6,
6309 OPC_EmitMergeInputChains1_0,
6310 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXTERNREF),
6311 105|128,1, 1, 1,
6312 10, 106|128,1,
6313 OPC_CheckPatternPredicate, 8,
6314 OPC_EmitMergeInputChains1_0,
6315 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_EXNREF),
6316 106|128,1, 1, 1,
6317 7, 12,
6318 OPC_EmitMergeInputChains1_0,
6319 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F32),
6320 12, 1, 1,
6321 7, 13,
6322 OPC_EmitMergeInputChains1_0,
6323 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_F64),
6324 13, 1, 1,
6325 8, 81,
6326 OPC_CheckPatternPredicate0,
6327 OPC_EmitMergeInputChains1_0,
6328 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6329 81, 1, 1,
6330 8, 62,
6331 OPC_CheckPatternPredicate0,
6332 OPC_EmitMergeInputChains1_0,
6333 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6334 62, 1, 1,
6335 8, 40,
6336 OPC_CheckPatternPredicate0,
6337 OPC_EmitMergeInputChains1_0,
6338 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6339 40, 1, 1,
6340 8, 51,
6341 OPC_CheckPatternPredicate0,
6342 OPC_EmitMergeInputChains1_0,
6343 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6344 51, 1, 1,
6345 8, 95,
6346 OPC_CheckPatternPredicate0,
6347 OPC_EmitMergeInputChains1_0,
6348 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6349 95, 1, 1,
6350 8, 116,
6351 OPC_CheckPatternPredicate0,
6352 OPC_EmitMergeInputChains1_0,
6353 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6354 116, 1, 1,
6355 9, 6|128,1,
6356 OPC_CheckPatternPredicate0,
6357 OPC_EmitMergeInputChains1_0,
6358 OPC_MorphNodeTo1Chain, TARGET_VAL(WebAssembly::LOCAL_GET_V128),
6359 6|128,1, 1, 1,
6360 0,
6361 35|128,1, TARGET_VAL(WebAssemblyISD::LOCAL_SET),
6362 OPC_RecordNode,
6363 OPC_RecordChild1,
6364 OPC_MoveChild1,
6365 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
6366 OPC_MoveParent,
6367 OPC_RecordChild2,
6368 OPC_Scope, 8,
6369 OPC_CheckChild2TypeI32,
6370 OPC_EmitMergeInputChains1_0,
6371 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I32),
6372 2, 1, 2,
6373 8,
6374 OPC_CheckChild2TypeI64,
6375 OPC_EmitMergeInputChains1_0,
6376 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_I64),
6377 2, 1, 2,
6378 9,
6379 OPC_CheckChild2Type, 12,
6380 OPC_EmitMergeInputChains1_0,
6381 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F32),
6382 2, 1, 2,
6383 9,
6384 OPC_CheckChild2Type, 13,
6385 OPC_EmitMergeInputChains1_0,
6386 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_F64),
6387 2, 1, 2,
6388 10,
6389 OPC_CheckChild2Type, 81,
6390 OPC_CheckPatternPredicate0,
6391 OPC_EmitMergeInputChains1_0,
6392 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6393 2, 1, 2,
6394 10,
6395 OPC_CheckChild2Type, 62,
6396 OPC_CheckPatternPredicate0,
6397 OPC_EmitMergeInputChains1_0,
6398 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6399 2, 1, 2,
6400 10,
6401 OPC_CheckChild2Type, 40,
6402 OPC_CheckPatternPredicate0,
6403 OPC_EmitMergeInputChains1_0,
6404 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6405 2, 1, 2,
6406 10,
6407 OPC_CheckChild2Type, 51,
6408 OPC_CheckPatternPredicate0,
6409 OPC_EmitMergeInputChains1_0,
6410 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6411 2, 1, 2,
6412 10,
6413 OPC_CheckChild2Type, 95,
6414 OPC_CheckPatternPredicate0,
6415 OPC_EmitMergeInputChains1_0,
6416 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6417 2, 1, 2,
6418 10,
6419 OPC_CheckChild2Type, 116,
6420 OPC_CheckPatternPredicate0,
6421 OPC_EmitMergeInputChains1_0,
6422 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6423 2, 1, 2,
6424 11,
6425 OPC_CheckChild2Type, 6|128,1,
6426 OPC_CheckPatternPredicate0,
6427 OPC_EmitMergeInputChains1_0,
6428 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_V128),
6429 2, 1, 2,
6430 11,
6431 OPC_CheckChild2Type, 104|128,1,
6432 OPC_CheckPatternPredicate6,
6433 OPC_EmitMergeInputChains1_0,
6434 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_FUNCREF),
6435 2, 1, 2,
6436 11,
6437 OPC_CheckChild2Type, 105|128,1,
6438 OPC_CheckPatternPredicate6,
6439 OPC_EmitMergeInputChains1_0,
6440 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXTERNREF),
6441 2, 1, 2,
6442 12,
6443 OPC_CheckChild2Type, 106|128,1,
6444 OPC_CheckPatternPredicate, 8,
6445 OPC_EmitMergeInputChains1_0,
6446 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::LOCAL_SET_EXNREF),
6447 2, 1, 2,
6448 0,
6449 0|128,1, TARGET_VAL(WebAssemblyISD::Wrapper),
6450 OPC_RecordChild0,
6451 OPC_MoveChild0,
6452 OPC_SwitchOpcode , 47, TARGET_VAL(ISD::TargetGlobalAddress),
6453 OPC_MoveParent,
6454 OPC_SwitchType , 20, 7,
6455 OPC_Scope, 8,
6456 OPC_CheckPatternPredicate, 17,
6457 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6458 7, 1, 0,
6459 8,
6460 OPC_CheckPatternPredicate, 14,
6461 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6462 7, 1, 0,
6463 0,
6464 20, 8,
6465 OPC_Scope, 8,
6466 OPC_CheckPatternPredicate, 18,
6467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6468 8, 1, 0,
6469 8,
6470 OPC_CheckPatternPredicate, 15,
6471 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6472 8, 1, 0,
6473 0,
6474 0,
6475 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6476 OPC_MoveParent,
6477 OPC_SwitchType , 7, 7,
6478 OPC_CheckPatternPredicate1,
6479 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6480 7, 1, 0,
6481 7, 8,
6482 OPC_CheckPatternPredicate2,
6483 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6484 8, 1, 0,
6485 0,
6486 47, TARGET_VAL(ISD::TargetExternalSymbol),
6487 OPC_MoveParent,
6488 OPC_SwitchType , 20, 7,
6489 OPC_Scope, 8,
6490 OPC_CheckPatternPredicate, 14,
6491 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I32),
6492 7, 1, 0,
6493 8,
6494 OPC_CheckPatternPredicate, 17,
6495 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6496 7, 1, 0,
6497 0,
6498 20, 8,
6499 OPC_Scope, 8,
6500 OPC_CheckPatternPredicate, 15,
6501 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::GLOBAL_GET_I64),
6502 8, 1, 0,
6503 8,
6504 OPC_CheckPatternPredicate, 18,
6505 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6506 8, 1, 0,
6507 0,
6508 0,
6509 0,
6510 80, TARGET_VAL(WebAssemblyISD::WrapperREL),
6511 OPC_RecordChild0,
6512 OPC_MoveChild0,
6513 OPC_SwitchOpcode , 23, TARGET_VAL(ISD::TargetGlobalAddress),
6514 OPC_MoveParent,
6515 OPC_SwitchType , 8, 7,
6516 OPC_CheckPatternPredicate, 14,
6517 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6518 7, 1, 0,
6519 8, 8,
6520 OPC_CheckPatternPredicate, 15,
6521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6522 8, 1, 0,
6523 0,
6524 21, TARGET_VAL(ISD::TargetGlobalTLSAddress),
6525 OPC_MoveParent,
6526 OPC_SwitchType , 7, 7,
6527 OPC_CheckPatternPredicate1,
6528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6529 7, 1, 0,
6530 7, 8,
6531 OPC_CheckPatternPredicate2,
6532 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6533 8, 1, 0,
6534 0,
6535 23, TARGET_VAL(ISD::TargetExternalSymbol),
6536 OPC_MoveParent,
6537 OPC_SwitchType , 8, 7,
6538 OPC_CheckPatternPredicate, 14,
6539 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6540 7, 1, 0,
6541 8, 8,
6542 OPC_CheckPatternPredicate, 15,
6543 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6544 8, 1, 0,
6545 0,
6546 0,
6547 47, TARGET_VAL(WebAssemblyISD::MEMSET),
6548 OPC_RecordNode,
6549 OPC_RecordChild1,
6550 OPC_MoveChild1,
6551 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6552 OPC_CheckTypeI32,
6553 OPC_MoveParent,
6554 OPC_RecordChild2,
6555 OPC_Scope, 17,
6556 OPC_CheckChild2TypeI32,
6557 OPC_RecordChild3,
6558 OPC_CheckChild3TypeI32,
6559 OPC_RecordChild4,
6560 OPC_CheckChild4TypeI32,
6561 OPC_CheckPatternPredicate, 12,
6562 OPC_EmitMergeInputChains1_0,
6563 OPC_EmitConvertToTarget1,
6564 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A32),
6565 4, 5, 2, 3, 4,
6566 17,
6567 OPC_CheckChild2TypeI64,
6568 OPC_RecordChild3,
6569 OPC_CheckChild3TypeI32,
6570 OPC_RecordChild4,
6571 OPC_CheckChild4TypeI64,
6572 OPC_CheckPatternPredicate, 12,
6573 OPC_EmitMergeInputChains1_0,
6574 OPC_EmitConvertToTarget1,
6575 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::MEMSET_A64),
6576 4, 5, 2, 3, 4,
6577 0,
6578 21, TARGET_VAL(ISD::Constant),
6579 OPC_RecordNode,
6580 OPC_SwitchType , 7, 7,
6581 OPC_EmitConvertToTarget0,
6582 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I32),
6583 7, 1, 1,
6584 7, 8,
6585 OPC_EmitConvertToTarget0,
6586 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_I64),
6587 8, 1, 1,
6588 0,
6589 13, TARGET_VAL(ISD::BR),
6590 OPC_RecordNode,
6591 OPC_RecordChild1,
6592 OPC_MoveChild1,
6593 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6594 OPC_MoveParent,
6595 OPC_EmitMergeInputChains1_0,
6596 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::BR),
6597 1, 1,
6598 22, TARGET_VAL(WebAssemblyISD::BR_TABLE),
6599 OPC_RecordNode,
6600 OPC_RecordChild1,
6601 OPC_Scope, 8,
6602 OPC_CheckChild1TypeI32,
6603 OPC_EmitMergeInputChains1_0,
6604 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
6605 1, 1,
6606 8,
6607 OPC_CheckChild1TypeI64,
6608 OPC_EmitMergeInputChains1_0,
6609 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
6610 1, 1,
6611 0,
6612 7, TARGET_VAL(WebAssemblyISD::RETURN),
6613 OPC_RecordNode,
6614 OPC_EmitMergeInputChains1_0,
6615 OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN), 0|OPFL_Chain|OPFL_Variadic0,
6616 0,
6617 6, TARGET_VAL(ISD::TRAP),
6618 OPC_RecordNode,
6619 OPC_EmitMergeInputChains1_0,
6620 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::UNREACHABLE),
6621 0,
6622 6, TARGET_VAL(ISD::DEBUGTRAP),
6623 OPC_RecordNode,
6624 OPC_EmitMergeInputChains1_0,
6625 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::DEBUG_UNREACHABLE),
6626 0,
6627 15, TARGET_VAL(ISD::CLEANUPRET),
6628 OPC_RecordNode,
6629 OPC_RecordChild1,
6630 OPC_MoveChild1,
6631 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6632 OPC_MoveParent,
6633 OPC_CheckPatternPredicate, 19,
6634 OPC_EmitMergeInputChains1_0,
6635 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CLEANUPRET),
6636 1, 1,
6637 21, TARGET_VAL(ISD::CATCHRET),
6638 OPC_RecordNode,
6639 OPC_RecordChild1,
6640 OPC_MoveChild1,
6641 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6642 OPC_MoveSibling2,
6643 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
6644 OPC_RecordNode,
6645 OPC_MoveParent,
6646 OPC_CheckPatternPredicate, 19,
6647 OPC_EmitMergeInputChains1_0,
6648 OPC_MorphNodeTo0Chain, TARGET_VAL(WebAssembly::CATCHRET),
6649 2, 1, 2,
6650 62, TARGET_VAL(ISD::ADD),
6651 OPC_RecordChild0,
6652 OPC_RecordChild1,
6653 OPC_SwitchType , 7, 7,
6654 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32),
6655 7, 2, 0, 1,
6656 7, 8,
6657 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64),
6658 8, 2, 0, 1,
6659 8, 40,
6660 OPC_CheckPatternPredicate0,
6661 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I8x16),
6662 40, 2, 0, 1,
6663 8, 51,
6664 OPC_CheckPatternPredicate0,
6665 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I16x8),
6666 51, 2, 0, 1,
6667 8, 62,
6668 OPC_CheckPatternPredicate0,
6669 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I32x4),
6670 62, 2, 0, 1,
6671 8, 81,
6672 OPC_CheckPatternPredicate0,
6673 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_I64x2),
6674 81, 2, 0, 1,
6675 0,
6676 113, TARGET_VAL(ISD::SUB),
6677 OPC_Scope, 22,
6678 OPC_RecordChild0,
6679 OPC_RecordChild1,
6680 OPC_SwitchType , 7, 7,
6681 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32),
6682 7, 2, 0, 1,
6683 7, 8,
6684 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64),
6685 8, 2, 0, 1,
6686 0,
6687 42,
6688 OPC_MoveChild0,
6689 OPC_CheckImmAllZerosV,
6690 OPC_MoveParent,
6691 OPC_RecordChild1,
6692 OPC_SwitchType , 7, 40,
6693 OPC_CheckPatternPredicate0,
6694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I8x16),
6695 40, 1, 0,
6696 7, 51,
6697 OPC_CheckPatternPredicate0,
6698 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I16x8),
6699 51, 1, 0,
6700 7, 62,
6701 OPC_CheckPatternPredicate0,
6702 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I32x4),
6703 62, 1, 0,
6704 7, 81,
6705 OPC_CheckPatternPredicate0,
6706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_I64x2),
6707 81, 1, 0,
6708 0,
6709 44,
6710 OPC_RecordChild0,
6711 OPC_RecordChild1,
6712 OPC_SwitchType , 8, 40,
6713 OPC_CheckPatternPredicate0,
6714 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I8x16),
6715 40, 2, 0, 1,
6716 8, 51,
6717 OPC_CheckPatternPredicate0,
6718 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I16x8),
6719 51, 2, 0, 1,
6720 8, 62,
6721 OPC_CheckPatternPredicate0,
6722 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I32x4),
6723 62, 2, 0, 1,
6724 8, 81,
6725 OPC_CheckPatternPredicate0,
6726 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_I64x2),
6727 81, 2, 0, 1,
6728 0,
6729 0,
6730 85|128,2, TARGET_VAL(ISD::MUL),
6731 OPC_Scope, 22,
6732 OPC_RecordChild0,
6733 OPC_RecordChild1,
6734 OPC_SwitchType , 7, 7,
6735 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32),
6736 7, 2, 0, 1,
6737 7, 8,
6738 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64),
6739 8, 2, 0, 1,
6740 0,
6741 23|128,2,
6742 OPC_MoveChild0,
6743 OPC_SwitchOpcode , 66, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
6744 OPC_RecordChild0,
6745 OPC_Scope, 20,
6746 OPC_CheckChild0Type, 40,
6747 OPC_MoveSibling1,
6748 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
6749 OPC_RecordChild0,
6750 OPC_CheckChild0Type, 40,
6751 OPC_MoveParent,
6752 OPC_CheckType, 51,
6753 OPC_CheckPatternPredicate0,
6754 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I16x8),
6755 51, 2, 0, 1,
6756 20,
6757 OPC_CheckChild0Type, 51,
6758 OPC_MoveSibling1,
6759 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
6760 OPC_RecordChild0,
6761 OPC_CheckChild0Type, 51,
6762 OPC_MoveParent,
6763 OPC_CheckType, 62,
6764 OPC_CheckPatternPredicate0,
6765 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I32x4),
6766 62, 2, 0, 1,
6767 20,
6768 OPC_CheckChild0Type, 62,
6769 OPC_MoveSibling1,
6770 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
6771 OPC_RecordChild0,
6772 OPC_CheckChild0Type, 62,
6773 OPC_MoveParent,
6774 OPC_CheckType, 81,
6775 OPC_CheckPatternPredicate0,
6776 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_S_I64x2),
6777 81, 2, 0, 1,
6778 0,
6779 66, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
6780 OPC_RecordChild0,
6781 OPC_Scope, 20,
6782 OPC_CheckChild0Type, 40,
6783 OPC_MoveSibling1,
6784 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
6785 OPC_RecordChild0,
6786 OPC_CheckChild0Type, 40,
6787 OPC_MoveParent,
6788 OPC_CheckType, 51,
6789 OPC_CheckPatternPredicate0,
6790 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I16x8),
6791 51, 2, 0, 1,
6792 20,
6793 OPC_CheckChild0Type, 51,
6794 OPC_MoveSibling1,
6795 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
6796 OPC_RecordChild0,
6797 OPC_CheckChild0Type, 51,
6798 OPC_MoveParent,
6799 OPC_CheckType, 62,
6800 OPC_CheckPatternPredicate0,
6801 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I32x4),
6802 62, 2, 0, 1,
6803 20,
6804 OPC_CheckChild0Type, 62,
6805 OPC_MoveSibling1,
6806 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
6807 OPC_RecordChild0,
6808 OPC_CheckChild0Type, 62,
6809 OPC_MoveParent,
6810 OPC_CheckType, 81,
6811 OPC_CheckPatternPredicate0,
6812 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_S_I64x2),
6813 81, 2, 0, 1,
6814 0,
6815 66, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
6816 OPC_RecordChild0,
6817 OPC_Scope, 20,
6818 OPC_CheckChild0Type, 40,
6819 OPC_MoveSibling1,
6820 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
6821 OPC_RecordChild0,
6822 OPC_CheckChild0Type, 40,
6823 OPC_MoveParent,
6824 OPC_CheckType, 51,
6825 OPC_CheckPatternPredicate0,
6826 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I16x8),
6827 51, 2, 0, 1,
6828 20,
6829 OPC_CheckChild0Type, 51,
6830 OPC_MoveSibling1,
6831 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
6832 OPC_RecordChild0,
6833 OPC_CheckChild0Type, 51,
6834 OPC_MoveParent,
6835 OPC_CheckType, 62,
6836 OPC_CheckPatternPredicate0,
6837 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I32x4),
6838 62, 2, 0, 1,
6839 20,
6840 OPC_CheckChild0Type, 62,
6841 OPC_MoveSibling1,
6842 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
6843 OPC_RecordChild0,
6844 OPC_CheckChild0Type, 62,
6845 OPC_MoveParent,
6846 OPC_CheckType, 81,
6847 OPC_CheckPatternPredicate0,
6848 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_LOW_U_I64x2),
6849 81, 2, 0, 1,
6850 0,
6851 66, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
6852 OPC_RecordChild0,
6853 OPC_Scope, 20,
6854 OPC_CheckChild0Type, 40,
6855 OPC_MoveSibling1,
6856 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
6857 OPC_RecordChild0,
6858 OPC_CheckChild0Type, 40,
6859 OPC_MoveParent,
6860 OPC_CheckType, 51,
6861 OPC_CheckPatternPredicate0,
6862 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I16x8),
6863 51, 2, 0, 1,
6864 20,
6865 OPC_CheckChild0Type, 51,
6866 OPC_MoveSibling1,
6867 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
6868 OPC_RecordChild0,
6869 OPC_CheckChild0Type, 51,
6870 OPC_MoveParent,
6871 OPC_CheckType, 62,
6872 OPC_CheckPatternPredicate0,
6873 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I32x4),
6874 62, 2, 0, 1,
6875 20,
6876 OPC_CheckChild0Type, 62,
6877 OPC_MoveSibling1,
6878 OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
6879 OPC_RecordChild0,
6880 OPC_CheckChild0Type, 62,
6881 OPC_MoveParent,
6882 OPC_CheckType, 81,
6883 OPC_CheckPatternPredicate0,
6884 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::EXTMUL_HIGH_U_I64x2),
6885 81, 2, 0, 1,
6886 0,
6887 0,
6888 34,
6889 OPC_RecordChild0,
6890 OPC_RecordChild1,
6891 OPC_SwitchType , 8, 51,
6892 OPC_CheckPatternPredicate0,
6893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I16x8),
6894 51, 2, 0, 1,
6895 8, 62,
6896 OPC_CheckPatternPredicate0,
6897 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I32x4),
6898 62, 2, 0, 1,
6899 8, 81,
6900 OPC_CheckPatternPredicate0,
6901 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_I64x2),
6902 81, 2, 0, 1,
6903 0,
6904 0,
6905 22, TARGET_VAL(ISD::SDIV),
6906 OPC_RecordChild0,
6907 OPC_RecordChild1,
6908 OPC_SwitchType , 7, 7,
6909 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I32),
6910 7, 2, 0, 1,
6911 7, 8,
6912 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_S_I64),
6913 8, 2, 0, 1,
6914 0,
6915 22, TARGET_VAL(ISD::UDIV),
6916 OPC_RecordChild0,
6917 OPC_RecordChild1,
6918 OPC_SwitchType , 7, 7,
6919 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I32),
6920 7, 2, 0, 1,
6921 7, 8,
6922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_U_I64),
6923 8, 2, 0, 1,
6924 0,
6925 22, TARGET_VAL(ISD::SREM),
6926 OPC_RecordChild0,
6927 OPC_RecordChild1,
6928 OPC_SwitchType , 7, 7,
6929 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I32),
6930 7, 2, 0, 1,
6931 7, 8,
6932 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_S_I64),
6933 8, 2, 0, 1,
6934 0,
6935 22, TARGET_VAL(ISD::UREM),
6936 OPC_RecordChild0,
6937 OPC_RecordChild1,
6938 OPC_SwitchType , 7, 7,
6939 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I32),
6940 7, 2, 0, 1,
6941 7, 8,
6942 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REM_U_I64),
6943 8, 2, 0, 1,
6944 0,
6945 56|128,6, TARGET_VAL(ISD::OR),
6946 OPC_Scope, 22,
6947 OPC_RecordChild0,
6948 OPC_RecordChild1,
6949 OPC_SwitchType , 7, 7,
6950 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I32),
6951 7, 2, 0, 1,
6952 7, 8,
6953 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR_I64),
6954 8, 2, 0, 1,
6955 0,
6956 116|128,5,
6957 OPC_MoveChild0,
6958 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6959 OPC_Scope, 4|128,1,
6960 OPC_RecordChild0,
6961 OPC_RecordChild1,
6962 OPC_MoveSibling1,
6963 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6964 OPC_Scope, 54,
6965 OPC_MoveChild0,
6966 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6967 OPC_CheckChild0Same, 0,
6968 OPC_MoveChild1,
6969 OPC_CheckImmAllOnesV,
6970 OPC_MoveParent,
6971 OPC_MoveParent,
6972 OPC_RecordChild1,
6973 OPC_MoveParent,
6974 OPC_SwitchType , 8, 40,
6975 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6976 40, 3, 1, 2, 0,
6977 8, 51,
6978 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6979 51, 3, 1, 2, 0,
6980 8, 62,
6981 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6982 62, 3, 1, 2, 0,
6983 8, 81,
6984 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6985 81, 3, 1, 2, 0,
6986 0,
6987 22,
6988 OPC_RecordChild0,
6989 OPC_MoveChild1,
6990 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6991 OPC_CheckChild0Same, 0,
6992 OPC_MoveChild1,
6993 OPC_CheckImmAllOnesV,
6994 OPC_MoveParent,
6995 OPC_MoveParent,
6996 OPC_MoveParent,
6997 OPC_CheckType, 40,
6998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
6999 40, 3, 1, 2, 0,
7000 22,
7001 OPC_MoveChild0,
7002 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7003 OPC_CheckChild0Same, 1,
7004 OPC_MoveChild1,
7005 OPC_CheckImmAllOnesV,
7006 OPC_MoveParent,
7007 OPC_MoveParent,
7008 OPC_RecordChild1,
7009 OPC_MoveParent,
7010 OPC_CheckType, 40,
7011 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7012 40, 3, 0, 2, 1,
7013 22,
7014 OPC_RecordChild0,
7015 OPC_MoveChild1,
7016 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7017 OPC_CheckChild0Same, 1,
7018 OPC_MoveChild1,
7019 OPC_CheckImmAllOnesV,
7020 OPC_MoveParent,
7021 OPC_MoveParent,
7022 OPC_MoveParent,
7023 OPC_CheckType, 40,
7024 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7025 40, 3, 0, 2, 1,
7026 0,
7027 46,
7028 OPC_MoveChild0,
7029 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7030 OPC_RecordChild0,
7031 OPC_MoveChild1,
7032 OPC_CheckImmAllOnesV,
7033 OPC_MoveParent,
7034 OPC_MoveParent,
7035 OPC_RecordChild1,
7036 OPC_MoveSibling1,
7037 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7038 OPC_Scope, 14,
7039 OPC_CheckChild0Same, 0,
7040 OPC_RecordChild1,
7041 OPC_MoveParent,
7042 OPC_CheckType, 40,
7043 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7044 40, 3, 2, 1, 0,
7045 14,
7046 OPC_RecordChild0,
7047 OPC_CheckChild1Same, 0,
7048 OPC_MoveParent,
7049 OPC_CheckType, 40,
7050 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7051 40, 3, 2, 1, 0,
7052 0,
7053 126,
7054 OPC_RecordChild0,
7055 OPC_Scope, 45,
7056 OPC_MoveChild1,
7057 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7058 OPC_RecordChild0,
7059 OPC_MoveChild1,
7060 OPC_CheckImmAllOnesV,
7061 OPC_MoveParent,
7062 OPC_MoveParent,
7063 OPC_MoveSibling1,
7064 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7065 OPC_Scope, 14,
7066 OPC_CheckChild0Same, 1,
7067 OPC_RecordChild1,
7068 OPC_MoveParent,
7069 OPC_CheckType, 40,
7070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7071 40, 3, 2, 0, 1,
7072 14,
7073 OPC_RecordChild0,
7074 OPC_CheckChild1Same, 1,
7075 OPC_MoveParent,
7076 OPC_CheckType, 40,
7077 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7078 40, 3, 2, 0, 1,
7079 0,
7080 76,
7081 OPC_RecordChild1,
7082 OPC_MoveSibling1,
7083 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7084 OPC_Scope, 22,
7085 OPC_RecordChild0,
7086 OPC_MoveChild1,
7087 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7088 OPC_CheckChild0Same, 0,
7089 OPC_MoveChild1,
7090 OPC_CheckImmAllOnesV,
7091 OPC_MoveParent,
7092 OPC_MoveParent,
7093 OPC_MoveParent,
7094 OPC_CheckType, 51,
7095 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7096 51, 3, 1, 2, 0,
7097 22,
7098 OPC_MoveChild0,
7099 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7100 OPC_CheckChild0Same, 1,
7101 OPC_MoveChild1,
7102 OPC_CheckImmAllOnesV,
7103 OPC_MoveParent,
7104 OPC_MoveParent,
7105 OPC_RecordChild1,
7106 OPC_MoveParent,
7107 OPC_CheckType, 51,
7108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7109 51, 3, 0, 2, 1,
7110 22,
7111 OPC_RecordChild0,
7112 OPC_MoveChild1,
7113 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7114 OPC_CheckChild0Same, 1,
7115 OPC_MoveChild1,
7116 OPC_CheckImmAllOnesV,
7117 OPC_MoveParent,
7118 OPC_MoveParent,
7119 OPC_MoveParent,
7120 OPC_CheckType, 51,
7121 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7122 51, 3, 0, 2, 1,
7123 0,
7124 0,
7125 46,
7126 OPC_MoveChild0,
7127 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7128 OPC_RecordChild0,
7129 OPC_MoveChild1,
7130 OPC_CheckImmAllOnesV,
7131 OPC_MoveParent,
7132 OPC_MoveParent,
7133 OPC_RecordChild1,
7134 OPC_MoveSibling1,
7135 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7136 OPC_Scope, 14,
7137 OPC_CheckChild0Same, 0,
7138 OPC_RecordChild1,
7139 OPC_MoveParent,
7140 OPC_CheckType, 51,
7141 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7142 51, 3, 2, 1, 0,
7143 14,
7144 OPC_RecordChild0,
7145 OPC_CheckChild1Same, 0,
7146 OPC_MoveParent,
7147 OPC_CheckType, 51,
7148 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7149 51, 3, 2, 1, 0,
7150 0,
7151 126,
7152 OPC_RecordChild0,
7153 OPC_Scope, 45,
7154 OPC_MoveChild1,
7155 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7156 OPC_RecordChild0,
7157 OPC_MoveChild1,
7158 OPC_CheckImmAllOnesV,
7159 OPC_MoveParent,
7160 OPC_MoveParent,
7161 OPC_MoveSibling1,
7162 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7163 OPC_Scope, 14,
7164 OPC_CheckChild0Same, 1,
7165 OPC_RecordChild1,
7166 OPC_MoveParent,
7167 OPC_CheckType, 51,
7168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7169 51, 3, 2, 0, 1,
7170 14,
7171 OPC_RecordChild0,
7172 OPC_CheckChild1Same, 1,
7173 OPC_MoveParent,
7174 OPC_CheckType, 51,
7175 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7176 51, 3, 2, 0, 1,
7177 0,
7178 76,
7179 OPC_RecordChild1,
7180 OPC_MoveSibling1,
7181 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7182 OPC_Scope, 22,
7183 OPC_RecordChild0,
7184 OPC_MoveChild1,
7185 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7186 OPC_CheckChild0Same, 0,
7187 OPC_MoveChild1,
7188 OPC_CheckImmAllOnesV,
7189 OPC_MoveParent,
7190 OPC_MoveParent,
7191 OPC_MoveParent,
7192 OPC_CheckType, 62,
7193 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7194 62, 3, 1, 2, 0,
7195 22,
7196 OPC_MoveChild0,
7197 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7198 OPC_CheckChild0Same, 1,
7199 OPC_MoveChild1,
7200 OPC_CheckImmAllOnesV,
7201 OPC_MoveParent,
7202 OPC_MoveParent,
7203 OPC_RecordChild1,
7204 OPC_MoveParent,
7205 OPC_CheckType, 62,
7206 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7207 62, 3, 0, 2, 1,
7208 22,
7209 OPC_RecordChild0,
7210 OPC_MoveChild1,
7211 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7212 OPC_CheckChild0Same, 1,
7213 OPC_MoveChild1,
7214 OPC_CheckImmAllOnesV,
7215 OPC_MoveParent,
7216 OPC_MoveParent,
7217 OPC_MoveParent,
7218 OPC_CheckType, 62,
7219 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7220 62, 3, 0, 2, 1,
7221 0,
7222 0,
7223 46,
7224 OPC_MoveChild0,
7225 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7226 OPC_RecordChild0,
7227 OPC_MoveChild1,
7228 OPC_CheckImmAllOnesV,
7229 OPC_MoveParent,
7230 OPC_MoveParent,
7231 OPC_RecordChild1,
7232 OPC_MoveSibling1,
7233 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7234 OPC_Scope, 14,
7235 OPC_CheckChild0Same, 0,
7236 OPC_RecordChild1,
7237 OPC_MoveParent,
7238 OPC_CheckType, 62,
7239 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7240 62, 3, 2, 1, 0,
7241 14,
7242 OPC_RecordChild0,
7243 OPC_CheckChild1Same, 0,
7244 OPC_MoveParent,
7245 OPC_CheckType, 62,
7246 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7247 62, 3, 2, 1, 0,
7248 0,
7249 126,
7250 OPC_RecordChild0,
7251 OPC_Scope, 45,
7252 OPC_MoveChild1,
7253 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7254 OPC_RecordChild0,
7255 OPC_MoveChild1,
7256 OPC_CheckImmAllOnesV,
7257 OPC_MoveParent,
7258 OPC_MoveParent,
7259 OPC_MoveSibling1,
7260 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7261 OPC_Scope, 14,
7262 OPC_CheckChild0Same, 1,
7263 OPC_RecordChild1,
7264 OPC_MoveParent,
7265 OPC_CheckType, 62,
7266 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7267 62, 3, 2, 0, 1,
7268 14,
7269 OPC_RecordChild0,
7270 OPC_CheckChild1Same, 1,
7271 OPC_MoveParent,
7272 OPC_CheckType, 62,
7273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7274 62, 3, 2, 0, 1,
7275 0,
7276 76,
7277 OPC_RecordChild1,
7278 OPC_MoveSibling1,
7279 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7280 OPC_Scope, 22,
7281 OPC_RecordChild0,
7282 OPC_MoveChild1,
7283 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7284 OPC_CheckChild0Same, 0,
7285 OPC_MoveChild1,
7286 OPC_CheckImmAllOnesV,
7287 OPC_MoveParent,
7288 OPC_MoveParent,
7289 OPC_MoveParent,
7290 OPC_CheckType, 81,
7291 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7292 81, 3, 1, 2, 0,
7293 22,
7294 OPC_MoveChild0,
7295 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7296 OPC_CheckChild0Same, 1,
7297 OPC_MoveChild1,
7298 OPC_CheckImmAllOnesV,
7299 OPC_MoveParent,
7300 OPC_MoveParent,
7301 OPC_RecordChild1,
7302 OPC_MoveParent,
7303 OPC_CheckType, 81,
7304 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7305 81, 3, 0, 2, 1,
7306 22,
7307 OPC_RecordChild0,
7308 OPC_MoveChild1,
7309 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7310 OPC_CheckChild0Same, 1,
7311 OPC_MoveChild1,
7312 OPC_CheckImmAllOnesV,
7313 OPC_MoveParent,
7314 OPC_MoveParent,
7315 OPC_MoveParent,
7316 OPC_CheckType, 81,
7317 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7318 81, 3, 0, 2, 1,
7319 0,
7320 0,
7321 46,
7322 OPC_MoveChild0,
7323 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7324 OPC_RecordChild0,
7325 OPC_MoveChild1,
7326 OPC_CheckImmAllOnesV,
7327 OPC_MoveParent,
7328 OPC_MoveParent,
7329 OPC_RecordChild1,
7330 OPC_MoveSibling1,
7331 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7332 OPC_Scope, 14,
7333 OPC_CheckChild0Same, 0,
7334 OPC_RecordChild1,
7335 OPC_MoveParent,
7336 OPC_CheckType, 81,
7337 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7338 81, 3, 2, 1, 0,
7339 14,
7340 OPC_RecordChild0,
7341 OPC_CheckChild1Same, 0,
7342 OPC_MoveParent,
7343 OPC_CheckType, 81,
7344 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7345 81, 3, 2, 1, 0,
7346 0,
7347 46,
7348 OPC_RecordChild0,
7349 OPC_MoveChild1,
7350 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7351 OPC_RecordChild0,
7352 OPC_MoveChild1,
7353 OPC_CheckImmAllOnesV,
7354 OPC_MoveParent,
7355 OPC_MoveParent,
7356 OPC_MoveSibling1,
7357 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7358 OPC_Scope, 14,
7359 OPC_CheckChild0Same, 1,
7360 OPC_RecordChild1,
7361 OPC_MoveParent,
7362 OPC_CheckType, 81,
7363 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7364 81, 3, 2, 0, 1,
7365 14,
7366 OPC_RecordChild0,
7367 OPC_CheckChild1Same, 1,
7368 OPC_MoveParent,
7369 OPC_CheckType, 81,
7370 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7371 81, 3, 2, 0, 1,
7372 0,
7373 0,
7374 40,
7375 OPC_RecordChild0,
7376 OPC_RecordChild1,
7377 OPC_SwitchType , 7, 40,
7378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
7379 40, 2, 0, 1,
7380 7, 51,
7381 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
7382 51, 2, 0, 1,
7383 7, 62,
7384 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
7385 62, 2, 0, 1,
7386 7, 81,
7387 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::OR),
7388 81, 2, 0, 1,
7389 0,
7390 0,
7391 121|128,11, TARGET_VAL(ISD::XOR),
7392 OPC_Scope, 22,
7393 OPC_RecordChild0,
7394 OPC_RecordChild1,
7395 OPC_SwitchType , 7, 7,
7396 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I32),
7397 7, 2, 0, 1,
7398 7, 8,
7399 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR_I64),
7400 8, 2, 0, 1,
7401 0,
7402 121,
7403 OPC_MoveChild0,
7404 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7405 OPC_MoveChild0,
7406 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7407 OPC_RecordChild0,
7408 OPC_Scope, 71,
7409 OPC_RecordChild1,
7410 OPC_MoveSibling1,
7411 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7412 OPC_RecordChild0,
7413 OPC_MoveChild1,
7414 OPC_CheckImmAllOnesV,
7415 OPC_MoveParent,
7416 OPC_MoveParent,
7417 OPC_MoveParent,
7418 OPC_Scope, 44,
7419 OPC_CheckChild1Same, 1,
7420 OPC_SwitchType , 8, 40,
7421 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7422 40, 3, 1, 0, 2,
7423 8, 51,
7424 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7425 51, 3, 1, 0, 2,
7426 8, 62,
7427 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7428 62, 3, 1, 0, 2,
7429 8, 81,
7430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7431 81, 3, 1, 0, 2,
7432 0,
7433 12,
7434 OPC_CheckChild1Same, 0,
7435 OPC_CheckType, 40,
7436 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7437 40, 3, 0, 1, 2,
7438 0,
7439 37,
7440 OPC_MoveChild1,
7441 OPC_CheckImmAllOnesV,
7442 OPC_MoveParent,
7443 OPC_MoveSibling1,
7444 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7445 OPC_RecordChild0,
7446 OPC_RecordChild1,
7447 OPC_MoveParent,
7448 OPC_MoveParent,
7449 OPC_CheckType, 40,
7450 OPC_Scope, 10,
7451 OPC_CheckChild1Same, 2,
7452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7453 40, 3, 2, 1, 0,
7454 10,
7455 OPC_CheckChild1Same, 1,
7456 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7457 40, 3, 1, 2, 0,
7458 0,
7459 0,
7460 102,
7461 OPC_RecordChild0,
7462 OPC_MoveChild1,
7463 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7464 OPC_MoveChild0,
7465 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7466 OPC_Scope, 23,
7467 OPC_RecordChild0,
7468 OPC_CheckChild1Same, 0,
7469 OPC_MoveSibling1,
7470 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7471 OPC_RecordChild0,
7472 OPC_MoveChild1,
7473 OPC_CheckImmAllOnesV,
7474 OPC_MoveParent,
7475 OPC_MoveParent,
7476 OPC_MoveParent,
7477 OPC_CheckType, 40,
7478 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7479 40, 3, 0, 1, 2,
7480 23,
7481 OPC_CheckChild0Same, 0,
7482 OPC_RecordChild1,
7483 OPC_MoveSibling1,
7484 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7485 OPC_RecordChild0,
7486 OPC_MoveChild1,
7487 OPC_CheckImmAllOnesV,
7488 OPC_MoveParent,
7489 OPC_MoveParent,
7490 OPC_MoveParent,
7491 OPC_CheckType, 40,
7492 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7493 40, 3, 0, 1, 2,
7494 42,
7495 OPC_RecordChild0,
7496 OPC_MoveChild1,
7497 OPC_CheckImmAllOnesV,
7498 OPC_MoveParent,
7499 OPC_MoveSibling1,
7500 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7501 OPC_Scope, 15,
7502 OPC_RecordChild0,
7503 OPC_CheckChild1Same, 0,
7504 OPC_MoveParent,
7505 OPC_MoveParent,
7506 OPC_CheckType, 40,
7507 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7508 40, 3, 0, 2, 1,
7509 15,
7510 OPC_CheckChild0Same, 0,
7511 OPC_RecordChild1,
7512 OPC_MoveParent,
7513 OPC_MoveParent,
7514 OPC_CheckType, 40,
7515 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7516 40, 3, 0, 2, 1,
7517 0,
7518 0,
7519 73,
7520 OPC_MoveChild0,
7521 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7522 OPC_MoveChild0,
7523 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7524 OPC_RecordChild0,
7525 OPC_Scope, 23,
7526 OPC_RecordChild1,
7527 OPC_MoveSibling1,
7528 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7529 OPC_RecordChild0,
7530 OPC_MoveChild1,
7531 OPC_CheckImmAllOnesV,
7532 OPC_MoveParent,
7533 OPC_MoveParent,
7534 OPC_MoveParent,
7535 OPC_CheckChild1Same, 0,
7536 OPC_CheckType, 51,
7537 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7538 51, 3, 0, 1, 2,
7539 37,
7540 OPC_MoveChild1,
7541 OPC_CheckImmAllOnesV,
7542 OPC_MoveParent,
7543 OPC_MoveSibling1,
7544 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7545 OPC_RecordChild0,
7546 OPC_RecordChild1,
7547 OPC_MoveParent,
7548 OPC_MoveParent,
7549 OPC_CheckType, 51,
7550 OPC_Scope, 10,
7551 OPC_CheckChild1Same, 2,
7552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7553 51, 3, 2, 1, 0,
7554 10,
7555 OPC_CheckChild1Same, 1,
7556 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7557 51, 3, 1, 2, 0,
7558 0,
7559 0,
7560 102,
7561 OPC_RecordChild0,
7562 OPC_MoveChild1,
7563 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7564 OPC_MoveChild0,
7565 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7566 OPC_Scope, 23,
7567 OPC_RecordChild0,
7568 OPC_CheckChild1Same, 0,
7569 OPC_MoveSibling1,
7570 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7571 OPC_RecordChild0,
7572 OPC_MoveChild1,
7573 OPC_CheckImmAllOnesV,
7574 OPC_MoveParent,
7575 OPC_MoveParent,
7576 OPC_MoveParent,
7577 OPC_CheckType, 51,
7578 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7579 51, 3, 0, 1, 2,
7580 23,
7581 OPC_CheckChild0Same, 0,
7582 OPC_RecordChild1,
7583 OPC_MoveSibling1,
7584 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7585 OPC_RecordChild0,
7586 OPC_MoveChild1,
7587 OPC_CheckImmAllOnesV,
7588 OPC_MoveParent,
7589 OPC_MoveParent,
7590 OPC_MoveParent,
7591 OPC_CheckType, 51,
7592 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7593 51, 3, 0, 1, 2,
7594 42,
7595 OPC_RecordChild0,
7596 OPC_MoveChild1,
7597 OPC_CheckImmAllOnesV,
7598 OPC_MoveParent,
7599 OPC_MoveSibling1,
7600 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7601 OPC_Scope, 15,
7602 OPC_RecordChild0,
7603 OPC_CheckChild1Same, 0,
7604 OPC_MoveParent,
7605 OPC_MoveParent,
7606 OPC_CheckType, 51,
7607 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7608 51, 3, 0, 2, 1,
7609 15,
7610 OPC_CheckChild0Same, 0,
7611 OPC_RecordChild1,
7612 OPC_MoveParent,
7613 OPC_MoveParent,
7614 OPC_CheckType, 51,
7615 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7616 51, 3, 0, 2, 1,
7617 0,
7618 0,
7619 73,
7620 OPC_MoveChild0,
7621 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7622 OPC_MoveChild0,
7623 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7624 OPC_RecordChild0,
7625 OPC_Scope, 23,
7626 OPC_RecordChild1,
7627 OPC_MoveSibling1,
7628 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7629 OPC_RecordChild0,
7630 OPC_MoveChild1,
7631 OPC_CheckImmAllOnesV,
7632 OPC_MoveParent,
7633 OPC_MoveParent,
7634 OPC_MoveParent,
7635 OPC_CheckChild1Same, 0,
7636 OPC_CheckType, 62,
7637 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7638 62, 3, 0, 1, 2,
7639 37,
7640 OPC_MoveChild1,
7641 OPC_CheckImmAllOnesV,
7642 OPC_MoveParent,
7643 OPC_MoveSibling1,
7644 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7645 OPC_RecordChild0,
7646 OPC_RecordChild1,
7647 OPC_MoveParent,
7648 OPC_MoveParent,
7649 OPC_CheckType, 62,
7650 OPC_Scope, 10,
7651 OPC_CheckChild1Same, 2,
7652 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7653 62, 3, 2, 1, 0,
7654 10,
7655 OPC_CheckChild1Same, 1,
7656 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7657 62, 3, 1, 2, 0,
7658 0,
7659 0,
7660 102,
7661 OPC_RecordChild0,
7662 OPC_MoveChild1,
7663 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7664 OPC_MoveChild0,
7665 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7666 OPC_Scope, 23,
7667 OPC_RecordChild0,
7668 OPC_CheckChild1Same, 0,
7669 OPC_MoveSibling1,
7670 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7671 OPC_RecordChild0,
7672 OPC_MoveChild1,
7673 OPC_CheckImmAllOnesV,
7674 OPC_MoveParent,
7675 OPC_MoveParent,
7676 OPC_MoveParent,
7677 OPC_CheckType, 62,
7678 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7679 62, 3, 0, 1, 2,
7680 23,
7681 OPC_CheckChild0Same, 0,
7682 OPC_RecordChild1,
7683 OPC_MoveSibling1,
7684 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7685 OPC_RecordChild0,
7686 OPC_MoveChild1,
7687 OPC_CheckImmAllOnesV,
7688 OPC_MoveParent,
7689 OPC_MoveParent,
7690 OPC_MoveParent,
7691 OPC_CheckType, 62,
7692 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7693 62, 3, 0, 1, 2,
7694 42,
7695 OPC_RecordChild0,
7696 OPC_MoveChild1,
7697 OPC_CheckImmAllOnesV,
7698 OPC_MoveParent,
7699 OPC_MoveSibling1,
7700 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7701 OPC_Scope, 15,
7702 OPC_RecordChild0,
7703 OPC_CheckChild1Same, 0,
7704 OPC_MoveParent,
7705 OPC_MoveParent,
7706 OPC_CheckType, 62,
7707 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7708 62, 3, 0, 2, 1,
7709 15,
7710 OPC_CheckChild0Same, 0,
7711 OPC_RecordChild1,
7712 OPC_MoveParent,
7713 OPC_MoveParent,
7714 OPC_CheckType, 62,
7715 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7716 62, 3, 0, 2, 1,
7717 0,
7718 0,
7719 73,
7720 OPC_MoveChild0,
7721 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7722 OPC_MoveChild0,
7723 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7724 OPC_RecordChild0,
7725 OPC_Scope, 23,
7726 OPC_RecordChild1,
7727 OPC_MoveSibling1,
7728 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7729 OPC_RecordChild0,
7730 OPC_MoveChild1,
7731 OPC_CheckImmAllOnesV,
7732 OPC_MoveParent,
7733 OPC_MoveParent,
7734 OPC_MoveParent,
7735 OPC_CheckChild1Same, 0,
7736 OPC_CheckType, 81,
7737 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7738 81, 3, 0, 1, 2,
7739 37,
7740 OPC_MoveChild1,
7741 OPC_CheckImmAllOnesV,
7742 OPC_MoveParent,
7743 OPC_MoveSibling1,
7744 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7745 OPC_RecordChild0,
7746 OPC_RecordChild1,
7747 OPC_MoveParent,
7748 OPC_MoveParent,
7749 OPC_CheckType, 81,
7750 OPC_Scope, 10,
7751 OPC_CheckChild1Same, 2,
7752 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7753 81, 3, 2, 1, 0,
7754 10,
7755 OPC_CheckChild1Same, 1,
7756 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7757 81, 3, 1, 2, 0,
7758 0,
7759 0,
7760 102,
7761 OPC_RecordChild0,
7762 OPC_MoveChild1,
7763 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7764 OPC_MoveChild0,
7765 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7766 OPC_Scope, 23,
7767 OPC_RecordChild0,
7768 OPC_CheckChild1Same, 0,
7769 OPC_MoveSibling1,
7770 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7771 OPC_RecordChild0,
7772 OPC_MoveChild1,
7773 OPC_CheckImmAllOnesV,
7774 OPC_MoveParent,
7775 OPC_MoveParent,
7776 OPC_MoveParent,
7777 OPC_CheckType, 81,
7778 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7779 81, 3, 0, 1, 2,
7780 23,
7781 OPC_CheckChild0Same, 0,
7782 OPC_RecordChild1,
7783 OPC_MoveSibling1,
7784 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7785 OPC_RecordChild0,
7786 OPC_MoveChild1,
7787 OPC_CheckImmAllOnesV,
7788 OPC_MoveParent,
7789 OPC_MoveParent,
7790 OPC_MoveParent,
7791 OPC_CheckType, 81,
7792 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7793 81, 3, 0, 1, 2,
7794 42,
7795 OPC_RecordChild0,
7796 OPC_MoveChild1,
7797 OPC_CheckImmAllOnesV,
7798 OPC_MoveParent,
7799 OPC_MoveSibling1,
7800 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7801 OPC_Scope, 15,
7802 OPC_RecordChild0,
7803 OPC_CheckChild1Same, 0,
7804 OPC_MoveParent,
7805 OPC_MoveParent,
7806 OPC_CheckType, 81,
7807 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7808 81, 3, 0, 2, 1,
7809 15,
7810 OPC_CheckChild0Same, 0,
7811 OPC_RecordChild1,
7812 OPC_MoveParent,
7813 OPC_MoveParent,
7814 OPC_CheckType, 81,
7815 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7816 81, 3, 0, 2, 1,
7817 0,
7818 0,
7819 112,
7820 OPC_MoveChild0,
7821 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7822 OPC_Scope, 69,
7823 OPC_MoveChild0,
7824 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7825 OPC_RecordChild0,
7826 OPC_RecordChild1,
7827 OPC_MoveParent,
7828 OPC_RecordChild1,
7829 OPC_MoveParent,
7830 OPC_Scope, 44,
7831 OPC_CheckChild1Same, 1,
7832 OPC_SwitchType , 8, 40,
7833 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7834 40, 3, 0, 1, 2,
7835 8, 51,
7836 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7837 51, 3, 0, 1, 2,
7838 8, 62,
7839 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7840 62, 3, 0, 1, 2,
7841 8, 81,
7842 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7843 81, 3, 0, 1, 2,
7844 0,
7845 12,
7846 OPC_CheckChild1Same, 0,
7847 OPC_CheckType, 40,
7848 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7849 40, 3, 1, 0, 2,
7850 0,
7851 35,
7852 OPC_RecordChild0,
7853 OPC_MoveChild1,
7854 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7855 OPC_RecordChild0,
7856 OPC_RecordChild1,
7857 OPC_MoveParent,
7858 OPC_MoveParent,
7859 OPC_CheckType, 40,
7860 OPC_Scope, 10,
7861 OPC_CheckChild1Same, 2,
7862 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7863 40, 3, 1, 2, 0,
7864 10,
7865 OPC_CheckChild1Same, 1,
7866 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7867 40, 3, 2, 1, 0,
7868 0,
7869 0,
7870 88,
7871 OPC_RecordChild0,
7872 OPC_MoveChild1,
7873 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7874 OPC_Scope, 40,
7875 OPC_MoveChild0,
7876 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7877 OPC_Scope, 16,
7878 OPC_RecordChild0,
7879 OPC_CheckChild1Same, 0,
7880 OPC_MoveParent,
7881 OPC_RecordChild1,
7882 OPC_MoveParent,
7883 OPC_CheckType, 40,
7884 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7885 40, 3, 1, 0, 2,
7886 16,
7887 OPC_CheckChild0Same, 0,
7888 OPC_RecordChild1,
7889 OPC_MoveParent,
7890 OPC_RecordChild1,
7891 OPC_MoveParent,
7892 OPC_CheckType, 40,
7893 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7894 40, 3, 1, 0, 2,
7895 0,
7896 39,
7897 OPC_RecordChild0,
7898 OPC_MoveChild1,
7899 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7900 OPC_Scope, 15,
7901 OPC_RecordChild0,
7902 OPC_CheckChild1Same, 0,
7903 OPC_MoveParent,
7904 OPC_MoveParent,
7905 OPC_CheckType, 40,
7906 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7907 40, 3, 2, 0, 1,
7908 15,
7909 OPC_CheckChild0Same, 0,
7910 OPC_RecordChild1,
7911 OPC_MoveParent,
7912 OPC_MoveParent,
7913 OPC_CheckType, 40,
7914 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7915 40, 3, 2, 0, 1,
7916 0,
7917 0,
7918 64,
7919 OPC_MoveChild0,
7920 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7921 OPC_Scope, 21,
7922 OPC_MoveChild0,
7923 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7924 OPC_RecordChild0,
7925 OPC_RecordChild1,
7926 OPC_MoveParent,
7927 OPC_RecordChild1,
7928 OPC_MoveParent,
7929 OPC_CheckChild1Same, 0,
7930 OPC_CheckType, 51,
7931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7932 51, 3, 1, 0, 2,
7933 35,
7934 OPC_RecordChild0,
7935 OPC_MoveChild1,
7936 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7937 OPC_RecordChild0,
7938 OPC_RecordChild1,
7939 OPC_MoveParent,
7940 OPC_MoveParent,
7941 OPC_CheckType, 51,
7942 OPC_Scope, 10,
7943 OPC_CheckChild1Same, 2,
7944 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7945 51, 3, 1, 2, 0,
7946 10,
7947 OPC_CheckChild1Same, 1,
7948 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7949 51, 3, 2, 1, 0,
7950 0,
7951 0,
7952 88,
7953 OPC_RecordChild0,
7954 OPC_MoveChild1,
7955 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
7956 OPC_Scope, 40,
7957 OPC_MoveChild0,
7958 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7959 OPC_Scope, 16,
7960 OPC_RecordChild0,
7961 OPC_CheckChild1Same, 0,
7962 OPC_MoveParent,
7963 OPC_RecordChild1,
7964 OPC_MoveParent,
7965 OPC_CheckType, 51,
7966 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7967 51, 3, 1, 0, 2,
7968 16,
7969 OPC_CheckChild0Same, 0,
7970 OPC_RecordChild1,
7971 OPC_MoveParent,
7972 OPC_RecordChild1,
7973 OPC_MoveParent,
7974 OPC_CheckType, 51,
7975 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7976 51, 3, 1, 0, 2,
7977 0,
7978 39,
7979 OPC_RecordChild0,
7980 OPC_MoveChild1,
7981 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
7982 OPC_Scope, 15,
7983 OPC_RecordChild0,
7984 OPC_CheckChild1Same, 0,
7985 OPC_MoveParent,
7986 OPC_MoveParent,
7987 OPC_CheckType, 51,
7988 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7989 51, 3, 2, 0, 1,
7990 15,
7991 OPC_CheckChild0Same, 0,
7992 OPC_RecordChild1,
7993 OPC_MoveParent,
7994 OPC_MoveParent,
7995 OPC_CheckType, 51,
7996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
7997 51, 3, 2, 0, 1,
7998 0,
7999 0,
8000 64,
8001 OPC_MoveChild0,
8002 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8003 OPC_Scope, 21,
8004 OPC_MoveChild0,
8005 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8006 OPC_RecordChild0,
8007 OPC_RecordChild1,
8008 OPC_MoveParent,
8009 OPC_RecordChild1,
8010 OPC_MoveParent,
8011 OPC_CheckChild1Same, 0,
8012 OPC_CheckType, 62,
8013 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8014 62, 3, 1, 0, 2,
8015 35,
8016 OPC_RecordChild0,
8017 OPC_MoveChild1,
8018 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8019 OPC_RecordChild0,
8020 OPC_RecordChild1,
8021 OPC_MoveParent,
8022 OPC_MoveParent,
8023 OPC_CheckType, 62,
8024 OPC_Scope, 10,
8025 OPC_CheckChild1Same, 2,
8026 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8027 62, 3, 1, 2, 0,
8028 10,
8029 OPC_CheckChild1Same, 1,
8030 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8031 62, 3, 2, 1, 0,
8032 0,
8033 0,
8034 88,
8035 OPC_RecordChild0,
8036 OPC_MoveChild1,
8037 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8038 OPC_Scope, 40,
8039 OPC_MoveChild0,
8040 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8041 OPC_Scope, 16,
8042 OPC_RecordChild0,
8043 OPC_CheckChild1Same, 0,
8044 OPC_MoveParent,
8045 OPC_RecordChild1,
8046 OPC_MoveParent,
8047 OPC_CheckType, 62,
8048 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8049 62, 3, 1, 0, 2,
8050 16,
8051 OPC_CheckChild0Same, 0,
8052 OPC_RecordChild1,
8053 OPC_MoveParent,
8054 OPC_RecordChild1,
8055 OPC_MoveParent,
8056 OPC_CheckType, 62,
8057 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8058 62, 3, 1, 0, 2,
8059 0,
8060 39,
8061 OPC_RecordChild0,
8062 OPC_MoveChild1,
8063 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8064 OPC_Scope, 15,
8065 OPC_RecordChild0,
8066 OPC_CheckChild1Same, 0,
8067 OPC_MoveParent,
8068 OPC_MoveParent,
8069 OPC_CheckType, 62,
8070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8071 62, 3, 2, 0, 1,
8072 15,
8073 OPC_CheckChild0Same, 0,
8074 OPC_RecordChild1,
8075 OPC_MoveParent,
8076 OPC_MoveParent,
8077 OPC_CheckType, 62,
8078 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8079 62, 3, 2, 0, 1,
8080 0,
8081 0,
8082 64,
8083 OPC_MoveChild0,
8084 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8085 OPC_Scope, 21,
8086 OPC_MoveChild0,
8087 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8088 OPC_RecordChild0,
8089 OPC_RecordChild1,
8090 OPC_MoveParent,
8091 OPC_RecordChild1,
8092 OPC_MoveParent,
8093 OPC_CheckChild1Same, 0,
8094 OPC_CheckType, 81,
8095 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8096 81, 3, 1, 0, 2,
8097 35,
8098 OPC_RecordChild0,
8099 OPC_MoveChild1,
8100 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8101 OPC_RecordChild0,
8102 OPC_RecordChild1,
8103 OPC_MoveParent,
8104 OPC_MoveParent,
8105 OPC_CheckType, 81,
8106 OPC_Scope, 10,
8107 OPC_CheckChild1Same, 2,
8108 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8109 81, 3, 1, 2, 0,
8110 10,
8111 OPC_CheckChild1Same, 1,
8112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8113 81, 3, 2, 1, 0,
8114 0,
8115 0,
8116 43|128,1,
8117 OPC_RecordChild0,
8118 OPC_Scope, 127,
8119 OPC_MoveChild1,
8120 OPC_Scope, 86,
8121 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
8122 OPC_Scope, 40,
8123 OPC_MoveChild0,
8124 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8125 OPC_Scope, 16,
8126 OPC_RecordChild0,
8127 OPC_CheckChild1Same, 0,
8128 OPC_MoveParent,
8129 OPC_RecordChild1,
8130 OPC_MoveParent,
8131 OPC_CheckType, 81,
8132 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8133 81, 3, 1, 0, 2,
8134 16,
8135 OPC_CheckChild0Same, 0,
8136 OPC_RecordChild1,
8137 OPC_MoveParent,
8138 OPC_RecordChild1,
8139 OPC_MoveParent,
8140 OPC_CheckType, 81,
8141 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8142 81, 3, 1, 0, 2,
8143 0,
8144 39,
8145 OPC_RecordChild0,
8146 OPC_MoveChild1,
8147 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
8148 OPC_Scope, 15,
8149 OPC_RecordChild0,
8150 OPC_CheckChild1Same, 0,
8151 OPC_MoveParent,
8152 OPC_MoveParent,
8153 OPC_CheckType, 81,
8154 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8155 81, 3, 2, 0, 1,
8156 15,
8157 OPC_CheckChild0Same, 0,
8158 OPC_RecordChild1,
8159 OPC_MoveParent,
8160 OPC_MoveParent,
8161 OPC_CheckType, 81,
8162 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
8163 81, 3, 2, 0, 1,
8164 0,
8165 0,
8166 36,
8167 OPC_CheckImmAllOnesV,
8168 OPC_MoveParent,
8169 OPC_SwitchType , 6, 40,
8170 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
8171 40, 1, 0,
8172 6, 51,
8173 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
8174 51, 1, 0,
8175 6, 62,
8176 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
8177 62, 1, 0,
8178 6, 81,
8179 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NOT),
8180 81, 1, 0,
8181 0,
8182 0,
8183 39,
8184 OPC_RecordChild1,
8185 OPC_SwitchType , 7, 40,
8186 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
8187 40, 2, 0, 1,
8188 7, 51,
8189 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
8190 51, 2, 0, 1,
8191 7, 62,
8192 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
8193 62, 2, 0, 1,
8194 7, 81,
8195 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::XOR),
8196 81, 2, 0, 1,
8197 0,
8198 0,
8199 0,
8200 21, TARGET_VAL(ISD::CTLZ),
8201 OPC_RecordChild0,
8202 OPC_SwitchType , 7, 7,
8203 OPC_CheckChild0TypeI32,
8204 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I32),
8205 7, 1, 0,
8206 7, 8,
8207 OPC_CheckChild0TypeI64,
8208 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CLZ_I64),
8209 8, 1, 0,
8210 0,
8211 21, TARGET_VAL(ISD::CTTZ),
8212 OPC_RecordChild0,
8213 OPC_SwitchType , 7, 7,
8214 OPC_CheckChild0TypeI32,
8215 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I32),
8216 7, 1, 0,
8217 7, 8,
8218 OPC_CheckChild0TypeI64,
8219 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CTZ_I64),
8220 8, 1, 0,
8221 0,
8222 32, TARGET_VAL(ISD::CTPOP),
8223 OPC_RecordChild0,
8224 OPC_SwitchType , 7, 7,
8225 OPC_CheckChild0TypeI32,
8226 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I32),
8227 7, 1, 0,
8228 7, 8,
8229 OPC_CheckChild0TypeI64,
8230 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I64),
8231 8, 1, 0,
8232 9, 40,
8233 OPC_CheckChild0Type, 40,
8234 OPC_CheckPatternPredicate0,
8235 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::POPCNT_I8x16),
8236 40, 1, 0,
8237 0,
8238 22, TARGET_VAL(WebAssemblyISD::I64_ADD128),
8239 OPC_RecordChild0,
8240 OPC_CheckChild0TypeI64,
8241 OPC_RecordChild1,
8242 OPC_CheckChild1TypeI64,
8243 OPC_RecordChild2,
8244 OPC_CheckChild2TypeI64,
8245 OPC_RecordChild3,
8246 OPC_CheckChild3TypeI64,
8247 OPC_CheckTypeI64,
8248 OPC_CheckTypeRes, 1, 8,
8249 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_ADD128),
8250 8, 8, 4, 0, 1, 2, 3,
8251 22, TARGET_VAL(WebAssemblyISD::I64_SUB128),
8252 OPC_RecordChild0,
8253 OPC_CheckChild0TypeI64,
8254 OPC_RecordChild1,
8255 OPC_CheckChild1TypeI64,
8256 OPC_RecordChild2,
8257 OPC_CheckChild2TypeI64,
8258 OPC_RecordChild3,
8259 OPC_CheckChild3TypeI64,
8260 OPC_CheckTypeI64,
8261 OPC_CheckTypeRes, 1, 8,
8262 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_SUB128),
8263 8, 8, 4, 0, 1, 2, 3,
8264 16, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_S),
8265 OPC_RecordChild0,
8266 OPC_CheckChild0TypeI64,
8267 OPC_RecordChild1,
8268 OPC_CheckChild1TypeI64,
8269 OPC_CheckTypeI64,
8270 OPC_CheckTypeRes, 1, 8,
8271 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_S),
8272 8, 8, 2, 0, 1,
8273 16, TARGET_VAL(WebAssemblyISD::I64_MUL_WIDE_U),
8274 OPC_RecordChild0,
8275 OPC_CheckChild0TypeI64,
8276 OPC_RecordChild1,
8277 OPC_CheckChild1TypeI64,
8278 OPC_CheckTypeI64,
8279 OPC_CheckTypeRes, 1, 8,
8280 OPC_MorphNodeTo2None, TARGET_VAL(WebAssembly::I64_MUL_WIDE_U),
8281 8, 8, 2, 0, 1,
8282 7, TARGET_VAL(ISD::TRUNCATE),
8283 OPC_RecordChild0,
8284 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
8285 7, 1, 0,
8286 7, TARGET_VAL(ISD::SIGN_EXTEND),
8287 OPC_RecordChild0,
8288 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32),
8289 8, 1, 0,
8290 121, TARGET_VAL(ISD::FP_TO_SINT),
8291 OPC_RecordChild0,
8292 OPC_Scope, 48,
8293 OPC_CheckChild0Type, 12,
8294 OPC_SwitchType , 20, 7,
8295 OPC_Scope, 8,
8296 OPC_CheckPatternPredicate, 9,
8297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
8298 7, 1, 0,
8299 8,
8300 OPC_CheckPatternPredicate, 10,
8301 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32),
8302 7, 1, 0,
8303 0,
8304 20, 8,
8305 OPC_Scope, 8,
8306 OPC_CheckPatternPredicate, 9,
8307 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
8308 8, 1, 0,
8309 8,
8310 OPC_CheckPatternPredicate, 10,
8311 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32),
8312 8, 1, 0,
8313 0,
8314 0,
8315 48,
8316 OPC_CheckChild0Type, 13,
8317 OPC_SwitchType , 20, 7,
8318 OPC_Scope, 8,
8319 OPC_CheckPatternPredicate, 9,
8320 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
8321 7, 1, 0,
8322 8,
8323 OPC_CheckPatternPredicate, 10,
8324 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64),
8325 7, 1, 0,
8326 0,
8327 20, 8,
8328 OPC_Scope, 8,
8329 OPC_CheckPatternPredicate, 9,
8330 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
8331 8, 1, 0,
8332 8,
8333 OPC_CheckPatternPredicate, 10,
8334 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64),
8335 8, 1, 0,
8336 0,
8337 0,
8338 9,
8339 OPC_CheckType, 62,
8340 OPC_CheckPatternPredicate0,
8341 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
8342 62, 1, 0,
8343 9,
8344 OPC_CheckType, 51,
8345 OPC_CheckPatternPredicate5,
8346 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
8347 51, 1, 0,
8348 0,
8349 121, TARGET_VAL(ISD::FP_TO_UINT),
8350 OPC_RecordChild0,
8351 OPC_Scope, 48,
8352 OPC_CheckChild0Type, 12,
8353 OPC_SwitchType , 20, 7,
8354 OPC_Scope, 8,
8355 OPC_CheckPatternPredicate, 9,
8356 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
8357 7, 1, 0,
8358 8,
8359 OPC_CheckPatternPredicate, 10,
8360 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32),
8361 7, 1, 0,
8362 0,
8363 20, 8,
8364 OPC_Scope, 8,
8365 OPC_CheckPatternPredicate, 9,
8366 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
8367 8, 1, 0,
8368 8,
8369 OPC_CheckPatternPredicate, 10,
8370 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32),
8371 8, 1, 0,
8372 0,
8373 0,
8374 48,
8375 OPC_CheckChild0Type, 13,
8376 OPC_SwitchType , 20, 7,
8377 OPC_Scope, 8,
8378 OPC_CheckPatternPredicate, 9,
8379 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
8380 7, 1, 0,
8381 8,
8382 OPC_CheckPatternPredicate, 10,
8383 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64),
8384 7, 1, 0,
8385 0,
8386 20, 8,
8387 OPC_Scope, 8,
8388 OPC_CheckPatternPredicate, 9,
8389 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
8390 8, 1, 0,
8391 8,
8392 OPC_CheckPatternPredicate, 10,
8393 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64),
8394 8, 1, 0,
8395 0,
8396 0,
8397 9,
8398 OPC_CheckType, 62,
8399 OPC_CheckPatternPredicate0,
8400 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
8401 62, 1, 0,
8402 9,
8403 OPC_CheckType, 51,
8404 OPC_CheckPatternPredicate5,
8405 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
8406 51, 1, 0,
8407 0,
8408 87, TARGET_VAL(ISD::FP_TO_SINT_SAT),
8409 OPC_RecordChild0,
8410 OPC_Scope, 27,
8411 OPC_CheckChild0Type, 12,
8412 OPC_MoveChild1,
8413 OPC_Scope, 10,
8414 OPC_CheckValueType, 7,
8415 OPC_MoveParent,
8416 OPC_CheckTypeI32,
8417 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32),
8418 7, 1, 0,
8419 10,
8420 OPC_CheckValueType, 8,
8421 OPC_MoveParent,
8422 OPC_CheckTypeI64,
8423 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32),
8424 8, 1, 0,
8425 0,
8426 27,
8427 OPC_CheckChild0Type, 13,
8428 OPC_MoveChild1,
8429 OPC_Scope, 10,
8430 OPC_CheckValueType, 7,
8431 OPC_MoveParent,
8432 OPC_CheckTypeI32,
8433 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64),
8434 7, 1, 0,
8435 10,
8436 OPC_CheckValueType, 8,
8437 OPC_MoveParent,
8438 OPC_CheckTypeI64,
8439 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64),
8440 8, 1, 0,
8441 0,
8442 27,
8443 OPC_MoveChild1,
8444 OPC_Scope, 11,
8445 OPC_CheckValueType, 7,
8446 OPC_MoveParent,
8447 OPC_CheckType, 62,
8448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I32x4),
8449 62, 1, 0,
8450 11,
8451 OPC_CheckValueType, 6,
8452 OPC_MoveParent,
8453 OPC_CheckType, 51,
8454 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_sint_I16x8),
8455 51, 1, 0,
8456 0,
8457 0,
8458 87, TARGET_VAL(ISD::FP_TO_UINT_SAT),
8459 OPC_RecordChild0,
8460 OPC_Scope, 27,
8461 OPC_CheckChild0Type, 12,
8462 OPC_MoveChild1,
8463 OPC_Scope, 10,
8464 OPC_CheckValueType, 7,
8465 OPC_MoveParent,
8466 OPC_CheckTypeI32,
8467 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32),
8468 7, 1, 0,
8469 10,
8470 OPC_CheckValueType, 8,
8471 OPC_MoveParent,
8472 OPC_CheckTypeI64,
8473 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32),
8474 8, 1, 0,
8475 0,
8476 27,
8477 OPC_CheckChild0Type, 13,
8478 OPC_MoveChild1,
8479 OPC_Scope, 10,
8480 OPC_CheckValueType, 7,
8481 OPC_MoveParent,
8482 OPC_CheckTypeI32,
8483 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64),
8484 7, 1, 0,
8485 10,
8486 OPC_CheckValueType, 8,
8487 OPC_MoveParent,
8488 OPC_CheckTypeI64,
8489 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64),
8490 8, 1, 0,
8491 0,
8492 27,
8493 OPC_MoveChild1,
8494 OPC_Scope, 11,
8495 OPC_CheckValueType, 7,
8496 OPC_MoveParent,
8497 OPC_CheckType, 62,
8498 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I32x4),
8499 62, 1, 0,
8500 11,
8501 OPC_CheckValueType, 6,
8502 OPC_MoveParent,
8503 OPC_CheckType, 51,
8504 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::fp_to_uint_I16x8),
8505 51, 1, 0,
8506 0,
8507 0,
8508 39|128,2, TARGET_VAL(ISD::BITCAST),
8509 OPC_RecordChild0,
8510 OPC_Scope, 9,
8511 OPC_CheckChild0Type, 12,
8512 OPC_CheckTypeI32,
8513 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32),
8514 7, 1, 0,
8515 9,
8516 OPC_CheckChild0Type, 13,
8517 OPC_CheckTypeI64,
8518 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64),
8519 8, 1, 0,
8520 9,
8521 OPC_CheckChild0TypeI32,
8522 OPC_CheckType, 12,
8523 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32),
8524 12, 1, 0,
8525 9,
8526 OPC_CheckChild0TypeI64,
8527 OPC_CheckType, 13,
8528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64),
8529 13, 1, 0,
8530 35,
8531 OPC_CheckChild0Type, 51,
8532 OPC_SwitchType , 3, 40,
8533 OPC_CompleteMatch, 1, 0,
8534
8535 3, 62,
8536 OPC_CompleteMatch, 1, 0,
8537
8538 3, 81,
8539 OPC_CompleteMatch, 1, 0,
8540
8541 3, 116,
8542 OPC_CompleteMatch, 1, 0,
8543
8544 3, 6|128,1,
8545 OPC_CompleteMatch, 1, 0,
8546
8547 3, 95,
8548 OPC_CompleteMatch, 1, 0,
8549
8550 0,
8551 35,
8552 OPC_CheckChild0Type, 62,
8553 OPC_SwitchType , 3, 40,
8554 OPC_CompleteMatch, 1, 0,
8555
8556 3, 51,
8557 OPC_CompleteMatch, 1, 0,
8558
8559 3, 81,
8560 OPC_CompleteMatch, 1, 0,
8561
8562 3, 116,
8563 OPC_CompleteMatch, 1, 0,
8564
8565 3, 6|128,1,
8566 OPC_CompleteMatch, 1, 0,
8567
8568 3, 95,
8569 OPC_CompleteMatch, 1, 0,
8570
8571 0,
8572 35,
8573 OPC_CheckChild0Type, 81,
8574 OPC_SwitchType , 3, 40,
8575 OPC_CompleteMatch, 1, 0,
8576
8577 3, 51,
8578 OPC_CompleteMatch, 1, 0,
8579
8580 3, 62,
8581 OPC_CompleteMatch, 1, 0,
8582
8583 3, 116,
8584 OPC_CompleteMatch, 1, 0,
8585
8586 3, 6|128,1,
8587 OPC_CompleteMatch, 1, 0,
8588
8589 3, 95,
8590 OPC_CompleteMatch, 1, 0,
8591
8592 0,
8593 35,
8594 OPC_CheckChild0Type, 116,
8595 OPC_SwitchType , 3, 40,
8596 OPC_CompleteMatch, 1, 0,
8597
8598 3, 51,
8599 OPC_CompleteMatch, 1, 0,
8600
8601 3, 62,
8602 OPC_CompleteMatch, 1, 0,
8603
8604 3, 81,
8605 OPC_CompleteMatch, 1, 0,
8606
8607 3, 6|128,1,
8608 OPC_CompleteMatch, 1, 0,
8609
8610 3, 95,
8611 OPC_CompleteMatch, 1, 0,
8612
8613 0,
8614 35,
8615 OPC_CheckChild0Type, 6|128,1,
8616 OPC_SwitchType , 3, 40,
8617 OPC_CompleteMatch, 1, 0,
8618
8619 3, 51,
8620 OPC_CompleteMatch, 1, 0,
8621
8622 3, 62,
8623 OPC_CompleteMatch, 1, 0,
8624
8625 3, 81,
8626 OPC_CompleteMatch, 1, 0,
8627
8628 3, 116,
8629 OPC_CompleteMatch, 1, 0,
8630
8631 3, 95,
8632 OPC_CompleteMatch, 1, 0,
8633
8634 0,
8635 35,
8636 OPC_CheckChild0Type, 95,
8637 OPC_SwitchType , 3, 40,
8638 OPC_CompleteMatch, 1, 0,
8639
8640 3, 51,
8641 OPC_CompleteMatch, 1, 0,
8642
8643 3, 62,
8644 OPC_CompleteMatch, 1, 0,
8645
8646 3, 81,
8647 OPC_CompleteMatch, 1, 0,
8648
8649 3, 116,
8650 OPC_CompleteMatch, 1, 0,
8651
8652 3, 6|128,1,
8653 OPC_CompleteMatch, 1, 0,
8654
8655 0,
8656 35,
8657 OPC_CheckChild0Type, 40,
8658 OPC_SwitchType , 3, 51,
8659 OPC_CompleteMatch, 1, 0,
8660
8661 3, 62,
8662 OPC_CompleteMatch, 1, 0,
8663
8664 3, 81,
8665 OPC_CompleteMatch, 1, 0,
8666
8667 3, 116,
8668 OPC_CompleteMatch, 1, 0,
8669
8670 3, 6|128,1,
8671 OPC_CompleteMatch, 1, 0,
8672
8673 3, 95,
8674 OPC_CompleteMatch, 1, 0,
8675
8676 0,
8677 0,
8678 21, TARGET_VAL(ISD::ConstantFP),
8679 OPC_RecordNode,
8680 OPC_SwitchType , 7, 12,
8681 OPC_EmitConvertToTarget0,
8682 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F32),
8683 12, 1, 1,
8684 7, 13,
8685 OPC_EmitConvertToTarget0,
8686 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_F64),
8687 13, 1, 1,
8688 0,
8689 63, TARGET_VAL(ISD::SINT_TO_FP),
8690 OPC_RecordChild0,
8691 OPC_Scope, 19,
8692 OPC_CheckChild0TypeI32,
8693 OPC_SwitchType , 6, 12,
8694 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32),
8695 12, 1, 0,
8696 6, 13,
8697 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32),
8698 13, 1, 0,
8699 0,
8700 19,
8701 OPC_CheckChild0TypeI64,
8702 OPC_SwitchType , 6, 12,
8703 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64),
8704 12, 1, 0,
8705 6, 13,
8706 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64),
8707 13, 1, 0,
8708 0,
8709 9,
8710 OPC_CheckType, 116,
8711 OPC_CheckPatternPredicate0,
8712 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F32x4),
8713 116, 1, 0,
8714 9,
8715 OPC_CheckType, 95,
8716 OPC_CheckPatternPredicate5,
8717 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::sint_to_fp_F16x8),
8718 95, 1, 0,
8719 0,
8720 63, TARGET_VAL(ISD::UINT_TO_FP),
8721 OPC_RecordChild0,
8722 OPC_Scope, 19,
8723 OPC_CheckChild0TypeI32,
8724 OPC_SwitchType , 6, 12,
8725 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32),
8726 12, 1, 0,
8727 6, 13,
8728 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32),
8729 13, 1, 0,
8730 0,
8731 19,
8732 OPC_CheckChild0TypeI64,
8733 OPC_SwitchType , 6, 12,
8734 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64),
8735 12, 1, 0,
8736 6, 13,
8737 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64),
8738 13, 1, 0,
8739 0,
8740 9,
8741 OPC_CheckType, 116,
8742 OPC_CheckPatternPredicate0,
8743 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F32x4),
8744 116, 1, 0,
8745 9,
8746 OPC_CheckType, 95,
8747 OPC_CheckPatternPredicate5,
8748 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::uint_to_fp_F16x8),
8749 95, 1, 0,
8750 0,
8751 7, TARGET_VAL(ISD::FP_EXTEND),
8752 OPC_RecordChild0,
8753 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
8754 13, 1, 0,
8755 7, TARGET_VAL(ISD::FP_ROUND),
8756 OPC_RecordChild0,
8757 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
8758 12, 1, 0,
8759 54, TARGET_VAL(ISD::FADD),
8760 OPC_RecordChild0,
8761 OPC_RecordChild1,
8762 OPC_SwitchType , 7, 12,
8763 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32),
8764 12, 2, 0, 1,
8765 7, 13,
8766 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64),
8767 13, 2, 0, 1,
8768 8, 116,
8769 OPC_CheckPatternPredicate0,
8770 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F32x4),
8771 116, 2, 0, 1,
8772 9, 6|128,1,
8773 OPC_CheckPatternPredicate0,
8774 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F64x2),
8775 6|128,1, 2, 0, 1,
8776 8, 95,
8777 OPC_CheckPatternPredicate5,
8778 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_F16x8),
8779 95, 2, 0, 1,
8780 0,
8781 54, TARGET_VAL(ISD::FSUB),
8782 OPC_RecordChild0,
8783 OPC_RecordChild1,
8784 OPC_SwitchType , 7, 12,
8785 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32),
8786 12, 2, 0, 1,
8787 7, 13,
8788 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64),
8789 13, 2, 0, 1,
8790 8, 116,
8791 OPC_CheckPatternPredicate0,
8792 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F32x4),
8793 116, 2, 0, 1,
8794 9, 6|128,1,
8795 OPC_CheckPatternPredicate0,
8796 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F64x2),
8797 6|128,1, 2, 0, 1,
8798 8, 95,
8799 OPC_CheckPatternPredicate5,
8800 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_F16x8),
8801 95, 2, 0, 1,
8802 0,
8803 54, TARGET_VAL(ISD::FMUL),
8804 OPC_RecordChild0,
8805 OPC_RecordChild1,
8806 OPC_SwitchType , 7, 12,
8807 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32),
8808 12, 2, 0, 1,
8809 7, 13,
8810 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64),
8811 13, 2, 0, 1,
8812 8, 116,
8813 OPC_CheckPatternPredicate0,
8814 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F32x4),
8815 116, 2, 0, 1,
8816 9, 6|128,1,
8817 OPC_CheckPatternPredicate0,
8818 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F64x2),
8819 6|128,1, 2, 0, 1,
8820 8, 95,
8821 OPC_CheckPatternPredicate5,
8822 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MUL_F16x8),
8823 95, 2, 0, 1,
8824 0,
8825 54, TARGET_VAL(ISD::FDIV),
8826 OPC_RecordChild0,
8827 OPC_RecordChild1,
8828 OPC_SwitchType , 7, 12,
8829 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32),
8830 12, 2, 0, 1,
8831 7, 13,
8832 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64),
8833 13, 2, 0, 1,
8834 8, 116,
8835 OPC_CheckPatternPredicate0,
8836 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F32x4),
8837 116, 2, 0, 1,
8838 9, 6|128,1,
8839 OPC_CheckPatternPredicate0,
8840 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F64x2),
8841 6|128,1, 2, 0, 1,
8842 8, 95,
8843 OPC_CheckPatternPredicate5,
8844 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DIV_F16x8),
8845 95, 2, 0, 1,
8846 0,
8847 48, TARGET_VAL(ISD::FSQRT),
8848 OPC_RecordChild0,
8849 OPC_SwitchType , 6, 12,
8850 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32),
8851 12, 1, 0,
8852 6, 13,
8853 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64),
8854 13, 1, 0,
8855 7, 116,
8856 OPC_CheckPatternPredicate0,
8857 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F32x4),
8858 116, 1, 0,
8859 8, 6|128,1,
8860 OPC_CheckPatternPredicate0,
8861 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F64x2),
8862 6|128,1, 1, 0,
8863 7, 95,
8864 OPC_CheckPatternPredicate5,
8865 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SQRT_F16x8),
8866 95, 1, 0,
8867 0,
8868 48, TARGET_VAL(ISD::FABS),
8869 OPC_RecordChild0,
8870 OPC_SwitchType , 6, 12,
8871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32),
8872 12, 1, 0,
8873 6, 13,
8874 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64),
8875 13, 1, 0,
8876 7, 116,
8877 OPC_CheckPatternPredicate0,
8878 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F32x4),
8879 116, 1, 0,
8880 8, 6|128,1,
8881 OPC_CheckPatternPredicate0,
8882 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F64x2),
8883 6|128,1, 1, 0,
8884 7, 95,
8885 OPC_CheckPatternPredicate5,
8886 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_F16x8),
8887 95, 1, 0,
8888 0,
8889 48, TARGET_VAL(ISD::FNEG),
8890 OPC_RecordChild0,
8891 OPC_SwitchType , 6, 12,
8892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32),
8893 12, 1, 0,
8894 6, 13,
8895 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64),
8896 13, 1, 0,
8897 7, 116,
8898 OPC_CheckPatternPredicate0,
8899 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F32x4),
8900 116, 1, 0,
8901 8, 6|128,1,
8902 OPC_CheckPatternPredicate0,
8903 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F64x2),
8904 6|128,1, 1, 0,
8905 7, 95,
8906 OPC_CheckPatternPredicate5,
8907 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEG_F16x8),
8908 95, 1, 0,
8909 0,
8910 62, TARGET_VAL(ISD::FCOPYSIGN),
8911 OPC_RecordChild0,
8912 OPC_RecordChild1,
8913 OPC_Scope, 28,
8914 OPC_CheckChild1Type, 12,
8915 OPC_SwitchType , 7, 12,
8916 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
8917 12, 2, 0, 1,
8918 13, 13,
8919 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F64_PROMOTE_F32),
8920 13, 1, 1,
8921 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
8922 13, 2, 0, 2,
8923 0,
8924 28,
8925 OPC_CheckChild1Type, 13,
8926 OPC_SwitchType , 7, 13,
8927 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F64),
8928 13, 2, 0, 1,
8929 13, 12,
8930 OPC_EmitNode1None, TARGET_VAL(WebAssembly::F32_DEMOTE_F64),
8931 12, 1, 1,
8932 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::COPYSIGN_F32),
8933 12, 2, 0, 2,
8934 0,
8935 0,
8936 54, TARGET_VAL(ISD::FMINIMUM),
8937 OPC_RecordChild0,
8938 OPC_RecordChild1,
8939 OPC_SwitchType , 7, 12,
8940 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32),
8941 12, 2, 0, 1,
8942 7, 13,
8943 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64),
8944 13, 2, 0, 1,
8945 8, 116,
8946 OPC_CheckPatternPredicate0,
8947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F32x4),
8948 116, 2, 0, 1,
8949 9, 6|128,1,
8950 OPC_CheckPatternPredicate0,
8951 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F64x2),
8952 6|128,1, 2, 0, 1,
8953 8, 95,
8954 OPC_CheckPatternPredicate5,
8955 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_F16x8),
8956 95, 2, 0, 1,
8957 0,
8958 54, TARGET_VAL(ISD::FMAXIMUM),
8959 OPC_RecordChild0,
8960 OPC_RecordChild1,
8961 OPC_SwitchType , 7, 12,
8962 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32),
8963 12, 2, 0, 1,
8964 7, 13,
8965 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64),
8966 13, 2, 0, 1,
8967 8, 116,
8968 OPC_CheckPatternPredicate0,
8969 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F32x4),
8970 116, 2, 0, 1,
8971 9, 6|128,1,
8972 OPC_CheckPatternPredicate0,
8973 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F64x2),
8974 6|128,1, 2, 0, 1,
8975 8, 95,
8976 OPC_CheckPatternPredicate5,
8977 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_F16x8),
8978 95, 2, 0, 1,
8979 0,
8980 48, TARGET_VAL(ISD::FCEIL),
8981 OPC_RecordChild0,
8982 OPC_SwitchType , 6, 12,
8983 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32),
8984 12, 1, 0,
8985 6, 13,
8986 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64),
8987 13, 1, 0,
8988 7, 116,
8989 OPC_CheckPatternPredicate0,
8990 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F32x4),
8991 116, 1, 0,
8992 8, 6|128,1,
8993 OPC_CheckPatternPredicate0,
8994 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F64x2),
8995 6|128,1, 1, 0,
8996 7, 95,
8997 OPC_CheckPatternPredicate5,
8998 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CEIL_F16x8),
8999 95, 1, 0,
9000 0,
9001 48, TARGET_VAL(ISD::FFLOOR),
9002 OPC_RecordChild0,
9003 OPC_SwitchType , 6, 12,
9004 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32),
9005 12, 1, 0,
9006 6, 13,
9007 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64),
9008 13, 1, 0,
9009 7, 116,
9010 OPC_CheckPatternPredicate0,
9011 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F32x4),
9012 116, 1, 0,
9013 8, 6|128,1,
9014 OPC_CheckPatternPredicate0,
9015 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F64x2),
9016 6|128,1, 1, 0,
9017 7, 95,
9018 OPC_CheckPatternPredicate5,
9019 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::FLOOR_F16x8),
9020 95, 1, 0,
9021 0,
9022 48, TARGET_VAL(ISD::FTRUNC),
9023 OPC_RecordChild0,
9024 OPC_SwitchType , 6, 12,
9025 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32),
9026 12, 1, 0,
9027 6, 13,
9028 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64),
9029 13, 1, 0,
9030 7, 116,
9031 OPC_CheckPatternPredicate0,
9032 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F32x4),
9033 116, 1, 0,
9034 8, 6|128,1,
9035 OPC_CheckPatternPredicate0,
9036 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F64x2),
9037 6|128,1, 1, 0,
9038 7, 95,
9039 OPC_CheckPatternPredicate5,
9040 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::TRUNC_F16x8),
9041 95, 1, 0,
9042 0,
9043 48, TARGET_VAL(ISD::FNEARBYINT),
9044 OPC_RecordChild0,
9045 OPC_SwitchType , 6, 12,
9046 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
9047 12, 1, 0,
9048 6, 13,
9049 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
9050 13, 1, 0,
9051 7, 116,
9052 OPC_CheckPatternPredicate0,
9053 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
9054 116, 1, 0,
9055 8, 6|128,1,
9056 OPC_CheckPatternPredicate0,
9057 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
9058 6|128,1, 1, 0,
9059 7, 95,
9060 OPC_CheckPatternPredicate5,
9061 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
9062 95, 1, 0,
9063 0,
9064 45, TARGET_VAL(ISD::FRINT),
9065 OPC_RecordChild0,
9066 OPC_SwitchType , 6, 12,
9067 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
9068 12, 1, 0,
9069 6, 13,
9070 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
9071 13, 1, 0,
9072 6, 116,
9073 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
9074 116, 1, 0,
9075 7, 6|128,1,
9076 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
9077 6|128,1, 1, 0,
9078 6, 95,
9079 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
9080 95, 1, 0,
9081 0,
9082 45, TARGET_VAL(ISD::FROUNDEVEN),
9083 OPC_RecordChild0,
9084 OPC_SwitchType , 6, 12,
9085 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32),
9086 12, 1, 0,
9087 6, 13,
9088 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64),
9089 13, 1, 0,
9090 6, 116,
9091 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F32x4),
9092 116, 1, 0,
9093 7, 6|128,1,
9094 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F64x2),
9095 6|128,1, 1, 0,
9096 6, 95,
9097 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NEAREST_F16x8),
9098 95, 1, 0,
9099 0,
9100 22|128,3, TARGET_VAL(ISD::BUILD_VECTOR),
9101 OPC_RecordChild0,
9102 OPC_MoveChild0,
9103 OPC_SwitchOpcode , 73|128,2, TARGET_VAL(ISD::Constant),
9104 OPC_SwitchType , 47|128,2, 7,
9105 OPC_Scope, 51|128,1,
9106 OPC_CheckPredicate, 9,
9107 OPC_MoveSibling1,
9108 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9109 OPC_RecordNode,
9110 OPC_CheckPredicate, 9,
9111 OPC_CheckTypeI32,
9112 OPC_MoveSibling2,
9113 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9114 OPC_RecordNode,
9115 OPC_CheckPredicate, 9,
9116 OPC_CheckTypeI32,
9117 OPC_MoveSibling3,
9118 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9119 OPC_RecordNode,
9120 OPC_CheckPredicate, 9,
9121 OPC_CheckTypeI32,
9122 OPC_MoveSibling4,
9123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9124 OPC_RecordNode,
9125 OPC_CheckPredicate, 9,
9126 OPC_CheckTypeI32,
9127 OPC_MoveSibling5,
9128 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9129 OPC_RecordNode,
9130 OPC_CheckPredicate, 9,
9131 OPC_CheckTypeI32,
9132 OPC_MoveSibling6,
9133 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9134 OPC_RecordNode,
9135 OPC_CheckPredicate, 9,
9136 OPC_CheckTypeI32,
9137 OPC_MoveSibling7,
9138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9139 OPC_RecordNode,
9140 OPC_CheckPredicate, 9,
9141 OPC_CheckTypeI32,
9142 OPC_MoveSibling, 8,
9143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9144 OPC_RecordNode,
9145 OPC_CheckPredicate, 9,
9146 OPC_CheckTypeI32,
9147 OPC_MoveSibling, 9,
9148 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9149 OPC_RecordNode,
9150 OPC_CheckPredicate, 9,
9151 OPC_CheckTypeI32,
9152 OPC_MoveSibling, 10,
9153 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9154 OPC_RecordNode,
9155 OPC_CheckPredicate, 9,
9156 OPC_CheckTypeI32,
9157 OPC_MoveSibling, 11,
9158 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9159 OPC_RecordNode,
9160 OPC_CheckPredicate, 9,
9161 OPC_CheckTypeI32,
9162 OPC_MoveSibling, 12,
9163 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9164 OPC_RecordNode,
9165 OPC_CheckPredicate, 9,
9166 OPC_CheckTypeI32,
9167 OPC_MoveSibling, 13,
9168 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9169 OPC_RecordNode,
9170 OPC_CheckPredicate, 9,
9171 OPC_CheckTypeI32,
9172 OPC_MoveSibling, 14,
9173 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9174 OPC_RecordNode,
9175 OPC_CheckPredicate, 9,
9176 OPC_CheckTypeI32,
9177 OPC_MoveSibling, 15,
9178 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9179 OPC_RecordNode,
9180 OPC_CheckPredicate, 9,
9181 OPC_CheckTypeI32,
9182 OPC_MoveParent,
9183 OPC_CheckType, 40,
9184 OPC_CheckPatternPredicate0,
9185 OPC_EmitConvertToTarget0,
9186 OPC_EmitConvertToTarget1,
9187 OPC_EmitConvertToTarget2,
9188 OPC_EmitConvertToTarget3,
9189 OPC_EmitConvertToTarget4,
9190 OPC_EmitConvertToTarget5,
9191 OPC_EmitConvertToTarget6,
9192 OPC_EmitConvertToTarget7,
9193 OPC_EmitConvertToTarget, 8,
9194 OPC_EmitConvertToTarget, 9,
9195 OPC_EmitConvertToTarget, 10,
9196 OPC_EmitConvertToTarget, 11,
9197 OPC_EmitConvertToTarget, 12,
9198 OPC_EmitConvertToTarget, 13,
9199 OPC_EmitConvertToTarget, 14,
9200 OPC_EmitConvertToTarget, 15,
9201 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
9202 40, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
9203 83,
9204 OPC_CheckPredicate, 19,
9205 OPC_MoveSibling1,
9206 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9207 OPC_RecordNode,
9208 OPC_CheckPredicate, 19,
9209 OPC_CheckTypeI32,
9210 OPC_MoveSibling2,
9211 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9212 OPC_RecordNode,
9213 OPC_CheckPredicate, 19,
9214 OPC_CheckTypeI32,
9215 OPC_MoveSibling3,
9216 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9217 OPC_RecordNode,
9218 OPC_CheckPredicate, 19,
9219 OPC_CheckTypeI32,
9220 OPC_MoveSibling4,
9221 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9222 OPC_RecordNode,
9223 OPC_CheckPredicate, 19,
9224 OPC_CheckTypeI32,
9225 OPC_MoveSibling5,
9226 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9227 OPC_RecordNode,
9228 OPC_CheckPredicate, 19,
9229 OPC_CheckTypeI32,
9230 OPC_MoveSibling6,
9231 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9232 OPC_RecordNode,
9233 OPC_CheckPredicate, 19,
9234 OPC_CheckTypeI32,
9235 OPC_MoveSibling7,
9236 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9237 OPC_RecordNode,
9238 OPC_CheckPredicate, 19,
9239 OPC_CheckTypeI32,
9240 OPC_MoveParent,
9241 OPC_CheckType, 51,
9242 OPC_CheckPatternPredicate0,
9243 OPC_EmitConvertToTarget0,
9244 OPC_EmitConvertToTarget1,
9245 OPC_EmitConvertToTarget2,
9246 OPC_EmitConvertToTarget3,
9247 OPC_EmitConvertToTarget4,
9248 OPC_EmitConvertToTarget5,
9249 OPC_EmitConvertToTarget6,
9250 OPC_EmitConvertToTarget7,
9251 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
9252 51, 8, 8, 9, 10, 11, 12, 13, 14, 15,
9253 35,
9254 OPC_MoveSibling1,
9255 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9256 OPC_RecordNode,
9257 OPC_CheckTypeI32,
9258 OPC_MoveSibling2,
9259 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9260 OPC_RecordNode,
9261 OPC_CheckTypeI32,
9262 OPC_MoveSibling3,
9263 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9264 OPC_RecordNode,
9265 OPC_CheckTypeI32,
9266 OPC_MoveParent,
9267 OPC_CheckType, 62,
9268 OPC_CheckPatternPredicate0,
9269 OPC_EmitConvertToTarget0,
9270 OPC_EmitConvertToTarget1,
9271 OPC_EmitConvertToTarget2,
9272 OPC_EmitConvertToTarget3,
9273 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
9274 62, 4, 4, 5, 6, 7,
9275 0,
9276 19, 8,
9277 OPC_MoveSibling1,
9278 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9279 OPC_RecordNode,
9280 OPC_CheckTypeI64,
9281 OPC_MoveParent,
9282 OPC_CheckType, 81,
9283 OPC_CheckPatternPredicate0,
9284 OPC_EmitConvertToTarget0,
9285 OPC_EmitConvertToTarget1,
9286 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
9287 81, 2, 2, 3,
9288 0,
9289 66, TARGET_VAL(ISD::ConstantFP),
9290 OPC_SwitchType , 38, 12,
9291 OPC_MoveSibling1,
9292 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
9293 OPC_RecordNode,
9294 OPC_CheckType, 12,
9295 OPC_MoveSibling2,
9296 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
9297 OPC_RecordNode,
9298 OPC_CheckType, 12,
9299 OPC_MoveSibling3,
9300 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
9301 OPC_RecordNode,
9302 OPC_CheckType, 12,
9303 OPC_MoveParent,
9304 OPC_CheckType, 116,
9305 OPC_CheckPatternPredicate0,
9306 OPC_EmitConvertToTarget0,
9307 OPC_EmitConvertToTarget1,
9308 OPC_EmitConvertToTarget2,
9309 OPC_EmitConvertToTarget3,
9310 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
9311 116, 4, 4, 5, 6, 7,
9312 22, 13,
9313 OPC_MoveSibling1,
9314 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
9315 OPC_RecordNode,
9316 OPC_CheckType, 13,
9317 OPC_MoveParent,
9318 OPC_CheckType, 6|128,1,
9319 OPC_CheckPatternPredicate0,
9320 OPC_EmitConvertToTarget0,
9321 OPC_EmitConvertToTarget1,
9322 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
9323 6|128,1, 2, 2, 3,
9324 0,
9325 0,
9326 92|128,18, TARGET_VAL(WebAssemblyISD::SHUFFLE),
9327 OPC_RecordChild0,
9328 OPC_Scope, 83|128,2,
9329 OPC_CheckChild0Type, 40,
9330 OPC_RecordChild1,
9331 OPC_CheckChild1Type, 40,
9332 OPC_RecordChild2,
9333 OPC_MoveChild2,
9334 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
9335 OPC_CheckPredicate0,
9336 OPC_CheckTypeI32,
9337 OPC_MoveSibling3,
9338 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9339 OPC_RecordNode,
9340 OPC_CheckPredicate0,
9341 OPC_CheckTypeI32,
9342 OPC_MoveSibling4,
9343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9344 OPC_RecordNode,
9345 OPC_CheckPredicate0,
9346 OPC_CheckTypeI32,
9347 OPC_MoveSibling5,
9348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9349 OPC_RecordNode,
9350 OPC_CheckPredicate0,
9351 OPC_CheckTypeI32,
9352 OPC_MoveSibling6,
9353 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9354 OPC_RecordNode,
9355 OPC_CheckPredicate0,
9356 OPC_CheckTypeI32,
9357 OPC_MoveSibling7,
9358 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9359 OPC_RecordNode,
9360 OPC_CheckPredicate0,
9361 OPC_CheckTypeI32,
9362 OPC_MoveSibling, 8,
9363 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9364 OPC_RecordNode,
9365 OPC_CheckPredicate0,
9366 OPC_CheckTypeI32,
9367 OPC_MoveSibling, 9,
9368 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9369 OPC_RecordNode,
9370 OPC_CheckPredicate0,
9371 OPC_CheckTypeI32,
9372 OPC_MoveSibling, 10,
9373 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9374 OPC_RecordNode,
9375 OPC_CheckPredicate0,
9376 OPC_CheckTypeI32,
9377 OPC_MoveSibling, 11,
9378 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9379 OPC_RecordNode,
9380 OPC_CheckPredicate0,
9381 OPC_CheckTypeI32,
9382 OPC_MoveSibling, 12,
9383 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9384 OPC_RecordNode,
9385 OPC_CheckPredicate0,
9386 OPC_CheckTypeI32,
9387 OPC_MoveSibling, 13,
9388 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9389 OPC_RecordNode,
9390 OPC_CheckPredicate0,
9391 OPC_CheckTypeI32,
9392 OPC_MoveSibling, 14,
9393 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9394 OPC_RecordNode,
9395 OPC_CheckPredicate0,
9396 OPC_CheckTypeI32,
9397 OPC_MoveSibling, 15,
9398 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9399 OPC_RecordNode,
9400 OPC_CheckPredicate0,
9401 OPC_CheckTypeI32,
9402 OPC_MoveSibling, 16,
9403 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9404 OPC_RecordNode,
9405 OPC_CheckPredicate0,
9406 OPC_CheckTypeI32,
9407 OPC_MoveSibling, 17,
9408 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9409 OPC_RecordNode,
9410 OPC_CheckPredicate0,
9411 OPC_CheckTypeI32,
9412 OPC_MoveParent,
9413 OPC_CheckType, 40,
9414 OPC_EmitConvertToTarget2,
9415 OPC_EmitConvertToTarget3,
9416 OPC_EmitConvertToTarget4,
9417 OPC_EmitConvertToTarget5,
9418 OPC_EmitConvertToTarget6,
9419 OPC_EmitConvertToTarget7,
9420 OPC_EmitConvertToTarget, 8,
9421 OPC_EmitConvertToTarget, 9,
9422 OPC_EmitConvertToTarget, 10,
9423 OPC_EmitConvertToTarget, 11,
9424 OPC_EmitConvertToTarget, 12,
9425 OPC_EmitConvertToTarget, 13,
9426 OPC_EmitConvertToTarget, 14,
9427 OPC_EmitConvertToTarget, 15,
9428 OPC_EmitConvertToTarget, 16,
9429 OPC_EmitConvertToTarget, 17,
9430 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9431 40, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9432 25|128,1, TARGET_VAL(ISD::TargetConstant),
9433 OPC_CheckTypeI32,
9434 OPC_MoveSibling3,
9435 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9436 OPC_RecordNode,
9437 OPC_CheckTypeI32,
9438 OPC_MoveSibling4,
9439 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9440 OPC_RecordNode,
9441 OPC_CheckTypeI32,
9442 OPC_MoveSibling5,
9443 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9444 OPC_RecordNode,
9445 OPC_CheckTypeI32,
9446 OPC_MoveSibling6,
9447 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9448 OPC_RecordNode,
9449 OPC_CheckTypeI32,
9450 OPC_MoveSibling7,
9451 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9452 OPC_RecordNode,
9453 OPC_CheckTypeI32,
9454 OPC_MoveSibling, 8,
9455 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9456 OPC_RecordNode,
9457 OPC_CheckTypeI32,
9458 OPC_MoveSibling, 9,
9459 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9460 OPC_RecordNode,
9461 OPC_CheckTypeI32,
9462 OPC_MoveSibling, 10,
9463 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9464 OPC_RecordNode,
9465 OPC_CheckTypeI32,
9466 OPC_MoveSibling, 11,
9467 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9468 OPC_RecordNode,
9469 OPC_CheckTypeI32,
9470 OPC_MoveSibling, 12,
9471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9472 OPC_RecordNode,
9473 OPC_CheckTypeI32,
9474 OPC_MoveSibling, 13,
9475 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9476 OPC_RecordNode,
9477 OPC_CheckTypeI32,
9478 OPC_MoveSibling, 14,
9479 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9480 OPC_RecordNode,
9481 OPC_CheckTypeI32,
9482 OPC_MoveSibling, 15,
9483 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9484 OPC_RecordNode,
9485 OPC_CheckTypeI32,
9486 OPC_MoveSibling, 16,
9487 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9488 OPC_RecordNode,
9489 OPC_CheckTypeI32,
9490 OPC_MoveSibling, 17,
9491 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9492 OPC_RecordNode,
9493 OPC_CheckTypeI32,
9494 OPC_MoveParent,
9495 OPC_CheckType, 40,
9496 OPC_EmitConvertToTarget2,
9497 OPC_EmitConvertToTarget3,
9498 OPC_EmitConvertToTarget4,
9499 OPC_EmitConvertToTarget5,
9500 OPC_EmitConvertToTarget6,
9501 OPC_EmitConvertToTarget7,
9502 OPC_EmitConvertToTarget, 8,
9503 OPC_EmitConvertToTarget, 9,
9504 OPC_EmitConvertToTarget, 10,
9505 OPC_EmitConvertToTarget, 11,
9506 OPC_EmitConvertToTarget, 12,
9507 OPC_EmitConvertToTarget, 13,
9508 OPC_EmitConvertToTarget, 14,
9509 OPC_EmitConvertToTarget, 15,
9510 OPC_EmitConvertToTarget, 16,
9511 OPC_EmitConvertToTarget, 17,
9512 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9513 40, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9514 0,
9515 83|128,2,
9516 OPC_CheckChild0Type, 51,
9517 OPC_RecordChild1,
9518 OPC_CheckChild1Type, 51,
9519 OPC_RecordChild2,
9520 OPC_MoveChild2,
9521 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
9522 OPC_CheckPredicate0,
9523 OPC_CheckTypeI32,
9524 OPC_MoveSibling3,
9525 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9526 OPC_RecordNode,
9527 OPC_CheckPredicate0,
9528 OPC_CheckTypeI32,
9529 OPC_MoveSibling4,
9530 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9531 OPC_RecordNode,
9532 OPC_CheckPredicate0,
9533 OPC_CheckTypeI32,
9534 OPC_MoveSibling5,
9535 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9536 OPC_RecordNode,
9537 OPC_CheckPredicate0,
9538 OPC_CheckTypeI32,
9539 OPC_MoveSibling6,
9540 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9541 OPC_RecordNode,
9542 OPC_CheckPredicate0,
9543 OPC_CheckTypeI32,
9544 OPC_MoveSibling7,
9545 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9546 OPC_RecordNode,
9547 OPC_CheckPredicate0,
9548 OPC_CheckTypeI32,
9549 OPC_MoveSibling, 8,
9550 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9551 OPC_RecordNode,
9552 OPC_CheckPredicate0,
9553 OPC_CheckTypeI32,
9554 OPC_MoveSibling, 9,
9555 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9556 OPC_RecordNode,
9557 OPC_CheckPredicate0,
9558 OPC_CheckTypeI32,
9559 OPC_MoveSibling, 10,
9560 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9561 OPC_RecordNode,
9562 OPC_CheckPredicate0,
9563 OPC_CheckTypeI32,
9564 OPC_MoveSibling, 11,
9565 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9566 OPC_RecordNode,
9567 OPC_CheckPredicate0,
9568 OPC_CheckTypeI32,
9569 OPC_MoveSibling, 12,
9570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9571 OPC_RecordNode,
9572 OPC_CheckPredicate0,
9573 OPC_CheckTypeI32,
9574 OPC_MoveSibling, 13,
9575 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9576 OPC_RecordNode,
9577 OPC_CheckPredicate0,
9578 OPC_CheckTypeI32,
9579 OPC_MoveSibling, 14,
9580 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9581 OPC_RecordNode,
9582 OPC_CheckPredicate0,
9583 OPC_CheckTypeI32,
9584 OPC_MoveSibling, 15,
9585 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9586 OPC_RecordNode,
9587 OPC_CheckPredicate0,
9588 OPC_CheckTypeI32,
9589 OPC_MoveSibling, 16,
9590 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9591 OPC_RecordNode,
9592 OPC_CheckPredicate0,
9593 OPC_CheckTypeI32,
9594 OPC_MoveSibling, 17,
9595 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9596 OPC_RecordNode,
9597 OPC_CheckPredicate0,
9598 OPC_CheckTypeI32,
9599 OPC_MoveParent,
9600 OPC_CheckType, 51,
9601 OPC_EmitConvertToTarget2,
9602 OPC_EmitConvertToTarget3,
9603 OPC_EmitConvertToTarget4,
9604 OPC_EmitConvertToTarget5,
9605 OPC_EmitConvertToTarget6,
9606 OPC_EmitConvertToTarget7,
9607 OPC_EmitConvertToTarget, 8,
9608 OPC_EmitConvertToTarget, 9,
9609 OPC_EmitConvertToTarget, 10,
9610 OPC_EmitConvertToTarget, 11,
9611 OPC_EmitConvertToTarget, 12,
9612 OPC_EmitConvertToTarget, 13,
9613 OPC_EmitConvertToTarget, 14,
9614 OPC_EmitConvertToTarget, 15,
9615 OPC_EmitConvertToTarget, 16,
9616 OPC_EmitConvertToTarget, 17,
9617 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9618 51, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9619 25|128,1, TARGET_VAL(ISD::TargetConstant),
9620 OPC_CheckTypeI32,
9621 OPC_MoveSibling3,
9622 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9623 OPC_RecordNode,
9624 OPC_CheckTypeI32,
9625 OPC_MoveSibling4,
9626 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9627 OPC_RecordNode,
9628 OPC_CheckTypeI32,
9629 OPC_MoveSibling5,
9630 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9631 OPC_RecordNode,
9632 OPC_CheckTypeI32,
9633 OPC_MoveSibling6,
9634 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9635 OPC_RecordNode,
9636 OPC_CheckTypeI32,
9637 OPC_MoveSibling7,
9638 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9639 OPC_RecordNode,
9640 OPC_CheckTypeI32,
9641 OPC_MoveSibling, 8,
9642 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9643 OPC_RecordNode,
9644 OPC_CheckTypeI32,
9645 OPC_MoveSibling, 9,
9646 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9647 OPC_RecordNode,
9648 OPC_CheckTypeI32,
9649 OPC_MoveSibling, 10,
9650 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9651 OPC_RecordNode,
9652 OPC_CheckTypeI32,
9653 OPC_MoveSibling, 11,
9654 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9655 OPC_RecordNode,
9656 OPC_CheckTypeI32,
9657 OPC_MoveSibling, 12,
9658 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9659 OPC_RecordNode,
9660 OPC_CheckTypeI32,
9661 OPC_MoveSibling, 13,
9662 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9663 OPC_RecordNode,
9664 OPC_CheckTypeI32,
9665 OPC_MoveSibling, 14,
9666 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9667 OPC_RecordNode,
9668 OPC_CheckTypeI32,
9669 OPC_MoveSibling, 15,
9670 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9671 OPC_RecordNode,
9672 OPC_CheckTypeI32,
9673 OPC_MoveSibling, 16,
9674 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9675 OPC_RecordNode,
9676 OPC_CheckTypeI32,
9677 OPC_MoveSibling, 17,
9678 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9679 OPC_RecordNode,
9680 OPC_CheckTypeI32,
9681 OPC_MoveParent,
9682 OPC_CheckType, 51,
9683 OPC_EmitConvertToTarget2,
9684 OPC_EmitConvertToTarget3,
9685 OPC_EmitConvertToTarget4,
9686 OPC_EmitConvertToTarget5,
9687 OPC_EmitConvertToTarget6,
9688 OPC_EmitConvertToTarget7,
9689 OPC_EmitConvertToTarget, 8,
9690 OPC_EmitConvertToTarget, 9,
9691 OPC_EmitConvertToTarget, 10,
9692 OPC_EmitConvertToTarget, 11,
9693 OPC_EmitConvertToTarget, 12,
9694 OPC_EmitConvertToTarget, 13,
9695 OPC_EmitConvertToTarget, 14,
9696 OPC_EmitConvertToTarget, 15,
9697 OPC_EmitConvertToTarget, 16,
9698 OPC_EmitConvertToTarget, 17,
9699 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9700 51, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9701 0,
9702 83|128,2,
9703 OPC_CheckChild0Type, 62,
9704 OPC_RecordChild1,
9705 OPC_CheckChild1Type, 62,
9706 OPC_RecordChild2,
9707 OPC_MoveChild2,
9708 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
9709 OPC_CheckPredicate0,
9710 OPC_CheckTypeI32,
9711 OPC_MoveSibling3,
9712 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9713 OPC_RecordNode,
9714 OPC_CheckPredicate0,
9715 OPC_CheckTypeI32,
9716 OPC_MoveSibling4,
9717 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9718 OPC_RecordNode,
9719 OPC_CheckPredicate0,
9720 OPC_CheckTypeI32,
9721 OPC_MoveSibling5,
9722 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9723 OPC_RecordNode,
9724 OPC_CheckPredicate0,
9725 OPC_CheckTypeI32,
9726 OPC_MoveSibling6,
9727 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9728 OPC_RecordNode,
9729 OPC_CheckPredicate0,
9730 OPC_CheckTypeI32,
9731 OPC_MoveSibling7,
9732 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9733 OPC_RecordNode,
9734 OPC_CheckPredicate0,
9735 OPC_CheckTypeI32,
9736 OPC_MoveSibling, 8,
9737 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9738 OPC_RecordNode,
9739 OPC_CheckPredicate0,
9740 OPC_CheckTypeI32,
9741 OPC_MoveSibling, 9,
9742 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9743 OPC_RecordNode,
9744 OPC_CheckPredicate0,
9745 OPC_CheckTypeI32,
9746 OPC_MoveSibling, 10,
9747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9748 OPC_RecordNode,
9749 OPC_CheckPredicate0,
9750 OPC_CheckTypeI32,
9751 OPC_MoveSibling, 11,
9752 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9753 OPC_RecordNode,
9754 OPC_CheckPredicate0,
9755 OPC_CheckTypeI32,
9756 OPC_MoveSibling, 12,
9757 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9758 OPC_RecordNode,
9759 OPC_CheckPredicate0,
9760 OPC_CheckTypeI32,
9761 OPC_MoveSibling, 13,
9762 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9763 OPC_RecordNode,
9764 OPC_CheckPredicate0,
9765 OPC_CheckTypeI32,
9766 OPC_MoveSibling, 14,
9767 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9768 OPC_RecordNode,
9769 OPC_CheckPredicate0,
9770 OPC_CheckTypeI32,
9771 OPC_MoveSibling, 15,
9772 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9773 OPC_RecordNode,
9774 OPC_CheckPredicate0,
9775 OPC_CheckTypeI32,
9776 OPC_MoveSibling, 16,
9777 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9778 OPC_RecordNode,
9779 OPC_CheckPredicate0,
9780 OPC_CheckTypeI32,
9781 OPC_MoveSibling, 17,
9782 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9783 OPC_RecordNode,
9784 OPC_CheckPredicate0,
9785 OPC_CheckTypeI32,
9786 OPC_MoveParent,
9787 OPC_CheckType, 62,
9788 OPC_EmitConvertToTarget2,
9789 OPC_EmitConvertToTarget3,
9790 OPC_EmitConvertToTarget4,
9791 OPC_EmitConvertToTarget5,
9792 OPC_EmitConvertToTarget6,
9793 OPC_EmitConvertToTarget7,
9794 OPC_EmitConvertToTarget, 8,
9795 OPC_EmitConvertToTarget, 9,
9796 OPC_EmitConvertToTarget, 10,
9797 OPC_EmitConvertToTarget, 11,
9798 OPC_EmitConvertToTarget, 12,
9799 OPC_EmitConvertToTarget, 13,
9800 OPC_EmitConvertToTarget, 14,
9801 OPC_EmitConvertToTarget, 15,
9802 OPC_EmitConvertToTarget, 16,
9803 OPC_EmitConvertToTarget, 17,
9804 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9805 62, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9806 25|128,1, TARGET_VAL(ISD::TargetConstant),
9807 OPC_CheckTypeI32,
9808 OPC_MoveSibling3,
9809 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9810 OPC_RecordNode,
9811 OPC_CheckTypeI32,
9812 OPC_MoveSibling4,
9813 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9814 OPC_RecordNode,
9815 OPC_CheckTypeI32,
9816 OPC_MoveSibling5,
9817 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9818 OPC_RecordNode,
9819 OPC_CheckTypeI32,
9820 OPC_MoveSibling6,
9821 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9822 OPC_RecordNode,
9823 OPC_CheckTypeI32,
9824 OPC_MoveSibling7,
9825 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9826 OPC_RecordNode,
9827 OPC_CheckTypeI32,
9828 OPC_MoveSibling, 8,
9829 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9830 OPC_RecordNode,
9831 OPC_CheckTypeI32,
9832 OPC_MoveSibling, 9,
9833 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9834 OPC_RecordNode,
9835 OPC_CheckTypeI32,
9836 OPC_MoveSibling, 10,
9837 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9838 OPC_RecordNode,
9839 OPC_CheckTypeI32,
9840 OPC_MoveSibling, 11,
9841 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9842 OPC_RecordNode,
9843 OPC_CheckTypeI32,
9844 OPC_MoveSibling, 12,
9845 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9846 OPC_RecordNode,
9847 OPC_CheckTypeI32,
9848 OPC_MoveSibling, 13,
9849 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9850 OPC_RecordNode,
9851 OPC_CheckTypeI32,
9852 OPC_MoveSibling, 14,
9853 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9854 OPC_RecordNode,
9855 OPC_CheckTypeI32,
9856 OPC_MoveSibling, 15,
9857 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9858 OPC_RecordNode,
9859 OPC_CheckTypeI32,
9860 OPC_MoveSibling, 16,
9861 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9862 OPC_RecordNode,
9863 OPC_CheckTypeI32,
9864 OPC_MoveSibling, 17,
9865 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9866 OPC_RecordNode,
9867 OPC_CheckTypeI32,
9868 OPC_MoveParent,
9869 OPC_CheckType, 62,
9870 OPC_EmitConvertToTarget2,
9871 OPC_EmitConvertToTarget3,
9872 OPC_EmitConvertToTarget4,
9873 OPC_EmitConvertToTarget5,
9874 OPC_EmitConvertToTarget6,
9875 OPC_EmitConvertToTarget7,
9876 OPC_EmitConvertToTarget, 8,
9877 OPC_EmitConvertToTarget, 9,
9878 OPC_EmitConvertToTarget, 10,
9879 OPC_EmitConvertToTarget, 11,
9880 OPC_EmitConvertToTarget, 12,
9881 OPC_EmitConvertToTarget, 13,
9882 OPC_EmitConvertToTarget, 14,
9883 OPC_EmitConvertToTarget, 15,
9884 OPC_EmitConvertToTarget, 16,
9885 OPC_EmitConvertToTarget, 17,
9886 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9887 62, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9888 0,
9889 83|128,2,
9890 OPC_CheckChild0Type, 81,
9891 OPC_RecordChild1,
9892 OPC_CheckChild1Type, 81,
9893 OPC_RecordChild2,
9894 OPC_MoveChild2,
9895 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
9896 OPC_CheckPredicate0,
9897 OPC_CheckTypeI32,
9898 OPC_MoveSibling3,
9899 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9900 OPC_RecordNode,
9901 OPC_CheckPredicate0,
9902 OPC_CheckTypeI32,
9903 OPC_MoveSibling4,
9904 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9905 OPC_RecordNode,
9906 OPC_CheckPredicate0,
9907 OPC_CheckTypeI32,
9908 OPC_MoveSibling5,
9909 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9910 OPC_RecordNode,
9911 OPC_CheckPredicate0,
9912 OPC_CheckTypeI32,
9913 OPC_MoveSibling6,
9914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9915 OPC_RecordNode,
9916 OPC_CheckPredicate0,
9917 OPC_CheckTypeI32,
9918 OPC_MoveSibling7,
9919 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9920 OPC_RecordNode,
9921 OPC_CheckPredicate0,
9922 OPC_CheckTypeI32,
9923 OPC_MoveSibling, 8,
9924 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9925 OPC_RecordNode,
9926 OPC_CheckPredicate0,
9927 OPC_CheckTypeI32,
9928 OPC_MoveSibling, 9,
9929 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9930 OPC_RecordNode,
9931 OPC_CheckPredicate0,
9932 OPC_CheckTypeI32,
9933 OPC_MoveSibling, 10,
9934 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9935 OPC_RecordNode,
9936 OPC_CheckPredicate0,
9937 OPC_CheckTypeI32,
9938 OPC_MoveSibling, 11,
9939 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9940 OPC_RecordNode,
9941 OPC_CheckPredicate0,
9942 OPC_CheckTypeI32,
9943 OPC_MoveSibling, 12,
9944 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9945 OPC_RecordNode,
9946 OPC_CheckPredicate0,
9947 OPC_CheckTypeI32,
9948 OPC_MoveSibling, 13,
9949 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9950 OPC_RecordNode,
9951 OPC_CheckPredicate0,
9952 OPC_CheckTypeI32,
9953 OPC_MoveSibling, 14,
9954 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9955 OPC_RecordNode,
9956 OPC_CheckPredicate0,
9957 OPC_CheckTypeI32,
9958 OPC_MoveSibling, 15,
9959 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9960 OPC_RecordNode,
9961 OPC_CheckPredicate0,
9962 OPC_CheckTypeI32,
9963 OPC_MoveSibling, 16,
9964 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9965 OPC_RecordNode,
9966 OPC_CheckPredicate0,
9967 OPC_CheckTypeI32,
9968 OPC_MoveSibling, 17,
9969 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9970 OPC_RecordNode,
9971 OPC_CheckPredicate0,
9972 OPC_CheckTypeI32,
9973 OPC_MoveParent,
9974 OPC_CheckType, 81,
9975 OPC_EmitConvertToTarget2,
9976 OPC_EmitConvertToTarget3,
9977 OPC_EmitConvertToTarget4,
9978 OPC_EmitConvertToTarget5,
9979 OPC_EmitConvertToTarget6,
9980 OPC_EmitConvertToTarget7,
9981 OPC_EmitConvertToTarget, 8,
9982 OPC_EmitConvertToTarget, 9,
9983 OPC_EmitConvertToTarget, 10,
9984 OPC_EmitConvertToTarget, 11,
9985 OPC_EmitConvertToTarget, 12,
9986 OPC_EmitConvertToTarget, 13,
9987 OPC_EmitConvertToTarget, 14,
9988 OPC_EmitConvertToTarget, 15,
9989 OPC_EmitConvertToTarget, 16,
9990 OPC_EmitConvertToTarget, 17,
9991 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
9992 81, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
9993 25|128,1, TARGET_VAL(ISD::TargetConstant),
9994 OPC_CheckTypeI32,
9995 OPC_MoveSibling3,
9996 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9997 OPC_RecordNode,
9998 OPC_CheckTypeI32,
9999 OPC_MoveSibling4,
10000 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10001 OPC_RecordNode,
10002 OPC_CheckTypeI32,
10003 OPC_MoveSibling5,
10004 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10005 OPC_RecordNode,
10006 OPC_CheckTypeI32,
10007 OPC_MoveSibling6,
10008 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10009 OPC_RecordNode,
10010 OPC_CheckTypeI32,
10011 OPC_MoveSibling7,
10012 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10013 OPC_RecordNode,
10014 OPC_CheckTypeI32,
10015 OPC_MoveSibling, 8,
10016 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10017 OPC_RecordNode,
10018 OPC_CheckTypeI32,
10019 OPC_MoveSibling, 9,
10020 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10021 OPC_RecordNode,
10022 OPC_CheckTypeI32,
10023 OPC_MoveSibling, 10,
10024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10025 OPC_RecordNode,
10026 OPC_CheckTypeI32,
10027 OPC_MoveSibling, 11,
10028 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10029 OPC_RecordNode,
10030 OPC_CheckTypeI32,
10031 OPC_MoveSibling, 12,
10032 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10033 OPC_RecordNode,
10034 OPC_CheckTypeI32,
10035 OPC_MoveSibling, 13,
10036 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10037 OPC_RecordNode,
10038 OPC_CheckTypeI32,
10039 OPC_MoveSibling, 14,
10040 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10041 OPC_RecordNode,
10042 OPC_CheckTypeI32,
10043 OPC_MoveSibling, 15,
10044 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10045 OPC_RecordNode,
10046 OPC_CheckTypeI32,
10047 OPC_MoveSibling, 16,
10048 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10049 OPC_RecordNode,
10050 OPC_CheckTypeI32,
10051 OPC_MoveSibling, 17,
10052 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10053 OPC_RecordNode,
10054 OPC_CheckTypeI32,
10055 OPC_MoveParent,
10056 OPC_CheckType, 81,
10057 OPC_EmitConvertToTarget2,
10058 OPC_EmitConvertToTarget3,
10059 OPC_EmitConvertToTarget4,
10060 OPC_EmitConvertToTarget5,
10061 OPC_EmitConvertToTarget6,
10062 OPC_EmitConvertToTarget7,
10063 OPC_EmitConvertToTarget, 8,
10064 OPC_EmitConvertToTarget, 9,
10065 OPC_EmitConvertToTarget, 10,
10066 OPC_EmitConvertToTarget, 11,
10067 OPC_EmitConvertToTarget, 12,
10068 OPC_EmitConvertToTarget, 13,
10069 OPC_EmitConvertToTarget, 14,
10070 OPC_EmitConvertToTarget, 15,
10071 OPC_EmitConvertToTarget, 16,
10072 OPC_EmitConvertToTarget, 17,
10073 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10074 81, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10075 0,
10076 83|128,2,
10077 OPC_CheckChild0Type, 116,
10078 OPC_RecordChild1,
10079 OPC_CheckChild1Type, 116,
10080 OPC_RecordChild2,
10081 OPC_MoveChild2,
10082 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
10083 OPC_CheckPredicate0,
10084 OPC_CheckTypeI32,
10085 OPC_MoveSibling3,
10086 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10087 OPC_RecordNode,
10088 OPC_CheckPredicate0,
10089 OPC_CheckTypeI32,
10090 OPC_MoveSibling4,
10091 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10092 OPC_RecordNode,
10093 OPC_CheckPredicate0,
10094 OPC_CheckTypeI32,
10095 OPC_MoveSibling5,
10096 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10097 OPC_RecordNode,
10098 OPC_CheckPredicate0,
10099 OPC_CheckTypeI32,
10100 OPC_MoveSibling6,
10101 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10102 OPC_RecordNode,
10103 OPC_CheckPredicate0,
10104 OPC_CheckTypeI32,
10105 OPC_MoveSibling7,
10106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10107 OPC_RecordNode,
10108 OPC_CheckPredicate0,
10109 OPC_CheckTypeI32,
10110 OPC_MoveSibling, 8,
10111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10112 OPC_RecordNode,
10113 OPC_CheckPredicate0,
10114 OPC_CheckTypeI32,
10115 OPC_MoveSibling, 9,
10116 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10117 OPC_RecordNode,
10118 OPC_CheckPredicate0,
10119 OPC_CheckTypeI32,
10120 OPC_MoveSibling, 10,
10121 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10122 OPC_RecordNode,
10123 OPC_CheckPredicate0,
10124 OPC_CheckTypeI32,
10125 OPC_MoveSibling, 11,
10126 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10127 OPC_RecordNode,
10128 OPC_CheckPredicate0,
10129 OPC_CheckTypeI32,
10130 OPC_MoveSibling, 12,
10131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10132 OPC_RecordNode,
10133 OPC_CheckPredicate0,
10134 OPC_CheckTypeI32,
10135 OPC_MoveSibling, 13,
10136 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10137 OPC_RecordNode,
10138 OPC_CheckPredicate0,
10139 OPC_CheckTypeI32,
10140 OPC_MoveSibling, 14,
10141 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10142 OPC_RecordNode,
10143 OPC_CheckPredicate0,
10144 OPC_CheckTypeI32,
10145 OPC_MoveSibling, 15,
10146 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10147 OPC_RecordNode,
10148 OPC_CheckPredicate0,
10149 OPC_CheckTypeI32,
10150 OPC_MoveSibling, 16,
10151 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10152 OPC_RecordNode,
10153 OPC_CheckPredicate0,
10154 OPC_CheckTypeI32,
10155 OPC_MoveSibling, 17,
10156 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10157 OPC_RecordNode,
10158 OPC_CheckPredicate0,
10159 OPC_CheckTypeI32,
10160 OPC_MoveParent,
10161 OPC_CheckType, 116,
10162 OPC_EmitConvertToTarget2,
10163 OPC_EmitConvertToTarget3,
10164 OPC_EmitConvertToTarget4,
10165 OPC_EmitConvertToTarget5,
10166 OPC_EmitConvertToTarget6,
10167 OPC_EmitConvertToTarget7,
10168 OPC_EmitConvertToTarget, 8,
10169 OPC_EmitConvertToTarget, 9,
10170 OPC_EmitConvertToTarget, 10,
10171 OPC_EmitConvertToTarget, 11,
10172 OPC_EmitConvertToTarget, 12,
10173 OPC_EmitConvertToTarget, 13,
10174 OPC_EmitConvertToTarget, 14,
10175 OPC_EmitConvertToTarget, 15,
10176 OPC_EmitConvertToTarget, 16,
10177 OPC_EmitConvertToTarget, 17,
10178 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10179 116, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10180 25|128,1, TARGET_VAL(ISD::TargetConstant),
10181 OPC_CheckTypeI32,
10182 OPC_MoveSibling3,
10183 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10184 OPC_RecordNode,
10185 OPC_CheckTypeI32,
10186 OPC_MoveSibling4,
10187 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10188 OPC_RecordNode,
10189 OPC_CheckTypeI32,
10190 OPC_MoveSibling5,
10191 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10192 OPC_RecordNode,
10193 OPC_CheckTypeI32,
10194 OPC_MoveSibling6,
10195 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10196 OPC_RecordNode,
10197 OPC_CheckTypeI32,
10198 OPC_MoveSibling7,
10199 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10200 OPC_RecordNode,
10201 OPC_CheckTypeI32,
10202 OPC_MoveSibling, 8,
10203 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10204 OPC_RecordNode,
10205 OPC_CheckTypeI32,
10206 OPC_MoveSibling, 9,
10207 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10208 OPC_RecordNode,
10209 OPC_CheckTypeI32,
10210 OPC_MoveSibling, 10,
10211 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10212 OPC_RecordNode,
10213 OPC_CheckTypeI32,
10214 OPC_MoveSibling, 11,
10215 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10216 OPC_RecordNode,
10217 OPC_CheckTypeI32,
10218 OPC_MoveSibling, 12,
10219 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10220 OPC_RecordNode,
10221 OPC_CheckTypeI32,
10222 OPC_MoveSibling, 13,
10223 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10224 OPC_RecordNode,
10225 OPC_CheckTypeI32,
10226 OPC_MoveSibling, 14,
10227 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10228 OPC_RecordNode,
10229 OPC_CheckTypeI32,
10230 OPC_MoveSibling, 15,
10231 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10232 OPC_RecordNode,
10233 OPC_CheckTypeI32,
10234 OPC_MoveSibling, 16,
10235 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10236 OPC_RecordNode,
10237 OPC_CheckTypeI32,
10238 OPC_MoveSibling, 17,
10239 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10240 OPC_RecordNode,
10241 OPC_CheckTypeI32,
10242 OPC_MoveParent,
10243 OPC_CheckType, 116,
10244 OPC_EmitConvertToTarget2,
10245 OPC_EmitConvertToTarget3,
10246 OPC_EmitConvertToTarget4,
10247 OPC_EmitConvertToTarget5,
10248 OPC_EmitConvertToTarget6,
10249 OPC_EmitConvertToTarget7,
10250 OPC_EmitConvertToTarget, 8,
10251 OPC_EmitConvertToTarget, 9,
10252 OPC_EmitConvertToTarget, 10,
10253 OPC_EmitConvertToTarget, 11,
10254 OPC_EmitConvertToTarget, 12,
10255 OPC_EmitConvertToTarget, 13,
10256 OPC_EmitConvertToTarget, 14,
10257 OPC_EmitConvertToTarget, 15,
10258 OPC_EmitConvertToTarget, 16,
10259 OPC_EmitConvertToTarget, 17,
10260 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10261 116, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10262 0,
10263 89|128,2,
10264 OPC_CheckChild0Type, 6|128,1,
10265 OPC_RecordChild1,
10266 OPC_CheckChild1Type, 6|128,1,
10267 OPC_RecordChild2,
10268 OPC_MoveChild2,
10269 OPC_SwitchOpcode , 43|128,1, TARGET_VAL(ISD::Constant),
10270 OPC_CheckPredicate0,
10271 OPC_CheckTypeI32,
10272 OPC_MoveSibling3,
10273 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10274 OPC_RecordNode,
10275 OPC_CheckPredicate0,
10276 OPC_CheckTypeI32,
10277 OPC_MoveSibling4,
10278 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10279 OPC_RecordNode,
10280 OPC_CheckPredicate0,
10281 OPC_CheckTypeI32,
10282 OPC_MoveSibling5,
10283 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10284 OPC_RecordNode,
10285 OPC_CheckPredicate0,
10286 OPC_CheckTypeI32,
10287 OPC_MoveSibling6,
10288 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10289 OPC_RecordNode,
10290 OPC_CheckPredicate0,
10291 OPC_CheckTypeI32,
10292 OPC_MoveSibling7,
10293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10294 OPC_RecordNode,
10295 OPC_CheckPredicate0,
10296 OPC_CheckTypeI32,
10297 OPC_MoveSibling, 8,
10298 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10299 OPC_RecordNode,
10300 OPC_CheckPredicate0,
10301 OPC_CheckTypeI32,
10302 OPC_MoveSibling, 9,
10303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10304 OPC_RecordNode,
10305 OPC_CheckPredicate0,
10306 OPC_CheckTypeI32,
10307 OPC_MoveSibling, 10,
10308 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10309 OPC_RecordNode,
10310 OPC_CheckPredicate0,
10311 OPC_CheckTypeI32,
10312 OPC_MoveSibling, 11,
10313 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10314 OPC_RecordNode,
10315 OPC_CheckPredicate0,
10316 OPC_CheckTypeI32,
10317 OPC_MoveSibling, 12,
10318 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10319 OPC_RecordNode,
10320 OPC_CheckPredicate0,
10321 OPC_CheckTypeI32,
10322 OPC_MoveSibling, 13,
10323 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10324 OPC_RecordNode,
10325 OPC_CheckPredicate0,
10326 OPC_CheckTypeI32,
10327 OPC_MoveSibling, 14,
10328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10329 OPC_RecordNode,
10330 OPC_CheckPredicate0,
10331 OPC_CheckTypeI32,
10332 OPC_MoveSibling, 15,
10333 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10334 OPC_RecordNode,
10335 OPC_CheckPredicate0,
10336 OPC_CheckTypeI32,
10337 OPC_MoveSibling, 16,
10338 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10339 OPC_RecordNode,
10340 OPC_CheckPredicate0,
10341 OPC_CheckTypeI32,
10342 OPC_MoveSibling, 17,
10343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10344 OPC_RecordNode,
10345 OPC_CheckPredicate0,
10346 OPC_CheckTypeI32,
10347 OPC_MoveParent,
10348 OPC_CheckType, 6|128,1,
10349 OPC_EmitConvertToTarget2,
10350 OPC_EmitConvertToTarget3,
10351 OPC_EmitConvertToTarget4,
10352 OPC_EmitConvertToTarget5,
10353 OPC_EmitConvertToTarget6,
10354 OPC_EmitConvertToTarget7,
10355 OPC_EmitConvertToTarget, 8,
10356 OPC_EmitConvertToTarget, 9,
10357 OPC_EmitConvertToTarget, 10,
10358 OPC_EmitConvertToTarget, 11,
10359 OPC_EmitConvertToTarget, 12,
10360 OPC_EmitConvertToTarget, 13,
10361 OPC_EmitConvertToTarget, 14,
10362 OPC_EmitConvertToTarget, 15,
10363 OPC_EmitConvertToTarget, 16,
10364 OPC_EmitConvertToTarget, 17,
10365 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10366 6|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10367 27|128,1, TARGET_VAL(ISD::TargetConstant),
10368 OPC_CheckTypeI32,
10369 OPC_MoveSibling3,
10370 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10371 OPC_RecordNode,
10372 OPC_CheckTypeI32,
10373 OPC_MoveSibling4,
10374 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10375 OPC_RecordNode,
10376 OPC_CheckTypeI32,
10377 OPC_MoveSibling5,
10378 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10379 OPC_RecordNode,
10380 OPC_CheckTypeI32,
10381 OPC_MoveSibling6,
10382 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10383 OPC_RecordNode,
10384 OPC_CheckTypeI32,
10385 OPC_MoveSibling7,
10386 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10387 OPC_RecordNode,
10388 OPC_CheckTypeI32,
10389 OPC_MoveSibling, 8,
10390 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10391 OPC_RecordNode,
10392 OPC_CheckTypeI32,
10393 OPC_MoveSibling, 9,
10394 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10395 OPC_RecordNode,
10396 OPC_CheckTypeI32,
10397 OPC_MoveSibling, 10,
10398 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10399 OPC_RecordNode,
10400 OPC_CheckTypeI32,
10401 OPC_MoveSibling, 11,
10402 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10403 OPC_RecordNode,
10404 OPC_CheckTypeI32,
10405 OPC_MoveSibling, 12,
10406 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10407 OPC_RecordNode,
10408 OPC_CheckTypeI32,
10409 OPC_MoveSibling, 13,
10410 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10411 OPC_RecordNode,
10412 OPC_CheckTypeI32,
10413 OPC_MoveSibling, 14,
10414 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10415 OPC_RecordNode,
10416 OPC_CheckTypeI32,
10417 OPC_MoveSibling, 15,
10418 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10419 OPC_RecordNode,
10420 OPC_CheckTypeI32,
10421 OPC_MoveSibling, 16,
10422 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10423 OPC_RecordNode,
10424 OPC_CheckTypeI32,
10425 OPC_MoveSibling, 17,
10426 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10427 OPC_RecordNode,
10428 OPC_CheckTypeI32,
10429 OPC_MoveParent,
10430 OPC_CheckType, 6|128,1,
10431 OPC_EmitConvertToTarget2,
10432 OPC_EmitConvertToTarget3,
10433 OPC_EmitConvertToTarget4,
10434 OPC_EmitConvertToTarget5,
10435 OPC_EmitConvertToTarget6,
10436 OPC_EmitConvertToTarget7,
10437 OPC_EmitConvertToTarget, 8,
10438 OPC_EmitConvertToTarget, 9,
10439 OPC_EmitConvertToTarget, 10,
10440 OPC_EmitConvertToTarget, 11,
10441 OPC_EmitConvertToTarget, 12,
10442 OPC_EmitConvertToTarget, 13,
10443 OPC_EmitConvertToTarget, 14,
10444 OPC_EmitConvertToTarget, 15,
10445 OPC_EmitConvertToTarget, 16,
10446 OPC_EmitConvertToTarget, 17,
10447 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10448 6|128,1, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10449 0,
10450 83|128,2,
10451 OPC_CheckChild0Type, 95,
10452 OPC_RecordChild1,
10453 OPC_CheckChild1Type, 95,
10454 OPC_RecordChild2,
10455 OPC_MoveChild2,
10456 OPC_SwitchOpcode , 41|128,1, TARGET_VAL(ISD::Constant),
10457 OPC_CheckPredicate0,
10458 OPC_CheckTypeI32,
10459 OPC_MoveSibling3,
10460 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10461 OPC_RecordNode,
10462 OPC_CheckPredicate0,
10463 OPC_CheckTypeI32,
10464 OPC_MoveSibling4,
10465 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10466 OPC_RecordNode,
10467 OPC_CheckPredicate0,
10468 OPC_CheckTypeI32,
10469 OPC_MoveSibling5,
10470 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10471 OPC_RecordNode,
10472 OPC_CheckPredicate0,
10473 OPC_CheckTypeI32,
10474 OPC_MoveSibling6,
10475 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10476 OPC_RecordNode,
10477 OPC_CheckPredicate0,
10478 OPC_CheckTypeI32,
10479 OPC_MoveSibling7,
10480 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10481 OPC_RecordNode,
10482 OPC_CheckPredicate0,
10483 OPC_CheckTypeI32,
10484 OPC_MoveSibling, 8,
10485 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10486 OPC_RecordNode,
10487 OPC_CheckPredicate0,
10488 OPC_CheckTypeI32,
10489 OPC_MoveSibling, 9,
10490 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10491 OPC_RecordNode,
10492 OPC_CheckPredicate0,
10493 OPC_CheckTypeI32,
10494 OPC_MoveSibling, 10,
10495 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10496 OPC_RecordNode,
10497 OPC_CheckPredicate0,
10498 OPC_CheckTypeI32,
10499 OPC_MoveSibling, 11,
10500 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10501 OPC_RecordNode,
10502 OPC_CheckPredicate0,
10503 OPC_CheckTypeI32,
10504 OPC_MoveSibling, 12,
10505 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10506 OPC_RecordNode,
10507 OPC_CheckPredicate0,
10508 OPC_CheckTypeI32,
10509 OPC_MoveSibling, 13,
10510 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10511 OPC_RecordNode,
10512 OPC_CheckPredicate0,
10513 OPC_CheckTypeI32,
10514 OPC_MoveSibling, 14,
10515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10516 OPC_RecordNode,
10517 OPC_CheckPredicate0,
10518 OPC_CheckTypeI32,
10519 OPC_MoveSibling, 15,
10520 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10521 OPC_RecordNode,
10522 OPC_CheckPredicate0,
10523 OPC_CheckTypeI32,
10524 OPC_MoveSibling, 16,
10525 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10526 OPC_RecordNode,
10527 OPC_CheckPredicate0,
10528 OPC_CheckTypeI32,
10529 OPC_MoveSibling, 17,
10530 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10531 OPC_RecordNode,
10532 OPC_CheckPredicate0,
10533 OPC_CheckTypeI32,
10534 OPC_MoveParent,
10535 OPC_CheckType, 95,
10536 OPC_EmitConvertToTarget2,
10537 OPC_EmitConvertToTarget3,
10538 OPC_EmitConvertToTarget4,
10539 OPC_EmitConvertToTarget5,
10540 OPC_EmitConvertToTarget6,
10541 OPC_EmitConvertToTarget7,
10542 OPC_EmitConvertToTarget, 8,
10543 OPC_EmitConvertToTarget, 9,
10544 OPC_EmitConvertToTarget, 10,
10545 OPC_EmitConvertToTarget, 11,
10546 OPC_EmitConvertToTarget, 12,
10547 OPC_EmitConvertToTarget, 13,
10548 OPC_EmitConvertToTarget, 14,
10549 OPC_EmitConvertToTarget, 15,
10550 OPC_EmitConvertToTarget, 16,
10551 OPC_EmitConvertToTarget, 17,
10552 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10553 95, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10554 25|128,1, TARGET_VAL(ISD::TargetConstant),
10555 OPC_CheckTypeI32,
10556 OPC_MoveSibling3,
10557 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10558 OPC_RecordNode,
10559 OPC_CheckTypeI32,
10560 OPC_MoveSibling4,
10561 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10562 OPC_RecordNode,
10563 OPC_CheckTypeI32,
10564 OPC_MoveSibling5,
10565 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10566 OPC_RecordNode,
10567 OPC_CheckTypeI32,
10568 OPC_MoveSibling6,
10569 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10570 OPC_RecordNode,
10571 OPC_CheckTypeI32,
10572 OPC_MoveSibling7,
10573 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10574 OPC_RecordNode,
10575 OPC_CheckTypeI32,
10576 OPC_MoveSibling, 8,
10577 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10578 OPC_RecordNode,
10579 OPC_CheckTypeI32,
10580 OPC_MoveSibling, 9,
10581 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10582 OPC_RecordNode,
10583 OPC_CheckTypeI32,
10584 OPC_MoveSibling, 10,
10585 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10586 OPC_RecordNode,
10587 OPC_CheckTypeI32,
10588 OPC_MoveSibling, 11,
10589 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10590 OPC_RecordNode,
10591 OPC_CheckTypeI32,
10592 OPC_MoveSibling, 12,
10593 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10594 OPC_RecordNode,
10595 OPC_CheckTypeI32,
10596 OPC_MoveSibling, 13,
10597 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10598 OPC_RecordNode,
10599 OPC_CheckTypeI32,
10600 OPC_MoveSibling, 14,
10601 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10602 OPC_RecordNode,
10603 OPC_CheckTypeI32,
10604 OPC_MoveSibling, 15,
10605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10606 OPC_RecordNode,
10607 OPC_CheckTypeI32,
10608 OPC_MoveSibling, 16,
10609 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10610 OPC_RecordNode,
10611 OPC_CheckTypeI32,
10612 OPC_MoveSibling, 17,
10613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10614 OPC_RecordNode,
10615 OPC_CheckTypeI32,
10616 OPC_MoveParent,
10617 OPC_CheckType, 95,
10618 OPC_EmitConvertToTarget2,
10619 OPC_EmitConvertToTarget3,
10620 OPC_EmitConvertToTarget4,
10621 OPC_EmitConvertToTarget5,
10622 OPC_EmitConvertToTarget6,
10623 OPC_EmitConvertToTarget7,
10624 OPC_EmitConvertToTarget, 8,
10625 OPC_EmitConvertToTarget, 9,
10626 OPC_EmitConvertToTarget, 10,
10627 OPC_EmitConvertToTarget, 11,
10628 OPC_EmitConvertToTarget, 12,
10629 OPC_EmitConvertToTarget, 13,
10630 OPC_EmitConvertToTarget, 14,
10631 OPC_EmitConvertToTarget, 15,
10632 OPC_EmitConvertToTarget, 16,
10633 OPC_EmitConvertToTarget, 17,
10634 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHUFFLE),
10635 95, 18, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
10636 0,
10637 0,
10638 73|128,8, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
10639 OPC_Scope, 6|128,1,
10640 OPC_MoveChild0,
10641 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
10642 OPC_CheckChild0Integer, 0,
10643 OPC_Scope, 62,
10644 OPC_CheckChild0TypeI32,
10645 OPC_MoveSibling1,
10646 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10647 OPC_RecordMemRef,
10648 OPC_RecordNode,
10649 OPC_CheckFoldableChainNode,
10650 OPC_RecordChild1,
10651 OPC_CheckTypeI32,
10652 OPC_Scope, 24,
10653 OPC_CheckChild1TypeI32,
10654 OPC_CheckPredicate, 8,
10655 OPC_CheckPredicate6,
10656 OPC_MoveParent,
10657 OPC_CheckChild2Integer, 0,
10658 OPC_CheckType, 62,
10659 OPC_CheckPatternPredicate1,
10660 OPC_CheckComplexPat0, /*#*/1,
10661 OPC_EmitMergeInputChains1_0,
10662 OPC_EmitInteger32, 0,
10663 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
10664 62, 3, 4, 2, 3,
10665 24,
10666 OPC_CheckChild1TypeI64,
10667 OPC_CheckPredicate, 8,
10668 OPC_CheckPredicate6,
10669 OPC_MoveParent,
10670 OPC_CheckChild2Integer, 0,
10671 OPC_CheckType, 62,
10672 OPC_CheckPatternPredicate2,
10673 OPC_CheckComplexPat1, /*#*/1,
10674 OPC_EmitMergeInputChains1_0,
10675 OPC_EmitInteger32, 0,
10676 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
10677 62, 3, 4, 2, 3,
10678 0,
10679 62,
10680 OPC_CheckChild0TypeI64,
10681 OPC_MoveSibling1,
10682 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10683 OPC_RecordMemRef,
10684 OPC_RecordNode,
10685 OPC_CheckFoldableChainNode,
10686 OPC_RecordChild1,
10687 OPC_CheckTypeI64,
10688 OPC_Scope, 24,
10689 OPC_CheckChild1TypeI32,
10690 OPC_CheckPredicate, 8,
10691 OPC_CheckPredicate6,
10692 OPC_MoveParent,
10693 OPC_CheckChild2Integer, 0,
10694 OPC_CheckType, 81,
10695 OPC_CheckPatternPredicate1,
10696 OPC_CheckComplexPat0, /*#*/1,
10697 OPC_EmitMergeInputChains1_0,
10698 OPC_EmitInteger32, 0,
10699 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10700 81, 3, 4, 2, 3,
10701 24,
10702 OPC_CheckChild1TypeI64,
10703 OPC_CheckPredicate, 8,
10704 OPC_CheckPredicate6,
10705 OPC_MoveParent,
10706 OPC_CheckChild2Integer, 0,
10707 OPC_CheckType, 81,
10708 OPC_CheckPatternPredicate2,
10709 OPC_CheckComplexPat1, /*#*/1,
10710 OPC_EmitMergeInputChains1_0,
10711 OPC_EmitInteger32, 0,
10712 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10713 81, 3, 4, 2, 3,
10714 0,
10715 0,
10716 61|128,7,
10717 OPC_RecordChild0,
10718 OPC_Scope, 32|128,3,
10719 OPC_MoveChild1,
10720 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
10721 OPC_RecordMemRef,
10722 OPC_RecordNode,
10723 OPC_CheckFoldableChainNode,
10724 OPC_RecordChild1,
10725 OPC_Scope, 73|128,1,
10726 OPC_CheckChild1TypeI32,
10727 OPC_CheckPredicate, 8,
10728 OPC_Scope, 67,
10729 OPC_CheckPredicate, 10,
10730 OPC_CheckTypeI32,
10731 OPC_Scope, 30,
10732 OPC_CheckPredicate1,
10733 OPC_MoveSibling2,
10734 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10735 OPC_RecordNode,
10736 OPC_CheckPredicate, 20,
10737 OPC_CheckTypeI32,
10738 OPC_MoveParent,
10739 OPC_CheckType, 40,
10740 OPC_CheckPatternPredicate1,
10741 OPC_EmitMergeInputChains1_1,
10742 OPC_EmitInteger32, 0,
10743 OPC_EmitInteger32, 0,
10744 OPC_EmitConvertToTarget3,
10745 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A32), 0|OPFL_Chain|OPFL_MemRefs,
10746 40, 5, 4, 5, 6, 2, 0,
10747 30,
10748 OPC_CheckPredicate2,
10749 OPC_MoveSibling2,
10750 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10751 OPC_RecordNode,
10752 OPC_CheckPredicate, 14,
10753 OPC_CheckTypeI32,
10754 OPC_MoveParent,
10755 OPC_CheckType, 51,
10756 OPC_CheckPatternPredicate1,
10757 OPC_EmitMergeInputChains1_1,
10758 OPC_EmitInteger32, 0,
10759 OPC_EmitInteger32, 0,
10760 OPC_EmitConvertToTarget3,
10761 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A32), 0|OPFL_Chain|OPFL_MemRefs,
10762 51, 5, 4, 5, 6, 2, 0,
10763 0,
10764 127,
10765 OPC_CheckPredicate6,
10766 OPC_SwitchType , 29, 7,
10767 OPC_MoveSibling2,
10768 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10769 OPC_RecordNode,
10770 OPC_CheckPredicate, 11,
10771 OPC_CheckTypeI32,
10772 OPC_MoveParent,
10773 OPC_CheckType, 62,
10774 OPC_CheckPatternPredicate1,
10775 OPC_EmitMergeInputChains1_1,
10776 OPC_EmitInteger32, 0,
10777 OPC_EmitInteger32, 0,
10778 OPC_EmitConvertToTarget3,
10779 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
10780 62, 5, 4, 5, 6, 2, 0,
10781 29, 12,
10782 OPC_MoveSibling2,
10783 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10784 OPC_RecordNode,
10785 OPC_CheckPredicate, 11,
10786 OPC_CheckTypeI32,
10787 OPC_MoveParent,
10788 OPC_CheckType, 62,
10789 OPC_CheckPatternPredicate1,
10790 OPC_EmitMergeInputChains1_1,
10791 OPC_EmitInteger32, 0,
10792 OPC_EmitInteger32, 0,
10793 OPC_EmitConvertToTarget3,
10794 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
10795 62, 5, 4, 5, 6, 2, 0,
10796 29, 8,
10797 OPC_MoveSibling2,
10798 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10799 OPC_RecordNode,
10800 OPC_CheckPredicate, 12,
10801 OPC_CheckTypeI32,
10802 OPC_MoveParent,
10803 OPC_CheckType, 81,
10804 OPC_CheckPatternPredicate1,
10805 OPC_EmitMergeInputChains1_1,
10806 OPC_EmitInteger32, 0,
10807 OPC_EmitInteger32, 0,
10808 OPC_EmitConvertToTarget3,
10809 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10810 81, 5, 4, 5, 6, 2, 0,
10811 29, 13,
10812 OPC_MoveSibling2,
10813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10814 OPC_RecordNode,
10815 OPC_CheckPredicate, 12,
10816 OPC_CheckTypeI32,
10817 OPC_MoveParent,
10818 OPC_CheckType, 81,
10819 OPC_CheckPatternPredicate1,
10820 OPC_EmitMergeInputChains1_1,
10821 OPC_EmitInteger32, 0,
10822 OPC_EmitInteger32, 0,
10823 OPC_EmitConvertToTarget3,
10824 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
10825 81, 5, 4, 5, 6, 2, 0,
10826 0,
10827 0,
10828 73|128,1,
10829 OPC_CheckChild1TypeI64,
10830 OPC_CheckPredicate, 8,
10831 OPC_Scope, 67,
10832 OPC_CheckPredicate, 10,
10833 OPC_CheckTypeI32,
10834 OPC_Scope, 30,
10835 OPC_CheckPredicate1,
10836 OPC_MoveSibling2,
10837 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10838 OPC_RecordNode,
10839 OPC_CheckPredicate, 20,
10840 OPC_CheckTypeI32,
10841 OPC_MoveParent,
10842 OPC_CheckType, 40,
10843 OPC_CheckPatternPredicate2,
10844 OPC_EmitMergeInputChains1_1,
10845 OPC_EmitInteger32, 0,
10846 OPC_EmitInteger64, 0,
10847 OPC_EmitConvertToTarget3,
10848 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_8_A64), 0|OPFL_Chain|OPFL_MemRefs,
10849 40, 5, 4, 5, 6, 2, 0,
10850 30,
10851 OPC_CheckPredicate2,
10852 OPC_MoveSibling2,
10853 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10854 OPC_RecordNode,
10855 OPC_CheckPredicate, 14,
10856 OPC_CheckTypeI32,
10857 OPC_MoveParent,
10858 OPC_CheckType, 51,
10859 OPC_CheckPatternPredicate2,
10860 OPC_EmitMergeInputChains1_1,
10861 OPC_EmitInteger32, 0,
10862 OPC_EmitInteger64, 0,
10863 OPC_EmitConvertToTarget3,
10864 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_16_A64), 0|OPFL_Chain|OPFL_MemRefs,
10865 51, 5, 4, 5, 6, 2, 0,
10866 0,
10867 127,
10868 OPC_CheckPredicate6,
10869 OPC_SwitchType , 29, 7,
10870 OPC_MoveSibling2,
10871 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10872 OPC_RecordNode,
10873 OPC_CheckPredicate, 11,
10874 OPC_CheckTypeI32,
10875 OPC_MoveParent,
10876 OPC_CheckType, 62,
10877 OPC_CheckPatternPredicate2,
10878 OPC_EmitMergeInputChains1_1,
10879 OPC_EmitInteger32, 0,
10880 OPC_EmitInteger64, 0,
10881 OPC_EmitConvertToTarget3,
10882 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
10883 62, 5, 4, 5, 6, 2, 0,
10884 29, 12,
10885 OPC_MoveSibling2,
10886 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10887 OPC_RecordNode,
10888 OPC_CheckPredicate, 11,
10889 OPC_CheckTypeI32,
10890 OPC_MoveParent,
10891 OPC_CheckType, 62,
10892 OPC_CheckPatternPredicate2,
10893 OPC_EmitMergeInputChains1_1,
10894 OPC_EmitInteger32, 0,
10895 OPC_EmitInteger64, 0,
10896 OPC_EmitConvertToTarget3,
10897 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
10898 62, 5, 4, 5, 6, 2, 0,
10899 29, 8,
10900 OPC_MoveSibling2,
10901 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10902 OPC_RecordNode,
10903 OPC_CheckPredicate, 12,
10904 OPC_CheckTypeI32,
10905 OPC_MoveParent,
10906 OPC_CheckType, 81,
10907 OPC_CheckPatternPredicate2,
10908 OPC_EmitMergeInputChains1_1,
10909 OPC_EmitInteger32, 0,
10910 OPC_EmitInteger64, 0,
10911 OPC_EmitConvertToTarget3,
10912 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10913 81, 5, 4, 5, 6, 2, 0,
10914 29, 13,
10915 OPC_MoveSibling2,
10916 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10917 OPC_RecordNode,
10918 OPC_CheckPredicate, 12,
10919 OPC_CheckTypeI32,
10920 OPC_MoveParent,
10921 OPC_CheckType, 81,
10922 OPC_CheckPatternPredicate2,
10923 OPC_EmitMergeInputChains1_1,
10924 OPC_EmitInteger32, 0,
10925 OPC_EmitInteger64, 0,
10926 OPC_EmitConvertToTarget3,
10927 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
10928 81, 5, 4, 5, 6, 2, 0,
10929 0,
10930 0,
10931 0,
10932 24|128,1,
10933 OPC_RecordChild1,
10934 OPC_Scope, 104,
10935 OPC_CheckChild1TypeI32,
10936 OPC_Scope, 56,
10937 OPC_RecordChild2,
10938 OPC_MoveChild2,
10939 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10940 OPC_CheckTypeI32,
10941 OPC_Scope, 15,
10942 OPC_CheckPredicate, 20,
10943 OPC_MoveParent,
10944 OPC_CheckType, 40,
10945 OPC_CheckPatternPredicate0,
10946 OPC_EmitConvertToTarget2,
10947 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
10948 40, 3, 0, 3, 1,
10949 15,
10950 OPC_CheckPredicate, 14,
10951 OPC_MoveParent,
10952 OPC_CheckType, 51,
10953 OPC_CheckPatternPredicate0,
10954 OPC_EmitConvertToTarget2,
10955 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
10956 51, 3, 0, 3, 1,
10957 15,
10958 OPC_CheckPredicate, 11,
10959 OPC_MoveParent,
10960 OPC_CheckType, 62,
10961 OPC_CheckPatternPredicate0,
10962 OPC_EmitConvertToTarget2,
10963 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
10964 62, 3, 0, 3, 1,
10965 0,
10966 43,
10967 OPC_MoveChild2,
10968 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
10969 OPC_MoveParent,
10970 OPC_SwitchType , 10, 40,
10971 OPC_EmitInteger32, 0,
10972 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I8x16),
10973 40, 3, 0, 2, 1,
10974 10, 51,
10975 OPC_EmitInteger32, 0,
10976 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I16x8),
10977 51, 3, 0, 2, 1,
10978 10, 62,
10979 OPC_EmitInteger32, 0,
10980 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I32x4),
10981 62, 3, 0, 2, 1,
10982 0,
10983 0,
10984 43,
10985 OPC_CheckChild1TypeI64,
10986 OPC_Scope, 21,
10987 OPC_RecordChild2,
10988 OPC_MoveChild2,
10989 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10990 OPC_CheckPredicate, 12,
10991 OPC_CheckTypeI32,
10992 OPC_MoveParent,
10993 OPC_CheckType, 81,
10994 OPC_CheckPatternPredicate0,
10995 OPC_EmitConvertToTarget2,
10996 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
10997 81, 3, 0, 3, 1,
10998 17,
10999 OPC_MoveChild2,
11000 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
11001 OPC_MoveParent,
11002 OPC_CheckType, 81,
11003 OPC_EmitInteger32, 0,
11004 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_I64x2),
11005 81, 3, 0, 2, 1,
11006 0,
11007 0,
11008 26|128,2,
11009 OPC_MoveChild1,
11010 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11011 OPC_RecordMemRef,
11012 OPC_RecordNode,
11013 OPC_CheckFoldableChainNode,
11014 OPC_RecordChild1,
11015 OPC_Scope, 6|128,1,
11016 OPC_CheckChild1TypeI32,
11017 OPC_CheckPredicate, 8,
11018 OPC_CheckPredicate6,
11019 OPC_SwitchType , 29, 7,
11020 OPC_MoveSibling2,
11021 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11022 OPC_RecordNode,
11023 OPC_CheckPredicate, 11,
11024 OPC_CheckTypeI32,
11025 OPC_MoveParent,
11026 OPC_CheckType, 116,
11027 OPC_CheckPatternPredicate1,
11028 OPC_EmitMergeInputChains1_1,
11029 OPC_EmitInteger32, 0,
11030 OPC_EmitInteger32, 0,
11031 OPC_EmitConvertToTarget3,
11032 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
11033 116, 5, 4, 5, 6, 2, 0,
11034 29, 12,
11035 OPC_MoveSibling2,
11036 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11037 OPC_RecordNode,
11038 OPC_CheckPredicate, 11,
11039 OPC_CheckTypeI32,
11040 OPC_MoveParent,
11041 OPC_CheckType, 116,
11042 OPC_CheckPatternPredicate1,
11043 OPC_EmitMergeInputChains1_1,
11044 OPC_EmitInteger32, 0,
11045 OPC_EmitInteger32, 0,
11046 OPC_EmitConvertToTarget3,
11047 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
11048 116, 5, 4, 5, 6, 2, 0,
11049 31, 8,
11050 OPC_MoveSibling2,
11051 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11052 OPC_RecordNode,
11053 OPC_CheckPredicate, 12,
11054 OPC_CheckTypeI32,
11055 OPC_MoveParent,
11056 OPC_CheckType, 6|128,1,
11057 OPC_CheckPatternPredicate1,
11058 OPC_EmitMergeInputChains1_1,
11059 OPC_EmitInteger32, 0,
11060 OPC_EmitInteger32, 0,
11061 OPC_EmitConvertToTarget3,
11062 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11063 6|128,1, 5, 4, 5, 6, 2, 0,
11064 31, 13,
11065 OPC_MoveSibling2,
11066 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11067 OPC_RecordNode,
11068 OPC_CheckPredicate, 12,
11069 OPC_CheckTypeI32,
11070 OPC_MoveParent,
11071 OPC_CheckType, 6|128,1,
11072 OPC_CheckPatternPredicate1,
11073 OPC_EmitMergeInputChains1_1,
11074 OPC_EmitInteger32, 0,
11075 OPC_EmitInteger32, 0,
11076 OPC_EmitConvertToTarget3,
11077 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11078 6|128,1, 5, 4, 5, 6, 2, 0,
11079 0,
11080 6|128,1,
11081 OPC_CheckChild1TypeI64,
11082 OPC_CheckPredicate, 8,
11083 OPC_CheckPredicate6,
11084 OPC_SwitchType , 29, 7,
11085 OPC_MoveSibling2,
11086 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11087 OPC_RecordNode,
11088 OPC_CheckPredicate, 11,
11089 OPC_CheckTypeI32,
11090 OPC_MoveParent,
11091 OPC_CheckType, 116,
11092 OPC_CheckPatternPredicate2,
11093 OPC_EmitMergeInputChains1_1,
11094 OPC_EmitInteger32, 0,
11095 OPC_EmitInteger64, 0,
11096 OPC_EmitConvertToTarget3,
11097 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
11098 116, 5, 4, 5, 6, 2, 0,
11099 29, 12,
11100 OPC_MoveSibling2,
11101 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11102 OPC_RecordNode,
11103 OPC_CheckPredicate, 11,
11104 OPC_CheckTypeI32,
11105 OPC_MoveParent,
11106 OPC_CheckType, 116,
11107 OPC_CheckPatternPredicate2,
11108 OPC_EmitMergeInputChains1_1,
11109 OPC_EmitInteger32, 0,
11110 OPC_EmitInteger64, 0,
11111 OPC_EmitConvertToTarget3,
11112 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
11113 116, 5, 4, 5, 6, 2, 0,
11114 31, 8,
11115 OPC_MoveSibling2,
11116 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11117 OPC_RecordNode,
11118 OPC_CheckPredicate, 12,
11119 OPC_CheckTypeI32,
11120 OPC_MoveParent,
11121 OPC_CheckType, 6|128,1,
11122 OPC_CheckPatternPredicate2,
11123 OPC_EmitMergeInputChains1_1,
11124 OPC_EmitInteger32, 0,
11125 OPC_EmitInteger64, 0,
11126 OPC_EmitConvertToTarget3,
11127 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11128 6|128,1, 5, 4, 5, 6, 2, 0,
11129 31, 13,
11130 OPC_MoveSibling2,
11131 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11132 OPC_RecordNode,
11133 OPC_CheckPredicate, 12,
11134 OPC_CheckTypeI32,
11135 OPC_MoveParent,
11136 OPC_CheckType, 6|128,1,
11137 OPC_CheckPatternPredicate2,
11138 OPC_EmitMergeInputChains1_1,
11139 OPC_EmitInteger32, 0,
11140 OPC_EmitInteger64, 0,
11141 OPC_EmitConvertToTarget3,
11142 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_LANE_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11143 6|128,1, 5, 4, 5, 6, 2, 0,
11144 0,
11145 0,
11146 97,
11147 OPC_RecordChild1,
11148 OPC_Scope, 44,
11149 OPC_CheckChild1Type, 12,
11150 OPC_Scope, 21,
11151 OPC_RecordChild2,
11152 OPC_MoveChild2,
11153 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11154 OPC_CheckPredicate, 11,
11155 OPC_CheckTypeI32,
11156 OPC_MoveParent,
11157 OPC_CheckType, 116,
11158 OPC_CheckPatternPredicate0,
11159 OPC_EmitConvertToTarget2,
11160 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
11161 116, 3, 0, 3, 1,
11162 17,
11163 OPC_MoveChild2,
11164 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
11165 OPC_MoveParent,
11166 OPC_CheckType, 116,
11167 OPC_EmitInteger32, 0,
11168 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F32x4),
11169 116, 3, 0, 2, 1,
11170 0,
11171 48,
11172 OPC_CheckChild1Type, 13,
11173 OPC_Scope, 23,
11174 OPC_RecordChild2,
11175 OPC_MoveChild2,
11176 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11177 OPC_CheckPredicate, 12,
11178 OPC_CheckTypeI32,
11179 OPC_MoveParent,
11180 OPC_CheckType, 6|128,1,
11181 OPC_CheckPatternPredicate0,
11182 OPC_EmitConvertToTarget2,
11183 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
11184 6|128,1, 3, 0, 3, 1,
11185 19,
11186 OPC_MoveChild2,
11187 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
11188 OPC_MoveParent,
11189 OPC_CheckType, 6|128,1,
11190 OPC_EmitInteger32, 0,
11191 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::REPLACE_LANE_F64x2),
11192 6|128,1, 3, 0, 2, 1,
11193 0,
11194 0,
11195 0,
11196 0,
11197 96|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHR_U),
11198 OPC_Scope, 87,
11199 OPC_MoveChild0,
11200 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
11201 OPC_MoveChild0,
11202 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::ADD),
11203 OPC_RecordChild0,
11204 OPC_RecordChild1,
11205 OPC_CheckPredicate, 25,
11206 OPC_MoveSibling1,
11207 OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
11208 OPC_CheckChild0Integer, 2,
11209 OPC_CheckChild0TypeI32,
11210 OPC_MoveParent,
11211 OPC_CheckPredicate, 25,
11212 OPC_MoveParent,
11213 OPC_CheckChild1Integer, 2,
11214 OPC_SwitchType , 7, 40,
11215 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
11216 40, 2, 0, 1,
11217 7, 51,
11218 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
11219 51, 2, 0, 1,
11220 0,
11221 37, TARGET_VAL(ISD::SPLAT_VECTOR),
11222 OPC_CheckChild0Integer, 2,
11223 OPC_CheckChild0TypeI32,
11224 OPC_MoveSibling1,
11225 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
11226 OPC_RecordChild0,
11227 OPC_RecordChild1,
11228 OPC_CheckPredicate, 25,
11229 OPC_MoveParent,
11230 OPC_CheckPredicate, 25,
11231 OPC_MoveParent,
11232 OPC_CheckChild1Integer, 2,
11233 OPC_SwitchType , 7, 40,
11234 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I8x16),
11235 40, 2, 0, 1,
11236 7, 51,
11237 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::AVGR_U_I16x8),
11238 51, 2, 0, 1,
11239 0,
11240 0,
11241 4|128,1,
11242 OPC_RecordChild0,
11243 OPC_Scope, 84,
11244 OPC_MoveChild1,
11245 OPC_Scope, 24,
11246 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11247 OPC_MoveChild0,
11248 OPC_CheckAndImm, 63,
11249 OPC_RecordChild0,
11250 OPC_MoveParent,
11251 OPC_MoveParent,
11252 OPC_CheckType, 81,
11253 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
11254 7, 1, 1,
11255 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
11256 81, 2, 0, 2,
11257 13,
11258 OPC_CheckAndImm, 7,
11259 OPC_RecordChild0,
11260 OPC_MoveParent,
11261 OPC_CheckType, 40,
11262 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
11263 40, 2, 0, 1,
11264 13,
11265 OPC_CheckAndImm, 15,
11266 OPC_RecordChild0,
11267 OPC_MoveParent,
11268 OPC_CheckType, 51,
11269 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
11270 51, 2, 0, 1,
11271 13,
11272 OPC_CheckAndImm, 31,
11273 OPC_RecordChild0,
11274 OPC_MoveParent,
11275 OPC_CheckType, 62,
11276 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
11277 62, 2, 0, 1,
11278 13,
11279 OPC_CheckAndImm, 63,
11280 OPC_RecordChild0,
11281 OPC_MoveParent,
11282 OPC_CheckType, 81,
11283 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
11284 81, 2, 0, 1,
11285 0,
11286 43,
11287 OPC_RecordChild1,
11288 OPC_SwitchType , 8, 40,
11289 OPC_CheckPatternPredicate0,
11290 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I8x16),
11291 40, 2, 0, 1,
11292 8, 51,
11293 OPC_CheckPatternPredicate0,
11294 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I16x8),
11295 51, 2, 0, 1,
11296 8, 62,
11297 OPC_CheckPatternPredicate0,
11298 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I32x4),
11299 62, 2, 0, 1,
11300 8, 81,
11301 OPC_CheckPatternPredicate0,
11302 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_U_I64x2),
11303 81, 2, 0, 1,
11304 0,
11305 0,
11306 0,
11307 22|128,4, TARGET_VAL(ISD::SPLAT_VECTOR),
11308 OPC_Scope, 73|128,1,
11309 OPC_MoveChild0,
11310 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11311 OPC_RecordMemRef,
11312 OPC_RecordNode,
11313 OPC_RecordChild1,
11314 OPC_Scope, 95,
11315 OPC_CheckChild1TypeI32,
11316 OPC_CheckPredicate, 8,
11317 OPC_Scope, 45,
11318 OPC_CheckPredicate, 10,
11319 OPC_CheckTypeI32,
11320 OPC_Scope, 19,
11321 OPC_CheckPredicate1,
11322 OPC_MoveParent,
11323 OPC_CheckType, 40,
11324 OPC_CheckPatternPredicate1,
11325 OPC_CheckComplexPat0, /*#*/1,
11326 OPC_EmitMergeInputChains1_0,
11327 OPC_EmitInteger32, 0,
11328 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11329 40, 3, 4, 2, 3,
11330 19,
11331 OPC_CheckPredicate2,
11332 OPC_MoveParent,
11333 OPC_CheckType, 51,
11334 OPC_CheckPatternPredicate1,
11335 OPC_CheckComplexPat0, /*#*/1,
11336 OPC_EmitMergeInputChains1_0,
11337 OPC_EmitInteger32, 0,
11338 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11339 51, 3, 4, 2, 3,
11340 0,
11341 43,
11342 OPC_CheckPredicate6,
11343 OPC_SwitchType , 18, 7,
11344 OPC_MoveParent,
11345 OPC_CheckType, 62,
11346 OPC_CheckPatternPredicate1,
11347 OPC_CheckComplexPat0, /*#*/1,
11348 OPC_EmitMergeInputChains1_0,
11349 OPC_EmitInteger32, 0,
11350 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11351 62, 3, 4, 2, 3,
11352 18, 8,
11353 OPC_MoveParent,
11354 OPC_CheckType, 81,
11355 OPC_CheckPatternPredicate1,
11356 OPC_CheckComplexPat0, /*#*/1,
11357 OPC_EmitMergeInputChains1_0,
11358 OPC_EmitInteger32, 0,
11359 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11360 81, 3, 4, 2, 3,
11361 0,
11362 0,
11363 95,
11364 OPC_CheckChild1TypeI64,
11365 OPC_CheckPredicate, 8,
11366 OPC_Scope, 45,
11367 OPC_CheckPredicate, 10,
11368 OPC_CheckTypeI32,
11369 OPC_Scope, 19,
11370 OPC_CheckPredicate1,
11371 OPC_MoveParent,
11372 OPC_CheckType, 40,
11373 OPC_CheckPatternPredicate2,
11374 OPC_CheckComplexPat1, /*#*/1,
11375 OPC_EmitMergeInputChains1_0,
11376 OPC_EmitInteger32, 0,
11377 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11378 40, 3, 4, 2, 3,
11379 19,
11380 OPC_CheckPredicate2,
11381 OPC_MoveParent,
11382 OPC_CheckType, 51,
11383 OPC_CheckPatternPredicate2,
11384 OPC_CheckComplexPat1, /*#*/1,
11385 OPC_EmitMergeInputChains1_0,
11386 OPC_EmitInteger32, 0,
11387 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11388 51, 3, 4, 2, 3,
11389 0,
11390 43,
11391 OPC_CheckPredicate6,
11392 OPC_SwitchType , 18, 7,
11393 OPC_MoveParent,
11394 OPC_CheckType, 62,
11395 OPC_CheckPatternPredicate2,
11396 OPC_CheckComplexPat1, /*#*/1,
11397 OPC_EmitMergeInputChains1_0,
11398 OPC_EmitInteger32, 0,
11399 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11400 62, 3, 4, 2, 3,
11401 18, 8,
11402 OPC_MoveParent,
11403 OPC_CheckType, 81,
11404 OPC_CheckPatternPredicate2,
11405 OPC_CheckComplexPat1, /*#*/1,
11406 OPC_EmitMergeInputChains1_0,
11407 OPC_EmitInteger32, 0,
11408 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11409 81, 3, 4, 2, 3,
11410 0,
11411 0,
11412 0,
11413 20|128,1,
11414 OPC_RecordChild0,
11415 OPC_Scope, 102,
11416 OPC_MoveChild0,
11417 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11418 OPC_SwitchType , 80, 7,
11419 OPC_MoveParent,
11420 OPC_SwitchType , 37, 40,
11421 OPC_EmitConvertToTarget0,
11422 OPC_EmitConvertToTarget0,
11423 OPC_EmitConvertToTarget0,
11424 OPC_EmitConvertToTarget0,
11425 OPC_EmitConvertToTarget0,
11426 OPC_EmitConvertToTarget0,
11427 OPC_EmitConvertToTarget0,
11428 OPC_EmitConvertToTarget0,
11429 OPC_EmitConvertToTarget0,
11430 OPC_EmitConvertToTarget0,
11431 OPC_EmitConvertToTarget0,
11432 OPC_EmitConvertToTarget0,
11433 OPC_EmitConvertToTarget0,
11434 OPC_EmitConvertToTarget0,
11435 OPC_EmitConvertToTarget0,
11436 OPC_EmitConvertToTarget0,
11437 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I8x16),
11438 40, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
11439 21, 51,
11440 OPC_EmitConvertToTarget0,
11441 OPC_EmitConvertToTarget0,
11442 OPC_EmitConvertToTarget0,
11443 OPC_EmitConvertToTarget0,
11444 OPC_EmitConvertToTarget0,
11445 OPC_EmitConvertToTarget0,
11446 OPC_EmitConvertToTarget0,
11447 OPC_EmitConvertToTarget0,
11448 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I16x8),
11449 51, 8, 1, 2, 3, 4, 5, 6, 7, 8,
11450 13, 62,
11451 OPC_EmitConvertToTarget0,
11452 OPC_EmitConvertToTarget0,
11453 OPC_EmitConvertToTarget0,
11454 OPC_EmitConvertToTarget0,
11455 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I32x4),
11456 62, 4, 1, 2, 3, 4,
11457 0,
11458 12, 8,
11459 OPC_MoveParent,
11460 OPC_CheckType, 81,
11461 OPC_EmitConvertToTarget0,
11462 OPC_EmitConvertToTarget0,
11463 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_I64x2),
11464 81, 2, 1, 2,
11465 0,
11466 30,
11467 OPC_CheckChild0TypeI32,
11468 OPC_SwitchType , 7, 40,
11469 OPC_CheckPatternPredicate0,
11470 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
11471 40, 1, 0,
11472 7, 51,
11473 OPC_CheckPatternPredicate0,
11474 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
11475 51, 1, 0,
11476 7, 62,
11477 OPC_CheckPatternPredicate0,
11478 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
11479 62, 1, 0,
11480 0,
11481 10,
11482 OPC_CheckChild0TypeI64,
11483 OPC_CheckType, 81,
11484 OPC_CheckPatternPredicate0,
11485 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
11486 81, 1, 0,
11487 0,
11488 107,
11489 OPC_MoveChild0,
11490 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11491 OPC_RecordMemRef,
11492 OPC_RecordNode,
11493 OPC_RecordChild1,
11494 OPC_Scope, 48,
11495 OPC_CheckChild1TypeI32,
11496 OPC_CheckPredicate, 8,
11497 OPC_CheckPredicate6,
11498 OPC_SwitchType , 18, 12,
11499 OPC_MoveParent,
11500 OPC_CheckType, 116,
11501 OPC_CheckPatternPredicate1,
11502 OPC_CheckComplexPat0, /*#*/1,
11503 OPC_EmitMergeInputChains1_0,
11504 OPC_EmitInteger32, 0,
11505 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11506 116, 3, 4, 2, 3,
11507 20, 13,
11508 OPC_MoveParent,
11509 OPC_CheckType, 6|128,1,
11510 OPC_CheckPatternPredicate1,
11511 OPC_CheckComplexPat0, /*#*/1,
11512 OPC_EmitMergeInputChains1_0,
11513 OPC_EmitInteger32, 0,
11514 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A32), 0|OPFL_Chain|OPFL_MemRefs,
11515 6|128,1, 3, 4, 2, 3,
11516 0,
11517 48,
11518 OPC_CheckChild1TypeI64,
11519 OPC_CheckPredicate, 8,
11520 OPC_CheckPredicate6,
11521 OPC_SwitchType , 18, 12,
11522 OPC_MoveParent,
11523 OPC_CheckType, 116,
11524 OPC_CheckPatternPredicate2,
11525 OPC_CheckComplexPat1, /*#*/1,
11526 OPC_EmitMergeInputChains1_0,
11527 OPC_EmitInteger32, 0,
11528 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11529 116, 3, 4, 2, 3,
11530 20, 13,
11531 OPC_MoveParent,
11532 OPC_CheckType, 6|128,1,
11533 OPC_CheckPatternPredicate2,
11534 OPC_CheckComplexPat1, /*#*/1,
11535 OPC_EmitMergeInputChains1_0,
11536 OPC_EmitInteger32, 0,
11537 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD64_SPLAT_A64), 0|OPFL_Chain|OPFL_MemRefs,
11538 6|128,1, 3, 4, 2, 3,
11539 0,
11540 0,
11541 70,
11542 OPC_RecordChild0,
11543 OPC_Scope, 40,
11544 OPC_MoveChild0,
11545 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
11546 OPC_SwitchType , 16, 12,
11547 OPC_MoveParent,
11548 OPC_CheckType, 116,
11549 OPC_EmitConvertToTarget0,
11550 OPC_EmitConvertToTarget0,
11551 OPC_EmitConvertToTarget0,
11552 OPC_EmitConvertToTarget0,
11553 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F32x4),
11554 116, 4, 1, 2, 3, 4,
11555 14, 13,
11556 OPC_MoveParent,
11557 OPC_CheckType, 6|128,1,
11558 OPC_EmitConvertToTarget0,
11559 OPC_EmitConvertToTarget0,
11560 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::CONST_V128_F64x2),
11561 6|128,1, 2, 1, 2,
11562 0,
11563 11,
11564 OPC_CheckChild0Type, 12,
11565 OPC_CheckType, 116,
11566 OPC_CheckPatternPredicate0,
11567 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
11568 116, 1, 0,
11569 13,
11570 OPC_CheckChild0Type, 13,
11571 OPC_CheckType, 6|128,1,
11572 OPC_CheckPatternPredicate0,
11573 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
11574 6|128,1, 1, 0,
11575 0,
11576 0,
11577 26|128,2, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
11578 OPC_Scope, 103,
11579 OPC_MoveChild0,
11580 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11581 OPC_RecordMemRef,
11582 OPC_RecordNode,
11583 OPC_RecordChild1,
11584 OPC_Scope, 46,
11585 OPC_CheckChild1TypeI32,
11586 OPC_CheckPredicate, 8,
11587 OPC_CheckPredicate6,
11588 OPC_SwitchType , 18, 7,
11589 OPC_MoveParent,
11590 OPC_CheckType, 62,
11591 OPC_CheckPatternPredicate1,
11592 OPC_CheckComplexPat0, /*#*/1,
11593 OPC_EmitMergeInputChains1_0,
11594 OPC_EmitInteger32, 0,
11595 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
11596 62, 3, 4, 2, 3,
11597 18, 8,
11598 OPC_MoveParent,
11599 OPC_CheckType, 81,
11600 OPC_CheckPatternPredicate1,
11601 OPC_CheckComplexPat0, /*#*/1,
11602 OPC_EmitMergeInputChains1_0,
11603 OPC_EmitInteger32, 0,
11604 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11605 81, 3, 4, 2, 3,
11606 0,
11607 46,
11608 OPC_CheckChild1TypeI64,
11609 OPC_CheckPredicate, 8,
11610 OPC_CheckPredicate6,
11611 OPC_SwitchType , 18, 7,
11612 OPC_MoveParent,
11613 OPC_CheckType, 62,
11614 OPC_CheckPatternPredicate2,
11615 OPC_CheckComplexPat1, /*#*/1,
11616 OPC_EmitMergeInputChains1_0,
11617 OPC_EmitInteger32, 0,
11618 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
11619 62, 3, 4, 2, 3,
11620 18, 8,
11621 OPC_MoveParent,
11622 OPC_CheckType, 81,
11623 OPC_CheckPatternPredicate2,
11624 OPC_CheckComplexPat1, /*#*/1,
11625 OPC_EmitMergeInputChains1_0,
11626 OPC_EmitInteger32, 0,
11627 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11628 81, 3, 4, 2, 3,
11629 0,
11630 0,
11631 41,
11632 OPC_RecordChild0,
11633 OPC_Scope, 27,
11634 OPC_CheckChild0TypeI32,
11635 OPC_SwitchType , 6, 40,
11636 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I8x16),
11637 40, 1, 0,
11638 6, 51,
11639 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I16x8),
11640 51, 1, 0,
11641 6, 62,
11642 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I32x4),
11643 62, 1, 0,
11644 0,
11645 9,
11646 OPC_CheckChild0TypeI64,
11647 OPC_CheckType, 81,
11648 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_I64x2),
11649 81, 1, 0,
11650 0,
11651 107,
11652 OPC_MoveChild0,
11653 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
11654 OPC_RecordMemRef,
11655 OPC_RecordNode,
11656 OPC_RecordChild1,
11657 OPC_Scope, 48,
11658 OPC_CheckChild1TypeI32,
11659 OPC_CheckPredicate, 8,
11660 OPC_CheckPredicate6,
11661 OPC_SwitchType , 18, 12,
11662 OPC_MoveParent,
11663 OPC_CheckType, 116,
11664 OPC_CheckPatternPredicate1,
11665 OPC_CheckComplexPat0, /*#*/1,
11666 OPC_EmitMergeInputChains1_0,
11667 OPC_EmitInteger32, 0,
11668 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A32), 0|OPFL_Chain|OPFL_MemRefs,
11669 116, 3, 4, 2, 3,
11670 20, 13,
11671 OPC_MoveParent,
11672 OPC_CheckType, 6|128,1,
11673 OPC_CheckPatternPredicate1,
11674 OPC_CheckComplexPat0, /*#*/1,
11675 OPC_EmitMergeInputChains1_0,
11676 OPC_EmitInteger32, 0,
11677 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A32), 0|OPFL_Chain|OPFL_MemRefs,
11678 6|128,1, 3, 4, 2, 3,
11679 0,
11680 48,
11681 OPC_CheckChild1TypeI64,
11682 OPC_CheckPredicate, 8,
11683 OPC_CheckPredicate6,
11684 OPC_SwitchType , 18, 12,
11685 OPC_MoveParent,
11686 OPC_CheckType, 116,
11687 OPC_CheckPatternPredicate2,
11688 OPC_CheckComplexPat1, /*#*/1,
11689 OPC_EmitMergeInputChains1_0,
11690 OPC_EmitInteger32, 0,
11691 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_32_A64), 0|OPFL_Chain|OPFL_MemRefs,
11692 116, 3, 4, 2, 3,
11693 20, 13,
11694 OPC_MoveParent,
11695 OPC_CheckType, 6|128,1,
11696 OPC_CheckPatternPredicate2,
11697 OPC_CheckComplexPat1, /*#*/1,
11698 OPC_EmitMergeInputChains1_0,
11699 OPC_EmitInteger32, 0,
11700 OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_ZERO_64_A64), 0|OPFL_Chain|OPFL_MemRefs,
11701 6|128,1, 3, 4, 2, 3,
11702 0,
11703 0,
11704 25,
11705 OPC_RecordChild0,
11706 OPC_SwitchType , 8, 116,
11707 OPC_CheckChild0Type, 12,
11708 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F32x4),
11709 116, 1, 0,
11710 9, 6|128,1,
11711 OPC_CheckChild0Type, 13,
11712 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SPLAT_F64x2),
11713 6|128,1, 1, 0,
11714 0,
11715 0,
11716 4|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHL),
11717 OPC_RecordChild0,
11718 OPC_Scope, 84,
11719 OPC_MoveChild1,
11720 OPC_Scope, 24,
11721 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11722 OPC_MoveChild0,
11723 OPC_CheckAndImm, 63,
11724 OPC_RecordChild0,
11725 OPC_MoveParent,
11726 OPC_MoveParent,
11727 OPC_CheckType, 81,
11728 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
11729 7, 1, 1,
11730 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
11731 81, 2, 0, 2,
11732 13,
11733 OPC_CheckAndImm, 7,
11734 OPC_RecordChild0,
11735 OPC_MoveParent,
11736 OPC_CheckType, 40,
11737 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
11738 40, 2, 0, 1,
11739 13,
11740 OPC_CheckAndImm, 15,
11741 OPC_RecordChild0,
11742 OPC_MoveParent,
11743 OPC_CheckType, 51,
11744 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
11745 51, 2, 0, 1,
11746 13,
11747 OPC_CheckAndImm, 31,
11748 OPC_RecordChild0,
11749 OPC_MoveParent,
11750 OPC_CheckType, 62,
11751 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
11752 62, 2, 0, 1,
11753 13,
11754 OPC_CheckAndImm, 63,
11755 OPC_RecordChild0,
11756 OPC_MoveParent,
11757 OPC_CheckType, 81,
11758 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
11759 81, 2, 0, 1,
11760 0,
11761 43,
11762 OPC_RecordChild1,
11763 OPC_SwitchType , 8, 40,
11764 OPC_CheckPatternPredicate0,
11765 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I8x16),
11766 40, 2, 0, 1,
11767 8, 51,
11768 OPC_CheckPatternPredicate0,
11769 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I16x8),
11770 51, 2, 0, 1,
11771 8, 62,
11772 OPC_CheckPatternPredicate0,
11773 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I32x4),
11774 62, 2, 0, 1,
11775 8, 81,
11776 OPC_CheckPatternPredicate0,
11777 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHL_I64x2),
11778 81, 2, 0, 1,
11779 0,
11780 0,
11781 4|128,1, TARGET_VAL(WebAssemblyISD::VEC_SHR_S),
11782 OPC_RecordChild0,
11783 OPC_Scope, 84,
11784 OPC_MoveChild1,
11785 OPC_Scope, 24,
11786 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11787 OPC_MoveChild0,
11788 OPC_CheckAndImm, 63,
11789 OPC_RecordChild0,
11790 OPC_MoveParent,
11791 OPC_MoveParent,
11792 OPC_CheckType, 81,
11793 OPC_EmitNode1None, TARGET_VAL(WebAssembly::I32_WRAP_I64),
11794 7, 1, 1,
11795 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
11796 81, 2, 0, 2,
11797 13,
11798 OPC_CheckAndImm, 7,
11799 OPC_RecordChild0,
11800 OPC_MoveParent,
11801 OPC_CheckType, 40,
11802 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
11803 40, 2, 0, 1,
11804 13,
11805 OPC_CheckAndImm, 15,
11806 OPC_RecordChild0,
11807 OPC_MoveParent,
11808 OPC_CheckType, 51,
11809 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
11810 51, 2, 0, 1,
11811 13,
11812 OPC_CheckAndImm, 31,
11813 OPC_RecordChild0,
11814 OPC_MoveParent,
11815 OPC_CheckType, 62,
11816 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
11817 62, 2, 0, 1,
11818 13,
11819 OPC_CheckAndImm, 63,
11820 OPC_RecordChild0,
11821 OPC_MoveParent,
11822 OPC_CheckType, 81,
11823 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
11824 81, 2, 0, 1,
11825 0,
11826 43,
11827 OPC_RecordChild1,
11828 OPC_SwitchType , 8, 40,
11829 OPC_CheckPatternPredicate0,
11830 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I8x16),
11831 40, 2, 0, 1,
11832 8, 51,
11833 OPC_CheckPatternPredicate0,
11834 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I16x8),
11835 51, 2, 0, 1,
11836 8, 62,
11837 OPC_CheckPatternPredicate0,
11838 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I32x4),
11839 62, 2, 0, 1,
11840 8, 81,
11841 OPC_CheckPatternPredicate0,
11842 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SHR_S_I64x2),
11843 81, 2, 0, 1,
11844 0,
11845 0,
11846 66|128,8, TARGET_VAL(ISD::VSELECT),
11847 OPC_Scope, 13|128,1,
11848 OPC_MoveChild0,
11849 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
11850 OPC_MoveChild0,
11851 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11852 OPC_RecordChild0,
11853 OPC_SwitchType , 41, 116,
11854 OPC_CheckChild0Type, 62,
11855 OPC_MoveSibling1,
11856 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11857 OPC_RecordChild0,
11858 OPC_CheckChild0Type, 62,
11859 OPC_MoveParent,
11860 OPC_CheckChild2CondCode, ISD::SETOLT,
11861 OPC_MoveParent,
11862 OPC_CheckType, 62,
11863 OPC_Scope, 11,
11864 OPC_CheckChild1Same, 0,
11865 OPC_CheckChild2Same, 1,
11866 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
11867 62, 2, 1, 0,
11868 11,
11869 OPC_CheckChild1Same, 1,
11870 OPC_CheckChild2Same, 0,
11871 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
11872 62, 2, 0, 1,
11873 0,
11874 41, 6|128,1,
11875 OPC_CheckChild0Type, 81,
11876 OPC_MoveSibling1,
11877 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11878 OPC_RecordChild0,
11879 OPC_CheckChild0Type, 81,
11880 OPC_MoveParent,
11881 OPC_CheckChild2CondCode, ISD::SETOLT,
11882 OPC_MoveParent,
11883 OPC_CheckType, 81,
11884 OPC_Scope, 11,
11885 OPC_CheckChild1Same, 0,
11886 OPC_CheckChild2Same, 1,
11887 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
11888 81, 2, 1, 0,
11889 11,
11890 OPC_CheckChild1Same, 1,
11891 OPC_CheckChild2Same, 0,
11892 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
11893 81, 2, 0, 1,
11894 0,
11895 41, 95,
11896 OPC_CheckChild0Type, 51,
11897 OPC_MoveSibling1,
11898 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11899 OPC_RecordChild0,
11900 OPC_CheckChild0Type, 51,
11901 OPC_MoveParent,
11902 OPC_CheckChild2CondCode, ISD::SETOLT,
11903 OPC_MoveParent,
11904 OPC_CheckType, 51,
11905 OPC_Scope, 11,
11906 OPC_CheckChild1Same, 0,
11907 OPC_CheckChild2Same, 1,
11908 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
11909 51, 2, 1, 0,
11910 11,
11911 OPC_CheckChild1Same, 1,
11912 OPC_CheckChild2Same, 0,
11913 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
11914 51, 2, 0, 1,
11915 0,
11916 0,
11917 45,
11918 OPC_RecordChild0,
11919 OPC_RecordChild1,
11920 OPC_RecordChild2,
11921 OPC_SwitchType , 8, 40,
11922 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
11923 40, 3, 1, 2, 0,
11924 8, 51,
11925 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
11926 51, 3, 1, 2, 0,
11927 8, 62,
11928 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
11929 62, 3, 1, 2, 0,
11930 8, 81,
11931 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
11932 81, 3, 1, 2, 0,
11933 0,
11934 101|128,6,
11935 OPC_MoveChild0,
11936 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
11937 OPC_RecordChild0,
11938 OPC_Scope, 21|128,2,
11939 OPC_CheckChild0Type, 116,
11940 OPC_RecordChild1,
11941 OPC_Scope, 33,
11942 OPC_CheckChild2CondCode, ISD::SETOLT,
11943 OPC_MoveParent,
11944 OPC_CheckType, 116,
11945 OPC_Scope, 12,
11946 OPC_CheckChild1Same, 0,
11947 OPC_CheckChild2Same, 1,
11948 OPC_CheckPatternPredicate0,
11949 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
11950 116, 2, 1, 0,
11951 12,
11952 OPC_CheckChild1Same, 1,
11953 OPC_CheckChild2Same, 0,
11954 OPC_CheckPatternPredicate0,
11955 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
11956 116, 2, 0, 1,
11957 0,
11958 33,
11959 OPC_CheckChild2CondCode, ISD::SETOLE,
11960 OPC_MoveParent,
11961 OPC_CheckType, 116,
11962 OPC_Scope, 12,
11963 OPC_CheckChild1Same, 0,
11964 OPC_CheckChild2Same, 1,
11965 OPC_CheckPatternPredicate0,
11966 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
11967 116, 2, 1, 0,
11968 12,
11969 OPC_CheckChild1Same, 1,
11970 OPC_CheckChild2Same, 0,
11971 OPC_CheckPatternPredicate0,
11972 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
11973 116, 2, 0, 1,
11974 0,
11975 33,
11976 OPC_CheckChild2CondCode, ISD::SETOGT,
11977 OPC_MoveParent,
11978 OPC_CheckType, 116,
11979 OPC_Scope, 12,
11980 OPC_CheckChild1Same, 1,
11981 OPC_CheckChild2Same, 0,
11982 OPC_CheckPatternPredicate0,
11983 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
11984 116, 2, 0, 1,
11985 12,
11986 OPC_CheckChild1Same, 0,
11987 OPC_CheckChild2Same, 1,
11988 OPC_CheckPatternPredicate0,
11989 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
11990 116, 2, 1, 0,
11991 0,
11992 33,
11993 OPC_CheckChild2CondCode, ISD::SETOGE,
11994 OPC_MoveParent,
11995 OPC_CheckType, 116,
11996 OPC_Scope, 12,
11997 OPC_CheckChild1Same, 1,
11998 OPC_CheckChild2Same, 0,
11999 OPC_CheckPatternPredicate0,
12000 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
12001 116, 2, 0, 1,
12002 12,
12003 OPC_CheckChild1Same, 0,
12004 OPC_CheckChild2Same, 1,
12005 OPC_CheckPatternPredicate0,
12006 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
12007 116, 2, 1, 0,
12008 0,
12009 33,
12010 OPC_CheckChild2CondCode, ISD::SETLT,
12011 OPC_MoveParent,
12012 OPC_CheckType, 116,
12013 OPC_Scope, 12,
12014 OPC_CheckChild1Same, 0,
12015 OPC_CheckChild2Same, 1,
12016 OPC_CheckPatternPredicate0,
12017 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
12018 116, 2, 0, 1,
12019 12,
12020 OPC_CheckChild1Same, 1,
12021 OPC_CheckChild2Same, 0,
12022 OPC_CheckPatternPredicate0,
12023 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
12024 116, 2, 0, 1,
12025 0,
12026 33,
12027 OPC_CheckChild2CondCode, ISD::SETLE,
12028 OPC_MoveParent,
12029 OPC_CheckType, 116,
12030 OPC_Scope, 12,
12031 OPC_CheckChild1Same, 0,
12032 OPC_CheckChild2Same, 1,
12033 OPC_CheckPatternPredicate0,
12034 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
12035 116, 2, 0, 1,
12036 12,
12037 OPC_CheckChild1Same, 1,
12038 OPC_CheckChild2Same, 0,
12039 OPC_CheckPatternPredicate0,
12040 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
12041 116, 2, 0, 1,
12042 0,
12043 33,
12044 OPC_CheckChild2CondCode, ISD::SETGT,
12045 OPC_MoveParent,
12046 OPC_CheckType, 116,
12047 OPC_Scope, 12,
12048 OPC_CheckChild1Same, 1,
12049 OPC_CheckChild2Same, 0,
12050 OPC_CheckPatternPredicate0,
12051 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
12052 116, 2, 0, 1,
12053 12,
12054 OPC_CheckChild1Same, 0,
12055 OPC_CheckChild2Same, 1,
12056 OPC_CheckPatternPredicate0,
12057 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
12058 116, 2, 0, 1,
12059 0,
12060 33,
12061 OPC_CheckChild2CondCode, ISD::SETGE,
12062 OPC_MoveParent,
12063 OPC_CheckType, 116,
12064 OPC_Scope, 12,
12065 OPC_CheckChild1Same, 1,
12066 OPC_CheckChild2Same, 0,
12067 OPC_CheckPatternPredicate0,
12068 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F32x4),
12069 116, 2, 0, 1,
12070 12,
12071 OPC_CheckChild1Same, 0,
12072 OPC_CheckChild2Same, 1,
12073 OPC_CheckPatternPredicate0,
12074 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F32x4),
12075 116, 2, 0, 1,
12076 0,
12077 0,
12078 46|128,2,
12079 OPC_CheckChild0Type, 6|128,1,
12080 OPC_RecordChild1,
12081 OPC_Scope, 36,
12082 OPC_CheckChild2CondCode, ISD::SETOLT,
12083 OPC_MoveParent,
12084 OPC_CheckType, 6|128,1,
12085 OPC_Scope, 13,
12086 OPC_CheckChild1Same, 0,
12087 OPC_CheckChild2Same, 1,
12088 OPC_CheckPatternPredicate0,
12089 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12090 6|128,1, 2, 1, 0,
12091 13,
12092 OPC_CheckChild1Same, 1,
12093 OPC_CheckChild2Same, 0,
12094 OPC_CheckPatternPredicate0,
12095 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12096 6|128,1, 2, 0, 1,
12097 0,
12098 36,
12099 OPC_CheckChild2CondCode, ISD::SETOLE,
12100 OPC_MoveParent,
12101 OPC_CheckType, 6|128,1,
12102 OPC_Scope, 13,
12103 OPC_CheckChild1Same, 0,
12104 OPC_CheckChild2Same, 1,
12105 OPC_CheckPatternPredicate0,
12106 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12107 6|128,1, 2, 1, 0,
12108 13,
12109 OPC_CheckChild1Same, 1,
12110 OPC_CheckChild2Same, 0,
12111 OPC_CheckPatternPredicate0,
12112 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12113 6|128,1, 2, 0, 1,
12114 0,
12115 36,
12116 OPC_CheckChild2CondCode, ISD::SETOGT,
12117 OPC_MoveParent,
12118 OPC_CheckType, 6|128,1,
12119 OPC_Scope, 13,
12120 OPC_CheckChild1Same, 1,
12121 OPC_CheckChild2Same, 0,
12122 OPC_CheckPatternPredicate0,
12123 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12124 6|128,1, 2, 0, 1,
12125 13,
12126 OPC_CheckChild1Same, 0,
12127 OPC_CheckChild2Same, 1,
12128 OPC_CheckPatternPredicate0,
12129 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12130 6|128,1, 2, 1, 0,
12131 0,
12132 36,
12133 OPC_CheckChild2CondCode, ISD::SETOGE,
12134 OPC_MoveParent,
12135 OPC_CheckType, 6|128,1,
12136 OPC_Scope, 13,
12137 OPC_CheckChild1Same, 1,
12138 OPC_CheckChild2Same, 0,
12139 OPC_CheckPatternPredicate0,
12140 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12141 6|128,1, 2, 0, 1,
12142 13,
12143 OPC_CheckChild1Same, 0,
12144 OPC_CheckChild2Same, 1,
12145 OPC_CheckPatternPredicate0,
12146 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12147 6|128,1, 2, 1, 0,
12148 0,
12149 36,
12150 OPC_CheckChild2CondCode, ISD::SETLT,
12151 OPC_MoveParent,
12152 OPC_CheckType, 6|128,1,
12153 OPC_Scope, 13,
12154 OPC_CheckChild1Same, 0,
12155 OPC_CheckChild2Same, 1,
12156 OPC_CheckPatternPredicate0,
12157 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12158 6|128,1, 2, 0, 1,
12159 13,
12160 OPC_CheckChild1Same, 1,
12161 OPC_CheckChild2Same, 0,
12162 OPC_CheckPatternPredicate0,
12163 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12164 6|128,1, 2, 0, 1,
12165 0,
12166 36,
12167 OPC_CheckChild2CondCode, ISD::SETLE,
12168 OPC_MoveParent,
12169 OPC_CheckType, 6|128,1,
12170 OPC_Scope, 13,
12171 OPC_CheckChild1Same, 0,
12172 OPC_CheckChild2Same, 1,
12173 OPC_CheckPatternPredicate0,
12174 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12175 6|128,1, 2, 0, 1,
12176 13,
12177 OPC_CheckChild1Same, 1,
12178 OPC_CheckChild2Same, 0,
12179 OPC_CheckPatternPredicate0,
12180 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12181 6|128,1, 2, 0, 1,
12182 0,
12183 36,
12184 OPC_CheckChild2CondCode, ISD::SETGT,
12185 OPC_MoveParent,
12186 OPC_CheckType, 6|128,1,
12187 OPC_Scope, 13,
12188 OPC_CheckChild1Same, 1,
12189 OPC_CheckChild2Same, 0,
12190 OPC_CheckPatternPredicate0,
12191 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12192 6|128,1, 2, 0, 1,
12193 13,
12194 OPC_CheckChild1Same, 0,
12195 OPC_CheckChild2Same, 1,
12196 OPC_CheckPatternPredicate0,
12197 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12198 6|128,1, 2, 0, 1,
12199 0,
12200 36,
12201 OPC_CheckChild2CondCode, ISD::SETGE,
12202 OPC_MoveParent,
12203 OPC_CheckType, 6|128,1,
12204 OPC_Scope, 13,
12205 OPC_CheckChild1Same, 1,
12206 OPC_CheckChild2Same, 0,
12207 OPC_CheckPatternPredicate0,
12208 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F64x2),
12209 6|128,1, 2, 0, 1,
12210 13,
12211 OPC_CheckChild1Same, 0,
12212 OPC_CheckChild2Same, 1,
12213 OPC_CheckPatternPredicate0,
12214 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F64x2),
12215 6|128,1, 2, 0, 1,
12216 0,
12217 0,
12218 21|128,2,
12219 OPC_CheckChild0Type, 95,
12220 OPC_RecordChild1,
12221 OPC_Scope, 33,
12222 OPC_CheckChild2CondCode, ISD::SETOLT,
12223 OPC_MoveParent,
12224 OPC_CheckType, 95,
12225 OPC_Scope, 12,
12226 OPC_CheckChild1Same, 0,
12227 OPC_CheckChild2Same, 1,
12228 OPC_CheckPatternPredicate5,
12229 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12230 95, 2, 1, 0,
12231 12,
12232 OPC_CheckChild1Same, 1,
12233 OPC_CheckChild2Same, 0,
12234 OPC_CheckPatternPredicate5,
12235 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12236 95, 2, 0, 1,
12237 0,
12238 33,
12239 OPC_CheckChild2CondCode, ISD::SETOLE,
12240 OPC_MoveParent,
12241 OPC_CheckType, 95,
12242 OPC_Scope, 12,
12243 OPC_CheckChild1Same, 0,
12244 OPC_CheckChild2Same, 1,
12245 OPC_CheckPatternPredicate5,
12246 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12247 95, 2, 1, 0,
12248 12,
12249 OPC_CheckChild1Same, 1,
12250 OPC_CheckChild2Same, 0,
12251 OPC_CheckPatternPredicate5,
12252 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12253 95, 2, 0, 1,
12254 0,
12255 33,
12256 OPC_CheckChild2CondCode, ISD::SETOGT,
12257 OPC_MoveParent,
12258 OPC_CheckType, 95,
12259 OPC_Scope, 12,
12260 OPC_CheckChild1Same, 1,
12261 OPC_CheckChild2Same, 0,
12262 OPC_CheckPatternPredicate5,
12263 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12264 95, 2, 0, 1,
12265 12,
12266 OPC_CheckChild1Same, 0,
12267 OPC_CheckChild2Same, 1,
12268 OPC_CheckPatternPredicate5,
12269 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12270 95, 2, 1, 0,
12271 0,
12272 33,
12273 OPC_CheckChild2CondCode, ISD::SETOGE,
12274 OPC_MoveParent,
12275 OPC_CheckType, 95,
12276 OPC_Scope, 12,
12277 OPC_CheckChild1Same, 1,
12278 OPC_CheckChild2Same, 0,
12279 OPC_CheckPatternPredicate5,
12280 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12281 95, 2, 0, 1,
12282 12,
12283 OPC_CheckChild1Same, 0,
12284 OPC_CheckChild2Same, 1,
12285 OPC_CheckPatternPredicate5,
12286 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12287 95, 2, 1, 0,
12288 0,
12289 33,
12290 OPC_CheckChild2CondCode, ISD::SETLT,
12291 OPC_MoveParent,
12292 OPC_CheckType, 95,
12293 OPC_Scope, 12,
12294 OPC_CheckChild1Same, 0,
12295 OPC_CheckChild2Same, 1,
12296 OPC_CheckPatternPredicate5,
12297 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12298 95, 2, 0, 1,
12299 12,
12300 OPC_CheckChild1Same, 1,
12301 OPC_CheckChild2Same, 0,
12302 OPC_CheckPatternPredicate5,
12303 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12304 95, 2, 0, 1,
12305 0,
12306 33,
12307 OPC_CheckChild2CondCode, ISD::SETLE,
12308 OPC_MoveParent,
12309 OPC_CheckType, 95,
12310 OPC_Scope, 12,
12311 OPC_CheckChild1Same, 0,
12312 OPC_CheckChild2Same, 1,
12313 OPC_CheckPatternPredicate5,
12314 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12315 95, 2, 0, 1,
12316 12,
12317 OPC_CheckChild1Same, 1,
12318 OPC_CheckChild2Same, 0,
12319 OPC_CheckPatternPredicate5,
12320 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12321 95, 2, 0, 1,
12322 0,
12323 33,
12324 OPC_CheckChild2CondCode, ISD::SETGT,
12325 OPC_MoveParent,
12326 OPC_CheckType, 95,
12327 OPC_Scope, 12,
12328 OPC_CheckChild1Same, 1,
12329 OPC_CheckChild2Same, 0,
12330 OPC_CheckPatternPredicate5,
12331 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12332 95, 2, 0, 1,
12333 12,
12334 OPC_CheckChild1Same, 0,
12335 OPC_CheckChild2Same, 1,
12336 OPC_CheckPatternPredicate5,
12337 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12338 95, 2, 0, 1,
12339 0,
12340 33,
12341 OPC_CheckChild2CondCode, ISD::SETGE,
12342 OPC_MoveParent,
12343 OPC_CheckType, 95,
12344 OPC_Scope, 12,
12345 OPC_CheckChild1Same, 1,
12346 OPC_CheckChild2Same, 0,
12347 OPC_CheckPatternPredicate5,
12348 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMIN_F16x8),
12349 95, 2, 0, 1,
12350 12,
12351 OPC_CheckChild1Same, 0,
12352 OPC_CheckChild2Same, 1,
12353 OPC_CheckPatternPredicate5,
12354 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::PMAX_F16x8),
12355 95, 2, 0, 1,
12356 0,
12357 0,
12358 0,
12359 27,
12360 OPC_RecordChild0,
12361 OPC_RecordChild1,
12362 OPC_RecordChild2,
12363 OPC_SwitchType , 8, 116,
12364 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12365 116, 3, 1, 2, 0,
12366 9, 6|128,1,
12367 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::BITSELECT),
12368 6|128,1, 3, 1, 2, 0,
12369 0,
12370 0,
12371 16, TARGET_VAL(WebAssemblyISD::SWIZZLE),
12372 OPC_RecordChild0,
12373 OPC_CheckChild0Type, 40,
12374 OPC_RecordChild1,
12375 OPC_CheckChild1Type, 40,
12376 OPC_CheckType, 40,
12377 OPC_CheckPatternPredicate0,
12378 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SWIZZLE),
12379 40, 2, 0, 1,
12380 39, TARGET_VAL(ISD::ABS),
12381 OPC_RecordChild0,
12382 OPC_SwitchType , 7, 40,
12383 OPC_CheckPatternPredicate0,
12384 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I8x16),
12385 40, 1, 0,
12386 7, 51,
12387 OPC_CheckPatternPredicate0,
12388 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I16x8),
12389 51, 1, 0,
12390 7, 62,
12391 OPC_CheckPatternPredicate0,
12392 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I32x4),
12393 62, 1, 0,
12394 7, 81,
12395 OPC_CheckPatternPredicate0,
12396 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ABS_I64x2),
12397 81, 1, 0,
12398 0,
12399 24, TARGET_VAL(ISD::SADDSAT),
12400 OPC_RecordChild0,
12401 OPC_RecordChild1,
12402 OPC_SwitchType , 8, 40,
12403 OPC_CheckPatternPredicate0,
12404 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I8x16),
12405 40, 2, 0, 1,
12406 8, 51,
12407 OPC_CheckPatternPredicate0,
12408 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_S_I16x8),
12409 51, 2, 0, 1,
12410 0,
12411 24, TARGET_VAL(ISD::UADDSAT),
12412 OPC_RecordChild0,
12413 OPC_RecordChild1,
12414 OPC_SwitchType , 8, 40,
12415 OPC_CheckPatternPredicate0,
12416 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I8x16),
12417 40, 2, 0, 1,
12418 8, 51,
12419 OPC_CheckPatternPredicate0,
12420 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::ADD_SAT_U_I16x8),
12421 51, 2, 0, 1,
12422 0,
12423 24, TARGET_VAL(ISD::SSUBSAT),
12424 OPC_RecordChild0,
12425 OPC_RecordChild1,
12426 OPC_SwitchType , 8, 40,
12427 OPC_CheckPatternPredicate0,
12428 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I8x16),
12429 40, 2, 0, 1,
12430 8, 51,
12431 OPC_CheckPatternPredicate0,
12432 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_S_I16x8),
12433 51, 2, 0, 1,
12434 0,
12435 24, TARGET_VAL(ISD::USUBSAT),
12436 OPC_RecordChild0,
12437 OPC_RecordChild1,
12438 OPC_SwitchType , 8, 40,
12439 OPC_CheckPatternPredicate0,
12440 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I8x16),
12441 40, 2, 0, 1,
12442 8, 51,
12443 OPC_CheckPatternPredicate0,
12444 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::SUB_SAT_U_I16x8),
12445 51, 2, 0, 1,
12446 0,
12447 34, TARGET_VAL(ISD::SMIN),
12448 OPC_RecordChild0,
12449 OPC_RecordChild1,
12450 OPC_SwitchType , 8, 40,
12451 OPC_CheckPatternPredicate0,
12452 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I8x16),
12453 40, 2, 0, 1,
12454 8, 51,
12455 OPC_CheckPatternPredicate0,
12456 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I16x8),
12457 51, 2, 0, 1,
12458 8, 62,
12459 OPC_CheckPatternPredicate0,
12460 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_S_I32x4),
12461 62, 2, 0, 1,
12462 0,
12463 34, TARGET_VAL(ISD::UMIN),
12464 OPC_RecordChild0,
12465 OPC_RecordChild1,
12466 OPC_SwitchType , 8, 40,
12467 OPC_CheckPatternPredicate0,
12468 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I8x16),
12469 40, 2, 0, 1,
12470 8, 51,
12471 OPC_CheckPatternPredicate0,
12472 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I16x8),
12473 51, 2, 0, 1,
12474 8, 62,
12475 OPC_CheckPatternPredicate0,
12476 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MIN_U_I32x4),
12477 62, 2, 0, 1,
12478 0,
12479 34, TARGET_VAL(ISD::SMAX),
12480 OPC_RecordChild0,
12481 OPC_RecordChild1,
12482 OPC_SwitchType , 8, 40,
12483 OPC_CheckPatternPredicate0,
12484 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I8x16),
12485 40, 2, 0, 1,
12486 8, 51,
12487 OPC_CheckPatternPredicate0,
12488 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I16x8),
12489 51, 2, 0, 1,
12490 8, 62,
12491 OPC_CheckPatternPredicate0,
12492 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_S_I32x4),
12493 62, 2, 0, 1,
12494 0,
12495 34, TARGET_VAL(ISD::UMAX),
12496 OPC_RecordChild0,
12497 OPC_RecordChild1,
12498 OPC_SwitchType , 8, 40,
12499 OPC_CheckPatternPredicate0,
12500 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I8x16),
12501 40, 2, 0, 1,
12502 8, 51,
12503 OPC_CheckPatternPredicate0,
12504 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I16x8),
12505 51, 2, 0, 1,
12506 8, 62,
12507 OPC_CheckPatternPredicate0,
12508 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::MAX_U_I32x4),
12509 62, 2, 0, 1,
12510 0,
12511 9, TARGET_VAL(WebAssemblyISD::DOT),
12512 OPC_RecordChild0,
12513 OPC_RecordChild1,
12514 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::DOT),
12515 62, 2, 0, 1,
12516 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_S),
12517 OPC_RecordChild0,
12518 OPC_CheckChild0Type, 6|128,1,
12519 OPC_CheckType, 62,
12520 OPC_CheckPatternPredicate0,
12521 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_s_I32x4),
12522 62, 1, 0,
12523 13, TARGET_VAL(WebAssemblyISD::TRUNC_SAT_ZERO_U),
12524 OPC_RecordChild0,
12525 OPC_CheckChild0Type, 6|128,1,
12526 OPC_CheckType, 62,
12527 OPC_CheckPatternPredicate0,
12528 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::trunc_sat_zero_u_I32x4),
12529 62, 1, 0,
12530 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_S),
12531 OPC_RecordChild0,
12532 OPC_SwitchType , 9, 51,
12533 OPC_CheckChild0Type, 40,
12534 OPC_CheckPatternPredicate0,
12535 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I16x8),
12536 51, 1, 0,
12537 9, 62,
12538 OPC_CheckChild0Type, 51,
12539 OPC_CheckPatternPredicate0,
12540 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I32x4),
12541 62, 1, 0,
12542 9, 81,
12543 OPC_CheckChild0Type, 62,
12544 OPC_CheckPatternPredicate0,
12545 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_s_I64x2),
12546 81, 1, 0,
12547 0,
12548 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_S),
12549 OPC_RecordChild0,
12550 OPC_SwitchType , 9, 51,
12551 OPC_CheckChild0Type, 40,
12552 OPC_CheckPatternPredicate0,
12553 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I16x8),
12554 51, 1, 0,
12555 9, 62,
12556 OPC_CheckChild0Type, 51,
12557 OPC_CheckPatternPredicate0,
12558 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I32x4),
12559 62, 1, 0,
12560 9, 81,
12561 OPC_CheckChild0Type, 62,
12562 OPC_CheckPatternPredicate0,
12563 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_s_I64x2),
12564 81, 1, 0,
12565 0,
12566 36, TARGET_VAL(WebAssemblyISD::EXTEND_LOW_U),
12567 OPC_RecordChild0,
12568 OPC_SwitchType , 9, 51,
12569 OPC_CheckChild0Type, 40,
12570 OPC_CheckPatternPredicate0,
12571 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I16x8),
12572 51, 1, 0,
12573 9, 62,
12574 OPC_CheckChild0Type, 51,
12575 OPC_CheckPatternPredicate0,
12576 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I32x4),
12577 62, 1, 0,
12578 9, 81,
12579 OPC_CheckChild0Type, 62,
12580 OPC_CheckPatternPredicate0,
12581 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_low_u_I64x2),
12582 81, 1, 0,
12583 0,
12584 36, TARGET_VAL(WebAssemblyISD::EXTEND_HIGH_U),
12585 OPC_RecordChild0,
12586 OPC_SwitchType , 9, 51,
12587 OPC_CheckChild0Type, 40,
12588 OPC_CheckPatternPredicate0,
12589 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I16x8),
12590 51, 1, 0,
12591 9, 62,
12592 OPC_CheckChild0Type, 51,
12593 OPC_CheckPatternPredicate0,
12594 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I32x4),
12595 62, 1, 0,
12596 9, 81,
12597 OPC_CheckChild0Type, 62,
12598 OPC_CheckPatternPredicate0,
12599 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::extend_high_u_I64x2),
12600 81, 1, 0,
12601 0,
12602 31, TARGET_VAL(WebAssemblyISD::NARROW_U),
12603 OPC_RecordChild0,
12604 OPC_SwitchType , 12, 40,
12605 OPC_CheckChild0Type, 51,
12606 OPC_RecordChild1,
12607 OPC_CheckChild1Type, 51,
12608 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I8x16),
12609 40, 2, 0, 1,
12610 12, 51,
12611 OPC_CheckChild0Type, 62,
12612 OPC_RecordChild1,
12613 OPC_CheckChild1Type, 62,
12614 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::NARROW_U_I16x8),
12615 51, 2, 0, 1,
12616 0,
12617 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_S),
12618 OPC_RecordChild0,
12619 OPC_CheckChild0Type, 62,
12620 OPC_CheckType, 6|128,1,
12621 OPC_CheckPatternPredicate0,
12622 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_s_F64x2),
12623 6|128,1, 1, 0,
12624 14, TARGET_VAL(WebAssemblyISD::CONVERT_LOW_U),
12625 OPC_RecordChild0,
12626 OPC_CheckChild0Type, 62,
12627 OPC_CheckType, 6|128,1,
12628 OPC_CheckPatternPredicate0,
12629 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::convert_low_u_F64x2),
12630 6|128,1, 1, 0,
12631 13, TARGET_VAL(WebAssemblyISD::DEMOTE_ZERO),
12632 OPC_RecordChild0,
12633 OPC_CheckChild0Type, 6|128,1,
12634 OPC_CheckType, 116,
12635 OPC_CheckPatternPredicate0,
12636 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::demote_zero_F32x4),
12637 116, 1, 0,
12638 14, TARGET_VAL(WebAssemblyISD::PROMOTE_LOW),
12639 OPC_RecordChild0,
12640 OPC_CheckChild0Type, 116,
12641 OPC_CheckType, 6|128,1,
12642 OPC_CheckPatternPredicate0,
12643 OPC_MorphNodeTo1None, TARGET_VAL(WebAssembly::promote_low_F64x2),
12644 6|128,1, 1, 0,
12645 0,
12646 0
12647 }; // Total Array size is 25511 bytes
12648
12649 #undef COVERAGE_IDX_VAL
12650 #undef TARGET_VAL
12651 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
12652}
12653#endif // GET_DAGISEL_BODY
12654
12655#ifdef GET_DAGISEL_DECL
12656bool CheckPatternPredicate(unsigned PredNo) const override;
12657#endif
12658#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
12659bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
12660#if DAGISEL_INLINE
12661 override
12662#endif
12663{
12664 switch (PredNo) {
12665 default: llvm_unreachable("Invalid predicate in table?");
12666 case 0: return (Subtarget->hasSIMD128());
12667 case 1: return (!Subtarget->hasAddr64());
12668 case 2: return (Subtarget->hasAddr64());
12669 case 3: return (!Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
12670 case 4: return (Subtarget->hasAddr64()) && (Subtarget->hasAtomics());
12671 case 5: return (Subtarget->hasFP16()) && (Subtarget->hasSIMD128());
12672 case 6: return (Subtarget->hasReferenceTypes());
12673 case 7: return (Subtarget->hasRelaxedSIMD());
12674 case 8: return (Subtarget->hasExceptionHandling()) && (Subtarget->hasReferenceTypes());
12675 case 9: return (Subtarget->hasNontrappingFPToInt());
12676 case 10: return (!Subtarget->hasNontrappingFPToInt());
12677 case 11: return (Subtarget->hasSignExt());
12678 case 12: return (Subtarget->hasBulkMemoryOpt());
12679 case 13: return (Subtarget->hasRelaxedSIMD()) && (Subtarget->hasSIMD128());
12680 case 14: return (!Subtarget->hasAddr64()) && (TM.isPositionIndependent());
12681 case 15: return (Subtarget->hasAddr64()) && (TM.isPositionIndependent());
12682 case 16: return (Subtarget->hasFP16());
12683 case 17: return (!Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
12684 case 18: return (Subtarget->hasAddr64()) && (!TM.isPositionIndependent());
12685 case 19: return (Subtarget->hasExceptionHandling());
12686 }
12687}
12688#endif // GET_DAGISEL_BODY
12689
12690#ifdef GET_DAGISEL_DECL
12691bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
12692#endif
12693#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
12694bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
12695#if DAGISEL_INLINE
12696 override
12697#endif
12698{
12699 switch (PredNo) {
12700 default: llvm_unreachable("Invalid predicate in table?");
12701 case 0: {
12702 // Predicate_LaneIdx32
12703 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12704return 0 <= Imm && Imm < 32;
12705 }
12706 case 1: {
12707 // Predicate_atomic_cmp_swap_i8
12708 // Predicate_atomic_load_add_i8
12709 // Predicate_atomic_load_aext_8
12710 // Predicate_atomic_load_and_i8
12711 // Predicate_atomic_load_or_i8
12712 // Predicate_atomic_load_sub_i8
12713 // Predicate_atomic_load_xor_i8
12714 // Predicate_atomic_load_zext_8
12715 // Predicate_atomic_store_8
12716 // Predicate_atomic_swap_i8
12717 // Predicate_extloadi8
12718 // Predicate_sextloadi8
12719 // Predicate_truncstorei8
12720 // Predicate_zextloadi8
12721 SDNode *N = Op.getNode();
12722 (void)N;
12723if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
12724return true;
12725
12726 }
12727 case 2: {
12728 // Predicate_atomic_cmp_swap_i16
12729 // Predicate_atomic_load_add_i16
12730 // Predicate_atomic_load_aext_16
12731 // Predicate_atomic_load_and_i16
12732 // Predicate_atomic_load_or_i16
12733 // Predicate_atomic_load_sub_i16
12734 // Predicate_atomic_load_xor_i16
12735 // Predicate_atomic_load_zext_16
12736 // Predicate_atomic_store_16
12737 // Predicate_atomic_swap_i16
12738 // Predicate_extloadi16
12739 // Predicate_sextloadi16
12740 // Predicate_truncstorei16
12741 // Predicate_zextloadi16
12742 SDNode *N = Op.getNode();
12743 (void)N;
12744if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
12745return true;
12746
12747 }
12748 case 3: {
12749 // Predicate_atomic_cmp_swap_i32
12750 // Predicate_atomic_load_add_i32
12751 // Predicate_atomic_load_and_i32
12752 // Predicate_atomic_load_nonext_32
12753 // Predicate_atomic_load_or_i32
12754 // Predicate_atomic_load_sub_i32
12755 // Predicate_atomic_load_xor_i32
12756 // Predicate_atomic_store_32
12757 // Predicate_atomic_swap_i32
12758 // Predicate_extloadi32
12759 // Predicate_sextloadi32
12760 // Predicate_truncstorei32
12761 // Predicate_zextloadi32
12762 SDNode *N = Op.getNode();
12763 (void)N;
12764if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
12765return true;
12766
12767 }
12768 case 4: {
12769 // Predicate_unindexedstore
12770 SDNode *N = Op.getNode();
12771 (void)N;
12772if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
12773return true;
12774
12775 }
12776 case 5: {
12777 // Predicate_store
12778 SDNode *N = Op.getNode();
12779 (void)N;
12780 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
12781return true;
12782
12783 }
12784 case 6: {
12785 // Predicate_load
12786 SDNode *N = Op.getNode();
12787 (void)N;
12788if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
12789return true;
12790
12791 }
12792 case 7: {
12793 // Predicate_atomic_cmp_swap_i64
12794 // Predicate_atomic_load_add_i64
12795 // Predicate_atomic_load_and_i64
12796 // Predicate_atomic_load_nonext_64
12797 // Predicate_atomic_load_or_i64
12798 // Predicate_atomic_load_sub_i64
12799 // Predicate_atomic_load_xor_i64
12800 // Predicate_atomic_store_64
12801 // Predicate_atomic_swap_i64
12802 SDNode *N = Op.getNode();
12803 (void)N;
12804if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
12805return true;
12806
12807 }
12808 case 8: {
12809 // Predicate_unindexedload
12810 SDNode *N = Op.getNode();
12811 (void)N;
12812if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
12813return true;
12814
12815 }
12816 case 9: {
12817 // Predicate_ImmI8
12818 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12819return -(1 << (8 - 1)) <= Imm && Imm < (1 << 8);
12820 }
12821 case 10: {
12822 // Predicate_extload
12823 SDNode *N = Op.getNode();
12824 (void)N;
12825if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
12826return true;
12827
12828 }
12829 case 11: {
12830 // Predicate_LaneIdx4
12831 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12832return 0 <= Imm && Imm < 4;
12833 }
12834 case 12: {
12835 // Predicate_LaneIdx2
12836 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12837return 0 <= Imm && Imm < 2;
12838 }
12839 case 13: {
12840 // Predicate_atomic_load_zext
12841 SDNode *N = Op.getNode();
12842 (void)N;
12843if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
12844return true;
12845
12846 }
12847 case 14: {
12848 // Predicate_LaneIdx8
12849 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12850return 0 <= Imm && Imm < 8;
12851 }
12852 case 15: {
12853 // Predicate_atomic_load_aext
12854 SDNode *N = Op.getNode();
12855 (void)N;
12856if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
12857return true;
12858
12859 }
12860 case 16: {
12861 // Predicate_truncstore
12862 SDNode *N = Op.getNode();
12863 (void)N;
12864 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
12865return true;
12866
12867 }
12868 case 17: {
12869 // Predicate_sextload
12870 SDNode *N = Op.getNode();
12871 (void)N;
12872if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
12873return true;
12874
12875 }
12876 case 18: {
12877 // Predicate_zextload
12878 SDNode *N = Op.getNode();
12879 (void)N;
12880if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
12881return true;
12882
12883 }
12884 case 19: {
12885 // Predicate_ImmI16
12886 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12887return -(1 << (16 - 1)) <= Imm && Imm < (1 << 16);
12888 }
12889 case 20: {
12890 // Predicate_LaneIdx16
12891 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
12892return 0 <= Imm && Imm < 16;
12893 }
12894 case 21: {
12895 // Predicate_extloadvi8
12896 // Predicate_sextloadvi8
12897 // Predicate_zextloadvi8
12898 SDNode *N = Op.getNode();
12899 (void)N;
12900if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i8) return false;
12901return true;
12902
12903 }
12904 case 22: {
12905 // Predicate_extloadvi16
12906 // Predicate_sextloadvi16
12907 // Predicate_zextloadvi16
12908 SDNode *N = Op.getNode();
12909 (void)N;
12910if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i16) return false;
12911return true;
12912
12913 }
12914 case 23: {
12915 // Predicate_extloadvi32
12916 // Predicate_sextloadvi32
12917 // Predicate_zextloadvi32
12918 SDNode *N = Op.getNode();
12919 (void)N;
12920if (cast<LoadSDNode>(Val: N)->getMemoryVT().getScalarType() != MVT::i32) return false;
12921return true;
12922
12923 }
12924 case 24: {
12925 // Predicate_atomic_load_nonext
12926 SDNode *N = Op.getNode();
12927 (void)N;
12928if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
12929return true;
12930
12931 }
12932 case 25: {
12933 // Predicate_add_nuw
12934 SDNode *N = Op.getNode();
12935 (void)N;
12936return N->getFlags().hasNoUnsignedWrap();
12937 }
12938 case 26: {
12939 // Predicate_bool_node
12940 SDNode *N = Op.getNode();
12941 (void)N;
12942
12943 return CurDAG->computeKnownBits(Op).countMinLeadingZeros() == 31;
12944
12945 }
12946 }
12947}
12948#endif // GET_DAGISEL_BODY
12949
12950#ifdef GET_DAGISEL_DECL
12951bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
12952 SDValue N, unsigned PatternNo,
12953 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
12954#endif
12955#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
12956bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
12957 SDValue N, unsigned PatternNo,
12958 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
12959#if DAGISEL_INLINE
12960 override
12961#endif
12962{
12963 unsigned NextRes = Result.size();
12964 switch (PatternNo) {
12965 default: llvm_unreachable("Invalid pattern # in table?");
12966 case 0:
12967 Result.resize(N: NextRes+2);
12968 return SelectAddrOperands32(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
12969 case 1:
12970 Result.resize(N: NextRes+2);
12971 return SelectAddrOperands64(Op: N, Offset&: Result[NextRes+0].first, Addr&: Result[NextRes+1].first);
12972 }
12973}
12974#endif // GET_DAGISEL_BODY
12975
12976
12977#ifdef DAGISEL_INLINE
12978#undef DAGISEL_INLINE
12979#endif
12980#ifdef DAGISEL_CLASS_COLONCOLON
12981#undef DAGISEL_CLASS_COLONCOLON
12982#endif
12983#ifdef GET_DAGISEL_DECL
12984#undef GET_DAGISEL_DECL
12985#endif
12986#ifdef GET_DAGISEL_BODY
12987#undef GET_DAGISEL_BODY
12988#endif
12989