Line data Source code
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
29 : static_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
48 : void SelectCode(SDNode *N);
49 : #endif
50 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51 : void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52 : {
53 : // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 : // this.
55 : #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 : static const unsigned char MatcherTable[] = {
57 : /* 0*/ OPC_SwitchOpcode /*80 cases */, 126|128,1|128,1/*16638*/, TARGET_VAL(ISD::AND),// ->16644
58 : /* 6*/ OPC_Scope, 61, /*->69*/ // 303 children in Scope
59 : /* 8*/ OPC_CheckAndImm, 127|128,1/*255*/,
60 : /* 11*/ OPC_MoveChild0,
61 : /* 12*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
62 : /* 15*/ OPC_MoveChild0,
63 : /* 16*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
64 : /* 19*/ OPC_RecordMemRef,
65 : /* 20*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
66 : /* 21*/ OPC_CheckFoldableChainNode,
67 : /* 22*/ OPC_MoveChild1,
68 : /* 23*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
69 : /* 26*/ OPC_RecordChild0, // #1 = $addr
70 : /* 27*/ OPC_MoveChild1,
71 : /* 28*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
72 : /* 31*/ OPC_RecordChild0, // #2 = $off
73 : /* 32*/ OPC_MoveChild0,
74 : /* 33*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
75 : /* 36*/ OPC_MoveParent,
76 : /* 37*/ OPC_MoveParent,
77 : /* 38*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
78 : /* 40*/ OPC_CheckType, MVT::i32,
79 : /* 42*/ OPC_MoveParent,
80 : /* 43*/ OPC_MoveChild2,
81 : /* 44*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
82 : /* 47*/ OPC_RecordChild0, // #3 = $val
83 : /* 48*/ OPC_MoveParent,
84 : /* 49*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
85 : /* 51*/ OPC_MoveParent,
86 : /* 52*/ OPC_MoveParent,
87 : /* 53*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
88 : /* 55*/ OPC_EmitMergeInputChains1_0,
89 : /* 56*/ OPC_EmitInteger, MVT::i32, 0,
90 : /* 59*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
91 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
92 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 28
93 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
94 : /* 69*/ /*Scope*/ 62, /*->132*/
95 : /* 70*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
96 : /* 74*/ OPC_MoveChild0,
97 : /* 75*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
98 : /* 78*/ OPC_MoveChild0,
99 : /* 79*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
100 : /* 82*/ OPC_RecordMemRef,
101 : /* 83*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
102 : /* 84*/ OPC_CheckFoldableChainNode,
103 : /* 85*/ OPC_MoveChild1,
104 : /* 86*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
105 : /* 89*/ OPC_RecordChild0, // #1 = $addr
106 : /* 90*/ OPC_MoveChild1,
107 : /* 91*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
108 : /* 94*/ OPC_RecordChild0, // #2 = $off
109 : /* 95*/ OPC_MoveChild0,
110 : /* 96*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
111 : /* 99*/ OPC_MoveParent,
112 : /* 100*/ OPC_MoveParent,
113 : /* 101*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
114 : /* 103*/ OPC_CheckType, MVT::i32,
115 : /* 105*/ OPC_MoveParent,
116 : /* 106*/ OPC_MoveChild2,
117 : /* 107*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
118 : /* 110*/ OPC_RecordChild0, // #3 = $val
119 : /* 111*/ OPC_MoveParent,
120 : /* 112*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
121 : /* 114*/ OPC_MoveParent,
122 : /* 115*/ OPC_MoveParent,
123 : /* 116*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
124 : /* 118*/ OPC_EmitMergeInputChains1_0,
125 : /* 119*/ OPC_EmitInteger, MVT::i32, 0,
126 : /* 122*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
127 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
128 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 28
129 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
130 : /* 132*/ /*Scope*/ 61, /*->194*/
131 : /* 133*/ OPC_CheckAndImm, 127|128,1/*255*/,
132 : /* 136*/ OPC_MoveChild0,
133 : /* 137*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
134 : /* 140*/ OPC_MoveChild0,
135 : /* 141*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
136 : /* 144*/ OPC_RecordMemRef,
137 : /* 145*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
138 : /* 146*/ OPC_CheckFoldableChainNode,
139 : /* 147*/ OPC_MoveChild1,
140 : /* 148*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
141 : /* 151*/ OPC_RecordChild0, // #1 = $addr
142 : /* 152*/ OPC_MoveChild1,
143 : /* 153*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
144 : /* 156*/ OPC_RecordChild0, // #2 = $off
145 : /* 157*/ OPC_MoveChild0,
146 : /* 158*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
147 : /* 161*/ OPC_MoveParent,
148 : /* 162*/ OPC_MoveParent,
149 : /* 163*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
150 : /* 165*/ OPC_CheckType, MVT::i32,
151 : /* 167*/ OPC_MoveParent,
152 : /* 168*/ OPC_MoveChild2,
153 : /* 169*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
154 : /* 172*/ OPC_RecordChild0, // #3 = $val
155 : /* 173*/ OPC_MoveParent,
156 : /* 174*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
157 : /* 176*/ OPC_MoveParent,
158 : /* 177*/ OPC_MoveParent,
159 : /* 178*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
160 : /* 180*/ OPC_EmitMergeInputChains1_0,
161 : /* 181*/ OPC_EmitInteger, MVT::i32, 0,
162 : /* 184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
163 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
164 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 28
165 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
166 : /* 194*/ /*Scope*/ 62, /*->257*/
167 : /* 195*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
168 : /* 199*/ OPC_MoveChild0,
169 : /* 200*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
170 : /* 203*/ OPC_MoveChild0,
171 : /* 204*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
172 : /* 207*/ OPC_RecordMemRef,
173 : /* 208*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
174 : /* 209*/ OPC_CheckFoldableChainNode,
175 : /* 210*/ OPC_MoveChild1,
176 : /* 211*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
177 : /* 214*/ OPC_RecordChild0, // #1 = $addr
178 : /* 215*/ OPC_MoveChild1,
179 : /* 216*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
180 : /* 219*/ OPC_RecordChild0, // #2 = $off
181 : /* 220*/ OPC_MoveChild0,
182 : /* 221*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
183 : /* 224*/ OPC_MoveParent,
184 : /* 225*/ OPC_MoveParent,
185 : /* 226*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
186 : /* 228*/ OPC_CheckType, MVT::i32,
187 : /* 230*/ OPC_MoveParent,
188 : /* 231*/ OPC_MoveChild2,
189 : /* 232*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
190 : /* 235*/ OPC_RecordChild0, // #3 = $val
191 : /* 236*/ OPC_MoveParent,
192 : /* 237*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
193 : /* 239*/ OPC_MoveParent,
194 : /* 240*/ OPC_MoveParent,
195 : /* 241*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
196 : /* 243*/ OPC_EmitMergeInputChains1_0,
197 : /* 244*/ OPC_EmitInteger, MVT::i32, 0,
198 : /* 247*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
199 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
200 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 28
201 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
202 : /* 257*/ /*Scope*/ 61, /*->319*/
203 : /* 258*/ OPC_CheckAndImm, 127|128,1/*255*/,
204 : /* 261*/ OPC_MoveChild0,
205 : /* 262*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
206 : /* 265*/ OPC_MoveChild0,
207 : /* 266*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
208 : /* 269*/ OPC_RecordMemRef,
209 : /* 270*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
210 : /* 271*/ OPC_CheckFoldableChainNode,
211 : /* 272*/ OPC_MoveChild1,
212 : /* 273*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
213 : /* 276*/ OPC_RecordChild0, // #1 = $addr
214 : /* 277*/ OPC_MoveChild1,
215 : /* 278*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
216 : /* 281*/ OPC_RecordChild0, // #2 = $off
217 : /* 282*/ OPC_MoveChild0,
218 : /* 283*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
219 : /* 286*/ OPC_MoveParent,
220 : /* 287*/ OPC_MoveParent,
221 : /* 288*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
222 : /* 290*/ OPC_CheckType, MVT::i32,
223 : /* 292*/ OPC_MoveParent,
224 : /* 293*/ OPC_MoveChild2,
225 : /* 294*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
226 : /* 297*/ OPC_RecordChild0, // #3 = $val
227 : /* 298*/ OPC_MoveParent,
228 : /* 299*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
229 : /* 301*/ OPC_MoveParent,
230 : /* 302*/ OPC_MoveParent,
231 : /* 303*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
232 : /* 305*/ OPC_EmitMergeInputChains1_0,
233 : /* 306*/ OPC_EmitInteger, MVT::i32, 0,
234 : /* 309*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
235 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
236 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 28
237 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
238 : /* 319*/ /*Scope*/ 62, /*->382*/
239 : /* 320*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
240 : /* 324*/ OPC_MoveChild0,
241 : /* 325*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
242 : /* 328*/ OPC_MoveChild0,
243 : /* 329*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
244 : /* 332*/ OPC_RecordMemRef,
245 : /* 333*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
246 : /* 334*/ OPC_CheckFoldableChainNode,
247 : /* 335*/ OPC_MoveChild1,
248 : /* 336*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
249 : /* 339*/ OPC_RecordChild0, // #1 = $addr
250 : /* 340*/ OPC_MoveChild1,
251 : /* 341*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
252 : /* 344*/ OPC_RecordChild0, // #2 = $off
253 : /* 345*/ OPC_MoveChild0,
254 : /* 346*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
255 : /* 349*/ OPC_MoveParent,
256 : /* 350*/ OPC_MoveParent,
257 : /* 351*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
258 : /* 353*/ OPC_CheckType, MVT::i32,
259 : /* 355*/ OPC_MoveParent,
260 : /* 356*/ OPC_MoveChild2,
261 : /* 357*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
262 : /* 360*/ OPC_RecordChild0, // #3 = $val
263 : /* 361*/ OPC_MoveParent,
264 : /* 362*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
265 : /* 364*/ OPC_MoveParent,
266 : /* 365*/ OPC_MoveParent,
267 : /* 366*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
268 : /* 368*/ OPC_EmitMergeInputChains1_0,
269 : /* 369*/ OPC_EmitInteger, MVT::i32, 0,
270 : /* 372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
271 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
272 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 28
273 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
274 : /* 382*/ /*Scope*/ 61, /*->444*/
275 : /* 383*/ OPC_CheckAndImm, 127|128,1/*255*/,
276 : /* 386*/ OPC_MoveChild0,
277 : /* 387*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
278 : /* 390*/ OPC_MoveChild0,
279 : /* 391*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
280 : /* 394*/ OPC_RecordMemRef,
281 : /* 395*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
282 : /* 396*/ OPC_CheckFoldableChainNode,
283 : /* 397*/ OPC_MoveChild1,
284 : /* 398*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
285 : /* 401*/ OPC_RecordChild0, // #1 = $addr
286 : /* 402*/ OPC_MoveChild1,
287 : /* 403*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
288 : /* 406*/ OPC_RecordChild0, // #2 = $off
289 : /* 407*/ OPC_MoveChild0,
290 : /* 408*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
291 : /* 411*/ OPC_MoveParent,
292 : /* 412*/ OPC_MoveParent,
293 : /* 413*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
294 : /* 415*/ OPC_CheckType, MVT::i32,
295 : /* 417*/ OPC_MoveParent,
296 : /* 418*/ OPC_MoveChild2,
297 : /* 419*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
298 : /* 422*/ OPC_RecordChild0, // #3 = $val
299 : /* 423*/ OPC_MoveParent,
300 : /* 424*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
301 : /* 426*/ OPC_MoveParent,
302 : /* 427*/ OPC_MoveParent,
303 : /* 428*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
304 : /* 430*/ OPC_EmitMergeInputChains1_0,
305 : /* 431*/ OPC_EmitInteger, MVT::i32, 0,
306 : /* 434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
307 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
308 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 28
309 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
310 : /* 444*/ /*Scope*/ 62, /*->507*/
311 : /* 445*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
312 : /* 449*/ OPC_MoveChild0,
313 : /* 450*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
314 : /* 453*/ OPC_MoveChild0,
315 : /* 454*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
316 : /* 457*/ OPC_RecordMemRef,
317 : /* 458*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
318 : /* 459*/ OPC_CheckFoldableChainNode,
319 : /* 460*/ OPC_MoveChild1,
320 : /* 461*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
321 : /* 464*/ OPC_RecordChild0, // #1 = $addr
322 : /* 465*/ OPC_MoveChild1,
323 : /* 466*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
324 : /* 469*/ OPC_RecordChild0, // #2 = $off
325 : /* 470*/ OPC_MoveChild0,
326 : /* 471*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
327 : /* 474*/ OPC_MoveParent,
328 : /* 475*/ OPC_MoveParent,
329 : /* 476*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
330 : /* 478*/ OPC_CheckType, MVT::i32,
331 : /* 480*/ OPC_MoveParent,
332 : /* 481*/ OPC_MoveChild2,
333 : /* 482*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
334 : /* 485*/ OPC_RecordChild0, // #3 = $val
335 : /* 486*/ OPC_MoveParent,
336 : /* 487*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
337 : /* 489*/ OPC_MoveParent,
338 : /* 490*/ OPC_MoveParent,
339 : /* 491*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
340 : /* 493*/ OPC_EmitMergeInputChains1_0,
341 : /* 494*/ OPC_EmitInteger, MVT::i32, 0,
342 : /* 497*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
343 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
344 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 28
345 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
346 : /* 507*/ /*Scope*/ 61, /*->569*/
347 : /* 508*/ OPC_CheckAndImm, 127|128,1/*255*/,
348 : /* 511*/ OPC_MoveChild0,
349 : /* 512*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
350 : /* 515*/ OPC_MoveChild0,
351 : /* 516*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
352 : /* 519*/ OPC_RecordMemRef,
353 : /* 520*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
354 : /* 521*/ OPC_CheckFoldableChainNode,
355 : /* 522*/ OPC_MoveChild1,
356 : /* 523*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
357 : /* 526*/ OPC_RecordChild0, // #1 = $addr
358 : /* 527*/ OPC_MoveChild1,
359 : /* 528*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
360 : /* 531*/ OPC_RecordChild0, // #2 = $off
361 : /* 532*/ OPC_MoveChild0,
362 : /* 533*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
363 : /* 536*/ OPC_MoveParent,
364 : /* 537*/ OPC_MoveParent,
365 : /* 538*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
366 : /* 540*/ OPC_CheckType, MVT::i32,
367 : /* 542*/ OPC_MoveParent,
368 : /* 543*/ OPC_MoveChild2,
369 : /* 544*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
370 : /* 547*/ OPC_RecordChild0, // #3 = $val
371 : /* 548*/ OPC_MoveParent,
372 : /* 549*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
373 : /* 551*/ OPC_MoveParent,
374 : /* 552*/ OPC_MoveParent,
375 : /* 553*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
376 : /* 555*/ OPC_EmitMergeInputChains1_0,
377 : /* 556*/ OPC_EmitInteger, MVT::i32, 0,
378 : /* 559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
379 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
380 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 28
381 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
382 : /* 569*/ /*Scope*/ 62, /*->632*/
383 : /* 570*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
384 : /* 574*/ OPC_MoveChild0,
385 : /* 575*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
386 : /* 578*/ OPC_MoveChild0,
387 : /* 579*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
388 : /* 582*/ OPC_RecordMemRef,
389 : /* 583*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
390 : /* 584*/ OPC_CheckFoldableChainNode,
391 : /* 585*/ OPC_MoveChild1,
392 : /* 586*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
393 : /* 589*/ OPC_RecordChild0, // #1 = $addr
394 : /* 590*/ OPC_MoveChild1,
395 : /* 591*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
396 : /* 594*/ OPC_RecordChild0, // #2 = $off
397 : /* 595*/ OPC_MoveChild0,
398 : /* 596*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
399 : /* 599*/ OPC_MoveParent,
400 : /* 600*/ OPC_MoveParent,
401 : /* 601*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
402 : /* 603*/ OPC_CheckType, MVT::i32,
403 : /* 605*/ OPC_MoveParent,
404 : /* 606*/ OPC_MoveChild2,
405 : /* 607*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
406 : /* 610*/ OPC_RecordChild0, // #3 = $val
407 : /* 611*/ OPC_MoveParent,
408 : /* 612*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
409 : /* 614*/ OPC_MoveParent,
410 : /* 615*/ OPC_MoveParent,
411 : /* 616*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
412 : /* 618*/ OPC_EmitMergeInputChains1_0,
413 : /* 619*/ OPC_EmitInteger, MVT::i32, 0,
414 : /* 622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
415 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
416 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 28
417 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
418 : /* 632*/ /*Scope*/ 61, /*->694*/
419 : /* 633*/ OPC_CheckAndImm, 127|128,1/*255*/,
420 : /* 636*/ OPC_MoveChild0,
421 : /* 637*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
422 : /* 640*/ OPC_MoveChild0,
423 : /* 641*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
424 : /* 644*/ OPC_RecordMemRef,
425 : /* 645*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
426 : /* 646*/ OPC_CheckFoldableChainNode,
427 : /* 647*/ OPC_MoveChild1,
428 : /* 648*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
429 : /* 651*/ OPC_RecordChild0, // #1 = $addr
430 : /* 652*/ OPC_MoveChild1,
431 : /* 653*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
432 : /* 656*/ OPC_RecordChild0, // #2 = $off
433 : /* 657*/ OPC_MoveChild0,
434 : /* 658*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
435 : /* 661*/ OPC_MoveParent,
436 : /* 662*/ OPC_MoveParent,
437 : /* 663*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
438 : /* 665*/ OPC_CheckType, MVT::i32,
439 : /* 667*/ OPC_MoveParent,
440 : /* 668*/ OPC_MoveChild2,
441 : /* 669*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
442 : /* 672*/ OPC_RecordChild0, // #3 = $val
443 : /* 673*/ OPC_MoveParent,
444 : /* 674*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
445 : /* 676*/ OPC_MoveParent,
446 : /* 677*/ OPC_MoveParent,
447 : /* 678*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
448 : /* 680*/ OPC_EmitMergeInputChains1_0,
449 : /* 681*/ OPC_EmitInteger, MVT::i32, 0,
450 : /* 684*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
451 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
452 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 28
453 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
454 : /* 694*/ /*Scope*/ 62, /*->757*/
455 : /* 695*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
456 : /* 699*/ OPC_MoveChild0,
457 : /* 700*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
458 : /* 703*/ OPC_MoveChild0,
459 : /* 704*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
460 : /* 707*/ OPC_RecordMemRef,
461 : /* 708*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
462 : /* 709*/ OPC_CheckFoldableChainNode,
463 : /* 710*/ OPC_MoveChild1,
464 : /* 711*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
465 : /* 714*/ OPC_RecordChild0, // #1 = $addr
466 : /* 715*/ OPC_MoveChild1,
467 : /* 716*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
468 : /* 719*/ OPC_RecordChild0, // #2 = $off
469 : /* 720*/ OPC_MoveChild0,
470 : /* 721*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
471 : /* 724*/ OPC_MoveParent,
472 : /* 725*/ OPC_MoveParent,
473 : /* 726*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
474 : /* 728*/ OPC_CheckType, MVT::i32,
475 : /* 730*/ OPC_MoveParent,
476 : /* 731*/ OPC_MoveChild2,
477 : /* 732*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
478 : /* 735*/ OPC_RecordChild0, // #3 = $val
479 : /* 736*/ OPC_MoveParent,
480 : /* 737*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
481 : /* 739*/ OPC_MoveParent,
482 : /* 740*/ OPC_MoveParent,
483 : /* 741*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
484 : /* 743*/ OPC_EmitMergeInputChains1_0,
485 : /* 744*/ OPC_EmitInteger, MVT::i32, 0,
486 : /* 747*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
487 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
488 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 28
489 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
490 : /* 757*/ /*Scope*/ 61, /*->819*/
491 : /* 758*/ OPC_CheckAndImm, 127|128,1/*255*/,
492 : /* 761*/ OPC_MoveChild0,
493 : /* 762*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
494 : /* 765*/ OPC_MoveChild0,
495 : /* 766*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
496 : /* 769*/ OPC_RecordMemRef,
497 : /* 770*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
498 : /* 771*/ OPC_CheckFoldableChainNode,
499 : /* 772*/ OPC_MoveChild1,
500 : /* 773*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
501 : /* 776*/ OPC_MoveChild0,
502 : /* 777*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
503 : /* 780*/ OPC_RecordChild0, // #1 = $off
504 : /* 781*/ OPC_MoveChild0,
505 : /* 782*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
506 : /* 785*/ OPC_MoveParent,
507 : /* 786*/ OPC_MoveParent,
508 : /* 787*/ OPC_RecordChild1, // #2 = $addr
509 : /* 788*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
510 : /* 790*/ OPC_CheckType, MVT::i32,
511 : /* 792*/ OPC_MoveParent,
512 : /* 793*/ OPC_MoveChild2,
513 : /* 794*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
514 : /* 797*/ OPC_RecordChild0, // #3 = $val
515 : /* 798*/ OPC_MoveParent,
516 : /* 799*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
517 : /* 801*/ OPC_MoveParent,
518 : /* 802*/ OPC_MoveParent,
519 : /* 803*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
520 : /* 805*/ OPC_EmitMergeInputChains1_0,
521 : /* 806*/ OPC_EmitInteger, MVT::i32, 0,
522 : /* 809*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
523 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
524 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 28
525 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
526 : /* 819*/ /*Scope*/ 62, /*->882*/
527 : /* 820*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
528 : /* 824*/ OPC_MoveChild0,
529 : /* 825*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
530 : /* 828*/ OPC_MoveChild0,
531 : /* 829*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
532 : /* 832*/ OPC_RecordMemRef,
533 : /* 833*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
534 : /* 834*/ OPC_CheckFoldableChainNode,
535 : /* 835*/ OPC_MoveChild1,
536 : /* 836*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
537 : /* 839*/ OPC_MoveChild0,
538 : /* 840*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
539 : /* 843*/ OPC_RecordChild0, // #1 = $off
540 : /* 844*/ OPC_MoveChild0,
541 : /* 845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
542 : /* 848*/ OPC_MoveParent,
543 : /* 849*/ OPC_MoveParent,
544 : /* 850*/ OPC_RecordChild1, // #2 = $addr
545 : /* 851*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
546 : /* 853*/ OPC_CheckType, MVT::i32,
547 : /* 855*/ OPC_MoveParent,
548 : /* 856*/ OPC_MoveChild2,
549 : /* 857*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
550 : /* 860*/ OPC_RecordChild0, // #3 = $val
551 : /* 861*/ OPC_MoveParent,
552 : /* 862*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
553 : /* 864*/ OPC_MoveParent,
554 : /* 865*/ OPC_MoveParent,
555 : /* 866*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
556 : /* 868*/ OPC_EmitMergeInputChains1_0,
557 : /* 869*/ OPC_EmitInteger, MVT::i32, 0,
558 : /* 872*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
559 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
560 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 28
561 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
562 : /* 882*/ /*Scope*/ 61, /*->944*/
563 : /* 883*/ OPC_CheckAndImm, 127|128,1/*255*/,
564 : /* 886*/ OPC_MoveChild0,
565 : /* 887*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
566 : /* 890*/ OPC_MoveChild0,
567 : /* 891*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
568 : /* 894*/ OPC_RecordMemRef,
569 : /* 895*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
570 : /* 896*/ OPC_CheckFoldableChainNode,
571 : /* 897*/ OPC_MoveChild1,
572 : /* 898*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
573 : /* 901*/ OPC_MoveChild0,
574 : /* 902*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
575 : /* 905*/ OPC_RecordChild0, // #1 = $off
576 : /* 906*/ OPC_MoveChild0,
577 : /* 907*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
578 : /* 910*/ OPC_MoveParent,
579 : /* 911*/ OPC_MoveParent,
580 : /* 912*/ OPC_RecordChild1, // #2 = $addr
581 : /* 913*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
582 : /* 915*/ OPC_CheckType, MVT::i32,
583 : /* 917*/ OPC_MoveParent,
584 : /* 918*/ OPC_MoveChild2,
585 : /* 919*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
586 : /* 922*/ OPC_RecordChild0, // #3 = $val
587 : /* 923*/ OPC_MoveParent,
588 : /* 924*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
589 : /* 926*/ OPC_MoveParent,
590 : /* 927*/ OPC_MoveParent,
591 : /* 928*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
592 : /* 930*/ OPC_EmitMergeInputChains1_0,
593 : /* 931*/ OPC_EmitInteger, MVT::i32, 0,
594 : /* 934*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
595 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
596 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 28
597 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
598 : /* 944*/ /*Scope*/ 62, /*->1007*/
599 : /* 945*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
600 : /* 949*/ OPC_MoveChild0,
601 : /* 950*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
602 : /* 953*/ OPC_MoveChild0,
603 : /* 954*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
604 : /* 957*/ OPC_RecordMemRef,
605 : /* 958*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
606 : /* 959*/ OPC_CheckFoldableChainNode,
607 : /* 960*/ OPC_MoveChild1,
608 : /* 961*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
609 : /* 964*/ OPC_MoveChild0,
610 : /* 965*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
611 : /* 968*/ OPC_RecordChild0, // #1 = $off
612 : /* 969*/ OPC_MoveChild0,
613 : /* 970*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
614 : /* 973*/ OPC_MoveParent,
615 : /* 974*/ OPC_MoveParent,
616 : /* 975*/ OPC_RecordChild1, // #2 = $addr
617 : /* 976*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
618 : /* 978*/ OPC_CheckType, MVT::i32,
619 : /* 980*/ OPC_MoveParent,
620 : /* 981*/ OPC_MoveChild2,
621 : /* 982*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
622 : /* 985*/ OPC_RecordChild0, // #3 = $val
623 : /* 986*/ OPC_MoveParent,
624 : /* 987*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
625 : /* 989*/ OPC_MoveParent,
626 : /* 990*/ OPC_MoveParent,
627 : /* 991*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
628 : /* 993*/ OPC_EmitMergeInputChains1_0,
629 : /* 994*/ OPC_EmitInteger, MVT::i32, 0,
630 : /* 997*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
631 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
632 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 28
633 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
634 : /* 1007*/ /*Scope*/ 61, /*->1069*/
635 : /* 1008*/ OPC_CheckAndImm, 127|128,1/*255*/,
636 : /* 1011*/ OPC_MoveChild0,
637 : /* 1012*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
638 : /* 1015*/ OPC_MoveChild0,
639 : /* 1016*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
640 : /* 1019*/ OPC_RecordMemRef,
641 : /* 1020*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
642 : /* 1021*/ OPC_CheckFoldableChainNode,
643 : /* 1022*/ OPC_MoveChild1,
644 : /* 1023*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
645 : /* 1026*/ OPC_MoveChild0,
646 : /* 1027*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
647 : /* 1030*/ OPC_RecordChild0, // #1 = $off
648 : /* 1031*/ OPC_MoveChild0,
649 : /* 1032*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
650 : /* 1035*/ OPC_MoveParent,
651 : /* 1036*/ OPC_MoveParent,
652 : /* 1037*/ OPC_RecordChild1, // #2 = $addr
653 : /* 1038*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
654 : /* 1040*/ OPC_CheckType, MVT::i32,
655 : /* 1042*/ OPC_MoveParent,
656 : /* 1043*/ OPC_MoveChild2,
657 : /* 1044*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
658 : /* 1047*/ OPC_RecordChild0, // #3 = $val
659 : /* 1048*/ OPC_MoveParent,
660 : /* 1049*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
661 : /* 1051*/ OPC_MoveParent,
662 : /* 1052*/ OPC_MoveParent,
663 : /* 1053*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
664 : /* 1055*/ OPC_EmitMergeInputChains1_0,
665 : /* 1056*/ OPC_EmitInteger, MVT::i32, 0,
666 : /* 1059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
667 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
668 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 28
669 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
670 : /* 1069*/ /*Scope*/ 62, /*->1132*/
671 : /* 1070*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
672 : /* 1074*/ OPC_MoveChild0,
673 : /* 1075*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
674 : /* 1078*/ OPC_MoveChild0,
675 : /* 1079*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
676 : /* 1082*/ OPC_RecordMemRef,
677 : /* 1083*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
678 : /* 1084*/ OPC_CheckFoldableChainNode,
679 : /* 1085*/ OPC_MoveChild1,
680 : /* 1086*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
681 : /* 1089*/ OPC_MoveChild0,
682 : /* 1090*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
683 : /* 1093*/ OPC_RecordChild0, // #1 = $off
684 : /* 1094*/ OPC_MoveChild0,
685 : /* 1095*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
686 : /* 1098*/ OPC_MoveParent,
687 : /* 1099*/ OPC_MoveParent,
688 : /* 1100*/ OPC_RecordChild1, // #2 = $addr
689 : /* 1101*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
690 : /* 1103*/ OPC_CheckType, MVT::i32,
691 : /* 1105*/ OPC_MoveParent,
692 : /* 1106*/ OPC_MoveChild2,
693 : /* 1107*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
694 : /* 1110*/ OPC_RecordChild0, // #3 = $val
695 : /* 1111*/ OPC_MoveParent,
696 : /* 1112*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
697 : /* 1114*/ OPC_MoveParent,
698 : /* 1115*/ OPC_MoveParent,
699 : /* 1116*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
700 : /* 1118*/ OPC_EmitMergeInputChains1_0,
701 : /* 1119*/ OPC_EmitInteger, MVT::i32, 0,
702 : /* 1122*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
703 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
704 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 28
705 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
706 : /* 1132*/ /*Scope*/ 61, /*->1194*/
707 : /* 1133*/ OPC_CheckAndImm, 127|128,1/*255*/,
708 : /* 1136*/ OPC_MoveChild0,
709 : /* 1137*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
710 : /* 1140*/ OPC_MoveChild0,
711 : /* 1141*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
712 : /* 1144*/ OPC_RecordMemRef,
713 : /* 1145*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
714 : /* 1146*/ OPC_CheckFoldableChainNode,
715 : /* 1147*/ OPC_MoveChild1,
716 : /* 1148*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
717 : /* 1151*/ OPC_MoveChild0,
718 : /* 1152*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
719 : /* 1155*/ OPC_RecordChild0, // #1 = $off
720 : /* 1156*/ OPC_MoveChild0,
721 : /* 1157*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
722 : /* 1160*/ OPC_MoveParent,
723 : /* 1161*/ OPC_MoveParent,
724 : /* 1162*/ OPC_RecordChild1, // #2 = $addr
725 : /* 1163*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
726 : /* 1165*/ OPC_CheckType, MVT::i32,
727 : /* 1167*/ OPC_MoveParent,
728 : /* 1168*/ OPC_MoveChild2,
729 : /* 1169*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
730 : /* 1172*/ OPC_RecordChild0, // #3 = $val
731 : /* 1173*/ OPC_MoveParent,
732 : /* 1174*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
733 : /* 1176*/ OPC_MoveParent,
734 : /* 1177*/ OPC_MoveParent,
735 : /* 1178*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
736 : /* 1180*/ OPC_EmitMergeInputChains1_0,
737 : /* 1181*/ OPC_EmitInteger, MVT::i32, 0,
738 : /* 1184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
739 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
740 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 28
741 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
742 : /* 1194*/ /*Scope*/ 62, /*->1257*/
743 : /* 1195*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
744 : /* 1199*/ OPC_MoveChild0,
745 : /* 1200*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
746 : /* 1203*/ OPC_MoveChild0,
747 : /* 1204*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
748 : /* 1207*/ OPC_RecordMemRef,
749 : /* 1208*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
750 : /* 1209*/ OPC_CheckFoldableChainNode,
751 : /* 1210*/ OPC_MoveChild1,
752 : /* 1211*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
753 : /* 1214*/ OPC_MoveChild0,
754 : /* 1215*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
755 : /* 1218*/ OPC_RecordChild0, // #1 = $off
756 : /* 1219*/ OPC_MoveChild0,
757 : /* 1220*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
758 : /* 1223*/ OPC_MoveParent,
759 : /* 1224*/ OPC_MoveParent,
760 : /* 1225*/ OPC_RecordChild1, // #2 = $addr
761 : /* 1226*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
762 : /* 1228*/ OPC_CheckType, MVT::i32,
763 : /* 1230*/ OPC_MoveParent,
764 : /* 1231*/ OPC_MoveChild2,
765 : /* 1232*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
766 : /* 1235*/ OPC_RecordChild0, // #3 = $val
767 : /* 1236*/ OPC_MoveParent,
768 : /* 1237*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
769 : /* 1239*/ OPC_MoveParent,
770 : /* 1240*/ OPC_MoveParent,
771 : /* 1241*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
772 : /* 1243*/ OPC_EmitMergeInputChains1_0,
773 : /* 1244*/ OPC_EmitInteger, MVT::i32, 0,
774 : /* 1247*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
775 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
776 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 28
777 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
778 : /* 1257*/ /*Scope*/ 61, /*->1319*/
779 : /* 1258*/ OPC_CheckAndImm, 127|128,1/*255*/,
780 : /* 1261*/ OPC_MoveChild0,
781 : /* 1262*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
782 : /* 1265*/ OPC_MoveChild0,
783 : /* 1266*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
784 : /* 1269*/ OPC_RecordMemRef,
785 : /* 1270*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
786 : /* 1271*/ OPC_CheckFoldableChainNode,
787 : /* 1272*/ OPC_MoveChild1,
788 : /* 1273*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
789 : /* 1276*/ OPC_MoveChild0,
790 : /* 1277*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
791 : /* 1280*/ OPC_RecordChild0, // #1 = $off
792 : /* 1281*/ OPC_MoveChild0,
793 : /* 1282*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
794 : /* 1285*/ OPC_MoveParent,
795 : /* 1286*/ OPC_MoveParent,
796 : /* 1287*/ OPC_RecordChild1, // #2 = $addr
797 : /* 1288*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
798 : /* 1290*/ OPC_CheckType, MVT::i32,
799 : /* 1292*/ OPC_MoveParent,
800 : /* 1293*/ OPC_MoveChild2,
801 : /* 1294*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
802 : /* 1297*/ OPC_RecordChild0, // #3 = $val
803 : /* 1298*/ OPC_MoveParent,
804 : /* 1299*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
805 : /* 1301*/ OPC_MoveParent,
806 : /* 1302*/ OPC_MoveParent,
807 : /* 1303*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
808 : /* 1305*/ OPC_EmitMergeInputChains1_0,
809 : /* 1306*/ OPC_EmitInteger, MVT::i32, 0,
810 : /* 1309*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
811 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
812 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 28
813 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
814 : /* 1319*/ /*Scope*/ 62, /*->1382*/
815 : /* 1320*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
816 : /* 1324*/ OPC_MoveChild0,
817 : /* 1325*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
818 : /* 1328*/ OPC_MoveChild0,
819 : /* 1329*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
820 : /* 1332*/ OPC_RecordMemRef,
821 : /* 1333*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
822 : /* 1334*/ OPC_CheckFoldableChainNode,
823 : /* 1335*/ OPC_MoveChild1,
824 : /* 1336*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
825 : /* 1339*/ OPC_MoveChild0,
826 : /* 1340*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
827 : /* 1343*/ OPC_RecordChild0, // #1 = $off
828 : /* 1344*/ OPC_MoveChild0,
829 : /* 1345*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
830 : /* 1348*/ OPC_MoveParent,
831 : /* 1349*/ OPC_MoveParent,
832 : /* 1350*/ OPC_RecordChild1, // #2 = $addr
833 : /* 1351*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
834 : /* 1353*/ OPC_CheckType, MVT::i32,
835 : /* 1355*/ OPC_MoveParent,
836 : /* 1356*/ OPC_MoveChild2,
837 : /* 1357*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
838 : /* 1360*/ OPC_RecordChild0, // #3 = $val
839 : /* 1361*/ OPC_MoveParent,
840 : /* 1362*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
841 : /* 1364*/ OPC_MoveParent,
842 : /* 1365*/ OPC_MoveParent,
843 : /* 1366*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
844 : /* 1368*/ OPC_EmitMergeInputChains1_0,
845 : /* 1369*/ OPC_EmitInteger, MVT::i32, 0,
846 : /* 1372*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
847 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
848 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 28
849 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
850 : /* 1382*/ /*Scope*/ 61, /*->1444*/
851 : /* 1383*/ OPC_CheckAndImm, 127|128,1/*255*/,
852 : /* 1386*/ OPC_MoveChild0,
853 : /* 1387*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
854 : /* 1390*/ OPC_MoveChild0,
855 : /* 1391*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
856 : /* 1394*/ OPC_RecordMemRef,
857 : /* 1395*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
858 : /* 1396*/ OPC_CheckFoldableChainNode,
859 : /* 1397*/ OPC_MoveChild1,
860 : /* 1398*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
861 : /* 1401*/ OPC_MoveChild0,
862 : /* 1402*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
863 : /* 1405*/ OPC_RecordChild0, // #1 = $off
864 : /* 1406*/ OPC_MoveChild0,
865 : /* 1407*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
866 : /* 1410*/ OPC_MoveParent,
867 : /* 1411*/ OPC_MoveParent,
868 : /* 1412*/ OPC_RecordChild1, // #2 = $addr
869 : /* 1413*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
870 : /* 1415*/ OPC_CheckType, MVT::i32,
871 : /* 1417*/ OPC_MoveParent,
872 : /* 1418*/ OPC_MoveChild2,
873 : /* 1419*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
874 : /* 1422*/ OPC_RecordChild0, // #3 = $val
875 : /* 1423*/ OPC_MoveParent,
876 : /* 1424*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
877 : /* 1426*/ OPC_MoveParent,
878 : /* 1427*/ OPC_MoveParent,
879 : /* 1428*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
880 : /* 1430*/ OPC_EmitMergeInputChains1_0,
881 : /* 1431*/ OPC_EmitInteger, MVT::i32, 0,
882 : /* 1434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
883 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
884 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 28
885 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
886 : /* 1444*/ /*Scope*/ 62, /*->1507*/
887 : /* 1445*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
888 : /* 1449*/ OPC_MoveChild0,
889 : /* 1450*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
890 : /* 1453*/ OPC_MoveChild0,
891 : /* 1454*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
892 : /* 1457*/ OPC_RecordMemRef,
893 : /* 1458*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
894 : /* 1459*/ OPC_CheckFoldableChainNode,
895 : /* 1460*/ OPC_MoveChild1,
896 : /* 1461*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
897 : /* 1464*/ OPC_MoveChild0,
898 : /* 1465*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
899 : /* 1468*/ OPC_RecordChild0, // #1 = $off
900 : /* 1469*/ OPC_MoveChild0,
901 : /* 1470*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
902 : /* 1473*/ OPC_MoveParent,
903 : /* 1474*/ OPC_MoveParent,
904 : /* 1475*/ OPC_RecordChild1, // #2 = $addr
905 : /* 1476*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
906 : /* 1478*/ OPC_CheckType, MVT::i32,
907 : /* 1480*/ OPC_MoveParent,
908 : /* 1481*/ OPC_MoveChild2,
909 : /* 1482*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
910 : /* 1485*/ OPC_RecordChild0, // #3 = $val
911 : /* 1486*/ OPC_MoveParent,
912 : /* 1487*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
913 : /* 1489*/ OPC_MoveParent,
914 : /* 1490*/ OPC_MoveParent,
915 : /* 1491*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
916 : /* 1493*/ OPC_EmitMergeInputChains1_0,
917 : /* 1494*/ OPC_EmitInteger, MVT::i32, 0,
918 : /* 1497*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
919 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
920 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 28
921 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
922 : /* 1507*/ /*Scope*/ 59, /*->1567*/
923 : /* 1508*/ OPC_CheckAndImm, 127|128,1/*255*/,
924 : /* 1511*/ OPC_MoveChild0,
925 : /* 1512*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
926 : /* 1515*/ OPC_MoveChild0,
927 : /* 1516*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
928 : /* 1519*/ OPC_RecordMemRef,
929 : /* 1520*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
930 : /* 1521*/ OPC_CheckFoldableChainNode,
931 : /* 1522*/ OPC_MoveChild1,
932 : /* 1523*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
933 : /* 1526*/ OPC_RecordChild0, // #1 = $addr
934 : /* 1527*/ OPC_MoveChild1,
935 : /* 1528*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
936 : /* 1531*/ OPC_RecordChild0, // #2 = $off
937 : /* 1532*/ OPC_MoveChild0,
938 : /* 1533*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
939 : /* 1536*/ OPC_MoveParent,
940 : /* 1537*/ OPC_MoveParent,
941 : /* 1538*/ OPC_CheckType, MVT::i32,
942 : /* 1540*/ OPC_MoveParent,
943 : /* 1541*/ OPC_MoveChild2,
944 : /* 1542*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
945 : /* 1545*/ OPC_RecordChild0, // #3 = $val
946 : /* 1546*/ OPC_MoveParent,
947 : /* 1547*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
948 : /* 1549*/ OPC_MoveParent,
949 : /* 1550*/ OPC_MoveParent,
950 : /* 1551*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
951 : /* 1553*/ OPC_EmitMergeInputChains1_0,
952 : /* 1554*/ OPC_EmitInteger, MVT::i32, 0,
953 : /* 1557*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
954 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
955 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 27
956 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
957 : /* 1567*/ /*Scope*/ 60, /*->1628*/
958 : /* 1568*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
959 : /* 1572*/ OPC_MoveChild0,
960 : /* 1573*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
961 : /* 1576*/ OPC_MoveChild0,
962 : /* 1577*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
963 : /* 1580*/ OPC_RecordMemRef,
964 : /* 1581*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
965 : /* 1582*/ OPC_CheckFoldableChainNode,
966 : /* 1583*/ OPC_MoveChild1,
967 : /* 1584*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
968 : /* 1587*/ OPC_RecordChild0, // #1 = $addr
969 : /* 1588*/ OPC_MoveChild1,
970 : /* 1589*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
971 : /* 1592*/ OPC_RecordChild0, // #2 = $off
972 : /* 1593*/ OPC_MoveChild0,
973 : /* 1594*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
974 : /* 1597*/ OPC_MoveParent,
975 : /* 1598*/ OPC_MoveParent,
976 : /* 1599*/ OPC_CheckType, MVT::i32,
977 : /* 1601*/ OPC_MoveParent,
978 : /* 1602*/ OPC_MoveChild2,
979 : /* 1603*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
980 : /* 1606*/ OPC_RecordChild0, // #3 = $val
981 : /* 1607*/ OPC_MoveParent,
982 : /* 1608*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
983 : /* 1610*/ OPC_MoveParent,
984 : /* 1611*/ OPC_MoveParent,
985 : /* 1612*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
986 : /* 1614*/ OPC_EmitMergeInputChains1_0,
987 : /* 1615*/ OPC_EmitInteger, MVT::i32, 0,
988 : /* 1618*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
989 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
990 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 27
991 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
992 : /* 1628*/ /*Scope*/ 59, /*->1688*/
993 : /* 1629*/ OPC_CheckAndImm, 127|128,1/*255*/,
994 : /* 1632*/ OPC_MoveChild0,
995 : /* 1633*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
996 : /* 1636*/ OPC_MoveChild0,
997 : /* 1637*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
998 : /* 1640*/ OPC_RecordMemRef,
999 : /* 1641*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1000 : /* 1642*/ OPC_CheckFoldableChainNode,
1001 : /* 1643*/ OPC_MoveChild1,
1002 : /* 1644*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1003 : /* 1647*/ OPC_RecordChild0, // #1 = $addr
1004 : /* 1648*/ OPC_MoveChild1,
1005 : /* 1649*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1006 : /* 1652*/ OPC_RecordChild0, // #2 = $off
1007 : /* 1653*/ OPC_MoveChild0,
1008 : /* 1654*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1009 : /* 1657*/ OPC_MoveParent,
1010 : /* 1658*/ OPC_MoveParent,
1011 : /* 1659*/ OPC_CheckType, MVT::i32,
1012 : /* 1661*/ OPC_MoveParent,
1013 : /* 1662*/ OPC_MoveChild2,
1014 : /* 1663*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1015 : /* 1666*/ OPC_RecordChild0, // #3 = $val
1016 : /* 1667*/ OPC_MoveParent,
1017 : /* 1668*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
1018 : /* 1670*/ OPC_MoveParent,
1019 : /* 1671*/ OPC_MoveParent,
1020 : /* 1672*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1021 : /* 1674*/ OPC_EmitMergeInputChains1_0,
1022 : /* 1675*/ OPC_EmitInteger, MVT::i32, 0,
1023 : /* 1678*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
1024 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1025 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 27
1026 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1027 : /* 1688*/ /*Scope*/ 60, /*->1749*/
1028 : /* 1689*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1029 : /* 1693*/ OPC_MoveChild0,
1030 : /* 1694*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1031 : /* 1697*/ OPC_MoveChild0,
1032 : /* 1698*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1033 : /* 1701*/ OPC_RecordMemRef,
1034 : /* 1702*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1035 : /* 1703*/ OPC_CheckFoldableChainNode,
1036 : /* 1704*/ OPC_MoveChild1,
1037 : /* 1705*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1038 : /* 1708*/ OPC_RecordChild0, // #1 = $addr
1039 : /* 1709*/ OPC_MoveChild1,
1040 : /* 1710*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1041 : /* 1713*/ OPC_RecordChild0, // #2 = $off
1042 : /* 1714*/ OPC_MoveChild0,
1043 : /* 1715*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1044 : /* 1718*/ OPC_MoveParent,
1045 : /* 1719*/ OPC_MoveParent,
1046 : /* 1720*/ OPC_CheckType, MVT::i32,
1047 : /* 1722*/ OPC_MoveParent,
1048 : /* 1723*/ OPC_MoveChild2,
1049 : /* 1724*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1050 : /* 1727*/ OPC_RecordChild0, // #3 = $val
1051 : /* 1728*/ OPC_MoveParent,
1052 : /* 1729*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
1053 : /* 1731*/ OPC_MoveParent,
1054 : /* 1732*/ OPC_MoveParent,
1055 : /* 1733*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1056 : /* 1735*/ OPC_EmitMergeInputChains1_0,
1057 : /* 1736*/ OPC_EmitInteger, MVT::i32, 0,
1058 : /* 1739*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
1059 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1060 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 27
1061 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1062 : /* 1749*/ /*Scope*/ 59, /*->1809*/
1063 : /* 1750*/ OPC_CheckAndImm, 127|128,1/*255*/,
1064 : /* 1753*/ OPC_MoveChild0,
1065 : /* 1754*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1066 : /* 1757*/ OPC_MoveChild0,
1067 : /* 1758*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1068 : /* 1761*/ OPC_RecordMemRef,
1069 : /* 1762*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1070 : /* 1763*/ OPC_CheckFoldableChainNode,
1071 : /* 1764*/ OPC_MoveChild1,
1072 : /* 1765*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1073 : /* 1768*/ OPC_RecordChild0, // #1 = $addr
1074 : /* 1769*/ OPC_MoveChild1,
1075 : /* 1770*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1076 : /* 1773*/ OPC_RecordChild0, // #2 = $off
1077 : /* 1774*/ OPC_MoveChild0,
1078 : /* 1775*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1079 : /* 1778*/ OPC_MoveParent,
1080 : /* 1779*/ OPC_MoveParent,
1081 : /* 1780*/ OPC_CheckType, MVT::i32,
1082 : /* 1782*/ OPC_MoveParent,
1083 : /* 1783*/ OPC_MoveChild2,
1084 : /* 1784*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1085 : /* 1787*/ OPC_RecordChild0, // #3 = $val
1086 : /* 1788*/ OPC_MoveParent,
1087 : /* 1789*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
1088 : /* 1791*/ OPC_MoveParent,
1089 : /* 1792*/ OPC_MoveParent,
1090 : /* 1793*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1091 : /* 1795*/ OPC_EmitMergeInputChains1_0,
1092 : /* 1796*/ OPC_EmitInteger, MVT::i32, 0,
1093 : /* 1799*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
1094 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1095 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 27
1096 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1097 : /* 1809*/ /*Scope*/ 60, /*->1870*/
1098 : /* 1810*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1099 : /* 1814*/ OPC_MoveChild0,
1100 : /* 1815*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1101 : /* 1818*/ OPC_MoveChild0,
1102 : /* 1819*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1103 : /* 1822*/ OPC_RecordMemRef,
1104 : /* 1823*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1105 : /* 1824*/ OPC_CheckFoldableChainNode,
1106 : /* 1825*/ OPC_MoveChild1,
1107 : /* 1826*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1108 : /* 1829*/ OPC_RecordChild0, // #1 = $addr
1109 : /* 1830*/ OPC_MoveChild1,
1110 : /* 1831*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1111 : /* 1834*/ OPC_RecordChild0, // #2 = $off
1112 : /* 1835*/ OPC_MoveChild0,
1113 : /* 1836*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1114 : /* 1839*/ OPC_MoveParent,
1115 : /* 1840*/ OPC_MoveParent,
1116 : /* 1841*/ OPC_CheckType, MVT::i32,
1117 : /* 1843*/ OPC_MoveParent,
1118 : /* 1844*/ OPC_MoveChild2,
1119 : /* 1845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1120 : /* 1848*/ OPC_RecordChild0, // #3 = $val
1121 : /* 1849*/ OPC_MoveParent,
1122 : /* 1850*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
1123 : /* 1852*/ OPC_MoveParent,
1124 : /* 1853*/ OPC_MoveParent,
1125 : /* 1854*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1126 : /* 1856*/ OPC_EmitMergeInputChains1_0,
1127 : /* 1857*/ OPC_EmitInteger, MVT::i32, 0,
1128 : /* 1860*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
1129 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1130 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 27
1131 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1132 : /* 1870*/ /*Scope*/ 59, /*->1930*/
1133 : /* 1871*/ OPC_CheckAndImm, 127|128,1/*255*/,
1134 : /* 1874*/ OPC_MoveChild0,
1135 : /* 1875*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1136 : /* 1878*/ OPC_MoveChild0,
1137 : /* 1879*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1138 : /* 1882*/ OPC_RecordMemRef,
1139 : /* 1883*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1140 : /* 1884*/ OPC_CheckFoldableChainNode,
1141 : /* 1885*/ OPC_MoveChild1,
1142 : /* 1886*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1143 : /* 1889*/ OPC_RecordChild0, // #1 = $addr
1144 : /* 1890*/ OPC_MoveChild1,
1145 : /* 1891*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1146 : /* 1894*/ OPC_RecordChild0, // #2 = $off
1147 : /* 1895*/ OPC_MoveChild0,
1148 : /* 1896*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1149 : /* 1899*/ OPC_MoveParent,
1150 : /* 1900*/ OPC_MoveParent,
1151 : /* 1901*/ OPC_CheckType, MVT::i32,
1152 : /* 1903*/ OPC_MoveParent,
1153 : /* 1904*/ OPC_MoveChild2,
1154 : /* 1905*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1155 : /* 1908*/ OPC_RecordChild0, // #3 = $val
1156 : /* 1909*/ OPC_MoveParent,
1157 : /* 1910*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
1158 : /* 1912*/ OPC_MoveParent,
1159 : /* 1913*/ OPC_MoveParent,
1160 : /* 1914*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1161 : /* 1916*/ OPC_EmitMergeInputChains1_0,
1162 : /* 1917*/ OPC_EmitInteger, MVT::i32, 0,
1163 : /* 1920*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1164 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1165 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 27
1166 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1167 : /* 1930*/ /*Scope*/ 60, /*->1991*/
1168 : /* 1931*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1169 : /* 1935*/ OPC_MoveChild0,
1170 : /* 1936*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1171 : /* 1939*/ OPC_MoveChild0,
1172 : /* 1940*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1173 : /* 1943*/ OPC_RecordMemRef,
1174 : /* 1944*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1175 : /* 1945*/ OPC_CheckFoldableChainNode,
1176 : /* 1946*/ OPC_MoveChild1,
1177 : /* 1947*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1178 : /* 1950*/ OPC_RecordChild0, // #1 = $addr
1179 : /* 1951*/ OPC_MoveChild1,
1180 : /* 1952*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1181 : /* 1955*/ OPC_RecordChild0, // #2 = $off
1182 : /* 1956*/ OPC_MoveChild0,
1183 : /* 1957*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1184 : /* 1960*/ OPC_MoveParent,
1185 : /* 1961*/ OPC_MoveParent,
1186 : /* 1962*/ OPC_CheckType, MVT::i32,
1187 : /* 1964*/ OPC_MoveParent,
1188 : /* 1965*/ OPC_MoveChild2,
1189 : /* 1966*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1190 : /* 1969*/ OPC_RecordChild0, // #3 = $val
1191 : /* 1970*/ OPC_MoveParent,
1192 : /* 1971*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
1193 : /* 1973*/ OPC_MoveParent,
1194 : /* 1974*/ OPC_MoveParent,
1195 : /* 1975*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1196 : /* 1977*/ OPC_EmitMergeInputChains1_0,
1197 : /* 1978*/ OPC_EmitInteger, MVT::i32, 0,
1198 : /* 1981*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1199 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1200 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 27
1201 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1202 : /* 1991*/ /*Scope*/ 59, /*->2051*/
1203 : /* 1992*/ OPC_CheckAndImm, 127|128,1/*255*/,
1204 : /* 1995*/ OPC_MoveChild0,
1205 : /* 1996*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1206 : /* 1999*/ OPC_MoveChild0,
1207 : /* 2000*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1208 : /* 2003*/ OPC_RecordMemRef,
1209 : /* 2004*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1210 : /* 2005*/ OPC_CheckFoldableChainNode,
1211 : /* 2006*/ OPC_MoveChild1,
1212 : /* 2007*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1213 : /* 2010*/ OPC_RecordChild0, // #1 = $addr
1214 : /* 2011*/ OPC_MoveChild1,
1215 : /* 2012*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1216 : /* 2015*/ OPC_RecordChild0, // #2 = $off
1217 : /* 2016*/ OPC_MoveChild0,
1218 : /* 2017*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1219 : /* 2020*/ OPC_MoveParent,
1220 : /* 2021*/ OPC_MoveParent,
1221 : /* 2022*/ OPC_CheckType, MVT::i32,
1222 : /* 2024*/ OPC_MoveParent,
1223 : /* 2025*/ OPC_MoveChild2,
1224 : /* 2026*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1225 : /* 2029*/ OPC_RecordChild0, // #3 = $val
1226 : /* 2030*/ OPC_MoveParent,
1227 : /* 2031*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
1228 : /* 2033*/ OPC_MoveParent,
1229 : /* 2034*/ OPC_MoveParent,
1230 : /* 2035*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1231 : /* 2037*/ OPC_EmitMergeInputChains1_0,
1232 : /* 2038*/ OPC_EmitInteger, MVT::i32, 0,
1233 : /* 2041*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1234 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1235 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 27
1236 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1237 : /* 2051*/ /*Scope*/ 60, /*->2112*/
1238 : /* 2052*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1239 : /* 2056*/ OPC_MoveChild0,
1240 : /* 2057*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1241 : /* 2060*/ OPC_MoveChild0,
1242 : /* 2061*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1243 : /* 2064*/ OPC_RecordMemRef,
1244 : /* 2065*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1245 : /* 2066*/ OPC_CheckFoldableChainNode,
1246 : /* 2067*/ OPC_MoveChild1,
1247 : /* 2068*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1248 : /* 2071*/ OPC_RecordChild0, // #1 = $addr
1249 : /* 2072*/ OPC_MoveChild1,
1250 : /* 2073*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1251 : /* 2076*/ OPC_RecordChild0, // #2 = $off
1252 : /* 2077*/ OPC_MoveChild0,
1253 : /* 2078*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1254 : /* 2081*/ OPC_MoveParent,
1255 : /* 2082*/ OPC_MoveParent,
1256 : /* 2083*/ OPC_CheckType, MVT::i32,
1257 : /* 2085*/ OPC_MoveParent,
1258 : /* 2086*/ OPC_MoveChild2,
1259 : /* 2087*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1260 : /* 2090*/ OPC_RecordChild0, // #3 = $val
1261 : /* 2091*/ OPC_MoveParent,
1262 : /* 2092*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
1263 : /* 2094*/ OPC_MoveParent,
1264 : /* 2095*/ OPC_MoveParent,
1265 : /* 2096*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1266 : /* 2098*/ OPC_EmitMergeInputChains1_0,
1267 : /* 2099*/ OPC_EmitInteger, MVT::i32, 0,
1268 : /* 2102*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1269 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1270 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 27
1271 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1272 : /* 2112*/ /*Scope*/ 59, /*->2172*/
1273 : /* 2113*/ OPC_CheckAndImm, 127|128,1/*255*/,
1274 : /* 2116*/ OPC_MoveChild0,
1275 : /* 2117*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1276 : /* 2120*/ OPC_MoveChild0,
1277 : /* 2121*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1278 : /* 2124*/ OPC_RecordMemRef,
1279 : /* 2125*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1280 : /* 2126*/ OPC_CheckFoldableChainNode,
1281 : /* 2127*/ OPC_MoveChild1,
1282 : /* 2128*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1283 : /* 2131*/ OPC_RecordChild0, // #1 = $addr
1284 : /* 2132*/ OPC_MoveChild1,
1285 : /* 2133*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1286 : /* 2136*/ OPC_RecordChild0, // #2 = $off
1287 : /* 2137*/ OPC_MoveChild0,
1288 : /* 2138*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1289 : /* 2141*/ OPC_MoveParent,
1290 : /* 2142*/ OPC_MoveParent,
1291 : /* 2143*/ OPC_CheckType, MVT::i32,
1292 : /* 2145*/ OPC_MoveParent,
1293 : /* 2146*/ OPC_MoveChild2,
1294 : /* 2147*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1295 : /* 2150*/ OPC_RecordChild0, // #3 = $val
1296 : /* 2151*/ OPC_MoveParent,
1297 : /* 2152*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1298 : /* 2154*/ OPC_MoveParent,
1299 : /* 2155*/ OPC_MoveParent,
1300 : /* 2156*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1301 : /* 2158*/ OPC_EmitMergeInputChains1_0,
1302 : /* 2159*/ OPC_EmitInteger, MVT::i32, 0,
1303 : /* 2162*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
1304 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1305 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 27
1306 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1307 : /* 2172*/ /*Scope*/ 60, /*->2233*/
1308 : /* 2173*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1309 : /* 2177*/ OPC_MoveChild0,
1310 : /* 2178*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1311 : /* 2181*/ OPC_MoveChild0,
1312 : /* 2182*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1313 : /* 2185*/ OPC_RecordMemRef,
1314 : /* 2186*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1315 : /* 2187*/ OPC_CheckFoldableChainNode,
1316 : /* 2188*/ OPC_MoveChild1,
1317 : /* 2189*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1318 : /* 2192*/ OPC_RecordChild0, // #1 = $addr
1319 : /* 2193*/ OPC_MoveChild1,
1320 : /* 2194*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1321 : /* 2197*/ OPC_RecordChild0, // #2 = $off
1322 : /* 2198*/ OPC_MoveChild0,
1323 : /* 2199*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1324 : /* 2202*/ OPC_MoveParent,
1325 : /* 2203*/ OPC_MoveParent,
1326 : /* 2204*/ OPC_CheckType, MVT::i32,
1327 : /* 2206*/ OPC_MoveParent,
1328 : /* 2207*/ OPC_MoveChild2,
1329 : /* 2208*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1330 : /* 2211*/ OPC_RecordChild0, // #3 = $val
1331 : /* 2212*/ OPC_MoveParent,
1332 : /* 2213*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1333 : /* 2215*/ OPC_MoveParent,
1334 : /* 2216*/ OPC_MoveParent,
1335 : /* 2217*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1336 : /* 2219*/ OPC_EmitMergeInputChains1_0,
1337 : /* 2220*/ OPC_EmitInteger, MVT::i32, 0,
1338 : /* 2223*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
1339 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
1340 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 27
1341 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1342 : /* 2233*/ /*Scope*/ 59, /*->2293*/
1343 : /* 2234*/ OPC_CheckAndImm, 127|128,1/*255*/,
1344 : /* 2237*/ OPC_MoveChild0,
1345 : /* 2238*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1346 : /* 2241*/ OPC_MoveChild0,
1347 : /* 2242*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1348 : /* 2245*/ OPC_RecordMemRef,
1349 : /* 2246*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1350 : /* 2247*/ OPC_CheckFoldableChainNode,
1351 : /* 2248*/ OPC_MoveChild1,
1352 : /* 2249*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1353 : /* 2252*/ OPC_MoveChild0,
1354 : /* 2253*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1355 : /* 2256*/ OPC_RecordChild0, // #1 = $off
1356 : /* 2257*/ OPC_MoveChild0,
1357 : /* 2258*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1358 : /* 2261*/ OPC_MoveParent,
1359 : /* 2262*/ OPC_MoveParent,
1360 : /* 2263*/ OPC_RecordChild1, // #2 = $addr
1361 : /* 2264*/ OPC_CheckType, MVT::i32,
1362 : /* 2266*/ OPC_MoveParent,
1363 : /* 2267*/ OPC_MoveChild2,
1364 : /* 2268*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1365 : /* 2271*/ OPC_RecordChild0, // #3 = $val
1366 : /* 2272*/ OPC_MoveParent,
1367 : /* 2273*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
1368 : /* 2275*/ OPC_MoveParent,
1369 : /* 2276*/ OPC_MoveParent,
1370 : /* 2277*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1371 : /* 2279*/ OPC_EmitMergeInputChains1_0,
1372 : /* 2280*/ OPC_EmitInteger, MVT::i32, 0,
1373 : /* 2283*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1374 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1375 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 27
1376 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1377 : /* 2293*/ /*Scope*/ 60, /*->2354*/
1378 : /* 2294*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1379 : /* 2298*/ OPC_MoveChild0,
1380 : /* 2299*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1381 : /* 2302*/ OPC_MoveChild0,
1382 : /* 2303*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1383 : /* 2306*/ OPC_RecordMemRef,
1384 : /* 2307*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1385 : /* 2308*/ OPC_CheckFoldableChainNode,
1386 : /* 2309*/ OPC_MoveChild1,
1387 : /* 2310*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1388 : /* 2313*/ OPC_MoveChild0,
1389 : /* 2314*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1390 : /* 2317*/ OPC_RecordChild0, // #1 = $off
1391 : /* 2318*/ OPC_MoveChild0,
1392 : /* 2319*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1393 : /* 2322*/ OPC_MoveParent,
1394 : /* 2323*/ OPC_MoveParent,
1395 : /* 2324*/ OPC_RecordChild1, // #2 = $addr
1396 : /* 2325*/ OPC_CheckType, MVT::i32,
1397 : /* 2327*/ OPC_MoveParent,
1398 : /* 2328*/ OPC_MoveChild2,
1399 : /* 2329*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1400 : /* 2332*/ OPC_RecordChild0, // #3 = $val
1401 : /* 2333*/ OPC_MoveParent,
1402 : /* 2334*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
1403 : /* 2336*/ OPC_MoveParent,
1404 : /* 2337*/ OPC_MoveParent,
1405 : /* 2338*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1406 : /* 2340*/ OPC_EmitMergeInputChains1_0,
1407 : /* 2341*/ OPC_EmitInteger, MVT::i32, 0,
1408 : /* 2344*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1409 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1410 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 27
1411 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1412 : /* 2354*/ /*Scope*/ 59, /*->2414*/
1413 : /* 2355*/ OPC_CheckAndImm, 127|128,1/*255*/,
1414 : /* 2358*/ OPC_MoveChild0,
1415 : /* 2359*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1416 : /* 2362*/ OPC_MoveChild0,
1417 : /* 2363*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1418 : /* 2366*/ OPC_RecordMemRef,
1419 : /* 2367*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1420 : /* 2368*/ OPC_CheckFoldableChainNode,
1421 : /* 2369*/ OPC_MoveChild1,
1422 : /* 2370*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1423 : /* 2373*/ OPC_MoveChild0,
1424 : /* 2374*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1425 : /* 2377*/ OPC_RecordChild0, // #1 = $off
1426 : /* 2378*/ OPC_MoveChild0,
1427 : /* 2379*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1428 : /* 2382*/ OPC_MoveParent,
1429 : /* 2383*/ OPC_MoveParent,
1430 : /* 2384*/ OPC_RecordChild1, // #2 = $addr
1431 : /* 2385*/ OPC_CheckType, MVT::i32,
1432 : /* 2387*/ OPC_MoveParent,
1433 : /* 2388*/ OPC_MoveChild2,
1434 : /* 2389*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1435 : /* 2392*/ OPC_RecordChild0, // #3 = $val
1436 : /* 2393*/ OPC_MoveParent,
1437 : /* 2394*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
1438 : /* 2396*/ OPC_MoveParent,
1439 : /* 2397*/ OPC_MoveParent,
1440 : /* 2398*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1441 : /* 2400*/ OPC_EmitMergeInputChains1_0,
1442 : /* 2401*/ OPC_EmitInteger, MVT::i32, 0,
1443 : /* 2404*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
1444 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1445 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 27
1446 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1447 : /* 2414*/ /*Scope*/ 60, /*->2475*/
1448 : /* 2415*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1449 : /* 2419*/ OPC_MoveChild0,
1450 : /* 2420*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1451 : /* 2423*/ OPC_MoveChild0,
1452 : /* 2424*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1453 : /* 2427*/ OPC_RecordMemRef,
1454 : /* 2428*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1455 : /* 2429*/ OPC_CheckFoldableChainNode,
1456 : /* 2430*/ OPC_MoveChild1,
1457 : /* 2431*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1458 : /* 2434*/ OPC_MoveChild0,
1459 : /* 2435*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1460 : /* 2438*/ OPC_RecordChild0, // #1 = $off
1461 : /* 2439*/ OPC_MoveChild0,
1462 : /* 2440*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1463 : /* 2443*/ OPC_MoveParent,
1464 : /* 2444*/ OPC_MoveParent,
1465 : /* 2445*/ OPC_RecordChild1, // #2 = $addr
1466 : /* 2446*/ OPC_CheckType, MVT::i32,
1467 : /* 2448*/ OPC_MoveParent,
1468 : /* 2449*/ OPC_MoveChild2,
1469 : /* 2450*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1470 : /* 2453*/ OPC_RecordChild0, // #3 = $val
1471 : /* 2454*/ OPC_MoveParent,
1472 : /* 2455*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
1473 : /* 2457*/ OPC_MoveParent,
1474 : /* 2458*/ OPC_MoveParent,
1475 : /* 2459*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1476 : /* 2461*/ OPC_EmitMergeInputChains1_0,
1477 : /* 2462*/ OPC_EmitInteger, MVT::i32, 0,
1478 : /* 2465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
1479 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1480 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 27
1481 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1482 : /* 2475*/ /*Scope*/ 59, /*->2535*/
1483 : /* 2476*/ OPC_CheckAndImm, 127|128,1/*255*/,
1484 : /* 2479*/ OPC_MoveChild0,
1485 : /* 2480*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1486 : /* 2483*/ OPC_MoveChild0,
1487 : /* 2484*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1488 : /* 2487*/ OPC_RecordMemRef,
1489 : /* 2488*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1490 : /* 2489*/ OPC_CheckFoldableChainNode,
1491 : /* 2490*/ OPC_MoveChild1,
1492 : /* 2491*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1493 : /* 2494*/ OPC_MoveChild0,
1494 : /* 2495*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1495 : /* 2498*/ OPC_RecordChild0, // #1 = $off
1496 : /* 2499*/ OPC_MoveChild0,
1497 : /* 2500*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1498 : /* 2503*/ OPC_MoveParent,
1499 : /* 2504*/ OPC_MoveParent,
1500 : /* 2505*/ OPC_RecordChild1, // #2 = $addr
1501 : /* 2506*/ OPC_CheckType, MVT::i32,
1502 : /* 2508*/ OPC_MoveParent,
1503 : /* 2509*/ OPC_MoveChild2,
1504 : /* 2510*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1505 : /* 2513*/ OPC_RecordChild0, // #3 = $val
1506 : /* 2514*/ OPC_MoveParent,
1507 : /* 2515*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
1508 : /* 2517*/ OPC_MoveParent,
1509 : /* 2518*/ OPC_MoveParent,
1510 : /* 2519*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1511 : /* 2521*/ OPC_EmitMergeInputChains1_0,
1512 : /* 2522*/ OPC_EmitInteger, MVT::i32, 0,
1513 : /* 2525*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
1514 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1515 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 27
1516 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1517 : /* 2535*/ /*Scope*/ 60, /*->2596*/
1518 : /* 2536*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1519 : /* 2540*/ OPC_MoveChild0,
1520 : /* 2541*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1521 : /* 2544*/ OPC_MoveChild0,
1522 : /* 2545*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
1523 : /* 2548*/ OPC_RecordMemRef,
1524 : /* 2549*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
1525 : /* 2550*/ OPC_CheckFoldableChainNode,
1526 : /* 2551*/ OPC_MoveChild1,
1527 : /* 2552*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1528 : /* 2555*/ OPC_MoveChild0,
1529 : /* 2556*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1530 : /* 2559*/ OPC_RecordChild0, // #1 = $off
1531 : /* 2560*/ OPC_MoveChild0,
1532 : /* 2561*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1533 : /* 2564*/ OPC_MoveParent,
1534 : /* 2565*/ OPC_MoveParent,
1535 : /* 2566*/ OPC_RecordChild1, // #2 = $addr
1536 : /* 2567*/ OPC_CheckType, MVT::i32,
1537 : /* 2569*/ OPC_MoveParent,
1538 : /* 2570*/ OPC_MoveChild2,
1539 : /* 2571*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1540 : /* 2574*/ OPC_RecordChild0, // #3 = $val
1541 : /* 2575*/ OPC_MoveParent,
1542 : /* 2576*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
1543 : /* 2578*/ OPC_MoveParent,
1544 : /* 2579*/ OPC_MoveParent,
1545 : /* 2580*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1546 : /* 2582*/ OPC_EmitMergeInputChains1_0,
1547 : /* 2583*/ OPC_EmitInteger, MVT::i32, 0,
1548 : /* 2586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
1549 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1550 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 27
1551 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1552 : /* 2596*/ /*Scope*/ 59, /*->2656*/
1553 : /* 2597*/ OPC_CheckAndImm, 127|128,1/*255*/,
1554 : /* 2600*/ OPC_MoveChild0,
1555 : /* 2601*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1556 : /* 2604*/ OPC_MoveChild0,
1557 : /* 2605*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1558 : /* 2608*/ OPC_RecordMemRef,
1559 : /* 2609*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1560 : /* 2610*/ OPC_CheckFoldableChainNode,
1561 : /* 2611*/ OPC_MoveChild1,
1562 : /* 2612*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1563 : /* 2615*/ OPC_MoveChild0,
1564 : /* 2616*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1565 : /* 2619*/ OPC_RecordChild0, // #1 = $off
1566 : /* 2620*/ OPC_MoveChild0,
1567 : /* 2621*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1568 : /* 2624*/ OPC_MoveParent,
1569 : /* 2625*/ OPC_MoveParent,
1570 : /* 2626*/ OPC_RecordChild1, // #2 = $addr
1571 : /* 2627*/ OPC_CheckType, MVT::i32,
1572 : /* 2629*/ OPC_MoveParent,
1573 : /* 2630*/ OPC_MoveChild2,
1574 : /* 2631*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1575 : /* 2634*/ OPC_RecordChild0, // #3 = $val
1576 : /* 2635*/ OPC_MoveParent,
1577 : /* 2636*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
1578 : /* 2638*/ OPC_MoveParent,
1579 : /* 2639*/ OPC_MoveParent,
1580 : /* 2640*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1581 : /* 2642*/ OPC_EmitMergeInputChains1_0,
1582 : /* 2643*/ OPC_EmitInteger, MVT::i32, 0,
1583 : /* 2646*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1584 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1585 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 27
1586 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1587 : /* 2656*/ /*Scope*/ 60, /*->2717*/
1588 : /* 2657*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1589 : /* 2661*/ OPC_MoveChild0,
1590 : /* 2662*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1591 : /* 2665*/ OPC_MoveChild0,
1592 : /* 2666*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
1593 : /* 2669*/ OPC_RecordMemRef,
1594 : /* 2670*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
1595 : /* 2671*/ OPC_CheckFoldableChainNode,
1596 : /* 2672*/ OPC_MoveChild1,
1597 : /* 2673*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1598 : /* 2676*/ OPC_MoveChild0,
1599 : /* 2677*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1600 : /* 2680*/ OPC_RecordChild0, // #1 = $off
1601 : /* 2681*/ OPC_MoveChild0,
1602 : /* 2682*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1603 : /* 2685*/ OPC_MoveParent,
1604 : /* 2686*/ OPC_MoveParent,
1605 : /* 2687*/ OPC_RecordChild1, // #2 = $addr
1606 : /* 2688*/ OPC_CheckType, MVT::i32,
1607 : /* 2690*/ OPC_MoveParent,
1608 : /* 2691*/ OPC_MoveChild2,
1609 : /* 2692*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1610 : /* 2695*/ OPC_RecordChild0, // #3 = $val
1611 : /* 2696*/ OPC_MoveParent,
1612 : /* 2697*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
1613 : /* 2699*/ OPC_MoveParent,
1614 : /* 2700*/ OPC_MoveParent,
1615 : /* 2701*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1616 : /* 2703*/ OPC_EmitMergeInputChains1_0,
1617 : /* 2704*/ OPC_EmitInteger, MVT::i32, 0,
1618 : /* 2707*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1619 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1620 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 27
1621 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1622 : /* 2717*/ /*Scope*/ 59, /*->2777*/
1623 : /* 2718*/ OPC_CheckAndImm, 127|128,1/*255*/,
1624 : /* 2721*/ OPC_MoveChild0,
1625 : /* 2722*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1626 : /* 2725*/ OPC_MoveChild0,
1627 : /* 2726*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1628 : /* 2729*/ OPC_RecordMemRef,
1629 : /* 2730*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1630 : /* 2731*/ OPC_CheckFoldableChainNode,
1631 : /* 2732*/ OPC_MoveChild1,
1632 : /* 2733*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1633 : /* 2736*/ OPC_MoveChild0,
1634 : /* 2737*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1635 : /* 2740*/ OPC_RecordChild0, // #1 = $off
1636 : /* 2741*/ OPC_MoveChild0,
1637 : /* 2742*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1638 : /* 2745*/ OPC_MoveParent,
1639 : /* 2746*/ OPC_MoveParent,
1640 : /* 2747*/ OPC_RecordChild1, // #2 = $addr
1641 : /* 2748*/ OPC_CheckType, MVT::i32,
1642 : /* 2750*/ OPC_MoveParent,
1643 : /* 2751*/ OPC_MoveChild2,
1644 : /* 2752*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1645 : /* 2755*/ OPC_RecordChild0, // #3 = $val
1646 : /* 2756*/ OPC_MoveParent,
1647 : /* 2757*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
1648 : /* 2759*/ OPC_MoveParent,
1649 : /* 2760*/ OPC_MoveParent,
1650 : /* 2761*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1651 : /* 2763*/ OPC_EmitMergeInputChains1_0,
1652 : /* 2764*/ OPC_EmitInteger, MVT::i32, 0,
1653 : /* 2767*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1654 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1655 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 27
1656 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1657 : /* 2777*/ /*Scope*/ 60, /*->2838*/
1658 : /* 2778*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1659 : /* 2782*/ OPC_MoveChild0,
1660 : /* 2783*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1661 : /* 2786*/ OPC_MoveChild0,
1662 : /* 2787*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
1663 : /* 2790*/ OPC_RecordMemRef,
1664 : /* 2791*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
1665 : /* 2792*/ OPC_CheckFoldableChainNode,
1666 : /* 2793*/ OPC_MoveChild1,
1667 : /* 2794*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1668 : /* 2797*/ OPC_MoveChild0,
1669 : /* 2798*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1670 : /* 2801*/ OPC_RecordChild0, // #1 = $off
1671 : /* 2802*/ OPC_MoveChild0,
1672 : /* 2803*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1673 : /* 2806*/ OPC_MoveParent,
1674 : /* 2807*/ OPC_MoveParent,
1675 : /* 2808*/ OPC_RecordChild1, // #2 = $addr
1676 : /* 2809*/ OPC_CheckType, MVT::i32,
1677 : /* 2811*/ OPC_MoveParent,
1678 : /* 2812*/ OPC_MoveChild2,
1679 : /* 2813*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1680 : /* 2816*/ OPC_RecordChild0, // #3 = $val
1681 : /* 2817*/ OPC_MoveParent,
1682 : /* 2818*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
1683 : /* 2820*/ OPC_MoveParent,
1684 : /* 2821*/ OPC_MoveParent,
1685 : /* 2822*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1686 : /* 2824*/ OPC_EmitMergeInputChains1_0,
1687 : /* 2825*/ OPC_EmitInteger, MVT::i32, 0,
1688 : /* 2828*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
1689 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1690 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 27
1691 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1692 : /* 2838*/ /*Scope*/ 59, /*->2898*/
1693 : /* 2839*/ OPC_CheckAndImm, 127|128,1/*255*/,
1694 : /* 2842*/ OPC_MoveChild0,
1695 : /* 2843*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1696 : /* 2846*/ OPC_MoveChild0,
1697 : /* 2847*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1698 : /* 2850*/ OPC_RecordMemRef,
1699 : /* 2851*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1700 : /* 2852*/ OPC_CheckFoldableChainNode,
1701 : /* 2853*/ OPC_MoveChild1,
1702 : /* 2854*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1703 : /* 2857*/ OPC_MoveChild0,
1704 : /* 2858*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1705 : /* 2861*/ OPC_RecordChild0, // #1 = $off
1706 : /* 2862*/ OPC_MoveChild0,
1707 : /* 2863*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1708 : /* 2866*/ OPC_MoveParent,
1709 : /* 2867*/ OPC_MoveParent,
1710 : /* 2868*/ OPC_RecordChild1, // #2 = $addr
1711 : /* 2869*/ OPC_CheckType, MVT::i32,
1712 : /* 2871*/ OPC_MoveParent,
1713 : /* 2872*/ OPC_MoveChild2,
1714 : /* 2873*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1715 : /* 2876*/ OPC_RecordChild0, // #3 = $val
1716 : /* 2877*/ OPC_MoveParent,
1717 : /* 2878*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
1718 : /* 2880*/ OPC_MoveParent,
1719 : /* 2881*/ OPC_MoveParent,
1720 : /* 2882*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1721 : /* 2884*/ OPC_EmitMergeInputChains1_0,
1722 : /* 2885*/ OPC_EmitInteger, MVT::i32, 0,
1723 : /* 2888*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
1724 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1725 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 27
1726 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1727 : /* 2898*/ /*Scope*/ 60, /*->2959*/
1728 : /* 2899*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1729 : /* 2903*/ OPC_MoveChild0,
1730 : /* 2904*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1731 : /* 2907*/ OPC_MoveChild0,
1732 : /* 2908*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
1733 : /* 2911*/ OPC_RecordMemRef,
1734 : /* 2912*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
1735 : /* 2913*/ OPC_CheckFoldableChainNode,
1736 : /* 2914*/ OPC_MoveChild1,
1737 : /* 2915*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1738 : /* 2918*/ OPC_MoveChild0,
1739 : /* 2919*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1740 : /* 2922*/ OPC_RecordChild0, // #1 = $off
1741 : /* 2923*/ OPC_MoveChild0,
1742 : /* 2924*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
1743 : /* 2927*/ OPC_MoveParent,
1744 : /* 2928*/ OPC_MoveParent,
1745 : /* 2929*/ OPC_RecordChild1, // #2 = $addr
1746 : /* 2930*/ OPC_CheckType, MVT::i32,
1747 : /* 2932*/ OPC_MoveParent,
1748 : /* 2933*/ OPC_MoveChild2,
1749 : /* 2934*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1750 : /* 2937*/ OPC_RecordChild0, // #3 = $val
1751 : /* 2938*/ OPC_MoveParent,
1752 : /* 2939*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
1753 : /* 2941*/ OPC_MoveParent,
1754 : /* 2942*/ OPC_MoveParent,
1755 : /* 2943*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1756 : /* 2945*/ OPC_EmitMergeInputChains1_0,
1757 : /* 2946*/ OPC_EmitInteger, MVT::i32, 0,
1758 : /* 2949*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
1759 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
1760 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 27
1761 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1762 : /* 2959*/ /*Scope*/ 54, /*->3014*/
1763 : /* 2960*/ OPC_CheckAndImm, 127|128,1/*255*/,
1764 : /* 2963*/ OPC_MoveChild0,
1765 : /* 2964*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1766 : /* 2967*/ OPC_MoveChild0,
1767 : /* 2968*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1768 : /* 2971*/ OPC_RecordMemRef,
1769 : /* 2972*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1770 : /* 2973*/ OPC_CheckFoldableChainNode,
1771 : /* 2974*/ OPC_MoveChild1,
1772 : /* 2975*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1773 : /* 2978*/ OPC_RecordChild0, // #1 = $addr
1774 : /* 2979*/ OPC_MoveChild1,
1775 : /* 2980*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1776 : /* 2983*/ OPC_RecordChild0, // #2 = $off
1777 : /* 2984*/ OPC_MoveChild0,
1778 : /* 2985*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1779 : /* 2988*/ OPC_MoveParent,
1780 : /* 2989*/ OPC_MoveParent,
1781 : /* 2990*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
1782 : /* 2992*/ OPC_CheckType, MVT::i32,
1783 : /* 2994*/ OPC_MoveParent,
1784 : /* 2995*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
1785 : /* 2997*/ OPC_MoveParent,
1786 : /* 2998*/ OPC_MoveParent,
1787 : /* 2999*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1788 : /* 3001*/ OPC_EmitMergeInputChains1_0,
1789 : /* 3002*/ OPC_EmitInteger, MVT::i32, 0,
1790 : /* 3005*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
1791 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
1792 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 25
1793 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
1794 : /* 3014*/ /*Scope*/ 55, /*->3070*/
1795 : /* 3015*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1796 : /* 3019*/ OPC_MoveChild0,
1797 : /* 3020*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1798 : /* 3023*/ OPC_MoveChild0,
1799 : /* 3024*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
1800 : /* 3027*/ OPC_RecordMemRef,
1801 : /* 3028*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
1802 : /* 3029*/ OPC_CheckFoldableChainNode,
1803 : /* 3030*/ OPC_MoveChild1,
1804 : /* 3031*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1805 : /* 3034*/ OPC_RecordChild0, // #1 = $addr
1806 : /* 3035*/ OPC_MoveChild1,
1807 : /* 3036*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
1808 : /* 3039*/ OPC_RecordChild0, // #2 = $off
1809 : /* 3040*/ OPC_MoveChild0,
1810 : /* 3041*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
1811 : /* 3044*/ OPC_MoveParent,
1812 : /* 3045*/ OPC_MoveParent,
1813 : /* 3046*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
1814 : /* 3048*/ OPC_CheckType, MVT::i32,
1815 : /* 3050*/ OPC_MoveParent,
1816 : /* 3051*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
1817 : /* 3053*/ OPC_MoveParent,
1818 : /* 3054*/ OPC_MoveParent,
1819 : /* 3055*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1820 : /* 3057*/ OPC_EmitMergeInputChains1_0,
1821 : /* 3058*/ OPC_EmitInteger, MVT::i32, 0,
1822 : /* 3061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
1823 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
1824 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 25
1825 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
1826 : /* 3070*/ /*Scope*/ 58, /*->3129*/
1827 : /* 3071*/ OPC_CheckAndImm, 127|128,1/*255*/,
1828 : /* 3074*/ OPC_MoveChild0,
1829 : /* 3075*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1830 : /* 3078*/ OPC_MoveChild0,
1831 : /* 3079*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1832 : /* 3082*/ OPC_RecordMemRef,
1833 : /* 3083*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1834 : /* 3084*/ OPC_CheckFoldableChainNode,
1835 : /* 3085*/ OPC_MoveChild1,
1836 : /* 3086*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1837 : /* 3089*/ OPC_RecordChild0, // #1 = $addr
1838 : /* 3090*/ OPC_RecordChild1, // #2 = $off
1839 : /* 3091*/ OPC_MoveChild1,
1840 : /* 3092*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1841 : /* 3095*/ OPC_MoveParent,
1842 : /* 3096*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
1843 : /* 3098*/ OPC_CheckType, MVT::i32,
1844 : /* 3100*/ OPC_MoveParent,
1845 : /* 3101*/ OPC_MoveChild2,
1846 : /* 3102*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1847 : /* 3105*/ OPC_RecordChild0, // #3 = $val
1848 : /* 3106*/ OPC_MoveParent,
1849 : /* 3107*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
1850 : /* 3109*/ OPC_MoveParent,
1851 : /* 3110*/ OPC_MoveParent,
1852 : /* 3111*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1853 : /* 3113*/ OPC_EmitMergeInputChains1_0,
1854 : /* 3114*/ OPC_EmitInteger, MVT::i32, 0,
1855 : /* 3117*/ OPC_EmitConvertToTarget, 2,
1856 : /* 3119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1857 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1858 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
1859 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1860 : /* 3129*/ /*Scope*/ 59, /*->3189*/
1861 : /* 3130*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1862 : /* 3134*/ OPC_MoveChild0,
1863 : /* 3135*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1864 : /* 3138*/ OPC_MoveChild0,
1865 : /* 3139*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1866 : /* 3142*/ OPC_RecordMemRef,
1867 : /* 3143*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1868 : /* 3144*/ OPC_CheckFoldableChainNode,
1869 : /* 3145*/ OPC_MoveChild1,
1870 : /* 3146*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1871 : /* 3149*/ OPC_RecordChild0, // #1 = $addr
1872 : /* 3150*/ OPC_RecordChild1, // #2 = $off
1873 : /* 3151*/ OPC_MoveChild1,
1874 : /* 3152*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1875 : /* 3155*/ OPC_MoveParent,
1876 : /* 3156*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
1877 : /* 3158*/ OPC_CheckType, MVT::i32,
1878 : /* 3160*/ OPC_MoveParent,
1879 : /* 3161*/ OPC_MoveChild2,
1880 : /* 3162*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1881 : /* 3165*/ OPC_RecordChild0, // #3 = $val
1882 : /* 3166*/ OPC_MoveParent,
1883 : /* 3167*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
1884 : /* 3169*/ OPC_MoveParent,
1885 : /* 3170*/ OPC_MoveParent,
1886 : /* 3171*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1887 : /* 3173*/ OPC_EmitMergeInputChains1_0,
1888 : /* 3174*/ OPC_EmitInteger, MVT::i32, 0,
1889 : /* 3177*/ OPC_EmitConvertToTarget, 2,
1890 : /* 3179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1891 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1892 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
1893 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1894 : /* 3189*/ /*Scope*/ 58, /*->3248*/
1895 : /* 3190*/ OPC_CheckAndImm, 127|128,1/*255*/,
1896 : /* 3193*/ OPC_MoveChild0,
1897 : /* 3194*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1898 : /* 3197*/ OPC_MoveChild0,
1899 : /* 3198*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1900 : /* 3201*/ OPC_RecordMemRef,
1901 : /* 3202*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1902 : /* 3203*/ OPC_CheckFoldableChainNode,
1903 : /* 3204*/ OPC_MoveChild1,
1904 : /* 3205*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1905 : /* 3208*/ OPC_RecordChild0, // #1 = $addr
1906 : /* 3209*/ OPC_RecordChild1, // #2 = $off
1907 : /* 3210*/ OPC_MoveChild1,
1908 : /* 3211*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1909 : /* 3214*/ OPC_MoveParent,
1910 : /* 3215*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
1911 : /* 3217*/ OPC_CheckType, MVT::i32,
1912 : /* 3219*/ OPC_MoveParent,
1913 : /* 3220*/ OPC_MoveChild2,
1914 : /* 3221*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1915 : /* 3224*/ OPC_RecordChild0, // #3 = $val
1916 : /* 3225*/ OPC_MoveParent,
1917 : /* 3226*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
1918 : /* 3228*/ OPC_MoveParent,
1919 : /* 3229*/ OPC_MoveParent,
1920 : /* 3230*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1921 : /* 3232*/ OPC_EmitMergeInputChains1_0,
1922 : /* 3233*/ OPC_EmitInteger, MVT::i32, 0,
1923 : /* 3236*/ OPC_EmitConvertToTarget, 2,
1924 : /* 3238*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1925 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1926 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
1927 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1928 : /* 3248*/ /*Scope*/ 59, /*->3308*/
1929 : /* 3249*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1930 : /* 3253*/ OPC_MoveChild0,
1931 : /* 3254*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1932 : /* 3257*/ OPC_MoveChild0,
1933 : /* 3258*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
1934 : /* 3261*/ OPC_RecordMemRef,
1935 : /* 3262*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
1936 : /* 3263*/ OPC_CheckFoldableChainNode,
1937 : /* 3264*/ OPC_MoveChild1,
1938 : /* 3265*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
1939 : /* 3268*/ OPC_RecordChild0, // #1 = $addr
1940 : /* 3269*/ OPC_RecordChild1, // #2 = $off
1941 : /* 3270*/ OPC_MoveChild1,
1942 : /* 3271*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1943 : /* 3274*/ OPC_MoveParent,
1944 : /* 3275*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
1945 : /* 3277*/ OPC_CheckType, MVT::i32,
1946 : /* 3279*/ OPC_MoveParent,
1947 : /* 3280*/ OPC_MoveChild2,
1948 : /* 3281*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1949 : /* 3284*/ OPC_RecordChild0, // #3 = $val
1950 : /* 3285*/ OPC_MoveParent,
1951 : /* 3286*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
1952 : /* 3288*/ OPC_MoveParent,
1953 : /* 3289*/ OPC_MoveParent,
1954 : /* 3290*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1955 : /* 3292*/ OPC_EmitMergeInputChains1_0,
1956 : /* 3293*/ OPC_EmitInteger, MVT::i32, 0,
1957 : /* 3296*/ OPC_EmitConvertToTarget, 2,
1958 : /* 3298*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
1959 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1960 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
1961 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1962 : /* 3308*/ /*Scope*/ 58, /*->3367*/
1963 : /* 3309*/ OPC_CheckAndImm, 127|128,1/*255*/,
1964 : /* 3312*/ OPC_MoveChild0,
1965 : /* 3313*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
1966 : /* 3316*/ OPC_MoveChild0,
1967 : /* 3317*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
1968 : /* 3320*/ OPC_RecordMemRef,
1969 : /* 3321*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
1970 : /* 3322*/ OPC_CheckFoldableChainNode,
1971 : /* 3323*/ OPC_MoveChild1,
1972 : /* 3324*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1973 : /* 3327*/ OPC_RecordChild0, // #1 = $addr
1974 : /* 3328*/ OPC_RecordChild1, // #2 = $off
1975 : /* 3329*/ OPC_MoveChild1,
1976 : /* 3330*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1977 : /* 3333*/ OPC_MoveParent,
1978 : /* 3334*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
1979 : /* 3336*/ OPC_CheckType, MVT::i32,
1980 : /* 3338*/ OPC_MoveParent,
1981 : /* 3339*/ OPC_MoveChild2,
1982 : /* 3340*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
1983 : /* 3343*/ OPC_RecordChild0, // #3 = $val
1984 : /* 3344*/ OPC_MoveParent,
1985 : /* 3345*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
1986 : /* 3347*/ OPC_MoveParent,
1987 : /* 3348*/ OPC_MoveParent,
1988 : /* 3349*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
1989 : /* 3351*/ OPC_EmitMergeInputChains1_0,
1990 : /* 3352*/ OPC_EmitInteger, MVT::i32, 0,
1991 : /* 3355*/ OPC_EmitConvertToTarget, 2,
1992 : /* 3357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
1993 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
1994 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
1995 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
1996 : /* 3367*/ /*Scope*/ 59, /*->3427*/
1997 : /* 3368*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
1998 : /* 3372*/ OPC_MoveChild0,
1999 : /* 3373*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2000 : /* 3376*/ OPC_MoveChild0,
2001 : /* 3377*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2002 : /* 3380*/ OPC_RecordMemRef,
2003 : /* 3381*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2004 : /* 3382*/ OPC_CheckFoldableChainNode,
2005 : /* 3383*/ OPC_MoveChild1,
2006 : /* 3384*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2007 : /* 3387*/ OPC_RecordChild0, // #1 = $addr
2008 : /* 3388*/ OPC_RecordChild1, // #2 = $off
2009 : /* 3389*/ OPC_MoveChild1,
2010 : /* 3390*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2011 : /* 3393*/ OPC_MoveParent,
2012 : /* 3394*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2013 : /* 3396*/ OPC_CheckType, MVT::i32,
2014 : /* 3398*/ OPC_MoveParent,
2015 : /* 3399*/ OPC_MoveChild2,
2016 : /* 3400*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2017 : /* 3403*/ OPC_RecordChild0, // #3 = $val
2018 : /* 3404*/ OPC_MoveParent,
2019 : /* 3405*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
2020 : /* 3407*/ OPC_MoveParent,
2021 : /* 3408*/ OPC_MoveParent,
2022 : /* 3409*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2023 : /* 3411*/ OPC_EmitMergeInputChains1_0,
2024 : /* 3412*/ OPC_EmitInteger, MVT::i32, 0,
2025 : /* 3415*/ OPC_EmitConvertToTarget, 2,
2026 : /* 3417*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
2027 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2028 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
2029 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2030 : /* 3427*/ /*Scope*/ 58, /*->3486*/
2031 : /* 3428*/ OPC_CheckAndImm, 127|128,1/*255*/,
2032 : /* 3431*/ OPC_MoveChild0,
2033 : /* 3432*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2034 : /* 3435*/ OPC_MoveChild0,
2035 : /* 3436*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2036 : /* 3439*/ OPC_RecordMemRef,
2037 : /* 3440*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2038 : /* 3441*/ OPC_CheckFoldableChainNode,
2039 : /* 3442*/ OPC_MoveChild1,
2040 : /* 3443*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2041 : /* 3446*/ OPC_RecordChild0, // #1 = $addr
2042 : /* 3447*/ OPC_RecordChild1, // #2 = $off
2043 : /* 3448*/ OPC_MoveChild1,
2044 : /* 3449*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2045 : /* 3452*/ OPC_MoveParent,
2046 : /* 3453*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2047 : /* 3455*/ OPC_CheckType, MVT::i32,
2048 : /* 3457*/ OPC_MoveParent,
2049 : /* 3458*/ OPC_MoveChild2,
2050 : /* 3459*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2051 : /* 3462*/ OPC_RecordChild0, // #3 = $val
2052 : /* 3463*/ OPC_MoveParent,
2053 : /* 3464*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
2054 : /* 3466*/ OPC_MoveParent,
2055 : /* 3467*/ OPC_MoveParent,
2056 : /* 3468*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2057 : /* 3470*/ OPC_EmitMergeInputChains1_0,
2058 : /* 3471*/ OPC_EmitInteger, MVT::i32, 0,
2059 : /* 3474*/ OPC_EmitConvertToTarget, 2,
2060 : /* 3476*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
2061 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2062 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
2063 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2064 : /* 3486*/ /*Scope*/ 59, /*->3546*/
2065 : /* 3487*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2066 : /* 3491*/ OPC_MoveChild0,
2067 : /* 3492*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2068 : /* 3495*/ OPC_MoveChild0,
2069 : /* 3496*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2070 : /* 3499*/ OPC_RecordMemRef,
2071 : /* 3500*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2072 : /* 3501*/ OPC_CheckFoldableChainNode,
2073 : /* 3502*/ OPC_MoveChild1,
2074 : /* 3503*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2075 : /* 3506*/ OPC_RecordChild0, // #1 = $addr
2076 : /* 3507*/ OPC_RecordChild1, // #2 = $off
2077 : /* 3508*/ OPC_MoveChild1,
2078 : /* 3509*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2079 : /* 3512*/ OPC_MoveParent,
2080 : /* 3513*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2081 : /* 3515*/ OPC_CheckType, MVT::i32,
2082 : /* 3517*/ OPC_MoveParent,
2083 : /* 3518*/ OPC_MoveChild2,
2084 : /* 3519*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2085 : /* 3522*/ OPC_RecordChild0, // #3 = $val
2086 : /* 3523*/ OPC_MoveParent,
2087 : /* 3524*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
2088 : /* 3526*/ OPC_MoveParent,
2089 : /* 3527*/ OPC_MoveParent,
2090 : /* 3528*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2091 : /* 3530*/ OPC_EmitMergeInputChains1_0,
2092 : /* 3531*/ OPC_EmitInteger, MVT::i32, 0,
2093 : /* 3534*/ OPC_EmitConvertToTarget, 2,
2094 : /* 3536*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
2095 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2096 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
2097 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2098 : /* 3546*/ /*Scope*/ 58, /*->3605*/
2099 : /* 3547*/ OPC_CheckAndImm, 127|128,1/*255*/,
2100 : /* 3550*/ OPC_MoveChild0,
2101 : /* 3551*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2102 : /* 3554*/ OPC_MoveChild0,
2103 : /* 3555*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2104 : /* 3558*/ OPC_RecordMemRef,
2105 : /* 3559*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2106 : /* 3560*/ OPC_CheckFoldableChainNode,
2107 : /* 3561*/ OPC_MoveChild1,
2108 : /* 3562*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2109 : /* 3565*/ OPC_RecordChild0, // #1 = $addr
2110 : /* 3566*/ OPC_RecordChild1, // #2 = $off
2111 : /* 3567*/ OPC_MoveChild1,
2112 : /* 3568*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2113 : /* 3571*/ OPC_MoveParent,
2114 : /* 3572*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2115 : /* 3574*/ OPC_CheckType, MVT::i32,
2116 : /* 3576*/ OPC_MoveParent,
2117 : /* 3577*/ OPC_MoveChild2,
2118 : /* 3578*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2119 : /* 3581*/ OPC_RecordChild0, // #3 = $val
2120 : /* 3582*/ OPC_MoveParent,
2121 : /* 3583*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
2122 : /* 3585*/ OPC_MoveParent,
2123 : /* 3586*/ OPC_MoveParent,
2124 : /* 3587*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2125 : /* 3589*/ OPC_EmitMergeInputChains1_0,
2126 : /* 3590*/ OPC_EmitInteger, MVT::i32, 0,
2127 : /* 3593*/ OPC_EmitConvertToTarget, 2,
2128 : /* 3595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
2129 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2130 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
2131 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2132 : /* 3605*/ /*Scope*/ 59, /*->3665*/
2133 : /* 3606*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2134 : /* 3610*/ OPC_MoveChild0,
2135 : /* 3611*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2136 : /* 3614*/ OPC_MoveChild0,
2137 : /* 3615*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2138 : /* 3618*/ OPC_RecordMemRef,
2139 : /* 3619*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2140 : /* 3620*/ OPC_CheckFoldableChainNode,
2141 : /* 3621*/ OPC_MoveChild1,
2142 : /* 3622*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2143 : /* 3625*/ OPC_RecordChild0, // #1 = $addr
2144 : /* 3626*/ OPC_RecordChild1, // #2 = $off
2145 : /* 3627*/ OPC_MoveChild1,
2146 : /* 3628*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2147 : /* 3631*/ OPC_MoveParent,
2148 : /* 3632*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2149 : /* 3634*/ OPC_CheckType, MVT::i32,
2150 : /* 3636*/ OPC_MoveParent,
2151 : /* 3637*/ OPC_MoveChild2,
2152 : /* 3638*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2153 : /* 3641*/ OPC_RecordChild0, // #3 = $val
2154 : /* 3642*/ OPC_MoveParent,
2155 : /* 3643*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
2156 : /* 3645*/ OPC_MoveParent,
2157 : /* 3646*/ OPC_MoveParent,
2158 : /* 3647*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2159 : /* 3649*/ OPC_EmitMergeInputChains1_0,
2160 : /* 3650*/ OPC_EmitInteger, MVT::i32, 0,
2161 : /* 3653*/ OPC_EmitConvertToTarget, 2,
2162 : /* 3655*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
2163 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2164 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
2165 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2166 : /* 3665*/ /*Scope*/ 58, /*->3724*/
2167 : /* 3666*/ OPC_CheckAndImm, 127|128,1/*255*/,
2168 : /* 3669*/ OPC_MoveChild0,
2169 : /* 3670*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2170 : /* 3673*/ OPC_MoveChild0,
2171 : /* 3674*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2172 : /* 3677*/ OPC_RecordMemRef,
2173 : /* 3678*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2174 : /* 3679*/ OPC_CheckFoldableChainNode,
2175 : /* 3680*/ OPC_MoveChild1,
2176 : /* 3681*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2177 : /* 3684*/ OPC_RecordChild0, // #1 = $addr
2178 : /* 3685*/ OPC_RecordChild1, // #2 = $off
2179 : /* 3686*/ OPC_MoveChild1,
2180 : /* 3687*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2181 : /* 3690*/ OPC_MoveParent,
2182 : /* 3691*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2183 : /* 3693*/ OPC_CheckType, MVT::i32,
2184 : /* 3695*/ OPC_MoveParent,
2185 : /* 3696*/ OPC_MoveChild2,
2186 : /* 3697*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2187 : /* 3700*/ OPC_RecordChild0, // #3 = $val
2188 : /* 3701*/ OPC_MoveParent,
2189 : /* 3702*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
2190 : /* 3704*/ OPC_MoveParent,
2191 : /* 3705*/ OPC_MoveParent,
2192 : /* 3706*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2193 : /* 3708*/ OPC_EmitMergeInputChains1_0,
2194 : /* 3709*/ OPC_EmitInteger, MVT::i32, 0,
2195 : /* 3712*/ OPC_EmitConvertToTarget, 2,
2196 : /* 3714*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
2197 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2198 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
2199 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2200 : /* 3724*/ /*Scope*/ 59, /*->3784*/
2201 : /* 3725*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2202 : /* 3729*/ OPC_MoveChild0,
2203 : /* 3730*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2204 : /* 3733*/ OPC_MoveChild0,
2205 : /* 3734*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
2206 : /* 3737*/ OPC_RecordMemRef,
2207 : /* 3738*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
2208 : /* 3739*/ OPC_CheckFoldableChainNode,
2209 : /* 3740*/ OPC_MoveChild1,
2210 : /* 3741*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2211 : /* 3744*/ OPC_RecordChild0, // #1 = $addr
2212 : /* 3745*/ OPC_RecordChild1, // #2 = $off
2213 : /* 3746*/ OPC_MoveChild1,
2214 : /* 3747*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2215 : /* 3750*/ OPC_MoveParent,
2216 : /* 3751*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2217 : /* 3753*/ OPC_CheckType, MVT::i32,
2218 : /* 3755*/ OPC_MoveParent,
2219 : /* 3756*/ OPC_MoveChild2,
2220 : /* 3757*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2221 : /* 3760*/ OPC_RecordChild0, // #3 = $val
2222 : /* 3761*/ OPC_MoveParent,
2223 : /* 3762*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
2224 : /* 3764*/ OPC_MoveParent,
2225 : /* 3765*/ OPC_MoveParent,
2226 : /* 3766*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2227 : /* 3768*/ OPC_EmitMergeInputChains1_0,
2228 : /* 3769*/ OPC_EmitInteger, MVT::i32, 0,
2229 : /* 3772*/ OPC_EmitConvertToTarget, 2,
2230 : /* 3774*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
2231 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2232 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
2233 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2234 : /* 3784*/ /*Scope*/ 58, /*->3843*/
2235 : /* 3785*/ OPC_CheckAndImm, 127|128,1/*255*/,
2236 : /* 3788*/ OPC_MoveChild0,
2237 : /* 3789*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2238 : /* 3792*/ OPC_MoveChild0,
2239 : /* 3793*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2240 : /* 3796*/ OPC_RecordMemRef,
2241 : /* 3797*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2242 : /* 3798*/ OPC_CheckFoldableChainNode,
2243 : /* 3799*/ OPC_MoveChild1,
2244 : /* 3800*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2245 : /* 3803*/ OPC_RecordChild0, // #1 = $addr
2246 : /* 3804*/ OPC_RecordChild1, // #2 = $off
2247 : /* 3805*/ OPC_MoveChild1,
2248 : /* 3806*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2249 : /* 3809*/ OPC_MoveParent,
2250 : /* 3810*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2251 : /* 3812*/ OPC_CheckType, MVT::i32,
2252 : /* 3814*/ OPC_MoveParent,
2253 : /* 3815*/ OPC_MoveChild2,
2254 : /* 3816*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2255 : /* 3819*/ OPC_RecordChild0, // #3 = $val
2256 : /* 3820*/ OPC_MoveParent,
2257 : /* 3821*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
2258 : /* 3823*/ OPC_MoveParent,
2259 : /* 3824*/ OPC_MoveParent,
2260 : /* 3825*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2261 : /* 3827*/ OPC_EmitMergeInputChains1_0,
2262 : /* 3828*/ OPC_EmitInteger, MVT::i32, 0,
2263 : /* 3831*/ OPC_EmitConvertToTarget, 2,
2264 : /* 3833*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2265 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2266 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
2267 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2268 : /* 3843*/ /*Scope*/ 59, /*->3903*/
2269 : /* 3844*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2270 : /* 3848*/ OPC_MoveChild0,
2271 : /* 3849*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2272 : /* 3852*/ OPC_MoveChild0,
2273 : /* 3853*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2274 : /* 3856*/ OPC_RecordMemRef,
2275 : /* 3857*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2276 : /* 3858*/ OPC_CheckFoldableChainNode,
2277 : /* 3859*/ OPC_MoveChild1,
2278 : /* 3860*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2279 : /* 3863*/ OPC_RecordChild0, // #1 = $addr
2280 : /* 3864*/ OPC_RecordChild1, // #2 = $off
2281 : /* 3865*/ OPC_MoveChild1,
2282 : /* 3866*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2283 : /* 3869*/ OPC_MoveParent,
2284 : /* 3870*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2285 : /* 3872*/ OPC_CheckType, MVT::i32,
2286 : /* 3874*/ OPC_MoveParent,
2287 : /* 3875*/ OPC_MoveChild2,
2288 : /* 3876*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2289 : /* 3879*/ OPC_RecordChild0, // #3 = $val
2290 : /* 3880*/ OPC_MoveParent,
2291 : /* 3881*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
2292 : /* 3883*/ OPC_MoveParent,
2293 : /* 3884*/ OPC_MoveParent,
2294 : /* 3885*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2295 : /* 3887*/ OPC_EmitMergeInputChains1_0,
2296 : /* 3888*/ OPC_EmitInteger, MVT::i32, 0,
2297 : /* 3891*/ OPC_EmitConvertToTarget, 2,
2298 : /* 3893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2299 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2300 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
2301 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2302 : /* 3903*/ /*Scope*/ 58, /*->3962*/
2303 : /* 3904*/ OPC_CheckAndImm, 127|128,1/*255*/,
2304 : /* 3907*/ OPC_MoveChild0,
2305 : /* 3908*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2306 : /* 3911*/ OPC_MoveChild0,
2307 : /* 3912*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2308 : /* 3915*/ OPC_RecordMemRef,
2309 : /* 3916*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2310 : /* 3917*/ OPC_CheckFoldableChainNode,
2311 : /* 3918*/ OPC_MoveChild1,
2312 : /* 3919*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2313 : /* 3922*/ OPC_RecordChild0, // #1 = $addr
2314 : /* 3923*/ OPC_RecordChild1, // #2 = $off
2315 : /* 3924*/ OPC_MoveChild1,
2316 : /* 3925*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2317 : /* 3928*/ OPC_MoveParent,
2318 : /* 3929*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2319 : /* 3931*/ OPC_CheckType, MVT::i32,
2320 : /* 3933*/ OPC_MoveParent,
2321 : /* 3934*/ OPC_MoveChild2,
2322 : /* 3935*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2323 : /* 3938*/ OPC_RecordChild0, // #3 = $val
2324 : /* 3939*/ OPC_MoveParent,
2325 : /* 3940*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
2326 : /* 3942*/ OPC_MoveParent,
2327 : /* 3943*/ OPC_MoveParent,
2328 : /* 3944*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2329 : /* 3946*/ OPC_EmitMergeInputChains1_0,
2330 : /* 3947*/ OPC_EmitInteger, MVT::i32, 0,
2331 : /* 3950*/ OPC_EmitConvertToTarget, 2,
2332 : /* 3952*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2333 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2334 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
2335 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2336 : /* 3962*/ /*Scope*/ 59, /*->4022*/
2337 : /* 3963*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2338 : /* 3967*/ OPC_MoveChild0,
2339 : /* 3968*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2340 : /* 3971*/ OPC_MoveChild0,
2341 : /* 3972*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
2342 : /* 3975*/ OPC_RecordMemRef,
2343 : /* 3976*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
2344 : /* 3977*/ OPC_CheckFoldableChainNode,
2345 : /* 3978*/ OPC_MoveChild1,
2346 : /* 3979*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2347 : /* 3982*/ OPC_RecordChild0, // #1 = $addr
2348 : /* 3983*/ OPC_RecordChild1, // #2 = $off
2349 : /* 3984*/ OPC_MoveChild1,
2350 : /* 3985*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2351 : /* 3988*/ OPC_MoveParent,
2352 : /* 3989*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2353 : /* 3991*/ OPC_CheckType, MVT::i32,
2354 : /* 3993*/ OPC_MoveParent,
2355 : /* 3994*/ OPC_MoveChild2,
2356 : /* 3995*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2357 : /* 3998*/ OPC_RecordChild0, // #3 = $val
2358 : /* 3999*/ OPC_MoveParent,
2359 : /* 4000*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
2360 : /* 4002*/ OPC_MoveParent,
2361 : /* 4003*/ OPC_MoveParent,
2362 : /* 4004*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2363 : /* 4006*/ OPC_EmitMergeInputChains1_0,
2364 : /* 4007*/ OPC_EmitInteger, MVT::i32, 0,
2365 : /* 4010*/ OPC_EmitConvertToTarget, 2,
2366 : /* 4012*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2367 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2368 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
2369 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2370 : /* 4022*/ /*Scope*/ 58, /*->4081*/
2371 : /* 4023*/ OPC_CheckAndImm, 127|128,1/*255*/,
2372 : /* 4026*/ OPC_MoveChild0,
2373 : /* 4027*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2374 : /* 4030*/ OPC_MoveChild0,
2375 : /* 4031*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2376 : /* 4034*/ OPC_RecordMemRef,
2377 : /* 4035*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2378 : /* 4036*/ OPC_CheckFoldableChainNode,
2379 : /* 4037*/ OPC_MoveChild1,
2380 : /* 4038*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2381 : /* 4041*/ OPC_RecordChild0, // #1 = $addr
2382 : /* 4042*/ OPC_RecordChild1, // #2 = $off
2383 : /* 4043*/ OPC_MoveChild1,
2384 : /* 4044*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2385 : /* 4047*/ OPC_MoveParent,
2386 : /* 4048*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2387 : /* 4050*/ OPC_CheckType, MVT::i32,
2388 : /* 4052*/ OPC_MoveParent,
2389 : /* 4053*/ OPC_MoveChild2,
2390 : /* 4054*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2391 : /* 4057*/ OPC_RecordChild0, // #3 = $val
2392 : /* 4058*/ OPC_MoveParent,
2393 : /* 4059*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
2394 : /* 4061*/ OPC_MoveParent,
2395 : /* 4062*/ OPC_MoveParent,
2396 : /* 4063*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2397 : /* 4065*/ OPC_EmitMergeInputChains1_0,
2398 : /* 4066*/ OPC_EmitInteger, MVT::i32, 0,
2399 : /* 4069*/ OPC_EmitConvertToTarget, 2,
2400 : /* 4071*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2401 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2402 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
2403 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2404 : /* 4081*/ /*Scope*/ 59, /*->4141*/
2405 : /* 4082*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2406 : /* 4086*/ OPC_MoveChild0,
2407 : /* 4087*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2408 : /* 4090*/ OPC_MoveChild0,
2409 : /* 4091*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2410 : /* 4094*/ OPC_RecordMemRef,
2411 : /* 4095*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2412 : /* 4096*/ OPC_CheckFoldableChainNode,
2413 : /* 4097*/ OPC_MoveChild1,
2414 : /* 4098*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2415 : /* 4101*/ OPC_RecordChild0, // #1 = $addr
2416 : /* 4102*/ OPC_RecordChild1, // #2 = $off
2417 : /* 4103*/ OPC_MoveChild1,
2418 : /* 4104*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2419 : /* 4107*/ OPC_MoveParent,
2420 : /* 4108*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2421 : /* 4110*/ OPC_CheckType, MVT::i32,
2422 : /* 4112*/ OPC_MoveParent,
2423 : /* 4113*/ OPC_MoveChild2,
2424 : /* 4114*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2425 : /* 4117*/ OPC_RecordChild0, // #3 = $val
2426 : /* 4118*/ OPC_MoveParent,
2427 : /* 4119*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
2428 : /* 4121*/ OPC_MoveParent,
2429 : /* 4122*/ OPC_MoveParent,
2430 : /* 4123*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2431 : /* 4125*/ OPC_EmitMergeInputChains1_0,
2432 : /* 4126*/ OPC_EmitInteger, MVT::i32, 0,
2433 : /* 4129*/ OPC_EmitConvertToTarget, 2,
2434 : /* 4131*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2435 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2436 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
2437 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2438 : /* 4141*/ /*Scope*/ 58, /*->4200*/
2439 : /* 4142*/ OPC_CheckAndImm, 127|128,1/*255*/,
2440 : /* 4145*/ OPC_MoveChild0,
2441 : /* 4146*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2442 : /* 4149*/ OPC_MoveChild0,
2443 : /* 4150*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2444 : /* 4153*/ OPC_RecordMemRef,
2445 : /* 4154*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2446 : /* 4155*/ OPC_CheckFoldableChainNode,
2447 : /* 4156*/ OPC_MoveChild1,
2448 : /* 4157*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2449 : /* 4160*/ OPC_RecordChild0, // #1 = $addr
2450 : /* 4161*/ OPC_RecordChild1, // #2 = $off
2451 : /* 4162*/ OPC_MoveChild1,
2452 : /* 4163*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2453 : /* 4166*/ OPC_MoveParent,
2454 : /* 4167*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2455 : /* 4169*/ OPC_CheckType, MVT::i32,
2456 : /* 4171*/ OPC_MoveParent,
2457 : /* 4172*/ OPC_MoveChild2,
2458 : /* 4173*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2459 : /* 4176*/ OPC_RecordChild0, // #3 = $val
2460 : /* 4177*/ OPC_MoveParent,
2461 : /* 4178*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
2462 : /* 4180*/ OPC_MoveParent,
2463 : /* 4181*/ OPC_MoveParent,
2464 : /* 4182*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2465 : /* 4184*/ OPC_EmitMergeInputChains1_0,
2466 : /* 4185*/ OPC_EmitInteger, MVT::i32, 0,
2467 : /* 4188*/ OPC_EmitConvertToTarget, 2,
2468 : /* 4190*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2469 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2470 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
2471 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2472 : /* 4200*/ /*Scope*/ 59, /*->4260*/
2473 : /* 4201*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2474 : /* 4205*/ OPC_MoveChild0,
2475 : /* 4206*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2476 : /* 4209*/ OPC_MoveChild0,
2477 : /* 4210*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
2478 : /* 4213*/ OPC_RecordMemRef,
2479 : /* 4214*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
2480 : /* 4215*/ OPC_CheckFoldableChainNode,
2481 : /* 4216*/ OPC_MoveChild1,
2482 : /* 4217*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2483 : /* 4220*/ OPC_RecordChild0, // #1 = $addr
2484 : /* 4221*/ OPC_RecordChild1, // #2 = $off
2485 : /* 4222*/ OPC_MoveChild1,
2486 : /* 4223*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2487 : /* 4226*/ OPC_MoveParent,
2488 : /* 4227*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2489 : /* 4229*/ OPC_CheckType, MVT::i32,
2490 : /* 4231*/ OPC_MoveParent,
2491 : /* 4232*/ OPC_MoveChild2,
2492 : /* 4233*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2493 : /* 4236*/ OPC_RecordChild0, // #3 = $val
2494 : /* 4237*/ OPC_MoveParent,
2495 : /* 4238*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
2496 : /* 4240*/ OPC_MoveParent,
2497 : /* 4241*/ OPC_MoveParent,
2498 : /* 4242*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2499 : /* 4244*/ OPC_EmitMergeInputChains1_0,
2500 : /* 4245*/ OPC_EmitInteger, MVT::i32, 0,
2501 : /* 4248*/ OPC_EmitConvertToTarget, 2,
2502 : /* 4250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
2503 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2504 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
2505 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2506 : /* 4260*/ /*Scope*/ 58, /*->4319*/
2507 : /* 4261*/ OPC_CheckAndImm, 127|128,1/*255*/,
2508 : /* 4264*/ OPC_MoveChild0,
2509 : /* 4265*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2510 : /* 4268*/ OPC_MoveChild0,
2511 : /* 4269*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2512 : /* 4272*/ OPC_RecordMemRef,
2513 : /* 4273*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2514 : /* 4274*/ OPC_CheckFoldableChainNode,
2515 : /* 4275*/ OPC_MoveChild1,
2516 : /* 4276*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2517 : /* 4279*/ OPC_RecordChild0, // #1 = $addr
2518 : /* 4280*/ OPC_RecordChild1, // #2 = $off
2519 : /* 4281*/ OPC_MoveChild1,
2520 : /* 4282*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2521 : /* 4285*/ OPC_MoveParent,
2522 : /* 4286*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2523 : /* 4288*/ OPC_CheckType, MVT::i32,
2524 : /* 4290*/ OPC_MoveParent,
2525 : /* 4291*/ OPC_MoveChild2,
2526 : /* 4292*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2527 : /* 4295*/ OPC_RecordChild0, // #3 = $val
2528 : /* 4296*/ OPC_MoveParent,
2529 : /* 4297*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
2530 : /* 4299*/ OPC_MoveParent,
2531 : /* 4300*/ OPC_MoveParent,
2532 : /* 4301*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2533 : /* 4303*/ OPC_EmitMergeInputChains1_0,
2534 : /* 4304*/ OPC_EmitInteger, MVT::i32, 0,
2535 : /* 4307*/ OPC_EmitConvertToTarget, 2,
2536 : /* 4309*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
2537 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2538 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
2539 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2540 : /* 4319*/ /*Scope*/ 59, /*->4379*/
2541 : /* 4320*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2542 : /* 4324*/ OPC_MoveChild0,
2543 : /* 4325*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2544 : /* 4328*/ OPC_MoveChild0,
2545 : /* 4329*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2546 : /* 4332*/ OPC_RecordMemRef,
2547 : /* 4333*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2548 : /* 4334*/ OPC_CheckFoldableChainNode,
2549 : /* 4335*/ OPC_MoveChild1,
2550 : /* 4336*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2551 : /* 4339*/ OPC_RecordChild0, // #1 = $addr
2552 : /* 4340*/ OPC_RecordChild1, // #2 = $off
2553 : /* 4341*/ OPC_MoveChild1,
2554 : /* 4342*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2555 : /* 4345*/ OPC_MoveParent,
2556 : /* 4346*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
2557 : /* 4348*/ OPC_CheckType, MVT::i32,
2558 : /* 4350*/ OPC_MoveParent,
2559 : /* 4351*/ OPC_MoveChild2,
2560 : /* 4352*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2561 : /* 4355*/ OPC_RecordChild0, // #3 = $val
2562 : /* 4356*/ OPC_MoveParent,
2563 : /* 4357*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
2564 : /* 4359*/ OPC_MoveParent,
2565 : /* 4360*/ OPC_MoveParent,
2566 : /* 4361*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2567 : /* 4363*/ OPC_EmitMergeInputChains1_0,
2568 : /* 4364*/ OPC_EmitInteger, MVT::i32, 0,
2569 : /* 4367*/ OPC_EmitConvertToTarget, 2,
2570 : /* 4369*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
2571 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2572 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
2573 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2574 : /* 4379*/ /*Scope*/ 58, /*->4438*/
2575 : /* 4380*/ OPC_CheckAndImm, 127|128,1/*255*/,
2576 : /* 4383*/ OPC_MoveChild0,
2577 : /* 4384*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2578 : /* 4387*/ OPC_MoveChild0,
2579 : /* 4388*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2580 : /* 4391*/ OPC_RecordMemRef,
2581 : /* 4392*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2582 : /* 4393*/ OPC_CheckFoldableChainNode,
2583 : /* 4394*/ OPC_MoveChild1,
2584 : /* 4395*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2585 : /* 4398*/ OPC_RecordChild0, // #1 = $addr
2586 : /* 4399*/ OPC_RecordChild1, // #2 = $off
2587 : /* 4400*/ OPC_MoveChild1,
2588 : /* 4401*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2589 : /* 4404*/ OPC_MoveParent,
2590 : /* 4405*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2591 : /* 4407*/ OPC_CheckType, MVT::i32,
2592 : /* 4409*/ OPC_MoveParent,
2593 : /* 4410*/ OPC_MoveChild2,
2594 : /* 4411*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2595 : /* 4414*/ OPC_RecordChild0, // #3 = $val
2596 : /* 4415*/ OPC_MoveParent,
2597 : /* 4416*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
2598 : /* 4418*/ OPC_MoveParent,
2599 : /* 4419*/ OPC_MoveParent,
2600 : /* 4420*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2601 : /* 4422*/ OPC_EmitMergeInputChains1_0,
2602 : /* 4423*/ OPC_EmitInteger, MVT::i32, 0,
2603 : /* 4426*/ OPC_EmitConvertToTarget, 2,
2604 : /* 4428*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
2605 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2606 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
2607 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2608 : /* 4438*/ /*Scope*/ 59, /*->4498*/
2609 : /* 4439*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2610 : /* 4443*/ OPC_MoveChild0,
2611 : /* 4444*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2612 : /* 4447*/ OPC_MoveChild0,
2613 : /* 4448*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
2614 : /* 4451*/ OPC_RecordMemRef,
2615 : /* 4452*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
2616 : /* 4453*/ OPC_CheckFoldableChainNode,
2617 : /* 4454*/ OPC_MoveChild1,
2618 : /* 4455*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
2619 : /* 4458*/ OPC_RecordChild0, // #1 = $addr
2620 : /* 4459*/ OPC_RecordChild1, // #2 = $off
2621 : /* 4460*/ OPC_MoveChild1,
2622 : /* 4461*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2623 : /* 4464*/ OPC_MoveParent,
2624 : /* 4465*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
2625 : /* 4467*/ OPC_CheckType, MVT::i32,
2626 : /* 4469*/ OPC_MoveParent,
2627 : /* 4470*/ OPC_MoveChild2,
2628 : /* 4471*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2629 : /* 4474*/ OPC_RecordChild0, // #3 = $val
2630 : /* 4475*/ OPC_MoveParent,
2631 : /* 4476*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
2632 : /* 4478*/ OPC_MoveParent,
2633 : /* 4479*/ OPC_MoveParent,
2634 : /* 4480*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2635 : /* 4482*/ OPC_EmitMergeInputChains1_0,
2636 : /* 4483*/ OPC_EmitInteger, MVT::i32, 0,
2637 : /* 4486*/ OPC_EmitConvertToTarget, 2,
2638 : /* 4488*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
2639 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
2640 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
2641 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
2642 : /* 4498*/ /*Scope*/ 54, /*->4553*/
2643 : /* 4499*/ OPC_CheckAndImm, 127|128,1/*255*/,
2644 : /* 4502*/ OPC_MoveChild0,
2645 : /* 4503*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2646 : /* 4506*/ OPC_MoveChild0,
2647 : /* 4507*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2648 : /* 4510*/ OPC_RecordMemRef,
2649 : /* 4511*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2650 : /* 4512*/ OPC_CheckFoldableChainNode,
2651 : /* 4513*/ OPC_MoveChild1,
2652 : /* 4514*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2653 : /* 4517*/ OPC_MoveChild0,
2654 : /* 4518*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2655 : /* 4521*/ OPC_RecordChild0, // #1 = $off
2656 : /* 4522*/ OPC_MoveChild0,
2657 : /* 4523*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2658 : /* 4526*/ OPC_MoveParent,
2659 : /* 4527*/ OPC_MoveParent,
2660 : /* 4528*/ OPC_RecordChild1, // #2 = $addr
2661 : /* 4529*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
2662 : /* 4531*/ OPC_CheckType, MVT::i32,
2663 : /* 4533*/ OPC_MoveParent,
2664 : /* 4534*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2665 : /* 4536*/ OPC_MoveParent,
2666 : /* 4537*/ OPC_MoveParent,
2667 : /* 4538*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2668 : /* 4540*/ OPC_EmitMergeInputChains1_0,
2669 : /* 4541*/ OPC_EmitInteger, MVT::i32, 0,
2670 : /* 4544*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2671 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
2672 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 25
2673 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2674 : /* 4553*/ /*Scope*/ 55, /*->4609*/
2675 : /* 4554*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2676 : /* 4558*/ OPC_MoveChild0,
2677 : /* 4559*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2678 : /* 4562*/ OPC_MoveChild0,
2679 : /* 4563*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2680 : /* 4566*/ OPC_RecordMemRef,
2681 : /* 4567*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2682 : /* 4568*/ OPC_CheckFoldableChainNode,
2683 : /* 4569*/ OPC_MoveChild1,
2684 : /* 4570*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2685 : /* 4573*/ OPC_MoveChild0,
2686 : /* 4574*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2687 : /* 4577*/ OPC_RecordChild0, // #1 = $off
2688 : /* 4578*/ OPC_MoveChild0,
2689 : /* 4579*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2690 : /* 4582*/ OPC_MoveParent,
2691 : /* 4583*/ OPC_MoveParent,
2692 : /* 4584*/ OPC_RecordChild1, // #2 = $addr
2693 : /* 4585*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
2694 : /* 4587*/ OPC_CheckType, MVT::i32,
2695 : /* 4589*/ OPC_MoveParent,
2696 : /* 4590*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2697 : /* 4592*/ OPC_MoveParent,
2698 : /* 4593*/ OPC_MoveParent,
2699 : /* 4594*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2700 : /* 4596*/ OPC_EmitMergeInputChains1_0,
2701 : /* 4597*/ OPC_EmitInteger, MVT::i32, 0,
2702 : /* 4600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2703 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
2704 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 25
2705 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2706 : /* 4609*/ /*Scope*/ 52, /*->4662*/
2707 : /* 4610*/ OPC_CheckAndImm, 127|128,1/*255*/,
2708 : /* 4613*/ OPC_MoveChild0,
2709 : /* 4614*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2710 : /* 4617*/ OPC_MoveChild0,
2711 : /* 4618*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2712 : /* 4621*/ OPC_RecordMemRef,
2713 : /* 4622*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2714 : /* 4623*/ OPC_CheckFoldableChainNode,
2715 : /* 4624*/ OPC_MoveChild1,
2716 : /* 4625*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2717 : /* 4628*/ OPC_RecordChild0, // #1 = $addr
2718 : /* 4629*/ OPC_MoveChild1,
2719 : /* 4630*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2720 : /* 4633*/ OPC_RecordChild0, // #2 = $off
2721 : /* 4634*/ OPC_MoveChild0,
2722 : /* 4635*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2723 : /* 4638*/ OPC_MoveParent,
2724 : /* 4639*/ OPC_MoveParent,
2725 : /* 4640*/ OPC_CheckType, MVT::i32,
2726 : /* 4642*/ OPC_MoveParent,
2727 : /* 4643*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2728 : /* 4645*/ OPC_MoveParent,
2729 : /* 4646*/ OPC_MoveParent,
2730 : /* 4647*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2731 : /* 4649*/ OPC_EmitMergeInputChains1_0,
2732 : /* 4650*/ OPC_EmitInteger, MVT::i32, 0,
2733 : /* 4653*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2734 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
2735 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 24
2736 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2737 : /* 4662*/ /*Scope*/ 53, /*->4716*/
2738 : /* 4663*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2739 : /* 4667*/ OPC_MoveChild0,
2740 : /* 4668*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2741 : /* 4671*/ OPC_MoveChild0,
2742 : /* 4672*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2743 : /* 4675*/ OPC_RecordMemRef,
2744 : /* 4676*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2745 : /* 4677*/ OPC_CheckFoldableChainNode,
2746 : /* 4678*/ OPC_MoveChild1,
2747 : /* 4679*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2748 : /* 4682*/ OPC_RecordChild0, // #1 = $addr
2749 : /* 4683*/ OPC_MoveChild1,
2750 : /* 4684*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2751 : /* 4687*/ OPC_RecordChild0, // #2 = $off
2752 : /* 4688*/ OPC_MoveChild0,
2753 : /* 4689*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2754 : /* 4692*/ OPC_MoveParent,
2755 : /* 4693*/ OPC_MoveParent,
2756 : /* 4694*/ OPC_CheckType, MVT::i32,
2757 : /* 4696*/ OPC_MoveParent,
2758 : /* 4697*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2759 : /* 4699*/ OPC_MoveParent,
2760 : /* 4700*/ OPC_MoveParent,
2761 : /* 4701*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2762 : /* 4703*/ OPC_EmitMergeInputChains1_0,
2763 : /* 4704*/ OPC_EmitInteger, MVT::i32, 0,
2764 : /* 4707*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2765 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
2766 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 24
2767 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2768 : /* 4716*/ /*Scope*/ 52, /*->4769*/
2769 : /* 4717*/ OPC_CheckAndImm, 127|128,1/*255*/,
2770 : /* 4720*/ OPC_MoveChild0,
2771 : /* 4721*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2772 : /* 4724*/ OPC_MoveChild0,
2773 : /* 4725*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2774 : /* 4728*/ OPC_RecordMemRef,
2775 : /* 4729*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2776 : /* 4730*/ OPC_CheckFoldableChainNode,
2777 : /* 4731*/ OPC_MoveChild1,
2778 : /* 4732*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2779 : /* 4735*/ OPC_MoveChild0,
2780 : /* 4736*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2781 : /* 4739*/ OPC_RecordChild0, // #1 = $off
2782 : /* 4740*/ OPC_MoveChild0,
2783 : /* 4741*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2784 : /* 4744*/ OPC_MoveParent,
2785 : /* 4745*/ OPC_MoveParent,
2786 : /* 4746*/ OPC_RecordChild1, // #2 = $addr
2787 : /* 4747*/ OPC_CheckType, MVT::i32,
2788 : /* 4749*/ OPC_MoveParent,
2789 : /* 4750*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
2790 : /* 4752*/ OPC_MoveParent,
2791 : /* 4753*/ OPC_MoveParent,
2792 : /* 4754*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2793 : /* 4756*/ OPC_EmitMergeInputChains1_0,
2794 : /* 4757*/ OPC_EmitInteger, MVT::i32, 0,
2795 : /* 4760*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2796 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
2797 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 24
2798 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2799 : /* 4769*/ /*Scope*/ 53, /*->4823*/
2800 : /* 4770*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2801 : /* 4774*/ OPC_MoveChild0,
2802 : /* 4775*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2803 : /* 4778*/ OPC_MoveChild0,
2804 : /* 4779*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
2805 : /* 4782*/ OPC_RecordMemRef,
2806 : /* 4783*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
2807 : /* 4784*/ OPC_CheckFoldableChainNode,
2808 : /* 4785*/ OPC_MoveChild1,
2809 : /* 4786*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
2810 : /* 4789*/ OPC_MoveChild0,
2811 : /* 4790*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2812 : /* 4793*/ OPC_RecordChild0, // #1 = $off
2813 : /* 4794*/ OPC_MoveChild0,
2814 : /* 4795*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2815 : /* 4798*/ OPC_MoveParent,
2816 : /* 4799*/ OPC_MoveParent,
2817 : /* 4800*/ OPC_RecordChild1, // #2 = $addr
2818 : /* 4801*/ OPC_CheckType, MVT::i32,
2819 : /* 4803*/ OPC_MoveParent,
2820 : /* 4804*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
2821 : /* 4806*/ OPC_MoveParent,
2822 : /* 4807*/ OPC_MoveParent,
2823 : /* 4808*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2824 : /* 4810*/ OPC_EmitMergeInputChains1_0,
2825 : /* 4811*/ OPC_EmitInteger, MVT::i32, 0,
2826 : /* 4814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
2827 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
2828 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 24
2829 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
2830 : /* 4823*/ /*Scope*/ 61, /*->4885*/
2831 : /* 4824*/ OPC_CheckAndImm, 127|128,1/*255*/,
2832 : /* 4827*/ OPC_MoveChild0,
2833 : /* 4828*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2834 : /* 4831*/ OPC_MoveChild0,
2835 : /* 4832*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2836 : /* 4835*/ OPC_RecordMemRef,
2837 : /* 4836*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2838 : /* 4837*/ OPC_CheckFoldableChainNode,
2839 : /* 4838*/ OPC_MoveChild1,
2840 : /* 4839*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2841 : /* 4842*/ OPC_RecordChild0, // #1 = $off
2842 : /* 4843*/ OPC_MoveChild0,
2843 : /* 4844*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2844 : /* 4847*/ OPC_MoveParent,
2845 : /* 4848*/ OPC_MoveParent,
2846 : /* 4849*/ OPC_MoveChild2,
2847 : /* 4850*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2848 : /* 4853*/ OPC_RecordChild0, // #2 = $val
2849 : /* 4854*/ OPC_MoveParent,
2850 : /* 4855*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2851 : /* 4857*/ OPC_MoveParent,
2852 : /* 4858*/ OPC_MoveParent,
2853 : /* 4859*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2854 : /* 4861*/ OPC_EmitMergeInputChains1_0,
2855 : /* 4862*/ OPC_EmitInteger, MVT::i32, 0,
2856 : /* 4865*/ OPC_EmitInteger, MVT::i32, 0,
2857 : /* 4868*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2858 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
2859 : /* 4875*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
2860 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
2861 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
2862 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2863 : /* 4885*/ /*Scope*/ 62, /*->4948*/
2864 : /* 4886*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2865 : /* 4890*/ OPC_MoveChild0,
2866 : /* 4891*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2867 : /* 4894*/ OPC_MoveChild0,
2868 : /* 4895*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2869 : /* 4898*/ OPC_RecordMemRef,
2870 : /* 4899*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2871 : /* 4900*/ OPC_CheckFoldableChainNode,
2872 : /* 4901*/ OPC_MoveChild1,
2873 : /* 4902*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2874 : /* 4905*/ OPC_RecordChild0, // #1 = $off
2875 : /* 4906*/ OPC_MoveChild0,
2876 : /* 4907*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2877 : /* 4910*/ OPC_MoveParent,
2878 : /* 4911*/ OPC_MoveParent,
2879 : /* 4912*/ OPC_MoveChild2,
2880 : /* 4913*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2881 : /* 4916*/ OPC_RecordChild0, // #2 = $val
2882 : /* 4917*/ OPC_MoveParent,
2883 : /* 4918*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2884 : /* 4920*/ OPC_MoveParent,
2885 : /* 4921*/ OPC_MoveParent,
2886 : /* 4922*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2887 : /* 4924*/ OPC_EmitMergeInputChains1_0,
2888 : /* 4925*/ OPC_EmitInteger, MVT::i32, 0,
2889 : /* 4928*/ OPC_EmitInteger, MVT::i32, 0,
2890 : /* 4931*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2891 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
2892 : /* 4938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
2893 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
2894 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
2895 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2896 : /* 4948*/ /*Scope*/ 61, /*->5010*/
2897 : /* 4949*/ OPC_CheckAndImm, 127|128,1/*255*/,
2898 : /* 4952*/ OPC_MoveChild0,
2899 : /* 4953*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2900 : /* 4956*/ OPC_MoveChild0,
2901 : /* 4957*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2902 : /* 4960*/ OPC_RecordMemRef,
2903 : /* 4961*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2904 : /* 4962*/ OPC_CheckFoldableChainNode,
2905 : /* 4963*/ OPC_MoveChild1,
2906 : /* 4964*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2907 : /* 4967*/ OPC_RecordChild0, // #1 = $off
2908 : /* 4968*/ OPC_MoveChild0,
2909 : /* 4969*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2910 : /* 4972*/ OPC_MoveParent,
2911 : /* 4973*/ OPC_MoveParent,
2912 : /* 4974*/ OPC_MoveChild2,
2913 : /* 4975*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2914 : /* 4978*/ OPC_RecordChild0, // #2 = $val
2915 : /* 4979*/ OPC_MoveParent,
2916 : /* 4980*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
2917 : /* 4982*/ OPC_MoveParent,
2918 : /* 4983*/ OPC_MoveParent,
2919 : /* 4984*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2920 : /* 4986*/ OPC_EmitMergeInputChains1_0,
2921 : /* 4987*/ OPC_EmitInteger, MVT::i32, 0,
2922 : /* 4990*/ OPC_EmitInteger, MVT::i32, 0,
2923 : /* 4993*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2924 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
2925 : /* 5000*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
2926 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
2927 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
2928 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2929 : /* 5010*/ /*Scope*/ 62, /*->5073*/
2930 : /* 5011*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2931 : /* 5015*/ OPC_MoveChild0,
2932 : /* 5016*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2933 : /* 5019*/ OPC_MoveChild0,
2934 : /* 5020*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
2935 : /* 5023*/ OPC_RecordMemRef,
2936 : /* 5024*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
2937 : /* 5025*/ OPC_CheckFoldableChainNode,
2938 : /* 5026*/ OPC_MoveChild1,
2939 : /* 5027*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2940 : /* 5030*/ OPC_RecordChild0, // #1 = $off
2941 : /* 5031*/ OPC_MoveChild0,
2942 : /* 5032*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
2943 : /* 5035*/ OPC_MoveParent,
2944 : /* 5036*/ OPC_MoveParent,
2945 : /* 5037*/ OPC_MoveChild2,
2946 : /* 5038*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2947 : /* 5041*/ OPC_RecordChild0, // #2 = $val
2948 : /* 5042*/ OPC_MoveParent,
2949 : /* 5043*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
2950 : /* 5045*/ OPC_MoveParent,
2951 : /* 5046*/ OPC_MoveParent,
2952 : /* 5047*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2953 : /* 5049*/ OPC_EmitMergeInputChains1_0,
2954 : /* 5050*/ OPC_EmitInteger, MVT::i32, 0,
2955 : /* 5053*/ OPC_EmitInteger, MVT::i32, 0,
2956 : /* 5056*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2957 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
2958 : /* 5063*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
2959 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
2960 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
2961 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2962 : /* 5073*/ /*Scope*/ 61, /*->5135*/
2963 : /* 5074*/ OPC_CheckAndImm, 127|128,1/*255*/,
2964 : /* 5077*/ OPC_MoveChild0,
2965 : /* 5078*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2966 : /* 5081*/ OPC_MoveChild0,
2967 : /* 5082*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
2968 : /* 5085*/ OPC_RecordMemRef,
2969 : /* 5086*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
2970 : /* 5087*/ OPC_CheckFoldableChainNode,
2971 : /* 5088*/ OPC_MoveChild1,
2972 : /* 5089*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
2973 : /* 5092*/ OPC_RecordChild0, // #1 = $off
2974 : /* 5093*/ OPC_MoveChild0,
2975 : /* 5094*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2976 : /* 5097*/ OPC_MoveParent,
2977 : /* 5098*/ OPC_MoveParent,
2978 : /* 5099*/ OPC_MoveChild2,
2979 : /* 5100*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2980 : /* 5103*/ OPC_RecordChild0, // #2 = $val
2981 : /* 5104*/ OPC_MoveParent,
2982 : /* 5105*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
2983 : /* 5107*/ OPC_MoveParent,
2984 : /* 5108*/ OPC_MoveParent,
2985 : /* 5109*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
2986 : /* 5111*/ OPC_EmitMergeInputChains1_0,
2987 : /* 5112*/ OPC_EmitInteger, MVT::i32, 0,
2988 : /* 5115*/ OPC_EmitInteger, MVT::i32, 0,
2989 : /* 5118*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
2990 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
2991 : /* 5125*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
2992 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
2993 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
2994 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
2995 : /* 5135*/ /*Scope*/ 62, /*->5198*/
2996 : /* 5136*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
2997 : /* 5140*/ OPC_MoveChild0,
2998 : /* 5141*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
2999 : /* 5144*/ OPC_MoveChild0,
3000 : /* 5145*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3001 : /* 5148*/ OPC_RecordMemRef,
3002 : /* 5149*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3003 : /* 5150*/ OPC_CheckFoldableChainNode,
3004 : /* 5151*/ OPC_MoveChild1,
3005 : /* 5152*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3006 : /* 5155*/ OPC_RecordChild0, // #1 = $off
3007 : /* 5156*/ OPC_MoveChild0,
3008 : /* 5157*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3009 : /* 5160*/ OPC_MoveParent,
3010 : /* 5161*/ OPC_MoveParent,
3011 : /* 5162*/ OPC_MoveChild2,
3012 : /* 5163*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3013 : /* 5166*/ OPC_RecordChild0, // #2 = $val
3014 : /* 5167*/ OPC_MoveParent,
3015 : /* 5168*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3016 : /* 5170*/ OPC_MoveParent,
3017 : /* 5171*/ OPC_MoveParent,
3018 : /* 5172*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3019 : /* 5174*/ OPC_EmitMergeInputChains1_0,
3020 : /* 5175*/ OPC_EmitInteger, MVT::i32, 0,
3021 : /* 5178*/ OPC_EmitInteger, MVT::i32, 0,
3022 : /* 5181*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3023 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3024 : /* 5188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
3025 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3026 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
3027 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3028 : /* 5198*/ /*Scope*/ 61, /*->5260*/
3029 : /* 5199*/ OPC_CheckAndImm, 127|128,1/*255*/,
3030 : /* 5202*/ OPC_MoveChild0,
3031 : /* 5203*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3032 : /* 5206*/ OPC_MoveChild0,
3033 : /* 5207*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3034 : /* 5210*/ OPC_RecordMemRef,
3035 : /* 5211*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3036 : /* 5212*/ OPC_CheckFoldableChainNode,
3037 : /* 5213*/ OPC_MoveChild1,
3038 : /* 5214*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3039 : /* 5217*/ OPC_RecordChild0, // #1 = $off
3040 : /* 5218*/ OPC_MoveChild0,
3041 : /* 5219*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3042 : /* 5222*/ OPC_MoveParent,
3043 : /* 5223*/ OPC_MoveParent,
3044 : /* 5224*/ OPC_MoveChild2,
3045 : /* 5225*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3046 : /* 5228*/ OPC_RecordChild0, // #2 = $val
3047 : /* 5229*/ OPC_MoveParent,
3048 : /* 5230*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3049 : /* 5232*/ OPC_MoveParent,
3050 : /* 5233*/ OPC_MoveParent,
3051 : /* 5234*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3052 : /* 5236*/ OPC_EmitMergeInputChains1_0,
3053 : /* 5237*/ OPC_EmitInteger, MVT::i32, 0,
3054 : /* 5240*/ OPC_EmitInteger, MVT::i32, 0,
3055 : /* 5243*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3056 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3057 : /* 5250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
3058 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3059 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
3060 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3061 : /* 5260*/ /*Scope*/ 62, /*->5323*/
3062 : /* 5261*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3063 : /* 5265*/ OPC_MoveChild0,
3064 : /* 5266*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3065 : /* 5269*/ OPC_MoveChild0,
3066 : /* 5270*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3067 : /* 5273*/ OPC_RecordMemRef,
3068 : /* 5274*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3069 : /* 5275*/ OPC_CheckFoldableChainNode,
3070 : /* 5276*/ OPC_MoveChild1,
3071 : /* 5277*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3072 : /* 5280*/ OPC_RecordChild0, // #1 = $off
3073 : /* 5281*/ OPC_MoveChild0,
3074 : /* 5282*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3075 : /* 5285*/ OPC_MoveParent,
3076 : /* 5286*/ OPC_MoveParent,
3077 : /* 5287*/ OPC_MoveChild2,
3078 : /* 5288*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3079 : /* 5291*/ OPC_RecordChild0, // #2 = $val
3080 : /* 5292*/ OPC_MoveParent,
3081 : /* 5293*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3082 : /* 5295*/ OPC_MoveParent,
3083 : /* 5296*/ OPC_MoveParent,
3084 : /* 5297*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3085 : /* 5299*/ OPC_EmitMergeInputChains1_0,
3086 : /* 5300*/ OPC_EmitInteger, MVT::i32, 0,
3087 : /* 5303*/ OPC_EmitInteger, MVT::i32, 0,
3088 : /* 5306*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3089 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3090 : /* 5313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
3091 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3092 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
3093 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3094 : /* 5323*/ /*Scope*/ 61, /*->5385*/
3095 : /* 5324*/ OPC_CheckAndImm, 127|128,1/*255*/,
3096 : /* 5327*/ OPC_MoveChild0,
3097 : /* 5328*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3098 : /* 5331*/ OPC_MoveChild0,
3099 : /* 5332*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3100 : /* 5335*/ OPC_RecordMemRef,
3101 : /* 5336*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3102 : /* 5337*/ OPC_CheckFoldableChainNode,
3103 : /* 5338*/ OPC_MoveChild1,
3104 : /* 5339*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3105 : /* 5342*/ OPC_RecordChild0, // #1 = $off
3106 : /* 5343*/ OPC_MoveChild0,
3107 : /* 5344*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3108 : /* 5347*/ OPC_MoveParent,
3109 : /* 5348*/ OPC_MoveParent,
3110 : /* 5349*/ OPC_MoveChild2,
3111 : /* 5350*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3112 : /* 5353*/ OPC_RecordChild0, // #2 = $val
3113 : /* 5354*/ OPC_MoveParent,
3114 : /* 5355*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3115 : /* 5357*/ OPC_MoveParent,
3116 : /* 5358*/ OPC_MoveParent,
3117 : /* 5359*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3118 : /* 5361*/ OPC_EmitMergeInputChains1_0,
3119 : /* 5362*/ OPC_EmitInteger, MVT::i32, 0,
3120 : /* 5365*/ OPC_EmitInteger, MVT::i32, 0,
3121 : /* 5368*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3122 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3123 : /* 5375*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
3124 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3125 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
3126 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3127 : /* 5385*/ /*Scope*/ 62, /*->5448*/
3128 : /* 5386*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3129 : /* 5390*/ OPC_MoveChild0,
3130 : /* 5391*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3131 : /* 5394*/ OPC_MoveChild0,
3132 : /* 5395*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3133 : /* 5398*/ OPC_RecordMemRef,
3134 : /* 5399*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3135 : /* 5400*/ OPC_CheckFoldableChainNode,
3136 : /* 5401*/ OPC_MoveChild1,
3137 : /* 5402*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3138 : /* 5405*/ OPC_RecordChild0, // #1 = $off
3139 : /* 5406*/ OPC_MoveChild0,
3140 : /* 5407*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3141 : /* 5410*/ OPC_MoveParent,
3142 : /* 5411*/ OPC_MoveParent,
3143 : /* 5412*/ OPC_MoveChild2,
3144 : /* 5413*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3145 : /* 5416*/ OPC_RecordChild0, // #2 = $val
3146 : /* 5417*/ OPC_MoveParent,
3147 : /* 5418*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3148 : /* 5420*/ OPC_MoveParent,
3149 : /* 5421*/ OPC_MoveParent,
3150 : /* 5422*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3151 : /* 5424*/ OPC_EmitMergeInputChains1_0,
3152 : /* 5425*/ OPC_EmitInteger, MVT::i32, 0,
3153 : /* 5428*/ OPC_EmitInteger, MVT::i32, 0,
3154 : /* 5431*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3155 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3156 : /* 5438*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
3157 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3158 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
3159 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3160 : /* 5448*/ /*Scope*/ 61, /*->5510*/
3161 : /* 5449*/ OPC_CheckAndImm, 127|128,1/*255*/,
3162 : /* 5452*/ OPC_MoveChild0,
3163 : /* 5453*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3164 : /* 5456*/ OPC_MoveChild0,
3165 : /* 5457*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3166 : /* 5460*/ OPC_RecordMemRef,
3167 : /* 5461*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3168 : /* 5462*/ OPC_CheckFoldableChainNode,
3169 : /* 5463*/ OPC_MoveChild1,
3170 : /* 5464*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3171 : /* 5467*/ OPC_RecordChild0, // #1 = $off
3172 : /* 5468*/ OPC_MoveChild0,
3173 : /* 5469*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3174 : /* 5472*/ OPC_MoveParent,
3175 : /* 5473*/ OPC_MoveParent,
3176 : /* 5474*/ OPC_MoveChild2,
3177 : /* 5475*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3178 : /* 5478*/ OPC_RecordChild0, // #2 = $val
3179 : /* 5479*/ OPC_MoveParent,
3180 : /* 5480*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3181 : /* 5482*/ OPC_MoveParent,
3182 : /* 5483*/ OPC_MoveParent,
3183 : /* 5484*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3184 : /* 5486*/ OPC_EmitMergeInputChains1_0,
3185 : /* 5487*/ OPC_EmitInteger, MVT::i32, 0,
3186 : /* 5490*/ OPC_EmitInteger, MVT::i32, 0,
3187 : /* 5493*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3188 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3189 : /* 5500*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
3190 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3191 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
3192 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3193 : /* 5510*/ /*Scope*/ 62, /*->5573*/
3194 : /* 5511*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3195 : /* 5515*/ OPC_MoveChild0,
3196 : /* 5516*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3197 : /* 5519*/ OPC_MoveChild0,
3198 : /* 5520*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3199 : /* 5523*/ OPC_RecordMemRef,
3200 : /* 5524*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3201 : /* 5525*/ OPC_CheckFoldableChainNode,
3202 : /* 5526*/ OPC_MoveChild1,
3203 : /* 5527*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3204 : /* 5530*/ OPC_RecordChild0, // #1 = $off
3205 : /* 5531*/ OPC_MoveChild0,
3206 : /* 5532*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3207 : /* 5535*/ OPC_MoveParent,
3208 : /* 5536*/ OPC_MoveParent,
3209 : /* 5537*/ OPC_MoveChild2,
3210 : /* 5538*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3211 : /* 5541*/ OPC_RecordChild0, // #2 = $val
3212 : /* 5542*/ OPC_MoveParent,
3213 : /* 5543*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3214 : /* 5545*/ OPC_MoveParent,
3215 : /* 5546*/ OPC_MoveParent,
3216 : /* 5547*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3217 : /* 5549*/ OPC_EmitMergeInputChains1_0,
3218 : /* 5550*/ OPC_EmitInteger, MVT::i32, 0,
3219 : /* 5553*/ OPC_EmitInteger, MVT::i32, 0,
3220 : /* 5556*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3221 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3222 : /* 5563*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
3223 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3224 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
3225 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3226 : /* 5573*/ /*Scope*/ 61, /*->5635*/
3227 : /* 5574*/ OPC_CheckAndImm, 127|128,1/*255*/,
3228 : /* 5577*/ OPC_MoveChild0,
3229 : /* 5578*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3230 : /* 5581*/ OPC_MoveChild0,
3231 : /* 5582*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3232 : /* 5585*/ OPC_RecordMemRef,
3233 : /* 5586*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3234 : /* 5587*/ OPC_CheckFoldableChainNode,
3235 : /* 5588*/ OPC_MoveChild1,
3236 : /* 5589*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3237 : /* 5592*/ OPC_RecordChild0, // #1 = $off
3238 : /* 5593*/ OPC_MoveChild0,
3239 : /* 5594*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3240 : /* 5597*/ OPC_MoveParent,
3241 : /* 5598*/ OPC_MoveParent,
3242 : /* 5599*/ OPC_MoveChild2,
3243 : /* 5600*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3244 : /* 5603*/ OPC_RecordChild0, // #2 = $val
3245 : /* 5604*/ OPC_MoveParent,
3246 : /* 5605*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3247 : /* 5607*/ OPC_MoveParent,
3248 : /* 5608*/ OPC_MoveParent,
3249 : /* 5609*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3250 : /* 5611*/ OPC_EmitMergeInputChains1_0,
3251 : /* 5612*/ OPC_EmitInteger, MVT::i32, 0,
3252 : /* 5615*/ OPC_EmitInteger, MVT::i32, 0,
3253 : /* 5618*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3254 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3255 : /* 5625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3256 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3257 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
3258 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3259 : /* 5635*/ /*Scope*/ 62, /*->5698*/
3260 : /* 5636*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3261 : /* 5640*/ OPC_MoveChild0,
3262 : /* 5641*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3263 : /* 5644*/ OPC_MoveChild0,
3264 : /* 5645*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3265 : /* 5648*/ OPC_RecordMemRef,
3266 : /* 5649*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3267 : /* 5650*/ OPC_CheckFoldableChainNode,
3268 : /* 5651*/ OPC_MoveChild1,
3269 : /* 5652*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3270 : /* 5655*/ OPC_RecordChild0, // #1 = $off
3271 : /* 5656*/ OPC_MoveChild0,
3272 : /* 5657*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3273 : /* 5660*/ OPC_MoveParent,
3274 : /* 5661*/ OPC_MoveParent,
3275 : /* 5662*/ OPC_MoveChild2,
3276 : /* 5663*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3277 : /* 5666*/ OPC_RecordChild0, // #2 = $val
3278 : /* 5667*/ OPC_MoveParent,
3279 : /* 5668*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3280 : /* 5670*/ OPC_MoveParent,
3281 : /* 5671*/ OPC_MoveParent,
3282 : /* 5672*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3283 : /* 5674*/ OPC_EmitMergeInputChains1_0,
3284 : /* 5675*/ OPC_EmitInteger, MVT::i32, 0,
3285 : /* 5678*/ OPC_EmitInteger, MVT::i32, 0,
3286 : /* 5681*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3287 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3288 : /* 5688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3289 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3290 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
3291 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3292 : /* 5698*/ /*Scope*/ 61, /*->5760*/
3293 : /* 5699*/ OPC_CheckAndImm, 127|128,1/*255*/,
3294 : /* 5702*/ OPC_MoveChild0,
3295 : /* 5703*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3296 : /* 5706*/ OPC_MoveChild0,
3297 : /* 5707*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3298 : /* 5710*/ OPC_RecordMemRef,
3299 : /* 5711*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3300 : /* 5712*/ OPC_CheckFoldableChainNode,
3301 : /* 5713*/ OPC_MoveChild1,
3302 : /* 5714*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3303 : /* 5717*/ OPC_RecordChild0, // #1 = $off
3304 : /* 5718*/ OPC_MoveChild0,
3305 : /* 5719*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3306 : /* 5722*/ OPC_MoveParent,
3307 : /* 5723*/ OPC_MoveParent,
3308 : /* 5724*/ OPC_MoveChild2,
3309 : /* 5725*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3310 : /* 5728*/ OPC_RecordChild0, // #2 = $val
3311 : /* 5729*/ OPC_MoveParent,
3312 : /* 5730*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
3313 : /* 5732*/ OPC_MoveParent,
3314 : /* 5733*/ OPC_MoveParent,
3315 : /* 5734*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3316 : /* 5736*/ OPC_EmitMergeInputChains1_0,
3317 : /* 5737*/ OPC_EmitInteger, MVT::i32, 0,
3318 : /* 5740*/ OPC_EmitInteger, MVT::i32, 0,
3319 : /* 5743*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3320 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3321 : /* 5750*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3322 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3323 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
3324 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3325 : /* 5760*/ /*Scope*/ 62, /*->5823*/
3326 : /* 5761*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3327 : /* 5765*/ OPC_MoveChild0,
3328 : /* 5766*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3329 : /* 5769*/ OPC_MoveChild0,
3330 : /* 5770*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3331 : /* 5773*/ OPC_RecordMemRef,
3332 : /* 5774*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3333 : /* 5775*/ OPC_CheckFoldableChainNode,
3334 : /* 5776*/ OPC_MoveChild1,
3335 : /* 5777*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3336 : /* 5780*/ OPC_RecordChild0, // #1 = $off
3337 : /* 5781*/ OPC_MoveChild0,
3338 : /* 5782*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3339 : /* 5785*/ OPC_MoveParent,
3340 : /* 5786*/ OPC_MoveParent,
3341 : /* 5787*/ OPC_MoveChild2,
3342 : /* 5788*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3343 : /* 5791*/ OPC_RecordChild0, // #2 = $val
3344 : /* 5792*/ OPC_MoveParent,
3345 : /* 5793*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
3346 : /* 5795*/ OPC_MoveParent,
3347 : /* 5796*/ OPC_MoveParent,
3348 : /* 5797*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3349 : /* 5799*/ OPC_EmitMergeInputChains1_0,
3350 : /* 5800*/ OPC_EmitInteger, MVT::i32, 0,
3351 : /* 5803*/ OPC_EmitInteger, MVT::i32, 0,
3352 : /* 5806*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3353 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3354 : /* 5813*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3355 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3356 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
3357 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3358 : /* 5823*/ /*Scope*/ 61, /*->5885*/
3359 : /* 5824*/ OPC_CheckAndImm, 127|128,1/*255*/,
3360 : /* 5827*/ OPC_MoveChild0,
3361 : /* 5828*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3362 : /* 5831*/ OPC_MoveChild0,
3363 : /* 5832*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3364 : /* 5835*/ OPC_RecordMemRef,
3365 : /* 5836*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3366 : /* 5837*/ OPC_CheckFoldableChainNode,
3367 : /* 5838*/ OPC_MoveChild1,
3368 : /* 5839*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3369 : /* 5842*/ OPC_RecordChild0, // #1 = $off
3370 : /* 5843*/ OPC_MoveChild0,
3371 : /* 5844*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3372 : /* 5847*/ OPC_MoveParent,
3373 : /* 5848*/ OPC_MoveParent,
3374 : /* 5849*/ OPC_MoveChild2,
3375 : /* 5850*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3376 : /* 5853*/ OPC_RecordChild0, // #2 = $val
3377 : /* 5854*/ OPC_MoveParent,
3378 : /* 5855*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3379 : /* 5857*/ OPC_MoveParent,
3380 : /* 5858*/ OPC_MoveParent,
3381 : /* 5859*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3382 : /* 5861*/ OPC_EmitMergeInputChains1_0,
3383 : /* 5862*/ OPC_EmitInteger, MVT::i32, 0,
3384 : /* 5865*/ OPC_EmitInteger, MVT::i32, 0,
3385 : /* 5868*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3386 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3387 : /* 5875*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3388 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3389 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
3390 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3391 : /* 5885*/ /*Scope*/ 62, /*->5948*/
3392 : /* 5886*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3393 : /* 5890*/ OPC_MoveChild0,
3394 : /* 5891*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3395 : /* 5894*/ OPC_MoveChild0,
3396 : /* 5895*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3397 : /* 5898*/ OPC_RecordMemRef,
3398 : /* 5899*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3399 : /* 5900*/ OPC_CheckFoldableChainNode,
3400 : /* 5901*/ OPC_MoveChild1,
3401 : /* 5902*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3402 : /* 5905*/ OPC_RecordChild0, // #1 = $off
3403 : /* 5906*/ OPC_MoveChild0,
3404 : /* 5907*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3405 : /* 5910*/ OPC_MoveParent,
3406 : /* 5911*/ OPC_MoveParent,
3407 : /* 5912*/ OPC_MoveChild2,
3408 : /* 5913*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3409 : /* 5916*/ OPC_RecordChild0, // #2 = $val
3410 : /* 5917*/ OPC_MoveParent,
3411 : /* 5918*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3412 : /* 5920*/ OPC_MoveParent,
3413 : /* 5921*/ OPC_MoveParent,
3414 : /* 5922*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3415 : /* 5924*/ OPC_EmitMergeInputChains1_0,
3416 : /* 5925*/ OPC_EmitInteger, MVT::i32, 0,
3417 : /* 5928*/ OPC_EmitInteger, MVT::i32, 0,
3418 : /* 5931*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3419 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3420 : /* 5938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3421 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3422 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
3423 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3424 : /* 5948*/ /*Scope*/ 61, /*->6010*/
3425 : /* 5949*/ OPC_CheckAndImm, 127|128,1/*255*/,
3426 : /* 5952*/ OPC_MoveChild0,
3427 : /* 5953*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3428 : /* 5956*/ OPC_MoveChild0,
3429 : /* 5957*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3430 : /* 5960*/ OPC_RecordMemRef,
3431 : /* 5961*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3432 : /* 5962*/ OPC_CheckFoldableChainNode,
3433 : /* 5963*/ OPC_MoveChild1,
3434 : /* 5964*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3435 : /* 5967*/ OPC_RecordChild0, // #1 = $off
3436 : /* 5968*/ OPC_MoveChild0,
3437 : /* 5969*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3438 : /* 5972*/ OPC_MoveParent,
3439 : /* 5973*/ OPC_MoveParent,
3440 : /* 5974*/ OPC_MoveChild2,
3441 : /* 5975*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3442 : /* 5978*/ OPC_RecordChild0, // #2 = $val
3443 : /* 5979*/ OPC_MoveParent,
3444 : /* 5980*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
3445 : /* 5982*/ OPC_MoveParent,
3446 : /* 5983*/ OPC_MoveParent,
3447 : /* 5984*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3448 : /* 5986*/ OPC_EmitMergeInputChains1_0,
3449 : /* 5987*/ OPC_EmitInteger, MVT::i32, 0,
3450 : /* 5990*/ OPC_EmitInteger, MVT::i32, 0,
3451 : /* 5993*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3452 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3453 : /* 6000*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3454 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3455 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
3456 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3457 : /* 6010*/ /*Scope*/ 62, /*->6073*/
3458 : /* 6011*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3459 : /* 6015*/ OPC_MoveChild0,
3460 : /* 6016*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3461 : /* 6019*/ OPC_MoveChild0,
3462 : /* 6020*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
3463 : /* 6023*/ OPC_RecordMemRef,
3464 : /* 6024*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
3465 : /* 6025*/ OPC_CheckFoldableChainNode,
3466 : /* 6026*/ OPC_MoveChild1,
3467 : /* 6027*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3468 : /* 6030*/ OPC_RecordChild0, // #1 = $off
3469 : /* 6031*/ OPC_MoveChild0,
3470 : /* 6032*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3471 : /* 6035*/ OPC_MoveParent,
3472 : /* 6036*/ OPC_MoveParent,
3473 : /* 6037*/ OPC_MoveChild2,
3474 : /* 6038*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3475 : /* 6041*/ OPC_RecordChild0, // #2 = $val
3476 : /* 6042*/ OPC_MoveParent,
3477 : /* 6043*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
3478 : /* 6045*/ OPC_MoveParent,
3479 : /* 6046*/ OPC_MoveParent,
3480 : /* 6047*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3481 : /* 6049*/ OPC_EmitMergeInputChains1_0,
3482 : /* 6050*/ OPC_EmitInteger, MVT::i32, 0,
3483 : /* 6053*/ OPC_EmitInteger, MVT::i32, 0,
3484 : /* 6056*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3485 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3486 : /* 6063*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
3487 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3488 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
3489 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3490 : /* 6073*/ /*Scope*/ 61, /*->6135*/
3491 : /* 6074*/ OPC_CheckAndImm, 127|128,1/*255*/,
3492 : /* 6077*/ OPC_MoveChild0,
3493 : /* 6078*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3494 : /* 6081*/ OPC_MoveChild0,
3495 : /* 6082*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3496 : /* 6085*/ OPC_RecordMemRef,
3497 : /* 6086*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3498 : /* 6087*/ OPC_CheckFoldableChainNode,
3499 : /* 6088*/ OPC_MoveChild1,
3500 : /* 6089*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3501 : /* 6092*/ OPC_RecordChild0, // #1 = $off
3502 : /* 6093*/ OPC_MoveChild0,
3503 : /* 6094*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3504 : /* 6097*/ OPC_MoveParent,
3505 : /* 6098*/ OPC_MoveParent,
3506 : /* 6099*/ OPC_MoveChild2,
3507 : /* 6100*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3508 : /* 6103*/ OPC_RecordChild0, // #2 = $val
3509 : /* 6104*/ OPC_MoveParent,
3510 : /* 6105*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3511 : /* 6107*/ OPC_MoveParent,
3512 : /* 6108*/ OPC_MoveParent,
3513 : /* 6109*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3514 : /* 6111*/ OPC_EmitMergeInputChains1_0,
3515 : /* 6112*/ OPC_EmitInteger, MVT::i32, 0,
3516 : /* 6115*/ OPC_EmitInteger, MVT::i32, 0,
3517 : /* 6118*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3518 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3519 : /* 6125*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
3520 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3521 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
3522 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3523 : /* 6135*/ /*Scope*/ 62, /*->6198*/
3524 : /* 6136*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3525 : /* 6140*/ OPC_MoveChild0,
3526 : /* 6141*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3527 : /* 6144*/ OPC_MoveChild0,
3528 : /* 6145*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3529 : /* 6148*/ OPC_RecordMemRef,
3530 : /* 6149*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3531 : /* 6150*/ OPC_CheckFoldableChainNode,
3532 : /* 6151*/ OPC_MoveChild1,
3533 : /* 6152*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3534 : /* 6155*/ OPC_RecordChild0, // #1 = $off
3535 : /* 6156*/ OPC_MoveChild0,
3536 : /* 6157*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3537 : /* 6160*/ OPC_MoveParent,
3538 : /* 6161*/ OPC_MoveParent,
3539 : /* 6162*/ OPC_MoveChild2,
3540 : /* 6163*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3541 : /* 6166*/ OPC_RecordChild0, // #2 = $val
3542 : /* 6167*/ OPC_MoveParent,
3543 : /* 6168*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3544 : /* 6170*/ OPC_MoveParent,
3545 : /* 6171*/ OPC_MoveParent,
3546 : /* 6172*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3547 : /* 6174*/ OPC_EmitMergeInputChains1_0,
3548 : /* 6175*/ OPC_EmitInteger, MVT::i32, 0,
3549 : /* 6178*/ OPC_EmitInteger, MVT::i32, 0,
3550 : /* 6181*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3551 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3552 : /* 6188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
3553 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3554 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
3555 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3556 : /* 6198*/ /*Scope*/ 61, /*->6260*/
3557 : /* 6199*/ OPC_CheckAndImm, 127|128,1/*255*/,
3558 : /* 6202*/ OPC_MoveChild0,
3559 : /* 6203*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3560 : /* 6206*/ OPC_MoveChild0,
3561 : /* 6207*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3562 : /* 6210*/ OPC_RecordMemRef,
3563 : /* 6211*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3564 : /* 6212*/ OPC_CheckFoldableChainNode,
3565 : /* 6213*/ OPC_MoveChild1,
3566 : /* 6214*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3567 : /* 6217*/ OPC_RecordChild0, // #1 = $off
3568 : /* 6218*/ OPC_MoveChild0,
3569 : /* 6219*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3570 : /* 6222*/ OPC_MoveParent,
3571 : /* 6223*/ OPC_MoveParent,
3572 : /* 6224*/ OPC_MoveChild2,
3573 : /* 6225*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3574 : /* 6228*/ OPC_RecordChild0, // #2 = $val
3575 : /* 6229*/ OPC_MoveParent,
3576 : /* 6230*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
3577 : /* 6232*/ OPC_MoveParent,
3578 : /* 6233*/ OPC_MoveParent,
3579 : /* 6234*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3580 : /* 6236*/ OPC_EmitMergeInputChains1_0,
3581 : /* 6237*/ OPC_EmitInteger, MVT::i32, 0,
3582 : /* 6240*/ OPC_EmitInteger, MVT::i32, 0,
3583 : /* 6243*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3584 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3585 : /* 6250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
3586 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3587 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
3588 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3589 : /* 6260*/ /*Scope*/ 62, /*->6323*/
3590 : /* 6261*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3591 : /* 6265*/ OPC_MoveChild0,
3592 : /* 6266*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3593 : /* 6269*/ OPC_MoveChild0,
3594 : /* 6270*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
3595 : /* 6273*/ OPC_RecordMemRef,
3596 : /* 6274*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
3597 : /* 6275*/ OPC_CheckFoldableChainNode,
3598 : /* 6276*/ OPC_MoveChild1,
3599 : /* 6277*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3600 : /* 6280*/ OPC_RecordChild0, // #1 = $off
3601 : /* 6281*/ OPC_MoveChild0,
3602 : /* 6282*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
3603 : /* 6285*/ OPC_MoveParent,
3604 : /* 6286*/ OPC_MoveParent,
3605 : /* 6287*/ OPC_MoveChild2,
3606 : /* 6288*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3607 : /* 6291*/ OPC_RecordChild0, // #2 = $val
3608 : /* 6292*/ OPC_MoveParent,
3609 : /* 6293*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
3610 : /* 6295*/ OPC_MoveParent,
3611 : /* 6296*/ OPC_MoveParent,
3612 : /* 6297*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3613 : /* 6299*/ OPC_EmitMergeInputChains1_0,
3614 : /* 6300*/ OPC_EmitInteger, MVT::i32, 0,
3615 : /* 6303*/ OPC_EmitInteger, MVT::i32, 0,
3616 : /* 6306*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
3617 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
3618 : /* 6313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
3619 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
3620 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
3621 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
3622 : /* 6323*/ /*Scope*/ 51, /*->6375*/
3623 : /* 6324*/ OPC_CheckAndImm, 127|128,1/*255*/,
3624 : /* 6327*/ OPC_MoveChild0,
3625 : /* 6328*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3626 : /* 6331*/ OPC_MoveChild0,
3627 : /* 6332*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3628 : /* 6335*/ OPC_RecordMemRef,
3629 : /* 6336*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3630 : /* 6337*/ OPC_CheckFoldableChainNode,
3631 : /* 6338*/ OPC_MoveChild1,
3632 : /* 6339*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3633 : /* 6342*/ OPC_RecordChild0, // #1 = $addr
3634 : /* 6343*/ OPC_RecordChild1, // #2 = $off
3635 : /* 6344*/ OPC_MoveChild1,
3636 : /* 6345*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3637 : /* 6348*/ OPC_MoveParent,
3638 : /* 6349*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
3639 : /* 6351*/ OPC_CheckType, MVT::i32,
3640 : /* 6353*/ OPC_MoveParent,
3641 : /* 6354*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
3642 : /* 6356*/ OPC_MoveParent,
3643 : /* 6357*/ OPC_MoveParent,
3644 : /* 6358*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3645 : /* 6360*/ OPC_EmitMergeInputChains1_0,
3646 : /* 6361*/ OPC_EmitInteger, MVT::i32, 0,
3647 : /* 6364*/ OPC_EmitConvertToTarget, 2,
3648 : /* 6366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
3649 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
3650 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
3651 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3652 : /* 6375*/ /*Scope*/ 52, /*->6428*/
3653 : /* 6376*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3654 : /* 6380*/ OPC_MoveChild0,
3655 : /* 6381*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3656 : /* 6384*/ OPC_MoveChild0,
3657 : /* 6385*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3658 : /* 6388*/ OPC_RecordMemRef,
3659 : /* 6389*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3660 : /* 6390*/ OPC_CheckFoldableChainNode,
3661 : /* 6391*/ OPC_MoveChild1,
3662 : /* 6392*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3663 : /* 6395*/ OPC_RecordChild0, // #1 = $addr
3664 : /* 6396*/ OPC_RecordChild1, // #2 = $off
3665 : /* 6397*/ OPC_MoveChild1,
3666 : /* 6398*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3667 : /* 6401*/ OPC_MoveParent,
3668 : /* 6402*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
3669 : /* 6404*/ OPC_CheckType, MVT::i32,
3670 : /* 6406*/ OPC_MoveParent,
3671 : /* 6407*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
3672 : /* 6409*/ OPC_MoveParent,
3673 : /* 6410*/ OPC_MoveParent,
3674 : /* 6411*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3675 : /* 6413*/ OPC_EmitMergeInputChains1_0,
3676 : /* 6414*/ OPC_EmitInteger, MVT::i32, 0,
3677 : /* 6417*/ OPC_EmitConvertToTarget, 2,
3678 : /* 6419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
3679 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
3680 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
3681 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3682 : /* 6428*/ /*Scope*/ 51, /*->6480*/
3683 : /* 6429*/ OPC_CheckAndImm, 127|128,1/*255*/,
3684 : /* 6432*/ OPC_MoveChild0,
3685 : /* 6433*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3686 : /* 6436*/ OPC_MoveChild0,
3687 : /* 6437*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3688 : /* 6440*/ OPC_RecordMemRef,
3689 : /* 6441*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3690 : /* 6442*/ OPC_CheckFoldableChainNode,
3691 : /* 6443*/ OPC_MoveChild1,
3692 : /* 6444*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3693 : /* 6447*/ OPC_RecordChild0, // #1 = $addr
3694 : /* 6448*/ OPC_RecordChild1, // #2 = $off
3695 : /* 6449*/ OPC_MoveChild1,
3696 : /* 6450*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3697 : /* 6453*/ OPC_MoveParent,
3698 : /* 6454*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
3699 : /* 6456*/ OPC_CheckType, MVT::i32,
3700 : /* 6458*/ OPC_MoveParent,
3701 : /* 6459*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
3702 : /* 6461*/ OPC_MoveParent,
3703 : /* 6462*/ OPC_MoveParent,
3704 : /* 6463*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3705 : /* 6465*/ OPC_EmitMergeInputChains1_0,
3706 : /* 6466*/ OPC_EmitInteger, MVT::i32, 0,
3707 : /* 6469*/ OPC_EmitConvertToTarget, 2,
3708 : /* 6471*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
3709 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
3710 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
3711 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3712 : /* 6480*/ /*Scope*/ 52, /*->6533*/
3713 : /* 6481*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3714 : /* 6485*/ OPC_MoveChild0,
3715 : /* 6486*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
3716 : /* 6489*/ OPC_MoveChild0,
3717 : /* 6490*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3718 : /* 6493*/ OPC_RecordMemRef,
3719 : /* 6494*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3720 : /* 6495*/ OPC_CheckFoldableChainNode,
3721 : /* 6496*/ OPC_MoveChild1,
3722 : /* 6497*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
3723 : /* 6500*/ OPC_RecordChild0, // #1 = $addr
3724 : /* 6501*/ OPC_RecordChild1, // #2 = $off
3725 : /* 6502*/ OPC_MoveChild1,
3726 : /* 6503*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3727 : /* 6506*/ OPC_MoveParent,
3728 : /* 6507*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
3729 : /* 6509*/ OPC_CheckType, MVT::i32,
3730 : /* 6511*/ OPC_MoveParent,
3731 : /* 6512*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
3732 : /* 6514*/ OPC_MoveParent,
3733 : /* 6515*/ OPC_MoveParent,
3734 : /* 6516*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3735 : /* 6518*/ OPC_EmitMergeInputChains1_0,
3736 : /* 6519*/ OPC_EmitInteger, MVT::i32, 0,
3737 : /* 6522*/ OPC_EmitConvertToTarget, 2,
3738 : /* 6524*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
3739 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
3740 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
3741 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3742 : /* 6533*/ /*Scope*/ 51, /*->6585*/
3743 : /* 6534*/ OPC_CheckAndImm, 127|128,1/*255*/,
3744 : /* 6537*/ OPC_MoveChild0,
3745 : /* 6538*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3746 : /* 6541*/ OPC_RecordMemRef,
3747 : /* 6542*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3748 : /* 6543*/ OPC_CheckFoldableChainNode,
3749 : /* 6544*/ OPC_MoveChild1,
3750 : /* 6545*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3751 : /* 6548*/ OPC_RecordChild0, // #1 = $addr
3752 : /* 6549*/ OPC_MoveChild1,
3753 : /* 6550*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3754 : /* 6553*/ OPC_RecordChild0, // #2 = $off
3755 : /* 6554*/ OPC_MoveChild0,
3756 : /* 6555*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3757 : /* 6558*/ OPC_MoveParent,
3758 : /* 6559*/ OPC_MoveParent,
3759 : /* 6560*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3760 : /* 6562*/ OPC_CheckType, MVT::i32,
3761 : /* 6564*/ OPC_MoveParent,
3762 : /* 6565*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
3763 : /* 6567*/ OPC_MoveParent,
3764 : /* 6568*/ OPC_CheckType, MVT::i32,
3765 : /* 6570*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3766 : /* 6572*/ OPC_EmitMergeInputChains1_0,
3767 : /* 6573*/ OPC_EmitInteger, MVT::i32, 0,
3768 : /* 6576*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
3769 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
3770 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 22
3771 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3772 : /* 6585*/ /*Scope*/ 52, /*->6638*/
3773 : /* 6586*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3774 : /* 6590*/ OPC_MoveChild0,
3775 : /* 6591*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
3776 : /* 6594*/ OPC_RecordMemRef,
3777 : /* 6595*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
3778 : /* 6596*/ OPC_CheckFoldableChainNode,
3779 : /* 6597*/ OPC_MoveChild1,
3780 : /* 6598*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3781 : /* 6601*/ OPC_RecordChild0, // #1 = $addr
3782 : /* 6602*/ OPC_MoveChild1,
3783 : /* 6603*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3784 : /* 6606*/ OPC_RecordChild0, // #2 = $off
3785 : /* 6607*/ OPC_MoveChild0,
3786 : /* 6608*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3787 : /* 6611*/ OPC_MoveParent,
3788 : /* 6612*/ OPC_MoveParent,
3789 : /* 6613*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3790 : /* 6615*/ OPC_CheckType, MVT::i32,
3791 : /* 6617*/ OPC_MoveParent,
3792 : /* 6618*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
3793 : /* 6620*/ OPC_MoveParent,
3794 : /* 6621*/ OPC_CheckType, MVT::i32,
3795 : /* 6623*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3796 : /* 6625*/ OPC_EmitMergeInputChains1_0,
3797 : /* 6626*/ OPC_EmitInteger, MVT::i32, 0,
3798 : /* 6629*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
3799 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
3800 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 22
3801 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
3802 : /* 6638*/ /*Scope*/ 53, /*->6692*/
3803 : /* 6639*/ OPC_CheckAndImm, 127|128,1/*255*/,
3804 : /* 6642*/ OPC_MoveChild0,
3805 : /* 6643*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
3806 : /* 6646*/ OPC_RecordMemRef,
3807 : /* 6647*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
3808 : /* 6648*/ OPC_CheckFoldableChainNode,
3809 : /* 6649*/ OPC_MoveChild1,
3810 : /* 6650*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3811 : /* 6653*/ OPC_RecordChild0, // #1 = $addr
3812 : /* 6654*/ OPC_MoveChild1,
3813 : /* 6655*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3814 : /* 6658*/ OPC_RecordChild0, // #2 = $off
3815 : /* 6659*/ OPC_MoveChild0,
3816 : /* 6660*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3817 : /* 6663*/ OPC_MoveParent,
3818 : /* 6664*/ OPC_MoveParent,
3819 : /* 6665*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3820 : /* 6667*/ OPC_CheckType, MVT::i32,
3821 : /* 6669*/ OPC_MoveParent,
3822 : /* 6670*/ OPC_RecordChild2, // #3 = $val
3823 : /* 6671*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
3824 : /* 6673*/ OPC_MoveParent,
3825 : /* 6674*/ OPC_CheckType, MVT::i32,
3826 : /* 6676*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3827 : /* 6678*/ OPC_EmitMergeInputChains1_0,
3828 : /* 6679*/ OPC_EmitInteger, MVT::i32, 0,
3829 : /* 6682*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
3830 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3831 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 22
3832 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3833 : /* 6692*/ /*Scope*/ 54, /*->6747*/
3834 : /* 6693*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3835 : /* 6697*/ OPC_MoveChild0,
3836 : /* 6698*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
3837 : /* 6701*/ OPC_RecordMemRef,
3838 : /* 6702*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
3839 : /* 6703*/ OPC_CheckFoldableChainNode,
3840 : /* 6704*/ OPC_MoveChild1,
3841 : /* 6705*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3842 : /* 6708*/ OPC_RecordChild0, // #1 = $addr
3843 : /* 6709*/ OPC_MoveChild1,
3844 : /* 6710*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3845 : /* 6713*/ OPC_RecordChild0, // #2 = $off
3846 : /* 6714*/ OPC_MoveChild0,
3847 : /* 6715*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3848 : /* 6718*/ OPC_MoveParent,
3849 : /* 6719*/ OPC_MoveParent,
3850 : /* 6720*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3851 : /* 6722*/ OPC_CheckType, MVT::i32,
3852 : /* 6724*/ OPC_MoveParent,
3853 : /* 6725*/ OPC_RecordChild2, // #3 = $val
3854 : /* 6726*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
3855 : /* 6728*/ OPC_MoveParent,
3856 : /* 6729*/ OPC_CheckType, MVT::i32,
3857 : /* 6731*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3858 : /* 6733*/ OPC_EmitMergeInputChains1_0,
3859 : /* 6734*/ OPC_EmitInteger, MVT::i32, 0,
3860 : /* 6737*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
3861 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3862 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 22
3863 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3864 : /* 6747*/ /*Scope*/ 53, /*->6801*/
3865 : /* 6748*/ OPC_CheckAndImm, 127|128,1/*255*/,
3866 : /* 6751*/ OPC_MoveChild0,
3867 : /* 6752*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3868 : /* 6755*/ OPC_RecordMemRef,
3869 : /* 6756*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3870 : /* 6757*/ OPC_CheckFoldableChainNode,
3871 : /* 6758*/ OPC_MoveChild1,
3872 : /* 6759*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3873 : /* 6762*/ OPC_RecordChild0, // #1 = $addr
3874 : /* 6763*/ OPC_MoveChild1,
3875 : /* 6764*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3876 : /* 6767*/ OPC_RecordChild0, // #2 = $off
3877 : /* 6768*/ OPC_MoveChild0,
3878 : /* 6769*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3879 : /* 6772*/ OPC_MoveParent,
3880 : /* 6773*/ OPC_MoveParent,
3881 : /* 6774*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3882 : /* 6776*/ OPC_CheckType, MVT::i32,
3883 : /* 6778*/ OPC_MoveParent,
3884 : /* 6779*/ OPC_RecordChild2, // #3 = $val
3885 : /* 6780*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
3886 : /* 6782*/ OPC_MoveParent,
3887 : /* 6783*/ OPC_CheckType, MVT::i32,
3888 : /* 6785*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3889 : /* 6787*/ OPC_EmitMergeInputChains1_0,
3890 : /* 6788*/ OPC_EmitInteger, MVT::i32, 0,
3891 : /* 6791*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
3892 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3893 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 22
3894 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3895 : /* 6801*/ /*Scope*/ 54, /*->6856*/
3896 : /* 6802*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3897 : /* 6806*/ OPC_MoveChild0,
3898 : /* 6807*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
3899 : /* 6810*/ OPC_RecordMemRef,
3900 : /* 6811*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
3901 : /* 6812*/ OPC_CheckFoldableChainNode,
3902 : /* 6813*/ OPC_MoveChild1,
3903 : /* 6814*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3904 : /* 6817*/ OPC_RecordChild0, // #1 = $addr
3905 : /* 6818*/ OPC_MoveChild1,
3906 : /* 6819*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3907 : /* 6822*/ OPC_RecordChild0, // #2 = $off
3908 : /* 6823*/ OPC_MoveChild0,
3909 : /* 6824*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3910 : /* 6827*/ OPC_MoveParent,
3911 : /* 6828*/ OPC_MoveParent,
3912 : /* 6829*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3913 : /* 6831*/ OPC_CheckType, MVT::i32,
3914 : /* 6833*/ OPC_MoveParent,
3915 : /* 6834*/ OPC_RecordChild2, // #3 = $val
3916 : /* 6835*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
3917 : /* 6837*/ OPC_MoveParent,
3918 : /* 6838*/ OPC_CheckType, MVT::i32,
3919 : /* 6840*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3920 : /* 6842*/ OPC_EmitMergeInputChains1_0,
3921 : /* 6843*/ OPC_EmitInteger, MVT::i32, 0,
3922 : /* 6846*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
3923 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3924 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 22
3925 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3926 : /* 6856*/ /*Scope*/ 53, /*->6910*/
3927 : /* 6857*/ OPC_CheckAndImm, 127|128,1/*255*/,
3928 : /* 6860*/ OPC_MoveChild0,
3929 : /* 6861*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3930 : /* 6864*/ OPC_RecordMemRef,
3931 : /* 6865*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3932 : /* 6866*/ OPC_CheckFoldableChainNode,
3933 : /* 6867*/ OPC_MoveChild1,
3934 : /* 6868*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3935 : /* 6871*/ OPC_RecordChild0, // #1 = $addr
3936 : /* 6872*/ OPC_MoveChild1,
3937 : /* 6873*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3938 : /* 6876*/ OPC_RecordChild0, // #2 = $off
3939 : /* 6877*/ OPC_MoveChild0,
3940 : /* 6878*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3941 : /* 6881*/ OPC_MoveParent,
3942 : /* 6882*/ OPC_MoveParent,
3943 : /* 6883*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3944 : /* 6885*/ OPC_CheckType, MVT::i32,
3945 : /* 6887*/ OPC_MoveParent,
3946 : /* 6888*/ OPC_RecordChild2, // #3 = $val
3947 : /* 6889*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
3948 : /* 6891*/ OPC_MoveParent,
3949 : /* 6892*/ OPC_CheckType, MVT::i32,
3950 : /* 6894*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3951 : /* 6896*/ OPC_EmitMergeInputChains1_0,
3952 : /* 6897*/ OPC_EmitInteger, MVT::i32, 0,
3953 : /* 6900*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
3954 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3955 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 22
3956 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3957 : /* 6910*/ /*Scope*/ 54, /*->6965*/
3958 : /* 6911*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
3959 : /* 6915*/ OPC_MoveChild0,
3960 : /* 6916*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
3961 : /* 6919*/ OPC_RecordMemRef,
3962 : /* 6920*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
3963 : /* 6921*/ OPC_CheckFoldableChainNode,
3964 : /* 6922*/ OPC_MoveChild1,
3965 : /* 6923*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3966 : /* 6926*/ OPC_RecordChild0, // #1 = $addr
3967 : /* 6927*/ OPC_MoveChild1,
3968 : /* 6928*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
3969 : /* 6931*/ OPC_RecordChild0, // #2 = $off
3970 : /* 6932*/ OPC_MoveChild0,
3971 : /* 6933*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
3972 : /* 6936*/ OPC_MoveParent,
3973 : /* 6937*/ OPC_MoveParent,
3974 : /* 6938*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
3975 : /* 6940*/ OPC_CheckType, MVT::i32,
3976 : /* 6942*/ OPC_MoveParent,
3977 : /* 6943*/ OPC_RecordChild2, // #3 = $val
3978 : /* 6944*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
3979 : /* 6946*/ OPC_MoveParent,
3980 : /* 6947*/ OPC_CheckType, MVT::i32,
3981 : /* 6949*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
3982 : /* 6951*/ OPC_EmitMergeInputChains1_0,
3983 : /* 6952*/ OPC_EmitInteger, MVT::i32, 0,
3984 : /* 6955*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
3985 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
3986 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 22
3987 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
3988 : /* 6965*/ /*Scope*/ 53, /*->7019*/
3989 : /* 6966*/ OPC_CheckAndImm, 127|128,1/*255*/,
3990 : /* 6969*/ OPC_MoveChild0,
3991 : /* 6970*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
3992 : /* 6973*/ OPC_RecordMemRef,
3993 : /* 6974*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
3994 : /* 6975*/ OPC_CheckFoldableChainNode,
3995 : /* 6976*/ OPC_MoveChild1,
3996 : /* 6977*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3997 : /* 6980*/ OPC_RecordChild0, // #1 = $addr
3998 : /* 6981*/ OPC_MoveChild1,
3999 : /* 6982*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4000 : /* 6985*/ OPC_RecordChild0, // #2 = $off
4001 : /* 6986*/ OPC_MoveChild0,
4002 : /* 6987*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4003 : /* 6990*/ OPC_MoveParent,
4004 : /* 6991*/ OPC_MoveParent,
4005 : /* 6992*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4006 : /* 6994*/ OPC_CheckType, MVT::i32,
4007 : /* 6996*/ OPC_MoveParent,
4008 : /* 6997*/ OPC_RecordChild2, // #3 = $val
4009 : /* 6998*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
4010 : /* 7000*/ OPC_MoveParent,
4011 : /* 7001*/ OPC_CheckType, MVT::i32,
4012 : /* 7003*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4013 : /* 7005*/ OPC_EmitMergeInputChains1_0,
4014 : /* 7006*/ OPC_EmitInteger, MVT::i32, 0,
4015 : /* 7009*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4016 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4017 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 22
4018 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4019 : /* 7019*/ /*Scope*/ 54, /*->7074*/
4020 : /* 7020*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4021 : /* 7024*/ OPC_MoveChild0,
4022 : /* 7025*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4023 : /* 7028*/ OPC_RecordMemRef,
4024 : /* 7029*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4025 : /* 7030*/ OPC_CheckFoldableChainNode,
4026 : /* 7031*/ OPC_MoveChild1,
4027 : /* 7032*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4028 : /* 7035*/ OPC_RecordChild0, // #1 = $addr
4029 : /* 7036*/ OPC_MoveChild1,
4030 : /* 7037*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4031 : /* 7040*/ OPC_RecordChild0, // #2 = $off
4032 : /* 7041*/ OPC_MoveChild0,
4033 : /* 7042*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4034 : /* 7045*/ OPC_MoveParent,
4035 : /* 7046*/ OPC_MoveParent,
4036 : /* 7047*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4037 : /* 7049*/ OPC_CheckType, MVT::i32,
4038 : /* 7051*/ OPC_MoveParent,
4039 : /* 7052*/ OPC_RecordChild2, // #3 = $val
4040 : /* 7053*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
4041 : /* 7055*/ OPC_MoveParent,
4042 : /* 7056*/ OPC_CheckType, MVT::i32,
4043 : /* 7058*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4044 : /* 7060*/ OPC_EmitMergeInputChains1_0,
4045 : /* 7061*/ OPC_EmitInteger, MVT::i32, 0,
4046 : /* 7064*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4047 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4048 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 22
4049 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4050 : /* 7074*/ /*Scope*/ 53, /*->7128*/
4051 : /* 7075*/ OPC_CheckAndImm, 127|128,1/*255*/,
4052 : /* 7078*/ OPC_MoveChild0,
4053 : /* 7079*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4054 : /* 7082*/ OPC_RecordMemRef,
4055 : /* 7083*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4056 : /* 7084*/ OPC_CheckFoldableChainNode,
4057 : /* 7085*/ OPC_MoveChild1,
4058 : /* 7086*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4059 : /* 7089*/ OPC_RecordChild0, // #1 = $addr
4060 : /* 7090*/ OPC_MoveChild1,
4061 : /* 7091*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4062 : /* 7094*/ OPC_RecordChild0, // #2 = $off
4063 : /* 7095*/ OPC_MoveChild0,
4064 : /* 7096*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4065 : /* 7099*/ OPC_MoveParent,
4066 : /* 7100*/ OPC_MoveParent,
4067 : /* 7101*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4068 : /* 7103*/ OPC_CheckType, MVT::i32,
4069 : /* 7105*/ OPC_MoveParent,
4070 : /* 7106*/ OPC_RecordChild2, // #3 = $val
4071 : /* 7107*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
4072 : /* 7109*/ OPC_MoveParent,
4073 : /* 7110*/ OPC_CheckType, MVT::i32,
4074 : /* 7112*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4075 : /* 7114*/ OPC_EmitMergeInputChains1_0,
4076 : /* 7115*/ OPC_EmitInteger, MVT::i32, 0,
4077 : /* 7118*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4078 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4079 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 22
4080 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4081 : /* 7128*/ /*Scope*/ 54, /*->7183*/
4082 : /* 7129*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4083 : /* 7133*/ OPC_MoveChild0,
4084 : /* 7134*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4085 : /* 7137*/ OPC_RecordMemRef,
4086 : /* 7138*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4087 : /* 7139*/ OPC_CheckFoldableChainNode,
4088 : /* 7140*/ OPC_MoveChild1,
4089 : /* 7141*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4090 : /* 7144*/ OPC_RecordChild0, // #1 = $addr
4091 : /* 7145*/ OPC_MoveChild1,
4092 : /* 7146*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4093 : /* 7149*/ OPC_RecordChild0, // #2 = $off
4094 : /* 7150*/ OPC_MoveChild0,
4095 : /* 7151*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4096 : /* 7154*/ OPC_MoveParent,
4097 : /* 7155*/ OPC_MoveParent,
4098 : /* 7156*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4099 : /* 7158*/ OPC_CheckType, MVT::i32,
4100 : /* 7160*/ OPC_MoveParent,
4101 : /* 7161*/ OPC_RecordChild2, // #3 = $val
4102 : /* 7162*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
4103 : /* 7164*/ OPC_MoveParent,
4104 : /* 7165*/ OPC_CheckType, MVT::i32,
4105 : /* 7167*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4106 : /* 7169*/ OPC_EmitMergeInputChains1_0,
4107 : /* 7170*/ OPC_EmitInteger, MVT::i32, 0,
4108 : /* 7173*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4109 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4110 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 22
4111 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4112 : /* 7183*/ /*Scope*/ 53, /*->7237*/
4113 : /* 7184*/ OPC_CheckAndImm, 127|128,1/*255*/,
4114 : /* 7187*/ OPC_MoveChild0,
4115 : /* 7188*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4116 : /* 7191*/ OPC_RecordMemRef,
4117 : /* 7192*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4118 : /* 7193*/ OPC_CheckFoldableChainNode,
4119 : /* 7194*/ OPC_MoveChild1,
4120 : /* 7195*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4121 : /* 7198*/ OPC_RecordChild0, // #1 = $addr
4122 : /* 7199*/ OPC_MoveChild1,
4123 : /* 7200*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4124 : /* 7203*/ OPC_RecordChild0, // #2 = $off
4125 : /* 7204*/ OPC_MoveChild0,
4126 : /* 7205*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4127 : /* 7208*/ OPC_MoveParent,
4128 : /* 7209*/ OPC_MoveParent,
4129 : /* 7210*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4130 : /* 7212*/ OPC_CheckType, MVT::i32,
4131 : /* 7214*/ OPC_MoveParent,
4132 : /* 7215*/ OPC_RecordChild2, // #3 = $val
4133 : /* 7216*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
4134 : /* 7218*/ OPC_MoveParent,
4135 : /* 7219*/ OPC_CheckType, MVT::i32,
4136 : /* 7221*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4137 : /* 7223*/ OPC_EmitMergeInputChains1_0,
4138 : /* 7224*/ OPC_EmitInteger, MVT::i32, 0,
4139 : /* 7227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4140 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4141 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
4142 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4143 : /* 7237*/ /*Scope*/ 54, /*->7292*/
4144 : /* 7238*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4145 : /* 7242*/ OPC_MoveChild0,
4146 : /* 7243*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4147 : /* 7246*/ OPC_RecordMemRef,
4148 : /* 7247*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4149 : /* 7248*/ OPC_CheckFoldableChainNode,
4150 : /* 7249*/ OPC_MoveChild1,
4151 : /* 7250*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4152 : /* 7253*/ OPC_RecordChild0, // #1 = $addr
4153 : /* 7254*/ OPC_MoveChild1,
4154 : /* 7255*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4155 : /* 7258*/ OPC_RecordChild0, // #2 = $off
4156 : /* 7259*/ OPC_MoveChild0,
4157 : /* 7260*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4158 : /* 7263*/ OPC_MoveParent,
4159 : /* 7264*/ OPC_MoveParent,
4160 : /* 7265*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4161 : /* 7267*/ OPC_CheckType, MVT::i32,
4162 : /* 7269*/ OPC_MoveParent,
4163 : /* 7270*/ OPC_RecordChild2, // #3 = $val
4164 : /* 7271*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
4165 : /* 7273*/ OPC_MoveParent,
4166 : /* 7274*/ OPC_CheckType, MVT::i32,
4167 : /* 7276*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4168 : /* 7278*/ OPC_EmitMergeInputChains1_0,
4169 : /* 7279*/ OPC_EmitInteger, MVT::i32, 0,
4170 : /* 7282*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4171 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4172 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
4173 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4174 : /* 7292*/ /*Scope*/ 55, /*->7348*/
4175 : /* 7293*/ OPC_CheckAndImm, 127|128,1/*255*/,
4176 : /* 7296*/ OPC_MoveChild0,
4177 : /* 7297*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4178 : /* 7300*/ OPC_RecordMemRef,
4179 : /* 7301*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
4180 : /* 7302*/ OPC_CheckFoldableChainNode,
4181 : /* 7303*/ OPC_MoveChild1,
4182 : /* 7304*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4183 : /* 7307*/ OPC_RecordChild0, // #1 = $addr
4184 : /* 7308*/ OPC_MoveChild1,
4185 : /* 7309*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4186 : /* 7312*/ OPC_RecordChild0, // #2 = $off
4187 : /* 7313*/ OPC_MoveChild0,
4188 : /* 7314*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4189 : /* 7317*/ OPC_MoveParent,
4190 : /* 7318*/ OPC_MoveParent,
4191 : /* 7319*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4192 : /* 7321*/ OPC_CheckType, MVT::i32,
4193 : /* 7323*/ OPC_MoveParent,
4194 : /* 7324*/ OPC_RecordChild2, // #3 = $exp
4195 : /* 7325*/ OPC_RecordChild3, // #4 = $new
4196 : /* 7326*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
4197 : /* 7328*/ OPC_MoveParent,
4198 : /* 7329*/ OPC_CheckType, MVT::i32,
4199 : /* 7331*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4200 : /* 7333*/ OPC_EmitMergeInputChains1_0,
4201 : /* 7334*/ OPC_EmitInteger, MVT::i32, 0,
4202 : /* 7337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4203 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
4204 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
4205 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4206 : /* 7348*/ /*Scope*/ 56, /*->7405*/
4207 : /* 7349*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4208 : /* 7353*/ OPC_MoveChild0,
4209 : /* 7354*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4210 : /* 7357*/ OPC_RecordMemRef,
4211 : /* 7358*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
4212 : /* 7359*/ OPC_CheckFoldableChainNode,
4213 : /* 7360*/ OPC_MoveChild1,
4214 : /* 7361*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4215 : /* 7364*/ OPC_RecordChild0, // #1 = $addr
4216 : /* 7365*/ OPC_MoveChild1,
4217 : /* 7366*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4218 : /* 7369*/ OPC_RecordChild0, // #2 = $off
4219 : /* 7370*/ OPC_MoveChild0,
4220 : /* 7371*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4221 : /* 7374*/ OPC_MoveParent,
4222 : /* 7375*/ OPC_MoveParent,
4223 : /* 7376*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4224 : /* 7378*/ OPC_CheckType, MVT::i32,
4225 : /* 7380*/ OPC_MoveParent,
4226 : /* 7381*/ OPC_RecordChild2, // #3 = $exp
4227 : /* 7382*/ OPC_RecordChild3, // #4 = $new
4228 : /* 7383*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
4229 : /* 7385*/ OPC_MoveParent,
4230 : /* 7386*/ OPC_CheckType, MVT::i32,
4231 : /* 7388*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4232 : /* 7390*/ OPC_EmitMergeInputChains1_0,
4233 : /* 7391*/ OPC_EmitInteger, MVT::i32, 0,
4234 : /* 7394*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4235 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
4236 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
4237 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4238 : /* 7405*/ /*Scope*/ 51, /*->7457*/
4239 : /* 7406*/ OPC_CheckAndImm, 127|128,1/*255*/,
4240 : /* 7409*/ OPC_MoveChild0,
4241 : /* 7410*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4242 : /* 7413*/ OPC_RecordMemRef,
4243 : /* 7414*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4244 : /* 7415*/ OPC_CheckFoldableChainNode,
4245 : /* 7416*/ OPC_MoveChild1,
4246 : /* 7417*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4247 : /* 7420*/ OPC_MoveChild0,
4248 : /* 7421*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4249 : /* 7424*/ OPC_RecordChild0, // #1 = $off
4250 : /* 7425*/ OPC_MoveChild0,
4251 : /* 7426*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4252 : /* 7429*/ OPC_MoveParent,
4253 : /* 7430*/ OPC_MoveParent,
4254 : /* 7431*/ OPC_RecordChild1, // #2 = $addr
4255 : /* 7432*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4256 : /* 7434*/ OPC_CheckType, MVT::i32,
4257 : /* 7436*/ OPC_MoveParent,
4258 : /* 7437*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
4259 : /* 7439*/ OPC_MoveParent,
4260 : /* 7440*/ OPC_CheckType, MVT::i32,
4261 : /* 7442*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4262 : /* 7444*/ OPC_EmitMergeInputChains1_0,
4263 : /* 7445*/ OPC_EmitInteger, MVT::i32, 0,
4264 : /* 7448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
4265 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
4266 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 22
4267 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
4268 : /* 7457*/ /*Scope*/ 52, /*->7510*/
4269 : /* 7458*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4270 : /* 7462*/ OPC_MoveChild0,
4271 : /* 7463*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4272 : /* 7466*/ OPC_RecordMemRef,
4273 : /* 7467*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4274 : /* 7468*/ OPC_CheckFoldableChainNode,
4275 : /* 7469*/ OPC_MoveChild1,
4276 : /* 7470*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4277 : /* 7473*/ OPC_MoveChild0,
4278 : /* 7474*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4279 : /* 7477*/ OPC_RecordChild0, // #1 = $off
4280 : /* 7478*/ OPC_MoveChild0,
4281 : /* 7479*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4282 : /* 7482*/ OPC_MoveParent,
4283 : /* 7483*/ OPC_MoveParent,
4284 : /* 7484*/ OPC_RecordChild1, // #2 = $addr
4285 : /* 7485*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4286 : /* 7487*/ OPC_CheckType, MVT::i32,
4287 : /* 7489*/ OPC_MoveParent,
4288 : /* 7490*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
4289 : /* 7492*/ OPC_MoveParent,
4290 : /* 7493*/ OPC_CheckType, MVT::i32,
4291 : /* 7495*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4292 : /* 7497*/ OPC_EmitMergeInputChains1_0,
4293 : /* 7498*/ OPC_EmitInteger, MVT::i32, 0,
4294 : /* 7501*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
4295 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
4296 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 22
4297 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
4298 : /* 7510*/ /*Scope*/ 53, /*->7564*/
4299 : /* 7511*/ OPC_CheckAndImm, 127|128,1/*255*/,
4300 : /* 7514*/ OPC_MoveChild0,
4301 : /* 7515*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4302 : /* 7518*/ OPC_RecordMemRef,
4303 : /* 7519*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4304 : /* 7520*/ OPC_CheckFoldableChainNode,
4305 : /* 7521*/ OPC_MoveChild1,
4306 : /* 7522*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4307 : /* 7525*/ OPC_MoveChild0,
4308 : /* 7526*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4309 : /* 7529*/ OPC_RecordChild0, // #1 = $off
4310 : /* 7530*/ OPC_MoveChild0,
4311 : /* 7531*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4312 : /* 7534*/ OPC_MoveParent,
4313 : /* 7535*/ OPC_MoveParent,
4314 : /* 7536*/ OPC_RecordChild1, // #2 = $addr
4315 : /* 7537*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4316 : /* 7539*/ OPC_CheckType, MVT::i32,
4317 : /* 7541*/ OPC_MoveParent,
4318 : /* 7542*/ OPC_RecordChild2, // #3 = $val
4319 : /* 7543*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
4320 : /* 7545*/ OPC_MoveParent,
4321 : /* 7546*/ OPC_CheckType, MVT::i32,
4322 : /* 7548*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4323 : /* 7550*/ OPC_EmitMergeInputChains1_0,
4324 : /* 7551*/ OPC_EmitInteger, MVT::i32, 0,
4325 : /* 7554*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
4326 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4327 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 22
4328 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4329 : /* 7564*/ /*Scope*/ 54, /*->7619*/
4330 : /* 7565*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4331 : /* 7569*/ OPC_MoveChild0,
4332 : /* 7570*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4333 : /* 7573*/ OPC_RecordMemRef,
4334 : /* 7574*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4335 : /* 7575*/ OPC_CheckFoldableChainNode,
4336 : /* 7576*/ OPC_MoveChild1,
4337 : /* 7577*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4338 : /* 7580*/ OPC_MoveChild0,
4339 : /* 7581*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4340 : /* 7584*/ OPC_RecordChild0, // #1 = $off
4341 : /* 7585*/ OPC_MoveChild0,
4342 : /* 7586*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4343 : /* 7589*/ OPC_MoveParent,
4344 : /* 7590*/ OPC_MoveParent,
4345 : /* 7591*/ OPC_RecordChild1, // #2 = $addr
4346 : /* 7592*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4347 : /* 7594*/ OPC_CheckType, MVT::i32,
4348 : /* 7596*/ OPC_MoveParent,
4349 : /* 7597*/ OPC_RecordChild2, // #3 = $val
4350 : /* 7598*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
4351 : /* 7600*/ OPC_MoveParent,
4352 : /* 7601*/ OPC_CheckType, MVT::i32,
4353 : /* 7603*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4354 : /* 7605*/ OPC_EmitMergeInputChains1_0,
4355 : /* 7606*/ OPC_EmitInteger, MVT::i32, 0,
4356 : /* 7609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
4357 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4358 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 22
4359 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4360 : /* 7619*/ /*Scope*/ 53, /*->7673*/
4361 : /* 7620*/ OPC_CheckAndImm, 127|128,1/*255*/,
4362 : /* 7623*/ OPC_MoveChild0,
4363 : /* 7624*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4364 : /* 7627*/ OPC_RecordMemRef,
4365 : /* 7628*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4366 : /* 7629*/ OPC_CheckFoldableChainNode,
4367 : /* 7630*/ OPC_MoveChild1,
4368 : /* 7631*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4369 : /* 7634*/ OPC_MoveChild0,
4370 : /* 7635*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4371 : /* 7638*/ OPC_RecordChild0, // #1 = $off
4372 : /* 7639*/ OPC_MoveChild0,
4373 : /* 7640*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4374 : /* 7643*/ OPC_MoveParent,
4375 : /* 7644*/ OPC_MoveParent,
4376 : /* 7645*/ OPC_RecordChild1, // #2 = $addr
4377 : /* 7646*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4378 : /* 7648*/ OPC_CheckType, MVT::i32,
4379 : /* 7650*/ OPC_MoveParent,
4380 : /* 7651*/ OPC_RecordChild2, // #3 = $val
4381 : /* 7652*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
4382 : /* 7654*/ OPC_MoveParent,
4383 : /* 7655*/ OPC_CheckType, MVT::i32,
4384 : /* 7657*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4385 : /* 7659*/ OPC_EmitMergeInputChains1_0,
4386 : /* 7660*/ OPC_EmitInteger, MVT::i32, 0,
4387 : /* 7663*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
4388 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4389 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 22
4390 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4391 : /* 7673*/ /*Scope*/ 54, /*->7728*/
4392 : /* 7674*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4393 : /* 7678*/ OPC_MoveChild0,
4394 : /* 7679*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4395 : /* 7682*/ OPC_RecordMemRef,
4396 : /* 7683*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4397 : /* 7684*/ OPC_CheckFoldableChainNode,
4398 : /* 7685*/ OPC_MoveChild1,
4399 : /* 7686*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4400 : /* 7689*/ OPC_MoveChild0,
4401 : /* 7690*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4402 : /* 7693*/ OPC_RecordChild0, // #1 = $off
4403 : /* 7694*/ OPC_MoveChild0,
4404 : /* 7695*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4405 : /* 7698*/ OPC_MoveParent,
4406 : /* 7699*/ OPC_MoveParent,
4407 : /* 7700*/ OPC_RecordChild1, // #2 = $addr
4408 : /* 7701*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4409 : /* 7703*/ OPC_CheckType, MVT::i32,
4410 : /* 7705*/ OPC_MoveParent,
4411 : /* 7706*/ OPC_RecordChild2, // #3 = $val
4412 : /* 7707*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
4413 : /* 7709*/ OPC_MoveParent,
4414 : /* 7710*/ OPC_CheckType, MVT::i32,
4415 : /* 7712*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4416 : /* 7714*/ OPC_EmitMergeInputChains1_0,
4417 : /* 7715*/ OPC_EmitInteger, MVT::i32, 0,
4418 : /* 7718*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
4419 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4420 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 22
4421 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4422 : /* 7728*/ /*Scope*/ 53, /*->7782*/
4423 : /* 7729*/ OPC_CheckAndImm, 127|128,1/*255*/,
4424 : /* 7732*/ OPC_MoveChild0,
4425 : /* 7733*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4426 : /* 7736*/ OPC_RecordMemRef,
4427 : /* 7737*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4428 : /* 7738*/ OPC_CheckFoldableChainNode,
4429 : /* 7739*/ OPC_MoveChild1,
4430 : /* 7740*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4431 : /* 7743*/ OPC_MoveChild0,
4432 : /* 7744*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4433 : /* 7747*/ OPC_RecordChild0, // #1 = $off
4434 : /* 7748*/ OPC_MoveChild0,
4435 : /* 7749*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4436 : /* 7752*/ OPC_MoveParent,
4437 : /* 7753*/ OPC_MoveParent,
4438 : /* 7754*/ OPC_RecordChild1, // #2 = $addr
4439 : /* 7755*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4440 : /* 7757*/ OPC_CheckType, MVT::i32,
4441 : /* 7759*/ OPC_MoveParent,
4442 : /* 7760*/ OPC_RecordChild2, // #3 = $val
4443 : /* 7761*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
4444 : /* 7763*/ OPC_MoveParent,
4445 : /* 7764*/ OPC_CheckType, MVT::i32,
4446 : /* 7766*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4447 : /* 7768*/ OPC_EmitMergeInputChains1_0,
4448 : /* 7769*/ OPC_EmitInteger, MVT::i32, 0,
4449 : /* 7772*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
4450 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4451 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 22
4452 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4453 : /* 7782*/ /*Scope*/ 54, /*->7837*/
4454 : /* 7783*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4455 : /* 7787*/ OPC_MoveChild0,
4456 : /* 7788*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4457 : /* 7791*/ OPC_RecordMemRef,
4458 : /* 7792*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4459 : /* 7793*/ OPC_CheckFoldableChainNode,
4460 : /* 7794*/ OPC_MoveChild1,
4461 : /* 7795*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4462 : /* 7798*/ OPC_MoveChild0,
4463 : /* 7799*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4464 : /* 7802*/ OPC_RecordChild0, // #1 = $off
4465 : /* 7803*/ OPC_MoveChild0,
4466 : /* 7804*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4467 : /* 7807*/ OPC_MoveParent,
4468 : /* 7808*/ OPC_MoveParent,
4469 : /* 7809*/ OPC_RecordChild1, // #2 = $addr
4470 : /* 7810*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4471 : /* 7812*/ OPC_CheckType, MVT::i32,
4472 : /* 7814*/ OPC_MoveParent,
4473 : /* 7815*/ OPC_RecordChild2, // #3 = $val
4474 : /* 7816*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
4475 : /* 7818*/ OPC_MoveParent,
4476 : /* 7819*/ OPC_CheckType, MVT::i32,
4477 : /* 7821*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4478 : /* 7823*/ OPC_EmitMergeInputChains1_0,
4479 : /* 7824*/ OPC_EmitInteger, MVT::i32, 0,
4480 : /* 7827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
4481 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4482 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 22
4483 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4484 : /* 7837*/ /*Scope*/ 53, /*->7891*/
4485 : /* 7838*/ OPC_CheckAndImm, 127|128,1/*255*/,
4486 : /* 7841*/ OPC_MoveChild0,
4487 : /* 7842*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4488 : /* 7845*/ OPC_RecordMemRef,
4489 : /* 7846*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4490 : /* 7847*/ OPC_CheckFoldableChainNode,
4491 : /* 7848*/ OPC_MoveChild1,
4492 : /* 7849*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4493 : /* 7852*/ OPC_MoveChild0,
4494 : /* 7853*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4495 : /* 7856*/ OPC_RecordChild0, // #1 = $off
4496 : /* 7857*/ OPC_MoveChild0,
4497 : /* 7858*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4498 : /* 7861*/ OPC_MoveParent,
4499 : /* 7862*/ OPC_MoveParent,
4500 : /* 7863*/ OPC_RecordChild1, // #2 = $addr
4501 : /* 7864*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4502 : /* 7866*/ OPC_CheckType, MVT::i32,
4503 : /* 7868*/ OPC_MoveParent,
4504 : /* 7869*/ OPC_RecordChild2, // #3 = $val
4505 : /* 7870*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
4506 : /* 7872*/ OPC_MoveParent,
4507 : /* 7873*/ OPC_CheckType, MVT::i32,
4508 : /* 7875*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4509 : /* 7877*/ OPC_EmitMergeInputChains1_0,
4510 : /* 7878*/ OPC_EmitInteger, MVT::i32, 0,
4511 : /* 7881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4512 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4513 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 22
4514 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4515 : /* 7891*/ /*Scope*/ 54, /*->7946*/
4516 : /* 7892*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4517 : /* 7896*/ OPC_MoveChild0,
4518 : /* 7897*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4519 : /* 7900*/ OPC_RecordMemRef,
4520 : /* 7901*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4521 : /* 7902*/ OPC_CheckFoldableChainNode,
4522 : /* 7903*/ OPC_MoveChild1,
4523 : /* 7904*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4524 : /* 7907*/ OPC_MoveChild0,
4525 : /* 7908*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4526 : /* 7911*/ OPC_RecordChild0, // #1 = $off
4527 : /* 7912*/ OPC_MoveChild0,
4528 : /* 7913*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4529 : /* 7916*/ OPC_MoveParent,
4530 : /* 7917*/ OPC_MoveParent,
4531 : /* 7918*/ OPC_RecordChild1, // #2 = $addr
4532 : /* 7919*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4533 : /* 7921*/ OPC_CheckType, MVT::i32,
4534 : /* 7923*/ OPC_MoveParent,
4535 : /* 7924*/ OPC_RecordChild2, // #3 = $val
4536 : /* 7925*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
4537 : /* 7927*/ OPC_MoveParent,
4538 : /* 7928*/ OPC_CheckType, MVT::i32,
4539 : /* 7930*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4540 : /* 7932*/ OPC_EmitMergeInputChains1_0,
4541 : /* 7933*/ OPC_EmitInteger, MVT::i32, 0,
4542 : /* 7936*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4543 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4544 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 22
4545 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4546 : /* 7946*/ /*Scope*/ 53, /*->8000*/
4547 : /* 7947*/ OPC_CheckAndImm, 127|128,1/*255*/,
4548 : /* 7950*/ OPC_MoveChild0,
4549 : /* 7951*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4550 : /* 7954*/ OPC_RecordMemRef,
4551 : /* 7955*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4552 : /* 7956*/ OPC_CheckFoldableChainNode,
4553 : /* 7957*/ OPC_MoveChild1,
4554 : /* 7958*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4555 : /* 7961*/ OPC_MoveChild0,
4556 : /* 7962*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4557 : /* 7965*/ OPC_RecordChild0, // #1 = $off
4558 : /* 7966*/ OPC_MoveChild0,
4559 : /* 7967*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4560 : /* 7970*/ OPC_MoveParent,
4561 : /* 7971*/ OPC_MoveParent,
4562 : /* 7972*/ OPC_RecordChild1, // #2 = $addr
4563 : /* 7973*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4564 : /* 7975*/ OPC_CheckType, MVT::i32,
4565 : /* 7977*/ OPC_MoveParent,
4566 : /* 7978*/ OPC_RecordChild2, // #3 = $val
4567 : /* 7979*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
4568 : /* 7981*/ OPC_MoveParent,
4569 : /* 7982*/ OPC_CheckType, MVT::i32,
4570 : /* 7984*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4571 : /* 7986*/ OPC_EmitMergeInputChains1_0,
4572 : /* 7987*/ OPC_EmitInteger, MVT::i32, 0,
4573 : /* 7990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4574 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4575 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 22
4576 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4577 : /* 8000*/ /*Scope*/ 54, /*->8055*/
4578 : /* 8001*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4579 : /* 8005*/ OPC_MoveChild0,
4580 : /* 8006*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
4581 : /* 8009*/ OPC_RecordMemRef,
4582 : /* 8010*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
4583 : /* 8011*/ OPC_CheckFoldableChainNode,
4584 : /* 8012*/ OPC_MoveChild1,
4585 : /* 8013*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4586 : /* 8016*/ OPC_MoveChild0,
4587 : /* 8017*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4588 : /* 8020*/ OPC_RecordChild0, // #1 = $off
4589 : /* 8021*/ OPC_MoveChild0,
4590 : /* 8022*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4591 : /* 8025*/ OPC_MoveParent,
4592 : /* 8026*/ OPC_MoveParent,
4593 : /* 8027*/ OPC_RecordChild1, // #2 = $addr
4594 : /* 8028*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4595 : /* 8030*/ OPC_CheckType, MVT::i32,
4596 : /* 8032*/ OPC_MoveParent,
4597 : /* 8033*/ OPC_RecordChild2, // #3 = $val
4598 : /* 8034*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
4599 : /* 8036*/ OPC_MoveParent,
4600 : /* 8037*/ OPC_CheckType, MVT::i32,
4601 : /* 8039*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4602 : /* 8041*/ OPC_EmitMergeInputChains1_0,
4603 : /* 8042*/ OPC_EmitInteger, MVT::i32, 0,
4604 : /* 8045*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4605 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4606 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 22
4607 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4608 : /* 8055*/ /*Scope*/ 53, /*->8109*/
4609 : /* 8056*/ OPC_CheckAndImm, 127|128,1/*255*/,
4610 : /* 8059*/ OPC_MoveChild0,
4611 : /* 8060*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4612 : /* 8063*/ OPC_RecordMemRef,
4613 : /* 8064*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4614 : /* 8065*/ OPC_CheckFoldableChainNode,
4615 : /* 8066*/ OPC_MoveChild1,
4616 : /* 8067*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4617 : /* 8070*/ OPC_MoveChild0,
4618 : /* 8071*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4619 : /* 8074*/ OPC_RecordChild0, // #1 = $off
4620 : /* 8075*/ OPC_MoveChild0,
4621 : /* 8076*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4622 : /* 8079*/ OPC_MoveParent,
4623 : /* 8080*/ OPC_MoveParent,
4624 : /* 8081*/ OPC_RecordChild1, // #2 = $addr
4625 : /* 8082*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4626 : /* 8084*/ OPC_CheckType, MVT::i32,
4627 : /* 8086*/ OPC_MoveParent,
4628 : /* 8087*/ OPC_RecordChild2, // #3 = $val
4629 : /* 8088*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
4630 : /* 8090*/ OPC_MoveParent,
4631 : /* 8091*/ OPC_CheckType, MVT::i32,
4632 : /* 8093*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4633 : /* 8095*/ OPC_EmitMergeInputChains1_0,
4634 : /* 8096*/ OPC_EmitInteger, MVT::i32, 0,
4635 : /* 8099*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4636 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4637 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
4638 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4639 : /* 8109*/ /*Scope*/ 54, /*->8164*/
4640 : /* 8110*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4641 : /* 8114*/ OPC_MoveChild0,
4642 : /* 8115*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
4643 : /* 8118*/ OPC_RecordMemRef,
4644 : /* 8119*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
4645 : /* 8120*/ OPC_CheckFoldableChainNode,
4646 : /* 8121*/ OPC_MoveChild1,
4647 : /* 8122*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4648 : /* 8125*/ OPC_MoveChild0,
4649 : /* 8126*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4650 : /* 8129*/ OPC_RecordChild0, // #1 = $off
4651 : /* 8130*/ OPC_MoveChild0,
4652 : /* 8131*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4653 : /* 8134*/ OPC_MoveParent,
4654 : /* 8135*/ OPC_MoveParent,
4655 : /* 8136*/ OPC_RecordChild1, // #2 = $addr
4656 : /* 8137*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4657 : /* 8139*/ OPC_CheckType, MVT::i32,
4658 : /* 8141*/ OPC_MoveParent,
4659 : /* 8142*/ OPC_RecordChild2, // #3 = $val
4660 : /* 8143*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
4661 : /* 8145*/ OPC_MoveParent,
4662 : /* 8146*/ OPC_CheckType, MVT::i32,
4663 : /* 8148*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4664 : /* 8150*/ OPC_EmitMergeInputChains1_0,
4665 : /* 8151*/ OPC_EmitInteger, MVT::i32, 0,
4666 : /* 8154*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4667 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
4668 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
4669 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4670 : /* 8164*/ /*Scope*/ 55, /*->8220*/
4671 : /* 8165*/ OPC_CheckAndImm, 127|128,1/*255*/,
4672 : /* 8168*/ OPC_MoveChild0,
4673 : /* 8169*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4674 : /* 8172*/ OPC_RecordMemRef,
4675 : /* 8173*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
4676 : /* 8174*/ OPC_CheckFoldableChainNode,
4677 : /* 8175*/ OPC_MoveChild1,
4678 : /* 8176*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4679 : /* 8179*/ OPC_MoveChild0,
4680 : /* 8180*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4681 : /* 8183*/ OPC_RecordChild0, // #1 = $off
4682 : /* 8184*/ OPC_MoveChild0,
4683 : /* 8185*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4684 : /* 8188*/ OPC_MoveParent,
4685 : /* 8189*/ OPC_MoveParent,
4686 : /* 8190*/ OPC_RecordChild1, // #2 = $addr
4687 : /* 8191*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4688 : /* 8193*/ OPC_CheckType, MVT::i32,
4689 : /* 8195*/ OPC_MoveParent,
4690 : /* 8196*/ OPC_RecordChild2, // #3 = $exp
4691 : /* 8197*/ OPC_RecordChild3, // #4 = $new
4692 : /* 8198*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
4693 : /* 8200*/ OPC_MoveParent,
4694 : /* 8201*/ OPC_CheckType, MVT::i32,
4695 : /* 8203*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4696 : /* 8205*/ OPC_EmitMergeInputChains1_0,
4697 : /* 8206*/ OPC_EmitInteger, MVT::i32, 0,
4698 : /* 8209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4699 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
4700 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
4701 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4702 : /* 8220*/ /*Scope*/ 56, /*->8277*/
4703 : /* 8221*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4704 : /* 8225*/ OPC_MoveChild0,
4705 : /* 8226*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
4706 : /* 8229*/ OPC_RecordMemRef,
4707 : /* 8230*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
4708 : /* 8231*/ OPC_CheckFoldableChainNode,
4709 : /* 8232*/ OPC_MoveChild1,
4710 : /* 8233*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4711 : /* 8236*/ OPC_MoveChild0,
4712 : /* 8237*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4713 : /* 8240*/ OPC_RecordChild0, // #1 = $off
4714 : /* 8241*/ OPC_MoveChild0,
4715 : /* 8242*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
4716 : /* 8245*/ OPC_MoveParent,
4717 : /* 8246*/ OPC_MoveParent,
4718 : /* 8247*/ OPC_RecordChild1, // #2 = $addr
4719 : /* 8248*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
4720 : /* 8250*/ OPC_CheckType, MVT::i32,
4721 : /* 8252*/ OPC_MoveParent,
4722 : /* 8253*/ OPC_RecordChild2, // #3 = $exp
4723 : /* 8254*/ OPC_RecordChild3, // #4 = $new
4724 : /* 8255*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
4725 : /* 8257*/ OPC_MoveParent,
4726 : /* 8258*/ OPC_CheckType, MVT::i32,
4727 : /* 8260*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4728 : /* 8262*/ OPC_EmitMergeInputChains1_0,
4729 : /* 8263*/ OPC_EmitInteger, MVT::i32, 0,
4730 : /* 8266*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
4731 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
4732 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
4733 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
4734 : /* 8277*/ /*Scope*/ 49, /*->8327*/
4735 : /* 8278*/ OPC_CheckAndImm, 127|128,1/*255*/,
4736 : /* 8281*/ OPC_MoveChild0,
4737 : /* 8282*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4738 : /* 8285*/ OPC_RecordMemRef,
4739 : /* 8286*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4740 : /* 8287*/ OPC_CheckFoldableChainNode,
4741 : /* 8288*/ OPC_MoveChild1,
4742 : /* 8289*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4743 : /* 8292*/ OPC_RecordChild0, // #1 = $addr
4744 : /* 8293*/ OPC_MoveChild1,
4745 : /* 8294*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4746 : /* 8297*/ OPC_RecordChild0, // #2 = $off
4747 : /* 8298*/ OPC_MoveChild0,
4748 : /* 8299*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4749 : /* 8302*/ OPC_MoveParent,
4750 : /* 8303*/ OPC_MoveParent,
4751 : /* 8304*/ OPC_CheckType, MVT::i32,
4752 : /* 8306*/ OPC_MoveParent,
4753 : /* 8307*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
4754 : /* 8309*/ OPC_MoveParent,
4755 : /* 8310*/ OPC_CheckType, MVT::i32,
4756 : /* 8312*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4757 : /* 8314*/ OPC_EmitMergeInputChains1_0,
4758 : /* 8315*/ OPC_EmitInteger, MVT::i32, 0,
4759 : /* 8318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
4760 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
4761 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 21
4762 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
4763 : /* 8327*/ /*Scope*/ 50, /*->8378*/
4764 : /* 8328*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4765 : /* 8332*/ OPC_MoveChild0,
4766 : /* 8333*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
4767 : /* 8336*/ OPC_RecordMemRef,
4768 : /* 8337*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
4769 : /* 8338*/ OPC_CheckFoldableChainNode,
4770 : /* 8339*/ OPC_MoveChild1,
4771 : /* 8340*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4772 : /* 8343*/ OPC_RecordChild0, // #1 = $addr
4773 : /* 8344*/ OPC_MoveChild1,
4774 : /* 8345*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4775 : /* 8348*/ OPC_RecordChild0, // #2 = $off
4776 : /* 8349*/ OPC_MoveChild0,
4777 : /* 8350*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4778 : /* 8353*/ OPC_MoveParent,
4779 : /* 8354*/ OPC_MoveParent,
4780 : /* 8355*/ OPC_CheckType, MVT::i32,
4781 : /* 8357*/ OPC_MoveParent,
4782 : /* 8358*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
4783 : /* 8360*/ OPC_MoveParent,
4784 : /* 8361*/ OPC_CheckType, MVT::i32,
4785 : /* 8363*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4786 : /* 8365*/ OPC_EmitMergeInputChains1_0,
4787 : /* 8366*/ OPC_EmitInteger, MVT::i32, 0,
4788 : /* 8369*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
4789 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
4790 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 21
4791 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
4792 : /* 8378*/ /*Scope*/ 51, /*->8430*/
4793 : /* 8379*/ OPC_CheckAndImm, 127|128,1/*255*/,
4794 : /* 8382*/ OPC_MoveChild0,
4795 : /* 8383*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4796 : /* 8386*/ OPC_RecordMemRef,
4797 : /* 8387*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4798 : /* 8388*/ OPC_CheckFoldableChainNode,
4799 : /* 8389*/ OPC_MoveChild1,
4800 : /* 8390*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4801 : /* 8393*/ OPC_RecordChild0, // #1 = $addr
4802 : /* 8394*/ OPC_MoveChild1,
4803 : /* 8395*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4804 : /* 8398*/ OPC_RecordChild0, // #2 = $off
4805 : /* 8399*/ OPC_MoveChild0,
4806 : /* 8400*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4807 : /* 8403*/ OPC_MoveParent,
4808 : /* 8404*/ OPC_MoveParent,
4809 : /* 8405*/ OPC_CheckType, MVT::i32,
4810 : /* 8407*/ OPC_MoveParent,
4811 : /* 8408*/ OPC_RecordChild2, // #3 = $val
4812 : /* 8409*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
4813 : /* 8411*/ OPC_MoveParent,
4814 : /* 8412*/ OPC_CheckType, MVT::i32,
4815 : /* 8414*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4816 : /* 8416*/ OPC_EmitMergeInputChains1_0,
4817 : /* 8417*/ OPC_EmitInteger, MVT::i32, 0,
4818 : /* 8420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
4819 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4820 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 21
4821 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4822 : /* 8430*/ /*Scope*/ 52, /*->8483*/
4823 : /* 8431*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4824 : /* 8435*/ OPC_MoveChild0,
4825 : /* 8436*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
4826 : /* 8439*/ OPC_RecordMemRef,
4827 : /* 8440*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
4828 : /* 8441*/ OPC_CheckFoldableChainNode,
4829 : /* 8442*/ OPC_MoveChild1,
4830 : /* 8443*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4831 : /* 8446*/ OPC_RecordChild0, // #1 = $addr
4832 : /* 8447*/ OPC_MoveChild1,
4833 : /* 8448*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4834 : /* 8451*/ OPC_RecordChild0, // #2 = $off
4835 : /* 8452*/ OPC_MoveChild0,
4836 : /* 8453*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4837 : /* 8456*/ OPC_MoveParent,
4838 : /* 8457*/ OPC_MoveParent,
4839 : /* 8458*/ OPC_CheckType, MVT::i32,
4840 : /* 8460*/ OPC_MoveParent,
4841 : /* 8461*/ OPC_RecordChild2, // #3 = $val
4842 : /* 8462*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
4843 : /* 8464*/ OPC_MoveParent,
4844 : /* 8465*/ OPC_CheckType, MVT::i32,
4845 : /* 8467*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4846 : /* 8469*/ OPC_EmitMergeInputChains1_0,
4847 : /* 8470*/ OPC_EmitInteger, MVT::i32, 0,
4848 : /* 8473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
4849 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4850 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 21
4851 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4852 : /* 8483*/ /*Scope*/ 51, /*->8535*/
4853 : /* 8484*/ OPC_CheckAndImm, 127|128,1/*255*/,
4854 : /* 8487*/ OPC_MoveChild0,
4855 : /* 8488*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4856 : /* 8491*/ OPC_RecordMemRef,
4857 : /* 8492*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4858 : /* 8493*/ OPC_CheckFoldableChainNode,
4859 : /* 8494*/ OPC_MoveChild1,
4860 : /* 8495*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4861 : /* 8498*/ OPC_RecordChild0, // #1 = $addr
4862 : /* 8499*/ OPC_MoveChild1,
4863 : /* 8500*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4864 : /* 8503*/ OPC_RecordChild0, // #2 = $off
4865 : /* 8504*/ OPC_MoveChild0,
4866 : /* 8505*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4867 : /* 8508*/ OPC_MoveParent,
4868 : /* 8509*/ OPC_MoveParent,
4869 : /* 8510*/ OPC_CheckType, MVT::i32,
4870 : /* 8512*/ OPC_MoveParent,
4871 : /* 8513*/ OPC_RecordChild2, // #3 = $val
4872 : /* 8514*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
4873 : /* 8516*/ OPC_MoveParent,
4874 : /* 8517*/ OPC_CheckType, MVT::i32,
4875 : /* 8519*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4876 : /* 8521*/ OPC_EmitMergeInputChains1_0,
4877 : /* 8522*/ OPC_EmitInteger, MVT::i32, 0,
4878 : /* 8525*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
4879 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4880 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 21
4881 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4882 : /* 8535*/ /*Scope*/ 52, /*->8588*/
4883 : /* 8536*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4884 : /* 8540*/ OPC_MoveChild0,
4885 : /* 8541*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
4886 : /* 8544*/ OPC_RecordMemRef,
4887 : /* 8545*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
4888 : /* 8546*/ OPC_CheckFoldableChainNode,
4889 : /* 8547*/ OPC_MoveChild1,
4890 : /* 8548*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4891 : /* 8551*/ OPC_RecordChild0, // #1 = $addr
4892 : /* 8552*/ OPC_MoveChild1,
4893 : /* 8553*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4894 : /* 8556*/ OPC_RecordChild0, // #2 = $off
4895 : /* 8557*/ OPC_MoveChild0,
4896 : /* 8558*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4897 : /* 8561*/ OPC_MoveParent,
4898 : /* 8562*/ OPC_MoveParent,
4899 : /* 8563*/ OPC_CheckType, MVT::i32,
4900 : /* 8565*/ OPC_MoveParent,
4901 : /* 8566*/ OPC_RecordChild2, // #3 = $val
4902 : /* 8567*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
4903 : /* 8569*/ OPC_MoveParent,
4904 : /* 8570*/ OPC_CheckType, MVT::i32,
4905 : /* 8572*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4906 : /* 8574*/ OPC_EmitMergeInputChains1_0,
4907 : /* 8575*/ OPC_EmitInteger, MVT::i32, 0,
4908 : /* 8578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
4909 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4910 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 21
4911 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4912 : /* 8588*/ /*Scope*/ 51, /*->8640*/
4913 : /* 8589*/ OPC_CheckAndImm, 127|128,1/*255*/,
4914 : /* 8592*/ OPC_MoveChild0,
4915 : /* 8593*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4916 : /* 8596*/ OPC_RecordMemRef,
4917 : /* 8597*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4918 : /* 8598*/ OPC_CheckFoldableChainNode,
4919 : /* 8599*/ OPC_MoveChild1,
4920 : /* 8600*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4921 : /* 8603*/ OPC_RecordChild0, // #1 = $addr
4922 : /* 8604*/ OPC_MoveChild1,
4923 : /* 8605*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4924 : /* 8608*/ OPC_RecordChild0, // #2 = $off
4925 : /* 8609*/ OPC_MoveChild0,
4926 : /* 8610*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4927 : /* 8613*/ OPC_MoveParent,
4928 : /* 8614*/ OPC_MoveParent,
4929 : /* 8615*/ OPC_CheckType, MVT::i32,
4930 : /* 8617*/ OPC_MoveParent,
4931 : /* 8618*/ OPC_RecordChild2, // #3 = $val
4932 : /* 8619*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
4933 : /* 8621*/ OPC_MoveParent,
4934 : /* 8622*/ OPC_CheckType, MVT::i32,
4935 : /* 8624*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4936 : /* 8626*/ OPC_EmitMergeInputChains1_0,
4937 : /* 8627*/ OPC_EmitInteger, MVT::i32, 0,
4938 : /* 8630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
4939 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4940 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 21
4941 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4942 : /* 8640*/ /*Scope*/ 52, /*->8693*/
4943 : /* 8641*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
4944 : /* 8645*/ OPC_MoveChild0,
4945 : /* 8646*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
4946 : /* 8649*/ OPC_RecordMemRef,
4947 : /* 8650*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
4948 : /* 8651*/ OPC_CheckFoldableChainNode,
4949 : /* 8652*/ OPC_MoveChild1,
4950 : /* 8653*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4951 : /* 8656*/ OPC_RecordChild0, // #1 = $addr
4952 : /* 8657*/ OPC_MoveChild1,
4953 : /* 8658*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4954 : /* 8661*/ OPC_RecordChild0, // #2 = $off
4955 : /* 8662*/ OPC_MoveChild0,
4956 : /* 8663*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4957 : /* 8666*/ OPC_MoveParent,
4958 : /* 8667*/ OPC_MoveParent,
4959 : /* 8668*/ OPC_CheckType, MVT::i32,
4960 : /* 8670*/ OPC_MoveParent,
4961 : /* 8671*/ OPC_RecordChild2, // #3 = $val
4962 : /* 8672*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
4963 : /* 8674*/ OPC_MoveParent,
4964 : /* 8675*/ OPC_CheckType, MVT::i32,
4965 : /* 8677*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4966 : /* 8679*/ OPC_EmitMergeInputChains1_0,
4967 : /* 8680*/ OPC_EmitInteger, MVT::i32, 0,
4968 : /* 8683*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
4969 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
4970 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 21
4971 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
4972 : /* 8693*/ /*Scope*/ 51, /*->8745*/
4973 : /* 8694*/ OPC_CheckAndImm, 127|128,1/*255*/,
4974 : /* 8697*/ OPC_MoveChild0,
4975 : /* 8698*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
4976 : /* 8701*/ OPC_RecordMemRef,
4977 : /* 8702*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
4978 : /* 8703*/ OPC_CheckFoldableChainNode,
4979 : /* 8704*/ OPC_MoveChild1,
4980 : /* 8705*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4981 : /* 8708*/ OPC_RecordChild0, // #1 = $addr
4982 : /* 8709*/ OPC_MoveChild1,
4983 : /* 8710*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
4984 : /* 8713*/ OPC_RecordChild0, // #2 = $off
4985 : /* 8714*/ OPC_MoveChild0,
4986 : /* 8715*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
4987 : /* 8718*/ OPC_MoveParent,
4988 : /* 8719*/ OPC_MoveParent,
4989 : /* 8720*/ OPC_CheckType, MVT::i32,
4990 : /* 8722*/ OPC_MoveParent,
4991 : /* 8723*/ OPC_RecordChild2, // #3 = $val
4992 : /* 8724*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
4993 : /* 8726*/ OPC_MoveParent,
4994 : /* 8727*/ OPC_CheckType, MVT::i32,
4995 : /* 8729*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
4996 : /* 8731*/ OPC_EmitMergeInputChains1_0,
4997 : /* 8732*/ OPC_EmitInteger, MVT::i32, 0,
4998 : /* 8735*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
4999 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5000 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 21
5001 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5002 : /* 8745*/ /*Scope*/ 52, /*->8798*/
5003 : /* 8746*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5004 : /* 8750*/ OPC_MoveChild0,
5005 : /* 8751*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5006 : /* 8754*/ OPC_RecordMemRef,
5007 : /* 8755*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5008 : /* 8756*/ OPC_CheckFoldableChainNode,
5009 : /* 8757*/ OPC_MoveChild1,
5010 : /* 8758*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5011 : /* 8761*/ OPC_RecordChild0, // #1 = $addr
5012 : /* 8762*/ OPC_MoveChild1,
5013 : /* 8763*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5014 : /* 8766*/ OPC_RecordChild0, // #2 = $off
5015 : /* 8767*/ OPC_MoveChild0,
5016 : /* 8768*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5017 : /* 8771*/ OPC_MoveParent,
5018 : /* 8772*/ OPC_MoveParent,
5019 : /* 8773*/ OPC_CheckType, MVT::i32,
5020 : /* 8775*/ OPC_MoveParent,
5021 : /* 8776*/ OPC_RecordChild2, // #3 = $val
5022 : /* 8777*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
5023 : /* 8779*/ OPC_MoveParent,
5024 : /* 8780*/ OPC_CheckType, MVT::i32,
5025 : /* 8782*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5026 : /* 8784*/ OPC_EmitMergeInputChains1_0,
5027 : /* 8785*/ OPC_EmitInteger, MVT::i32, 0,
5028 : /* 8788*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5029 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5030 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 21
5031 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5032 : /* 8798*/ /*Scope*/ 51, /*->8850*/
5033 : /* 8799*/ OPC_CheckAndImm, 127|128,1/*255*/,
5034 : /* 8802*/ OPC_MoveChild0,
5035 : /* 8803*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5036 : /* 8806*/ OPC_RecordMemRef,
5037 : /* 8807*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5038 : /* 8808*/ OPC_CheckFoldableChainNode,
5039 : /* 8809*/ OPC_MoveChild1,
5040 : /* 8810*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5041 : /* 8813*/ OPC_RecordChild0, // #1 = $addr
5042 : /* 8814*/ OPC_MoveChild1,
5043 : /* 8815*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5044 : /* 8818*/ OPC_RecordChild0, // #2 = $off
5045 : /* 8819*/ OPC_MoveChild0,
5046 : /* 8820*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5047 : /* 8823*/ OPC_MoveParent,
5048 : /* 8824*/ OPC_MoveParent,
5049 : /* 8825*/ OPC_CheckType, MVT::i32,
5050 : /* 8827*/ OPC_MoveParent,
5051 : /* 8828*/ OPC_RecordChild2, // #3 = $val
5052 : /* 8829*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
5053 : /* 8831*/ OPC_MoveParent,
5054 : /* 8832*/ OPC_CheckType, MVT::i32,
5055 : /* 8834*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5056 : /* 8836*/ OPC_EmitMergeInputChains1_0,
5057 : /* 8837*/ OPC_EmitInteger, MVT::i32, 0,
5058 : /* 8840*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5059 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5060 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 21
5061 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5062 : /* 8850*/ /*Scope*/ 52, /*->8903*/
5063 : /* 8851*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5064 : /* 8855*/ OPC_MoveChild0,
5065 : /* 8856*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5066 : /* 8859*/ OPC_RecordMemRef,
5067 : /* 8860*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5068 : /* 8861*/ OPC_CheckFoldableChainNode,
5069 : /* 8862*/ OPC_MoveChild1,
5070 : /* 8863*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5071 : /* 8866*/ OPC_RecordChild0, // #1 = $addr
5072 : /* 8867*/ OPC_MoveChild1,
5073 : /* 8868*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5074 : /* 8871*/ OPC_RecordChild0, // #2 = $off
5075 : /* 8872*/ OPC_MoveChild0,
5076 : /* 8873*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5077 : /* 8876*/ OPC_MoveParent,
5078 : /* 8877*/ OPC_MoveParent,
5079 : /* 8878*/ OPC_CheckType, MVT::i32,
5080 : /* 8880*/ OPC_MoveParent,
5081 : /* 8881*/ OPC_RecordChild2, // #3 = $val
5082 : /* 8882*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
5083 : /* 8884*/ OPC_MoveParent,
5084 : /* 8885*/ OPC_CheckType, MVT::i32,
5085 : /* 8887*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5086 : /* 8889*/ OPC_EmitMergeInputChains1_0,
5087 : /* 8890*/ OPC_EmitInteger, MVT::i32, 0,
5088 : /* 8893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5089 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5090 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 21
5091 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5092 : /* 8903*/ /*Scope*/ 51, /*->8955*/
5093 : /* 8904*/ OPC_CheckAndImm, 127|128,1/*255*/,
5094 : /* 8907*/ OPC_MoveChild0,
5095 : /* 8908*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5096 : /* 8911*/ OPC_RecordMemRef,
5097 : /* 8912*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5098 : /* 8913*/ OPC_CheckFoldableChainNode,
5099 : /* 8914*/ OPC_MoveChild1,
5100 : /* 8915*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5101 : /* 8918*/ OPC_RecordChild0, // #1 = $addr
5102 : /* 8919*/ OPC_MoveChild1,
5103 : /* 8920*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5104 : /* 8923*/ OPC_RecordChild0, // #2 = $off
5105 : /* 8924*/ OPC_MoveChild0,
5106 : /* 8925*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5107 : /* 8928*/ OPC_MoveParent,
5108 : /* 8929*/ OPC_MoveParent,
5109 : /* 8930*/ OPC_CheckType, MVT::i32,
5110 : /* 8932*/ OPC_MoveParent,
5111 : /* 8933*/ OPC_RecordChild2, // #3 = $val
5112 : /* 8934*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
5113 : /* 8936*/ OPC_MoveParent,
5114 : /* 8937*/ OPC_CheckType, MVT::i32,
5115 : /* 8939*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5116 : /* 8941*/ OPC_EmitMergeInputChains1_0,
5117 : /* 8942*/ OPC_EmitInteger, MVT::i32, 0,
5118 : /* 8945*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5119 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5120 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
5121 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5122 : /* 8955*/ /*Scope*/ 52, /*->9008*/
5123 : /* 8956*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5124 : /* 8960*/ OPC_MoveChild0,
5125 : /* 8961*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5126 : /* 8964*/ OPC_RecordMemRef,
5127 : /* 8965*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5128 : /* 8966*/ OPC_CheckFoldableChainNode,
5129 : /* 8967*/ OPC_MoveChild1,
5130 : /* 8968*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5131 : /* 8971*/ OPC_RecordChild0, // #1 = $addr
5132 : /* 8972*/ OPC_MoveChild1,
5133 : /* 8973*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5134 : /* 8976*/ OPC_RecordChild0, // #2 = $off
5135 : /* 8977*/ OPC_MoveChild0,
5136 : /* 8978*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5137 : /* 8981*/ OPC_MoveParent,
5138 : /* 8982*/ OPC_MoveParent,
5139 : /* 8983*/ OPC_CheckType, MVT::i32,
5140 : /* 8985*/ OPC_MoveParent,
5141 : /* 8986*/ OPC_RecordChild2, // #3 = $val
5142 : /* 8987*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
5143 : /* 8989*/ OPC_MoveParent,
5144 : /* 8990*/ OPC_CheckType, MVT::i32,
5145 : /* 8992*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5146 : /* 8994*/ OPC_EmitMergeInputChains1_0,
5147 : /* 8995*/ OPC_EmitInteger, MVT::i32, 0,
5148 : /* 8998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5149 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
5150 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
5151 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5152 : /* 9008*/ /*Scope*/ 53, /*->9062*/
5153 : /* 9009*/ OPC_CheckAndImm, 127|128,1/*255*/,
5154 : /* 9012*/ OPC_MoveChild0,
5155 : /* 9013*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5156 : /* 9016*/ OPC_RecordMemRef,
5157 : /* 9017*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5158 : /* 9018*/ OPC_CheckFoldableChainNode,
5159 : /* 9019*/ OPC_MoveChild1,
5160 : /* 9020*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5161 : /* 9023*/ OPC_RecordChild0, // #1 = $addr
5162 : /* 9024*/ OPC_MoveChild1,
5163 : /* 9025*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5164 : /* 9028*/ OPC_RecordChild0, // #2 = $off
5165 : /* 9029*/ OPC_MoveChild0,
5166 : /* 9030*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5167 : /* 9033*/ OPC_MoveParent,
5168 : /* 9034*/ OPC_MoveParent,
5169 : /* 9035*/ OPC_CheckType, MVT::i32,
5170 : /* 9037*/ OPC_MoveParent,
5171 : /* 9038*/ OPC_RecordChild2, // #3 = $exp
5172 : /* 9039*/ OPC_RecordChild3, // #4 = $new
5173 : /* 9040*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
5174 : /* 9042*/ OPC_MoveParent,
5175 : /* 9043*/ OPC_CheckType, MVT::i32,
5176 : /* 9045*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5177 : /* 9047*/ OPC_EmitMergeInputChains1_0,
5178 : /* 9048*/ OPC_EmitInteger, MVT::i32, 0,
5179 : /* 9051*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5180 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
5181 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
5182 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5183 : /* 9062*/ /*Scope*/ 54, /*->9117*/
5184 : /* 9063*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5185 : /* 9067*/ OPC_MoveChild0,
5186 : /* 9068*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5187 : /* 9071*/ OPC_RecordMemRef,
5188 : /* 9072*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5189 : /* 9073*/ OPC_CheckFoldableChainNode,
5190 : /* 9074*/ OPC_MoveChild1,
5191 : /* 9075*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5192 : /* 9078*/ OPC_RecordChild0, // #1 = $addr
5193 : /* 9079*/ OPC_MoveChild1,
5194 : /* 9080*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5195 : /* 9083*/ OPC_RecordChild0, // #2 = $off
5196 : /* 9084*/ OPC_MoveChild0,
5197 : /* 9085*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5198 : /* 9088*/ OPC_MoveParent,
5199 : /* 9089*/ OPC_MoveParent,
5200 : /* 9090*/ OPC_CheckType, MVT::i32,
5201 : /* 9092*/ OPC_MoveParent,
5202 : /* 9093*/ OPC_RecordChild2, // #3 = $exp
5203 : /* 9094*/ OPC_RecordChild3, // #4 = $new
5204 : /* 9095*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
5205 : /* 9097*/ OPC_MoveParent,
5206 : /* 9098*/ OPC_CheckType, MVT::i32,
5207 : /* 9100*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5208 : /* 9102*/ OPC_EmitMergeInputChains1_0,
5209 : /* 9103*/ OPC_EmitInteger, MVT::i32, 0,
5210 : /* 9106*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5211 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
5212 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
5213 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5214 : /* 9117*/ /*Scope*/ 49, /*->9167*/
5215 : /* 9118*/ OPC_CheckAndImm, 127|128,1/*255*/,
5216 : /* 9121*/ OPC_MoveChild0,
5217 : /* 9122*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5218 : /* 9125*/ OPC_RecordMemRef,
5219 : /* 9126*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5220 : /* 9127*/ OPC_CheckFoldableChainNode,
5221 : /* 9128*/ OPC_MoveChild1,
5222 : /* 9129*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5223 : /* 9132*/ OPC_MoveChild0,
5224 : /* 9133*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5225 : /* 9136*/ OPC_RecordChild0, // #1 = $off
5226 : /* 9137*/ OPC_MoveChild0,
5227 : /* 9138*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5228 : /* 9141*/ OPC_MoveParent,
5229 : /* 9142*/ OPC_MoveParent,
5230 : /* 9143*/ OPC_RecordChild1, // #2 = $addr
5231 : /* 9144*/ OPC_CheckType, MVT::i32,
5232 : /* 9146*/ OPC_MoveParent,
5233 : /* 9147*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5234 : /* 9149*/ OPC_MoveParent,
5235 : /* 9150*/ OPC_CheckType, MVT::i32,
5236 : /* 9152*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5237 : /* 9154*/ OPC_EmitMergeInputChains1_0,
5238 : /* 9155*/ OPC_EmitInteger, MVT::i32, 0,
5239 : /* 9158*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
5240 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
5241 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 21
5242 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
5243 : /* 9167*/ /*Scope*/ 50, /*->9218*/
5244 : /* 9168*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5245 : /* 9172*/ OPC_MoveChild0,
5246 : /* 9173*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5247 : /* 9176*/ OPC_RecordMemRef,
5248 : /* 9177*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5249 : /* 9178*/ OPC_CheckFoldableChainNode,
5250 : /* 9179*/ OPC_MoveChild1,
5251 : /* 9180*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5252 : /* 9183*/ OPC_MoveChild0,
5253 : /* 9184*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5254 : /* 9187*/ OPC_RecordChild0, // #1 = $off
5255 : /* 9188*/ OPC_MoveChild0,
5256 : /* 9189*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5257 : /* 9192*/ OPC_MoveParent,
5258 : /* 9193*/ OPC_MoveParent,
5259 : /* 9194*/ OPC_RecordChild1, // #2 = $addr
5260 : /* 9195*/ OPC_CheckType, MVT::i32,
5261 : /* 9197*/ OPC_MoveParent,
5262 : /* 9198*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5263 : /* 9200*/ OPC_MoveParent,
5264 : /* 9201*/ OPC_CheckType, MVT::i32,
5265 : /* 9203*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5266 : /* 9205*/ OPC_EmitMergeInputChains1_0,
5267 : /* 9206*/ OPC_EmitInteger, MVT::i32, 0,
5268 : /* 9209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
5269 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
5270 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 21
5271 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
5272 : /* 9218*/ /*Scope*/ 51, /*->9270*/
5273 : /* 9219*/ OPC_CheckAndImm, 127|128,1/*255*/,
5274 : /* 9222*/ OPC_MoveChild0,
5275 : /* 9223*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5276 : /* 9226*/ OPC_RecordMemRef,
5277 : /* 9227*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5278 : /* 9228*/ OPC_CheckFoldableChainNode,
5279 : /* 9229*/ OPC_MoveChild1,
5280 : /* 9230*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5281 : /* 9233*/ OPC_MoveChild0,
5282 : /* 9234*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5283 : /* 9237*/ OPC_RecordChild0, // #1 = $off
5284 : /* 9238*/ OPC_MoveChild0,
5285 : /* 9239*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5286 : /* 9242*/ OPC_MoveParent,
5287 : /* 9243*/ OPC_MoveParent,
5288 : /* 9244*/ OPC_RecordChild1, // #2 = $addr
5289 : /* 9245*/ OPC_CheckType, MVT::i32,
5290 : /* 9247*/ OPC_MoveParent,
5291 : /* 9248*/ OPC_RecordChild2, // #3 = $val
5292 : /* 9249*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
5293 : /* 9251*/ OPC_MoveParent,
5294 : /* 9252*/ OPC_CheckType, MVT::i32,
5295 : /* 9254*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5296 : /* 9256*/ OPC_EmitMergeInputChains1_0,
5297 : /* 9257*/ OPC_EmitInteger, MVT::i32, 0,
5298 : /* 9260*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
5299 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5300 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 21
5301 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5302 : /* 9270*/ /*Scope*/ 52, /*->9323*/
5303 : /* 9271*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5304 : /* 9275*/ OPC_MoveChild0,
5305 : /* 9276*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5306 : /* 9279*/ OPC_RecordMemRef,
5307 : /* 9280*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5308 : /* 9281*/ OPC_CheckFoldableChainNode,
5309 : /* 9282*/ OPC_MoveChild1,
5310 : /* 9283*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5311 : /* 9286*/ OPC_MoveChild0,
5312 : /* 9287*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5313 : /* 9290*/ OPC_RecordChild0, // #1 = $off
5314 : /* 9291*/ OPC_MoveChild0,
5315 : /* 9292*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5316 : /* 9295*/ OPC_MoveParent,
5317 : /* 9296*/ OPC_MoveParent,
5318 : /* 9297*/ OPC_RecordChild1, // #2 = $addr
5319 : /* 9298*/ OPC_CheckType, MVT::i32,
5320 : /* 9300*/ OPC_MoveParent,
5321 : /* 9301*/ OPC_RecordChild2, // #3 = $val
5322 : /* 9302*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
5323 : /* 9304*/ OPC_MoveParent,
5324 : /* 9305*/ OPC_CheckType, MVT::i32,
5325 : /* 9307*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5326 : /* 9309*/ OPC_EmitMergeInputChains1_0,
5327 : /* 9310*/ OPC_EmitInteger, MVT::i32, 0,
5328 : /* 9313*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
5329 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5330 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 21
5331 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5332 : /* 9323*/ /*Scope*/ 51, /*->9375*/
5333 : /* 9324*/ OPC_CheckAndImm, 127|128,1/*255*/,
5334 : /* 9327*/ OPC_MoveChild0,
5335 : /* 9328*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5336 : /* 9331*/ OPC_RecordMemRef,
5337 : /* 9332*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5338 : /* 9333*/ OPC_CheckFoldableChainNode,
5339 : /* 9334*/ OPC_MoveChild1,
5340 : /* 9335*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5341 : /* 9338*/ OPC_MoveChild0,
5342 : /* 9339*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5343 : /* 9342*/ OPC_RecordChild0, // #1 = $off
5344 : /* 9343*/ OPC_MoveChild0,
5345 : /* 9344*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5346 : /* 9347*/ OPC_MoveParent,
5347 : /* 9348*/ OPC_MoveParent,
5348 : /* 9349*/ OPC_RecordChild1, // #2 = $addr
5349 : /* 9350*/ OPC_CheckType, MVT::i32,
5350 : /* 9352*/ OPC_MoveParent,
5351 : /* 9353*/ OPC_RecordChild2, // #3 = $val
5352 : /* 9354*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
5353 : /* 9356*/ OPC_MoveParent,
5354 : /* 9357*/ OPC_CheckType, MVT::i32,
5355 : /* 9359*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5356 : /* 9361*/ OPC_EmitMergeInputChains1_0,
5357 : /* 9362*/ OPC_EmitInteger, MVT::i32, 0,
5358 : /* 9365*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
5359 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5360 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 21
5361 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5362 : /* 9375*/ /*Scope*/ 52, /*->9428*/
5363 : /* 9376*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5364 : /* 9380*/ OPC_MoveChild0,
5365 : /* 9381*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5366 : /* 9384*/ OPC_RecordMemRef,
5367 : /* 9385*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5368 : /* 9386*/ OPC_CheckFoldableChainNode,
5369 : /* 9387*/ OPC_MoveChild1,
5370 : /* 9388*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5371 : /* 9391*/ OPC_MoveChild0,
5372 : /* 9392*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5373 : /* 9395*/ OPC_RecordChild0, // #1 = $off
5374 : /* 9396*/ OPC_MoveChild0,
5375 : /* 9397*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5376 : /* 9400*/ OPC_MoveParent,
5377 : /* 9401*/ OPC_MoveParent,
5378 : /* 9402*/ OPC_RecordChild1, // #2 = $addr
5379 : /* 9403*/ OPC_CheckType, MVT::i32,
5380 : /* 9405*/ OPC_MoveParent,
5381 : /* 9406*/ OPC_RecordChild2, // #3 = $val
5382 : /* 9407*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
5383 : /* 9409*/ OPC_MoveParent,
5384 : /* 9410*/ OPC_CheckType, MVT::i32,
5385 : /* 9412*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5386 : /* 9414*/ OPC_EmitMergeInputChains1_0,
5387 : /* 9415*/ OPC_EmitInteger, MVT::i32, 0,
5388 : /* 9418*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
5389 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5390 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 21
5391 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5392 : /* 9428*/ /*Scope*/ 51, /*->9480*/
5393 : /* 9429*/ OPC_CheckAndImm, 127|128,1/*255*/,
5394 : /* 9432*/ OPC_MoveChild0,
5395 : /* 9433*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5396 : /* 9436*/ OPC_RecordMemRef,
5397 : /* 9437*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5398 : /* 9438*/ OPC_CheckFoldableChainNode,
5399 : /* 9439*/ OPC_MoveChild1,
5400 : /* 9440*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5401 : /* 9443*/ OPC_MoveChild0,
5402 : /* 9444*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5403 : /* 9447*/ OPC_RecordChild0, // #1 = $off
5404 : /* 9448*/ OPC_MoveChild0,
5405 : /* 9449*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5406 : /* 9452*/ OPC_MoveParent,
5407 : /* 9453*/ OPC_MoveParent,
5408 : /* 9454*/ OPC_RecordChild1, // #2 = $addr
5409 : /* 9455*/ OPC_CheckType, MVT::i32,
5410 : /* 9457*/ OPC_MoveParent,
5411 : /* 9458*/ OPC_RecordChild2, // #3 = $val
5412 : /* 9459*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
5413 : /* 9461*/ OPC_MoveParent,
5414 : /* 9462*/ OPC_CheckType, MVT::i32,
5415 : /* 9464*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5416 : /* 9466*/ OPC_EmitMergeInputChains1_0,
5417 : /* 9467*/ OPC_EmitInteger, MVT::i32, 0,
5418 : /* 9470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
5419 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5420 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 21
5421 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5422 : /* 9480*/ /*Scope*/ 52, /*->9533*/
5423 : /* 9481*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5424 : /* 9485*/ OPC_MoveChild0,
5425 : /* 9486*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5426 : /* 9489*/ OPC_RecordMemRef,
5427 : /* 9490*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5428 : /* 9491*/ OPC_CheckFoldableChainNode,
5429 : /* 9492*/ OPC_MoveChild1,
5430 : /* 9493*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5431 : /* 9496*/ OPC_MoveChild0,
5432 : /* 9497*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5433 : /* 9500*/ OPC_RecordChild0, // #1 = $off
5434 : /* 9501*/ OPC_MoveChild0,
5435 : /* 9502*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5436 : /* 9505*/ OPC_MoveParent,
5437 : /* 9506*/ OPC_MoveParent,
5438 : /* 9507*/ OPC_RecordChild1, // #2 = $addr
5439 : /* 9508*/ OPC_CheckType, MVT::i32,
5440 : /* 9510*/ OPC_MoveParent,
5441 : /* 9511*/ OPC_RecordChild2, // #3 = $val
5442 : /* 9512*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
5443 : /* 9514*/ OPC_MoveParent,
5444 : /* 9515*/ OPC_CheckType, MVT::i32,
5445 : /* 9517*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5446 : /* 9519*/ OPC_EmitMergeInputChains1_0,
5447 : /* 9520*/ OPC_EmitInteger, MVT::i32, 0,
5448 : /* 9523*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
5449 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5450 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 21
5451 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5452 : /* 9533*/ /*Scope*/ 51, /*->9585*/
5453 : /* 9534*/ OPC_CheckAndImm, 127|128,1/*255*/,
5454 : /* 9537*/ OPC_MoveChild0,
5455 : /* 9538*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5456 : /* 9541*/ OPC_RecordMemRef,
5457 : /* 9542*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5458 : /* 9543*/ OPC_CheckFoldableChainNode,
5459 : /* 9544*/ OPC_MoveChild1,
5460 : /* 9545*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5461 : /* 9548*/ OPC_MoveChild0,
5462 : /* 9549*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5463 : /* 9552*/ OPC_RecordChild0, // #1 = $off
5464 : /* 9553*/ OPC_MoveChild0,
5465 : /* 9554*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5466 : /* 9557*/ OPC_MoveParent,
5467 : /* 9558*/ OPC_MoveParent,
5468 : /* 9559*/ OPC_RecordChild1, // #2 = $addr
5469 : /* 9560*/ OPC_CheckType, MVT::i32,
5470 : /* 9562*/ OPC_MoveParent,
5471 : /* 9563*/ OPC_RecordChild2, // #3 = $val
5472 : /* 9564*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
5473 : /* 9566*/ OPC_MoveParent,
5474 : /* 9567*/ OPC_CheckType, MVT::i32,
5475 : /* 9569*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5476 : /* 9571*/ OPC_EmitMergeInputChains1_0,
5477 : /* 9572*/ OPC_EmitInteger, MVT::i32, 0,
5478 : /* 9575*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5479 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5480 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 21
5481 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5482 : /* 9585*/ /*Scope*/ 52, /*->9638*/
5483 : /* 9586*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5484 : /* 9590*/ OPC_MoveChild0,
5485 : /* 9591*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
5486 : /* 9594*/ OPC_RecordMemRef,
5487 : /* 9595*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
5488 : /* 9596*/ OPC_CheckFoldableChainNode,
5489 : /* 9597*/ OPC_MoveChild1,
5490 : /* 9598*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5491 : /* 9601*/ OPC_MoveChild0,
5492 : /* 9602*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5493 : /* 9605*/ OPC_RecordChild0, // #1 = $off
5494 : /* 9606*/ OPC_MoveChild0,
5495 : /* 9607*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5496 : /* 9610*/ OPC_MoveParent,
5497 : /* 9611*/ OPC_MoveParent,
5498 : /* 9612*/ OPC_RecordChild1, // #2 = $addr
5499 : /* 9613*/ OPC_CheckType, MVT::i32,
5500 : /* 9615*/ OPC_MoveParent,
5501 : /* 9616*/ OPC_RecordChild2, // #3 = $val
5502 : /* 9617*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
5503 : /* 9619*/ OPC_MoveParent,
5504 : /* 9620*/ OPC_CheckType, MVT::i32,
5505 : /* 9622*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5506 : /* 9624*/ OPC_EmitMergeInputChains1_0,
5507 : /* 9625*/ OPC_EmitInteger, MVT::i32, 0,
5508 : /* 9628*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5509 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5510 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 21
5511 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5512 : /* 9638*/ /*Scope*/ 51, /*->9690*/
5513 : /* 9639*/ OPC_CheckAndImm, 127|128,1/*255*/,
5514 : /* 9642*/ OPC_MoveChild0,
5515 : /* 9643*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5516 : /* 9646*/ OPC_RecordMemRef,
5517 : /* 9647*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5518 : /* 9648*/ OPC_CheckFoldableChainNode,
5519 : /* 9649*/ OPC_MoveChild1,
5520 : /* 9650*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5521 : /* 9653*/ OPC_MoveChild0,
5522 : /* 9654*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5523 : /* 9657*/ OPC_RecordChild0, // #1 = $off
5524 : /* 9658*/ OPC_MoveChild0,
5525 : /* 9659*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5526 : /* 9662*/ OPC_MoveParent,
5527 : /* 9663*/ OPC_MoveParent,
5528 : /* 9664*/ OPC_RecordChild1, // #2 = $addr
5529 : /* 9665*/ OPC_CheckType, MVT::i32,
5530 : /* 9667*/ OPC_MoveParent,
5531 : /* 9668*/ OPC_RecordChild2, // #3 = $val
5532 : /* 9669*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
5533 : /* 9671*/ OPC_MoveParent,
5534 : /* 9672*/ OPC_CheckType, MVT::i32,
5535 : /* 9674*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5536 : /* 9676*/ OPC_EmitMergeInputChains1_0,
5537 : /* 9677*/ OPC_EmitInteger, MVT::i32, 0,
5538 : /* 9680*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5539 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5540 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 21
5541 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5542 : /* 9690*/ /*Scope*/ 52, /*->9743*/
5543 : /* 9691*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5544 : /* 9695*/ OPC_MoveChild0,
5545 : /* 9696*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
5546 : /* 9699*/ OPC_RecordMemRef,
5547 : /* 9700*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
5548 : /* 9701*/ OPC_CheckFoldableChainNode,
5549 : /* 9702*/ OPC_MoveChild1,
5550 : /* 9703*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5551 : /* 9706*/ OPC_MoveChild0,
5552 : /* 9707*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5553 : /* 9710*/ OPC_RecordChild0, // #1 = $off
5554 : /* 9711*/ OPC_MoveChild0,
5555 : /* 9712*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5556 : /* 9715*/ OPC_MoveParent,
5557 : /* 9716*/ OPC_MoveParent,
5558 : /* 9717*/ OPC_RecordChild1, // #2 = $addr
5559 : /* 9718*/ OPC_CheckType, MVT::i32,
5560 : /* 9720*/ OPC_MoveParent,
5561 : /* 9721*/ OPC_RecordChild2, // #3 = $val
5562 : /* 9722*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
5563 : /* 9724*/ OPC_MoveParent,
5564 : /* 9725*/ OPC_CheckType, MVT::i32,
5565 : /* 9727*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5566 : /* 9729*/ OPC_EmitMergeInputChains1_0,
5567 : /* 9730*/ OPC_EmitInteger, MVT::i32, 0,
5568 : /* 9733*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
5569 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5570 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 21
5571 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5572 : /* 9743*/ /*Scope*/ 51, /*->9795*/
5573 : /* 9744*/ OPC_CheckAndImm, 127|128,1/*255*/,
5574 : /* 9747*/ OPC_MoveChild0,
5575 : /* 9748*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5576 : /* 9751*/ OPC_RecordMemRef,
5577 : /* 9752*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5578 : /* 9753*/ OPC_CheckFoldableChainNode,
5579 : /* 9754*/ OPC_MoveChild1,
5580 : /* 9755*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5581 : /* 9758*/ OPC_MoveChild0,
5582 : /* 9759*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5583 : /* 9762*/ OPC_RecordChild0, // #1 = $off
5584 : /* 9763*/ OPC_MoveChild0,
5585 : /* 9764*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5586 : /* 9767*/ OPC_MoveParent,
5587 : /* 9768*/ OPC_MoveParent,
5588 : /* 9769*/ OPC_RecordChild1, // #2 = $addr
5589 : /* 9770*/ OPC_CheckType, MVT::i32,
5590 : /* 9772*/ OPC_MoveParent,
5591 : /* 9773*/ OPC_RecordChild2, // #3 = $val
5592 : /* 9774*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
5593 : /* 9776*/ OPC_MoveParent,
5594 : /* 9777*/ OPC_CheckType, MVT::i32,
5595 : /* 9779*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5596 : /* 9781*/ OPC_EmitMergeInputChains1_0,
5597 : /* 9782*/ OPC_EmitInteger, MVT::i32, 0,
5598 : /* 9785*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5599 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5600 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
5601 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5602 : /* 9795*/ /*Scope*/ 52, /*->9848*/
5603 : /* 9796*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5604 : /* 9800*/ OPC_MoveChild0,
5605 : /* 9801*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
5606 : /* 9804*/ OPC_RecordMemRef,
5607 : /* 9805*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
5608 : /* 9806*/ OPC_CheckFoldableChainNode,
5609 : /* 9807*/ OPC_MoveChild1,
5610 : /* 9808*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5611 : /* 9811*/ OPC_MoveChild0,
5612 : /* 9812*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5613 : /* 9815*/ OPC_RecordChild0, // #1 = $off
5614 : /* 9816*/ OPC_MoveChild0,
5615 : /* 9817*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5616 : /* 9820*/ OPC_MoveParent,
5617 : /* 9821*/ OPC_MoveParent,
5618 : /* 9822*/ OPC_RecordChild1, // #2 = $addr
5619 : /* 9823*/ OPC_CheckType, MVT::i32,
5620 : /* 9825*/ OPC_MoveParent,
5621 : /* 9826*/ OPC_RecordChild2, // #3 = $val
5622 : /* 9827*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
5623 : /* 9829*/ OPC_MoveParent,
5624 : /* 9830*/ OPC_CheckType, MVT::i32,
5625 : /* 9832*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5626 : /* 9834*/ OPC_EmitMergeInputChains1_0,
5627 : /* 9835*/ OPC_EmitInteger, MVT::i32, 0,
5628 : /* 9838*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5629 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
5630 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
5631 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
5632 : /* 9848*/ /*Scope*/ 53, /*->9902*/
5633 : /* 9849*/ OPC_CheckAndImm, 127|128,1/*255*/,
5634 : /* 9852*/ OPC_MoveChild0,
5635 : /* 9853*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5636 : /* 9856*/ OPC_RecordMemRef,
5637 : /* 9857*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5638 : /* 9858*/ OPC_CheckFoldableChainNode,
5639 : /* 9859*/ OPC_MoveChild1,
5640 : /* 9860*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5641 : /* 9863*/ OPC_MoveChild0,
5642 : /* 9864*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5643 : /* 9867*/ OPC_RecordChild0, // #1 = $off
5644 : /* 9868*/ OPC_MoveChild0,
5645 : /* 9869*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5646 : /* 9872*/ OPC_MoveParent,
5647 : /* 9873*/ OPC_MoveParent,
5648 : /* 9874*/ OPC_RecordChild1, // #2 = $addr
5649 : /* 9875*/ OPC_CheckType, MVT::i32,
5650 : /* 9877*/ OPC_MoveParent,
5651 : /* 9878*/ OPC_RecordChild2, // #3 = $exp
5652 : /* 9879*/ OPC_RecordChild3, // #4 = $new
5653 : /* 9880*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
5654 : /* 9882*/ OPC_MoveParent,
5655 : /* 9883*/ OPC_CheckType, MVT::i32,
5656 : /* 9885*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5657 : /* 9887*/ OPC_EmitMergeInputChains1_0,
5658 : /* 9888*/ OPC_EmitInteger, MVT::i32, 0,
5659 : /* 9891*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5660 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
5661 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
5662 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5663 : /* 9902*/ /*Scope*/ 54, /*->9957*/
5664 : /* 9903*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5665 : /* 9907*/ OPC_MoveChild0,
5666 : /* 9908*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
5667 : /* 9911*/ OPC_RecordMemRef,
5668 : /* 9912*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
5669 : /* 9913*/ OPC_CheckFoldableChainNode,
5670 : /* 9914*/ OPC_MoveChild1,
5671 : /* 9915*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5672 : /* 9918*/ OPC_MoveChild0,
5673 : /* 9919*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5674 : /* 9922*/ OPC_RecordChild0, // #1 = $off
5675 : /* 9923*/ OPC_MoveChild0,
5676 : /* 9924*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5677 : /* 9927*/ OPC_MoveParent,
5678 : /* 9928*/ OPC_MoveParent,
5679 : /* 9929*/ OPC_RecordChild1, // #2 = $addr
5680 : /* 9930*/ OPC_CheckType, MVT::i32,
5681 : /* 9932*/ OPC_MoveParent,
5682 : /* 9933*/ OPC_RecordChild2, // #3 = $exp
5683 : /* 9934*/ OPC_RecordChild3, // #4 = $new
5684 : /* 9935*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
5685 : /* 9937*/ OPC_MoveParent,
5686 : /* 9938*/ OPC_CheckType, MVT::i32,
5687 : /* 9940*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5688 : /* 9942*/ OPC_EmitMergeInputChains1_0,
5689 : /* 9943*/ OPC_EmitInteger, MVT::i32, 0,
5690 : /* 9946*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
5691 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
5692 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
5693 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
5694 : /* 9957*/ /*Scope*/ 54, /*->10012*/
5695 : /* 9958*/ OPC_CheckAndImm, 127|128,1/*255*/,
5696 : /* 9961*/ OPC_MoveChild0,
5697 : /* 9962*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5698 : /* 9965*/ OPC_MoveChild0,
5699 : /* 9966*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5700 : /* 9969*/ OPC_RecordMemRef,
5701 : /* 9970*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5702 : /* 9971*/ OPC_CheckFoldableChainNode,
5703 : /* 9972*/ OPC_MoveChild1,
5704 : /* 9973*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5705 : /* 9976*/ OPC_RecordChild0, // #1 = $off
5706 : /* 9977*/ OPC_MoveChild0,
5707 : /* 9978*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5708 : /* 9981*/ OPC_MoveParent,
5709 : /* 9982*/ OPC_MoveParent,
5710 : /* 9983*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5711 : /* 9985*/ OPC_MoveParent,
5712 : /* 9986*/ OPC_MoveParent,
5713 : /* 9987*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5714 : /* 9989*/ OPC_EmitMergeInputChains1_0,
5715 : /* 9990*/ OPC_EmitInteger, MVT::i32, 0,
5716 : /* 9993*/ OPC_EmitInteger, MVT::i32, 0,
5717 : /* 9996*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5718 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
5719 : /* 10003*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
5720 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
5721 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
5722 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5723 : /* 10012*/ /*Scope*/ 55, /*->10068*/
5724 : /* 10013*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5725 : /* 10017*/ OPC_MoveChild0,
5726 : /* 10018*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5727 : /* 10021*/ OPC_MoveChild0,
5728 : /* 10022*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5729 : /* 10025*/ OPC_RecordMemRef,
5730 : /* 10026*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5731 : /* 10027*/ OPC_CheckFoldableChainNode,
5732 : /* 10028*/ OPC_MoveChild1,
5733 : /* 10029*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5734 : /* 10032*/ OPC_RecordChild0, // #1 = $off
5735 : /* 10033*/ OPC_MoveChild0,
5736 : /* 10034*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
5737 : /* 10037*/ OPC_MoveParent,
5738 : /* 10038*/ OPC_MoveParent,
5739 : /* 10039*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5740 : /* 10041*/ OPC_MoveParent,
5741 : /* 10042*/ OPC_MoveParent,
5742 : /* 10043*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5743 : /* 10045*/ OPC_EmitMergeInputChains1_0,
5744 : /* 10046*/ OPC_EmitInteger, MVT::i32, 0,
5745 : /* 10049*/ OPC_EmitInteger, MVT::i32, 0,
5746 : /* 10052*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5747 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
5748 : /* 10059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
5749 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
5750 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
5751 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5752 : /* 10068*/ /*Scope*/ 54, /*->10123*/
5753 : /* 10069*/ OPC_CheckAndImm, 127|128,1/*255*/,
5754 : /* 10072*/ OPC_MoveChild0,
5755 : /* 10073*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5756 : /* 10076*/ OPC_MoveChild0,
5757 : /* 10077*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5758 : /* 10080*/ OPC_RecordMemRef,
5759 : /* 10081*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5760 : /* 10082*/ OPC_CheckFoldableChainNode,
5761 : /* 10083*/ OPC_MoveChild1,
5762 : /* 10084*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5763 : /* 10087*/ OPC_RecordChild0, // #1 = $off
5764 : /* 10088*/ OPC_MoveChild0,
5765 : /* 10089*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5766 : /* 10092*/ OPC_MoveParent,
5767 : /* 10093*/ OPC_MoveParent,
5768 : /* 10094*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
5769 : /* 10096*/ OPC_MoveParent,
5770 : /* 10097*/ OPC_MoveParent,
5771 : /* 10098*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5772 : /* 10100*/ OPC_EmitMergeInputChains1_0,
5773 : /* 10101*/ OPC_EmitInteger, MVT::i32, 0,
5774 : /* 10104*/ OPC_EmitInteger, MVT::i32, 0,
5775 : /* 10107*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5776 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
5777 : /* 10114*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
5778 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
5779 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
5780 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5781 : /* 10123*/ /*Scope*/ 55, /*->10179*/
5782 : /* 10124*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5783 : /* 10128*/ OPC_MoveChild0,
5784 : /* 10129*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5785 : /* 10132*/ OPC_MoveChild0,
5786 : /* 10133*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
5787 : /* 10136*/ OPC_RecordMemRef,
5788 : /* 10137*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
5789 : /* 10138*/ OPC_CheckFoldableChainNode,
5790 : /* 10139*/ OPC_MoveChild1,
5791 : /* 10140*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
5792 : /* 10143*/ OPC_RecordChild0, // #1 = $off
5793 : /* 10144*/ OPC_MoveChild0,
5794 : /* 10145*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
5795 : /* 10148*/ OPC_MoveParent,
5796 : /* 10149*/ OPC_MoveParent,
5797 : /* 10150*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
5798 : /* 10152*/ OPC_MoveParent,
5799 : /* 10153*/ OPC_MoveParent,
5800 : /* 10154*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5801 : /* 10156*/ OPC_EmitMergeInputChains1_0,
5802 : /* 10157*/ OPC_EmitInteger, MVT::i32, 0,
5803 : /* 10160*/ OPC_EmitInteger, MVT::i32, 0,
5804 : /* 10163*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5805 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
5806 : /* 10170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
5807 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
5808 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
5809 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
5810 : /* 10179*/ /*Scope*/ 58, /*->10238*/
5811 : /* 10180*/ OPC_CheckAndImm, 127|128,1/*255*/,
5812 : /* 10183*/ OPC_MoveChild0,
5813 : /* 10184*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5814 : /* 10187*/ OPC_MoveChild0,
5815 : /* 10188*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5816 : /* 10191*/ OPC_RecordMemRef,
5817 : /* 10192*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5818 : /* 10193*/ OPC_CheckFoldableChainNode,
5819 : /* 10194*/ OPC_RecordChild1, // #1 = $off
5820 : /* 10195*/ OPC_MoveChild1,
5821 : /* 10196*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5822 : /* 10199*/ OPC_MoveParent,
5823 : /* 10200*/ OPC_MoveChild2,
5824 : /* 10201*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5825 : /* 10204*/ OPC_RecordChild0, // #2 = $val
5826 : /* 10205*/ OPC_MoveParent,
5827 : /* 10206*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
5828 : /* 10208*/ OPC_MoveParent,
5829 : /* 10209*/ OPC_MoveParent,
5830 : /* 10210*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5831 : /* 10212*/ OPC_EmitMergeInputChains1_0,
5832 : /* 10213*/ OPC_EmitInteger, MVT::i32, 0,
5833 : /* 10216*/ OPC_EmitConvertToTarget, 1,
5834 : /* 10218*/ OPC_EmitInteger, MVT::i32, 0,
5835 : /* 10221*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5836 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5837 : /* 10228*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
5838 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5839 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 21
5840 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5841 : /* 10238*/ /*Scope*/ 59, /*->10298*/
5842 : /* 10239*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5843 : /* 10243*/ OPC_MoveChild0,
5844 : /* 10244*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5845 : /* 10247*/ OPC_MoveChild0,
5846 : /* 10248*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
5847 : /* 10251*/ OPC_RecordMemRef,
5848 : /* 10252*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
5849 : /* 10253*/ OPC_CheckFoldableChainNode,
5850 : /* 10254*/ OPC_RecordChild1, // #1 = $off
5851 : /* 10255*/ OPC_MoveChild1,
5852 : /* 10256*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5853 : /* 10259*/ OPC_MoveParent,
5854 : /* 10260*/ OPC_MoveChild2,
5855 : /* 10261*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5856 : /* 10264*/ OPC_RecordChild0, // #2 = $val
5857 : /* 10265*/ OPC_MoveParent,
5858 : /* 10266*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
5859 : /* 10268*/ OPC_MoveParent,
5860 : /* 10269*/ OPC_MoveParent,
5861 : /* 10270*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5862 : /* 10272*/ OPC_EmitMergeInputChains1_0,
5863 : /* 10273*/ OPC_EmitInteger, MVT::i32, 0,
5864 : /* 10276*/ OPC_EmitConvertToTarget, 1,
5865 : /* 10278*/ OPC_EmitInteger, MVT::i32, 0,
5866 : /* 10281*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5867 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5868 : /* 10288*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
5869 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5870 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 21
5871 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5872 : /* 10298*/ /*Scope*/ 58, /*->10357*/
5873 : /* 10299*/ OPC_CheckAndImm, 127|128,1/*255*/,
5874 : /* 10302*/ OPC_MoveChild0,
5875 : /* 10303*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5876 : /* 10306*/ OPC_MoveChild0,
5877 : /* 10307*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5878 : /* 10310*/ OPC_RecordMemRef,
5879 : /* 10311*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5880 : /* 10312*/ OPC_CheckFoldableChainNode,
5881 : /* 10313*/ OPC_RecordChild1, // #1 = $off
5882 : /* 10314*/ OPC_MoveChild1,
5883 : /* 10315*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5884 : /* 10318*/ OPC_MoveParent,
5885 : /* 10319*/ OPC_MoveChild2,
5886 : /* 10320*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5887 : /* 10323*/ OPC_RecordChild0, // #2 = $val
5888 : /* 10324*/ OPC_MoveParent,
5889 : /* 10325*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
5890 : /* 10327*/ OPC_MoveParent,
5891 : /* 10328*/ OPC_MoveParent,
5892 : /* 10329*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5893 : /* 10331*/ OPC_EmitMergeInputChains1_0,
5894 : /* 10332*/ OPC_EmitInteger, MVT::i32, 0,
5895 : /* 10335*/ OPC_EmitConvertToTarget, 1,
5896 : /* 10337*/ OPC_EmitInteger, MVT::i32, 0,
5897 : /* 10340*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5898 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5899 : /* 10347*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
5900 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5901 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 21
5902 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5903 : /* 10357*/ /*Scope*/ 59, /*->10417*/
5904 : /* 10358*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5905 : /* 10362*/ OPC_MoveChild0,
5906 : /* 10363*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5907 : /* 10366*/ OPC_MoveChild0,
5908 : /* 10367*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
5909 : /* 10370*/ OPC_RecordMemRef,
5910 : /* 10371*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
5911 : /* 10372*/ OPC_CheckFoldableChainNode,
5912 : /* 10373*/ OPC_RecordChild1, // #1 = $off
5913 : /* 10374*/ OPC_MoveChild1,
5914 : /* 10375*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5915 : /* 10378*/ OPC_MoveParent,
5916 : /* 10379*/ OPC_MoveChild2,
5917 : /* 10380*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5918 : /* 10383*/ OPC_RecordChild0, // #2 = $val
5919 : /* 10384*/ OPC_MoveParent,
5920 : /* 10385*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
5921 : /* 10387*/ OPC_MoveParent,
5922 : /* 10388*/ OPC_MoveParent,
5923 : /* 10389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5924 : /* 10391*/ OPC_EmitMergeInputChains1_0,
5925 : /* 10392*/ OPC_EmitInteger, MVT::i32, 0,
5926 : /* 10395*/ OPC_EmitConvertToTarget, 1,
5927 : /* 10397*/ OPC_EmitInteger, MVT::i32, 0,
5928 : /* 10400*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5929 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5930 : /* 10407*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
5931 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5932 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 21
5933 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5934 : /* 10417*/ /*Scope*/ 58, /*->10476*/
5935 : /* 10418*/ OPC_CheckAndImm, 127|128,1/*255*/,
5936 : /* 10421*/ OPC_MoveChild0,
5937 : /* 10422*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5938 : /* 10425*/ OPC_MoveChild0,
5939 : /* 10426*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5940 : /* 10429*/ OPC_RecordMemRef,
5941 : /* 10430*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5942 : /* 10431*/ OPC_CheckFoldableChainNode,
5943 : /* 10432*/ OPC_RecordChild1, // #1 = $off
5944 : /* 10433*/ OPC_MoveChild1,
5945 : /* 10434*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5946 : /* 10437*/ OPC_MoveParent,
5947 : /* 10438*/ OPC_MoveChild2,
5948 : /* 10439*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5949 : /* 10442*/ OPC_RecordChild0, // #2 = $val
5950 : /* 10443*/ OPC_MoveParent,
5951 : /* 10444*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
5952 : /* 10446*/ OPC_MoveParent,
5953 : /* 10447*/ OPC_MoveParent,
5954 : /* 10448*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5955 : /* 10450*/ OPC_EmitMergeInputChains1_0,
5956 : /* 10451*/ OPC_EmitInteger, MVT::i32, 0,
5957 : /* 10454*/ OPC_EmitConvertToTarget, 1,
5958 : /* 10456*/ OPC_EmitInteger, MVT::i32, 0,
5959 : /* 10459*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5960 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5961 : /* 10466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
5962 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5963 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 21
5964 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5965 : /* 10476*/ /*Scope*/ 59, /*->10536*/
5966 : /* 10477*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
5967 : /* 10481*/ OPC_MoveChild0,
5968 : /* 10482*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
5969 : /* 10485*/ OPC_MoveChild0,
5970 : /* 10486*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
5971 : /* 10489*/ OPC_RecordMemRef,
5972 : /* 10490*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
5973 : /* 10491*/ OPC_CheckFoldableChainNode,
5974 : /* 10492*/ OPC_RecordChild1, // #1 = $off
5975 : /* 10493*/ OPC_MoveChild1,
5976 : /* 10494*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5977 : /* 10497*/ OPC_MoveParent,
5978 : /* 10498*/ OPC_MoveChild2,
5979 : /* 10499*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
5980 : /* 10502*/ OPC_RecordChild0, // #2 = $val
5981 : /* 10503*/ OPC_MoveParent,
5982 : /* 10504*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
5983 : /* 10506*/ OPC_MoveParent,
5984 : /* 10507*/ OPC_MoveParent,
5985 : /* 10508*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
5986 : /* 10510*/ OPC_EmitMergeInputChains1_0,
5987 : /* 10511*/ OPC_EmitInteger, MVT::i32, 0,
5988 : /* 10514*/ OPC_EmitConvertToTarget, 1,
5989 : /* 10516*/ OPC_EmitInteger, MVT::i32, 0,
5990 : /* 10519*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
5991 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
5992 : /* 10526*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
5993 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
5994 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 21
5995 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
5996 : /* 10536*/ /*Scope*/ 58, /*->10595*/
5997 : /* 10537*/ OPC_CheckAndImm, 127|128,1/*255*/,
5998 : /* 10540*/ OPC_MoveChild0,
5999 : /* 10541*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6000 : /* 10544*/ OPC_MoveChild0,
6001 : /* 10545*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6002 : /* 10548*/ OPC_RecordMemRef,
6003 : /* 10549*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6004 : /* 10550*/ OPC_CheckFoldableChainNode,
6005 : /* 10551*/ OPC_RecordChild1, // #1 = $off
6006 : /* 10552*/ OPC_MoveChild1,
6007 : /* 10553*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6008 : /* 10556*/ OPC_MoveParent,
6009 : /* 10557*/ OPC_MoveChild2,
6010 : /* 10558*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6011 : /* 10561*/ OPC_RecordChild0, // #2 = $val
6012 : /* 10562*/ OPC_MoveParent,
6013 : /* 10563*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
6014 : /* 10565*/ OPC_MoveParent,
6015 : /* 10566*/ OPC_MoveParent,
6016 : /* 10567*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6017 : /* 10569*/ OPC_EmitMergeInputChains1_0,
6018 : /* 10570*/ OPC_EmitInteger, MVT::i32, 0,
6019 : /* 10573*/ OPC_EmitConvertToTarget, 1,
6020 : /* 10575*/ OPC_EmitInteger, MVT::i32, 0,
6021 : /* 10578*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6022 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6023 : /* 10585*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
6024 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6025 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 21
6026 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6027 : /* 10595*/ /*Scope*/ 59, /*->10655*/
6028 : /* 10596*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6029 : /* 10600*/ OPC_MoveChild0,
6030 : /* 10601*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6031 : /* 10604*/ OPC_MoveChild0,
6032 : /* 10605*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6033 : /* 10608*/ OPC_RecordMemRef,
6034 : /* 10609*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6035 : /* 10610*/ OPC_CheckFoldableChainNode,
6036 : /* 10611*/ OPC_RecordChild1, // #1 = $off
6037 : /* 10612*/ OPC_MoveChild1,
6038 : /* 10613*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6039 : /* 10616*/ OPC_MoveParent,
6040 : /* 10617*/ OPC_MoveChild2,
6041 : /* 10618*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6042 : /* 10621*/ OPC_RecordChild0, // #2 = $val
6043 : /* 10622*/ OPC_MoveParent,
6044 : /* 10623*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
6045 : /* 10625*/ OPC_MoveParent,
6046 : /* 10626*/ OPC_MoveParent,
6047 : /* 10627*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6048 : /* 10629*/ OPC_EmitMergeInputChains1_0,
6049 : /* 10630*/ OPC_EmitInteger, MVT::i32, 0,
6050 : /* 10633*/ OPC_EmitConvertToTarget, 1,
6051 : /* 10635*/ OPC_EmitInteger, MVT::i32, 0,
6052 : /* 10638*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6053 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6054 : /* 10645*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
6055 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6056 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 21
6057 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6058 : /* 10655*/ /*Scope*/ 58, /*->10714*/
6059 : /* 10656*/ OPC_CheckAndImm, 127|128,1/*255*/,
6060 : /* 10659*/ OPC_MoveChild0,
6061 : /* 10660*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6062 : /* 10663*/ OPC_MoveChild0,
6063 : /* 10664*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6064 : /* 10667*/ OPC_RecordMemRef,
6065 : /* 10668*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6066 : /* 10669*/ OPC_CheckFoldableChainNode,
6067 : /* 10670*/ OPC_RecordChild1, // #1 = $off
6068 : /* 10671*/ OPC_MoveChild1,
6069 : /* 10672*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6070 : /* 10675*/ OPC_MoveParent,
6071 : /* 10676*/ OPC_MoveChild2,
6072 : /* 10677*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6073 : /* 10680*/ OPC_RecordChild0, // #2 = $val
6074 : /* 10681*/ OPC_MoveParent,
6075 : /* 10682*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
6076 : /* 10684*/ OPC_MoveParent,
6077 : /* 10685*/ OPC_MoveParent,
6078 : /* 10686*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6079 : /* 10688*/ OPC_EmitMergeInputChains1_0,
6080 : /* 10689*/ OPC_EmitInteger, MVT::i32, 0,
6081 : /* 10692*/ OPC_EmitConvertToTarget, 1,
6082 : /* 10694*/ OPC_EmitInteger, MVT::i32, 0,
6083 : /* 10697*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6084 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6085 : /* 10704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
6086 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6087 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 21
6088 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6089 : /* 10714*/ /*Scope*/ 59, /*->10774*/
6090 : /* 10715*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6091 : /* 10719*/ OPC_MoveChild0,
6092 : /* 10720*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6093 : /* 10723*/ OPC_MoveChild0,
6094 : /* 10724*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6095 : /* 10727*/ OPC_RecordMemRef,
6096 : /* 10728*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6097 : /* 10729*/ OPC_CheckFoldableChainNode,
6098 : /* 10730*/ OPC_RecordChild1, // #1 = $off
6099 : /* 10731*/ OPC_MoveChild1,
6100 : /* 10732*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6101 : /* 10735*/ OPC_MoveParent,
6102 : /* 10736*/ OPC_MoveChild2,
6103 : /* 10737*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6104 : /* 10740*/ OPC_RecordChild0, // #2 = $val
6105 : /* 10741*/ OPC_MoveParent,
6106 : /* 10742*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
6107 : /* 10744*/ OPC_MoveParent,
6108 : /* 10745*/ OPC_MoveParent,
6109 : /* 10746*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6110 : /* 10748*/ OPC_EmitMergeInputChains1_0,
6111 : /* 10749*/ OPC_EmitInteger, MVT::i32, 0,
6112 : /* 10752*/ OPC_EmitConvertToTarget, 1,
6113 : /* 10754*/ OPC_EmitInteger, MVT::i32, 0,
6114 : /* 10757*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6115 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6116 : /* 10764*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
6117 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6118 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 21
6119 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6120 : /* 10774*/ /*Scope*/ 58, /*->10833*/
6121 : /* 10775*/ OPC_CheckAndImm, 127|128,1/*255*/,
6122 : /* 10778*/ OPC_MoveChild0,
6123 : /* 10779*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6124 : /* 10782*/ OPC_MoveChild0,
6125 : /* 10783*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6126 : /* 10786*/ OPC_RecordMemRef,
6127 : /* 10787*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6128 : /* 10788*/ OPC_CheckFoldableChainNode,
6129 : /* 10789*/ OPC_RecordChild1, // #1 = $off
6130 : /* 10790*/ OPC_MoveChild1,
6131 : /* 10791*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6132 : /* 10794*/ OPC_MoveParent,
6133 : /* 10795*/ OPC_MoveChild2,
6134 : /* 10796*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6135 : /* 10799*/ OPC_RecordChild0, // #2 = $val
6136 : /* 10800*/ OPC_MoveParent,
6137 : /* 10801*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6138 : /* 10803*/ OPC_MoveParent,
6139 : /* 10804*/ OPC_MoveParent,
6140 : /* 10805*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6141 : /* 10807*/ OPC_EmitMergeInputChains1_0,
6142 : /* 10808*/ OPC_EmitInteger, MVT::i32, 0,
6143 : /* 10811*/ OPC_EmitConvertToTarget, 1,
6144 : /* 10813*/ OPC_EmitInteger, MVT::i32, 0,
6145 : /* 10816*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6146 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6147 : /* 10823*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
6148 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6149 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 21
6150 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6151 : /* 10833*/ /*Scope*/ 59, /*->10893*/
6152 : /* 10834*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6153 : /* 10838*/ OPC_MoveChild0,
6154 : /* 10839*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
6155 : /* 10842*/ OPC_MoveChild0,
6156 : /* 10843*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6157 : /* 10846*/ OPC_RecordMemRef,
6158 : /* 10847*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6159 : /* 10848*/ OPC_CheckFoldableChainNode,
6160 : /* 10849*/ OPC_RecordChild1, // #1 = $off
6161 : /* 10850*/ OPC_MoveChild1,
6162 : /* 10851*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6163 : /* 10854*/ OPC_MoveParent,
6164 : /* 10855*/ OPC_MoveChild2,
6165 : /* 10856*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
6166 : /* 10859*/ OPC_RecordChild0, // #2 = $val
6167 : /* 10860*/ OPC_MoveParent,
6168 : /* 10861*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6169 : /* 10863*/ OPC_MoveParent,
6170 : /* 10864*/ OPC_MoveParent,
6171 : /* 10865*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6172 : /* 10867*/ OPC_EmitMergeInputChains1_0,
6173 : /* 10868*/ OPC_EmitInteger, MVT::i32, 0,
6174 : /* 10871*/ OPC_EmitConvertToTarget, 1,
6175 : /* 10873*/ OPC_EmitInteger, MVT::i32, 0,
6176 : /* 10876*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
6177 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
6178 : /* 10883*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
6179 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
6180 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 21
6181 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
6182 : /* 10893*/ /*Scope*/ 48, /*->10942*/
6183 : /* 10894*/ OPC_CheckAndImm, 127|128,1/*255*/,
6184 : /* 10897*/ OPC_MoveChild0,
6185 : /* 10898*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6186 : /* 10901*/ OPC_RecordMemRef,
6187 : /* 10902*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6188 : /* 10903*/ OPC_CheckFoldableChainNode,
6189 : /* 10904*/ OPC_MoveChild1,
6190 : /* 10905*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6191 : /* 10908*/ OPC_RecordChild0, // #1 = $addr
6192 : /* 10909*/ OPC_RecordChild1, // #2 = $off
6193 : /* 10910*/ OPC_MoveChild1,
6194 : /* 10911*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6195 : /* 10914*/ OPC_MoveParent,
6196 : /* 10915*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6197 : /* 10917*/ OPC_CheckType, MVT::i32,
6198 : /* 10919*/ OPC_MoveParent,
6199 : /* 10920*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
6200 : /* 10922*/ OPC_MoveParent,
6201 : /* 10923*/ OPC_CheckType, MVT::i32,
6202 : /* 10925*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6203 : /* 10927*/ OPC_EmitMergeInputChains1_0,
6204 : /* 10928*/ OPC_EmitInteger, MVT::i32, 0,
6205 : /* 10931*/ OPC_EmitConvertToTarget, 2,
6206 : /* 10933*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
6207 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
6208 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
6209 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
6210 : /* 10942*/ /*Scope*/ 49, /*->10992*/
6211 : /* 10943*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6212 : /* 10947*/ OPC_MoveChild0,
6213 : /* 10948*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6214 : /* 10951*/ OPC_RecordMemRef,
6215 : /* 10952*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6216 : /* 10953*/ OPC_CheckFoldableChainNode,
6217 : /* 10954*/ OPC_MoveChild1,
6218 : /* 10955*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6219 : /* 10958*/ OPC_RecordChild0, // #1 = $addr
6220 : /* 10959*/ OPC_RecordChild1, // #2 = $off
6221 : /* 10960*/ OPC_MoveChild1,
6222 : /* 10961*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6223 : /* 10964*/ OPC_MoveParent,
6224 : /* 10965*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6225 : /* 10967*/ OPC_CheckType, MVT::i32,
6226 : /* 10969*/ OPC_MoveParent,
6227 : /* 10970*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
6228 : /* 10972*/ OPC_MoveParent,
6229 : /* 10973*/ OPC_CheckType, MVT::i32,
6230 : /* 10975*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6231 : /* 10977*/ OPC_EmitMergeInputChains1_0,
6232 : /* 10978*/ OPC_EmitInteger, MVT::i32, 0,
6233 : /* 10981*/ OPC_EmitConvertToTarget, 2,
6234 : /* 10983*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
6235 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
6236 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
6237 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
6238 : /* 10992*/ /*Scope*/ 48, /*->11041*/
6239 : /* 10993*/ OPC_CheckAndImm, 127|128,1/*255*/,
6240 : /* 10996*/ OPC_MoveChild0,
6241 : /* 10997*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6242 : /* 11000*/ OPC_RecordMemRef,
6243 : /* 11001*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6244 : /* 11002*/ OPC_CheckFoldableChainNode,
6245 : /* 11003*/ OPC_MoveChild1,
6246 : /* 11004*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6247 : /* 11007*/ OPC_RecordChild0, // #1 = $addr
6248 : /* 11008*/ OPC_RecordChild1, // #2 = $off
6249 : /* 11009*/ OPC_MoveChild1,
6250 : /* 11010*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6251 : /* 11013*/ OPC_MoveParent,
6252 : /* 11014*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6253 : /* 11016*/ OPC_CheckType, MVT::i32,
6254 : /* 11018*/ OPC_MoveParent,
6255 : /* 11019*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
6256 : /* 11021*/ OPC_MoveParent,
6257 : /* 11022*/ OPC_CheckType, MVT::i32,
6258 : /* 11024*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6259 : /* 11026*/ OPC_EmitMergeInputChains1_0,
6260 : /* 11027*/ OPC_EmitInteger, MVT::i32, 0,
6261 : /* 11030*/ OPC_EmitConvertToTarget, 2,
6262 : /* 11032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
6263 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
6264 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
6265 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
6266 : /* 11041*/ /*Scope*/ 49, /*->11091*/
6267 : /* 11042*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6268 : /* 11046*/ OPC_MoveChild0,
6269 : /* 11047*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
6270 : /* 11050*/ OPC_RecordMemRef,
6271 : /* 11051*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
6272 : /* 11052*/ OPC_CheckFoldableChainNode,
6273 : /* 11053*/ OPC_MoveChild1,
6274 : /* 11054*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6275 : /* 11057*/ OPC_RecordChild0, // #1 = $addr
6276 : /* 11058*/ OPC_RecordChild1, // #2 = $off
6277 : /* 11059*/ OPC_MoveChild1,
6278 : /* 11060*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6279 : /* 11063*/ OPC_MoveParent,
6280 : /* 11064*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6281 : /* 11066*/ OPC_CheckType, MVT::i32,
6282 : /* 11068*/ OPC_MoveParent,
6283 : /* 11069*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
6284 : /* 11071*/ OPC_MoveParent,
6285 : /* 11072*/ OPC_CheckType, MVT::i32,
6286 : /* 11074*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6287 : /* 11076*/ OPC_EmitMergeInputChains1_0,
6288 : /* 11077*/ OPC_EmitInteger, MVT::i32, 0,
6289 : /* 11080*/ OPC_EmitConvertToTarget, 2,
6290 : /* 11082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
6291 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
6292 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
6293 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
6294 : /* 11091*/ /*Scope*/ 50, /*->11142*/
6295 : /* 11092*/ OPC_CheckAndImm, 127|128,1/*255*/,
6296 : /* 11095*/ OPC_MoveChild0,
6297 : /* 11096*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6298 : /* 11099*/ OPC_RecordMemRef,
6299 : /* 11100*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6300 : /* 11101*/ OPC_CheckFoldableChainNode,
6301 : /* 11102*/ OPC_MoveChild1,
6302 : /* 11103*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6303 : /* 11106*/ OPC_RecordChild0, // #1 = $addr
6304 : /* 11107*/ OPC_RecordChild1, // #2 = $off
6305 : /* 11108*/ OPC_MoveChild1,
6306 : /* 11109*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6307 : /* 11112*/ OPC_MoveParent,
6308 : /* 11113*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6309 : /* 11115*/ OPC_CheckType, MVT::i32,
6310 : /* 11117*/ OPC_MoveParent,
6311 : /* 11118*/ OPC_RecordChild2, // #3 = $val
6312 : /* 11119*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
6313 : /* 11121*/ OPC_MoveParent,
6314 : /* 11122*/ OPC_CheckType, MVT::i32,
6315 : /* 11124*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6316 : /* 11126*/ OPC_EmitMergeInputChains1_0,
6317 : /* 11127*/ OPC_EmitInteger, MVT::i32, 0,
6318 : /* 11130*/ OPC_EmitConvertToTarget, 2,
6319 : /* 11132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
6320 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6321 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
6322 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6323 : /* 11142*/ /*Scope*/ 51, /*->11194*/
6324 : /* 11143*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6325 : /* 11147*/ OPC_MoveChild0,
6326 : /* 11148*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6327 : /* 11151*/ OPC_RecordMemRef,
6328 : /* 11152*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6329 : /* 11153*/ OPC_CheckFoldableChainNode,
6330 : /* 11154*/ OPC_MoveChild1,
6331 : /* 11155*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6332 : /* 11158*/ OPC_RecordChild0, // #1 = $addr
6333 : /* 11159*/ OPC_RecordChild1, // #2 = $off
6334 : /* 11160*/ OPC_MoveChild1,
6335 : /* 11161*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6336 : /* 11164*/ OPC_MoveParent,
6337 : /* 11165*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6338 : /* 11167*/ OPC_CheckType, MVT::i32,
6339 : /* 11169*/ OPC_MoveParent,
6340 : /* 11170*/ OPC_RecordChild2, // #3 = $val
6341 : /* 11171*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
6342 : /* 11173*/ OPC_MoveParent,
6343 : /* 11174*/ OPC_CheckType, MVT::i32,
6344 : /* 11176*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6345 : /* 11178*/ OPC_EmitMergeInputChains1_0,
6346 : /* 11179*/ OPC_EmitInteger, MVT::i32, 0,
6347 : /* 11182*/ OPC_EmitConvertToTarget, 2,
6348 : /* 11184*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
6349 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6350 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
6351 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6352 : /* 11194*/ /*Scope*/ 50, /*->11245*/
6353 : /* 11195*/ OPC_CheckAndImm, 127|128,1/*255*/,
6354 : /* 11198*/ OPC_MoveChild0,
6355 : /* 11199*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6356 : /* 11202*/ OPC_RecordMemRef,
6357 : /* 11203*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6358 : /* 11204*/ OPC_CheckFoldableChainNode,
6359 : /* 11205*/ OPC_MoveChild1,
6360 : /* 11206*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6361 : /* 11209*/ OPC_RecordChild0, // #1 = $addr
6362 : /* 11210*/ OPC_RecordChild1, // #2 = $off
6363 : /* 11211*/ OPC_MoveChild1,
6364 : /* 11212*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6365 : /* 11215*/ OPC_MoveParent,
6366 : /* 11216*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6367 : /* 11218*/ OPC_CheckType, MVT::i32,
6368 : /* 11220*/ OPC_MoveParent,
6369 : /* 11221*/ OPC_RecordChild2, // #3 = $val
6370 : /* 11222*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
6371 : /* 11224*/ OPC_MoveParent,
6372 : /* 11225*/ OPC_CheckType, MVT::i32,
6373 : /* 11227*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6374 : /* 11229*/ OPC_EmitMergeInputChains1_0,
6375 : /* 11230*/ OPC_EmitInteger, MVT::i32, 0,
6376 : /* 11233*/ OPC_EmitConvertToTarget, 2,
6377 : /* 11235*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
6378 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6379 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
6380 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6381 : /* 11245*/ /*Scope*/ 51, /*->11297*/
6382 : /* 11246*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6383 : /* 11250*/ OPC_MoveChild0,
6384 : /* 11251*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
6385 : /* 11254*/ OPC_RecordMemRef,
6386 : /* 11255*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
6387 : /* 11256*/ OPC_CheckFoldableChainNode,
6388 : /* 11257*/ OPC_MoveChild1,
6389 : /* 11258*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6390 : /* 11261*/ OPC_RecordChild0, // #1 = $addr
6391 : /* 11262*/ OPC_RecordChild1, // #2 = $off
6392 : /* 11263*/ OPC_MoveChild1,
6393 : /* 11264*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6394 : /* 11267*/ OPC_MoveParent,
6395 : /* 11268*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6396 : /* 11270*/ OPC_CheckType, MVT::i32,
6397 : /* 11272*/ OPC_MoveParent,
6398 : /* 11273*/ OPC_RecordChild2, // #3 = $val
6399 : /* 11274*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
6400 : /* 11276*/ OPC_MoveParent,
6401 : /* 11277*/ OPC_CheckType, MVT::i32,
6402 : /* 11279*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6403 : /* 11281*/ OPC_EmitMergeInputChains1_0,
6404 : /* 11282*/ OPC_EmitInteger, MVT::i32, 0,
6405 : /* 11285*/ OPC_EmitConvertToTarget, 2,
6406 : /* 11287*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
6407 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6408 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
6409 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6410 : /* 11297*/ /*Scope*/ 50, /*->11348*/
6411 : /* 11298*/ OPC_CheckAndImm, 127|128,1/*255*/,
6412 : /* 11301*/ OPC_MoveChild0,
6413 : /* 11302*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6414 : /* 11305*/ OPC_RecordMemRef,
6415 : /* 11306*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6416 : /* 11307*/ OPC_CheckFoldableChainNode,
6417 : /* 11308*/ OPC_MoveChild1,
6418 : /* 11309*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6419 : /* 11312*/ OPC_RecordChild0, // #1 = $addr
6420 : /* 11313*/ OPC_RecordChild1, // #2 = $off
6421 : /* 11314*/ OPC_MoveChild1,
6422 : /* 11315*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6423 : /* 11318*/ OPC_MoveParent,
6424 : /* 11319*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6425 : /* 11321*/ OPC_CheckType, MVT::i32,
6426 : /* 11323*/ OPC_MoveParent,
6427 : /* 11324*/ OPC_RecordChild2, // #3 = $val
6428 : /* 11325*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
6429 : /* 11327*/ OPC_MoveParent,
6430 : /* 11328*/ OPC_CheckType, MVT::i32,
6431 : /* 11330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6432 : /* 11332*/ OPC_EmitMergeInputChains1_0,
6433 : /* 11333*/ OPC_EmitInteger, MVT::i32, 0,
6434 : /* 11336*/ OPC_EmitConvertToTarget, 2,
6435 : /* 11338*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
6436 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6437 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
6438 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6439 : /* 11348*/ /*Scope*/ 51, /*->11400*/
6440 : /* 11349*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6441 : /* 11353*/ OPC_MoveChild0,
6442 : /* 11354*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6443 : /* 11357*/ OPC_RecordMemRef,
6444 : /* 11358*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6445 : /* 11359*/ OPC_CheckFoldableChainNode,
6446 : /* 11360*/ OPC_MoveChild1,
6447 : /* 11361*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6448 : /* 11364*/ OPC_RecordChild0, // #1 = $addr
6449 : /* 11365*/ OPC_RecordChild1, // #2 = $off
6450 : /* 11366*/ OPC_MoveChild1,
6451 : /* 11367*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6452 : /* 11370*/ OPC_MoveParent,
6453 : /* 11371*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6454 : /* 11373*/ OPC_CheckType, MVT::i32,
6455 : /* 11375*/ OPC_MoveParent,
6456 : /* 11376*/ OPC_RecordChild2, // #3 = $val
6457 : /* 11377*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
6458 : /* 11379*/ OPC_MoveParent,
6459 : /* 11380*/ OPC_CheckType, MVT::i32,
6460 : /* 11382*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6461 : /* 11384*/ OPC_EmitMergeInputChains1_0,
6462 : /* 11385*/ OPC_EmitInteger, MVT::i32, 0,
6463 : /* 11388*/ OPC_EmitConvertToTarget, 2,
6464 : /* 11390*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
6465 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6466 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
6467 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6468 : /* 11400*/ /*Scope*/ 50, /*->11451*/
6469 : /* 11401*/ OPC_CheckAndImm, 127|128,1/*255*/,
6470 : /* 11404*/ OPC_MoveChild0,
6471 : /* 11405*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6472 : /* 11408*/ OPC_RecordMemRef,
6473 : /* 11409*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6474 : /* 11410*/ OPC_CheckFoldableChainNode,
6475 : /* 11411*/ OPC_MoveChild1,
6476 : /* 11412*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6477 : /* 11415*/ OPC_RecordChild0, // #1 = $addr
6478 : /* 11416*/ OPC_RecordChild1, // #2 = $off
6479 : /* 11417*/ OPC_MoveChild1,
6480 : /* 11418*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6481 : /* 11421*/ OPC_MoveParent,
6482 : /* 11422*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6483 : /* 11424*/ OPC_CheckType, MVT::i32,
6484 : /* 11426*/ OPC_MoveParent,
6485 : /* 11427*/ OPC_RecordChild2, // #3 = $val
6486 : /* 11428*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
6487 : /* 11430*/ OPC_MoveParent,
6488 : /* 11431*/ OPC_CheckType, MVT::i32,
6489 : /* 11433*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6490 : /* 11435*/ OPC_EmitMergeInputChains1_0,
6491 : /* 11436*/ OPC_EmitInteger, MVT::i32, 0,
6492 : /* 11439*/ OPC_EmitConvertToTarget, 2,
6493 : /* 11441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
6494 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6495 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
6496 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6497 : /* 11451*/ /*Scope*/ 51, /*->11503*/
6498 : /* 11452*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6499 : /* 11456*/ OPC_MoveChild0,
6500 : /* 11457*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
6501 : /* 11460*/ OPC_RecordMemRef,
6502 : /* 11461*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
6503 : /* 11462*/ OPC_CheckFoldableChainNode,
6504 : /* 11463*/ OPC_MoveChild1,
6505 : /* 11464*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6506 : /* 11467*/ OPC_RecordChild0, // #1 = $addr
6507 : /* 11468*/ OPC_RecordChild1, // #2 = $off
6508 : /* 11469*/ OPC_MoveChild1,
6509 : /* 11470*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6510 : /* 11473*/ OPC_MoveParent,
6511 : /* 11474*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6512 : /* 11476*/ OPC_CheckType, MVT::i32,
6513 : /* 11478*/ OPC_MoveParent,
6514 : /* 11479*/ OPC_RecordChild2, // #3 = $val
6515 : /* 11480*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
6516 : /* 11482*/ OPC_MoveParent,
6517 : /* 11483*/ OPC_CheckType, MVT::i32,
6518 : /* 11485*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6519 : /* 11487*/ OPC_EmitMergeInputChains1_0,
6520 : /* 11488*/ OPC_EmitInteger, MVT::i32, 0,
6521 : /* 11491*/ OPC_EmitConvertToTarget, 2,
6522 : /* 11493*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
6523 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6524 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
6525 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6526 : /* 11503*/ /*Scope*/ 50, /*->11554*/
6527 : /* 11504*/ OPC_CheckAndImm, 127|128,1/*255*/,
6528 : /* 11507*/ OPC_MoveChild0,
6529 : /* 11508*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6530 : /* 11511*/ OPC_RecordMemRef,
6531 : /* 11512*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6532 : /* 11513*/ OPC_CheckFoldableChainNode,
6533 : /* 11514*/ OPC_MoveChild1,
6534 : /* 11515*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6535 : /* 11518*/ OPC_RecordChild0, // #1 = $addr
6536 : /* 11519*/ OPC_RecordChild1, // #2 = $off
6537 : /* 11520*/ OPC_MoveChild1,
6538 : /* 11521*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6539 : /* 11524*/ OPC_MoveParent,
6540 : /* 11525*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6541 : /* 11527*/ OPC_CheckType, MVT::i32,
6542 : /* 11529*/ OPC_MoveParent,
6543 : /* 11530*/ OPC_RecordChild2, // #3 = $val
6544 : /* 11531*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
6545 : /* 11533*/ OPC_MoveParent,
6546 : /* 11534*/ OPC_CheckType, MVT::i32,
6547 : /* 11536*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6548 : /* 11538*/ OPC_EmitMergeInputChains1_0,
6549 : /* 11539*/ OPC_EmitInteger, MVT::i32, 0,
6550 : /* 11542*/ OPC_EmitConvertToTarget, 2,
6551 : /* 11544*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
6552 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6553 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
6554 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6555 : /* 11554*/ /*Scope*/ 51, /*->11606*/
6556 : /* 11555*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6557 : /* 11559*/ OPC_MoveChild0,
6558 : /* 11560*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6559 : /* 11563*/ OPC_RecordMemRef,
6560 : /* 11564*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6561 : /* 11565*/ OPC_CheckFoldableChainNode,
6562 : /* 11566*/ OPC_MoveChild1,
6563 : /* 11567*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6564 : /* 11570*/ OPC_RecordChild0, // #1 = $addr
6565 : /* 11571*/ OPC_RecordChild1, // #2 = $off
6566 : /* 11572*/ OPC_MoveChild1,
6567 : /* 11573*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6568 : /* 11576*/ OPC_MoveParent,
6569 : /* 11577*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6570 : /* 11579*/ OPC_CheckType, MVT::i32,
6571 : /* 11581*/ OPC_MoveParent,
6572 : /* 11582*/ OPC_RecordChild2, // #3 = $val
6573 : /* 11583*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
6574 : /* 11585*/ OPC_MoveParent,
6575 : /* 11586*/ OPC_CheckType, MVT::i32,
6576 : /* 11588*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6577 : /* 11590*/ OPC_EmitMergeInputChains1_0,
6578 : /* 11591*/ OPC_EmitInteger, MVT::i32, 0,
6579 : /* 11594*/ OPC_EmitConvertToTarget, 2,
6580 : /* 11596*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
6581 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6582 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
6583 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6584 : /* 11606*/ /*Scope*/ 50, /*->11657*/
6585 : /* 11607*/ OPC_CheckAndImm, 127|128,1/*255*/,
6586 : /* 11610*/ OPC_MoveChild0,
6587 : /* 11611*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6588 : /* 11614*/ OPC_RecordMemRef,
6589 : /* 11615*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6590 : /* 11616*/ OPC_CheckFoldableChainNode,
6591 : /* 11617*/ OPC_MoveChild1,
6592 : /* 11618*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6593 : /* 11621*/ OPC_RecordChild0, // #1 = $addr
6594 : /* 11622*/ OPC_RecordChild1, // #2 = $off
6595 : /* 11623*/ OPC_MoveChild1,
6596 : /* 11624*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6597 : /* 11627*/ OPC_MoveParent,
6598 : /* 11628*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6599 : /* 11630*/ OPC_CheckType, MVT::i32,
6600 : /* 11632*/ OPC_MoveParent,
6601 : /* 11633*/ OPC_RecordChild2, // #3 = $val
6602 : /* 11634*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
6603 : /* 11636*/ OPC_MoveParent,
6604 : /* 11637*/ OPC_CheckType, MVT::i32,
6605 : /* 11639*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6606 : /* 11641*/ OPC_EmitMergeInputChains1_0,
6607 : /* 11642*/ OPC_EmitInteger, MVT::i32, 0,
6608 : /* 11645*/ OPC_EmitConvertToTarget, 2,
6609 : /* 11647*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
6610 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6611 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
6612 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6613 : /* 11657*/ /*Scope*/ 51, /*->11709*/
6614 : /* 11658*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6615 : /* 11662*/ OPC_MoveChild0,
6616 : /* 11663*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
6617 : /* 11666*/ OPC_RecordMemRef,
6618 : /* 11667*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
6619 : /* 11668*/ OPC_CheckFoldableChainNode,
6620 : /* 11669*/ OPC_MoveChild1,
6621 : /* 11670*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6622 : /* 11673*/ OPC_RecordChild0, // #1 = $addr
6623 : /* 11674*/ OPC_RecordChild1, // #2 = $off
6624 : /* 11675*/ OPC_MoveChild1,
6625 : /* 11676*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6626 : /* 11679*/ OPC_MoveParent,
6627 : /* 11680*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6628 : /* 11682*/ OPC_CheckType, MVT::i32,
6629 : /* 11684*/ OPC_MoveParent,
6630 : /* 11685*/ OPC_RecordChild2, // #3 = $val
6631 : /* 11686*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
6632 : /* 11688*/ OPC_MoveParent,
6633 : /* 11689*/ OPC_CheckType, MVT::i32,
6634 : /* 11691*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6635 : /* 11693*/ OPC_EmitMergeInputChains1_0,
6636 : /* 11694*/ OPC_EmitInteger, MVT::i32, 0,
6637 : /* 11697*/ OPC_EmitConvertToTarget, 2,
6638 : /* 11699*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
6639 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6640 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
6641 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6642 : /* 11709*/ /*Scope*/ 50, /*->11760*/
6643 : /* 11710*/ OPC_CheckAndImm, 127|128,1/*255*/,
6644 : /* 11713*/ OPC_MoveChild0,
6645 : /* 11714*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6646 : /* 11717*/ OPC_RecordMemRef,
6647 : /* 11718*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6648 : /* 11719*/ OPC_CheckFoldableChainNode,
6649 : /* 11720*/ OPC_MoveChild1,
6650 : /* 11721*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6651 : /* 11724*/ OPC_RecordChild0, // #1 = $addr
6652 : /* 11725*/ OPC_RecordChild1, // #2 = $off
6653 : /* 11726*/ OPC_MoveChild1,
6654 : /* 11727*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6655 : /* 11730*/ OPC_MoveParent,
6656 : /* 11731*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6657 : /* 11733*/ OPC_CheckType, MVT::i32,
6658 : /* 11735*/ OPC_MoveParent,
6659 : /* 11736*/ OPC_RecordChild2, // #3 = $val
6660 : /* 11737*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
6661 : /* 11739*/ OPC_MoveParent,
6662 : /* 11740*/ OPC_CheckType, MVT::i32,
6663 : /* 11742*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6664 : /* 11744*/ OPC_EmitMergeInputChains1_0,
6665 : /* 11745*/ OPC_EmitInteger, MVT::i32, 0,
6666 : /* 11748*/ OPC_EmitConvertToTarget, 2,
6667 : /* 11750*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6668 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6669 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
6670 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6671 : /* 11760*/ /*Scope*/ 51, /*->11812*/
6672 : /* 11761*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6673 : /* 11765*/ OPC_MoveChild0,
6674 : /* 11766*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6675 : /* 11769*/ OPC_RecordMemRef,
6676 : /* 11770*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6677 : /* 11771*/ OPC_CheckFoldableChainNode,
6678 : /* 11772*/ OPC_MoveChild1,
6679 : /* 11773*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6680 : /* 11776*/ OPC_RecordChild0, // #1 = $addr
6681 : /* 11777*/ OPC_RecordChild1, // #2 = $off
6682 : /* 11778*/ OPC_MoveChild1,
6683 : /* 11779*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6684 : /* 11782*/ OPC_MoveParent,
6685 : /* 11783*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6686 : /* 11785*/ OPC_CheckType, MVT::i32,
6687 : /* 11787*/ OPC_MoveParent,
6688 : /* 11788*/ OPC_RecordChild2, // #3 = $val
6689 : /* 11789*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
6690 : /* 11791*/ OPC_MoveParent,
6691 : /* 11792*/ OPC_CheckType, MVT::i32,
6692 : /* 11794*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6693 : /* 11796*/ OPC_EmitMergeInputChains1_0,
6694 : /* 11797*/ OPC_EmitInteger, MVT::i32, 0,
6695 : /* 11800*/ OPC_EmitConvertToTarget, 2,
6696 : /* 11802*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6697 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6698 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
6699 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6700 : /* 11812*/ /*Scope*/ 50, /*->11863*/
6701 : /* 11813*/ OPC_CheckAndImm, 127|128,1/*255*/,
6702 : /* 11816*/ OPC_MoveChild0,
6703 : /* 11817*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6704 : /* 11820*/ OPC_RecordMemRef,
6705 : /* 11821*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6706 : /* 11822*/ OPC_CheckFoldableChainNode,
6707 : /* 11823*/ OPC_MoveChild1,
6708 : /* 11824*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6709 : /* 11827*/ OPC_RecordChild0, // #1 = $addr
6710 : /* 11828*/ OPC_RecordChild1, // #2 = $off
6711 : /* 11829*/ OPC_MoveChild1,
6712 : /* 11830*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6713 : /* 11833*/ OPC_MoveParent,
6714 : /* 11834*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6715 : /* 11836*/ OPC_CheckType, MVT::i32,
6716 : /* 11838*/ OPC_MoveParent,
6717 : /* 11839*/ OPC_RecordChild2, // #3 = $val
6718 : /* 11840*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
6719 : /* 11842*/ OPC_MoveParent,
6720 : /* 11843*/ OPC_CheckType, MVT::i32,
6721 : /* 11845*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6722 : /* 11847*/ OPC_EmitMergeInputChains1_0,
6723 : /* 11848*/ OPC_EmitInteger, MVT::i32, 0,
6724 : /* 11851*/ OPC_EmitConvertToTarget, 2,
6725 : /* 11853*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6726 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6727 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
6728 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6729 : /* 11863*/ /*Scope*/ 51, /*->11915*/
6730 : /* 11864*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6731 : /* 11868*/ OPC_MoveChild0,
6732 : /* 11869*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
6733 : /* 11872*/ OPC_RecordMemRef,
6734 : /* 11873*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
6735 : /* 11874*/ OPC_CheckFoldableChainNode,
6736 : /* 11875*/ OPC_MoveChild1,
6737 : /* 11876*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6738 : /* 11879*/ OPC_RecordChild0, // #1 = $addr
6739 : /* 11880*/ OPC_RecordChild1, // #2 = $off
6740 : /* 11881*/ OPC_MoveChild1,
6741 : /* 11882*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6742 : /* 11885*/ OPC_MoveParent,
6743 : /* 11886*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6744 : /* 11888*/ OPC_CheckType, MVT::i32,
6745 : /* 11890*/ OPC_MoveParent,
6746 : /* 11891*/ OPC_RecordChild2, // #3 = $val
6747 : /* 11892*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
6748 : /* 11894*/ OPC_MoveParent,
6749 : /* 11895*/ OPC_CheckType, MVT::i32,
6750 : /* 11897*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6751 : /* 11899*/ OPC_EmitMergeInputChains1_0,
6752 : /* 11900*/ OPC_EmitInteger, MVT::i32, 0,
6753 : /* 11903*/ OPC_EmitConvertToTarget, 2,
6754 : /* 11905*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6755 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6756 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
6757 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6758 : /* 11915*/ /*Scope*/ 50, /*->11966*/
6759 : /* 11916*/ OPC_CheckAndImm, 127|128,1/*255*/,
6760 : /* 11919*/ OPC_MoveChild0,
6761 : /* 11920*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6762 : /* 11923*/ OPC_RecordMemRef,
6763 : /* 11924*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6764 : /* 11925*/ OPC_CheckFoldableChainNode,
6765 : /* 11926*/ OPC_MoveChild1,
6766 : /* 11927*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6767 : /* 11930*/ OPC_RecordChild0, // #1 = $addr
6768 : /* 11931*/ OPC_RecordChild1, // #2 = $off
6769 : /* 11932*/ OPC_MoveChild1,
6770 : /* 11933*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6771 : /* 11936*/ OPC_MoveParent,
6772 : /* 11937*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6773 : /* 11939*/ OPC_CheckType, MVT::i32,
6774 : /* 11941*/ OPC_MoveParent,
6775 : /* 11942*/ OPC_RecordChild2, // #3 = $val
6776 : /* 11943*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
6777 : /* 11945*/ OPC_MoveParent,
6778 : /* 11946*/ OPC_CheckType, MVT::i32,
6779 : /* 11948*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6780 : /* 11950*/ OPC_EmitMergeInputChains1_0,
6781 : /* 11951*/ OPC_EmitInteger, MVT::i32, 0,
6782 : /* 11954*/ OPC_EmitConvertToTarget, 2,
6783 : /* 11956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6784 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6785 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
6786 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6787 : /* 11966*/ /*Scope*/ 51, /*->12018*/
6788 : /* 11967*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6789 : /* 11971*/ OPC_MoveChild0,
6790 : /* 11972*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6791 : /* 11975*/ OPC_RecordMemRef,
6792 : /* 11976*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6793 : /* 11977*/ OPC_CheckFoldableChainNode,
6794 : /* 11978*/ OPC_MoveChild1,
6795 : /* 11979*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6796 : /* 11982*/ OPC_RecordChild0, // #1 = $addr
6797 : /* 11983*/ OPC_RecordChild1, // #2 = $off
6798 : /* 11984*/ OPC_MoveChild1,
6799 : /* 11985*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6800 : /* 11988*/ OPC_MoveParent,
6801 : /* 11989*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6802 : /* 11991*/ OPC_CheckType, MVT::i32,
6803 : /* 11993*/ OPC_MoveParent,
6804 : /* 11994*/ OPC_RecordChild2, // #3 = $val
6805 : /* 11995*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
6806 : /* 11997*/ OPC_MoveParent,
6807 : /* 11998*/ OPC_CheckType, MVT::i32,
6808 : /* 12000*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6809 : /* 12002*/ OPC_EmitMergeInputChains1_0,
6810 : /* 12003*/ OPC_EmitInteger, MVT::i32, 0,
6811 : /* 12006*/ OPC_EmitConvertToTarget, 2,
6812 : /* 12008*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6813 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6814 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
6815 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6816 : /* 12018*/ /*Scope*/ 50, /*->12069*/
6817 : /* 12019*/ OPC_CheckAndImm, 127|128,1/*255*/,
6818 : /* 12022*/ OPC_MoveChild0,
6819 : /* 12023*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6820 : /* 12026*/ OPC_RecordMemRef,
6821 : /* 12027*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6822 : /* 12028*/ OPC_CheckFoldableChainNode,
6823 : /* 12029*/ OPC_MoveChild1,
6824 : /* 12030*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6825 : /* 12033*/ OPC_RecordChild0, // #1 = $addr
6826 : /* 12034*/ OPC_RecordChild1, // #2 = $off
6827 : /* 12035*/ OPC_MoveChild1,
6828 : /* 12036*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6829 : /* 12039*/ OPC_MoveParent,
6830 : /* 12040*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6831 : /* 12042*/ OPC_CheckType, MVT::i32,
6832 : /* 12044*/ OPC_MoveParent,
6833 : /* 12045*/ OPC_RecordChild2, // #3 = $val
6834 : /* 12046*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
6835 : /* 12048*/ OPC_MoveParent,
6836 : /* 12049*/ OPC_CheckType, MVT::i32,
6837 : /* 12051*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6838 : /* 12053*/ OPC_EmitMergeInputChains1_0,
6839 : /* 12054*/ OPC_EmitInteger, MVT::i32, 0,
6840 : /* 12057*/ OPC_EmitConvertToTarget, 2,
6841 : /* 12059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6842 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6843 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
6844 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6845 : /* 12069*/ /*Scope*/ 51, /*->12121*/
6846 : /* 12070*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6847 : /* 12074*/ OPC_MoveChild0,
6848 : /* 12075*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
6849 : /* 12078*/ OPC_RecordMemRef,
6850 : /* 12079*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
6851 : /* 12080*/ OPC_CheckFoldableChainNode,
6852 : /* 12081*/ OPC_MoveChild1,
6853 : /* 12082*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6854 : /* 12085*/ OPC_RecordChild0, // #1 = $addr
6855 : /* 12086*/ OPC_RecordChild1, // #2 = $off
6856 : /* 12087*/ OPC_MoveChild1,
6857 : /* 12088*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6858 : /* 12091*/ OPC_MoveParent,
6859 : /* 12092*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6860 : /* 12094*/ OPC_CheckType, MVT::i32,
6861 : /* 12096*/ OPC_MoveParent,
6862 : /* 12097*/ OPC_RecordChild2, // #3 = $val
6863 : /* 12098*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
6864 : /* 12100*/ OPC_MoveParent,
6865 : /* 12101*/ OPC_CheckType, MVT::i32,
6866 : /* 12103*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6867 : /* 12105*/ OPC_EmitMergeInputChains1_0,
6868 : /* 12106*/ OPC_EmitInteger, MVT::i32, 0,
6869 : /* 12109*/ OPC_EmitConvertToTarget, 2,
6870 : /* 12111*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
6871 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6872 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
6873 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6874 : /* 12121*/ /*Scope*/ 50, /*->12172*/
6875 : /* 12122*/ OPC_CheckAndImm, 127|128,1/*255*/,
6876 : /* 12125*/ OPC_MoveChild0,
6877 : /* 12126*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6878 : /* 12129*/ OPC_RecordMemRef,
6879 : /* 12130*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6880 : /* 12131*/ OPC_CheckFoldableChainNode,
6881 : /* 12132*/ OPC_MoveChild1,
6882 : /* 12133*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6883 : /* 12136*/ OPC_RecordChild0, // #1 = $addr
6884 : /* 12137*/ OPC_RecordChild1, // #2 = $off
6885 : /* 12138*/ OPC_MoveChild1,
6886 : /* 12139*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6887 : /* 12142*/ OPC_MoveParent,
6888 : /* 12143*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6889 : /* 12145*/ OPC_CheckType, MVT::i32,
6890 : /* 12147*/ OPC_MoveParent,
6891 : /* 12148*/ OPC_RecordChild2, // #3 = $val
6892 : /* 12149*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6893 : /* 12151*/ OPC_MoveParent,
6894 : /* 12152*/ OPC_CheckType, MVT::i32,
6895 : /* 12154*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6896 : /* 12156*/ OPC_EmitMergeInputChains1_0,
6897 : /* 12157*/ OPC_EmitInteger, MVT::i32, 0,
6898 : /* 12160*/ OPC_EmitConvertToTarget, 2,
6899 : /* 12162*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
6900 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6901 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
6902 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6903 : /* 12172*/ /*Scope*/ 51, /*->12224*/
6904 : /* 12173*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6905 : /* 12177*/ OPC_MoveChild0,
6906 : /* 12178*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6907 : /* 12181*/ OPC_RecordMemRef,
6908 : /* 12182*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6909 : /* 12183*/ OPC_CheckFoldableChainNode,
6910 : /* 12184*/ OPC_MoveChild1,
6911 : /* 12185*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6912 : /* 12188*/ OPC_RecordChild0, // #1 = $addr
6913 : /* 12189*/ OPC_RecordChild1, // #2 = $off
6914 : /* 12190*/ OPC_MoveChild1,
6915 : /* 12191*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6916 : /* 12194*/ OPC_MoveParent,
6917 : /* 12195*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
6918 : /* 12197*/ OPC_CheckType, MVT::i32,
6919 : /* 12199*/ OPC_MoveParent,
6920 : /* 12200*/ OPC_RecordChild2, // #3 = $val
6921 : /* 12201*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6922 : /* 12203*/ OPC_MoveParent,
6923 : /* 12204*/ OPC_CheckType, MVT::i32,
6924 : /* 12206*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6925 : /* 12208*/ OPC_EmitMergeInputChains1_0,
6926 : /* 12209*/ OPC_EmitInteger, MVT::i32, 0,
6927 : /* 12212*/ OPC_EmitConvertToTarget, 2,
6928 : /* 12214*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
6929 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6930 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
6931 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6932 : /* 12224*/ /*Scope*/ 50, /*->12275*/
6933 : /* 12225*/ OPC_CheckAndImm, 127|128,1/*255*/,
6934 : /* 12228*/ OPC_MoveChild0,
6935 : /* 12229*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6936 : /* 12232*/ OPC_RecordMemRef,
6937 : /* 12233*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6938 : /* 12234*/ OPC_CheckFoldableChainNode,
6939 : /* 12235*/ OPC_MoveChild1,
6940 : /* 12236*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6941 : /* 12239*/ OPC_RecordChild0, // #1 = $addr
6942 : /* 12240*/ OPC_RecordChild1, // #2 = $off
6943 : /* 12241*/ OPC_MoveChild1,
6944 : /* 12242*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6945 : /* 12245*/ OPC_MoveParent,
6946 : /* 12246*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6947 : /* 12248*/ OPC_CheckType, MVT::i32,
6948 : /* 12250*/ OPC_MoveParent,
6949 : /* 12251*/ OPC_RecordChild2, // #3 = $val
6950 : /* 12252*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
6951 : /* 12254*/ OPC_MoveParent,
6952 : /* 12255*/ OPC_CheckType, MVT::i32,
6953 : /* 12257*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6954 : /* 12259*/ OPC_EmitMergeInputChains1_0,
6955 : /* 12260*/ OPC_EmitInteger, MVT::i32, 0,
6956 : /* 12263*/ OPC_EmitConvertToTarget, 2,
6957 : /* 12265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
6958 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6959 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
6960 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6961 : /* 12275*/ /*Scope*/ 51, /*->12327*/
6962 : /* 12276*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
6963 : /* 12280*/ OPC_MoveChild0,
6964 : /* 12281*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
6965 : /* 12284*/ OPC_RecordMemRef,
6966 : /* 12285*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
6967 : /* 12286*/ OPC_CheckFoldableChainNode,
6968 : /* 12287*/ OPC_MoveChild1,
6969 : /* 12288*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
6970 : /* 12291*/ OPC_RecordChild0, // #1 = $addr
6971 : /* 12292*/ OPC_RecordChild1, // #2 = $off
6972 : /* 12293*/ OPC_MoveChild1,
6973 : /* 12294*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6974 : /* 12297*/ OPC_MoveParent,
6975 : /* 12298*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
6976 : /* 12300*/ OPC_CheckType, MVT::i32,
6977 : /* 12302*/ OPC_MoveParent,
6978 : /* 12303*/ OPC_RecordChild2, // #3 = $val
6979 : /* 12304*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
6980 : /* 12306*/ OPC_MoveParent,
6981 : /* 12307*/ OPC_CheckType, MVT::i32,
6982 : /* 12309*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
6983 : /* 12311*/ OPC_EmitMergeInputChains1_0,
6984 : /* 12312*/ OPC_EmitInteger, MVT::i32, 0,
6985 : /* 12315*/ OPC_EmitConvertToTarget, 2,
6986 : /* 12317*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
6987 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
6988 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
6989 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
6990 : /* 12327*/ /*Scope*/ 52, /*->12380*/
6991 : /* 12328*/ OPC_CheckAndImm, 127|128,1/*255*/,
6992 : /* 12331*/ OPC_MoveChild0,
6993 : /* 12332*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
6994 : /* 12335*/ OPC_RecordMemRef,
6995 : /* 12336*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
6996 : /* 12337*/ OPC_CheckFoldableChainNode,
6997 : /* 12338*/ OPC_MoveChild1,
6998 : /* 12339*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6999 : /* 12342*/ OPC_RecordChild0, // #1 = $addr
7000 : /* 12343*/ OPC_RecordChild1, // #2 = $off
7001 : /* 12344*/ OPC_MoveChild1,
7002 : /* 12345*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7003 : /* 12348*/ OPC_MoveParent,
7004 : /* 12349*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
7005 : /* 12351*/ OPC_CheckType, MVT::i32,
7006 : /* 12353*/ OPC_MoveParent,
7007 : /* 12354*/ OPC_RecordChild2, // #3 = $exp
7008 : /* 12355*/ OPC_RecordChild3, // #4 = $new
7009 : /* 12356*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7010 : /* 12358*/ OPC_MoveParent,
7011 : /* 12359*/ OPC_CheckType, MVT::i32,
7012 : /* 12361*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7013 : /* 12363*/ OPC_EmitMergeInputChains1_0,
7014 : /* 12364*/ OPC_EmitInteger, MVT::i32, 0,
7015 : /* 12367*/ OPC_EmitConvertToTarget, 2,
7016 : /* 12369*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
7017 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
7018 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
7019 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
7020 : /* 12380*/ /*Scope*/ 53, /*->12434*/
7021 : /* 12381*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7022 : /* 12385*/ OPC_MoveChild0,
7023 : /* 12386*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
7024 : /* 12389*/ OPC_RecordMemRef,
7025 : /* 12390*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
7026 : /* 12391*/ OPC_CheckFoldableChainNode,
7027 : /* 12392*/ OPC_MoveChild1,
7028 : /* 12393*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7029 : /* 12396*/ OPC_RecordChild0, // #1 = $addr
7030 : /* 12397*/ OPC_RecordChild1, // #2 = $off
7031 : /* 12398*/ OPC_MoveChild1,
7032 : /* 12399*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7033 : /* 12402*/ OPC_MoveParent,
7034 : /* 12403*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
7035 : /* 12405*/ OPC_CheckType, MVT::i32,
7036 : /* 12407*/ OPC_MoveParent,
7037 : /* 12408*/ OPC_RecordChild2, // #3 = $exp
7038 : /* 12409*/ OPC_RecordChild3, // #4 = $new
7039 : /* 12410*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7040 : /* 12412*/ OPC_MoveParent,
7041 : /* 12413*/ OPC_CheckType, MVT::i32,
7042 : /* 12415*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7043 : /* 12417*/ OPC_EmitMergeInputChains1_0,
7044 : /* 12418*/ OPC_EmitInteger, MVT::i32, 0,
7045 : /* 12421*/ OPC_EmitConvertToTarget, 2,
7046 : /* 12423*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
7047 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
7048 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
7049 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
7050 : /* 12434*/ /*Scope*/ 52, /*->12487*/
7051 : /* 12435*/ OPC_CheckAndImm, 127|128,1/*255*/,
7052 : /* 12438*/ OPC_MoveChild0,
7053 : /* 12439*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
7054 : /* 12442*/ OPC_RecordMemRef,
7055 : /* 12443*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
7056 : /* 12444*/ OPC_CheckFoldableChainNode,
7057 : /* 12445*/ OPC_MoveChild1,
7058 : /* 12446*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
7059 : /* 12449*/ OPC_RecordChild0, // #1 = $addr
7060 : /* 12450*/ OPC_RecordChild1, // #2 = $off
7061 : /* 12451*/ OPC_MoveChild1,
7062 : /* 12452*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7063 : /* 12455*/ OPC_MoveParent,
7064 : /* 12456*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
7065 : /* 12458*/ OPC_CheckType, MVT::i32,
7066 : /* 12460*/ OPC_MoveParent,
7067 : /* 12461*/ OPC_RecordChild2, // #3 = $exp
7068 : /* 12462*/ OPC_RecordChild3, // #4 = $new
7069 : /* 12463*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
7070 : /* 12465*/ OPC_MoveParent,
7071 : /* 12466*/ OPC_CheckType, MVT::i32,
7072 : /* 12468*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7073 : /* 12470*/ OPC_EmitMergeInputChains1_0,
7074 : /* 12471*/ OPC_EmitInteger, MVT::i32, 0,
7075 : /* 12474*/ OPC_EmitConvertToTarget, 2,
7076 : /* 12476*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
7077 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
7078 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
7079 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
7080 : /* 12487*/ /*Scope*/ 53, /*->12541*/
7081 : /* 12488*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7082 : /* 12492*/ OPC_MoveChild0,
7083 : /* 12493*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
7084 : /* 12496*/ OPC_RecordMemRef,
7085 : /* 12497*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
7086 : /* 12498*/ OPC_CheckFoldableChainNode,
7087 : /* 12499*/ OPC_MoveChild1,
7088 : /* 12500*/ OPC_CheckOpcode, TARGET_VAL(ISD::OR),
7089 : /* 12503*/ OPC_RecordChild0, // #1 = $addr
7090 : /* 12504*/ OPC_RecordChild1, // #2 = $off
7091 : /* 12505*/ OPC_MoveChild1,
7092 : /* 12506*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7093 : /* 12509*/ OPC_MoveParent,
7094 : /* 12510*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
7095 : /* 12512*/ OPC_CheckType, MVT::i32,
7096 : /* 12514*/ OPC_MoveParent,
7097 : /* 12515*/ OPC_RecordChild2, // #3 = $exp
7098 : /* 12516*/ OPC_RecordChild3, // #4 = $new
7099 : /* 12517*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
7100 : /* 12519*/ OPC_MoveParent,
7101 : /* 12520*/ OPC_CheckType, MVT::i32,
7102 : /* 12522*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7103 : /* 12524*/ OPC_EmitMergeInputChains1_0,
7104 : /* 12525*/ OPC_EmitInteger, MVT::i32, 0,
7105 : /* 12528*/ OPC_EmitConvertToTarget, 2,
7106 : /* 12530*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
7107 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
7108 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
7109 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
7110 : /* 12541*/ /*Scope*/ 46, /*->12588*/
7111 : /* 12542*/ OPC_CheckAndImm, 127|128,1/*255*/,
7112 : /* 12545*/ OPC_MoveChild0,
7113 : /* 12546*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7114 : /* 12549*/ OPC_MoveChild0,
7115 : /* 12550*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7116 : /* 12553*/ OPC_RecordMemRef,
7117 : /* 12554*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7118 : /* 12555*/ OPC_CheckFoldableChainNode,
7119 : /* 12556*/ OPC_RecordChild1, // #1 = $addr
7120 : /* 12557*/ OPC_CheckChild1Type, MVT::i32,
7121 : /* 12559*/ OPC_MoveChild2,
7122 : /* 12560*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7123 : /* 12563*/ OPC_RecordChild0, // #2 = $val
7124 : /* 12564*/ OPC_MoveParent,
7125 : /* 12565*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
7126 : /* 12567*/ OPC_MoveParent,
7127 : /* 12568*/ OPC_MoveParent,
7128 : /* 12569*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7129 : /* 12571*/ OPC_EmitMergeInputChains1_0,
7130 : /* 12572*/ OPC_EmitInteger, MVT::i32, 0,
7131 : /* 12575*/ OPC_EmitInteger, MVT::i32, 0,
7132 : /* 12578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
7133 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7134 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 18
7135 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7136 : /* 12588*/ /*Scope*/ 47, /*->12636*/
7137 : /* 12589*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7138 : /* 12593*/ OPC_MoveChild0,
7139 : /* 12594*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7140 : /* 12597*/ OPC_MoveChild0,
7141 : /* 12598*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7142 : /* 12601*/ OPC_RecordMemRef,
7143 : /* 12602*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7144 : /* 12603*/ OPC_CheckFoldableChainNode,
7145 : /* 12604*/ OPC_RecordChild1, // #1 = $addr
7146 : /* 12605*/ OPC_CheckChild1Type, MVT::i32,
7147 : /* 12607*/ OPC_MoveChild2,
7148 : /* 12608*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7149 : /* 12611*/ OPC_RecordChild0, // #2 = $val
7150 : /* 12612*/ OPC_MoveParent,
7151 : /* 12613*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
7152 : /* 12615*/ OPC_MoveParent,
7153 : /* 12616*/ OPC_MoveParent,
7154 : /* 12617*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7155 : /* 12619*/ OPC_EmitMergeInputChains1_0,
7156 : /* 12620*/ OPC_EmitInteger, MVT::i32, 0,
7157 : /* 12623*/ OPC_EmitInteger, MVT::i32, 0,
7158 : /* 12626*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
7159 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7160 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 18
7161 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7162 : /* 12636*/ /*Scope*/ 46, /*->12683*/
7163 : /* 12637*/ OPC_CheckAndImm, 127|128,1/*255*/,
7164 : /* 12640*/ OPC_MoveChild0,
7165 : /* 12641*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7166 : /* 12644*/ OPC_MoveChild0,
7167 : /* 12645*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7168 : /* 12648*/ OPC_RecordMemRef,
7169 : /* 12649*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7170 : /* 12650*/ OPC_CheckFoldableChainNode,
7171 : /* 12651*/ OPC_RecordChild1, // #1 = $addr
7172 : /* 12652*/ OPC_CheckChild1Type, MVT::i32,
7173 : /* 12654*/ OPC_MoveChild2,
7174 : /* 12655*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7175 : /* 12658*/ OPC_RecordChild0, // #2 = $val
7176 : /* 12659*/ OPC_MoveParent,
7177 : /* 12660*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
7178 : /* 12662*/ OPC_MoveParent,
7179 : /* 12663*/ OPC_MoveParent,
7180 : /* 12664*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7181 : /* 12666*/ OPC_EmitMergeInputChains1_0,
7182 : /* 12667*/ OPC_EmitInteger, MVT::i32, 0,
7183 : /* 12670*/ OPC_EmitInteger, MVT::i32, 0,
7184 : /* 12673*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
7185 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7186 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 18
7187 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7188 : /* 12683*/ /*Scope*/ 47, /*->12731*/
7189 : /* 12684*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7190 : /* 12688*/ OPC_MoveChild0,
7191 : /* 12689*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7192 : /* 12692*/ OPC_MoveChild0,
7193 : /* 12693*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7194 : /* 12696*/ OPC_RecordMemRef,
7195 : /* 12697*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7196 : /* 12698*/ OPC_CheckFoldableChainNode,
7197 : /* 12699*/ OPC_RecordChild1, // #1 = $addr
7198 : /* 12700*/ OPC_CheckChild1Type, MVT::i32,
7199 : /* 12702*/ OPC_MoveChild2,
7200 : /* 12703*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7201 : /* 12706*/ OPC_RecordChild0, // #2 = $val
7202 : /* 12707*/ OPC_MoveParent,
7203 : /* 12708*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
7204 : /* 12710*/ OPC_MoveParent,
7205 : /* 12711*/ OPC_MoveParent,
7206 : /* 12712*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7207 : /* 12714*/ OPC_EmitMergeInputChains1_0,
7208 : /* 12715*/ OPC_EmitInteger, MVT::i32, 0,
7209 : /* 12718*/ OPC_EmitInteger, MVT::i32, 0,
7210 : /* 12721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
7211 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7212 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 18
7213 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7214 : /* 12731*/ /*Scope*/ 46, /*->12778*/
7215 : /* 12732*/ OPC_CheckAndImm, 127|128,1/*255*/,
7216 : /* 12735*/ OPC_MoveChild0,
7217 : /* 12736*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7218 : /* 12739*/ OPC_MoveChild0,
7219 : /* 12740*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7220 : /* 12743*/ OPC_RecordMemRef,
7221 : /* 12744*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7222 : /* 12745*/ OPC_CheckFoldableChainNode,
7223 : /* 12746*/ OPC_RecordChild1, // #1 = $addr
7224 : /* 12747*/ OPC_CheckChild1Type, MVT::i32,
7225 : /* 12749*/ OPC_MoveChild2,
7226 : /* 12750*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7227 : /* 12753*/ OPC_RecordChild0, // #2 = $val
7228 : /* 12754*/ OPC_MoveParent,
7229 : /* 12755*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
7230 : /* 12757*/ OPC_MoveParent,
7231 : /* 12758*/ OPC_MoveParent,
7232 : /* 12759*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7233 : /* 12761*/ OPC_EmitMergeInputChains1_0,
7234 : /* 12762*/ OPC_EmitInteger, MVT::i32, 0,
7235 : /* 12765*/ OPC_EmitInteger, MVT::i32, 0,
7236 : /* 12768*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
7237 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7238 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 18
7239 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7240 : /* 12778*/ /*Scope*/ 47, /*->12826*/
7241 : /* 12779*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7242 : /* 12783*/ OPC_MoveChild0,
7243 : /* 12784*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7244 : /* 12787*/ OPC_MoveChild0,
7245 : /* 12788*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7246 : /* 12791*/ OPC_RecordMemRef,
7247 : /* 12792*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7248 : /* 12793*/ OPC_CheckFoldableChainNode,
7249 : /* 12794*/ OPC_RecordChild1, // #1 = $addr
7250 : /* 12795*/ OPC_CheckChild1Type, MVT::i32,
7251 : /* 12797*/ OPC_MoveChild2,
7252 : /* 12798*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7253 : /* 12801*/ OPC_RecordChild0, // #2 = $val
7254 : /* 12802*/ OPC_MoveParent,
7255 : /* 12803*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
7256 : /* 12805*/ OPC_MoveParent,
7257 : /* 12806*/ OPC_MoveParent,
7258 : /* 12807*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7259 : /* 12809*/ OPC_EmitMergeInputChains1_0,
7260 : /* 12810*/ OPC_EmitInteger, MVT::i32, 0,
7261 : /* 12813*/ OPC_EmitInteger, MVT::i32, 0,
7262 : /* 12816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
7263 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7264 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 18
7265 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7266 : /* 12826*/ /*Scope*/ 46, /*->12873*/
7267 : /* 12827*/ OPC_CheckAndImm, 127|128,1/*255*/,
7268 : /* 12830*/ OPC_MoveChild0,
7269 : /* 12831*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7270 : /* 12834*/ OPC_MoveChild0,
7271 : /* 12835*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
7272 : /* 12838*/ OPC_RecordMemRef,
7273 : /* 12839*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
7274 : /* 12840*/ OPC_CheckFoldableChainNode,
7275 : /* 12841*/ OPC_RecordChild1, // #1 = $addr
7276 : /* 12842*/ OPC_CheckChild1Type, MVT::i32,
7277 : /* 12844*/ OPC_MoveChild2,
7278 : /* 12845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7279 : /* 12848*/ OPC_RecordChild0, // #2 = $val
7280 : /* 12849*/ OPC_MoveParent,
7281 : /* 12850*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
7282 : /* 12852*/ OPC_MoveParent,
7283 : /* 12853*/ OPC_MoveParent,
7284 : /* 12854*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7285 : /* 12856*/ OPC_EmitMergeInputChains1_0,
7286 : /* 12857*/ OPC_EmitInteger, MVT::i32, 0,
7287 : /* 12860*/ OPC_EmitInteger, MVT::i32, 0,
7288 : /* 12863*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
7289 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7290 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 18
7291 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7292 : /* 12873*/ /*Scope*/ 47, /*->12921*/
7293 : /* 12874*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7294 : /* 12878*/ OPC_MoveChild0,
7295 : /* 12879*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7296 : /* 12882*/ OPC_MoveChild0,
7297 : /* 12883*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
7298 : /* 12886*/ OPC_RecordMemRef,
7299 : /* 12887*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
7300 : /* 12888*/ OPC_CheckFoldableChainNode,
7301 : /* 12889*/ OPC_RecordChild1, // #1 = $addr
7302 : /* 12890*/ OPC_CheckChild1Type, MVT::i32,
7303 : /* 12892*/ OPC_MoveChild2,
7304 : /* 12893*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7305 : /* 12896*/ OPC_RecordChild0, // #2 = $val
7306 : /* 12897*/ OPC_MoveParent,
7307 : /* 12898*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
7308 : /* 12900*/ OPC_MoveParent,
7309 : /* 12901*/ OPC_MoveParent,
7310 : /* 12902*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7311 : /* 12904*/ OPC_EmitMergeInputChains1_0,
7312 : /* 12905*/ OPC_EmitInteger, MVT::i32, 0,
7313 : /* 12908*/ OPC_EmitInteger, MVT::i32, 0,
7314 : /* 12911*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
7315 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7316 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 18
7317 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7318 : /* 12921*/ /*Scope*/ 46, /*->12968*/
7319 : /* 12922*/ OPC_CheckAndImm, 127|128,1/*255*/,
7320 : /* 12925*/ OPC_MoveChild0,
7321 : /* 12926*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7322 : /* 12929*/ OPC_MoveChild0,
7323 : /* 12930*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
7324 : /* 12933*/ OPC_RecordMemRef,
7325 : /* 12934*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
7326 : /* 12935*/ OPC_CheckFoldableChainNode,
7327 : /* 12936*/ OPC_RecordChild1, // #1 = $addr
7328 : /* 12937*/ OPC_CheckChild1Type, MVT::i32,
7329 : /* 12939*/ OPC_MoveChild2,
7330 : /* 12940*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7331 : /* 12943*/ OPC_RecordChild0, // #2 = $val
7332 : /* 12944*/ OPC_MoveParent,
7333 : /* 12945*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
7334 : /* 12947*/ OPC_MoveParent,
7335 : /* 12948*/ OPC_MoveParent,
7336 : /* 12949*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7337 : /* 12951*/ OPC_EmitMergeInputChains1_0,
7338 : /* 12952*/ OPC_EmitInteger, MVT::i32, 0,
7339 : /* 12955*/ OPC_EmitInteger, MVT::i32, 0,
7340 : /* 12958*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
7341 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7342 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 18
7343 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7344 : /* 12968*/ /*Scope*/ 47, /*->13016*/
7345 : /* 12969*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7346 : /* 12973*/ OPC_MoveChild0,
7347 : /* 12974*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7348 : /* 12977*/ OPC_MoveChild0,
7349 : /* 12978*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
7350 : /* 12981*/ OPC_RecordMemRef,
7351 : /* 12982*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
7352 : /* 12983*/ OPC_CheckFoldableChainNode,
7353 : /* 12984*/ OPC_RecordChild1, // #1 = $addr
7354 : /* 12985*/ OPC_CheckChild1Type, MVT::i32,
7355 : /* 12987*/ OPC_MoveChild2,
7356 : /* 12988*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7357 : /* 12991*/ OPC_RecordChild0, // #2 = $val
7358 : /* 12992*/ OPC_MoveParent,
7359 : /* 12993*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
7360 : /* 12995*/ OPC_MoveParent,
7361 : /* 12996*/ OPC_MoveParent,
7362 : /* 12997*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7363 : /* 12999*/ OPC_EmitMergeInputChains1_0,
7364 : /* 13000*/ OPC_EmitInteger, MVT::i32, 0,
7365 : /* 13003*/ OPC_EmitInteger, MVT::i32, 0,
7366 : /* 13006*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
7367 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7368 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 18
7369 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7370 : /* 13016*/ /*Scope*/ 46, /*->13063*/
7371 : /* 13017*/ OPC_CheckAndImm, 127|128,1/*255*/,
7372 : /* 13020*/ OPC_MoveChild0,
7373 : /* 13021*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7374 : /* 13024*/ OPC_MoveChild0,
7375 : /* 13025*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
7376 : /* 13028*/ OPC_RecordMemRef,
7377 : /* 13029*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
7378 : /* 13030*/ OPC_CheckFoldableChainNode,
7379 : /* 13031*/ OPC_RecordChild1, // #1 = $addr
7380 : /* 13032*/ OPC_CheckChild1Type, MVT::i32,
7381 : /* 13034*/ OPC_MoveChild2,
7382 : /* 13035*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7383 : /* 13038*/ OPC_RecordChild0, // #2 = $val
7384 : /* 13039*/ OPC_MoveParent,
7385 : /* 13040*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
7386 : /* 13042*/ OPC_MoveParent,
7387 : /* 13043*/ OPC_MoveParent,
7388 : /* 13044*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7389 : /* 13046*/ OPC_EmitMergeInputChains1_0,
7390 : /* 13047*/ OPC_EmitInteger, MVT::i32, 0,
7391 : /* 13050*/ OPC_EmitInteger, MVT::i32, 0,
7392 : /* 13053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
7393 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7394 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 18
7395 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7396 : /* 13063*/ /*Scope*/ 47, /*->13111*/
7397 : /* 13064*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7398 : /* 13068*/ OPC_MoveChild0,
7399 : /* 13069*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7400 : /* 13072*/ OPC_MoveChild0,
7401 : /* 13073*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
7402 : /* 13076*/ OPC_RecordMemRef,
7403 : /* 13077*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
7404 : /* 13078*/ OPC_CheckFoldableChainNode,
7405 : /* 13079*/ OPC_RecordChild1, // #1 = $addr
7406 : /* 13080*/ OPC_CheckChild1Type, MVT::i32,
7407 : /* 13082*/ OPC_MoveChild2,
7408 : /* 13083*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
7409 : /* 13086*/ OPC_RecordChild0, // #2 = $val
7410 : /* 13087*/ OPC_MoveParent,
7411 : /* 13088*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
7412 : /* 13090*/ OPC_MoveParent,
7413 : /* 13091*/ OPC_MoveParent,
7414 : /* 13092*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7415 : /* 13094*/ OPC_EmitMergeInputChains1_0,
7416 : /* 13095*/ OPC_EmitInteger, MVT::i32, 0,
7417 : /* 13098*/ OPC_EmitInteger, MVT::i32, 0,
7418 : /* 13101*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
7419 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
7420 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 18
7421 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
7422 : /* 13111*/ /*Scope*/ 51, /*->13163*/
7423 : /* 13112*/ OPC_CheckAndImm, 127|128,1/*255*/,
7424 : /* 13115*/ OPC_MoveChild0,
7425 : /* 13116*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7426 : /* 13119*/ OPC_MoveChild0,
7427 : /* 13120*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7428 : /* 13123*/ OPC_RecordMemRef,
7429 : /* 13124*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7430 : /* 13125*/ OPC_CheckFoldableChainNode,
7431 : /* 13126*/ OPC_RecordChild1, // #1 = $off
7432 : /* 13127*/ OPC_MoveChild1,
7433 : /* 13128*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7434 : /* 13131*/ OPC_MoveParent,
7435 : /* 13132*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
7436 : /* 13134*/ OPC_MoveParent,
7437 : /* 13135*/ OPC_MoveParent,
7438 : /* 13136*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7439 : /* 13138*/ OPC_EmitMergeInputChains1_0,
7440 : /* 13139*/ OPC_EmitInteger, MVT::i32, 0,
7441 : /* 13142*/ OPC_EmitConvertToTarget, 1,
7442 : /* 13144*/ OPC_EmitInteger, MVT::i32, 0,
7443 : /* 13147*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7444 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7445 : /* 13154*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
7446 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
7447 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 18
7448 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7449 : /* 13163*/ /*Scope*/ 52, /*->13216*/
7450 : /* 13164*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7451 : /* 13168*/ OPC_MoveChild0,
7452 : /* 13169*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
7453 : /* 13172*/ OPC_MoveChild0,
7454 : /* 13173*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7455 : /* 13176*/ OPC_RecordMemRef,
7456 : /* 13177*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7457 : /* 13178*/ OPC_CheckFoldableChainNode,
7458 : /* 13179*/ OPC_RecordChild1, // #1 = $off
7459 : /* 13180*/ OPC_MoveChild1,
7460 : /* 13181*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7461 : /* 13184*/ OPC_MoveParent,
7462 : /* 13185*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
7463 : /* 13187*/ OPC_MoveParent,
7464 : /* 13188*/ OPC_MoveParent,
7465 : /* 13189*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7466 : /* 13191*/ OPC_EmitMergeInputChains1_0,
7467 : /* 13192*/ OPC_EmitInteger, MVT::i32, 0,
7468 : /* 13195*/ OPC_EmitConvertToTarget, 1,
7469 : /* 13197*/ OPC_EmitInteger, MVT::i32, 0,
7470 : /* 13200*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7471 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7472 : /* 13207*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
7473 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
7474 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 18
7475 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7476 : /* 13216*/ /*Scope*/ 51, /*->13268*/
7477 : /* 13217*/ OPC_CheckAndImm, 127|128,1/*255*/,
7478 : /* 13220*/ OPC_MoveChild0,
7479 : /* 13221*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7480 : /* 13224*/ OPC_RecordMemRef,
7481 : /* 13225*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7482 : /* 13226*/ OPC_CheckFoldableChainNode,
7483 : /* 13227*/ OPC_MoveChild1,
7484 : /* 13228*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7485 : /* 13231*/ OPC_RecordChild0, // #1 = $off
7486 : /* 13232*/ OPC_MoveChild0,
7487 : /* 13233*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7488 : /* 13236*/ OPC_MoveParent,
7489 : /* 13237*/ OPC_MoveParent,
7490 : /* 13238*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
7491 : /* 13240*/ OPC_MoveParent,
7492 : /* 13241*/ OPC_CheckType, MVT::i32,
7493 : /* 13243*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7494 : /* 13245*/ OPC_EmitMergeInputChains1_0,
7495 : /* 13246*/ OPC_EmitInteger, MVT::i32, 0,
7496 : /* 13249*/ OPC_EmitInteger, MVT::i32, 0,
7497 : /* 13252*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7498 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
7499 : /* 13259*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
7500 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
7501 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
7502 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7503 : /* 13268*/ /*Scope*/ 52, /*->13321*/
7504 : /* 13269*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7505 : /* 13273*/ OPC_MoveChild0,
7506 : /* 13274*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7507 : /* 13277*/ OPC_RecordMemRef,
7508 : /* 13278*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7509 : /* 13279*/ OPC_CheckFoldableChainNode,
7510 : /* 13280*/ OPC_MoveChild1,
7511 : /* 13281*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7512 : /* 13284*/ OPC_RecordChild0, // #1 = $off
7513 : /* 13285*/ OPC_MoveChild0,
7514 : /* 13286*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7515 : /* 13289*/ OPC_MoveParent,
7516 : /* 13290*/ OPC_MoveParent,
7517 : /* 13291*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
7518 : /* 13293*/ OPC_MoveParent,
7519 : /* 13294*/ OPC_CheckType, MVT::i32,
7520 : /* 13296*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7521 : /* 13298*/ OPC_EmitMergeInputChains1_0,
7522 : /* 13299*/ OPC_EmitInteger, MVT::i32, 0,
7523 : /* 13302*/ OPC_EmitInteger, MVT::i32, 0,
7524 : /* 13305*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7525 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
7526 : /* 13312*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
7527 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
7528 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
7529 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7530 : /* 13321*/ /*Scope*/ 51, /*->13373*/
7531 : /* 13322*/ OPC_CheckAndImm, 127|128,1/*255*/,
7532 : /* 13325*/ OPC_MoveChild0,
7533 : /* 13326*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7534 : /* 13329*/ OPC_RecordMemRef,
7535 : /* 13330*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7536 : /* 13331*/ OPC_CheckFoldableChainNode,
7537 : /* 13332*/ OPC_MoveChild1,
7538 : /* 13333*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7539 : /* 13336*/ OPC_RecordChild0, // #1 = $off
7540 : /* 13337*/ OPC_MoveChild0,
7541 : /* 13338*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7542 : /* 13341*/ OPC_MoveParent,
7543 : /* 13342*/ OPC_MoveParent,
7544 : /* 13343*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
7545 : /* 13345*/ OPC_MoveParent,
7546 : /* 13346*/ OPC_CheckType, MVT::i32,
7547 : /* 13348*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7548 : /* 13350*/ OPC_EmitMergeInputChains1_0,
7549 : /* 13351*/ OPC_EmitInteger, MVT::i32, 0,
7550 : /* 13354*/ OPC_EmitInteger, MVT::i32, 0,
7551 : /* 13357*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7552 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
7553 : /* 13364*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
7554 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
7555 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
7556 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7557 : /* 13373*/ /*Scope*/ 52, /*->13426*/
7558 : /* 13374*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7559 : /* 13378*/ OPC_MoveChild0,
7560 : /* 13379*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
7561 : /* 13382*/ OPC_RecordMemRef,
7562 : /* 13383*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
7563 : /* 13384*/ OPC_CheckFoldableChainNode,
7564 : /* 13385*/ OPC_MoveChild1,
7565 : /* 13386*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7566 : /* 13389*/ OPC_RecordChild0, // #1 = $off
7567 : /* 13390*/ OPC_MoveChild0,
7568 : /* 13391*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7569 : /* 13394*/ OPC_MoveParent,
7570 : /* 13395*/ OPC_MoveParent,
7571 : /* 13396*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
7572 : /* 13398*/ OPC_MoveParent,
7573 : /* 13399*/ OPC_CheckType, MVT::i32,
7574 : /* 13401*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7575 : /* 13403*/ OPC_EmitMergeInputChains1_0,
7576 : /* 13404*/ OPC_EmitInteger, MVT::i32, 0,
7577 : /* 13407*/ OPC_EmitInteger, MVT::i32, 0,
7578 : /* 13410*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7579 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
7580 : /* 13417*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
7581 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
7582 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
7583 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
7584 : /* 13426*/ /*Scope*/ 53, /*->13480*/
7585 : /* 13427*/ OPC_CheckAndImm, 127|128,1/*255*/,
7586 : /* 13430*/ OPC_MoveChild0,
7587 : /* 13431*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7588 : /* 13434*/ OPC_RecordMemRef,
7589 : /* 13435*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7590 : /* 13436*/ OPC_CheckFoldableChainNode,
7591 : /* 13437*/ OPC_MoveChild1,
7592 : /* 13438*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7593 : /* 13441*/ OPC_RecordChild0, // #1 = $off
7594 : /* 13442*/ OPC_MoveChild0,
7595 : /* 13443*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7596 : /* 13446*/ OPC_MoveParent,
7597 : /* 13447*/ OPC_MoveParent,
7598 : /* 13448*/ OPC_RecordChild2, // #2 = $val
7599 : /* 13449*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
7600 : /* 13451*/ OPC_MoveParent,
7601 : /* 13452*/ OPC_CheckType, MVT::i32,
7602 : /* 13454*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7603 : /* 13456*/ OPC_EmitMergeInputChains1_0,
7604 : /* 13457*/ OPC_EmitInteger, MVT::i32, 0,
7605 : /* 13460*/ OPC_EmitInteger, MVT::i32, 0,
7606 : /* 13463*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7607 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7608 : /* 13470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
7609 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7610 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
7611 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7612 : /* 13480*/ /*Scope*/ 54, /*->13535*/
7613 : /* 13481*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7614 : /* 13485*/ OPC_MoveChild0,
7615 : /* 13486*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7616 : /* 13489*/ OPC_RecordMemRef,
7617 : /* 13490*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7618 : /* 13491*/ OPC_CheckFoldableChainNode,
7619 : /* 13492*/ OPC_MoveChild1,
7620 : /* 13493*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7621 : /* 13496*/ OPC_RecordChild0, // #1 = $off
7622 : /* 13497*/ OPC_MoveChild0,
7623 : /* 13498*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7624 : /* 13501*/ OPC_MoveParent,
7625 : /* 13502*/ OPC_MoveParent,
7626 : /* 13503*/ OPC_RecordChild2, // #2 = $val
7627 : /* 13504*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
7628 : /* 13506*/ OPC_MoveParent,
7629 : /* 13507*/ OPC_CheckType, MVT::i32,
7630 : /* 13509*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7631 : /* 13511*/ OPC_EmitMergeInputChains1_0,
7632 : /* 13512*/ OPC_EmitInteger, MVT::i32, 0,
7633 : /* 13515*/ OPC_EmitInteger, MVT::i32, 0,
7634 : /* 13518*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7635 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7636 : /* 13525*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
7637 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7638 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
7639 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7640 : /* 13535*/ /*Scope*/ 53, /*->13589*/
7641 : /* 13536*/ OPC_CheckAndImm, 127|128,1/*255*/,
7642 : /* 13539*/ OPC_MoveChild0,
7643 : /* 13540*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7644 : /* 13543*/ OPC_RecordMemRef,
7645 : /* 13544*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7646 : /* 13545*/ OPC_CheckFoldableChainNode,
7647 : /* 13546*/ OPC_MoveChild1,
7648 : /* 13547*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7649 : /* 13550*/ OPC_RecordChild0, // #1 = $off
7650 : /* 13551*/ OPC_MoveChild0,
7651 : /* 13552*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7652 : /* 13555*/ OPC_MoveParent,
7653 : /* 13556*/ OPC_MoveParent,
7654 : /* 13557*/ OPC_RecordChild2, // #2 = $val
7655 : /* 13558*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
7656 : /* 13560*/ OPC_MoveParent,
7657 : /* 13561*/ OPC_CheckType, MVT::i32,
7658 : /* 13563*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7659 : /* 13565*/ OPC_EmitMergeInputChains1_0,
7660 : /* 13566*/ OPC_EmitInteger, MVT::i32, 0,
7661 : /* 13569*/ OPC_EmitInteger, MVT::i32, 0,
7662 : /* 13572*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7663 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7664 : /* 13579*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
7665 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7666 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
7667 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7668 : /* 13589*/ /*Scope*/ 54, /*->13644*/
7669 : /* 13590*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7670 : /* 13594*/ OPC_MoveChild0,
7671 : /* 13595*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
7672 : /* 13598*/ OPC_RecordMemRef,
7673 : /* 13599*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
7674 : /* 13600*/ OPC_CheckFoldableChainNode,
7675 : /* 13601*/ OPC_MoveChild1,
7676 : /* 13602*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7677 : /* 13605*/ OPC_RecordChild0, // #1 = $off
7678 : /* 13606*/ OPC_MoveChild0,
7679 : /* 13607*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7680 : /* 13610*/ OPC_MoveParent,
7681 : /* 13611*/ OPC_MoveParent,
7682 : /* 13612*/ OPC_RecordChild2, // #2 = $val
7683 : /* 13613*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
7684 : /* 13615*/ OPC_MoveParent,
7685 : /* 13616*/ OPC_CheckType, MVT::i32,
7686 : /* 13618*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7687 : /* 13620*/ OPC_EmitMergeInputChains1_0,
7688 : /* 13621*/ OPC_EmitInteger, MVT::i32, 0,
7689 : /* 13624*/ OPC_EmitInteger, MVT::i32, 0,
7690 : /* 13627*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7691 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7692 : /* 13634*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
7693 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7694 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
7695 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7696 : /* 13644*/ /*Scope*/ 53, /*->13698*/
7697 : /* 13645*/ OPC_CheckAndImm, 127|128,1/*255*/,
7698 : /* 13648*/ OPC_MoveChild0,
7699 : /* 13649*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7700 : /* 13652*/ OPC_RecordMemRef,
7701 : /* 13653*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7702 : /* 13654*/ OPC_CheckFoldableChainNode,
7703 : /* 13655*/ OPC_MoveChild1,
7704 : /* 13656*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7705 : /* 13659*/ OPC_RecordChild0, // #1 = $off
7706 : /* 13660*/ OPC_MoveChild0,
7707 : /* 13661*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7708 : /* 13664*/ OPC_MoveParent,
7709 : /* 13665*/ OPC_MoveParent,
7710 : /* 13666*/ OPC_RecordChild2, // #2 = $val
7711 : /* 13667*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
7712 : /* 13669*/ OPC_MoveParent,
7713 : /* 13670*/ OPC_CheckType, MVT::i32,
7714 : /* 13672*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7715 : /* 13674*/ OPC_EmitMergeInputChains1_0,
7716 : /* 13675*/ OPC_EmitInteger, MVT::i32, 0,
7717 : /* 13678*/ OPC_EmitInteger, MVT::i32, 0,
7718 : /* 13681*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7719 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7720 : /* 13688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
7721 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7722 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
7723 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7724 : /* 13698*/ /*Scope*/ 54, /*->13753*/
7725 : /* 13699*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7726 : /* 13703*/ OPC_MoveChild0,
7727 : /* 13704*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7728 : /* 13707*/ OPC_RecordMemRef,
7729 : /* 13708*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7730 : /* 13709*/ OPC_CheckFoldableChainNode,
7731 : /* 13710*/ OPC_MoveChild1,
7732 : /* 13711*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7733 : /* 13714*/ OPC_RecordChild0, // #1 = $off
7734 : /* 13715*/ OPC_MoveChild0,
7735 : /* 13716*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7736 : /* 13719*/ OPC_MoveParent,
7737 : /* 13720*/ OPC_MoveParent,
7738 : /* 13721*/ OPC_RecordChild2, // #2 = $val
7739 : /* 13722*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
7740 : /* 13724*/ OPC_MoveParent,
7741 : /* 13725*/ OPC_CheckType, MVT::i32,
7742 : /* 13727*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7743 : /* 13729*/ OPC_EmitMergeInputChains1_0,
7744 : /* 13730*/ OPC_EmitInteger, MVT::i32, 0,
7745 : /* 13733*/ OPC_EmitInteger, MVT::i32, 0,
7746 : /* 13736*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7747 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7748 : /* 13743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
7749 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7750 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
7751 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7752 : /* 13753*/ /*Scope*/ 53, /*->13807*/
7753 : /* 13754*/ OPC_CheckAndImm, 127|128,1/*255*/,
7754 : /* 13757*/ OPC_MoveChild0,
7755 : /* 13758*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7756 : /* 13761*/ OPC_RecordMemRef,
7757 : /* 13762*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7758 : /* 13763*/ OPC_CheckFoldableChainNode,
7759 : /* 13764*/ OPC_MoveChild1,
7760 : /* 13765*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7761 : /* 13768*/ OPC_RecordChild0, // #1 = $off
7762 : /* 13769*/ OPC_MoveChild0,
7763 : /* 13770*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7764 : /* 13773*/ OPC_MoveParent,
7765 : /* 13774*/ OPC_MoveParent,
7766 : /* 13775*/ OPC_RecordChild2, // #2 = $val
7767 : /* 13776*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
7768 : /* 13778*/ OPC_MoveParent,
7769 : /* 13779*/ OPC_CheckType, MVT::i32,
7770 : /* 13781*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7771 : /* 13783*/ OPC_EmitMergeInputChains1_0,
7772 : /* 13784*/ OPC_EmitInteger, MVT::i32, 0,
7773 : /* 13787*/ OPC_EmitInteger, MVT::i32, 0,
7774 : /* 13790*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7775 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7776 : /* 13797*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
7777 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7778 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
7779 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7780 : /* 13807*/ /*Scope*/ 54, /*->13862*/
7781 : /* 13808*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7782 : /* 13812*/ OPC_MoveChild0,
7783 : /* 13813*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
7784 : /* 13816*/ OPC_RecordMemRef,
7785 : /* 13817*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
7786 : /* 13818*/ OPC_CheckFoldableChainNode,
7787 : /* 13819*/ OPC_MoveChild1,
7788 : /* 13820*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7789 : /* 13823*/ OPC_RecordChild0, // #1 = $off
7790 : /* 13824*/ OPC_MoveChild0,
7791 : /* 13825*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7792 : /* 13828*/ OPC_MoveParent,
7793 : /* 13829*/ OPC_MoveParent,
7794 : /* 13830*/ OPC_RecordChild2, // #2 = $val
7795 : /* 13831*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
7796 : /* 13833*/ OPC_MoveParent,
7797 : /* 13834*/ OPC_CheckType, MVT::i32,
7798 : /* 13836*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7799 : /* 13838*/ OPC_EmitMergeInputChains1_0,
7800 : /* 13839*/ OPC_EmitInteger, MVT::i32, 0,
7801 : /* 13842*/ OPC_EmitInteger, MVT::i32, 0,
7802 : /* 13845*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7803 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7804 : /* 13852*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
7805 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7806 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
7807 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7808 : /* 13862*/ /*Scope*/ 53, /*->13916*/
7809 : /* 13863*/ OPC_CheckAndImm, 127|128,1/*255*/,
7810 : /* 13866*/ OPC_MoveChild0,
7811 : /* 13867*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7812 : /* 13870*/ OPC_RecordMemRef,
7813 : /* 13871*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7814 : /* 13872*/ OPC_CheckFoldableChainNode,
7815 : /* 13873*/ OPC_MoveChild1,
7816 : /* 13874*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7817 : /* 13877*/ OPC_RecordChild0, // #1 = $off
7818 : /* 13878*/ OPC_MoveChild0,
7819 : /* 13879*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7820 : /* 13882*/ OPC_MoveParent,
7821 : /* 13883*/ OPC_MoveParent,
7822 : /* 13884*/ OPC_RecordChild2, // #2 = $val
7823 : /* 13885*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
7824 : /* 13887*/ OPC_MoveParent,
7825 : /* 13888*/ OPC_CheckType, MVT::i32,
7826 : /* 13890*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7827 : /* 13892*/ OPC_EmitMergeInputChains1_0,
7828 : /* 13893*/ OPC_EmitInteger, MVT::i32, 0,
7829 : /* 13896*/ OPC_EmitInteger, MVT::i32, 0,
7830 : /* 13899*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7831 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7832 : /* 13906*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
7833 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7834 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
7835 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7836 : /* 13916*/ /*Scope*/ 54, /*->13971*/
7837 : /* 13917*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7838 : /* 13921*/ OPC_MoveChild0,
7839 : /* 13922*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7840 : /* 13925*/ OPC_RecordMemRef,
7841 : /* 13926*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7842 : /* 13927*/ OPC_CheckFoldableChainNode,
7843 : /* 13928*/ OPC_MoveChild1,
7844 : /* 13929*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7845 : /* 13932*/ OPC_RecordChild0, // #1 = $off
7846 : /* 13933*/ OPC_MoveChild0,
7847 : /* 13934*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7848 : /* 13937*/ OPC_MoveParent,
7849 : /* 13938*/ OPC_MoveParent,
7850 : /* 13939*/ OPC_RecordChild2, // #2 = $val
7851 : /* 13940*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
7852 : /* 13942*/ OPC_MoveParent,
7853 : /* 13943*/ OPC_CheckType, MVT::i32,
7854 : /* 13945*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7855 : /* 13947*/ OPC_EmitMergeInputChains1_0,
7856 : /* 13948*/ OPC_EmitInteger, MVT::i32, 0,
7857 : /* 13951*/ OPC_EmitInteger, MVT::i32, 0,
7858 : /* 13954*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7859 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7860 : /* 13961*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
7861 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7862 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
7863 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7864 : /* 13971*/ /*Scope*/ 53, /*->14025*/
7865 : /* 13972*/ OPC_CheckAndImm, 127|128,1/*255*/,
7866 : /* 13975*/ OPC_MoveChild0,
7867 : /* 13976*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7868 : /* 13979*/ OPC_RecordMemRef,
7869 : /* 13980*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7870 : /* 13981*/ OPC_CheckFoldableChainNode,
7871 : /* 13982*/ OPC_MoveChild1,
7872 : /* 13983*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7873 : /* 13986*/ OPC_RecordChild0, // #1 = $off
7874 : /* 13987*/ OPC_MoveChild0,
7875 : /* 13988*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7876 : /* 13991*/ OPC_MoveParent,
7877 : /* 13992*/ OPC_MoveParent,
7878 : /* 13993*/ OPC_RecordChild2, // #2 = $val
7879 : /* 13994*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
7880 : /* 13996*/ OPC_MoveParent,
7881 : /* 13997*/ OPC_CheckType, MVT::i32,
7882 : /* 13999*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7883 : /* 14001*/ OPC_EmitMergeInputChains1_0,
7884 : /* 14002*/ OPC_EmitInteger, MVT::i32, 0,
7885 : /* 14005*/ OPC_EmitInteger, MVT::i32, 0,
7886 : /* 14008*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7887 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7888 : /* 14015*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
7889 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7890 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
7891 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7892 : /* 14025*/ /*Scope*/ 54, /*->14080*/
7893 : /* 14026*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7894 : /* 14030*/ OPC_MoveChild0,
7895 : /* 14031*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
7896 : /* 14034*/ OPC_RecordMemRef,
7897 : /* 14035*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
7898 : /* 14036*/ OPC_CheckFoldableChainNode,
7899 : /* 14037*/ OPC_MoveChild1,
7900 : /* 14038*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7901 : /* 14041*/ OPC_RecordChild0, // #1 = $off
7902 : /* 14042*/ OPC_MoveChild0,
7903 : /* 14043*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7904 : /* 14046*/ OPC_MoveParent,
7905 : /* 14047*/ OPC_MoveParent,
7906 : /* 14048*/ OPC_RecordChild2, // #2 = $val
7907 : /* 14049*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
7908 : /* 14051*/ OPC_MoveParent,
7909 : /* 14052*/ OPC_CheckType, MVT::i32,
7910 : /* 14054*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7911 : /* 14056*/ OPC_EmitMergeInputChains1_0,
7912 : /* 14057*/ OPC_EmitInteger, MVT::i32, 0,
7913 : /* 14060*/ OPC_EmitInteger, MVT::i32, 0,
7914 : /* 14063*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7915 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7916 : /* 14070*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
7917 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7918 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
7919 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7920 : /* 14080*/ /*Scope*/ 53, /*->14134*/
7921 : /* 14081*/ OPC_CheckAndImm, 127|128,1/*255*/,
7922 : /* 14084*/ OPC_MoveChild0,
7923 : /* 14085*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
7924 : /* 14088*/ OPC_RecordMemRef,
7925 : /* 14089*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
7926 : /* 14090*/ OPC_CheckFoldableChainNode,
7927 : /* 14091*/ OPC_MoveChild1,
7928 : /* 14092*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7929 : /* 14095*/ OPC_RecordChild0, // #1 = $off
7930 : /* 14096*/ OPC_MoveChild0,
7931 : /* 14097*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7932 : /* 14100*/ OPC_MoveParent,
7933 : /* 14101*/ OPC_MoveParent,
7934 : /* 14102*/ OPC_RecordChild2, // #2 = $val
7935 : /* 14103*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
7936 : /* 14105*/ OPC_MoveParent,
7937 : /* 14106*/ OPC_CheckType, MVT::i32,
7938 : /* 14108*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7939 : /* 14110*/ OPC_EmitMergeInputChains1_0,
7940 : /* 14111*/ OPC_EmitInteger, MVT::i32, 0,
7941 : /* 14114*/ OPC_EmitInteger, MVT::i32, 0,
7942 : /* 14117*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7943 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7944 : /* 14124*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
7945 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7946 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
7947 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7948 : /* 14134*/ /*Scope*/ 54, /*->14189*/
7949 : /* 14135*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
7950 : /* 14139*/ OPC_MoveChild0,
7951 : /* 14140*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
7952 : /* 14143*/ OPC_RecordMemRef,
7953 : /* 14144*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
7954 : /* 14145*/ OPC_CheckFoldableChainNode,
7955 : /* 14146*/ OPC_MoveChild1,
7956 : /* 14147*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7957 : /* 14150*/ OPC_RecordChild0, // #1 = $off
7958 : /* 14151*/ OPC_MoveChild0,
7959 : /* 14152*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
7960 : /* 14155*/ OPC_MoveParent,
7961 : /* 14156*/ OPC_MoveParent,
7962 : /* 14157*/ OPC_RecordChild2, // #2 = $val
7963 : /* 14158*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
7964 : /* 14160*/ OPC_MoveParent,
7965 : /* 14161*/ OPC_CheckType, MVT::i32,
7966 : /* 14163*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7967 : /* 14165*/ OPC_EmitMergeInputChains1_0,
7968 : /* 14166*/ OPC_EmitInteger, MVT::i32, 0,
7969 : /* 14169*/ OPC_EmitInteger, MVT::i32, 0,
7970 : /* 14172*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7971 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
7972 : /* 14179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
7973 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
7974 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
7975 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
7976 : /* 14189*/ /*Scope*/ 53, /*->14243*/
7977 : /* 14190*/ OPC_CheckAndImm, 127|128,1/*255*/,
7978 : /* 14193*/ OPC_MoveChild0,
7979 : /* 14194*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
7980 : /* 14197*/ OPC_RecordMemRef,
7981 : /* 14198*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
7982 : /* 14199*/ OPC_CheckFoldableChainNode,
7983 : /* 14200*/ OPC_MoveChild1,
7984 : /* 14201*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
7985 : /* 14204*/ OPC_RecordChild0, // #1 = $off
7986 : /* 14205*/ OPC_MoveChild0,
7987 : /* 14206*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
7988 : /* 14209*/ OPC_MoveParent,
7989 : /* 14210*/ OPC_MoveParent,
7990 : /* 14211*/ OPC_RecordChild2, // #2 = $val
7991 : /* 14212*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
7992 : /* 14214*/ OPC_MoveParent,
7993 : /* 14215*/ OPC_CheckType, MVT::i32,
7994 : /* 14217*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
7995 : /* 14219*/ OPC_EmitMergeInputChains1_0,
7996 : /* 14220*/ OPC_EmitInteger, MVT::i32, 0,
7997 : /* 14223*/ OPC_EmitInteger, MVT::i32, 0,
7998 : /* 14226*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
7999 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8000 : /* 14233*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8001 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8002 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
8003 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8004 : /* 14243*/ /*Scope*/ 54, /*->14298*/
8005 : /* 14244*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8006 : /* 14248*/ OPC_MoveChild0,
8007 : /* 14249*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
8008 : /* 14252*/ OPC_RecordMemRef,
8009 : /* 14253*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
8010 : /* 14254*/ OPC_CheckFoldableChainNode,
8011 : /* 14255*/ OPC_MoveChild1,
8012 : /* 14256*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8013 : /* 14259*/ OPC_RecordChild0, // #1 = $off
8014 : /* 14260*/ OPC_MoveChild0,
8015 : /* 14261*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8016 : /* 14264*/ OPC_MoveParent,
8017 : /* 14265*/ OPC_MoveParent,
8018 : /* 14266*/ OPC_RecordChild2, // #2 = $val
8019 : /* 14267*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
8020 : /* 14269*/ OPC_MoveParent,
8021 : /* 14270*/ OPC_CheckType, MVT::i32,
8022 : /* 14272*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8023 : /* 14274*/ OPC_EmitMergeInputChains1_0,
8024 : /* 14275*/ OPC_EmitInteger, MVT::i32, 0,
8025 : /* 14278*/ OPC_EmitInteger, MVT::i32, 0,
8026 : /* 14281*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8027 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8028 : /* 14288*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8029 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8030 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
8031 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8032 : /* 14298*/ /*Scope*/ 53, /*->14352*/
8033 : /* 14299*/ OPC_CheckAndImm, 127|128,1/*255*/,
8034 : /* 14302*/ OPC_MoveChild0,
8035 : /* 14303*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8036 : /* 14306*/ OPC_RecordMemRef,
8037 : /* 14307*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8038 : /* 14308*/ OPC_CheckFoldableChainNode,
8039 : /* 14309*/ OPC_MoveChild1,
8040 : /* 14310*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8041 : /* 14313*/ OPC_RecordChild0, // #1 = $off
8042 : /* 14314*/ OPC_MoveChild0,
8043 : /* 14315*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8044 : /* 14318*/ OPC_MoveParent,
8045 : /* 14319*/ OPC_MoveParent,
8046 : /* 14320*/ OPC_RecordChild2, // #2 = $val
8047 : /* 14321*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
8048 : /* 14323*/ OPC_MoveParent,
8049 : /* 14324*/ OPC_CheckType, MVT::i32,
8050 : /* 14326*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8051 : /* 14328*/ OPC_EmitMergeInputChains1_0,
8052 : /* 14329*/ OPC_EmitInteger, MVT::i32, 0,
8053 : /* 14332*/ OPC_EmitInteger, MVT::i32, 0,
8054 : /* 14335*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8055 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8056 : /* 14342*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8057 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8058 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
8059 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8060 : /* 14352*/ /*Scope*/ 54, /*->14407*/
8061 : /* 14353*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8062 : /* 14357*/ OPC_MoveChild0,
8063 : /* 14358*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8064 : /* 14361*/ OPC_RecordMemRef,
8065 : /* 14362*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8066 : /* 14363*/ OPC_CheckFoldableChainNode,
8067 : /* 14364*/ OPC_MoveChild1,
8068 : /* 14365*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8069 : /* 14368*/ OPC_RecordChild0, // #1 = $off
8070 : /* 14369*/ OPC_MoveChild0,
8071 : /* 14370*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8072 : /* 14373*/ OPC_MoveParent,
8073 : /* 14374*/ OPC_MoveParent,
8074 : /* 14375*/ OPC_RecordChild2, // #2 = $val
8075 : /* 14376*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
8076 : /* 14378*/ OPC_MoveParent,
8077 : /* 14379*/ OPC_CheckType, MVT::i32,
8078 : /* 14381*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8079 : /* 14383*/ OPC_EmitMergeInputChains1_0,
8080 : /* 14384*/ OPC_EmitInteger, MVT::i32, 0,
8081 : /* 14387*/ OPC_EmitInteger, MVT::i32, 0,
8082 : /* 14390*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8083 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8084 : /* 14397*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8085 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8086 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
8087 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8088 : /* 14407*/ /*Scope*/ 53, /*->14461*/
8089 : /* 14408*/ OPC_CheckAndImm, 127|128,1/*255*/,
8090 : /* 14411*/ OPC_MoveChild0,
8091 : /* 14412*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8092 : /* 14415*/ OPC_RecordMemRef,
8093 : /* 14416*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8094 : /* 14417*/ OPC_CheckFoldableChainNode,
8095 : /* 14418*/ OPC_MoveChild1,
8096 : /* 14419*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8097 : /* 14422*/ OPC_RecordChild0, // #1 = $off
8098 : /* 14423*/ OPC_MoveChild0,
8099 : /* 14424*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8100 : /* 14427*/ OPC_MoveParent,
8101 : /* 14428*/ OPC_MoveParent,
8102 : /* 14429*/ OPC_RecordChild2, // #2 = $val
8103 : /* 14430*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
8104 : /* 14432*/ OPC_MoveParent,
8105 : /* 14433*/ OPC_CheckType, MVT::i32,
8106 : /* 14435*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8107 : /* 14437*/ OPC_EmitMergeInputChains1_0,
8108 : /* 14438*/ OPC_EmitInteger, MVT::i32, 0,
8109 : /* 14441*/ OPC_EmitInteger, MVT::i32, 0,
8110 : /* 14444*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8111 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8112 : /* 14451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8113 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8114 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
8115 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8116 : /* 14461*/ /*Scope*/ 54, /*->14516*/
8117 : /* 14462*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8118 : /* 14466*/ OPC_MoveChild0,
8119 : /* 14467*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8120 : /* 14470*/ OPC_RecordMemRef,
8121 : /* 14471*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8122 : /* 14472*/ OPC_CheckFoldableChainNode,
8123 : /* 14473*/ OPC_MoveChild1,
8124 : /* 14474*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8125 : /* 14477*/ OPC_RecordChild0, // #1 = $off
8126 : /* 14478*/ OPC_MoveChild0,
8127 : /* 14479*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8128 : /* 14482*/ OPC_MoveParent,
8129 : /* 14483*/ OPC_MoveParent,
8130 : /* 14484*/ OPC_RecordChild2, // #2 = $val
8131 : /* 14485*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
8132 : /* 14487*/ OPC_MoveParent,
8133 : /* 14488*/ OPC_CheckType, MVT::i32,
8134 : /* 14490*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8135 : /* 14492*/ OPC_EmitMergeInputChains1_0,
8136 : /* 14493*/ OPC_EmitInteger, MVT::i32, 0,
8137 : /* 14496*/ OPC_EmitInteger, MVT::i32, 0,
8138 : /* 14499*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8139 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8140 : /* 14506*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8141 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8142 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
8143 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8144 : /* 14516*/ /*Scope*/ 53, /*->14570*/
8145 : /* 14517*/ OPC_CheckAndImm, 127|128,1/*255*/,
8146 : /* 14520*/ OPC_MoveChild0,
8147 : /* 14521*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8148 : /* 14524*/ OPC_RecordMemRef,
8149 : /* 14525*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8150 : /* 14526*/ OPC_CheckFoldableChainNode,
8151 : /* 14527*/ OPC_MoveChild1,
8152 : /* 14528*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8153 : /* 14531*/ OPC_RecordChild0, // #1 = $off
8154 : /* 14532*/ OPC_MoveChild0,
8155 : /* 14533*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8156 : /* 14536*/ OPC_MoveParent,
8157 : /* 14537*/ OPC_MoveParent,
8158 : /* 14538*/ OPC_RecordChild2, // #2 = $val
8159 : /* 14539*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
8160 : /* 14541*/ OPC_MoveParent,
8161 : /* 14542*/ OPC_CheckType, MVT::i32,
8162 : /* 14544*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8163 : /* 14546*/ OPC_EmitMergeInputChains1_0,
8164 : /* 14547*/ OPC_EmitInteger, MVT::i32, 0,
8165 : /* 14550*/ OPC_EmitInteger, MVT::i32, 0,
8166 : /* 14553*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8167 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8168 : /* 14560*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8169 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8170 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
8171 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8172 : /* 14570*/ /*Scope*/ 54, /*->14625*/
8173 : /* 14571*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8174 : /* 14575*/ OPC_MoveChild0,
8175 : /* 14576*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8176 : /* 14579*/ OPC_RecordMemRef,
8177 : /* 14580*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8178 : /* 14581*/ OPC_CheckFoldableChainNode,
8179 : /* 14582*/ OPC_MoveChild1,
8180 : /* 14583*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8181 : /* 14586*/ OPC_RecordChild0, // #1 = $off
8182 : /* 14587*/ OPC_MoveChild0,
8183 : /* 14588*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8184 : /* 14591*/ OPC_MoveParent,
8185 : /* 14592*/ OPC_MoveParent,
8186 : /* 14593*/ OPC_RecordChild2, // #2 = $val
8187 : /* 14594*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
8188 : /* 14596*/ OPC_MoveParent,
8189 : /* 14597*/ OPC_CheckType, MVT::i32,
8190 : /* 14599*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8191 : /* 14601*/ OPC_EmitMergeInputChains1_0,
8192 : /* 14602*/ OPC_EmitInteger, MVT::i32, 0,
8193 : /* 14605*/ OPC_EmitInteger, MVT::i32, 0,
8194 : /* 14608*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8195 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8196 : /* 14615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8197 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8198 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
8199 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8200 : /* 14625*/ /*Scope*/ 53, /*->14679*/
8201 : /* 14626*/ OPC_CheckAndImm, 127|128,1/*255*/,
8202 : /* 14629*/ OPC_MoveChild0,
8203 : /* 14630*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8204 : /* 14633*/ OPC_RecordMemRef,
8205 : /* 14634*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8206 : /* 14635*/ OPC_CheckFoldableChainNode,
8207 : /* 14636*/ OPC_MoveChild1,
8208 : /* 14637*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8209 : /* 14640*/ OPC_RecordChild0, // #1 = $off
8210 : /* 14641*/ OPC_MoveChild0,
8211 : /* 14642*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8212 : /* 14645*/ OPC_MoveParent,
8213 : /* 14646*/ OPC_MoveParent,
8214 : /* 14647*/ OPC_RecordChild2, // #2 = $val
8215 : /* 14648*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
8216 : /* 14650*/ OPC_MoveParent,
8217 : /* 14651*/ OPC_CheckType, MVT::i32,
8218 : /* 14653*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8219 : /* 14655*/ OPC_EmitMergeInputChains1_0,
8220 : /* 14656*/ OPC_EmitInteger, MVT::i32, 0,
8221 : /* 14659*/ OPC_EmitInteger, MVT::i32, 0,
8222 : /* 14662*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8223 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8224 : /* 14669*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8225 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8226 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
8227 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8228 : /* 14679*/ /*Scope*/ 54, /*->14734*/
8229 : /* 14680*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8230 : /* 14684*/ OPC_MoveChild0,
8231 : /* 14685*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8232 : /* 14688*/ OPC_RecordMemRef,
8233 : /* 14689*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8234 : /* 14690*/ OPC_CheckFoldableChainNode,
8235 : /* 14691*/ OPC_MoveChild1,
8236 : /* 14692*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8237 : /* 14695*/ OPC_RecordChild0, // #1 = $off
8238 : /* 14696*/ OPC_MoveChild0,
8239 : /* 14697*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8240 : /* 14700*/ OPC_MoveParent,
8241 : /* 14701*/ OPC_MoveParent,
8242 : /* 14702*/ OPC_RecordChild2, // #2 = $val
8243 : /* 14703*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
8244 : /* 14705*/ OPC_MoveParent,
8245 : /* 14706*/ OPC_CheckType, MVT::i32,
8246 : /* 14708*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8247 : /* 14710*/ OPC_EmitMergeInputChains1_0,
8248 : /* 14711*/ OPC_EmitInteger, MVT::i32, 0,
8249 : /* 14714*/ OPC_EmitInteger, MVT::i32, 0,
8250 : /* 14717*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8251 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8252 : /* 14724*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8253 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
8254 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
8255 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8256 : /* 14734*/ /*Scope*/ 55, /*->14790*/
8257 : /* 14735*/ OPC_CheckAndImm, 127|128,1/*255*/,
8258 : /* 14738*/ OPC_MoveChild0,
8259 : /* 14739*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8260 : /* 14742*/ OPC_RecordMemRef,
8261 : /* 14743*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8262 : /* 14744*/ OPC_CheckFoldableChainNode,
8263 : /* 14745*/ OPC_MoveChild1,
8264 : /* 14746*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8265 : /* 14749*/ OPC_RecordChild0, // #1 = $off
8266 : /* 14750*/ OPC_MoveChild0,
8267 : /* 14751*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8268 : /* 14754*/ OPC_MoveParent,
8269 : /* 14755*/ OPC_MoveParent,
8270 : /* 14756*/ OPC_RecordChild2, // #2 = $exp
8271 : /* 14757*/ OPC_RecordChild3, // #3 = $new
8272 : /* 14758*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
8273 : /* 14760*/ OPC_MoveParent,
8274 : /* 14761*/ OPC_CheckType, MVT::i32,
8275 : /* 14763*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8276 : /* 14765*/ OPC_EmitMergeInputChains1_0,
8277 : /* 14766*/ OPC_EmitInteger, MVT::i32, 0,
8278 : /* 14769*/ OPC_EmitInteger, MVT::i32, 0,
8279 : /* 14772*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8280 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8281 : /* 14779*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8282 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
8283 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
8284 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8285 : /* 14790*/ /*Scope*/ 56, /*->14847*/
8286 : /* 14791*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8287 : /* 14795*/ OPC_MoveChild0,
8288 : /* 14796*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8289 : /* 14799*/ OPC_RecordMemRef,
8290 : /* 14800*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8291 : /* 14801*/ OPC_CheckFoldableChainNode,
8292 : /* 14802*/ OPC_MoveChild1,
8293 : /* 14803*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8294 : /* 14806*/ OPC_RecordChild0, // #1 = $off
8295 : /* 14807*/ OPC_MoveChild0,
8296 : /* 14808*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
8297 : /* 14811*/ OPC_MoveParent,
8298 : /* 14812*/ OPC_MoveParent,
8299 : /* 14813*/ OPC_RecordChild2, // #2 = $exp
8300 : /* 14814*/ OPC_RecordChild3, // #3 = $new
8301 : /* 14815*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
8302 : /* 14817*/ OPC_MoveParent,
8303 : /* 14818*/ OPC_CheckType, MVT::i32,
8304 : /* 14820*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8305 : /* 14822*/ OPC_EmitMergeInputChains1_0,
8306 : /* 14823*/ OPC_EmitInteger, MVT::i32, 0,
8307 : /* 14826*/ OPC_EmitInteger, MVT::i32, 0,
8308 : /* 14829*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8309 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8310 : /* 14836*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8311 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
8312 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
8313 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8314 : /* 14847*/ /*Scope*/ 55, /*->14903*/
8315 : /* 14848*/ OPC_CheckAndImm, 127|128,1/*255*/,
8316 : /* 14851*/ OPC_MoveChild0,
8317 : /* 14852*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8318 : /* 14855*/ OPC_RecordMemRef,
8319 : /* 14856*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8320 : /* 14857*/ OPC_CheckFoldableChainNode,
8321 : /* 14858*/ OPC_MoveChild1,
8322 : /* 14859*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8323 : /* 14862*/ OPC_RecordChild0, // #1 = $off
8324 : /* 14863*/ OPC_MoveChild0,
8325 : /* 14864*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8326 : /* 14867*/ OPC_MoveParent,
8327 : /* 14868*/ OPC_MoveParent,
8328 : /* 14869*/ OPC_RecordChild2, // #2 = $exp
8329 : /* 14870*/ OPC_RecordChild3, // #3 = $new
8330 : /* 14871*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
8331 : /* 14873*/ OPC_MoveParent,
8332 : /* 14874*/ OPC_CheckType, MVT::i32,
8333 : /* 14876*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8334 : /* 14878*/ OPC_EmitMergeInputChains1_0,
8335 : /* 14879*/ OPC_EmitInteger, MVT::i32, 0,
8336 : /* 14882*/ OPC_EmitInteger, MVT::i32, 0,
8337 : /* 14885*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8338 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8339 : /* 14892*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8340 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
8341 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
8342 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8343 : /* 14903*/ /*Scope*/ 56, /*->14960*/
8344 : /* 14904*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8345 : /* 14908*/ OPC_MoveChild0,
8346 : /* 14909*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8347 : /* 14912*/ OPC_RecordMemRef,
8348 : /* 14913*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8349 : /* 14914*/ OPC_CheckFoldableChainNode,
8350 : /* 14915*/ OPC_MoveChild1,
8351 : /* 14916*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
8352 : /* 14919*/ OPC_RecordChild0, // #1 = $off
8353 : /* 14920*/ OPC_MoveChild0,
8354 : /* 14921*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
8355 : /* 14924*/ OPC_MoveParent,
8356 : /* 14925*/ OPC_MoveParent,
8357 : /* 14926*/ OPC_RecordChild2, // #2 = $exp
8358 : /* 14927*/ OPC_RecordChild3, // #3 = $new
8359 : /* 14928*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
8360 : /* 14930*/ OPC_MoveParent,
8361 : /* 14931*/ OPC_CheckType, MVT::i32,
8362 : /* 14933*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8363 : /* 14935*/ OPC_EmitMergeInputChains1_0,
8364 : /* 14936*/ OPC_EmitInteger, MVT::i32, 0,
8365 : /* 14939*/ OPC_EmitInteger, MVT::i32, 0,
8366 : /* 14942*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8367 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8368 : /* 14949*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8369 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
8370 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
8371 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8372 : /* 14960*/ /*Scope*/ 39, /*->15000*/
8373 : /* 14961*/ OPC_CheckAndImm, 127|128,1/*255*/,
8374 : /* 14964*/ OPC_MoveChild0,
8375 : /* 14965*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
8376 : /* 14968*/ OPC_MoveChild0,
8377 : /* 14969*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8378 : /* 14972*/ OPC_RecordMemRef,
8379 : /* 14973*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8380 : /* 14974*/ OPC_CheckFoldableChainNode,
8381 : /* 14975*/ OPC_RecordChild1, // #1 = $addr
8382 : /* 14976*/ OPC_CheckChild1Type, MVT::i32,
8383 : /* 14978*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
8384 : /* 14980*/ OPC_MoveParent,
8385 : /* 14981*/ OPC_MoveParent,
8386 : /* 14982*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8387 : /* 14984*/ OPC_EmitMergeInputChains1_0,
8388 : /* 14985*/ OPC_EmitInteger, MVT::i32, 0,
8389 : /* 14988*/ OPC_EmitInteger, MVT::i32, 0,
8390 : /* 14991*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
8391 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
8392 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 15
8393 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
8394 : /* 15000*/ /*Scope*/ 40, /*->15041*/
8395 : /* 15001*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8396 : /* 15005*/ OPC_MoveChild0,
8397 : /* 15006*/ OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
8398 : /* 15009*/ OPC_MoveChild0,
8399 : /* 15010*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8400 : /* 15013*/ OPC_RecordMemRef,
8401 : /* 15014*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8402 : /* 15015*/ OPC_CheckFoldableChainNode,
8403 : /* 15016*/ OPC_RecordChild1, // #1 = $addr
8404 : /* 15017*/ OPC_CheckChild1Type, MVT::i32,
8405 : /* 15019*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
8406 : /* 15021*/ OPC_MoveParent,
8407 : /* 15022*/ OPC_MoveParent,
8408 : /* 15023*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8409 : /* 15025*/ OPC_EmitMergeInputChains1_0,
8410 : /* 15026*/ OPC_EmitInteger, MVT::i32, 0,
8411 : /* 15029*/ OPC_EmitInteger, MVT::i32, 0,
8412 : /* 15032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
8413 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
8414 : // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 15
8415 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
8416 : /* 15041*/ /*Scope*/ 35, /*->15077*/
8417 : /* 15042*/ OPC_CheckAndImm, 127|128,1/*255*/,
8418 : /* 15045*/ OPC_MoveChild0,
8419 : /* 15046*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
8420 : /* 15049*/ OPC_RecordChild0, // #0 = $vec
8421 : /* 15050*/ OPC_CheckChild0Type, MVT::v16i8,
8422 : /* 15052*/ OPC_RecordChild1, // #1 = $idx
8423 : /* 15053*/ OPC_MoveChild1,
8424 : /* 15054*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8425 : /* 15057*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx16
8426 : /* 15059*/ OPC_CheckType, MVT::i32,
8427 : /* 15061*/ OPC_MoveParent,
8428 : /* 15062*/ OPC_MoveParent,
8429 : /* 15063*/ OPC_CheckType, MVT::i32,
8430 : /* 15065*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
8431 : /* 15067*/ OPC_EmitConvertToTarget, 1,
8432 : /* 15069*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_u), 0,
8433 : MVT::i32, 2/*#Ops*/, 0, 2,
8434 : // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), 255:{ *:[i32] }) - Complexity = 15
8435 : // Dst: (EXTRACT_LANE_v16i8_u:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
8436 : /* 15077*/ /*Scope*/ 36, /*->15114*/
8437 : /* 15078*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8438 : /* 15082*/ OPC_MoveChild0,
8439 : /* 15083*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
8440 : /* 15086*/ OPC_RecordChild0, // #0 = $vec
8441 : /* 15087*/ OPC_CheckChild0Type, MVT::v8i16,
8442 : /* 15089*/ OPC_RecordChild1, // #1 = $idx
8443 : /* 15090*/ OPC_MoveChild1,
8444 : /* 15091*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8445 : /* 15094*/ OPC_CheckPredicate, 6, // Predicate_LaneIdx8
8446 : /* 15096*/ OPC_CheckType, MVT::i32,
8447 : /* 15098*/ OPC_MoveParent,
8448 : /* 15099*/ OPC_MoveParent,
8449 : /* 15100*/ OPC_CheckType, MVT::i32,
8450 : /* 15102*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
8451 : /* 15104*/ OPC_EmitConvertToTarget, 1,
8452 : /* 15106*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_u), 0,
8453 : MVT::i32, 2/*#Ops*/, 0, 2,
8454 : // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), 65535:{ *:[i32] }) - Complexity = 15
8455 : // Dst: (EXTRACT_LANE_v8i16_u:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
8456 : /* 15114*/ /*Scope*/ 48, /*->15163*/
8457 : /* 15115*/ OPC_CheckAndImm, 127|128,1/*255*/,
8458 : /* 15118*/ OPC_MoveChild0,
8459 : /* 15119*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8460 : /* 15122*/ OPC_RecordMemRef,
8461 : /* 15123*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8462 : /* 15124*/ OPC_CheckFoldableChainNode,
8463 : /* 15125*/ OPC_RecordChild1, // #1 = $off
8464 : /* 15126*/ OPC_MoveChild1,
8465 : /* 15127*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8466 : /* 15130*/ OPC_MoveParent,
8467 : /* 15131*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
8468 : /* 15133*/ OPC_MoveParent,
8469 : /* 15134*/ OPC_CheckType, MVT::i32,
8470 : /* 15136*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8471 : /* 15138*/ OPC_EmitMergeInputChains1_0,
8472 : /* 15139*/ OPC_EmitInteger, MVT::i32, 0,
8473 : /* 15142*/ OPC_EmitConvertToTarget, 1,
8474 : /* 15144*/ OPC_EmitInteger, MVT::i32, 0,
8475 : /* 15147*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8476 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8477 : /* 15154*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
8478 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
8479 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 15
8480 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
8481 : /* 15163*/ /*Scope*/ 49, /*->15213*/
8482 : /* 15164*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8483 : /* 15168*/ OPC_MoveChild0,
8484 : /* 15169*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8485 : /* 15172*/ OPC_RecordMemRef,
8486 : /* 15173*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8487 : /* 15174*/ OPC_CheckFoldableChainNode,
8488 : /* 15175*/ OPC_RecordChild1, // #1 = $off
8489 : /* 15176*/ OPC_MoveChild1,
8490 : /* 15177*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8491 : /* 15180*/ OPC_MoveParent,
8492 : /* 15181*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
8493 : /* 15183*/ OPC_MoveParent,
8494 : /* 15184*/ OPC_CheckType, MVT::i32,
8495 : /* 15186*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8496 : /* 15188*/ OPC_EmitMergeInputChains1_0,
8497 : /* 15189*/ OPC_EmitInteger, MVT::i32, 0,
8498 : /* 15192*/ OPC_EmitConvertToTarget, 1,
8499 : /* 15194*/ OPC_EmitInteger, MVT::i32, 0,
8500 : /* 15197*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8501 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
8502 : /* 15204*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
8503 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
8504 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 15
8505 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
8506 : /* 15213*/ /*Scope*/ 50, /*->15264*/
8507 : /* 15214*/ OPC_CheckAndImm, 127|128,1/*255*/,
8508 : /* 15217*/ OPC_MoveChild0,
8509 : /* 15218*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
8510 : /* 15221*/ OPC_RecordMemRef,
8511 : /* 15222*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
8512 : /* 15223*/ OPC_CheckFoldableChainNode,
8513 : /* 15224*/ OPC_RecordChild1, // #1 = $off
8514 : /* 15225*/ OPC_MoveChild1,
8515 : /* 15226*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8516 : /* 15229*/ OPC_MoveParent,
8517 : /* 15230*/ OPC_RecordChild2, // #2 = $val
8518 : /* 15231*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
8519 : /* 15233*/ OPC_MoveParent,
8520 : /* 15234*/ OPC_CheckType, MVT::i32,
8521 : /* 15236*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8522 : /* 15238*/ OPC_EmitMergeInputChains1_0,
8523 : /* 15239*/ OPC_EmitInteger, MVT::i32, 0,
8524 : /* 15242*/ OPC_EmitConvertToTarget, 1,
8525 : /* 15244*/ OPC_EmitInteger, MVT::i32, 0,
8526 : /* 15247*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8527 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8528 : /* 15254*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
8529 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8530 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 15
8531 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8532 : /* 15264*/ /*Scope*/ 51, /*->15316*/
8533 : /* 15265*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8534 : /* 15269*/ OPC_MoveChild0,
8535 : /* 15270*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
8536 : /* 15273*/ OPC_RecordMemRef,
8537 : /* 15274*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
8538 : /* 15275*/ OPC_CheckFoldableChainNode,
8539 : /* 15276*/ OPC_RecordChild1, // #1 = $off
8540 : /* 15277*/ OPC_MoveChild1,
8541 : /* 15278*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8542 : /* 15281*/ OPC_MoveParent,
8543 : /* 15282*/ OPC_RecordChild2, // #2 = $val
8544 : /* 15283*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
8545 : /* 15285*/ OPC_MoveParent,
8546 : /* 15286*/ OPC_CheckType, MVT::i32,
8547 : /* 15288*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8548 : /* 15290*/ OPC_EmitMergeInputChains1_0,
8549 : /* 15291*/ OPC_EmitInteger, MVT::i32, 0,
8550 : /* 15294*/ OPC_EmitConvertToTarget, 1,
8551 : /* 15296*/ OPC_EmitInteger, MVT::i32, 0,
8552 : /* 15299*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8553 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8554 : /* 15306*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
8555 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8556 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 15
8557 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8558 : /* 15316*/ /*Scope*/ 50, /*->15367*/
8559 : /* 15317*/ OPC_CheckAndImm, 127|128,1/*255*/,
8560 : /* 15320*/ OPC_MoveChild0,
8561 : /* 15321*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
8562 : /* 15324*/ OPC_RecordMemRef,
8563 : /* 15325*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
8564 : /* 15326*/ OPC_CheckFoldableChainNode,
8565 : /* 15327*/ OPC_RecordChild1, // #1 = $off
8566 : /* 15328*/ OPC_MoveChild1,
8567 : /* 15329*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8568 : /* 15332*/ OPC_MoveParent,
8569 : /* 15333*/ OPC_RecordChild2, // #2 = $val
8570 : /* 15334*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
8571 : /* 15336*/ OPC_MoveParent,
8572 : /* 15337*/ OPC_CheckType, MVT::i32,
8573 : /* 15339*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8574 : /* 15341*/ OPC_EmitMergeInputChains1_0,
8575 : /* 15342*/ OPC_EmitInteger, MVT::i32, 0,
8576 : /* 15345*/ OPC_EmitConvertToTarget, 1,
8577 : /* 15347*/ OPC_EmitInteger, MVT::i32, 0,
8578 : /* 15350*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8579 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8580 : /* 15357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
8581 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8582 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 15
8583 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8584 : /* 15367*/ /*Scope*/ 51, /*->15419*/
8585 : /* 15368*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8586 : /* 15372*/ OPC_MoveChild0,
8587 : /* 15373*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
8588 : /* 15376*/ OPC_RecordMemRef,
8589 : /* 15377*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
8590 : /* 15378*/ OPC_CheckFoldableChainNode,
8591 : /* 15379*/ OPC_RecordChild1, // #1 = $off
8592 : /* 15380*/ OPC_MoveChild1,
8593 : /* 15381*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8594 : /* 15384*/ OPC_MoveParent,
8595 : /* 15385*/ OPC_RecordChild2, // #2 = $val
8596 : /* 15386*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
8597 : /* 15388*/ OPC_MoveParent,
8598 : /* 15389*/ OPC_CheckType, MVT::i32,
8599 : /* 15391*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8600 : /* 15393*/ OPC_EmitMergeInputChains1_0,
8601 : /* 15394*/ OPC_EmitInteger, MVT::i32, 0,
8602 : /* 15397*/ OPC_EmitConvertToTarget, 1,
8603 : /* 15399*/ OPC_EmitInteger, MVT::i32, 0,
8604 : /* 15402*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8605 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8606 : /* 15409*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
8607 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8608 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 15
8609 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8610 : /* 15419*/ /*Scope*/ 50, /*->15470*/
8611 : /* 15420*/ OPC_CheckAndImm, 127|128,1/*255*/,
8612 : /* 15423*/ OPC_MoveChild0,
8613 : /* 15424*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
8614 : /* 15427*/ OPC_RecordMemRef,
8615 : /* 15428*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
8616 : /* 15429*/ OPC_CheckFoldableChainNode,
8617 : /* 15430*/ OPC_RecordChild1, // #1 = $off
8618 : /* 15431*/ OPC_MoveChild1,
8619 : /* 15432*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8620 : /* 15435*/ OPC_MoveParent,
8621 : /* 15436*/ OPC_RecordChild2, // #2 = $val
8622 : /* 15437*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
8623 : /* 15439*/ OPC_MoveParent,
8624 : /* 15440*/ OPC_CheckType, MVT::i32,
8625 : /* 15442*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8626 : /* 15444*/ OPC_EmitMergeInputChains1_0,
8627 : /* 15445*/ OPC_EmitInteger, MVT::i32, 0,
8628 : /* 15448*/ OPC_EmitConvertToTarget, 1,
8629 : /* 15450*/ OPC_EmitInteger, MVT::i32, 0,
8630 : /* 15453*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8631 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8632 : /* 15460*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
8633 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8634 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 15
8635 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8636 : /* 15470*/ /*Scope*/ 51, /*->15522*/
8637 : /* 15471*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8638 : /* 15475*/ OPC_MoveChild0,
8639 : /* 15476*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
8640 : /* 15479*/ OPC_RecordMemRef,
8641 : /* 15480*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
8642 : /* 15481*/ OPC_CheckFoldableChainNode,
8643 : /* 15482*/ OPC_RecordChild1, // #1 = $off
8644 : /* 15483*/ OPC_MoveChild1,
8645 : /* 15484*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8646 : /* 15487*/ OPC_MoveParent,
8647 : /* 15488*/ OPC_RecordChild2, // #2 = $val
8648 : /* 15489*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
8649 : /* 15491*/ OPC_MoveParent,
8650 : /* 15492*/ OPC_CheckType, MVT::i32,
8651 : /* 15494*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8652 : /* 15496*/ OPC_EmitMergeInputChains1_0,
8653 : /* 15497*/ OPC_EmitInteger, MVT::i32, 0,
8654 : /* 15500*/ OPC_EmitConvertToTarget, 1,
8655 : /* 15502*/ OPC_EmitInteger, MVT::i32, 0,
8656 : /* 15505*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8657 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8658 : /* 15512*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
8659 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8660 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 15
8661 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8662 : /* 15522*/ /*Scope*/ 50, /*->15573*/
8663 : /* 15523*/ OPC_CheckAndImm, 127|128,1/*255*/,
8664 : /* 15526*/ OPC_MoveChild0,
8665 : /* 15527*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
8666 : /* 15530*/ OPC_RecordMemRef,
8667 : /* 15531*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
8668 : /* 15532*/ OPC_CheckFoldableChainNode,
8669 : /* 15533*/ OPC_RecordChild1, // #1 = $off
8670 : /* 15534*/ OPC_MoveChild1,
8671 : /* 15535*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8672 : /* 15538*/ OPC_MoveParent,
8673 : /* 15539*/ OPC_RecordChild2, // #2 = $val
8674 : /* 15540*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
8675 : /* 15542*/ OPC_MoveParent,
8676 : /* 15543*/ OPC_CheckType, MVT::i32,
8677 : /* 15545*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8678 : /* 15547*/ OPC_EmitMergeInputChains1_0,
8679 : /* 15548*/ OPC_EmitInteger, MVT::i32, 0,
8680 : /* 15551*/ OPC_EmitConvertToTarget, 1,
8681 : /* 15553*/ OPC_EmitInteger, MVT::i32, 0,
8682 : /* 15556*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8683 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8684 : /* 15563*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8685 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8686 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 15
8687 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8688 : /* 15573*/ /*Scope*/ 51, /*->15625*/
8689 : /* 15574*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8690 : /* 15578*/ OPC_MoveChild0,
8691 : /* 15579*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
8692 : /* 15582*/ OPC_RecordMemRef,
8693 : /* 15583*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
8694 : /* 15584*/ OPC_CheckFoldableChainNode,
8695 : /* 15585*/ OPC_RecordChild1, // #1 = $off
8696 : /* 15586*/ OPC_MoveChild1,
8697 : /* 15587*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8698 : /* 15590*/ OPC_MoveParent,
8699 : /* 15591*/ OPC_RecordChild2, // #2 = $val
8700 : /* 15592*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
8701 : /* 15594*/ OPC_MoveParent,
8702 : /* 15595*/ OPC_CheckType, MVT::i32,
8703 : /* 15597*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8704 : /* 15599*/ OPC_EmitMergeInputChains1_0,
8705 : /* 15600*/ OPC_EmitInteger, MVT::i32, 0,
8706 : /* 15603*/ OPC_EmitConvertToTarget, 1,
8707 : /* 15605*/ OPC_EmitInteger, MVT::i32, 0,
8708 : /* 15608*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8709 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8710 : /* 15615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8711 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8712 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 15
8713 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8714 : /* 15625*/ /*Scope*/ 50, /*->15676*/
8715 : /* 15626*/ OPC_CheckAndImm, 127|128,1/*255*/,
8716 : /* 15629*/ OPC_MoveChild0,
8717 : /* 15630*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8718 : /* 15633*/ OPC_RecordMemRef,
8719 : /* 15634*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8720 : /* 15635*/ OPC_CheckFoldableChainNode,
8721 : /* 15636*/ OPC_RecordChild1, // #1 = $off
8722 : /* 15637*/ OPC_MoveChild1,
8723 : /* 15638*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8724 : /* 15641*/ OPC_MoveParent,
8725 : /* 15642*/ OPC_RecordChild2, // #2 = $val
8726 : /* 15643*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
8727 : /* 15645*/ OPC_MoveParent,
8728 : /* 15646*/ OPC_CheckType, MVT::i32,
8729 : /* 15648*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8730 : /* 15650*/ OPC_EmitMergeInputChains1_0,
8731 : /* 15651*/ OPC_EmitInteger, MVT::i32, 0,
8732 : /* 15654*/ OPC_EmitConvertToTarget, 1,
8733 : /* 15656*/ OPC_EmitInteger, MVT::i32, 0,
8734 : /* 15659*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8735 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8736 : /* 15666*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8737 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8738 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 15
8739 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8740 : /* 15676*/ /*Scope*/ 51, /*->15728*/
8741 : /* 15677*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8742 : /* 15681*/ OPC_MoveChild0,
8743 : /* 15682*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
8744 : /* 15685*/ OPC_RecordMemRef,
8745 : /* 15686*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
8746 : /* 15687*/ OPC_CheckFoldableChainNode,
8747 : /* 15688*/ OPC_RecordChild1, // #1 = $off
8748 : /* 15689*/ OPC_MoveChild1,
8749 : /* 15690*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8750 : /* 15693*/ OPC_MoveParent,
8751 : /* 15694*/ OPC_RecordChild2, // #2 = $val
8752 : /* 15695*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
8753 : /* 15697*/ OPC_MoveParent,
8754 : /* 15698*/ OPC_CheckType, MVT::i32,
8755 : /* 15700*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8756 : /* 15702*/ OPC_EmitMergeInputChains1_0,
8757 : /* 15703*/ OPC_EmitInteger, MVT::i32, 0,
8758 : /* 15706*/ OPC_EmitConvertToTarget, 1,
8759 : /* 15708*/ OPC_EmitInteger, MVT::i32, 0,
8760 : /* 15711*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8761 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8762 : /* 15718*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
8763 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8764 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 15
8765 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8766 : /* 15728*/ /*Scope*/ 50, /*->15779*/
8767 : /* 15729*/ OPC_CheckAndImm, 127|128,1/*255*/,
8768 : /* 15732*/ OPC_MoveChild0,
8769 : /* 15733*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8770 : /* 15736*/ OPC_RecordMemRef,
8771 : /* 15737*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8772 : /* 15738*/ OPC_CheckFoldableChainNode,
8773 : /* 15739*/ OPC_RecordChild1, // #1 = $off
8774 : /* 15740*/ OPC_MoveChild1,
8775 : /* 15741*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8776 : /* 15744*/ OPC_MoveParent,
8777 : /* 15745*/ OPC_RecordChild2, // #2 = $val
8778 : /* 15746*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
8779 : /* 15748*/ OPC_MoveParent,
8780 : /* 15749*/ OPC_CheckType, MVT::i32,
8781 : /* 15751*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8782 : /* 15753*/ OPC_EmitMergeInputChains1_0,
8783 : /* 15754*/ OPC_EmitInteger, MVT::i32, 0,
8784 : /* 15757*/ OPC_EmitConvertToTarget, 1,
8785 : /* 15759*/ OPC_EmitInteger, MVT::i32, 0,
8786 : /* 15762*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8787 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8788 : /* 15769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8789 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8790 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
8791 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8792 : /* 15779*/ /*Scope*/ 51, /*->15831*/
8793 : /* 15780*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8794 : /* 15784*/ OPC_MoveChild0,
8795 : /* 15785*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
8796 : /* 15788*/ OPC_RecordMemRef,
8797 : /* 15789*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
8798 : /* 15790*/ OPC_CheckFoldableChainNode,
8799 : /* 15791*/ OPC_RecordChild1, // #1 = $off
8800 : /* 15792*/ OPC_MoveChild1,
8801 : /* 15793*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8802 : /* 15796*/ OPC_MoveParent,
8803 : /* 15797*/ OPC_RecordChild2, // #2 = $val
8804 : /* 15798*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
8805 : /* 15800*/ OPC_MoveParent,
8806 : /* 15801*/ OPC_CheckType, MVT::i32,
8807 : /* 15803*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8808 : /* 15805*/ OPC_EmitMergeInputChains1_0,
8809 : /* 15806*/ OPC_EmitInteger, MVT::i32, 0,
8810 : /* 15809*/ OPC_EmitConvertToTarget, 1,
8811 : /* 15811*/ OPC_EmitInteger, MVT::i32, 0,
8812 : /* 15814*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8813 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
8814 : /* 15821*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8815 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
8816 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
8817 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
8818 : /* 15831*/ /*Scope*/ 52, /*->15884*/
8819 : /* 15832*/ OPC_CheckAndImm, 127|128,1/*255*/,
8820 : /* 15835*/ OPC_MoveChild0,
8821 : /* 15836*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8822 : /* 15839*/ OPC_RecordMemRef,
8823 : /* 15840*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8824 : /* 15841*/ OPC_CheckFoldableChainNode,
8825 : /* 15842*/ OPC_RecordChild1, // #1 = $off
8826 : /* 15843*/ OPC_MoveChild1,
8827 : /* 15844*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8828 : /* 15847*/ OPC_MoveParent,
8829 : /* 15848*/ OPC_RecordChild2, // #2 = $exp
8830 : /* 15849*/ OPC_RecordChild3, // #3 = $new
8831 : /* 15850*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
8832 : /* 15852*/ OPC_MoveParent,
8833 : /* 15853*/ OPC_CheckType, MVT::i32,
8834 : /* 15855*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8835 : /* 15857*/ OPC_EmitMergeInputChains1_0,
8836 : /* 15858*/ OPC_EmitInteger, MVT::i32, 0,
8837 : /* 15861*/ OPC_EmitConvertToTarget, 1,
8838 : /* 15863*/ OPC_EmitInteger, MVT::i32, 0,
8839 : /* 15866*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8840 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
8841 : /* 15873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8842 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
8843 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
8844 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8845 : /* 15884*/ /*Scope*/ 53, /*->15938*/
8846 : /* 15885*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8847 : /* 15889*/ OPC_MoveChild0,
8848 : /* 15890*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
8849 : /* 15893*/ OPC_RecordMemRef,
8850 : /* 15894*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
8851 : /* 15895*/ OPC_CheckFoldableChainNode,
8852 : /* 15896*/ OPC_RecordChild1, // #1 = $off
8853 : /* 15897*/ OPC_MoveChild1,
8854 : /* 15898*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8855 : /* 15901*/ OPC_MoveParent,
8856 : /* 15902*/ OPC_RecordChild2, // #2 = $exp
8857 : /* 15903*/ OPC_RecordChild3, // #3 = $new
8858 : /* 15904*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
8859 : /* 15906*/ OPC_MoveParent,
8860 : /* 15907*/ OPC_CheckType, MVT::i32,
8861 : /* 15909*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8862 : /* 15911*/ OPC_EmitMergeInputChains1_0,
8863 : /* 15912*/ OPC_EmitInteger, MVT::i32, 0,
8864 : /* 15915*/ OPC_EmitConvertToTarget, 1,
8865 : /* 15917*/ OPC_EmitInteger, MVT::i32, 0,
8866 : /* 15920*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
8867 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
8868 : /* 15927*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
8869 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
8870 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
8871 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
8872 : /* 15938*/ /*Scope*/ 36, /*->15975*/
8873 : /* 15939*/ OPC_CheckAndImm, 127|128,1/*255*/,
8874 : /* 15942*/ OPC_MoveChild0,
8875 : /* 15943*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8876 : /* 15946*/ OPC_RecordMemRef,
8877 : /* 15947*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8878 : /* 15948*/ OPC_CheckFoldableChainNode,
8879 : /* 15949*/ OPC_RecordChild1, // #1 = $addr
8880 : /* 15950*/ OPC_CheckChild1Type, MVT::i32,
8881 : /* 15952*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
8882 : /* 15954*/ OPC_MoveParent,
8883 : /* 15955*/ OPC_CheckType, MVT::i32,
8884 : /* 15957*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8885 : /* 15959*/ OPC_EmitMergeInputChains1_0,
8886 : /* 15960*/ OPC_EmitInteger, MVT::i32, 0,
8887 : /* 15963*/ OPC_EmitInteger, MVT::i32, 0,
8888 : /* 15966*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
8889 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
8890 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 12
8891 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
8892 : /* 15975*/ /*Scope*/ 37, /*->16013*/
8893 : /* 15976*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8894 : /* 15980*/ OPC_MoveChild0,
8895 : /* 15981*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
8896 : /* 15984*/ OPC_RecordMemRef,
8897 : /* 15985*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
8898 : /* 15986*/ OPC_CheckFoldableChainNode,
8899 : /* 15987*/ OPC_RecordChild1, // #1 = $addr
8900 : /* 15988*/ OPC_CheckChild1Type, MVT::i32,
8901 : /* 15990*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
8902 : /* 15992*/ OPC_MoveParent,
8903 : /* 15993*/ OPC_CheckType, MVT::i32,
8904 : /* 15995*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8905 : /* 15997*/ OPC_EmitMergeInputChains1_0,
8906 : /* 15998*/ OPC_EmitInteger, MVT::i32, 0,
8907 : /* 16001*/ OPC_EmitInteger, MVT::i32, 0,
8908 : /* 16004*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
8909 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
8910 : // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 12
8911 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
8912 : /* 16013*/ /*Scope*/ 38, /*->16052*/
8913 : /* 16014*/ OPC_CheckAndImm, 127|128,1/*255*/,
8914 : /* 16017*/ OPC_MoveChild0,
8915 : /* 16018*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
8916 : /* 16021*/ OPC_RecordMemRef,
8917 : /* 16022*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
8918 : /* 16023*/ OPC_CheckFoldableChainNode,
8919 : /* 16024*/ OPC_RecordChild1, // #1 = $addr
8920 : /* 16025*/ OPC_CheckChild1Type, MVT::i32,
8921 : /* 16027*/ OPC_RecordChild2, // #2 = $val
8922 : /* 16028*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
8923 : /* 16030*/ OPC_MoveParent,
8924 : /* 16031*/ OPC_CheckType, MVT::i32,
8925 : /* 16033*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8926 : /* 16035*/ OPC_EmitMergeInputChains1_0,
8927 : /* 16036*/ OPC_EmitInteger, MVT::i32, 0,
8928 : /* 16039*/ OPC_EmitInteger, MVT::i32, 0,
8929 : /* 16042*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
8930 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
8931 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 12
8932 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
8933 : /* 16052*/ /*Scope*/ 39, /*->16092*/
8934 : /* 16053*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8935 : /* 16057*/ OPC_MoveChild0,
8936 : /* 16058*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
8937 : /* 16061*/ OPC_RecordMemRef,
8938 : /* 16062*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
8939 : /* 16063*/ OPC_CheckFoldableChainNode,
8940 : /* 16064*/ OPC_RecordChild1, // #1 = $addr
8941 : /* 16065*/ OPC_CheckChild1Type, MVT::i32,
8942 : /* 16067*/ OPC_RecordChild2, // #2 = $val
8943 : /* 16068*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
8944 : /* 16070*/ OPC_MoveParent,
8945 : /* 16071*/ OPC_CheckType, MVT::i32,
8946 : /* 16073*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8947 : /* 16075*/ OPC_EmitMergeInputChains1_0,
8948 : /* 16076*/ OPC_EmitInteger, MVT::i32, 0,
8949 : /* 16079*/ OPC_EmitInteger, MVT::i32, 0,
8950 : /* 16082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
8951 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
8952 : // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 12
8953 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
8954 : /* 16092*/ /*Scope*/ 38, /*->16131*/
8955 : /* 16093*/ OPC_CheckAndImm, 127|128,1/*255*/,
8956 : /* 16096*/ OPC_MoveChild0,
8957 : /* 16097*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
8958 : /* 16100*/ OPC_RecordMemRef,
8959 : /* 16101*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
8960 : /* 16102*/ OPC_CheckFoldableChainNode,
8961 : /* 16103*/ OPC_RecordChild1, // #1 = $addr
8962 : /* 16104*/ OPC_CheckChild1Type, MVT::i32,
8963 : /* 16106*/ OPC_RecordChild2, // #2 = $val
8964 : /* 16107*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
8965 : /* 16109*/ OPC_MoveParent,
8966 : /* 16110*/ OPC_CheckType, MVT::i32,
8967 : /* 16112*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8968 : /* 16114*/ OPC_EmitMergeInputChains1_0,
8969 : /* 16115*/ OPC_EmitInteger, MVT::i32, 0,
8970 : /* 16118*/ OPC_EmitInteger, MVT::i32, 0,
8971 : /* 16121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
8972 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
8973 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 12
8974 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
8975 : /* 16131*/ /*Scope*/ 39, /*->16171*/
8976 : /* 16132*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
8977 : /* 16136*/ OPC_MoveChild0,
8978 : /* 16137*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
8979 : /* 16140*/ OPC_RecordMemRef,
8980 : /* 16141*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
8981 : /* 16142*/ OPC_CheckFoldableChainNode,
8982 : /* 16143*/ OPC_RecordChild1, // #1 = $addr
8983 : /* 16144*/ OPC_CheckChild1Type, MVT::i32,
8984 : /* 16146*/ OPC_RecordChild2, // #2 = $val
8985 : /* 16147*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
8986 : /* 16149*/ OPC_MoveParent,
8987 : /* 16150*/ OPC_CheckType, MVT::i32,
8988 : /* 16152*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
8989 : /* 16154*/ OPC_EmitMergeInputChains1_0,
8990 : /* 16155*/ OPC_EmitInteger, MVT::i32, 0,
8991 : /* 16158*/ OPC_EmitInteger, MVT::i32, 0,
8992 : /* 16161*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
8993 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
8994 : // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 12
8995 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
8996 : /* 16171*/ /*Scope*/ 38, /*->16210*/
8997 : /* 16172*/ OPC_CheckAndImm, 127|128,1/*255*/,
8998 : /* 16175*/ OPC_MoveChild0,
8999 : /* 16176*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
9000 : /* 16179*/ OPC_RecordMemRef,
9001 : /* 16180*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
9002 : /* 16181*/ OPC_CheckFoldableChainNode,
9003 : /* 16182*/ OPC_RecordChild1, // #1 = $addr
9004 : /* 16183*/ OPC_CheckChild1Type, MVT::i32,
9005 : /* 16185*/ OPC_RecordChild2, // #2 = $val
9006 : /* 16186*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
9007 : /* 16188*/ OPC_MoveParent,
9008 : /* 16189*/ OPC_CheckType, MVT::i32,
9009 : /* 16191*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9010 : /* 16193*/ OPC_EmitMergeInputChains1_0,
9011 : /* 16194*/ OPC_EmitInteger, MVT::i32, 0,
9012 : /* 16197*/ OPC_EmitInteger, MVT::i32, 0,
9013 : /* 16200*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
9014 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9015 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 12
9016 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9017 : /* 16210*/ /*Scope*/ 39, /*->16250*/
9018 : /* 16211*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
9019 : /* 16215*/ OPC_MoveChild0,
9020 : /* 16216*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
9021 : /* 16219*/ OPC_RecordMemRef,
9022 : /* 16220*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
9023 : /* 16221*/ OPC_CheckFoldableChainNode,
9024 : /* 16222*/ OPC_RecordChild1, // #1 = $addr
9025 : /* 16223*/ OPC_CheckChild1Type, MVT::i32,
9026 : /* 16225*/ OPC_RecordChild2, // #2 = $val
9027 : /* 16226*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
9028 : /* 16228*/ OPC_MoveParent,
9029 : /* 16229*/ OPC_CheckType, MVT::i32,
9030 : /* 16231*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9031 : /* 16233*/ OPC_EmitMergeInputChains1_0,
9032 : /* 16234*/ OPC_EmitInteger, MVT::i32, 0,
9033 : /* 16237*/ OPC_EmitInteger, MVT::i32, 0,
9034 : /* 16240*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
9035 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9036 : // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 12
9037 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9038 : /* 16250*/ /*Scope*/ 38, /*->16289*/
9039 : /* 16251*/ OPC_CheckAndImm, 127|128,1/*255*/,
9040 : /* 16254*/ OPC_MoveChild0,
9041 : /* 16255*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
9042 : /* 16258*/ OPC_RecordMemRef,
9043 : /* 16259*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
9044 : /* 16260*/ OPC_CheckFoldableChainNode,
9045 : /* 16261*/ OPC_RecordChild1, // #1 = $addr
9046 : /* 16262*/ OPC_CheckChild1Type, MVT::i32,
9047 : /* 16264*/ OPC_RecordChild2, // #2 = $val
9048 : /* 16265*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
9049 : /* 16267*/ OPC_MoveParent,
9050 : /* 16268*/ OPC_CheckType, MVT::i32,
9051 : /* 16270*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9052 : /* 16272*/ OPC_EmitMergeInputChains1_0,
9053 : /* 16273*/ OPC_EmitInteger, MVT::i32, 0,
9054 : /* 16276*/ OPC_EmitInteger, MVT::i32, 0,
9055 : /* 16279*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
9056 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9057 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 12
9058 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9059 : /* 16289*/ /*Scope*/ 39, /*->16329*/
9060 : /* 16290*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
9061 : /* 16294*/ OPC_MoveChild0,
9062 : /* 16295*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
9063 : /* 16298*/ OPC_RecordMemRef,
9064 : /* 16299*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
9065 : /* 16300*/ OPC_CheckFoldableChainNode,
9066 : /* 16301*/ OPC_RecordChild1, // #1 = $addr
9067 : /* 16302*/ OPC_CheckChild1Type, MVT::i32,
9068 : /* 16304*/ OPC_RecordChild2, // #2 = $val
9069 : /* 16305*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
9070 : /* 16307*/ OPC_MoveParent,
9071 : /* 16308*/ OPC_CheckType, MVT::i32,
9072 : /* 16310*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9073 : /* 16312*/ OPC_EmitMergeInputChains1_0,
9074 : /* 16313*/ OPC_EmitInteger, MVT::i32, 0,
9075 : /* 16316*/ OPC_EmitInteger, MVT::i32, 0,
9076 : /* 16319*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
9077 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9078 : // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 12
9079 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9080 : /* 16329*/ /*Scope*/ 38, /*->16368*/
9081 : /* 16330*/ OPC_CheckAndImm, 127|128,1/*255*/,
9082 : /* 16333*/ OPC_MoveChild0,
9083 : /* 16334*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
9084 : /* 16337*/ OPC_RecordMemRef,
9085 : /* 16338*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
9086 : /* 16339*/ OPC_CheckFoldableChainNode,
9087 : /* 16340*/ OPC_RecordChild1, // #1 = $addr
9088 : /* 16341*/ OPC_CheckChild1Type, MVT::i32,
9089 : /* 16343*/ OPC_RecordChild2, // #2 = $val
9090 : /* 16344*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
9091 : /* 16346*/ OPC_MoveParent,
9092 : /* 16347*/ OPC_CheckType, MVT::i32,
9093 : /* 16349*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9094 : /* 16351*/ OPC_EmitMergeInputChains1_0,
9095 : /* 16352*/ OPC_EmitInteger, MVT::i32, 0,
9096 : /* 16355*/ OPC_EmitInteger, MVT::i32, 0,
9097 : /* 16358*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
9098 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9099 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 12
9100 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9101 : /* 16368*/ /*Scope*/ 39, /*->16408*/
9102 : /* 16369*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
9103 : /* 16373*/ OPC_MoveChild0,
9104 : /* 16374*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
9105 : /* 16377*/ OPC_RecordMemRef,
9106 : /* 16378*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
9107 : /* 16379*/ OPC_CheckFoldableChainNode,
9108 : /* 16380*/ OPC_RecordChild1, // #1 = $addr
9109 : /* 16381*/ OPC_CheckChild1Type, MVT::i32,
9110 : /* 16383*/ OPC_RecordChild2, // #2 = $val
9111 : /* 16384*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
9112 : /* 16386*/ OPC_MoveParent,
9113 : /* 16387*/ OPC_CheckType, MVT::i32,
9114 : /* 16389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9115 : /* 16391*/ OPC_EmitMergeInputChains1_0,
9116 : /* 16392*/ OPC_EmitInteger, MVT::i32, 0,
9117 : /* 16395*/ OPC_EmitInteger, MVT::i32, 0,
9118 : /* 16398*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
9119 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9120 : // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 12
9121 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9122 : /* 16408*/ /*Scope*/ 38, /*->16447*/
9123 : /* 16409*/ OPC_CheckAndImm, 127|128,1/*255*/,
9124 : /* 16412*/ OPC_MoveChild0,
9125 : /* 16413*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
9126 : /* 16416*/ OPC_RecordMemRef,
9127 : /* 16417*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
9128 : /* 16418*/ OPC_CheckFoldableChainNode,
9129 : /* 16419*/ OPC_RecordChild1, // #1 = $addr
9130 : /* 16420*/ OPC_CheckChild1Type, MVT::i32,
9131 : /* 16422*/ OPC_RecordChild2, // #2 = $val
9132 : /* 16423*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
9133 : /* 16425*/ OPC_MoveParent,
9134 : /* 16426*/ OPC_CheckType, MVT::i32,
9135 : /* 16428*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9136 : /* 16430*/ OPC_EmitMergeInputChains1_0,
9137 : /* 16431*/ OPC_EmitInteger, MVT::i32, 0,
9138 : /* 16434*/ OPC_EmitInteger, MVT::i32, 0,
9139 : /* 16437*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
9140 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9141 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
9142 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9143 : /* 16447*/ /*Scope*/ 39, /*->16487*/
9144 : /* 16448*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
9145 : /* 16452*/ OPC_MoveChild0,
9146 : /* 16453*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
9147 : /* 16456*/ OPC_RecordMemRef,
9148 : /* 16457*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
9149 : /* 16458*/ OPC_CheckFoldableChainNode,
9150 : /* 16459*/ OPC_RecordChild1, // #1 = $addr
9151 : /* 16460*/ OPC_CheckChild1Type, MVT::i32,
9152 : /* 16462*/ OPC_RecordChild2, // #2 = $val
9153 : /* 16463*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
9154 : /* 16465*/ OPC_MoveParent,
9155 : /* 16466*/ OPC_CheckType, MVT::i32,
9156 : /* 16468*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9157 : /* 16470*/ OPC_EmitMergeInputChains1_0,
9158 : /* 16471*/ OPC_EmitInteger, MVT::i32, 0,
9159 : /* 16474*/ OPC_EmitInteger, MVT::i32, 0,
9160 : /* 16477*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
9161 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
9162 : // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
9163 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
9164 : /* 16487*/ /*Scope*/ 40, /*->16528*/
9165 : /* 16488*/ OPC_CheckAndImm, 127|128,1/*255*/,
9166 : /* 16491*/ OPC_MoveChild0,
9167 : /* 16492*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
9168 : /* 16495*/ OPC_RecordMemRef,
9169 : /* 16496*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
9170 : /* 16497*/ OPC_CheckFoldableChainNode,
9171 : /* 16498*/ OPC_RecordChild1, // #1 = $addr
9172 : /* 16499*/ OPC_CheckChild1Type, MVT::i32,
9173 : /* 16501*/ OPC_RecordChild2, // #2 = $exp
9174 : /* 16502*/ OPC_RecordChild3, // #3 = $new
9175 : /* 16503*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9176 : /* 16505*/ OPC_MoveParent,
9177 : /* 16506*/ OPC_CheckType, MVT::i32,
9178 : /* 16508*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9179 : /* 16510*/ OPC_EmitMergeInputChains1_0,
9180 : /* 16511*/ OPC_EmitInteger, MVT::i32, 0,
9181 : /* 16514*/ OPC_EmitInteger, MVT::i32, 0,
9182 : /* 16517*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
9183 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
9184 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
9185 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
9186 : /* 16528*/ /*Scope*/ 41, /*->16570*/
9187 : /* 16529*/ OPC_CheckAndImm, 127|128,127|128,3/*65535*/,
9188 : /* 16533*/ OPC_MoveChild0,
9189 : /* 16534*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
9190 : /* 16537*/ OPC_RecordMemRef,
9191 : /* 16538*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
9192 : /* 16539*/ OPC_CheckFoldableChainNode,
9193 : /* 16540*/ OPC_RecordChild1, // #1 = $addr
9194 : /* 16541*/ OPC_CheckChild1Type, MVT::i32,
9195 : /* 16543*/ OPC_RecordChild2, // #2 = $exp
9196 : /* 16544*/ OPC_RecordChild3, // #3 = $new
9197 : /* 16545*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9198 : /* 16547*/ OPC_MoveParent,
9199 : /* 16548*/ OPC_CheckType, MVT::i32,
9200 : /* 16550*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9201 : /* 16552*/ OPC_EmitMergeInputChains1_0,
9202 : /* 16553*/ OPC_EmitInteger, MVT::i32, 0,
9203 : /* 16556*/ OPC_EmitInteger, MVT::i32, 0,
9204 : /* 16559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
9205 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
9206 : // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
9207 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
9208 : /* 16570*/ /*Scope*/ 72, /*->16643*/
9209 : /* 16571*/ OPC_RecordChild0, // #0 = $lhs
9210 : /* 16572*/ OPC_RecordChild1, // #1 = $rhs
9211 : /* 16573*/ OPC_SwitchType /*6 cases */, 8, MVT::i32,// ->16584
9212 : /* 16576*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I32), 0,
9213 : MVT::i32, 2/*#Ops*/, 0, 1,
9214 : // Src: (and:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
9215 : // Dst: (AND_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
9216 : /* 16584*/ /*SwitchType*/ 8, MVT::i64,// ->16594
9217 : /* 16586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I64), 0,
9218 : MVT::i64, 2/*#Ops*/, 0, 1,
9219 : // Src: (and:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
9220 : // Dst: (AND_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
9221 : /* 16594*/ /*SwitchType*/ 10, MVT::v16i8,// ->16606
9222 : /* 16596*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
9223 : /* 16598*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v16i8), 0,
9224 : MVT::v16i8, 2/*#Ops*/, 0, 1,
9225 : // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
9226 : // Dst: (AND_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
9227 : /* 16606*/ /*SwitchType*/ 10, MVT::v8i16,// ->16618
9228 : /* 16608*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
9229 : /* 16610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v8i16), 0,
9230 : MVT::v8i16, 2/*#Ops*/, 0, 1,
9231 : // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
9232 : // Dst: (AND_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
9233 : /* 16618*/ /*SwitchType*/ 10, MVT::v4i32,// ->16630
9234 : /* 16620*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
9235 : /* 16622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v4i32), 0,
9236 : MVT::v4i32, 2/*#Ops*/, 0, 1,
9237 : // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
9238 : // Dst: (AND_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
9239 : /* 16630*/ /*SwitchType*/ 10, MVT::v2i64,// ->16642
9240 : /* 16632*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
9241 : /* 16634*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v2i64), 0,
9242 : MVT::v2i64, 2/*#Ops*/, 0, 1,
9243 : // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
9244 : // Dst: (AND_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
9245 : /* 16642*/ 0, // EndSwitchType
9246 : /* 16643*/ 0, /*End of Scope*/
9247 : /* 16644*/ /*SwitchOpcode*/ 54|128,33/*4278*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->20926
9248 : /* 16648*/ OPC_Scope, 41|128,33/*4265*/, /*->20916*/ // 2 children in Scope
9249 : /* 16651*/ OPC_MoveChild0,
9250 : /* 16652*/ OPC_SwitchOpcode /*9 cases */, 38|128,6/*806*/, TARGET_VAL(ISD::AssertZext),// ->17463
9251 : /* 16657*/ OPC_MoveChild0,
9252 : /* 16658*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
9253 : /* 16661*/ OPC_RecordMemRef,
9254 : /* 16662*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
9255 : /* 16663*/ OPC_CheckFoldableChainNode,
9256 : /* 16664*/ OPC_Scope, 123|128,4/*635*/, /*->17302*/ // 2 children in Scope
9257 : /* 16667*/ OPC_MoveChild1,
9258 : /* 16668*/ OPC_SwitchOpcode /*3 cases */, 121|128,2/*377*/, TARGET_VAL(ISD::ADD),// ->17050
9259 : /* 16673*/ OPC_Scope, 75, /*->16750*/ // 5 children in Scope
9260 : /* 16675*/ OPC_RecordChild0, // #1 = $addr
9261 : /* 16676*/ OPC_MoveChild1,
9262 : /* 16677*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9263 : /* 16680*/ OPC_RecordChild0, // #2 = $off
9264 : /* 16681*/ OPC_MoveChild0,
9265 : /* 16682*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9266 : /* 16685*/ OPC_MoveParent,
9267 : /* 16686*/ OPC_MoveParent,
9268 : /* 16687*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9269 : /* 16689*/ OPC_CheckType, MVT::i32,
9270 : /* 16691*/ OPC_MoveParent,
9271 : /* 16692*/ OPC_MoveChild2,
9272 : /* 16693*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9273 : /* 16696*/ OPC_RecordChild0, // #3 = $exp
9274 : /* 16697*/ OPC_MoveParent,
9275 : /* 16698*/ OPC_MoveChild3,
9276 : /* 16699*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9277 : /* 16702*/ OPC_RecordChild0, // #4 = $new
9278 : /* 16703*/ OPC_MoveParent,
9279 : /* 16704*/ OPC_Scope, 21, /*->16727*/ // 2 children in Scope
9280 : /* 16706*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9281 : /* 16708*/ OPC_MoveParent,
9282 : /* 16709*/ OPC_MoveParent,
9283 : /* 16710*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9284 : /* 16712*/ OPC_EmitMergeInputChains1_0,
9285 : /* 16713*/ OPC_EmitInteger, MVT::i32, 0,
9286 : /* 16716*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9287 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9288 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
9289 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9290 : /* 16727*/ /*Scope*/ 21, /*->16749*/
9291 : /* 16728*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9292 : /* 16730*/ OPC_MoveParent,
9293 : /* 16731*/ OPC_MoveParent,
9294 : /* 16732*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9295 : /* 16734*/ OPC_EmitMergeInputChains1_0,
9296 : /* 16735*/ OPC_EmitInteger, MVT::i32, 0,
9297 : /* 16738*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9298 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9299 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
9300 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9301 : /* 16749*/ 0, /*End of Scope*/
9302 : /* 16750*/ /*Scope*/ 75, /*->16826*/
9303 : /* 16751*/ OPC_MoveChild0,
9304 : /* 16752*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9305 : /* 16755*/ OPC_RecordChild0, // #1 = $off
9306 : /* 16756*/ OPC_MoveChild0,
9307 : /* 16757*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9308 : /* 16760*/ OPC_MoveParent,
9309 : /* 16761*/ OPC_MoveParent,
9310 : /* 16762*/ OPC_RecordChild1, // #2 = $addr
9311 : /* 16763*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9312 : /* 16765*/ OPC_CheckType, MVT::i32,
9313 : /* 16767*/ OPC_MoveParent,
9314 : /* 16768*/ OPC_MoveChild2,
9315 : /* 16769*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9316 : /* 16772*/ OPC_RecordChild0, // #3 = $exp
9317 : /* 16773*/ OPC_MoveParent,
9318 : /* 16774*/ OPC_MoveChild3,
9319 : /* 16775*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9320 : /* 16778*/ OPC_RecordChild0, // #4 = $new
9321 : /* 16779*/ OPC_MoveParent,
9322 : /* 16780*/ OPC_Scope, 21, /*->16803*/ // 2 children in Scope
9323 : /* 16782*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9324 : /* 16784*/ OPC_MoveParent,
9325 : /* 16785*/ OPC_MoveParent,
9326 : /* 16786*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9327 : /* 16788*/ OPC_EmitMergeInputChains1_0,
9328 : /* 16789*/ OPC_EmitInteger, MVT::i32, 0,
9329 : /* 16792*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9330 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9331 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
9332 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9333 : /* 16803*/ /*Scope*/ 21, /*->16825*/
9334 : /* 16804*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9335 : /* 16806*/ OPC_MoveParent,
9336 : /* 16807*/ OPC_MoveParent,
9337 : /* 16808*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9338 : /* 16810*/ OPC_EmitMergeInputChains1_0,
9339 : /* 16811*/ OPC_EmitInteger, MVT::i32, 0,
9340 : /* 16814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9341 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9342 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
9343 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9344 : /* 16825*/ 0, /*End of Scope*/
9345 : /* 16826*/ /*Scope*/ 73, /*->16900*/
9346 : /* 16827*/ OPC_RecordChild0, // #1 = $addr
9347 : /* 16828*/ OPC_MoveChild1,
9348 : /* 16829*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9349 : /* 16832*/ OPC_RecordChild0, // #2 = $off
9350 : /* 16833*/ OPC_MoveChild0,
9351 : /* 16834*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
9352 : /* 16837*/ OPC_MoveParent,
9353 : /* 16838*/ OPC_MoveParent,
9354 : /* 16839*/ OPC_CheckType, MVT::i32,
9355 : /* 16841*/ OPC_MoveParent,
9356 : /* 16842*/ OPC_MoveChild2,
9357 : /* 16843*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9358 : /* 16846*/ OPC_RecordChild0, // #3 = $exp
9359 : /* 16847*/ OPC_MoveParent,
9360 : /* 16848*/ OPC_MoveChild3,
9361 : /* 16849*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9362 : /* 16852*/ OPC_RecordChild0, // #4 = $new
9363 : /* 16853*/ OPC_MoveParent,
9364 : /* 16854*/ OPC_Scope, 21, /*->16877*/ // 2 children in Scope
9365 : /* 16856*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9366 : /* 16858*/ OPC_MoveParent,
9367 : /* 16859*/ OPC_MoveParent,
9368 : /* 16860*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9369 : /* 16862*/ OPC_EmitMergeInputChains1_0,
9370 : /* 16863*/ OPC_EmitInteger, MVT::i32, 0,
9371 : /* 16866*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9372 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9373 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
9374 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9375 : /* 16877*/ /*Scope*/ 21, /*->16899*/
9376 : /* 16878*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9377 : /* 16880*/ OPC_MoveParent,
9378 : /* 16881*/ OPC_MoveParent,
9379 : /* 16882*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9380 : /* 16884*/ OPC_EmitMergeInputChains1_0,
9381 : /* 16885*/ OPC_EmitInteger, MVT::i32, 0,
9382 : /* 16888*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9383 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9384 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
9385 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9386 : /* 16899*/ 0, /*End of Scope*/
9387 : /* 16900*/ /*Scope*/ 73, /*->16974*/
9388 : /* 16901*/ OPC_MoveChild0,
9389 : /* 16902*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9390 : /* 16905*/ OPC_RecordChild0, // #1 = $off
9391 : /* 16906*/ OPC_MoveChild0,
9392 : /* 16907*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
9393 : /* 16910*/ OPC_MoveParent,
9394 : /* 16911*/ OPC_MoveParent,
9395 : /* 16912*/ OPC_RecordChild1, // #2 = $addr
9396 : /* 16913*/ OPC_CheckType, MVT::i32,
9397 : /* 16915*/ OPC_MoveParent,
9398 : /* 16916*/ OPC_MoveChild2,
9399 : /* 16917*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9400 : /* 16920*/ OPC_RecordChild0, // #3 = $exp
9401 : /* 16921*/ OPC_MoveParent,
9402 : /* 16922*/ OPC_MoveChild3,
9403 : /* 16923*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9404 : /* 16926*/ OPC_RecordChild0, // #4 = $new
9405 : /* 16927*/ OPC_MoveParent,
9406 : /* 16928*/ OPC_Scope, 21, /*->16951*/ // 2 children in Scope
9407 : /* 16930*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9408 : /* 16932*/ OPC_MoveParent,
9409 : /* 16933*/ OPC_MoveParent,
9410 : /* 16934*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9411 : /* 16936*/ OPC_EmitMergeInputChains1_0,
9412 : /* 16937*/ OPC_EmitInteger, MVT::i32, 0,
9413 : /* 16940*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9414 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9415 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
9416 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9417 : /* 16951*/ /*Scope*/ 21, /*->16973*/
9418 : /* 16952*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9419 : /* 16954*/ OPC_MoveParent,
9420 : /* 16955*/ OPC_MoveParent,
9421 : /* 16956*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9422 : /* 16958*/ OPC_EmitMergeInputChains1_0,
9423 : /* 16959*/ OPC_EmitInteger, MVT::i32, 0,
9424 : /* 16962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9425 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9426 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
9427 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9428 : /* 16973*/ 0, /*End of Scope*/
9429 : /* 16974*/ /*Scope*/ 74, /*->17049*/
9430 : /* 16975*/ OPC_RecordChild0, // #1 = $addr
9431 : /* 16976*/ OPC_RecordChild1, // #2 = $off
9432 : /* 16977*/ OPC_MoveChild1,
9433 : /* 16978*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9434 : /* 16981*/ OPC_MoveParent,
9435 : /* 16982*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
9436 : /* 16984*/ OPC_CheckType, MVT::i32,
9437 : /* 16986*/ OPC_MoveParent,
9438 : /* 16987*/ OPC_MoveChild2,
9439 : /* 16988*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9440 : /* 16991*/ OPC_RecordChild0, // #3 = $exp
9441 : /* 16992*/ OPC_MoveParent,
9442 : /* 16993*/ OPC_MoveChild3,
9443 : /* 16994*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9444 : /* 16997*/ OPC_RecordChild0, // #4 = $new
9445 : /* 16998*/ OPC_MoveParent,
9446 : /* 16999*/ OPC_Scope, 23, /*->17024*/ // 2 children in Scope
9447 : /* 17001*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9448 : /* 17003*/ OPC_MoveParent,
9449 : /* 17004*/ OPC_MoveParent,
9450 : /* 17005*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9451 : /* 17007*/ OPC_EmitMergeInputChains1_0,
9452 : /* 17008*/ OPC_EmitInteger, MVT::i32, 0,
9453 : /* 17011*/ OPC_EmitConvertToTarget, 2,
9454 : /* 17013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9455 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9456 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
9457 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9458 : /* 17024*/ /*Scope*/ 23, /*->17048*/
9459 : /* 17025*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9460 : /* 17027*/ OPC_MoveParent,
9461 : /* 17028*/ OPC_MoveParent,
9462 : /* 17029*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9463 : /* 17031*/ OPC_EmitMergeInputChains1_0,
9464 : /* 17032*/ OPC_EmitInteger, MVT::i32, 0,
9465 : /* 17035*/ OPC_EmitConvertToTarget, 2,
9466 : /* 17037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9467 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9468 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
9469 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9470 : /* 17048*/ 0, /*End of Scope*/
9471 : /* 17049*/ 0, /*End of Scope*/
9472 : /* 17050*/ /*SwitchOpcode*/ 74, TARGET_VAL(ISD::OR),// ->17127
9473 : /* 17053*/ OPC_RecordChild0, // #1 = $addr
9474 : /* 17054*/ OPC_RecordChild1, // #2 = $off
9475 : /* 17055*/ OPC_MoveChild1,
9476 : /* 17056*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9477 : /* 17059*/ OPC_MoveParent,
9478 : /* 17060*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
9479 : /* 17062*/ OPC_CheckType, MVT::i32,
9480 : /* 17064*/ OPC_MoveParent,
9481 : /* 17065*/ OPC_MoveChild2,
9482 : /* 17066*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9483 : /* 17069*/ OPC_RecordChild0, // #3 = $exp
9484 : /* 17070*/ OPC_MoveParent,
9485 : /* 17071*/ OPC_MoveChild3,
9486 : /* 17072*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9487 : /* 17075*/ OPC_RecordChild0, // #4 = $new
9488 : /* 17076*/ OPC_MoveParent,
9489 : /* 17077*/ OPC_Scope, 23, /*->17102*/ // 2 children in Scope
9490 : /* 17079*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9491 : /* 17081*/ OPC_MoveParent,
9492 : /* 17082*/ OPC_MoveParent,
9493 : /* 17083*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9494 : /* 17085*/ OPC_EmitMergeInputChains1_0,
9495 : /* 17086*/ OPC_EmitInteger, MVT::i32, 0,
9496 : /* 17089*/ OPC_EmitConvertToTarget, 2,
9497 : /* 17091*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9498 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9499 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
9500 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9501 : /* 17102*/ /*Scope*/ 23, /*->17126*/
9502 : /* 17103*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9503 : /* 17105*/ OPC_MoveParent,
9504 : /* 17106*/ OPC_MoveParent,
9505 : /* 17107*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9506 : /* 17109*/ OPC_EmitMergeInputChains1_0,
9507 : /* 17110*/ OPC_EmitInteger, MVT::i32, 0,
9508 : /* 17113*/ OPC_EmitConvertToTarget, 2,
9509 : /* 17115*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9510 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9511 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
9512 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9513 : /* 17126*/ 0, /*End of Scope*/
9514 : /* 17127*/ /*SwitchOpcode*/ 42|128,1/*170*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->17301
9515 : /* 17131*/ OPC_RecordChild0, // #1 = $off
9516 : /* 17132*/ OPC_MoveChild0,
9517 : /* 17133*/ OPC_SwitchOpcode /*2 cases */, 80, TARGET_VAL(ISD::TargetGlobalAddress),// ->17217
9518 : /* 17137*/ OPC_MoveParent,
9519 : /* 17138*/ OPC_MoveParent,
9520 : /* 17139*/ OPC_MoveChild2,
9521 : /* 17140*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9522 : /* 17143*/ OPC_RecordChild0, // #2 = $exp
9523 : /* 17144*/ OPC_MoveParent,
9524 : /* 17145*/ OPC_MoveChild3,
9525 : /* 17146*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9526 : /* 17149*/ OPC_RecordChild0, // #3 = $new
9527 : /* 17150*/ OPC_MoveParent,
9528 : /* 17151*/ OPC_Scope, 31, /*->17184*/ // 2 children in Scope
9529 : /* 17153*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9530 : /* 17155*/ OPC_MoveParent,
9531 : /* 17156*/ OPC_MoveParent,
9532 : /* 17157*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9533 : /* 17159*/ OPC_EmitMergeInputChains1_0,
9534 : /* 17160*/ OPC_EmitInteger, MVT::i32, 0,
9535 : /* 17163*/ OPC_EmitInteger, MVT::i32, 0,
9536 : /* 17166*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9537 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9538 : /* 17173*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9539 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9540 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
9541 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9542 : /* 17184*/ /*Scope*/ 31, /*->17216*/
9543 : /* 17185*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9544 : /* 17187*/ OPC_MoveParent,
9545 : /* 17188*/ OPC_MoveParent,
9546 : /* 17189*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9547 : /* 17191*/ OPC_EmitMergeInputChains1_0,
9548 : /* 17192*/ OPC_EmitInteger, MVT::i32, 0,
9549 : /* 17195*/ OPC_EmitInteger, MVT::i32, 0,
9550 : /* 17198*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9551 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9552 : /* 17205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9553 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9554 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
9555 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9556 : /* 17216*/ 0, /*End of Scope*/
9557 : /* 17217*/ /*SwitchOpcode*/ 80, TARGET_VAL(ISD::TargetExternalSymbol),// ->17300
9558 : /* 17220*/ OPC_MoveParent,
9559 : /* 17221*/ OPC_MoveParent,
9560 : /* 17222*/ OPC_MoveChild2,
9561 : /* 17223*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9562 : /* 17226*/ OPC_RecordChild0, // #2 = $exp
9563 : /* 17227*/ OPC_MoveParent,
9564 : /* 17228*/ OPC_MoveChild3,
9565 : /* 17229*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9566 : /* 17232*/ OPC_RecordChild0, // #3 = $new
9567 : /* 17233*/ OPC_MoveParent,
9568 : /* 17234*/ OPC_Scope, 31, /*->17267*/ // 2 children in Scope
9569 : /* 17236*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9570 : /* 17238*/ OPC_MoveParent,
9571 : /* 17239*/ OPC_MoveParent,
9572 : /* 17240*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9573 : /* 17242*/ OPC_EmitMergeInputChains1_0,
9574 : /* 17243*/ OPC_EmitInteger, MVT::i32, 0,
9575 : /* 17246*/ OPC_EmitInteger, MVT::i32, 0,
9576 : /* 17249*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9577 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9578 : /* 17256*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9579 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9580 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
9581 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9582 : /* 17267*/ /*Scope*/ 31, /*->17299*/
9583 : /* 17268*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9584 : /* 17270*/ OPC_MoveParent,
9585 : /* 17271*/ OPC_MoveParent,
9586 : /* 17272*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9587 : /* 17274*/ OPC_EmitMergeInputChains1_0,
9588 : /* 17275*/ OPC_EmitInteger, MVT::i32, 0,
9589 : /* 17278*/ OPC_EmitInteger, MVT::i32, 0,
9590 : /* 17281*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9591 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9592 : /* 17288*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9593 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9594 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
9595 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9596 : /* 17299*/ 0, /*End of Scope*/
9597 : /* 17300*/ 0, // EndSwitchOpcode
9598 : /* 17301*/ 0, // EndSwitchOpcode
9599 : /* 17302*/ /*Scope*/ 30|128,1/*158*/, /*->17462*/
9600 : /* 17304*/ OPC_RecordChild1, // #1 = $off
9601 : /* 17305*/ OPC_Scope, 87, /*->17394*/ // 2 children in Scope
9602 : /* 17307*/ OPC_MoveChild1,
9603 : /* 17308*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9604 : /* 17311*/ OPC_MoveParent,
9605 : /* 17312*/ OPC_MoveChild2,
9606 : /* 17313*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9607 : /* 17316*/ OPC_RecordChild0, // #2 = $exp
9608 : /* 17317*/ OPC_MoveParent,
9609 : /* 17318*/ OPC_MoveChild3,
9610 : /* 17319*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9611 : /* 17322*/ OPC_RecordChild0, // #3 = $new
9612 : /* 17323*/ OPC_MoveParent,
9613 : /* 17324*/ OPC_Scope, 33, /*->17359*/ // 2 children in Scope
9614 : /* 17326*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9615 : /* 17328*/ OPC_MoveParent,
9616 : /* 17329*/ OPC_MoveParent,
9617 : /* 17330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9618 : /* 17332*/ OPC_EmitMergeInputChains1_0,
9619 : /* 17333*/ OPC_EmitInteger, MVT::i32, 0,
9620 : /* 17336*/ OPC_EmitConvertToTarget, 1,
9621 : /* 17338*/ OPC_EmitInteger, MVT::i32, 0,
9622 : /* 17341*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9623 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
9624 : /* 17348*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9625 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9626 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
9627 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9628 : /* 17359*/ /*Scope*/ 33, /*->17393*/
9629 : /* 17360*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9630 : /* 17362*/ OPC_MoveParent,
9631 : /* 17363*/ OPC_MoveParent,
9632 : /* 17364*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9633 : /* 17366*/ OPC_EmitMergeInputChains1_0,
9634 : /* 17367*/ OPC_EmitInteger, MVT::i32, 0,
9635 : /* 17370*/ OPC_EmitConvertToTarget, 1,
9636 : /* 17372*/ OPC_EmitInteger, MVT::i32, 0,
9637 : /* 17375*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9638 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
9639 : /* 17382*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9640 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9641 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
9642 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9643 : /* 17393*/ 0, /*End of Scope*/
9644 : /* 17394*/ /*Scope*/ 66, /*->17461*/
9645 : /* 17395*/ OPC_CheckChild1Type, MVT::i32,
9646 : /* 17397*/ OPC_MoveChild2,
9647 : /* 17398*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9648 : /* 17401*/ OPC_RecordChild0, // #2 = $exp
9649 : /* 17402*/ OPC_MoveParent,
9650 : /* 17403*/ OPC_MoveChild3,
9651 : /* 17404*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9652 : /* 17407*/ OPC_RecordChild0, // #3 = $new
9653 : /* 17408*/ OPC_MoveParent,
9654 : /* 17409*/ OPC_Scope, 24, /*->17435*/ // 2 children in Scope
9655 : /* 17411*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
9656 : /* 17413*/ OPC_MoveParent,
9657 : /* 17414*/ OPC_MoveParent,
9658 : /* 17415*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9659 : /* 17417*/ OPC_EmitMergeInputChains1_0,
9660 : /* 17418*/ OPC_EmitInteger, MVT::i32, 0,
9661 : /* 17421*/ OPC_EmitInteger, MVT::i32, 0,
9662 : /* 17424*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9663 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9664 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
9665 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9666 : /* 17435*/ /*Scope*/ 24, /*->17460*/
9667 : /* 17436*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
9668 : /* 17438*/ OPC_MoveParent,
9669 : /* 17439*/ OPC_MoveParent,
9670 : /* 17440*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9671 : /* 17442*/ OPC_EmitMergeInputChains1_0,
9672 : /* 17443*/ OPC_EmitInteger, MVT::i32, 0,
9673 : /* 17446*/ OPC_EmitInteger, MVT::i32, 0,
9674 : /* 17449*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9675 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9676 : // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
9677 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9678 : /* 17460*/ 0, /*End of Scope*/
9679 : /* 17461*/ 0, /*End of Scope*/
9680 : /* 17462*/ 0, /*End of Scope*/
9681 : /* 17463*/ /*SwitchOpcode*/ 116|128,3/*500*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->17967
9682 : /* 17467*/ OPC_RecordMemRef,
9683 : /* 17468*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
9684 : /* 17469*/ OPC_Scope, 18|128,3/*402*/, /*->17874*/ // 2 children in Scope
9685 : /* 17472*/ OPC_MoveChild1,
9686 : /* 17473*/ OPC_SwitchOpcode /*3 cases */, 117|128,1/*245*/, TARGET_VAL(ISD::ADD),// ->17723
9687 : /* 17478*/ OPC_Scope, 49, /*->17529*/ // 5 children in Scope
9688 : /* 17480*/ OPC_RecordChild0, // #1 = $addr
9689 : /* 17481*/ OPC_MoveChild1,
9690 : /* 17482*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9691 : /* 17485*/ OPC_RecordChild0, // #2 = $off
9692 : /* 17486*/ OPC_MoveChild0,
9693 : /* 17487*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9694 : /* 17490*/ OPC_MoveParent,
9695 : /* 17491*/ OPC_MoveParent,
9696 : /* 17492*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9697 : /* 17494*/ OPC_CheckType, MVT::i32,
9698 : /* 17496*/ OPC_MoveParent,
9699 : /* 17497*/ OPC_MoveChild2,
9700 : /* 17498*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9701 : /* 17501*/ OPC_RecordChild0, // #3 = $exp
9702 : /* 17502*/ OPC_MoveParent,
9703 : /* 17503*/ OPC_MoveChild3,
9704 : /* 17504*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9705 : /* 17507*/ OPC_RecordChild0, // #4 = $new
9706 : /* 17508*/ OPC_MoveParent,
9707 : /* 17509*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9708 : /* 17511*/ OPC_MoveParent,
9709 : /* 17512*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9710 : /* 17514*/ OPC_EmitMergeInputChains1_0,
9711 : /* 17515*/ OPC_EmitInteger, MVT::i32, 0,
9712 : /* 17518*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9713 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9714 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 23
9715 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9716 : /* 17529*/ /*Scope*/ 49, /*->17579*/
9717 : /* 17530*/ OPC_MoveChild0,
9718 : /* 17531*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9719 : /* 17534*/ OPC_RecordChild0, // #1 = $off
9720 : /* 17535*/ OPC_MoveChild0,
9721 : /* 17536*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9722 : /* 17539*/ OPC_MoveParent,
9723 : /* 17540*/ OPC_MoveParent,
9724 : /* 17541*/ OPC_RecordChild1, // #2 = $addr
9725 : /* 17542*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9726 : /* 17544*/ OPC_CheckType, MVT::i32,
9727 : /* 17546*/ OPC_MoveParent,
9728 : /* 17547*/ OPC_MoveChild2,
9729 : /* 17548*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9730 : /* 17551*/ OPC_RecordChild0, // #3 = $exp
9731 : /* 17552*/ OPC_MoveParent,
9732 : /* 17553*/ OPC_MoveChild3,
9733 : /* 17554*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9734 : /* 17557*/ OPC_RecordChild0, // #4 = $new
9735 : /* 17558*/ OPC_MoveParent,
9736 : /* 17559*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9737 : /* 17561*/ OPC_MoveParent,
9738 : /* 17562*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9739 : /* 17564*/ OPC_EmitMergeInputChains1_0,
9740 : /* 17565*/ OPC_EmitInteger, MVT::i32, 0,
9741 : /* 17568*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9742 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9743 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 23
9744 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9745 : /* 17579*/ /*Scope*/ 47, /*->17627*/
9746 : /* 17580*/ OPC_RecordChild0, // #1 = $addr
9747 : /* 17581*/ OPC_MoveChild1,
9748 : /* 17582*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9749 : /* 17585*/ OPC_RecordChild0, // #2 = $off
9750 : /* 17586*/ OPC_MoveChild0,
9751 : /* 17587*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
9752 : /* 17590*/ OPC_MoveParent,
9753 : /* 17591*/ OPC_MoveParent,
9754 : /* 17592*/ OPC_CheckType, MVT::i32,
9755 : /* 17594*/ OPC_MoveParent,
9756 : /* 17595*/ OPC_MoveChild2,
9757 : /* 17596*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9758 : /* 17599*/ OPC_RecordChild0, // #3 = $exp
9759 : /* 17600*/ OPC_MoveParent,
9760 : /* 17601*/ OPC_MoveChild3,
9761 : /* 17602*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9762 : /* 17605*/ OPC_RecordChild0, // #4 = $new
9763 : /* 17606*/ OPC_MoveParent,
9764 : /* 17607*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9765 : /* 17609*/ OPC_MoveParent,
9766 : /* 17610*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9767 : /* 17612*/ OPC_EmitMergeInputChains1_0,
9768 : /* 17613*/ OPC_EmitInteger, MVT::i32, 0,
9769 : /* 17616*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9770 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
9771 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 22
9772 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9773 : /* 17627*/ /*Scope*/ 47, /*->17675*/
9774 : /* 17628*/ OPC_MoveChild0,
9775 : /* 17629*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9776 : /* 17632*/ OPC_RecordChild0, // #1 = $off
9777 : /* 17633*/ OPC_MoveChild0,
9778 : /* 17634*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
9779 : /* 17637*/ OPC_MoveParent,
9780 : /* 17638*/ OPC_MoveParent,
9781 : /* 17639*/ OPC_RecordChild1, // #2 = $addr
9782 : /* 17640*/ OPC_CheckType, MVT::i32,
9783 : /* 17642*/ OPC_MoveParent,
9784 : /* 17643*/ OPC_MoveChild2,
9785 : /* 17644*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9786 : /* 17647*/ OPC_RecordChild0, // #3 = $exp
9787 : /* 17648*/ OPC_MoveParent,
9788 : /* 17649*/ OPC_MoveChild3,
9789 : /* 17650*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9790 : /* 17653*/ OPC_RecordChild0, // #4 = $new
9791 : /* 17654*/ OPC_MoveParent,
9792 : /* 17655*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9793 : /* 17657*/ OPC_MoveParent,
9794 : /* 17658*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9795 : /* 17660*/ OPC_EmitMergeInputChains1_0,
9796 : /* 17661*/ OPC_EmitInteger, MVT::i32, 0,
9797 : /* 17664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9798 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
9799 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 22
9800 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9801 : /* 17675*/ /*Scope*/ 46, /*->17722*/
9802 : /* 17676*/ OPC_RecordChild0, // #1 = $addr
9803 : /* 17677*/ OPC_RecordChild1, // #2 = $off
9804 : /* 17678*/ OPC_MoveChild1,
9805 : /* 17679*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9806 : /* 17682*/ OPC_MoveParent,
9807 : /* 17683*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
9808 : /* 17685*/ OPC_CheckType, MVT::i32,
9809 : /* 17687*/ OPC_MoveParent,
9810 : /* 17688*/ OPC_MoveChild2,
9811 : /* 17689*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9812 : /* 17692*/ OPC_RecordChild0, // #3 = $exp
9813 : /* 17693*/ OPC_MoveParent,
9814 : /* 17694*/ OPC_MoveChild3,
9815 : /* 17695*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9816 : /* 17698*/ OPC_RecordChild0, // #4 = $new
9817 : /* 17699*/ OPC_MoveParent,
9818 : /* 17700*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9819 : /* 17702*/ OPC_MoveParent,
9820 : /* 17703*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9821 : /* 17705*/ OPC_EmitMergeInputChains1_0,
9822 : /* 17706*/ OPC_EmitInteger, MVT::i32, 0,
9823 : /* 17709*/ OPC_EmitConvertToTarget, 2,
9824 : /* 17711*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9825 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9826 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
9827 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9828 : /* 17722*/ 0, /*End of Scope*/
9829 : /* 17723*/ /*SwitchOpcode*/ 46, TARGET_VAL(ISD::OR),// ->17772
9830 : /* 17726*/ OPC_RecordChild0, // #1 = $addr
9831 : /* 17727*/ OPC_RecordChild1, // #2 = $off
9832 : /* 17728*/ OPC_MoveChild1,
9833 : /* 17729*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9834 : /* 17732*/ OPC_MoveParent,
9835 : /* 17733*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
9836 : /* 17735*/ OPC_CheckType, MVT::i32,
9837 : /* 17737*/ OPC_MoveParent,
9838 : /* 17738*/ OPC_MoveChild2,
9839 : /* 17739*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9840 : /* 17742*/ OPC_RecordChild0, // #3 = $exp
9841 : /* 17743*/ OPC_MoveParent,
9842 : /* 17744*/ OPC_MoveChild3,
9843 : /* 17745*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9844 : /* 17748*/ OPC_RecordChild0, // #4 = $new
9845 : /* 17749*/ OPC_MoveParent,
9846 : /* 17750*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9847 : /* 17752*/ OPC_MoveParent,
9848 : /* 17753*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9849 : /* 17755*/ OPC_EmitMergeInputChains1_0,
9850 : /* 17756*/ OPC_EmitInteger, MVT::i32, 0,
9851 : /* 17759*/ OPC_EmitConvertToTarget, 2,
9852 : /* 17761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9853 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
9854 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
9855 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9856 : /* 17772*/ /*SwitchOpcode*/ 98, TARGET_VAL(WebAssemblyISD::Wrapper),// ->17873
9857 : /* 17775*/ OPC_RecordChild0, // #1 = $off
9858 : /* 17776*/ OPC_MoveChild0,
9859 : /* 17777*/ OPC_SwitchOpcode /*2 cases */, 44, TARGET_VAL(ISD::TargetGlobalAddress),// ->17825
9860 : /* 17781*/ OPC_MoveParent,
9861 : /* 17782*/ OPC_MoveParent,
9862 : /* 17783*/ OPC_MoveChild2,
9863 : /* 17784*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9864 : /* 17787*/ OPC_RecordChild0, // #2 = $exp
9865 : /* 17788*/ OPC_MoveParent,
9866 : /* 17789*/ OPC_MoveChild3,
9867 : /* 17790*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9868 : /* 17793*/ OPC_RecordChild0, // #3 = $new
9869 : /* 17794*/ OPC_MoveParent,
9870 : /* 17795*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9871 : /* 17797*/ OPC_MoveParent,
9872 : /* 17798*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9873 : /* 17800*/ OPC_EmitMergeInputChains1_0,
9874 : /* 17801*/ OPC_EmitInteger, MVT::i32, 0,
9875 : /* 17804*/ OPC_EmitInteger, MVT::i32, 0,
9876 : /* 17807*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9877 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9878 : /* 17814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9879 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9880 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
9881 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9882 : /* 17825*/ /*SwitchOpcode*/ 44, TARGET_VAL(ISD::TargetExternalSymbol),// ->17872
9883 : /* 17828*/ OPC_MoveParent,
9884 : /* 17829*/ OPC_MoveParent,
9885 : /* 17830*/ OPC_MoveChild2,
9886 : /* 17831*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9887 : /* 17834*/ OPC_RecordChild0, // #2 = $exp
9888 : /* 17835*/ OPC_MoveParent,
9889 : /* 17836*/ OPC_MoveChild3,
9890 : /* 17837*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9891 : /* 17840*/ OPC_RecordChild0, // #3 = $new
9892 : /* 17841*/ OPC_MoveParent,
9893 : /* 17842*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9894 : /* 17844*/ OPC_MoveParent,
9895 : /* 17845*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9896 : /* 17847*/ OPC_EmitMergeInputChains1_0,
9897 : /* 17848*/ OPC_EmitInteger, MVT::i32, 0,
9898 : /* 17851*/ OPC_EmitInteger, MVT::i32, 0,
9899 : /* 17854*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9900 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
9901 : /* 17861*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9902 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
9903 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
9904 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9905 : /* 17872*/ 0, // EndSwitchOpcode
9906 : /* 17873*/ 0, // EndSwitchOpcode
9907 : /* 17874*/ /*Scope*/ 91, /*->17966*/
9908 : /* 17875*/ OPC_RecordChild1, // #1 = $off
9909 : /* 17876*/ OPC_Scope, 49, /*->17927*/ // 2 children in Scope
9910 : /* 17878*/ OPC_MoveChild1,
9911 : /* 17879*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9912 : /* 17882*/ OPC_MoveParent,
9913 : /* 17883*/ OPC_MoveChild2,
9914 : /* 17884*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9915 : /* 17887*/ OPC_RecordChild0, // #2 = $exp
9916 : /* 17888*/ OPC_MoveParent,
9917 : /* 17889*/ OPC_MoveChild3,
9918 : /* 17890*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9919 : /* 17893*/ OPC_RecordChild0, // #3 = $new
9920 : /* 17894*/ OPC_MoveParent,
9921 : /* 17895*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9922 : /* 17897*/ OPC_MoveParent,
9923 : /* 17898*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9924 : /* 17900*/ OPC_EmitMergeInputChains1_0,
9925 : /* 17901*/ OPC_EmitInteger, MVT::i32, 0,
9926 : /* 17904*/ OPC_EmitConvertToTarget, 1,
9927 : /* 17906*/ OPC_EmitInteger, MVT::i32, 0,
9928 : /* 17909*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
9929 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
9930 : /* 17916*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9931 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
9932 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 16
9933 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9934 : /* 17927*/ /*Scope*/ 37, /*->17965*/
9935 : /* 17928*/ OPC_CheckChild1Type, MVT::i32,
9936 : /* 17930*/ OPC_MoveChild2,
9937 : /* 17931*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9938 : /* 17934*/ OPC_RecordChild0, // #2 = $exp
9939 : /* 17935*/ OPC_MoveParent,
9940 : /* 17936*/ OPC_MoveChild3,
9941 : /* 17937*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9942 : /* 17940*/ OPC_RecordChild0, // #3 = $new
9943 : /* 17941*/ OPC_MoveParent,
9944 : /* 17942*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
9945 : /* 17944*/ OPC_MoveParent,
9946 : /* 17945*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9947 : /* 17947*/ OPC_EmitMergeInputChains1_0,
9948 : /* 17948*/ OPC_EmitInteger, MVT::i32, 0,
9949 : /* 17951*/ OPC_EmitInteger, MVT::i32, 0,
9950 : /* 17954*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
9951 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
9952 : // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 13
9953 : // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
9954 : /* 17965*/ 0, /*End of Scope*/
9955 : /* 17966*/ 0, /*End of Scope*/
9956 : /* 17967*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->18401
9957 : /* 17971*/ OPC_RecordMemRef,
9958 : /* 17972*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
9959 : /* 17973*/ OPC_Scope, 90|128,2/*346*/, /*->18322*/ // 2 children in Scope
9960 : /* 17976*/ OPC_MoveChild1,
9961 : /* 17977*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->18192
9962 : /* 17982*/ OPC_Scope, 42, /*->18026*/ // 5 children in Scope
9963 : /* 17984*/ OPC_RecordChild0, // #1 = $addr
9964 : /* 17985*/ OPC_MoveChild1,
9965 : /* 17986*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9966 : /* 17989*/ OPC_RecordChild0, // #2 = $off
9967 : /* 17990*/ OPC_MoveChild0,
9968 : /* 17991*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9969 : /* 17994*/ OPC_MoveParent,
9970 : /* 17995*/ OPC_MoveParent,
9971 : /* 17996*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9972 : /* 17998*/ OPC_CheckType, MVT::i32,
9973 : /* 18000*/ OPC_MoveParent,
9974 : /* 18001*/ OPC_MoveChild2,
9975 : /* 18002*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
9976 : /* 18005*/ OPC_RecordChild0, // #3 = $val
9977 : /* 18006*/ OPC_MoveParent,
9978 : /* 18007*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
9979 : /* 18009*/ OPC_MoveParent,
9980 : /* 18010*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
9981 : /* 18012*/ OPC_EmitMergeInputChains1_0,
9982 : /* 18013*/ OPC_EmitInteger, MVT::i32, 0,
9983 : /* 18016*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
9984 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
9985 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 20
9986 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
9987 : /* 18026*/ /*Scope*/ 42, /*->18069*/
9988 : /* 18027*/ OPC_MoveChild0,
9989 : /* 18028*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
9990 : /* 18031*/ OPC_RecordChild0, // #1 = $off
9991 : /* 18032*/ OPC_MoveChild0,
9992 : /* 18033*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
9993 : /* 18036*/ OPC_MoveParent,
9994 : /* 18037*/ OPC_MoveParent,
9995 : /* 18038*/ OPC_RecordChild1, // #2 = $addr
9996 : /* 18039*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
9997 : /* 18041*/ OPC_CheckType, MVT::i32,
9998 : /* 18043*/ OPC_MoveParent,
9999 : /* 18044*/ OPC_MoveChild2,
10000 : /* 18045*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10001 : /* 18048*/ OPC_RecordChild0, // #3 = $val
10002 : /* 18049*/ OPC_MoveParent,
10003 : /* 18050*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10004 : /* 18052*/ OPC_MoveParent,
10005 : /* 18053*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10006 : /* 18055*/ OPC_EmitMergeInputChains1_0,
10007 : /* 18056*/ OPC_EmitInteger, MVT::i32, 0,
10008 : /* 18059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10009 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10010 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 20
10011 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10012 : /* 18069*/ /*Scope*/ 40, /*->18110*/
10013 : /* 18070*/ OPC_RecordChild0, // #1 = $addr
10014 : /* 18071*/ OPC_MoveChild1,
10015 : /* 18072*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10016 : /* 18075*/ OPC_RecordChild0, // #2 = $off
10017 : /* 18076*/ OPC_MoveChild0,
10018 : /* 18077*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10019 : /* 18080*/ OPC_MoveParent,
10020 : /* 18081*/ OPC_MoveParent,
10021 : /* 18082*/ OPC_CheckType, MVT::i32,
10022 : /* 18084*/ OPC_MoveParent,
10023 : /* 18085*/ OPC_MoveChild2,
10024 : /* 18086*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10025 : /* 18089*/ OPC_RecordChild0, // #3 = $val
10026 : /* 18090*/ OPC_MoveParent,
10027 : /* 18091*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10028 : /* 18093*/ OPC_MoveParent,
10029 : /* 18094*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10030 : /* 18096*/ OPC_EmitMergeInputChains1_0,
10031 : /* 18097*/ OPC_EmitInteger, MVT::i32, 0,
10032 : /* 18100*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10033 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10034 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 19
10035 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10036 : /* 18110*/ /*Scope*/ 40, /*->18151*/
10037 : /* 18111*/ OPC_MoveChild0,
10038 : /* 18112*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10039 : /* 18115*/ OPC_RecordChild0, // #1 = $off
10040 : /* 18116*/ OPC_MoveChild0,
10041 : /* 18117*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10042 : /* 18120*/ OPC_MoveParent,
10043 : /* 18121*/ OPC_MoveParent,
10044 : /* 18122*/ OPC_RecordChild1, // #2 = $addr
10045 : /* 18123*/ OPC_CheckType, MVT::i32,
10046 : /* 18125*/ OPC_MoveParent,
10047 : /* 18126*/ OPC_MoveChild2,
10048 : /* 18127*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10049 : /* 18130*/ OPC_RecordChild0, // #3 = $val
10050 : /* 18131*/ OPC_MoveParent,
10051 : /* 18132*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10052 : /* 18134*/ OPC_MoveParent,
10053 : /* 18135*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10054 : /* 18137*/ OPC_EmitMergeInputChains1_0,
10055 : /* 18138*/ OPC_EmitInteger, MVT::i32, 0,
10056 : /* 18141*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10057 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10058 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 19
10059 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10060 : /* 18151*/ /*Scope*/ 39, /*->18191*/
10061 : /* 18152*/ OPC_RecordChild0, // #1 = $addr
10062 : /* 18153*/ OPC_RecordChild1, // #2 = $off
10063 : /* 18154*/ OPC_MoveChild1,
10064 : /* 18155*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10065 : /* 18158*/ OPC_MoveParent,
10066 : /* 18159*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
10067 : /* 18161*/ OPC_CheckType, MVT::i32,
10068 : /* 18163*/ OPC_MoveParent,
10069 : /* 18164*/ OPC_MoveChild2,
10070 : /* 18165*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10071 : /* 18168*/ OPC_RecordChild0, // #3 = $val
10072 : /* 18169*/ OPC_MoveParent,
10073 : /* 18170*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10074 : /* 18172*/ OPC_MoveParent,
10075 : /* 18173*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10076 : /* 18175*/ OPC_EmitMergeInputChains1_0,
10077 : /* 18176*/ OPC_EmitInteger, MVT::i32, 0,
10078 : /* 18179*/ OPC_EmitConvertToTarget, 2,
10079 : /* 18181*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10080 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10081 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
10082 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10083 : /* 18191*/ 0, /*End of Scope*/
10084 : /* 18192*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->18234
10085 : /* 18195*/ OPC_RecordChild0, // #1 = $addr
10086 : /* 18196*/ OPC_RecordChild1, // #2 = $off
10087 : /* 18197*/ OPC_MoveChild1,
10088 : /* 18198*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10089 : /* 18201*/ OPC_MoveParent,
10090 : /* 18202*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
10091 : /* 18204*/ OPC_CheckType, MVT::i32,
10092 : /* 18206*/ OPC_MoveParent,
10093 : /* 18207*/ OPC_MoveChild2,
10094 : /* 18208*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10095 : /* 18211*/ OPC_RecordChild0, // #3 = $val
10096 : /* 18212*/ OPC_MoveParent,
10097 : /* 18213*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10098 : /* 18215*/ OPC_MoveParent,
10099 : /* 18216*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10100 : /* 18218*/ OPC_EmitMergeInputChains1_0,
10101 : /* 18219*/ OPC_EmitInteger, MVT::i32, 0,
10102 : /* 18222*/ OPC_EmitConvertToTarget, 2,
10103 : /* 18224*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10104 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10105 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
10106 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10107 : /* 18234*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18321
10108 : /* 18237*/ OPC_RecordChild0, // #1 = $off
10109 : /* 18238*/ OPC_MoveChild0,
10110 : /* 18239*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->18280
10111 : /* 18243*/ OPC_MoveParent,
10112 : /* 18244*/ OPC_MoveParent,
10113 : /* 18245*/ OPC_MoveChild2,
10114 : /* 18246*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10115 : /* 18249*/ OPC_RecordChild0, // #2 = $val
10116 : /* 18250*/ OPC_MoveParent,
10117 : /* 18251*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10118 : /* 18253*/ OPC_MoveParent,
10119 : /* 18254*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10120 : /* 18256*/ OPC_EmitMergeInputChains1_0,
10121 : /* 18257*/ OPC_EmitInteger, MVT::i32, 0,
10122 : /* 18260*/ OPC_EmitInteger, MVT::i32, 0,
10123 : /* 18263*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10124 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10125 : /* 18270*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10126 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10127 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
10128 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10129 : /* 18280*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->18320
10130 : /* 18283*/ OPC_MoveParent,
10131 : /* 18284*/ OPC_MoveParent,
10132 : /* 18285*/ OPC_MoveChild2,
10133 : /* 18286*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10134 : /* 18289*/ OPC_RecordChild0, // #2 = $val
10135 : /* 18290*/ OPC_MoveParent,
10136 : /* 18291*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10137 : /* 18293*/ OPC_MoveParent,
10138 : /* 18294*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10139 : /* 18296*/ OPC_EmitMergeInputChains1_0,
10140 : /* 18297*/ OPC_EmitInteger, MVT::i32, 0,
10141 : /* 18300*/ OPC_EmitInteger, MVT::i32, 0,
10142 : /* 18303*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10143 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10144 : /* 18310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10145 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10146 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
10147 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10148 : /* 18320*/ 0, // EndSwitchOpcode
10149 : /* 18321*/ 0, // EndSwitchOpcode
10150 : /* 18322*/ /*Scope*/ 77, /*->18400*/
10151 : /* 18323*/ OPC_RecordChild1, // #1 = $off
10152 : /* 18324*/ OPC_Scope, 42, /*->18368*/ // 2 children in Scope
10153 : /* 18326*/ OPC_MoveChild1,
10154 : /* 18327*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10155 : /* 18330*/ OPC_MoveParent,
10156 : /* 18331*/ OPC_MoveChild2,
10157 : /* 18332*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10158 : /* 18335*/ OPC_RecordChild0, // #2 = $val
10159 : /* 18336*/ OPC_MoveParent,
10160 : /* 18337*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10161 : /* 18339*/ OPC_MoveParent,
10162 : /* 18340*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10163 : /* 18342*/ OPC_EmitMergeInputChains1_0,
10164 : /* 18343*/ OPC_EmitInteger, MVT::i32, 0,
10165 : /* 18346*/ OPC_EmitConvertToTarget, 1,
10166 : /* 18348*/ OPC_EmitInteger, MVT::i32, 0,
10167 : /* 18351*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10168 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
10169 : /* 18358*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10170 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10171 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 13
10172 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10173 : /* 18368*/ /*Scope*/ 30, /*->18399*/
10174 : /* 18369*/ OPC_CheckChild1Type, MVT::i32,
10175 : /* 18371*/ OPC_MoveChild2,
10176 : /* 18372*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10177 : /* 18375*/ OPC_RecordChild0, // #2 = $val
10178 : /* 18376*/ OPC_MoveParent,
10179 : /* 18377*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
10180 : /* 18379*/ OPC_MoveParent,
10181 : /* 18380*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10182 : /* 18382*/ OPC_EmitMergeInputChains1_0,
10183 : /* 18383*/ OPC_EmitInteger, MVT::i32, 0,
10184 : /* 18386*/ OPC_EmitInteger, MVT::i32, 0,
10185 : /* 18389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
10186 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10187 : // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 10
10188 : // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10189 : /* 18399*/ 0, /*End of Scope*/
10190 : /* 18400*/ 0, /*End of Scope*/
10191 : /* 18401*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->18835
10192 : /* 18405*/ OPC_RecordMemRef,
10193 : /* 18406*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
10194 : /* 18407*/ OPC_Scope, 90|128,2/*346*/, /*->18756*/ // 2 children in Scope
10195 : /* 18410*/ OPC_MoveChild1,
10196 : /* 18411*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->18626
10197 : /* 18416*/ OPC_Scope, 42, /*->18460*/ // 5 children in Scope
10198 : /* 18418*/ OPC_RecordChild0, // #1 = $addr
10199 : /* 18419*/ OPC_MoveChild1,
10200 : /* 18420*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10201 : /* 18423*/ OPC_RecordChild0, // #2 = $off
10202 : /* 18424*/ OPC_MoveChild0,
10203 : /* 18425*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10204 : /* 18428*/ OPC_MoveParent,
10205 : /* 18429*/ OPC_MoveParent,
10206 : /* 18430*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10207 : /* 18432*/ OPC_CheckType, MVT::i32,
10208 : /* 18434*/ OPC_MoveParent,
10209 : /* 18435*/ OPC_MoveChild2,
10210 : /* 18436*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10211 : /* 18439*/ OPC_RecordChild0, // #3 = $val
10212 : /* 18440*/ OPC_MoveParent,
10213 : /* 18441*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10214 : /* 18443*/ OPC_MoveParent,
10215 : /* 18444*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10216 : /* 18446*/ OPC_EmitMergeInputChains1_0,
10217 : /* 18447*/ OPC_EmitInteger, MVT::i32, 0,
10218 : /* 18450*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10219 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10220 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 20
10221 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10222 : /* 18460*/ /*Scope*/ 42, /*->18503*/
10223 : /* 18461*/ OPC_MoveChild0,
10224 : /* 18462*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10225 : /* 18465*/ OPC_RecordChild0, // #1 = $off
10226 : /* 18466*/ OPC_MoveChild0,
10227 : /* 18467*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10228 : /* 18470*/ OPC_MoveParent,
10229 : /* 18471*/ OPC_MoveParent,
10230 : /* 18472*/ OPC_RecordChild1, // #2 = $addr
10231 : /* 18473*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10232 : /* 18475*/ OPC_CheckType, MVT::i32,
10233 : /* 18477*/ OPC_MoveParent,
10234 : /* 18478*/ OPC_MoveChild2,
10235 : /* 18479*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10236 : /* 18482*/ OPC_RecordChild0, // #3 = $val
10237 : /* 18483*/ OPC_MoveParent,
10238 : /* 18484*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10239 : /* 18486*/ OPC_MoveParent,
10240 : /* 18487*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10241 : /* 18489*/ OPC_EmitMergeInputChains1_0,
10242 : /* 18490*/ OPC_EmitInteger, MVT::i32, 0,
10243 : /* 18493*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10244 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10245 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 20
10246 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10247 : /* 18503*/ /*Scope*/ 40, /*->18544*/
10248 : /* 18504*/ OPC_RecordChild0, // #1 = $addr
10249 : /* 18505*/ OPC_MoveChild1,
10250 : /* 18506*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10251 : /* 18509*/ OPC_RecordChild0, // #2 = $off
10252 : /* 18510*/ OPC_MoveChild0,
10253 : /* 18511*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10254 : /* 18514*/ OPC_MoveParent,
10255 : /* 18515*/ OPC_MoveParent,
10256 : /* 18516*/ OPC_CheckType, MVT::i32,
10257 : /* 18518*/ OPC_MoveParent,
10258 : /* 18519*/ OPC_MoveChild2,
10259 : /* 18520*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10260 : /* 18523*/ OPC_RecordChild0, // #3 = $val
10261 : /* 18524*/ OPC_MoveParent,
10262 : /* 18525*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10263 : /* 18527*/ OPC_MoveParent,
10264 : /* 18528*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10265 : /* 18530*/ OPC_EmitMergeInputChains1_0,
10266 : /* 18531*/ OPC_EmitInteger, MVT::i32, 0,
10267 : /* 18534*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10268 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10269 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 19
10270 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10271 : /* 18544*/ /*Scope*/ 40, /*->18585*/
10272 : /* 18545*/ OPC_MoveChild0,
10273 : /* 18546*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10274 : /* 18549*/ OPC_RecordChild0, // #1 = $off
10275 : /* 18550*/ OPC_MoveChild0,
10276 : /* 18551*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10277 : /* 18554*/ OPC_MoveParent,
10278 : /* 18555*/ OPC_MoveParent,
10279 : /* 18556*/ OPC_RecordChild1, // #2 = $addr
10280 : /* 18557*/ OPC_CheckType, MVT::i32,
10281 : /* 18559*/ OPC_MoveParent,
10282 : /* 18560*/ OPC_MoveChild2,
10283 : /* 18561*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10284 : /* 18564*/ OPC_RecordChild0, // #3 = $val
10285 : /* 18565*/ OPC_MoveParent,
10286 : /* 18566*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10287 : /* 18568*/ OPC_MoveParent,
10288 : /* 18569*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10289 : /* 18571*/ OPC_EmitMergeInputChains1_0,
10290 : /* 18572*/ OPC_EmitInteger, MVT::i32, 0,
10291 : /* 18575*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10292 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10293 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 19
10294 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10295 : /* 18585*/ /*Scope*/ 39, /*->18625*/
10296 : /* 18586*/ OPC_RecordChild0, // #1 = $addr
10297 : /* 18587*/ OPC_RecordChild1, // #2 = $off
10298 : /* 18588*/ OPC_MoveChild1,
10299 : /* 18589*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10300 : /* 18592*/ OPC_MoveParent,
10301 : /* 18593*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
10302 : /* 18595*/ OPC_CheckType, MVT::i32,
10303 : /* 18597*/ OPC_MoveParent,
10304 : /* 18598*/ OPC_MoveChild2,
10305 : /* 18599*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10306 : /* 18602*/ OPC_RecordChild0, // #3 = $val
10307 : /* 18603*/ OPC_MoveParent,
10308 : /* 18604*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10309 : /* 18606*/ OPC_MoveParent,
10310 : /* 18607*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10311 : /* 18609*/ OPC_EmitMergeInputChains1_0,
10312 : /* 18610*/ OPC_EmitInteger, MVT::i32, 0,
10313 : /* 18613*/ OPC_EmitConvertToTarget, 2,
10314 : /* 18615*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10315 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10316 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
10317 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10318 : /* 18625*/ 0, /*End of Scope*/
10319 : /* 18626*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->18668
10320 : /* 18629*/ OPC_RecordChild0, // #1 = $addr
10321 : /* 18630*/ OPC_RecordChild1, // #2 = $off
10322 : /* 18631*/ OPC_MoveChild1,
10323 : /* 18632*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10324 : /* 18635*/ OPC_MoveParent,
10325 : /* 18636*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
10326 : /* 18638*/ OPC_CheckType, MVT::i32,
10327 : /* 18640*/ OPC_MoveParent,
10328 : /* 18641*/ OPC_MoveChild2,
10329 : /* 18642*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10330 : /* 18645*/ OPC_RecordChild0, // #3 = $val
10331 : /* 18646*/ OPC_MoveParent,
10332 : /* 18647*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10333 : /* 18649*/ OPC_MoveParent,
10334 : /* 18650*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10335 : /* 18652*/ OPC_EmitMergeInputChains1_0,
10336 : /* 18653*/ OPC_EmitInteger, MVT::i32, 0,
10337 : /* 18656*/ OPC_EmitConvertToTarget, 2,
10338 : /* 18658*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10339 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10340 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
10341 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10342 : /* 18668*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18755
10343 : /* 18671*/ OPC_RecordChild0, // #1 = $off
10344 : /* 18672*/ OPC_MoveChild0,
10345 : /* 18673*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->18714
10346 : /* 18677*/ OPC_MoveParent,
10347 : /* 18678*/ OPC_MoveParent,
10348 : /* 18679*/ OPC_MoveChild2,
10349 : /* 18680*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10350 : /* 18683*/ OPC_RecordChild0, // #2 = $val
10351 : /* 18684*/ OPC_MoveParent,
10352 : /* 18685*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10353 : /* 18687*/ OPC_MoveParent,
10354 : /* 18688*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10355 : /* 18690*/ OPC_EmitMergeInputChains1_0,
10356 : /* 18691*/ OPC_EmitInteger, MVT::i32, 0,
10357 : /* 18694*/ OPC_EmitInteger, MVT::i32, 0,
10358 : /* 18697*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10359 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10360 : /* 18704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10361 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10362 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
10363 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10364 : /* 18714*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->18754
10365 : /* 18717*/ OPC_MoveParent,
10366 : /* 18718*/ OPC_MoveParent,
10367 : /* 18719*/ OPC_MoveChild2,
10368 : /* 18720*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10369 : /* 18723*/ OPC_RecordChild0, // #2 = $val
10370 : /* 18724*/ OPC_MoveParent,
10371 : /* 18725*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10372 : /* 18727*/ OPC_MoveParent,
10373 : /* 18728*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10374 : /* 18730*/ OPC_EmitMergeInputChains1_0,
10375 : /* 18731*/ OPC_EmitInteger, MVT::i32, 0,
10376 : /* 18734*/ OPC_EmitInteger, MVT::i32, 0,
10377 : /* 18737*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10378 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10379 : /* 18744*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10380 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10381 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
10382 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10383 : /* 18754*/ 0, // EndSwitchOpcode
10384 : /* 18755*/ 0, // EndSwitchOpcode
10385 : /* 18756*/ /*Scope*/ 77, /*->18834*/
10386 : /* 18757*/ OPC_RecordChild1, // #1 = $off
10387 : /* 18758*/ OPC_Scope, 42, /*->18802*/ // 2 children in Scope
10388 : /* 18760*/ OPC_MoveChild1,
10389 : /* 18761*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10390 : /* 18764*/ OPC_MoveParent,
10391 : /* 18765*/ OPC_MoveChild2,
10392 : /* 18766*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10393 : /* 18769*/ OPC_RecordChild0, // #2 = $val
10394 : /* 18770*/ OPC_MoveParent,
10395 : /* 18771*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10396 : /* 18773*/ OPC_MoveParent,
10397 : /* 18774*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10398 : /* 18776*/ OPC_EmitMergeInputChains1_0,
10399 : /* 18777*/ OPC_EmitInteger, MVT::i32, 0,
10400 : /* 18780*/ OPC_EmitConvertToTarget, 1,
10401 : /* 18782*/ OPC_EmitInteger, MVT::i32, 0,
10402 : /* 18785*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10403 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
10404 : /* 18792*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10405 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10406 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 13
10407 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10408 : /* 18802*/ /*Scope*/ 30, /*->18833*/
10409 : /* 18803*/ OPC_CheckChild1Type, MVT::i32,
10410 : /* 18805*/ OPC_MoveChild2,
10411 : /* 18806*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10412 : /* 18809*/ OPC_RecordChild0, // #2 = $val
10413 : /* 18810*/ OPC_MoveParent,
10414 : /* 18811*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
10415 : /* 18813*/ OPC_MoveParent,
10416 : /* 18814*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10417 : /* 18816*/ OPC_EmitMergeInputChains1_0,
10418 : /* 18817*/ OPC_EmitInteger, MVT::i32, 0,
10419 : /* 18820*/ OPC_EmitInteger, MVT::i32, 0,
10420 : /* 18823*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
10421 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10422 : // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 10
10423 : // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10424 : /* 18833*/ 0, /*End of Scope*/
10425 : /* 18834*/ 0, /*End of Scope*/
10426 : /* 18835*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->19269
10427 : /* 18839*/ OPC_RecordMemRef,
10428 : /* 18840*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
10429 : /* 18841*/ OPC_Scope, 90|128,2/*346*/, /*->19190*/ // 2 children in Scope
10430 : /* 18844*/ OPC_MoveChild1,
10431 : /* 18845*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19060
10432 : /* 18850*/ OPC_Scope, 42, /*->18894*/ // 5 children in Scope
10433 : /* 18852*/ OPC_RecordChild0, // #1 = $addr
10434 : /* 18853*/ OPC_MoveChild1,
10435 : /* 18854*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10436 : /* 18857*/ OPC_RecordChild0, // #2 = $off
10437 : /* 18858*/ OPC_MoveChild0,
10438 : /* 18859*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10439 : /* 18862*/ OPC_MoveParent,
10440 : /* 18863*/ OPC_MoveParent,
10441 : /* 18864*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10442 : /* 18866*/ OPC_CheckType, MVT::i32,
10443 : /* 18868*/ OPC_MoveParent,
10444 : /* 18869*/ OPC_MoveChild2,
10445 : /* 18870*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10446 : /* 18873*/ OPC_RecordChild0, // #3 = $val
10447 : /* 18874*/ OPC_MoveParent,
10448 : /* 18875*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10449 : /* 18877*/ OPC_MoveParent,
10450 : /* 18878*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10451 : /* 18880*/ OPC_EmitMergeInputChains1_0,
10452 : /* 18881*/ OPC_EmitInteger, MVT::i32, 0,
10453 : /* 18884*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10454 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10455 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 20
10456 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10457 : /* 18894*/ /*Scope*/ 42, /*->18937*/
10458 : /* 18895*/ OPC_MoveChild0,
10459 : /* 18896*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10460 : /* 18899*/ OPC_RecordChild0, // #1 = $off
10461 : /* 18900*/ OPC_MoveChild0,
10462 : /* 18901*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10463 : /* 18904*/ OPC_MoveParent,
10464 : /* 18905*/ OPC_MoveParent,
10465 : /* 18906*/ OPC_RecordChild1, // #2 = $addr
10466 : /* 18907*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10467 : /* 18909*/ OPC_CheckType, MVT::i32,
10468 : /* 18911*/ OPC_MoveParent,
10469 : /* 18912*/ OPC_MoveChild2,
10470 : /* 18913*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10471 : /* 18916*/ OPC_RecordChild0, // #3 = $val
10472 : /* 18917*/ OPC_MoveParent,
10473 : /* 18918*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10474 : /* 18920*/ OPC_MoveParent,
10475 : /* 18921*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10476 : /* 18923*/ OPC_EmitMergeInputChains1_0,
10477 : /* 18924*/ OPC_EmitInteger, MVT::i32, 0,
10478 : /* 18927*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10479 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10480 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 20
10481 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10482 : /* 18937*/ /*Scope*/ 40, /*->18978*/
10483 : /* 18938*/ OPC_RecordChild0, // #1 = $addr
10484 : /* 18939*/ OPC_MoveChild1,
10485 : /* 18940*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10486 : /* 18943*/ OPC_RecordChild0, // #2 = $off
10487 : /* 18944*/ OPC_MoveChild0,
10488 : /* 18945*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10489 : /* 18948*/ OPC_MoveParent,
10490 : /* 18949*/ OPC_MoveParent,
10491 : /* 18950*/ OPC_CheckType, MVT::i32,
10492 : /* 18952*/ OPC_MoveParent,
10493 : /* 18953*/ OPC_MoveChild2,
10494 : /* 18954*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10495 : /* 18957*/ OPC_RecordChild0, // #3 = $val
10496 : /* 18958*/ OPC_MoveParent,
10497 : /* 18959*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10498 : /* 18961*/ OPC_MoveParent,
10499 : /* 18962*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10500 : /* 18964*/ OPC_EmitMergeInputChains1_0,
10501 : /* 18965*/ OPC_EmitInteger, MVT::i32, 0,
10502 : /* 18968*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10503 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10504 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 19
10505 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10506 : /* 18978*/ /*Scope*/ 40, /*->19019*/
10507 : /* 18979*/ OPC_MoveChild0,
10508 : /* 18980*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10509 : /* 18983*/ OPC_RecordChild0, // #1 = $off
10510 : /* 18984*/ OPC_MoveChild0,
10511 : /* 18985*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10512 : /* 18988*/ OPC_MoveParent,
10513 : /* 18989*/ OPC_MoveParent,
10514 : /* 18990*/ OPC_RecordChild1, // #2 = $addr
10515 : /* 18991*/ OPC_CheckType, MVT::i32,
10516 : /* 18993*/ OPC_MoveParent,
10517 : /* 18994*/ OPC_MoveChild2,
10518 : /* 18995*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10519 : /* 18998*/ OPC_RecordChild0, // #3 = $val
10520 : /* 18999*/ OPC_MoveParent,
10521 : /* 19000*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10522 : /* 19002*/ OPC_MoveParent,
10523 : /* 19003*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10524 : /* 19005*/ OPC_EmitMergeInputChains1_0,
10525 : /* 19006*/ OPC_EmitInteger, MVT::i32, 0,
10526 : /* 19009*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10527 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10528 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 19
10529 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10530 : /* 19019*/ /*Scope*/ 39, /*->19059*/
10531 : /* 19020*/ OPC_RecordChild0, // #1 = $addr
10532 : /* 19021*/ OPC_RecordChild1, // #2 = $off
10533 : /* 19022*/ OPC_MoveChild1,
10534 : /* 19023*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10535 : /* 19026*/ OPC_MoveParent,
10536 : /* 19027*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
10537 : /* 19029*/ OPC_CheckType, MVT::i32,
10538 : /* 19031*/ OPC_MoveParent,
10539 : /* 19032*/ OPC_MoveChild2,
10540 : /* 19033*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10541 : /* 19036*/ OPC_RecordChild0, // #3 = $val
10542 : /* 19037*/ OPC_MoveParent,
10543 : /* 19038*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10544 : /* 19040*/ OPC_MoveParent,
10545 : /* 19041*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10546 : /* 19043*/ OPC_EmitMergeInputChains1_0,
10547 : /* 19044*/ OPC_EmitInteger, MVT::i32, 0,
10548 : /* 19047*/ OPC_EmitConvertToTarget, 2,
10549 : /* 19049*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10550 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10551 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
10552 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10553 : /* 19059*/ 0, /*End of Scope*/
10554 : /* 19060*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19102
10555 : /* 19063*/ OPC_RecordChild0, // #1 = $addr
10556 : /* 19064*/ OPC_RecordChild1, // #2 = $off
10557 : /* 19065*/ OPC_MoveChild1,
10558 : /* 19066*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10559 : /* 19069*/ OPC_MoveParent,
10560 : /* 19070*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
10561 : /* 19072*/ OPC_CheckType, MVT::i32,
10562 : /* 19074*/ OPC_MoveParent,
10563 : /* 19075*/ OPC_MoveChild2,
10564 : /* 19076*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10565 : /* 19079*/ OPC_RecordChild0, // #3 = $val
10566 : /* 19080*/ OPC_MoveParent,
10567 : /* 19081*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10568 : /* 19083*/ OPC_MoveParent,
10569 : /* 19084*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10570 : /* 19086*/ OPC_EmitMergeInputChains1_0,
10571 : /* 19087*/ OPC_EmitInteger, MVT::i32, 0,
10572 : /* 19090*/ OPC_EmitConvertToTarget, 2,
10573 : /* 19092*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10574 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10575 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
10576 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10577 : /* 19102*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->19189
10578 : /* 19105*/ OPC_RecordChild0, // #1 = $off
10579 : /* 19106*/ OPC_MoveChild0,
10580 : /* 19107*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->19148
10581 : /* 19111*/ OPC_MoveParent,
10582 : /* 19112*/ OPC_MoveParent,
10583 : /* 19113*/ OPC_MoveChild2,
10584 : /* 19114*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10585 : /* 19117*/ OPC_RecordChild0, // #2 = $val
10586 : /* 19118*/ OPC_MoveParent,
10587 : /* 19119*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10588 : /* 19121*/ OPC_MoveParent,
10589 : /* 19122*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10590 : /* 19124*/ OPC_EmitMergeInputChains1_0,
10591 : /* 19125*/ OPC_EmitInteger, MVT::i32, 0,
10592 : /* 19128*/ OPC_EmitInteger, MVT::i32, 0,
10593 : /* 19131*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10594 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10595 : /* 19138*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10596 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10597 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
10598 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10599 : /* 19148*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->19188
10600 : /* 19151*/ OPC_MoveParent,
10601 : /* 19152*/ OPC_MoveParent,
10602 : /* 19153*/ OPC_MoveChild2,
10603 : /* 19154*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10604 : /* 19157*/ OPC_RecordChild0, // #2 = $val
10605 : /* 19158*/ OPC_MoveParent,
10606 : /* 19159*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10607 : /* 19161*/ OPC_MoveParent,
10608 : /* 19162*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10609 : /* 19164*/ OPC_EmitMergeInputChains1_0,
10610 : /* 19165*/ OPC_EmitInteger, MVT::i32, 0,
10611 : /* 19168*/ OPC_EmitInteger, MVT::i32, 0,
10612 : /* 19171*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10613 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10614 : /* 19178*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10615 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10616 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
10617 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10618 : /* 19188*/ 0, // EndSwitchOpcode
10619 : /* 19189*/ 0, // EndSwitchOpcode
10620 : /* 19190*/ /*Scope*/ 77, /*->19268*/
10621 : /* 19191*/ OPC_RecordChild1, // #1 = $off
10622 : /* 19192*/ OPC_Scope, 42, /*->19236*/ // 2 children in Scope
10623 : /* 19194*/ OPC_MoveChild1,
10624 : /* 19195*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10625 : /* 19198*/ OPC_MoveParent,
10626 : /* 19199*/ OPC_MoveChild2,
10627 : /* 19200*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10628 : /* 19203*/ OPC_RecordChild0, // #2 = $val
10629 : /* 19204*/ OPC_MoveParent,
10630 : /* 19205*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10631 : /* 19207*/ OPC_MoveParent,
10632 : /* 19208*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10633 : /* 19210*/ OPC_EmitMergeInputChains1_0,
10634 : /* 19211*/ OPC_EmitInteger, MVT::i32, 0,
10635 : /* 19214*/ OPC_EmitConvertToTarget, 1,
10636 : /* 19216*/ OPC_EmitInteger, MVT::i32, 0,
10637 : /* 19219*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10638 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
10639 : /* 19226*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10640 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10641 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 13
10642 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10643 : /* 19236*/ /*Scope*/ 30, /*->19267*/
10644 : /* 19237*/ OPC_CheckChild1Type, MVT::i32,
10645 : /* 19239*/ OPC_MoveChild2,
10646 : /* 19240*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10647 : /* 19243*/ OPC_RecordChild0, // #2 = $val
10648 : /* 19244*/ OPC_MoveParent,
10649 : /* 19245*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
10650 : /* 19247*/ OPC_MoveParent,
10651 : /* 19248*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10652 : /* 19250*/ OPC_EmitMergeInputChains1_0,
10653 : /* 19251*/ OPC_EmitInteger, MVT::i32, 0,
10654 : /* 19254*/ OPC_EmitInteger, MVT::i32, 0,
10655 : /* 19257*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
10656 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10657 : // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 10
10658 : // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10659 : /* 19267*/ 0, /*End of Scope*/
10660 : /* 19268*/ 0, /*End of Scope*/
10661 : /* 19269*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->19703
10662 : /* 19273*/ OPC_RecordMemRef,
10663 : /* 19274*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
10664 : /* 19275*/ OPC_Scope, 90|128,2/*346*/, /*->19624*/ // 2 children in Scope
10665 : /* 19278*/ OPC_MoveChild1,
10666 : /* 19279*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19494
10667 : /* 19284*/ OPC_Scope, 42, /*->19328*/ // 5 children in Scope
10668 : /* 19286*/ OPC_RecordChild0, // #1 = $addr
10669 : /* 19287*/ OPC_MoveChild1,
10670 : /* 19288*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10671 : /* 19291*/ OPC_RecordChild0, // #2 = $off
10672 : /* 19292*/ OPC_MoveChild0,
10673 : /* 19293*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10674 : /* 19296*/ OPC_MoveParent,
10675 : /* 19297*/ OPC_MoveParent,
10676 : /* 19298*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10677 : /* 19300*/ OPC_CheckType, MVT::i32,
10678 : /* 19302*/ OPC_MoveParent,
10679 : /* 19303*/ OPC_MoveChild2,
10680 : /* 19304*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10681 : /* 19307*/ OPC_RecordChild0, // #3 = $val
10682 : /* 19308*/ OPC_MoveParent,
10683 : /* 19309*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10684 : /* 19311*/ OPC_MoveParent,
10685 : /* 19312*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10686 : /* 19314*/ OPC_EmitMergeInputChains1_0,
10687 : /* 19315*/ OPC_EmitInteger, MVT::i32, 0,
10688 : /* 19318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10689 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10690 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 20
10691 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10692 : /* 19328*/ /*Scope*/ 42, /*->19371*/
10693 : /* 19329*/ OPC_MoveChild0,
10694 : /* 19330*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10695 : /* 19333*/ OPC_RecordChild0, // #1 = $off
10696 : /* 19334*/ OPC_MoveChild0,
10697 : /* 19335*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10698 : /* 19338*/ OPC_MoveParent,
10699 : /* 19339*/ OPC_MoveParent,
10700 : /* 19340*/ OPC_RecordChild1, // #2 = $addr
10701 : /* 19341*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10702 : /* 19343*/ OPC_CheckType, MVT::i32,
10703 : /* 19345*/ OPC_MoveParent,
10704 : /* 19346*/ OPC_MoveChild2,
10705 : /* 19347*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10706 : /* 19350*/ OPC_RecordChild0, // #3 = $val
10707 : /* 19351*/ OPC_MoveParent,
10708 : /* 19352*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10709 : /* 19354*/ OPC_MoveParent,
10710 : /* 19355*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10711 : /* 19357*/ OPC_EmitMergeInputChains1_0,
10712 : /* 19358*/ OPC_EmitInteger, MVT::i32, 0,
10713 : /* 19361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10714 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10715 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 20
10716 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10717 : /* 19371*/ /*Scope*/ 40, /*->19412*/
10718 : /* 19372*/ OPC_RecordChild0, // #1 = $addr
10719 : /* 19373*/ OPC_MoveChild1,
10720 : /* 19374*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10721 : /* 19377*/ OPC_RecordChild0, // #2 = $off
10722 : /* 19378*/ OPC_MoveChild0,
10723 : /* 19379*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10724 : /* 19382*/ OPC_MoveParent,
10725 : /* 19383*/ OPC_MoveParent,
10726 : /* 19384*/ OPC_CheckType, MVT::i32,
10727 : /* 19386*/ OPC_MoveParent,
10728 : /* 19387*/ OPC_MoveChild2,
10729 : /* 19388*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10730 : /* 19391*/ OPC_RecordChild0, // #3 = $val
10731 : /* 19392*/ OPC_MoveParent,
10732 : /* 19393*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10733 : /* 19395*/ OPC_MoveParent,
10734 : /* 19396*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10735 : /* 19398*/ OPC_EmitMergeInputChains1_0,
10736 : /* 19399*/ OPC_EmitInteger, MVT::i32, 0,
10737 : /* 19402*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10738 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10739 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 19
10740 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10741 : /* 19412*/ /*Scope*/ 40, /*->19453*/
10742 : /* 19413*/ OPC_MoveChild0,
10743 : /* 19414*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10744 : /* 19417*/ OPC_RecordChild0, // #1 = $off
10745 : /* 19418*/ OPC_MoveChild0,
10746 : /* 19419*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10747 : /* 19422*/ OPC_MoveParent,
10748 : /* 19423*/ OPC_MoveParent,
10749 : /* 19424*/ OPC_RecordChild1, // #2 = $addr
10750 : /* 19425*/ OPC_CheckType, MVT::i32,
10751 : /* 19427*/ OPC_MoveParent,
10752 : /* 19428*/ OPC_MoveChild2,
10753 : /* 19429*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10754 : /* 19432*/ OPC_RecordChild0, // #3 = $val
10755 : /* 19433*/ OPC_MoveParent,
10756 : /* 19434*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10757 : /* 19436*/ OPC_MoveParent,
10758 : /* 19437*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10759 : /* 19439*/ OPC_EmitMergeInputChains1_0,
10760 : /* 19440*/ OPC_EmitInteger, MVT::i32, 0,
10761 : /* 19443*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10762 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10763 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 19
10764 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10765 : /* 19453*/ /*Scope*/ 39, /*->19493*/
10766 : /* 19454*/ OPC_RecordChild0, // #1 = $addr
10767 : /* 19455*/ OPC_RecordChild1, // #2 = $off
10768 : /* 19456*/ OPC_MoveChild1,
10769 : /* 19457*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10770 : /* 19460*/ OPC_MoveParent,
10771 : /* 19461*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
10772 : /* 19463*/ OPC_CheckType, MVT::i32,
10773 : /* 19465*/ OPC_MoveParent,
10774 : /* 19466*/ OPC_MoveChild2,
10775 : /* 19467*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10776 : /* 19470*/ OPC_RecordChild0, // #3 = $val
10777 : /* 19471*/ OPC_MoveParent,
10778 : /* 19472*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10779 : /* 19474*/ OPC_MoveParent,
10780 : /* 19475*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10781 : /* 19477*/ OPC_EmitMergeInputChains1_0,
10782 : /* 19478*/ OPC_EmitInteger, MVT::i32, 0,
10783 : /* 19481*/ OPC_EmitConvertToTarget, 2,
10784 : /* 19483*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10785 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10786 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
10787 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10788 : /* 19493*/ 0, /*End of Scope*/
10789 : /* 19494*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19536
10790 : /* 19497*/ OPC_RecordChild0, // #1 = $addr
10791 : /* 19498*/ OPC_RecordChild1, // #2 = $off
10792 : /* 19499*/ OPC_MoveChild1,
10793 : /* 19500*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10794 : /* 19503*/ OPC_MoveParent,
10795 : /* 19504*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
10796 : /* 19506*/ OPC_CheckType, MVT::i32,
10797 : /* 19508*/ OPC_MoveParent,
10798 : /* 19509*/ OPC_MoveChild2,
10799 : /* 19510*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10800 : /* 19513*/ OPC_RecordChild0, // #3 = $val
10801 : /* 19514*/ OPC_MoveParent,
10802 : /* 19515*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10803 : /* 19517*/ OPC_MoveParent,
10804 : /* 19518*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10805 : /* 19520*/ OPC_EmitMergeInputChains1_0,
10806 : /* 19521*/ OPC_EmitInteger, MVT::i32, 0,
10807 : /* 19524*/ OPC_EmitConvertToTarget, 2,
10808 : /* 19526*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10809 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
10810 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
10811 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10812 : /* 19536*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->19623
10813 : /* 19539*/ OPC_RecordChild0, // #1 = $off
10814 : /* 19540*/ OPC_MoveChild0,
10815 : /* 19541*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->19582
10816 : /* 19545*/ OPC_MoveParent,
10817 : /* 19546*/ OPC_MoveParent,
10818 : /* 19547*/ OPC_MoveChild2,
10819 : /* 19548*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10820 : /* 19551*/ OPC_RecordChild0, // #2 = $val
10821 : /* 19552*/ OPC_MoveParent,
10822 : /* 19553*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10823 : /* 19555*/ OPC_MoveParent,
10824 : /* 19556*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10825 : /* 19558*/ OPC_EmitMergeInputChains1_0,
10826 : /* 19559*/ OPC_EmitInteger, MVT::i32, 0,
10827 : /* 19562*/ OPC_EmitInteger, MVT::i32, 0,
10828 : /* 19565*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10829 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10830 : /* 19572*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10831 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10832 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
10833 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10834 : /* 19582*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->19622
10835 : /* 19585*/ OPC_MoveParent,
10836 : /* 19586*/ OPC_MoveParent,
10837 : /* 19587*/ OPC_MoveChild2,
10838 : /* 19588*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10839 : /* 19591*/ OPC_RecordChild0, // #2 = $val
10840 : /* 19592*/ OPC_MoveParent,
10841 : /* 19593*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10842 : /* 19595*/ OPC_MoveParent,
10843 : /* 19596*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10844 : /* 19598*/ OPC_EmitMergeInputChains1_0,
10845 : /* 19599*/ OPC_EmitInteger, MVT::i32, 0,
10846 : /* 19602*/ OPC_EmitInteger, MVT::i32, 0,
10847 : /* 19605*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10848 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
10849 : /* 19612*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10850 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
10851 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
10852 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10853 : /* 19622*/ 0, // EndSwitchOpcode
10854 : /* 19623*/ 0, // EndSwitchOpcode
10855 : /* 19624*/ /*Scope*/ 77, /*->19702*/
10856 : /* 19625*/ OPC_RecordChild1, // #1 = $off
10857 : /* 19626*/ OPC_Scope, 42, /*->19670*/ // 2 children in Scope
10858 : /* 19628*/ OPC_MoveChild1,
10859 : /* 19629*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10860 : /* 19632*/ OPC_MoveParent,
10861 : /* 19633*/ OPC_MoveChild2,
10862 : /* 19634*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10863 : /* 19637*/ OPC_RecordChild0, // #2 = $val
10864 : /* 19638*/ OPC_MoveParent,
10865 : /* 19639*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10866 : /* 19641*/ OPC_MoveParent,
10867 : /* 19642*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10868 : /* 19644*/ OPC_EmitMergeInputChains1_0,
10869 : /* 19645*/ OPC_EmitInteger, MVT::i32, 0,
10870 : /* 19648*/ OPC_EmitConvertToTarget, 1,
10871 : /* 19650*/ OPC_EmitInteger, MVT::i32, 0,
10872 : /* 19653*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
10873 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
10874 : /* 19660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10875 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
10876 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 13
10877 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
10878 : /* 19670*/ /*Scope*/ 30, /*->19701*/
10879 : /* 19671*/ OPC_CheckChild1Type, MVT::i32,
10880 : /* 19673*/ OPC_MoveChild2,
10881 : /* 19674*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10882 : /* 19677*/ OPC_RecordChild0, // #2 = $val
10883 : /* 19678*/ OPC_MoveParent,
10884 : /* 19679*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
10885 : /* 19681*/ OPC_MoveParent,
10886 : /* 19682*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10887 : /* 19684*/ OPC_EmitMergeInputChains1_0,
10888 : /* 19685*/ OPC_EmitInteger, MVT::i32, 0,
10889 : /* 19688*/ OPC_EmitInteger, MVT::i32, 0,
10890 : /* 19691*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10891 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
10892 : // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 10
10893 : // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10894 : /* 19701*/ 0, /*End of Scope*/
10895 : /* 19702*/ 0, /*End of Scope*/
10896 : /* 19703*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->20137
10897 : /* 19707*/ OPC_RecordMemRef,
10898 : /* 19708*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
10899 : /* 19709*/ OPC_Scope, 90|128,2/*346*/, /*->20058*/ // 2 children in Scope
10900 : /* 19712*/ OPC_MoveChild1,
10901 : /* 19713*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19928
10902 : /* 19718*/ OPC_Scope, 42, /*->19762*/ // 5 children in Scope
10903 : /* 19720*/ OPC_RecordChild0, // #1 = $addr
10904 : /* 19721*/ OPC_MoveChild1,
10905 : /* 19722*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10906 : /* 19725*/ OPC_RecordChild0, // #2 = $off
10907 : /* 19726*/ OPC_MoveChild0,
10908 : /* 19727*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10909 : /* 19730*/ OPC_MoveParent,
10910 : /* 19731*/ OPC_MoveParent,
10911 : /* 19732*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10912 : /* 19734*/ OPC_CheckType, MVT::i32,
10913 : /* 19736*/ OPC_MoveParent,
10914 : /* 19737*/ OPC_MoveChild2,
10915 : /* 19738*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10916 : /* 19741*/ OPC_RecordChild0, // #3 = $val
10917 : /* 19742*/ OPC_MoveParent,
10918 : /* 19743*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
10919 : /* 19745*/ OPC_MoveParent,
10920 : /* 19746*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10921 : /* 19748*/ OPC_EmitMergeInputChains1_0,
10922 : /* 19749*/ OPC_EmitInteger, MVT::i32, 0,
10923 : /* 19752*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10924 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10925 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 20
10926 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10927 : /* 19762*/ /*Scope*/ 42, /*->19805*/
10928 : /* 19763*/ OPC_MoveChild0,
10929 : /* 19764*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10930 : /* 19767*/ OPC_RecordChild0, // #1 = $off
10931 : /* 19768*/ OPC_MoveChild0,
10932 : /* 19769*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
10933 : /* 19772*/ OPC_MoveParent,
10934 : /* 19773*/ OPC_MoveParent,
10935 : /* 19774*/ OPC_RecordChild1, // #2 = $addr
10936 : /* 19775*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
10937 : /* 19777*/ OPC_CheckType, MVT::i32,
10938 : /* 19779*/ OPC_MoveParent,
10939 : /* 19780*/ OPC_MoveChild2,
10940 : /* 19781*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10941 : /* 19784*/ OPC_RecordChild0, // #3 = $val
10942 : /* 19785*/ OPC_MoveParent,
10943 : /* 19786*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
10944 : /* 19788*/ OPC_MoveParent,
10945 : /* 19789*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10946 : /* 19791*/ OPC_EmitMergeInputChains1_0,
10947 : /* 19792*/ OPC_EmitInteger, MVT::i32, 0,
10948 : /* 19795*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10949 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10950 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 20
10951 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10952 : /* 19805*/ /*Scope*/ 40, /*->19846*/
10953 : /* 19806*/ OPC_RecordChild0, // #1 = $addr
10954 : /* 19807*/ OPC_MoveChild1,
10955 : /* 19808*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10956 : /* 19811*/ OPC_RecordChild0, // #2 = $off
10957 : /* 19812*/ OPC_MoveChild0,
10958 : /* 19813*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10959 : /* 19816*/ OPC_MoveParent,
10960 : /* 19817*/ OPC_MoveParent,
10961 : /* 19818*/ OPC_CheckType, MVT::i32,
10962 : /* 19820*/ OPC_MoveParent,
10963 : /* 19821*/ OPC_MoveChild2,
10964 : /* 19822*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10965 : /* 19825*/ OPC_RecordChild0, // #3 = $val
10966 : /* 19826*/ OPC_MoveParent,
10967 : /* 19827*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
10968 : /* 19829*/ OPC_MoveParent,
10969 : /* 19830*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10970 : /* 19832*/ OPC_EmitMergeInputChains1_0,
10971 : /* 19833*/ OPC_EmitInteger, MVT::i32, 0,
10972 : /* 19836*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10973 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
10974 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 19
10975 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
10976 : /* 19846*/ /*Scope*/ 40, /*->19887*/
10977 : /* 19847*/ OPC_MoveChild0,
10978 : /* 19848*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
10979 : /* 19851*/ OPC_RecordChild0, // #1 = $off
10980 : /* 19852*/ OPC_MoveChild0,
10981 : /* 19853*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
10982 : /* 19856*/ OPC_MoveParent,
10983 : /* 19857*/ OPC_MoveParent,
10984 : /* 19858*/ OPC_RecordChild1, // #2 = $addr
10985 : /* 19859*/ OPC_CheckType, MVT::i32,
10986 : /* 19861*/ OPC_MoveParent,
10987 : /* 19862*/ OPC_MoveChild2,
10988 : /* 19863*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
10989 : /* 19866*/ OPC_RecordChild0, // #3 = $val
10990 : /* 19867*/ OPC_MoveParent,
10991 : /* 19868*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
10992 : /* 19870*/ OPC_MoveParent,
10993 : /* 19871*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
10994 : /* 19873*/ OPC_EmitMergeInputChains1_0,
10995 : /* 19874*/ OPC_EmitInteger, MVT::i32, 0,
10996 : /* 19877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
10997 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
10998 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 19
10999 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11000 : /* 19887*/ /*Scope*/ 39, /*->19927*/
11001 : /* 19888*/ OPC_RecordChild0, // #1 = $addr
11002 : /* 19889*/ OPC_RecordChild1, // #2 = $off
11003 : /* 19890*/ OPC_MoveChild1,
11004 : /* 19891*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11005 : /* 19894*/ OPC_MoveParent,
11006 : /* 19895*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
11007 : /* 19897*/ OPC_CheckType, MVT::i32,
11008 : /* 19899*/ OPC_MoveParent,
11009 : /* 19900*/ OPC_MoveChild2,
11010 : /* 19901*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11011 : /* 19904*/ OPC_RecordChild0, // #3 = $val
11012 : /* 19905*/ OPC_MoveParent,
11013 : /* 19906*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11014 : /* 19908*/ OPC_MoveParent,
11015 : /* 19909*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11016 : /* 19911*/ OPC_EmitMergeInputChains1_0,
11017 : /* 19912*/ OPC_EmitInteger, MVT::i32, 0,
11018 : /* 19915*/ OPC_EmitConvertToTarget, 2,
11019 : /* 19917*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11020 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11021 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
11022 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11023 : /* 19927*/ 0, /*End of Scope*/
11024 : /* 19928*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19970
11025 : /* 19931*/ OPC_RecordChild0, // #1 = $addr
11026 : /* 19932*/ OPC_RecordChild1, // #2 = $off
11027 : /* 19933*/ OPC_MoveChild1,
11028 : /* 19934*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11029 : /* 19937*/ OPC_MoveParent,
11030 : /* 19938*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
11031 : /* 19940*/ OPC_CheckType, MVT::i32,
11032 : /* 19942*/ OPC_MoveParent,
11033 : /* 19943*/ OPC_MoveChild2,
11034 : /* 19944*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11035 : /* 19947*/ OPC_RecordChild0, // #3 = $val
11036 : /* 19948*/ OPC_MoveParent,
11037 : /* 19949*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11038 : /* 19951*/ OPC_MoveParent,
11039 : /* 19952*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11040 : /* 19954*/ OPC_EmitMergeInputChains1_0,
11041 : /* 19955*/ OPC_EmitInteger, MVT::i32, 0,
11042 : /* 19958*/ OPC_EmitConvertToTarget, 2,
11043 : /* 19960*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11044 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11045 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
11046 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11047 : /* 19970*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20057
11048 : /* 19973*/ OPC_RecordChild0, // #1 = $off
11049 : /* 19974*/ OPC_MoveChild0,
11050 : /* 19975*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->20016
11051 : /* 19979*/ OPC_MoveParent,
11052 : /* 19980*/ OPC_MoveParent,
11053 : /* 19981*/ OPC_MoveChild2,
11054 : /* 19982*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11055 : /* 19985*/ OPC_RecordChild0, // #2 = $val
11056 : /* 19986*/ OPC_MoveParent,
11057 : /* 19987*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11058 : /* 19989*/ OPC_MoveParent,
11059 : /* 19990*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11060 : /* 19992*/ OPC_EmitMergeInputChains1_0,
11061 : /* 19993*/ OPC_EmitInteger, MVT::i32, 0,
11062 : /* 19996*/ OPC_EmitInteger, MVT::i32, 0,
11063 : /* 19999*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11064 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
11065 : /* 20006*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11066 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11067 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
11068 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11069 : /* 20016*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->20056
11070 : /* 20019*/ OPC_MoveParent,
11071 : /* 20020*/ OPC_MoveParent,
11072 : /* 20021*/ OPC_MoveChild2,
11073 : /* 20022*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11074 : /* 20025*/ OPC_RecordChild0, // #2 = $val
11075 : /* 20026*/ OPC_MoveParent,
11076 : /* 20027*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11077 : /* 20029*/ OPC_MoveParent,
11078 : /* 20030*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11079 : /* 20032*/ OPC_EmitMergeInputChains1_0,
11080 : /* 20033*/ OPC_EmitInteger, MVT::i32, 0,
11081 : /* 20036*/ OPC_EmitInteger, MVT::i32, 0,
11082 : /* 20039*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11083 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
11084 : /* 20046*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11085 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11086 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
11087 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11088 : /* 20056*/ 0, // EndSwitchOpcode
11089 : /* 20057*/ 0, // EndSwitchOpcode
11090 : /* 20058*/ /*Scope*/ 77, /*->20136*/
11091 : /* 20059*/ OPC_RecordChild1, // #1 = $off
11092 : /* 20060*/ OPC_Scope, 42, /*->20104*/ // 2 children in Scope
11093 : /* 20062*/ OPC_MoveChild1,
11094 : /* 20063*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11095 : /* 20066*/ OPC_MoveParent,
11096 : /* 20067*/ OPC_MoveChild2,
11097 : /* 20068*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11098 : /* 20071*/ OPC_RecordChild0, // #2 = $val
11099 : /* 20072*/ OPC_MoveParent,
11100 : /* 20073*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11101 : /* 20075*/ OPC_MoveParent,
11102 : /* 20076*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11103 : /* 20078*/ OPC_EmitMergeInputChains1_0,
11104 : /* 20079*/ OPC_EmitInteger, MVT::i32, 0,
11105 : /* 20082*/ OPC_EmitConvertToTarget, 1,
11106 : /* 20084*/ OPC_EmitInteger, MVT::i32, 0,
11107 : /* 20087*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11108 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11109 : /* 20094*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11110 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11111 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 13
11112 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11113 : /* 20104*/ /*Scope*/ 30, /*->20135*/
11114 : /* 20105*/ OPC_CheckChild1Type, MVT::i32,
11115 : /* 20107*/ OPC_MoveChild2,
11116 : /* 20108*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11117 : /* 20111*/ OPC_RecordChild0, // #2 = $val
11118 : /* 20112*/ OPC_MoveParent,
11119 : /* 20113*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
11120 : /* 20115*/ OPC_MoveParent,
11121 : /* 20116*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11122 : /* 20118*/ OPC_EmitMergeInputChains1_0,
11123 : /* 20119*/ OPC_EmitInteger, MVT::i32, 0,
11124 : /* 20122*/ OPC_EmitInteger, MVT::i32, 0,
11125 : /* 20125*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
11126 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11127 : // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 10
11128 : // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11129 : /* 20135*/ 0, /*End of Scope*/
11130 : /* 20136*/ 0, /*End of Scope*/
11131 : /* 20137*/ /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->20571
11132 : /* 20141*/ OPC_RecordMemRef,
11133 : /* 20142*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
11134 : /* 20143*/ OPC_Scope, 90|128,2/*346*/, /*->20492*/ // 2 children in Scope
11135 : /* 20146*/ OPC_MoveChild1,
11136 : /* 20147*/ OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->20362
11137 : /* 20152*/ OPC_Scope, 42, /*->20196*/ // 5 children in Scope
11138 : /* 20154*/ OPC_RecordChild0, // #1 = $addr
11139 : /* 20155*/ OPC_MoveChild1,
11140 : /* 20156*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11141 : /* 20159*/ OPC_RecordChild0, // #2 = $off
11142 : /* 20160*/ OPC_MoveChild0,
11143 : /* 20161*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11144 : /* 20164*/ OPC_MoveParent,
11145 : /* 20165*/ OPC_MoveParent,
11146 : /* 20166*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11147 : /* 20168*/ OPC_CheckType, MVT::i32,
11148 : /* 20170*/ OPC_MoveParent,
11149 : /* 20171*/ OPC_MoveChild2,
11150 : /* 20172*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11151 : /* 20175*/ OPC_RecordChild0, // #3 = $val
11152 : /* 20176*/ OPC_MoveParent,
11153 : /* 20177*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11154 : /* 20179*/ OPC_MoveParent,
11155 : /* 20180*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11156 : /* 20182*/ OPC_EmitMergeInputChains1_0,
11157 : /* 20183*/ OPC_EmitInteger, MVT::i32, 0,
11158 : /* 20186*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11159 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
11160 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 20
11161 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11162 : /* 20196*/ /*Scope*/ 42, /*->20239*/
11163 : /* 20197*/ OPC_MoveChild0,
11164 : /* 20198*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11165 : /* 20201*/ OPC_RecordChild0, // #1 = $off
11166 : /* 20202*/ OPC_MoveChild0,
11167 : /* 20203*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11168 : /* 20206*/ OPC_MoveParent,
11169 : /* 20207*/ OPC_MoveParent,
11170 : /* 20208*/ OPC_RecordChild1, // #2 = $addr
11171 : /* 20209*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11172 : /* 20211*/ OPC_CheckType, MVT::i32,
11173 : /* 20213*/ OPC_MoveParent,
11174 : /* 20214*/ OPC_MoveChild2,
11175 : /* 20215*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11176 : /* 20218*/ OPC_RecordChild0, // #3 = $val
11177 : /* 20219*/ OPC_MoveParent,
11178 : /* 20220*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11179 : /* 20222*/ OPC_MoveParent,
11180 : /* 20223*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11181 : /* 20225*/ OPC_EmitMergeInputChains1_0,
11182 : /* 20226*/ OPC_EmitInteger, MVT::i32, 0,
11183 : /* 20229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11184 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
11185 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 20
11186 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11187 : /* 20239*/ /*Scope*/ 40, /*->20280*/
11188 : /* 20240*/ OPC_RecordChild0, // #1 = $addr
11189 : /* 20241*/ OPC_MoveChild1,
11190 : /* 20242*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11191 : /* 20245*/ OPC_RecordChild0, // #2 = $off
11192 : /* 20246*/ OPC_MoveChild0,
11193 : /* 20247*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11194 : /* 20250*/ OPC_MoveParent,
11195 : /* 20251*/ OPC_MoveParent,
11196 : /* 20252*/ OPC_CheckType, MVT::i32,
11197 : /* 20254*/ OPC_MoveParent,
11198 : /* 20255*/ OPC_MoveChild2,
11199 : /* 20256*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11200 : /* 20259*/ OPC_RecordChild0, // #3 = $val
11201 : /* 20260*/ OPC_MoveParent,
11202 : /* 20261*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11203 : /* 20263*/ OPC_MoveParent,
11204 : /* 20264*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11205 : /* 20266*/ OPC_EmitMergeInputChains1_0,
11206 : /* 20267*/ OPC_EmitInteger, MVT::i32, 0,
11207 : /* 20270*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11208 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
11209 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 19
11210 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11211 : /* 20280*/ /*Scope*/ 40, /*->20321*/
11212 : /* 20281*/ OPC_MoveChild0,
11213 : /* 20282*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11214 : /* 20285*/ OPC_RecordChild0, // #1 = $off
11215 : /* 20286*/ OPC_MoveChild0,
11216 : /* 20287*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11217 : /* 20290*/ OPC_MoveParent,
11218 : /* 20291*/ OPC_MoveParent,
11219 : /* 20292*/ OPC_RecordChild1, // #2 = $addr
11220 : /* 20293*/ OPC_CheckType, MVT::i32,
11221 : /* 20295*/ OPC_MoveParent,
11222 : /* 20296*/ OPC_MoveChild2,
11223 : /* 20297*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11224 : /* 20300*/ OPC_RecordChild0, // #3 = $val
11225 : /* 20301*/ OPC_MoveParent,
11226 : /* 20302*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11227 : /* 20304*/ OPC_MoveParent,
11228 : /* 20305*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11229 : /* 20307*/ OPC_EmitMergeInputChains1_0,
11230 : /* 20308*/ OPC_EmitInteger, MVT::i32, 0,
11231 : /* 20311*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11232 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
11233 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 19
11234 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11235 : /* 20321*/ /*Scope*/ 39, /*->20361*/
11236 : /* 20322*/ OPC_RecordChild0, // #1 = $addr
11237 : /* 20323*/ OPC_RecordChild1, // #2 = $off
11238 : /* 20324*/ OPC_MoveChild1,
11239 : /* 20325*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11240 : /* 20328*/ OPC_MoveParent,
11241 : /* 20329*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
11242 : /* 20331*/ OPC_CheckType, MVT::i32,
11243 : /* 20333*/ OPC_MoveParent,
11244 : /* 20334*/ OPC_MoveChild2,
11245 : /* 20335*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11246 : /* 20338*/ OPC_RecordChild0, // #3 = $val
11247 : /* 20339*/ OPC_MoveParent,
11248 : /* 20340*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11249 : /* 20342*/ OPC_MoveParent,
11250 : /* 20343*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11251 : /* 20345*/ OPC_EmitMergeInputChains1_0,
11252 : /* 20346*/ OPC_EmitInteger, MVT::i32, 0,
11253 : /* 20349*/ OPC_EmitConvertToTarget, 2,
11254 : /* 20351*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11255 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11256 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
11257 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11258 : /* 20361*/ 0, /*End of Scope*/
11259 : /* 20362*/ /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->20404
11260 : /* 20365*/ OPC_RecordChild0, // #1 = $addr
11261 : /* 20366*/ OPC_RecordChild1, // #2 = $off
11262 : /* 20367*/ OPC_MoveChild1,
11263 : /* 20368*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11264 : /* 20371*/ OPC_MoveParent,
11265 : /* 20372*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
11266 : /* 20374*/ OPC_CheckType, MVT::i32,
11267 : /* 20376*/ OPC_MoveParent,
11268 : /* 20377*/ OPC_MoveChild2,
11269 : /* 20378*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11270 : /* 20381*/ OPC_RecordChild0, // #3 = $val
11271 : /* 20382*/ OPC_MoveParent,
11272 : /* 20383*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11273 : /* 20385*/ OPC_MoveParent,
11274 : /* 20386*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11275 : /* 20388*/ OPC_EmitMergeInputChains1_0,
11276 : /* 20389*/ OPC_EmitInteger, MVT::i32, 0,
11277 : /* 20392*/ OPC_EmitConvertToTarget, 2,
11278 : /* 20394*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11279 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
11280 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
11281 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11282 : /* 20404*/ /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20491
11283 : /* 20407*/ OPC_RecordChild0, // #1 = $off
11284 : /* 20408*/ OPC_MoveChild0,
11285 : /* 20409*/ OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->20450
11286 : /* 20413*/ OPC_MoveParent,
11287 : /* 20414*/ OPC_MoveParent,
11288 : /* 20415*/ OPC_MoveChild2,
11289 : /* 20416*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11290 : /* 20419*/ OPC_RecordChild0, // #2 = $val
11291 : /* 20420*/ OPC_MoveParent,
11292 : /* 20421*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11293 : /* 20423*/ OPC_MoveParent,
11294 : /* 20424*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11295 : /* 20426*/ OPC_EmitMergeInputChains1_0,
11296 : /* 20427*/ OPC_EmitInteger, MVT::i32, 0,
11297 : /* 20430*/ OPC_EmitInteger, MVT::i32, 0,
11298 : /* 20433*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11299 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
11300 : /* 20440*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11301 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11302 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
11303 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11304 : /* 20450*/ /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->20490
11305 : /* 20453*/ OPC_MoveParent,
11306 : /* 20454*/ OPC_MoveParent,
11307 : /* 20455*/ OPC_MoveChild2,
11308 : /* 20456*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11309 : /* 20459*/ OPC_RecordChild0, // #2 = $val
11310 : /* 20460*/ OPC_MoveParent,
11311 : /* 20461*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11312 : /* 20463*/ OPC_MoveParent,
11313 : /* 20464*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11314 : /* 20466*/ OPC_EmitMergeInputChains1_0,
11315 : /* 20467*/ OPC_EmitInteger, MVT::i32, 0,
11316 : /* 20470*/ OPC_EmitInteger, MVT::i32, 0,
11317 : /* 20473*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11318 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
11319 : /* 20480*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11320 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
11321 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
11322 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11323 : /* 20490*/ 0, // EndSwitchOpcode
11324 : /* 20491*/ 0, // EndSwitchOpcode
11325 : /* 20492*/ /*Scope*/ 77, /*->20570*/
11326 : /* 20493*/ OPC_RecordChild1, // #1 = $off
11327 : /* 20494*/ OPC_Scope, 42, /*->20538*/ // 2 children in Scope
11328 : /* 20496*/ OPC_MoveChild1,
11329 : /* 20497*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11330 : /* 20500*/ OPC_MoveParent,
11331 : /* 20501*/ OPC_MoveChild2,
11332 : /* 20502*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11333 : /* 20505*/ OPC_RecordChild0, // #2 = $val
11334 : /* 20506*/ OPC_MoveParent,
11335 : /* 20507*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11336 : /* 20509*/ OPC_MoveParent,
11337 : /* 20510*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11338 : /* 20512*/ OPC_EmitMergeInputChains1_0,
11339 : /* 20513*/ OPC_EmitInteger, MVT::i32, 0,
11340 : /* 20516*/ OPC_EmitConvertToTarget, 1,
11341 : /* 20518*/ OPC_EmitInteger, MVT::i32, 0,
11342 : /* 20521*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11343 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11344 : /* 20528*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11345 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
11346 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 13
11347 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
11348 : /* 20538*/ /*Scope*/ 30, /*->20569*/
11349 : /* 20539*/ OPC_CheckChild1Type, MVT::i32,
11350 : /* 20541*/ OPC_MoveChild2,
11351 : /* 20542*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11352 : /* 20545*/ OPC_RecordChild0, // #2 = $val
11353 : /* 20546*/ OPC_MoveParent,
11354 : /* 20547*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
11355 : /* 20549*/ OPC_MoveParent,
11356 : /* 20550*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11357 : /* 20552*/ OPC_EmitMergeInputChains1_0,
11358 : /* 20553*/ OPC_EmitInteger, MVT::i32, 0,
11359 : /* 20556*/ OPC_EmitInteger, MVT::i32, 0,
11360 : /* 20559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11361 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
11362 : // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 10
11363 : // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
11364 : /* 20569*/ 0, /*End of Scope*/
11365 : /* 20570*/ 0, /*End of Scope*/
11366 : /* 20571*/ /*SwitchOpcode*/ 84|128,2/*340*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->20915
11367 : /* 20575*/ OPC_RecordMemRef,
11368 : /* 20576*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
11369 : /* 20577*/ OPC_Scope, 18|128,2/*274*/, /*->20854*/ // 2 children in Scope
11370 : /* 20580*/ OPC_MoveChild1,
11371 : /* 20581*/ OPC_SwitchOpcode /*3 cases */, 37|128,1/*165*/, TARGET_VAL(ISD::ADD),// ->20751
11372 : /* 20586*/ OPC_Scope, 33, /*->20621*/ // 5 children in Scope
11373 : /* 20588*/ OPC_RecordChild0, // #1 = $addr
11374 : /* 20589*/ OPC_MoveChild1,
11375 : /* 20590*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11376 : /* 20593*/ OPC_RecordChild0, // #2 = $off
11377 : /* 20594*/ OPC_MoveChild0,
11378 : /* 20595*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11379 : /* 20598*/ OPC_MoveParent,
11380 : /* 20599*/ OPC_MoveParent,
11381 : /* 20600*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11382 : /* 20602*/ OPC_CheckType, MVT::i32,
11383 : /* 20604*/ OPC_MoveParent,
11384 : /* 20605*/ OPC_MoveParent,
11385 : /* 20606*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11386 : /* 20608*/ OPC_EmitMergeInputChains1_0,
11387 : /* 20609*/ OPC_EmitInteger, MVT::i32, 0,
11388 : /* 20612*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11389 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
11390 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)) - Complexity = 16
11391 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11392 : /* 20621*/ /*Scope*/ 33, /*->20655*/
11393 : /* 20622*/ OPC_MoveChild0,
11394 : /* 20623*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11395 : /* 20626*/ OPC_RecordChild0, // #1 = $off
11396 : /* 20627*/ OPC_MoveChild0,
11397 : /* 20628*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11398 : /* 20631*/ OPC_MoveParent,
11399 : /* 20632*/ OPC_MoveParent,
11400 : /* 20633*/ OPC_RecordChild1, // #2 = $addr
11401 : /* 20634*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11402 : /* 20636*/ OPC_CheckType, MVT::i32,
11403 : /* 20638*/ OPC_MoveParent,
11404 : /* 20639*/ OPC_MoveParent,
11405 : /* 20640*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11406 : /* 20642*/ OPC_EmitMergeInputChains1_0,
11407 : /* 20643*/ OPC_EmitInteger, MVT::i32, 0,
11408 : /* 20646*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11409 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
11410 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)) - Complexity = 16
11411 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11412 : /* 20655*/ /*Scope*/ 31, /*->20687*/
11413 : /* 20656*/ OPC_RecordChild0, // #1 = $addr
11414 : /* 20657*/ OPC_MoveChild1,
11415 : /* 20658*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11416 : /* 20661*/ OPC_RecordChild0, // #2 = $off
11417 : /* 20662*/ OPC_MoveChild0,
11418 : /* 20663*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11419 : /* 20666*/ OPC_MoveParent,
11420 : /* 20667*/ OPC_MoveParent,
11421 : /* 20668*/ OPC_CheckType, MVT::i32,
11422 : /* 20670*/ OPC_MoveParent,
11423 : /* 20671*/ OPC_MoveParent,
11424 : /* 20672*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11425 : /* 20674*/ OPC_EmitMergeInputChains1_0,
11426 : /* 20675*/ OPC_EmitInteger, MVT::i32, 0,
11427 : /* 20678*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11428 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
11429 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))) - Complexity = 15
11430 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11431 : /* 20687*/ /*Scope*/ 31, /*->20719*/
11432 : /* 20688*/ OPC_MoveChild0,
11433 : /* 20689*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11434 : /* 20692*/ OPC_RecordChild0, // #1 = $off
11435 : /* 20693*/ OPC_MoveChild0,
11436 : /* 20694*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11437 : /* 20697*/ OPC_MoveParent,
11438 : /* 20698*/ OPC_MoveParent,
11439 : /* 20699*/ OPC_RecordChild1, // #2 = $addr
11440 : /* 20700*/ OPC_CheckType, MVT::i32,
11441 : /* 20702*/ OPC_MoveParent,
11442 : /* 20703*/ OPC_MoveParent,
11443 : /* 20704*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11444 : /* 20706*/ OPC_EmitMergeInputChains1_0,
11445 : /* 20707*/ OPC_EmitInteger, MVT::i32, 0,
11446 : /* 20710*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11447 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
11448 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))) - Complexity = 15
11449 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11450 : /* 20719*/ /*Scope*/ 30, /*->20750*/
11451 : /* 20720*/ OPC_RecordChild0, // #1 = $addr
11452 : /* 20721*/ OPC_RecordChild1, // #2 = $off
11453 : /* 20722*/ OPC_MoveChild1,
11454 : /* 20723*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11455 : /* 20726*/ OPC_MoveParent,
11456 : /* 20727*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
11457 : /* 20729*/ OPC_CheckType, MVT::i32,
11458 : /* 20731*/ OPC_MoveParent,
11459 : /* 20732*/ OPC_MoveParent,
11460 : /* 20733*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11461 : /* 20735*/ OPC_EmitMergeInputChains1_0,
11462 : /* 20736*/ OPC_EmitInteger, MVT::i32, 0,
11463 : /* 20739*/ OPC_EmitConvertToTarget, 2,
11464 : /* 20741*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11465 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
11466 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)) - Complexity = 13
11467 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11468 : /* 20750*/ 0, /*End of Scope*/
11469 : /* 20751*/ /*SwitchOpcode*/ 30, TARGET_VAL(ISD::OR),// ->20784
11470 : /* 20754*/ OPC_RecordChild0, // #1 = $addr
11471 : /* 20755*/ OPC_RecordChild1, // #2 = $off
11472 : /* 20756*/ OPC_MoveChild1,
11473 : /* 20757*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11474 : /* 20760*/ OPC_MoveParent,
11475 : /* 20761*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
11476 : /* 20763*/ OPC_CheckType, MVT::i32,
11477 : /* 20765*/ OPC_MoveParent,
11478 : /* 20766*/ OPC_MoveParent,
11479 : /* 20767*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11480 : /* 20769*/ OPC_EmitMergeInputChains1_0,
11481 : /* 20770*/ OPC_EmitInteger, MVT::i32, 0,
11482 : /* 20773*/ OPC_EmitConvertToTarget, 2,
11483 : /* 20775*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11484 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
11485 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)) - Complexity = 13
11486 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
11487 : /* 20784*/ /*SwitchOpcode*/ 66, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20853
11488 : /* 20787*/ OPC_RecordChild0, // #1 = $off
11489 : /* 20788*/ OPC_MoveChild0,
11490 : /* 20789*/ OPC_SwitchOpcode /*2 cases */, 28, TARGET_VAL(ISD::TargetGlobalAddress),// ->20821
11491 : /* 20793*/ OPC_MoveParent,
11492 : /* 20794*/ OPC_MoveParent,
11493 : /* 20795*/ OPC_MoveParent,
11494 : /* 20796*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11495 : /* 20798*/ OPC_EmitMergeInputChains1_0,
11496 : /* 20799*/ OPC_EmitInteger, MVT::i32, 0,
11497 : /* 20802*/ OPC_EmitInteger, MVT::i32, 0,
11498 : /* 20805*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11499 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
11500 : /* 20812*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11501 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
11502 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))) - Complexity = 12
11503 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11504 : /* 20821*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::TargetExternalSymbol),// ->20852
11505 : /* 20824*/ OPC_MoveParent,
11506 : /* 20825*/ OPC_MoveParent,
11507 : /* 20826*/ OPC_MoveParent,
11508 : /* 20827*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11509 : /* 20829*/ OPC_EmitMergeInputChains1_0,
11510 : /* 20830*/ OPC_EmitInteger, MVT::i32, 0,
11511 : /* 20833*/ OPC_EmitInteger, MVT::i32, 0,
11512 : /* 20836*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11513 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
11514 : /* 20843*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11515 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
11516 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))) - Complexity = 12
11517 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11518 : /* 20852*/ 0, // EndSwitchOpcode
11519 : /* 20853*/ 0, // EndSwitchOpcode
11520 : /* 20854*/ /*Scope*/ 59, /*->20914*/
11521 : /* 20855*/ OPC_RecordChild1, // #1 = $off
11522 : /* 20856*/ OPC_Scope, 33, /*->20891*/ // 2 children in Scope
11523 : /* 20858*/ OPC_MoveChild1,
11524 : /* 20859*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11525 : /* 20862*/ OPC_MoveParent,
11526 : /* 20863*/ OPC_MoveParent,
11527 : /* 20864*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11528 : /* 20866*/ OPC_EmitMergeInputChains1_0,
11529 : /* 20867*/ OPC_EmitInteger, MVT::i32, 0,
11530 : /* 20870*/ OPC_EmitConvertToTarget, 1,
11531 : /* 20872*/ OPC_EmitInteger, MVT::i32, 0,
11532 : /* 20875*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11533 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
11534 : /* 20882*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11535 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
11536 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)) - Complexity = 9
11537 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
11538 : /* 20891*/ /*Scope*/ 21, /*->20913*/
11539 : /* 20892*/ OPC_CheckChild1Type, MVT::i32,
11540 : /* 20894*/ OPC_MoveParent,
11541 : /* 20895*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11542 : /* 20897*/ OPC_EmitMergeInputChains1_0,
11543 : /* 20898*/ OPC_EmitInteger, MVT::i32, 0,
11544 : /* 20901*/ OPC_EmitInteger, MVT::i32, 0,
11545 : /* 20904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
11546 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
11547 : // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)) - Complexity = 6
11548 : // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
11549 : /* 20913*/ 0, /*End of Scope*/
11550 : /* 20914*/ 0, /*End of Scope*/
11551 : /* 20915*/ 0, // EndSwitchOpcode
11552 : /* 20916*/ /*Scope*/ 8, /*->20925*/
11553 : /* 20917*/ OPC_RecordChild0, // #0 = $src
11554 : /* 20918*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
11555 : MVT::i64, 1/*#Ops*/, 0,
11556 : // Src: (zext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
11557 : // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
11558 : /* 20925*/ 0, /*End of Scope*/
11559 : /* 20926*/ /*SwitchOpcode*/ 48|128,44/*5680*/, TARGET_VAL(ISD::ANY_EXTEND),// ->26610
11560 : /* 20930*/ OPC_Scope, 35|128,44/*5667*/, /*->26600*/ // 2 children in Scope
11561 : /* 20933*/ OPC_MoveChild0,
11562 : /* 20934*/ OPC_SwitchOpcode /*8 cases */, 38|128,6/*806*/, TARGET_VAL(ISD::AssertZext),// ->21745
11563 : /* 20939*/ OPC_MoveChild0,
11564 : /* 20940*/ OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
11565 : /* 20943*/ OPC_RecordMemRef,
11566 : /* 20944*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
11567 : /* 20945*/ OPC_CheckFoldableChainNode,
11568 : /* 20946*/ OPC_Scope, 123|128,4/*635*/, /*->21584*/ // 2 children in Scope
11569 : /* 20949*/ OPC_MoveChild1,
11570 : /* 20950*/ OPC_SwitchOpcode /*3 cases */, 121|128,2/*377*/, TARGET_VAL(ISD::ADD),// ->21332
11571 : /* 20955*/ OPC_Scope, 75, /*->21032*/ // 5 children in Scope
11572 : /* 20957*/ OPC_RecordChild0, // #1 = $addr
11573 : /* 20958*/ OPC_MoveChild1,
11574 : /* 20959*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11575 : /* 20962*/ OPC_RecordChild0, // #2 = $off
11576 : /* 20963*/ OPC_MoveChild0,
11577 : /* 20964*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11578 : /* 20967*/ OPC_MoveParent,
11579 : /* 20968*/ OPC_MoveParent,
11580 : /* 20969*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11581 : /* 20971*/ OPC_CheckType, MVT::i32,
11582 : /* 20973*/ OPC_MoveParent,
11583 : /* 20974*/ OPC_MoveChild2,
11584 : /* 20975*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11585 : /* 20978*/ OPC_RecordChild0, // #3 = $exp
11586 : /* 20979*/ OPC_MoveParent,
11587 : /* 20980*/ OPC_MoveChild3,
11588 : /* 20981*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11589 : /* 20984*/ OPC_RecordChild0, // #4 = $new
11590 : /* 20985*/ OPC_MoveParent,
11591 : /* 20986*/ OPC_Scope, 21, /*->21009*/ // 2 children in Scope
11592 : /* 20988*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11593 : /* 20990*/ OPC_MoveParent,
11594 : /* 20991*/ OPC_MoveParent,
11595 : /* 20992*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11596 : /* 20994*/ OPC_EmitMergeInputChains1_0,
11597 : /* 20995*/ OPC_EmitInteger, MVT::i32, 0,
11598 : /* 20998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11599 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
11600 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
11601 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11602 : /* 21009*/ /*Scope*/ 21, /*->21031*/
11603 : /* 21010*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11604 : /* 21012*/ OPC_MoveParent,
11605 : /* 21013*/ OPC_MoveParent,
11606 : /* 21014*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11607 : /* 21016*/ OPC_EmitMergeInputChains1_0,
11608 : /* 21017*/ OPC_EmitInteger, MVT::i32, 0,
11609 : /* 21020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11610 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
11611 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
11612 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11613 : /* 21031*/ 0, /*End of Scope*/
11614 : /* 21032*/ /*Scope*/ 75, /*->21108*/
11615 : /* 21033*/ OPC_MoveChild0,
11616 : /* 21034*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11617 : /* 21037*/ OPC_RecordChild0, // #1 = $off
11618 : /* 21038*/ OPC_MoveChild0,
11619 : /* 21039*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
11620 : /* 21042*/ OPC_MoveParent,
11621 : /* 21043*/ OPC_MoveParent,
11622 : /* 21044*/ OPC_RecordChild1, // #2 = $addr
11623 : /* 21045*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
11624 : /* 21047*/ OPC_CheckType, MVT::i32,
11625 : /* 21049*/ OPC_MoveParent,
11626 : /* 21050*/ OPC_MoveChild2,
11627 : /* 21051*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11628 : /* 21054*/ OPC_RecordChild0, // #3 = $exp
11629 : /* 21055*/ OPC_MoveParent,
11630 : /* 21056*/ OPC_MoveChild3,
11631 : /* 21057*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11632 : /* 21060*/ OPC_RecordChild0, // #4 = $new
11633 : /* 21061*/ OPC_MoveParent,
11634 : /* 21062*/ OPC_Scope, 21, /*->21085*/ // 2 children in Scope
11635 : /* 21064*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11636 : /* 21066*/ OPC_MoveParent,
11637 : /* 21067*/ OPC_MoveParent,
11638 : /* 21068*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11639 : /* 21070*/ OPC_EmitMergeInputChains1_0,
11640 : /* 21071*/ OPC_EmitInteger, MVT::i32, 0,
11641 : /* 21074*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11642 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
11643 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
11644 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11645 : /* 21085*/ /*Scope*/ 21, /*->21107*/
11646 : /* 21086*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11647 : /* 21088*/ OPC_MoveParent,
11648 : /* 21089*/ OPC_MoveParent,
11649 : /* 21090*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11650 : /* 21092*/ OPC_EmitMergeInputChains1_0,
11651 : /* 21093*/ OPC_EmitInteger, MVT::i32, 0,
11652 : /* 21096*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11653 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
11654 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
11655 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11656 : /* 21107*/ 0, /*End of Scope*/
11657 : /* 21108*/ /*Scope*/ 73, /*->21182*/
11658 : /* 21109*/ OPC_RecordChild0, // #1 = $addr
11659 : /* 21110*/ OPC_MoveChild1,
11660 : /* 21111*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11661 : /* 21114*/ OPC_RecordChild0, // #2 = $off
11662 : /* 21115*/ OPC_MoveChild0,
11663 : /* 21116*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11664 : /* 21119*/ OPC_MoveParent,
11665 : /* 21120*/ OPC_MoveParent,
11666 : /* 21121*/ OPC_CheckType, MVT::i32,
11667 : /* 21123*/ OPC_MoveParent,
11668 : /* 21124*/ OPC_MoveChild2,
11669 : /* 21125*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11670 : /* 21128*/ OPC_RecordChild0, // #3 = $exp
11671 : /* 21129*/ OPC_MoveParent,
11672 : /* 21130*/ OPC_MoveChild3,
11673 : /* 21131*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11674 : /* 21134*/ OPC_RecordChild0, // #4 = $new
11675 : /* 21135*/ OPC_MoveParent,
11676 : /* 21136*/ OPC_Scope, 21, /*->21159*/ // 2 children in Scope
11677 : /* 21138*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11678 : /* 21140*/ OPC_MoveParent,
11679 : /* 21141*/ OPC_MoveParent,
11680 : /* 21142*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11681 : /* 21144*/ OPC_EmitMergeInputChains1_0,
11682 : /* 21145*/ OPC_EmitInteger, MVT::i32, 0,
11683 : /* 21148*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11684 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
11685 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
11686 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11687 : /* 21159*/ /*Scope*/ 21, /*->21181*/
11688 : /* 21160*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11689 : /* 21162*/ OPC_MoveParent,
11690 : /* 21163*/ OPC_MoveParent,
11691 : /* 21164*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11692 : /* 21166*/ OPC_EmitMergeInputChains1_0,
11693 : /* 21167*/ OPC_EmitInteger, MVT::i32, 0,
11694 : /* 21170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11695 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
11696 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
11697 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11698 : /* 21181*/ 0, /*End of Scope*/
11699 : /* 21182*/ /*Scope*/ 73, /*->21256*/
11700 : /* 21183*/ OPC_MoveChild0,
11701 : /* 21184*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
11702 : /* 21187*/ OPC_RecordChild0, // #1 = $off
11703 : /* 21188*/ OPC_MoveChild0,
11704 : /* 21189*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
11705 : /* 21192*/ OPC_MoveParent,
11706 : /* 21193*/ OPC_MoveParent,
11707 : /* 21194*/ OPC_RecordChild1, // #2 = $addr
11708 : /* 21195*/ OPC_CheckType, MVT::i32,
11709 : /* 21197*/ OPC_MoveParent,
11710 : /* 21198*/ OPC_MoveChild2,
11711 : /* 21199*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11712 : /* 21202*/ OPC_RecordChild0, // #3 = $exp
11713 : /* 21203*/ OPC_MoveParent,
11714 : /* 21204*/ OPC_MoveChild3,
11715 : /* 21205*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11716 : /* 21208*/ OPC_RecordChild0, // #4 = $new
11717 : /* 21209*/ OPC_MoveParent,
11718 : /* 21210*/ OPC_Scope, 21, /*->21233*/ // 2 children in Scope
11719 : /* 21212*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11720 : /* 21214*/ OPC_MoveParent,
11721 : /* 21215*/ OPC_MoveParent,
11722 : /* 21216*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11723 : /* 21218*/ OPC_EmitMergeInputChains1_0,
11724 : /* 21219*/ OPC_EmitInteger, MVT::i32, 0,
11725 : /* 21222*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11726 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
11727 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
11728 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11729 : /* 21233*/ /*Scope*/ 21, /*->21255*/
11730 : /* 21234*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11731 : /* 21236*/ OPC_MoveParent,
11732 : /* 21237*/ OPC_MoveParent,
11733 : /* 21238*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11734 : /* 21240*/ OPC_EmitMergeInputChains1_0,
11735 : /* 21241*/ OPC_EmitInteger, MVT::i32, 0,
11736 : /* 21244*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11737 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
11738 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
11739 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11740 : /* 21255*/ 0, /*End of Scope*/
11741 : /* 21256*/ /*Scope*/ 74, /*->21331*/
11742 : /* 21257*/ OPC_RecordChild0, // #1 = $addr
11743 : /* 21258*/ OPC_RecordChild1, // #2 = $off
11744 : /* 21259*/ OPC_MoveChild1,
11745 : /* 21260*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11746 : /* 21263*/ OPC_MoveParent,
11747 : /* 21264*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
11748 : /* 21266*/ OPC_CheckType, MVT::i32,
11749 : /* 21268*/ OPC_MoveParent,
11750 : /* 21269*/ OPC_MoveChild2,
11751 : /* 21270*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11752 : /* 21273*/ OPC_RecordChild0, // #3 = $exp
11753 : /* 21274*/ OPC_MoveParent,
11754 : /* 21275*/ OPC_MoveChild3,
11755 : /* 21276*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11756 : /* 21279*/ OPC_RecordChild0, // #4 = $new
11757 : /* 21280*/ OPC_MoveParent,
11758 : /* 21281*/ OPC_Scope, 23, /*->21306*/ // 2 children in Scope
11759 : /* 21283*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11760 : /* 21285*/ OPC_MoveParent,
11761 : /* 21286*/ OPC_MoveParent,
11762 : /* 21287*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11763 : /* 21289*/ OPC_EmitMergeInputChains1_0,
11764 : /* 21290*/ OPC_EmitInteger, MVT::i32, 0,
11765 : /* 21293*/ OPC_EmitConvertToTarget, 2,
11766 : /* 21295*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11767 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
11768 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
11769 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11770 : /* 21306*/ /*Scope*/ 23, /*->21330*/
11771 : /* 21307*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11772 : /* 21309*/ OPC_MoveParent,
11773 : /* 21310*/ OPC_MoveParent,
11774 : /* 21311*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11775 : /* 21313*/ OPC_EmitMergeInputChains1_0,
11776 : /* 21314*/ OPC_EmitInteger, MVT::i32, 0,
11777 : /* 21317*/ OPC_EmitConvertToTarget, 2,
11778 : /* 21319*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11779 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
11780 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
11781 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11782 : /* 21330*/ 0, /*End of Scope*/
11783 : /* 21331*/ 0, /*End of Scope*/
11784 : /* 21332*/ /*SwitchOpcode*/ 74, TARGET_VAL(ISD::OR),// ->21409
11785 : /* 21335*/ OPC_RecordChild0, // #1 = $addr
11786 : /* 21336*/ OPC_RecordChild1, // #2 = $off
11787 : /* 21337*/ OPC_MoveChild1,
11788 : /* 21338*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11789 : /* 21341*/ OPC_MoveParent,
11790 : /* 21342*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
11791 : /* 21344*/ OPC_CheckType, MVT::i32,
11792 : /* 21346*/ OPC_MoveParent,
11793 : /* 21347*/ OPC_MoveChild2,
11794 : /* 21348*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11795 : /* 21351*/ OPC_RecordChild0, // #3 = $exp
11796 : /* 21352*/ OPC_MoveParent,
11797 : /* 21353*/ OPC_MoveChild3,
11798 : /* 21354*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11799 : /* 21357*/ OPC_RecordChild0, // #4 = $new
11800 : /* 21358*/ OPC_MoveParent,
11801 : /* 21359*/ OPC_Scope, 23, /*->21384*/ // 2 children in Scope
11802 : /* 21361*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11803 : /* 21363*/ OPC_MoveParent,
11804 : /* 21364*/ OPC_MoveParent,
11805 : /* 21365*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11806 : /* 21367*/ OPC_EmitMergeInputChains1_0,
11807 : /* 21368*/ OPC_EmitInteger, MVT::i32, 0,
11808 : /* 21371*/ OPC_EmitConvertToTarget, 2,
11809 : /* 21373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11810 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
11811 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
11812 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11813 : /* 21384*/ /*Scope*/ 23, /*->21408*/
11814 : /* 21385*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11815 : /* 21387*/ OPC_MoveParent,
11816 : /* 21388*/ OPC_MoveParent,
11817 : /* 21389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11818 : /* 21391*/ OPC_EmitMergeInputChains1_0,
11819 : /* 21392*/ OPC_EmitInteger, MVT::i32, 0,
11820 : /* 21395*/ OPC_EmitConvertToTarget, 2,
11821 : /* 21397*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11822 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
11823 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
11824 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11825 : /* 21408*/ 0, /*End of Scope*/
11826 : /* 21409*/ /*SwitchOpcode*/ 42|128,1/*170*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->21583
11827 : /* 21413*/ OPC_RecordChild0, // #1 = $off
11828 : /* 21414*/ OPC_MoveChild0,
11829 : /* 21415*/ OPC_SwitchOpcode /*2 cases */, 80, TARGET_VAL(ISD::TargetGlobalAddress),// ->21499
11830 : /* 21419*/ OPC_MoveParent,
11831 : /* 21420*/ OPC_MoveParent,
11832 : /* 21421*/ OPC_MoveChild2,
11833 : /* 21422*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11834 : /* 21425*/ OPC_RecordChild0, // #2 = $exp
11835 : /* 21426*/ OPC_MoveParent,
11836 : /* 21427*/ OPC_MoveChild3,
11837 : /* 21428*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11838 : /* 21431*/ OPC_RecordChild0, // #3 = $new
11839 : /* 21432*/ OPC_MoveParent,
11840 : /* 21433*/ OPC_Scope, 31, /*->21466*/ // 2 children in Scope
11841 : /* 21435*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11842 : /* 21437*/ OPC_MoveParent,
11843 : /* 21438*/ OPC_MoveParent,
11844 : /* 21439*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11845 : /* 21441*/ OPC_EmitMergeInputChains1_0,
11846 : /* 21442*/ OPC_EmitInteger, MVT::i32, 0,
11847 : /* 21445*/ OPC_EmitInteger, MVT::i32, 0,
11848 : /* 21448*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11849 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11850 : /* 21455*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11851 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
11852 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
11853 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11854 : /* 21466*/ /*Scope*/ 31, /*->21498*/
11855 : /* 21467*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11856 : /* 21469*/ OPC_MoveParent,
11857 : /* 21470*/ OPC_MoveParent,
11858 : /* 21471*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11859 : /* 21473*/ OPC_EmitMergeInputChains1_0,
11860 : /* 21474*/ OPC_EmitInteger, MVT::i32, 0,
11861 : /* 21477*/ OPC_EmitInteger, MVT::i32, 0,
11862 : /* 21480*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11863 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11864 : /* 21487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11865 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
11866 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
11867 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11868 : /* 21498*/ 0, /*End of Scope*/
11869 : /* 21499*/ /*SwitchOpcode*/ 80, TARGET_VAL(ISD::TargetExternalSymbol),// ->21582
11870 : /* 21502*/ OPC_MoveParent,
11871 : /* 21503*/ OPC_MoveParent,
11872 : /* 21504*/ OPC_MoveChild2,
11873 : /* 21505*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11874 : /* 21508*/ OPC_RecordChild0, // #2 = $exp
11875 : /* 21509*/ OPC_MoveParent,
11876 : /* 21510*/ OPC_MoveChild3,
11877 : /* 21511*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11878 : /* 21514*/ OPC_RecordChild0, // #3 = $new
11879 : /* 21515*/ OPC_MoveParent,
11880 : /* 21516*/ OPC_Scope, 31, /*->21549*/ // 2 children in Scope
11881 : /* 21518*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11882 : /* 21520*/ OPC_MoveParent,
11883 : /* 21521*/ OPC_MoveParent,
11884 : /* 21522*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11885 : /* 21524*/ OPC_EmitMergeInputChains1_0,
11886 : /* 21525*/ OPC_EmitInteger, MVT::i32, 0,
11887 : /* 21528*/ OPC_EmitInteger, MVT::i32, 0,
11888 : /* 21531*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11889 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11890 : /* 21538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11891 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
11892 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
11893 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11894 : /* 21549*/ /*Scope*/ 31, /*->21581*/
11895 : /* 21550*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11896 : /* 21552*/ OPC_MoveParent,
11897 : /* 21553*/ OPC_MoveParent,
11898 : /* 21554*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11899 : /* 21556*/ OPC_EmitMergeInputChains1_0,
11900 : /* 21557*/ OPC_EmitInteger, MVT::i32, 0,
11901 : /* 21560*/ OPC_EmitInteger, MVT::i32, 0,
11902 : /* 21563*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11903 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
11904 : /* 21570*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11905 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
11906 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
11907 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11908 : /* 21581*/ 0, /*End of Scope*/
11909 : /* 21582*/ 0, // EndSwitchOpcode
11910 : /* 21583*/ 0, // EndSwitchOpcode
11911 : /* 21584*/ /*Scope*/ 30|128,1/*158*/, /*->21744*/
11912 : /* 21586*/ OPC_RecordChild1, // #1 = $off
11913 : /* 21587*/ OPC_Scope, 87, /*->21676*/ // 2 children in Scope
11914 : /* 21589*/ OPC_MoveChild1,
11915 : /* 21590*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11916 : /* 21593*/ OPC_MoveParent,
11917 : /* 21594*/ OPC_MoveChild2,
11918 : /* 21595*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11919 : /* 21598*/ OPC_RecordChild0, // #2 = $exp
11920 : /* 21599*/ OPC_MoveParent,
11921 : /* 21600*/ OPC_MoveChild3,
11922 : /* 21601*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11923 : /* 21604*/ OPC_RecordChild0, // #3 = $new
11924 : /* 21605*/ OPC_MoveParent,
11925 : /* 21606*/ OPC_Scope, 33, /*->21641*/ // 2 children in Scope
11926 : /* 21608*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11927 : /* 21610*/ OPC_MoveParent,
11928 : /* 21611*/ OPC_MoveParent,
11929 : /* 21612*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11930 : /* 21614*/ OPC_EmitMergeInputChains1_0,
11931 : /* 21615*/ OPC_EmitInteger, MVT::i32, 0,
11932 : /* 21618*/ OPC_EmitConvertToTarget, 1,
11933 : /* 21620*/ OPC_EmitInteger, MVT::i32, 0,
11934 : /* 21623*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11935 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
11936 : /* 21630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11937 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
11938 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
11939 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11940 : /* 21641*/ /*Scope*/ 33, /*->21675*/
11941 : /* 21642*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11942 : /* 21644*/ OPC_MoveParent,
11943 : /* 21645*/ OPC_MoveParent,
11944 : /* 21646*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11945 : /* 21648*/ OPC_EmitMergeInputChains1_0,
11946 : /* 21649*/ OPC_EmitInteger, MVT::i32, 0,
11947 : /* 21652*/ OPC_EmitConvertToTarget, 1,
11948 : /* 21654*/ OPC_EmitInteger, MVT::i32, 0,
11949 : /* 21657*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
11950 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
11951 : /* 21664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11952 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
11953 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
11954 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11955 : /* 21675*/ 0, /*End of Scope*/
11956 : /* 21676*/ /*Scope*/ 66, /*->21743*/
11957 : /* 21677*/ OPC_CheckChild1Type, MVT::i32,
11958 : /* 21679*/ OPC_MoveChild2,
11959 : /* 21680*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11960 : /* 21683*/ OPC_RecordChild0, // #2 = $exp
11961 : /* 21684*/ OPC_MoveParent,
11962 : /* 21685*/ OPC_MoveChild3,
11963 : /* 21686*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
11964 : /* 21689*/ OPC_RecordChild0, // #3 = $new
11965 : /* 21690*/ OPC_MoveParent,
11966 : /* 21691*/ OPC_Scope, 24, /*->21717*/ // 2 children in Scope
11967 : /* 21693*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
11968 : /* 21695*/ OPC_MoveParent,
11969 : /* 21696*/ OPC_MoveParent,
11970 : /* 21697*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11971 : /* 21699*/ OPC_EmitMergeInputChains1_0,
11972 : /* 21700*/ OPC_EmitInteger, MVT::i32, 0,
11973 : /* 21703*/ OPC_EmitInteger, MVT::i32, 0,
11974 : /* 21706*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11975 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
11976 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
11977 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11978 : /* 21717*/ /*Scope*/ 24, /*->21742*/
11979 : /* 21718*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
11980 : /* 21720*/ OPC_MoveParent,
11981 : /* 21721*/ OPC_MoveParent,
11982 : /* 21722*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
11983 : /* 21724*/ OPC_EmitMergeInputChains1_0,
11984 : /* 21725*/ OPC_EmitInteger, MVT::i32, 0,
11985 : /* 21728*/ OPC_EmitInteger, MVT::i32, 0,
11986 : /* 21731*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
11987 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
11988 : // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
11989 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
11990 : /* 21742*/ 0, /*End of Scope*/
11991 : /* 21743*/ 0, /*End of Scope*/
11992 : /* 21744*/ 0, /*End of Scope*/
11993 : /* 21745*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->22450
11994 : /* 21749*/ OPC_RecordMemRef,
11995 : /* 21750*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
11996 : /* 21751*/ OPC_Scope, 43|128,4/*555*/, /*->22309*/ // 2 children in Scope
11997 : /* 21754*/ OPC_MoveChild1,
11998 : /* 21755*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->22087
11999 : /* 21760*/ OPC_Scope, 65, /*->21827*/ // 5 children in Scope
12000 : /* 21762*/ OPC_RecordChild0, // #1 = $addr
12001 : /* 21763*/ OPC_MoveChild1,
12002 : /* 21764*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12003 : /* 21767*/ OPC_RecordChild0, // #2 = $off
12004 : /* 21768*/ OPC_MoveChild0,
12005 : /* 21769*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12006 : /* 21772*/ OPC_MoveParent,
12007 : /* 21773*/ OPC_MoveParent,
12008 : /* 21774*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12009 : /* 21776*/ OPC_CheckType, MVT::i32,
12010 : /* 21778*/ OPC_MoveParent,
12011 : /* 21779*/ OPC_MoveChild2,
12012 : /* 21780*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12013 : /* 21783*/ OPC_RecordChild0, // #3 = $val
12014 : /* 21784*/ OPC_MoveParent,
12015 : /* 21785*/ OPC_Scope, 19, /*->21806*/ // 2 children in Scope
12016 : /* 21787*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12017 : /* 21789*/ OPC_MoveParent,
12018 : /* 21790*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12019 : /* 21792*/ OPC_EmitMergeInputChains1_0,
12020 : /* 21793*/ OPC_EmitInteger, MVT::i32, 0,
12021 : /* 21796*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12022 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12023 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 20
12024 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12025 : /* 21806*/ /*Scope*/ 19, /*->21826*/
12026 : /* 21807*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12027 : /* 21809*/ OPC_MoveParent,
12028 : /* 21810*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12029 : /* 21812*/ OPC_EmitMergeInputChains1_0,
12030 : /* 21813*/ OPC_EmitInteger, MVT::i32, 0,
12031 : /* 21816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12032 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12033 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 20
12034 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12035 : /* 21826*/ 0, /*End of Scope*/
12036 : /* 21827*/ /*Scope*/ 65, /*->21893*/
12037 : /* 21828*/ OPC_MoveChild0,
12038 : /* 21829*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12039 : /* 21832*/ OPC_RecordChild0, // #1 = $off
12040 : /* 21833*/ OPC_MoveChild0,
12041 : /* 21834*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12042 : /* 21837*/ OPC_MoveParent,
12043 : /* 21838*/ OPC_MoveParent,
12044 : /* 21839*/ OPC_RecordChild1, // #2 = $addr
12045 : /* 21840*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12046 : /* 21842*/ OPC_CheckType, MVT::i32,
12047 : /* 21844*/ OPC_MoveParent,
12048 : /* 21845*/ OPC_MoveChild2,
12049 : /* 21846*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12050 : /* 21849*/ OPC_RecordChild0, // #3 = $val
12051 : /* 21850*/ OPC_MoveParent,
12052 : /* 21851*/ OPC_Scope, 19, /*->21872*/ // 2 children in Scope
12053 : /* 21853*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12054 : /* 21855*/ OPC_MoveParent,
12055 : /* 21856*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12056 : /* 21858*/ OPC_EmitMergeInputChains1_0,
12057 : /* 21859*/ OPC_EmitInteger, MVT::i32, 0,
12058 : /* 21862*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12059 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12060 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 20
12061 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12062 : /* 21872*/ /*Scope*/ 19, /*->21892*/
12063 : /* 21873*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12064 : /* 21875*/ OPC_MoveParent,
12065 : /* 21876*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12066 : /* 21878*/ OPC_EmitMergeInputChains1_0,
12067 : /* 21879*/ OPC_EmitInteger, MVT::i32, 0,
12068 : /* 21882*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12069 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12070 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 20
12071 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12072 : /* 21892*/ 0, /*End of Scope*/
12073 : /* 21893*/ /*Scope*/ 63, /*->21957*/
12074 : /* 21894*/ OPC_RecordChild0, // #1 = $addr
12075 : /* 21895*/ OPC_MoveChild1,
12076 : /* 21896*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12077 : /* 21899*/ OPC_RecordChild0, // #2 = $off
12078 : /* 21900*/ OPC_MoveChild0,
12079 : /* 21901*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12080 : /* 21904*/ OPC_MoveParent,
12081 : /* 21905*/ OPC_MoveParent,
12082 : /* 21906*/ OPC_CheckType, MVT::i32,
12083 : /* 21908*/ OPC_MoveParent,
12084 : /* 21909*/ OPC_MoveChild2,
12085 : /* 21910*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12086 : /* 21913*/ OPC_RecordChild0, // #3 = $val
12087 : /* 21914*/ OPC_MoveParent,
12088 : /* 21915*/ OPC_Scope, 19, /*->21936*/ // 2 children in Scope
12089 : /* 21917*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12090 : /* 21919*/ OPC_MoveParent,
12091 : /* 21920*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12092 : /* 21922*/ OPC_EmitMergeInputChains1_0,
12093 : /* 21923*/ OPC_EmitInteger, MVT::i32, 0,
12094 : /* 21926*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12095 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12096 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 19
12097 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12098 : /* 21936*/ /*Scope*/ 19, /*->21956*/
12099 : /* 21937*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12100 : /* 21939*/ OPC_MoveParent,
12101 : /* 21940*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12102 : /* 21942*/ OPC_EmitMergeInputChains1_0,
12103 : /* 21943*/ OPC_EmitInteger, MVT::i32, 0,
12104 : /* 21946*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12105 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12106 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 19
12107 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12108 : /* 21956*/ 0, /*End of Scope*/
12109 : /* 21957*/ /*Scope*/ 63, /*->22021*/
12110 : /* 21958*/ OPC_MoveChild0,
12111 : /* 21959*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12112 : /* 21962*/ OPC_RecordChild0, // #1 = $off
12113 : /* 21963*/ OPC_MoveChild0,
12114 : /* 21964*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12115 : /* 21967*/ OPC_MoveParent,
12116 : /* 21968*/ OPC_MoveParent,
12117 : /* 21969*/ OPC_RecordChild1, // #2 = $addr
12118 : /* 21970*/ OPC_CheckType, MVT::i32,
12119 : /* 21972*/ OPC_MoveParent,
12120 : /* 21973*/ OPC_MoveChild2,
12121 : /* 21974*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12122 : /* 21977*/ OPC_RecordChild0, // #3 = $val
12123 : /* 21978*/ OPC_MoveParent,
12124 : /* 21979*/ OPC_Scope, 19, /*->22000*/ // 2 children in Scope
12125 : /* 21981*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12126 : /* 21983*/ OPC_MoveParent,
12127 : /* 21984*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12128 : /* 21986*/ OPC_EmitMergeInputChains1_0,
12129 : /* 21987*/ OPC_EmitInteger, MVT::i32, 0,
12130 : /* 21990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12131 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12132 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 19
12133 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12134 : /* 22000*/ /*Scope*/ 19, /*->22020*/
12135 : /* 22001*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12136 : /* 22003*/ OPC_MoveParent,
12137 : /* 22004*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12138 : /* 22006*/ OPC_EmitMergeInputChains1_0,
12139 : /* 22007*/ OPC_EmitInteger, MVT::i32, 0,
12140 : /* 22010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12141 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12142 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 19
12143 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12144 : /* 22020*/ 0, /*End of Scope*/
12145 : /* 22021*/ /*Scope*/ 64, /*->22086*/
12146 : /* 22022*/ OPC_RecordChild0, // #1 = $addr
12147 : /* 22023*/ OPC_RecordChild1, // #2 = $off
12148 : /* 22024*/ OPC_MoveChild1,
12149 : /* 22025*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12150 : /* 22028*/ OPC_MoveParent,
12151 : /* 22029*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
12152 : /* 22031*/ OPC_CheckType, MVT::i32,
12153 : /* 22033*/ OPC_MoveParent,
12154 : /* 22034*/ OPC_MoveChild2,
12155 : /* 22035*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12156 : /* 22038*/ OPC_RecordChild0, // #3 = $val
12157 : /* 22039*/ OPC_MoveParent,
12158 : /* 22040*/ OPC_Scope, 21, /*->22063*/ // 2 children in Scope
12159 : /* 22042*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12160 : /* 22044*/ OPC_MoveParent,
12161 : /* 22045*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12162 : /* 22047*/ OPC_EmitMergeInputChains1_0,
12163 : /* 22048*/ OPC_EmitInteger, MVT::i32, 0,
12164 : /* 22051*/ OPC_EmitConvertToTarget, 2,
12165 : /* 22053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12166 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12167 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
12168 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12169 : /* 22063*/ /*Scope*/ 21, /*->22085*/
12170 : /* 22064*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12171 : /* 22066*/ OPC_MoveParent,
12172 : /* 22067*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12173 : /* 22069*/ OPC_EmitMergeInputChains1_0,
12174 : /* 22070*/ OPC_EmitInteger, MVT::i32, 0,
12175 : /* 22073*/ OPC_EmitConvertToTarget, 2,
12176 : /* 22075*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12177 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12178 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
12179 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12180 : /* 22085*/ 0, /*End of Scope*/
12181 : /* 22086*/ 0, /*End of Scope*/
12182 : /* 22087*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->22154
12183 : /* 22090*/ OPC_RecordChild0, // #1 = $addr
12184 : /* 22091*/ OPC_RecordChild1, // #2 = $off
12185 : /* 22092*/ OPC_MoveChild1,
12186 : /* 22093*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12187 : /* 22096*/ OPC_MoveParent,
12188 : /* 22097*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
12189 : /* 22099*/ OPC_CheckType, MVT::i32,
12190 : /* 22101*/ OPC_MoveParent,
12191 : /* 22102*/ OPC_MoveChild2,
12192 : /* 22103*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12193 : /* 22106*/ OPC_RecordChild0, // #3 = $val
12194 : /* 22107*/ OPC_MoveParent,
12195 : /* 22108*/ OPC_Scope, 21, /*->22131*/ // 2 children in Scope
12196 : /* 22110*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12197 : /* 22112*/ OPC_MoveParent,
12198 : /* 22113*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12199 : /* 22115*/ OPC_EmitMergeInputChains1_0,
12200 : /* 22116*/ OPC_EmitInteger, MVT::i32, 0,
12201 : /* 22119*/ OPC_EmitConvertToTarget, 2,
12202 : /* 22121*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12203 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12204 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
12205 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12206 : /* 22131*/ /*Scope*/ 21, /*->22153*/
12207 : /* 22132*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12208 : /* 22134*/ OPC_MoveParent,
12209 : /* 22135*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12210 : /* 22137*/ OPC_EmitMergeInputChains1_0,
12211 : /* 22138*/ OPC_EmitInteger, MVT::i32, 0,
12212 : /* 22141*/ OPC_EmitConvertToTarget, 2,
12213 : /* 22143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12214 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12215 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
12216 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12217 : /* 22153*/ 0, /*End of Scope*/
12218 : /* 22154*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->22308
12219 : /* 22158*/ OPC_RecordChild0, // #1 = $off
12220 : /* 22159*/ OPC_MoveChild0,
12221 : /* 22160*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->22234
12222 : /* 22164*/ OPC_MoveParent,
12223 : /* 22165*/ OPC_MoveParent,
12224 : /* 22166*/ OPC_MoveChild2,
12225 : /* 22167*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12226 : /* 22170*/ OPC_RecordChild0, // #2 = $val
12227 : /* 22171*/ OPC_MoveParent,
12228 : /* 22172*/ OPC_Scope, 29, /*->22203*/ // 2 children in Scope
12229 : /* 22174*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12230 : /* 22176*/ OPC_MoveParent,
12231 : /* 22177*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12232 : /* 22179*/ OPC_EmitMergeInputChains1_0,
12233 : /* 22180*/ OPC_EmitInteger, MVT::i32, 0,
12234 : /* 22183*/ OPC_EmitInteger, MVT::i32, 0,
12235 : /* 22186*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12236 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12237 : /* 22193*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12238 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12239 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
12240 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12241 : /* 22203*/ /*Scope*/ 29, /*->22233*/
12242 : /* 22204*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12243 : /* 22206*/ OPC_MoveParent,
12244 : /* 22207*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12245 : /* 22209*/ OPC_EmitMergeInputChains1_0,
12246 : /* 22210*/ OPC_EmitInteger, MVT::i32, 0,
12247 : /* 22213*/ OPC_EmitInteger, MVT::i32, 0,
12248 : /* 22216*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12249 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12250 : /* 22223*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12251 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12252 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
12253 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12254 : /* 22233*/ 0, /*End of Scope*/
12255 : /* 22234*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->22307
12256 : /* 22237*/ OPC_MoveParent,
12257 : /* 22238*/ OPC_MoveParent,
12258 : /* 22239*/ OPC_MoveChild2,
12259 : /* 22240*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12260 : /* 22243*/ OPC_RecordChild0, // #2 = $val
12261 : /* 22244*/ OPC_MoveParent,
12262 : /* 22245*/ OPC_Scope, 29, /*->22276*/ // 2 children in Scope
12263 : /* 22247*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12264 : /* 22249*/ OPC_MoveParent,
12265 : /* 22250*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12266 : /* 22252*/ OPC_EmitMergeInputChains1_0,
12267 : /* 22253*/ OPC_EmitInteger, MVT::i32, 0,
12268 : /* 22256*/ OPC_EmitInteger, MVT::i32, 0,
12269 : /* 22259*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12270 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12271 : /* 22266*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12272 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12273 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
12274 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12275 : /* 22276*/ /*Scope*/ 29, /*->22306*/
12276 : /* 22277*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12277 : /* 22279*/ OPC_MoveParent,
12278 : /* 22280*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12279 : /* 22282*/ OPC_EmitMergeInputChains1_0,
12280 : /* 22283*/ OPC_EmitInteger, MVT::i32, 0,
12281 : /* 22286*/ OPC_EmitInteger, MVT::i32, 0,
12282 : /* 22289*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12283 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12284 : /* 22296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12285 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12286 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
12287 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12288 : /* 22306*/ 0, /*End of Scope*/
12289 : /* 22307*/ 0, // EndSwitchOpcode
12290 : /* 22308*/ 0, // EndSwitchOpcode
12291 : /* 22309*/ /*Scope*/ 10|128,1/*138*/, /*->22449*/
12292 : /* 22311*/ OPC_RecordChild1, // #1 = $off
12293 : /* 22312*/ OPC_Scope, 77, /*->22391*/ // 2 children in Scope
12294 : /* 22314*/ OPC_MoveChild1,
12295 : /* 22315*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12296 : /* 22318*/ OPC_MoveParent,
12297 : /* 22319*/ OPC_MoveChild2,
12298 : /* 22320*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12299 : /* 22323*/ OPC_RecordChild0, // #2 = $val
12300 : /* 22324*/ OPC_MoveParent,
12301 : /* 22325*/ OPC_Scope, 31, /*->22358*/ // 2 children in Scope
12302 : /* 22327*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12303 : /* 22329*/ OPC_MoveParent,
12304 : /* 22330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12305 : /* 22332*/ OPC_EmitMergeInputChains1_0,
12306 : /* 22333*/ OPC_EmitInteger, MVT::i32, 0,
12307 : /* 22336*/ OPC_EmitConvertToTarget, 1,
12308 : /* 22338*/ OPC_EmitInteger, MVT::i32, 0,
12309 : /* 22341*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12310 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
12311 : /* 22348*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12312 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
12313 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 13
12314 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12315 : /* 22358*/ /*Scope*/ 31, /*->22390*/
12316 : /* 22359*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12317 : /* 22361*/ OPC_MoveParent,
12318 : /* 22362*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12319 : /* 22364*/ OPC_EmitMergeInputChains1_0,
12320 : /* 22365*/ OPC_EmitInteger, MVT::i32, 0,
12321 : /* 22368*/ OPC_EmitConvertToTarget, 1,
12322 : /* 22370*/ OPC_EmitInteger, MVT::i32, 0,
12323 : /* 22373*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12324 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
12325 : /* 22380*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12326 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
12327 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 13
12328 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12329 : /* 22390*/ 0, /*End of Scope*/
12330 : /* 22391*/ /*Scope*/ 56, /*->22448*/
12331 : /* 22392*/ OPC_CheckChild1Type, MVT::i32,
12332 : /* 22394*/ OPC_MoveChild2,
12333 : /* 22395*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12334 : /* 22398*/ OPC_RecordChild0, // #2 = $val
12335 : /* 22399*/ OPC_MoveParent,
12336 : /* 22400*/ OPC_Scope, 22, /*->22424*/ // 2 children in Scope
12337 : /* 22402*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
12338 : /* 22404*/ OPC_MoveParent,
12339 : /* 22405*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12340 : /* 22407*/ OPC_EmitMergeInputChains1_0,
12341 : /* 22408*/ OPC_EmitInteger, MVT::i32, 0,
12342 : /* 22411*/ OPC_EmitInteger, MVT::i32, 0,
12343 : /* 22414*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12344 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
12345 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 10
12346 : // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12347 : /* 22424*/ /*Scope*/ 22, /*->22447*/
12348 : /* 22425*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
12349 : /* 22427*/ OPC_MoveParent,
12350 : /* 22428*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12351 : /* 22430*/ OPC_EmitMergeInputChains1_0,
12352 : /* 22431*/ OPC_EmitInteger, MVT::i32, 0,
12353 : /* 22434*/ OPC_EmitInteger, MVT::i32, 0,
12354 : /* 22437*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
12355 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
12356 : // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 10
12357 : // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12358 : /* 22447*/ 0, /*End of Scope*/
12359 : /* 22448*/ 0, /*End of Scope*/
12360 : /* 22449*/ 0, /*End of Scope*/
12361 : /* 22450*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->23155
12362 : /* 22454*/ OPC_RecordMemRef,
12363 : /* 22455*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
12364 : /* 22456*/ OPC_Scope, 43|128,4/*555*/, /*->23014*/ // 2 children in Scope
12365 : /* 22459*/ OPC_MoveChild1,
12366 : /* 22460*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->22792
12367 : /* 22465*/ OPC_Scope, 65, /*->22532*/ // 5 children in Scope
12368 : /* 22467*/ OPC_RecordChild0, // #1 = $addr
12369 : /* 22468*/ OPC_MoveChild1,
12370 : /* 22469*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12371 : /* 22472*/ OPC_RecordChild0, // #2 = $off
12372 : /* 22473*/ OPC_MoveChild0,
12373 : /* 22474*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12374 : /* 22477*/ OPC_MoveParent,
12375 : /* 22478*/ OPC_MoveParent,
12376 : /* 22479*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12377 : /* 22481*/ OPC_CheckType, MVT::i32,
12378 : /* 22483*/ OPC_MoveParent,
12379 : /* 22484*/ OPC_MoveChild2,
12380 : /* 22485*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12381 : /* 22488*/ OPC_RecordChild0, // #3 = $val
12382 : /* 22489*/ OPC_MoveParent,
12383 : /* 22490*/ OPC_Scope, 19, /*->22511*/ // 2 children in Scope
12384 : /* 22492*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12385 : /* 22494*/ OPC_MoveParent,
12386 : /* 22495*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12387 : /* 22497*/ OPC_EmitMergeInputChains1_0,
12388 : /* 22498*/ OPC_EmitInteger, MVT::i32, 0,
12389 : /* 22501*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12390 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12391 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 20
12392 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12393 : /* 22511*/ /*Scope*/ 19, /*->22531*/
12394 : /* 22512*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12395 : /* 22514*/ OPC_MoveParent,
12396 : /* 22515*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12397 : /* 22517*/ OPC_EmitMergeInputChains1_0,
12398 : /* 22518*/ OPC_EmitInteger, MVT::i32, 0,
12399 : /* 22521*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12400 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12401 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 20
12402 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12403 : /* 22531*/ 0, /*End of Scope*/
12404 : /* 22532*/ /*Scope*/ 65, /*->22598*/
12405 : /* 22533*/ OPC_MoveChild0,
12406 : /* 22534*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12407 : /* 22537*/ OPC_RecordChild0, // #1 = $off
12408 : /* 22538*/ OPC_MoveChild0,
12409 : /* 22539*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12410 : /* 22542*/ OPC_MoveParent,
12411 : /* 22543*/ OPC_MoveParent,
12412 : /* 22544*/ OPC_RecordChild1, // #2 = $addr
12413 : /* 22545*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12414 : /* 22547*/ OPC_CheckType, MVT::i32,
12415 : /* 22549*/ OPC_MoveParent,
12416 : /* 22550*/ OPC_MoveChild2,
12417 : /* 22551*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12418 : /* 22554*/ OPC_RecordChild0, // #3 = $val
12419 : /* 22555*/ OPC_MoveParent,
12420 : /* 22556*/ OPC_Scope, 19, /*->22577*/ // 2 children in Scope
12421 : /* 22558*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12422 : /* 22560*/ OPC_MoveParent,
12423 : /* 22561*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12424 : /* 22563*/ OPC_EmitMergeInputChains1_0,
12425 : /* 22564*/ OPC_EmitInteger, MVT::i32, 0,
12426 : /* 22567*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12427 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12428 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 20
12429 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12430 : /* 22577*/ /*Scope*/ 19, /*->22597*/
12431 : /* 22578*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12432 : /* 22580*/ OPC_MoveParent,
12433 : /* 22581*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12434 : /* 22583*/ OPC_EmitMergeInputChains1_0,
12435 : /* 22584*/ OPC_EmitInteger, MVT::i32, 0,
12436 : /* 22587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12437 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12438 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 20
12439 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12440 : /* 22597*/ 0, /*End of Scope*/
12441 : /* 22598*/ /*Scope*/ 63, /*->22662*/
12442 : /* 22599*/ OPC_RecordChild0, // #1 = $addr
12443 : /* 22600*/ OPC_MoveChild1,
12444 : /* 22601*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12445 : /* 22604*/ OPC_RecordChild0, // #2 = $off
12446 : /* 22605*/ OPC_MoveChild0,
12447 : /* 22606*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12448 : /* 22609*/ OPC_MoveParent,
12449 : /* 22610*/ OPC_MoveParent,
12450 : /* 22611*/ OPC_CheckType, MVT::i32,
12451 : /* 22613*/ OPC_MoveParent,
12452 : /* 22614*/ OPC_MoveChild2,
12453 : /* 22615*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12454 : /* 22618*/ OPC_RecordChild0, // #3 = $val
12455 : /* 22619*/ OPC_MoveParent,
12456 : /* 22620*/ OPC_Scope, 19, /*->22641*/ // 2 children in Scope
12457 : /* 22622*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12458 : /* 22624*/ OPC_MoveParent,
12459 : /* 22625*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12460 : /* 22627*/ OPC_EmitMergeInputChains1_0,
12461 : /* 22628*/ OPC_EmitInteger, MVT::i32, 0,
12462 : /* 22631*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12463 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12464 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 19
12465 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12466 : /* 22641*/ /*Scope*/ 19, /*->22661*/
12467 : /* 22642*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12468 : /* 22644*/ OPC_MoveParent,
12469 : /* 22645*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12470 : /* 22647*/ OPC_EmitMergeInputChains1_0,
12471 : /* 22648*/ OPC_EmitInteger, MVT::i32, 0,
12472 : /* 22651*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12473 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12474 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 19
12475 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12476 : /* 22661*/ 0, /*End of Scope*/
12477 : /* 22662*/ /*Scope*/ 63, /*->22726*/
12478 : /* 22663*/ OPC_MoveChild0,
12479 : /* 22664*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12480 : /* 22667*/ OPC_RecordChild0, // #1 = $off
12481 : /* 22668*/ OPC_MoveChild0,
12482 : /* 22669*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12483 : /* 22672*/ OPC_MoveParent,
12484 : /* 22673*/ OPC_MoveParent,
12485 : /* 22674*/ OPC_RecordChild1, // #2 = $addr
12486 : /* 22675*/ OPC_CheckType, MVT::i32,
12487 : /* 22677*/ OPC_MoveParent,
12488 : /* 22678*/ OPC_MoveChild2,
12489 : /* 22679*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12490 : /* 22682*/ OPC_RecordChild0, // #3 = $val
12491 : /* 22683*/ OPC_MoveParent,
12492 : /* 22684*/ OPC_Scope, 19, /*->22705*/ // 2 children in Scope
12493 : /* 22686*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12494 : /* 22688*/ OPC_MoveParent,
12495 : /* 22689*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12496 : /* 22691*/ OPC_EmitMergeInputChains1_0,
12497 : /* 22692*/ OPC_EmitInteger, MVT::i32, 0,
12498 : /* 22695*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12499 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12500 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 19
12501 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12502 : /* 22705*/ /*Scope*/ 19, /*->22725*/
12503 : /* 22706*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12504 : /* 22708*/ OPC_MoveParent,
12505 : /* 22709*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12506 : /* 22711*/ OPC_EmitMergeInputChains1_0,
12507 : /* 22712*/ OPC_EmitInteger, MVT::i32, 0,
12508 : /* 22715*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12509 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12510 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 19
12511 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12512 : /* 22725*/ 0, /*End of Scope*/
12513 : /* 22726*/ /*Scope*/ 64, /*->22791*/
12514 : /* 22727*/ OPC_RecordChild0, // #1 = $addr
12515 : /* 22728*/ OPC_RecordChild1, // #2 = $off
12516 : /* 22729*/ OPC_MoveChild1,
12517 : /* 22730*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12518 : /* 22733*/ OPC_MoveParent,
12519 : /* 22734*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
12520 : /* 22736*/ OPC_CheckType, MVT::i32,
12521 : /* 22738*/ OPC_MoveParent,
12522 : /* 22739*/ OPC_MoveChild2,
12523 : /* 22740*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12524 : /* 22743*/ OPC_RecordChild0, // #3 = $val
12525 : /* 22744*/ OPC_MoveParent,
12526 : /* 22745*/ OPC_Scope, 21, /*->22768*/ // 2 children in Scope
12527 : /* 22747*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12528 : /* 22749*/ OPC_MoveParent,
12529 : /* 22750*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12530 : /* 22752*/ OPC_EmitMergeInputChains1_0,
12531 : /* 22753*/ OPC_EmitInteger, MVT::i32, 0,
12532 : /* 22756*/ OPC_EmitConvertToTarget, 2,
12533 : /* 22758*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12534 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12535 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
12536 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12537 : /* 22768*/ /*Scope*/ 21, /*->22790*/
12538 : /* 22769*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12539 : /* 22771*/ OPC_MoveParent,
12540 : /* 22772*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12541 : /* 22774*/ OPC_EmitMergeInputChains1_0,
12542 : /* 22775*/ OPC_EmitInteger, MVT::i32, 0,
12543 : /* 22778*/ OPC_EmitConvertToTarget, 2,
12544 : /* 22780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12545 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12546 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
12547 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12548 : /* 22790*/ 0, /*End of Scope*/
12549 : /* 22791*/ 0, /*End of Scope*/
12550 : /* 22792*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->22859
12551 : /* 22795*/ OPC_RecordChild0, // #1 = $addr
12552 : /* 22796*/ OPC_RecordChild1, // #2 = $off
12553 : /* 22797*/ OPC_MoveChild1,
12554 : /* 22798*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12555 : /* 22801*/ OPC_MoveParent,
12556 : /* 22802*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
12557 : /* 22804*/ OPC_CheckType, MVT::i32,
12558 : /* 22806*/ OPC_MoveParent,
12559 : /* 22807*/ OPC_MoveChild2,
12560 : /* 22808*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12561 : /* 22811*/ OPC_RecordChild0, // #3 = $val
12562 : /* 22812*/ OPC_MoveParent,
12563 : /* 22813*/ OPC_Scope, 21, /*->22836*/ // 2 children in Scope
12564 : /* 22815*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12565 : /* 22817*/ OPC_MoveParent,
12566 : /* 22818*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12567 : /* 22820*/ OPC_EmitMergeInputChains1_0,
12568 : /* 22821*/ OPC_EmitInteger, MVT::i32, 0,
12569 : /* 22824*/ OPC_EmitConvertToTarget, 2,
12570 : /* 22826*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12571 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12572 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
12573 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12574 : /* 22836*/ /*Scope*/ 21, /*->22858*/
12575 : /* 22837*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12576 : /* 22839*/ OPC_MoveParent,
12577 : /* 22840*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12578 : /* 22842*/ OPC_EmitMergeInputChains1_0,
12579 : /* 22843*/ OPC_EmitInteger, MVT::i32, 0,
12580 : /* 22846*/ OPC_EmitConvertToTarget, 2,
12581 : /* 22848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12582 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12583 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
12584 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12585 : /* 22858*/ 0, /*End of Scope*/
12586 : /* 22859*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->23013
12587 : /* 22863*/ OPC_RecordChild0, // #1 = $off
12588 : /* 22864*/ OPC_MoveChild0,
12589 : /* 22865*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->22939
12590 : /* 22869*/ OPC_MoveParent,
12591 : /* 22870*/ OPC_MoveParent,
12592 : /* 22871*/ OPC_MoveChild2,
12593 : /* 22872*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12594 : /* 22875*/ OPC_RecordChild0, // #2 = $val
12595 : /* 22876*/ OPC_MoveParent,
12596 : /* 22877*/ OPC_Scope, 29, /*->22908*/ // 2 children in Scope
12597 : /* 22879*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12598 : /* 22881*/ OPC_MoveParent,
12599 : /* 22882*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12600 : /* 22884*/ OPC_EmitMergeInputChains1_0,
12601 : /* 22885*/ OPC_EmitInteger, MVT::i32, 0,
12602 : /* 22888*/ OPC_EmitInteger, MVT::i32, 0,
12603 : /* 22891*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12604 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12605 : /* 22898*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12606 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12607 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
12608 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12609 : /* 22908*/ /*Scope*/ 29, /*->22938*/
12610 : /* 22909*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12611 : /* 22911*/ OPC_MoveParent,
12612 : /* 22912*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12613 : /* 22914*/ OPC_EmitMergeInputChains1_0,
12614 : /* 22915*/ OPC_EmitInteger, MVT::i32, 0,
12615 : /* 22918*/ OPC_EmitInteger, MVT::i32, 0,
12616 : /* 22921*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12617 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12618 : /* 22928*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12619 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12620 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
12621 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12622 : /* 22938*/ 0, /*End of Scope*/
12623 : /* 22939*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->23012
12624 : /* 22942*/ OPC_MoveParent,
12625 : /* 22943*/ OPC_MoveParent,
12626 : /* 22944*/ OPC_MoveChild2,
12627 : /* 22945*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12628 : /* 22948*/ OPC_RecordChild0, // #2 = $val
12629 : /* 22949*/ OPC_MoveParent,
12630 : /* 22950*/ OPC_Scope, 29, /*->22981*/ // 2 children in Scope
12631 : /* 22952*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12632 : /* 22954*/ OPC_MoveParent,
12633 : /* 22955*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12634 : /* 22957*/ OPC_EmitMergeInputChains1_0,
12635 : /* 22958*/ OPC_EmitInteger, MVT::i32, 0,
12636 : /* 22961*/ OPC_EmitInteger, MVT::i32, 0,
12637 : /* 22964*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12638 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12639 : /* 22971*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12640 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12641 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
12642 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12643 : /* 22981*/ /*Scope*/ 29, /*->23011*/
12644 : /* 22982*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12645 : /* 22984*/ OPC_MoveParent,
12646 : /* 22985*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12647 : /* 22987*/ OPC_EmitMergeInputChains1_0,
12648 : /* 22988*/ OPC_EmitInteger, MVT::i32, 0,
12649 : /* 22991*/ OPC_EmitInteger, MVT::i32, 0,
12650 : /* 22994*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12651 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12652 : /* 23001*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12653 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12654 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
12655 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12656 : /* 23011*/ 0, /*End of Scope*/
12657 : /* 23012*/ 0, // EndSwitchOpcode
12658 : /* 23013*/ 0, // EndSwitchOpcode
12659 : /* 23014*/ /*Scope*/ 10|128,1/*138*/, /*->23154*/
12660 : /* 23016*/ OPC_RecordChild1, // #1 = $off
12661 : /* 23017*/ OPC_Scope, 77, /*->23096*/ // 2 children in Scope
12662 : /* 23019*/ OPC_MoveChild1,
12663 : /* 23020*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12664 : /* 23023*/ OPC_MoveParent,
12665 : /* 23024*/ OPC_MoveChild2,
12666 : /* 23025*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12667 : /* 23028*/ OPC_RecordChild0, // #2 = $val
12668 : /* 23029*/ OPC_MoveParent,
12669 : /* 23030*/ OPC_Scope, 31, /*->23063*/ // 2 children in Scope
12670 : /* 23032*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12671 : /* 23034*/ OPC_MoveParent,
12672 : /* 23035*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12673 : /* 23037*/ OPC_EmitMergeInputChains1_0,
12674 : /* 23038*/ OPC_EmitInteger, MVT::i32, 0,
12675 : /* 23041*/ OPC_EmitConvertToTarget, 1,
12676 : /* 23043*/ OPC_EmitInteger, MVT::i32, 0,
12677 : /* 23046*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12678 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
12679 : /* 23053*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12680 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
12681 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 13
12682 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12683 : /* 23063*/ /*Scope*/ 31, /*->23095*/
12684 : /* 23064*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12685 : /* 23066*/ OPC_MoveParent,
12686 : /* 23067*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12687 : /* 23069*/ OPC_EmitMergeInputChains1_0,
12688 : /* 23070*/ OPC_EmitInteger, MVT::i32, 0,
12689 : /* 23073*/ OPC_EmitConvertToTarget, 1,
12690 : /* 23075*/ OPC_EmitInteger, MVT::i32, 0,
12691 : /* 23078*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12692 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
12693 : /* 23085*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12694 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
12695 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 13
12696 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12697 : /* 23095*/ 0, /*End of Scope*/
12698 : /* 23096*/ /*Scope*/ 56, /*->23153*/
12699 : /* 23097*/ OPC_CheckChild1Type, MVT::i32,
12700 : /* 23099*/ OPC_MoveChild2,
12701 : /* 23100*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12702 : /* 23103*/ OPC_RecordChild0, // #2 = $val
12703 : /* 23104*/ OPC_MoveParent,
12704 : /* 23105*/ OPC_Scope, 22, /*->23129*/ // 2 children in Scope
12705 : /* 23107*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
12706 : /* 23109*/ OPC_MoveParent,
12707 : /* 23110*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12708 : /* 23112*/ OPC_EmitMergeInputChains1_0,
12709 : /* 23113*/ OPC_EmitInteger, MVT::i32, 0,
12710 : /* 23116*/ OPC_EmitInteger, MVT::i32, 0,
12711 : /* 23119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12712 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
12713 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 10
12714 : // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12715 : /* 23129*/ /*Scope*/ 22, /*->23152*/
12716 : /* 23130*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
12717 : /* 23132*/ OPC_MoveParent,
12718 : /* 23133*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12719 : /* 23135*/ OPC_EmitMergeInputChains1_0,
12720 : /* 23136*/ OPC_EmitInteger, MVT::i32, 0,
12721 : /* 23139*/ OPC_EmitInteger, MVT::i32, 0,
12722 : /* 23142*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
12723 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
12724 : // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 10
12725 : // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12726 : /* 23152*/ 0, /*End of Scope*/
12727 : /* 23153*/ 0, /*End of Scope*/
12728 : /* 23154*/ 0, /*End of Scope*/
12729 : /* 23155*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->23860
12730 : /* 23159*/ OPC_RecordMemRef,
12731 : /* 23160*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
12732 : /* 23161*/ OPC_Scope, 43|128,4/*555*/, /*->23719*/ // 2 children in Scope
12733 : /* 23164*/ OPC_MoveChild1,
12734 : /* 23165*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->23497
12735 : /* 23170*/ OPC_Scope, 65, /*->23237*/ // 5 children in Scope
12736 : /* 23172*/ OPC_RecordChild0, // #1 = $addr
12737 : /* 23173*/ OPC_MoveChild1,
12738 : /* 23174*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12739 : /* 23177*/ OPC_RecordChild0, // #2 = $off
12740 : /* 23178*/ OPC_MoveChild0,
12741 : /* 23179*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12742 : /* 23182*/ OPC_MoveParent,
12743 : /* 23183*/ OPC_MoveParent,
12744 : /* 23184*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12745 : /* 23186*/ OPC_CheckType, MVT::i32,
12746 : /* 23188*/ OPC_MoveParent,
12747 : /* 23189*/ OPC_MoveChild2,
12748 : /* 23190*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12749 : /* 23193*/ OPC_RecordChild0, // #3 = $val
12750 : /* 23194*/ OPC_MoveParent,
12751 : /* 23195*/ OPC_Scope, 19, /*->23216*/ // 2 children in Scope
12752 : /* 23197*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12753 : /* 23199*/ OPC_MoveParent,
12754 : /* 23200*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12755 : /* 23202*/ OPC_EmitMergeInputChains1_0,
12756 : /* 23203*/ OPC_EmitInteger, MVT::i32, 0,
12757 : /* 23206*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12758 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12759 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 20
12760 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12761 : /* 23216*/ /*Scope*/ 19, /*->23236*/
12762 : /* 23217*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12763 : /* 23219*/ OPC_MoveParent,
12764 : /* 23220*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12765 : /* 23222*/ OPC_EmitMergeInputChains1_0,
12766 : /* 23223*/ OPC_EmitInteger, MVT::i32, 0,
12767 : /* 23226*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12768 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12769 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 20
12770 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12771 : /* 23236*/ 0, /*End of Scope*/
12772 : /* 23237*/ /*Scope*/ 65, /*->23303*/
12773 : /* 23238*/ OPC_MoveChild0,
12774 : /* 23239*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12775 : /* 23242*/ OPC_RecordChild0, // #1 = $off
12776 : /* 23243*/ OPC_MoveChild0,
12777 : /* 23244*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
12778 : /* 23247*/ OPC_MoveParent,
12779 : /* 23248*/ OPC_MoveParent,
12780 : /* 23249*/ OPC_RecordChild1, // #2 = $addr
12781 : /* 23250*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
12782 : /* 23252*/ OPC_CheckType, MVT::i32,
12783 : /* 23254*/ OPC_MoveParent,
12784 : /* 23255*/ OPC_MoveChild2,
12785 : /* 23256*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12786 : /* 23259*/ OPC_RecordChild0, // #3 = $val
12787 : /* 23260*/ OPC_MoveParent,
12788 : /* 23261*/ OPC_Scope, 19, /*->23282*/ // 2 children in Scope
12789 : /* 23263*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12790 : /* 23265*/ OPC_MoveParent,
12791 : /* 23266*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12792 : /* 23268*/ OPC_EmitMergeInputChains1_0,
12793 : /* 23269*/ OPC_EmitInteger, MVT::i32, 0,
12794 : /* 23272*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12795 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12796 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 20
12797 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12798 : /* 23282*/ /*Scope*/ 19, /*->23302*/
12799 : /* 23283*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12800 : /* 23285*/ OPC_MoveParent,
12801 : /* 23286*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12802 : /* 23288*/ OPC_EmitMergeInputChains1_0,
12803 : /* 23289*/ OPC_EmitInteger, MVT::i32, 0,
12804 : /* 23292*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12805 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12806 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 20
12807 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12808 : /* 23302*/ 0, /*End of Scope*/
12809 : /* 23303*/ /*Scope*/ 63, /*->23367*/
12810 : /* 23304*/ OPC_RecordChild0, // #1 = $addr
12811 : /* 23305*/ OPC_MoveChild1,
12812 : /* 23306*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12813 : /* 23309*/ OPC_RecordChild0, // #2 = $off
12814 : /* 23310*/ OPC_MoveChild0,
12815 : /* 23311*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12816 : /* 23314*/ OPC_MoveParent,
12817 : /* 23315*/ OPC_MoveParent,
12818 : /* 23316*/ OPC_CheckType, MVT::i32,
12819 : /* 23318*/ OPC_MoveParent,
12820 : /* 23319*/ OPC_MoveChild2,
12821 : /* 23320*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12822 : /* 23323*/ OPC_RecordChild0, // #3 = $val
12823 : /* 23324*/ OPC_MoveParent,
12824 : /* 23325*/ OPC_Scope, 19, /*->23346*/ // 2 children in Scope
12825 : /* 23327*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12826 : /* 23329*/ OPC_MoveParent,
12827 : /* 23330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12828 : /* 23332*/ OPC_EmitMergeInputChains1_0,
12829 : /* 23333*/ OPC_EmitInteger, MVT::i32, 0,
12830 : /* 23336*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12831 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12832 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 19
12833 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12834 : /* 23346*/ /*Scope*/ 19, /*->23366*/
12835 : /* 23347*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12836 : /* 23349*/ OPC_MoveParent,
12837 : /* 23350*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12838 : /* 23352*/ OPC_EmitMergeInputChains1_0,
12839 : /* 23353*/ OPC_EmitInteger, MVT::i32, 0,
12840 : /* 23356*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12841 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
12842 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 19
12843 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12844 : /* 23366*/ 0, /*End of Scope*/
12845 : /* 23367*/ /*Scope*/ 63, /*->23431*/
12846 : /* 23368*/ OPC_MoveChild0,
12847 : /* 23369*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
12848 : /* 23372*/ OPC_RecordChild0, // #1 = $off
12849 : /* 23373*/ OPC_MoveChild0,
12850 : /* 23374*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
12851 : /* 23377*/ OPC_MoveParent,
12852 : /* 23378*/ OPC_MoveParent,
12853 : /* 23379*/ OPC_RecordChild1, // #2 = $addr
12854 : /* 23380*/ OPC_CheckType, MVT::i32,
12855 : /* 23382*/ OPC_MoveParent,
12856 : /* 23383*/ OPC_MoveChild2,
12857 : /* 23384*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12858 : /* 23387*/ OPC_RecordChild0, // #3 = $val
12859 : /* 23388*/ OPC_MoveParent,
12860 : /* 23389*/ OPC_Scope, 19, /*->23410*/ // 2 children in Scope
12861 : /* 23391*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12862 : /* 23393*/ OPC_MoveParent,
12863 : /* 23394*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12864 : /* 23396*/ OPC_EmitMergeInputChains1_0,
12865 : /* 23397*/ OPC_EmitInteger, MVT::i32, 0,
12866 : /* 23400*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12867 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12868 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 19
12869 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12870 : /* 23410*/ /*Scope*/ 19, /*->23430*/
12871 : /* 23411*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12872 : /* 23413*/ OPC_MoveParent,
12873 : /* 23414*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12874 : /* 23416*/ OPC_EmitMergeInputChains1_0,
12875 : /* 23417*/ OPC_EmitInteger, MVT::i32, 0,
12876 : /* 23420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12877 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
12878 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 19
12879 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12880 : /* 23430*/ 0, /*End of Scope*/
12881 : /* 23431*/ /*Scope*/ 64, /*->23496*/
12882 : /* 23432*/ OPC_RecordChild0, // #1 = $addr
12883 : /* 23433*/ OPC_RecordChild1, // #2 = $off
12884 : /* 23434*/ OPC_MoveChild1,
12885 : /* 23435*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12886 : /* 23438*/ OPC_MoveParent,
12887 : /* 23439*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
12888 : /* 23441*/ OPC_CheckType, MVT::i32,
12889 : /* 23443*/ OPC_MoveParent,
12890 : /* 23444*/ OPC_MoveChild2,
12891 : /* 23445*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12892 : /* 23448*/ OPC_RecordChild0, // #3 = $val
12893 : /* 23449*/ OPC_MoveParent,
12894 : /* 23450*/ OPC_Scope, 21, /*->23473*/ // 2 children in Scope
12895 : /* 23452*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12896 : /* 23454*/ OPC_MoveParent,
12897 : /* 23455*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12898 : /* 23457*/ OPC_EmitMergeInputChains1_0,
12899 : /* 23458*/ OPC_EmitInteger, MVT::i32, 0,
12900 : /* 23461*/ OPC_EmitConvertToTarget, 2,
12901 : /* 23463*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12902 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12903 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
12904 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12905 : /* 23473*/ /*Scope*/ 21, /*->23495*/
12906 : /* 23474*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12907 : /* 23476*/ OPC_MoveParent,
12908 : /* 23477*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12909 : /* 23479*/ OPC_EmitMergeInputChains1_0,
12910 : /* 23480*/ OPC_EmitInteger, MVT::i32, 0,
12911 : /* 23483*/ OPC_EmitConvertToTarget, 2,
12912 : /* 23485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12913 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12914 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
12915 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12916 : /* 23495*/ 0, /*End of Scope*/
12917 : /* 23496*/ 0, /*End of Scope*/
12918 : /* 23497*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->23564
12919 : /* 23500*/ OPC_RecordChild0, // #1 = $addr
12920 : /* 23501*/ OPC_RecordChild1, // #2 = $off
12921 : /* 23502*/ OPC_MoveChild1,
12922 : /* 23503*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12923 : /* 23506*/ OPC_MoveParent,
12924 : /* 23507*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
12925 : /* 23509*/ OPC_CheckType, MVT::i32,
12926 : /* 23511*/ OPC_MoveParent,
12927 : /* 23512*/ OPC_MoveChild2,
12928 : /* 23513*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12929 : /* 23516*/ OPC_RecordChild0, // #3 = $val
12930 : /* 23517*/ OPC_MoveParent,
12931 : /* 23518*/ OPC_Scope, 21, /*->23541*/ // 2 children in Scope
12932 : /* 23520*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12933 : /* 23522*/ OPC_MoveParent,
12934 : /* 23523*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12935 : /* 23525*/ OPC_EmitMergeInputChains1_0,
12936 : /* 23526*/ OPC_EmitInteger, MVT::i32, 0,
12937 : /* 23529*/ OPC_EmitConvertToTarget, 2,
12938 : /* 23531*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12939 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12940 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
12941 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12942 : /* 23541*/ /*Scope*/ 21, /*->23563*/
12943 : /* 23542*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12944 : /* 23544*/ OPC_MoveParent,
12945 : /* 23545*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12946 : /* 23547*/ OPC_EmitMergeInputChains1_0,
12947 : /* 23548*/ OPC_EmitInteger, MVT::i32, 0,
12948 : /* 23551*/ OPC_EmitConvertToTarget, 2,
12949 : /* 23553*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12950 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
12951 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
12952 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
12953 : /* 23563*/ 0, /*End of Scope*/
12954 : /* 23564*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->23718
12955 : /* 23568*/ OPC_RecordChild0, // #1 = $off
12956 : /* 23569*/ OPC_MoveChild0,
12957 : /* 23570*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->23644
12958 : /* 23574*/ OPC_MoveParent,
12959 : /* 23575*/ OPC_MoveParent,
12960 : /* 23576*/ OPC_MoveChild2,
12961 : /* 23577*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12962 : /* 23580*/ OPC_RecordChild0, // #2 = $val
12963 : /* 23581*/ OPC_MoveParent,
12964 : /* 23582*/ OPC_Scope, 29, /*->23613*/ // 2 children in Scope
12965 : /* 23584*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
12966 : /* 23586*/ OPC_MoveParent,
12967 : /* 23587*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12968 : /* 23589*/ OPC_EmitMergeInputChains1_0,
12969 : /* 23590*/ OPC_EmitInteger, MVT::i32, 0,
12970 : /* 23593*/ OPC_EmitInteger, MVT::i32, 0,
12971 : /* 23596*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12972 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12973 : /* 23603*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12974 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12975 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
12976 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12977 : /* 23613*/ /*Scope*/ 29, /*->23643*/
12978 : /* 23614*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
12979 : /* 23616*/ OPC_MoveParent,
12980 : /* 23617*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
12981 : /* 23619*/ OPC_EmitMergeInputChains1_0,
12982 : /* 23620*/ OPC_EmitInteger, MVT::i32, 0,
12983 : /* 23623*/ OPC_EmitInteger, MVT::i32, 0,
12984 : /* 23626*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
12985 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
12986 : /* 23633*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
12987 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
12988 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
12989 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
12990 : /* 23643*/ 0, /*End of Scope*/
12991 : /* 23644*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->23717
12992 : /* 23647*/ OPC_MoveParent,
12993 : /* 23648*/ OPC_MoveParent,
12994 : /* 23649*/ OPC_MoveChild2,
12995 : /* 23650*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
12996 : /* 23653*/ OPC_RecordChild0, // #2 = $val
12997 : /* 23654*/ OPC_MoveParent,
12998 : /* 23655*/ OPC_Scope, 29, /*->23686*/ // 2 children in Scope
12999 : /* 23657*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
13000 : /* 23659*/ OPC_MoveParent,
13001 : /* 23660*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13002 : /* 23662*/ OPC_EmitMergeInputChains1_0,
13003 : /* 23663*/ OPC_EmitInteger, MVT::i32, 0,
13004 : /* 23666*/ OPC_EmitInteger, MVT::i32, 0,
13005 : /* 23669*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13006 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13007 : /* 23676*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13008 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13009 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
13010 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13011 : /* 23686*/ /*Scope*/ 29, /*->23716*/
13012 : /* 23687*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
13013 : /* 23689*/ OPC_MoveParent,
13014 : /* 23690*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13015 : /* 23692*/ OPC_EmitMergeInputChains1_0,
13016 : /* 23693*/ OPC_EmitInteger, MVT::i32, 0,
13017 : /* 23696*/ OPC_EmitInteger, MVT::i32, 0,
13018 : /* 23699*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13019 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13020 : /* 23706*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13021 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13022 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
13023 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13024 : /* 23716*/ 0, /*End of Scope*/
13025 : /* 23717*/ 0, // EndSwitchOpcode
13026 : /* 23718*/ 0, // EndSwitchOpcode
13027 : /* 23719*/ /*Scope*/ 10|128,1/*138*/, /*->23859*/
13028 : /* 23721*/ OPC_RecordChild1, // #1 = $off
13029 : /* 23722*/ OPC_Scope, 77, /*->23801*/ // 2 children in Scope
13030 : /* 23724*/ OPC_MoveChild1,
13031 : /* 23725*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13032 : /* 23728*/ OPC_MoveParent,
13033 : /* 23729*/ OPC_MoveChild2,
13034 : /* 23730*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13035 : /* 23733*/ OPC_RecordChild0, // #2 = $val
13036 : /* 23734*/ OPC_MoveParent,
13037 : /* 23735*/ OPC_Scope, 31, /*->23768*/ // 2 children in Scope
13038 : /* 23737*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
13039 : /* 23739*/ OPC_MoveParent,
13040 : /* 23740*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13041 : /* 23742*/ OPC_EmitMergeInputChains1_0,
13042 : /* 23743*/ OPC_EmitInteger, MVT::i32, 0,
13043 : /* 23746*/ OPC_EmitConvertToTarget, 1,
13044 : /* 23748*/ OPC_EmitInteger, MVT::i32, 0,
13045 : /* 23751*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13046 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13047 : /* 23758*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13048 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13049 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 13
13050 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13051 : /* 23768*/ /*Scope*/ 31, /*->23800*/
13052 : /* 23769*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
13053 : /* 23771*/ OPC_MoveParent,
13054 : /* 23772*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13055 : /* 23774*/ OPC_EmitMergeInputChains1_0,
13056 : /* 23775*/ OPC_EmitInteger, MVT::i32, 0,
13057 : /* 23778*/ OPC_EmitConvertToTarget, 1,
13058 : /* 23780*/ OPC_EmitInteger, MVT::i32, 0,
13059 : /* 23783*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13060 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13061 : /* 23790*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13062 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13063 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 13
13064 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13065 : /* 23800*/ 0, /*End of Scope*/
13066 : /* 23801*/ /*Scope*/ 56, /*->23858*/
13067 : /* 23802*/ OPC_CheckChild1Type, MVT::i32,
13068 : /* 23804*/ OPC_MoveChild2,
13069 : /* 23805*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13070 : /* 23808*/ OPC_RecordChild0, // #2 = $val
13071 : /* 23809*/ OPC_MoveParent,
13072 : /* 23810*/ OPC_Scope, 22, /*->23834*/ // 2 children in Scope
13073 : /* 23812*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
13074 : /* 23814*/ OPC_MoveParent,
13075 : /* 23815*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13076 : /* 23817*/ OPC_EmitMergeInputChains1_0,
13077 : /* 23818*/ OPC_EmitInteger, MVT::i32, 0,
13078 : /* 23821*/ OPC_EmitInteger, MVT::i32, 0,
13079 : /* 23824*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13080 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13081 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 10
13082 : // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13083 : /* 23834*/ /*Scope*/ 22, /*->23857*/
13084 : /* 23835*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
13085 : /* 23837*/ OPC_MoveParent,
13086 : /* 23838*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13087 : /* 23840*/ OPC_EmitMergeInputChains1_0,
13088 : /* 23841*/ OPC_EmitInteger, MVT::i32, 0,
13089 : /* 23844*/ OPC_EmitInteger, MVT::i32, 0,
13090 : /* 23847*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
13091 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13092 : // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 10
13093 : // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13094 : /* 23857*/ 0, /*End of Scope*/
13095 : /* 23858*/ 0, /*End of Scope*/
13096 : /* 23859*/ 0, /*End of Scope*/
13097 : /* 23860*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->24565
13098 : /* 23864*/ OPC_RecordMemRef,
13099 : /* 23865*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
13100 : /* 23866*/ OPC_Scope, 43|128,4/*555*/, /*->24424*/ // 2 children in Scope
13101 : /* 23869*/ OPC_MoveChild1,
13102 : /* 23870*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->24202
13103 : /* 23875*/ OPC_Scope, 65, /*->23942*/ // 5 children in Scope
13104 : /* 23877*/ OPC_RecordChild0, // #1 = $addr
13105 : /* 23878*/ OPC_MoveChild1,
13106 : /* 23879*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13107 : /* 23882*/ OPC_RecordChild0, // #2 = $off
13108 : /* 23883*/ OPC_MoveChild0,
13109 : /* 23884*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13110 : /* 23887*/ OPC_MoveParent,
13111 : /* 23888*/ OPC_MoveParent,
13112 : /* 23889*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13113 : /* 23891*/ OPC_CheckType, MVT::i32,
13114 : /* 23893*/ OPC_MoveParent,
13115 : /* 23894*/ OPC_MoveChild2,
13116 : /* 23895*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13117 : /* 23898*/ OPC_RecordChild0, // #3 = $val
13118 : /* 23899*/ OPC_MoveParent,
13119 : /* 23900*/ OPC_Scope, 19, /*->23921*/ // 2 children in Scope
13120 : /* 23902*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13121 : /* 23904*/ OPC_MoveParent,
13122 : /* 23905*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13123 : /* 23907*/ OPC_EmitMergeInputChains1_0,
13124 : /* 23908*/ OPC_EmitInteger, MVT::i32, 0,
13125 : /* 23911*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13126 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13127 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 20
13128 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13129 : /* 23921*/ /*Scope*/ 19, /*->23941*/
13130 : /* 23922*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13131 : /* 23924*/ OPC_MoveParent,
13132 : /* 23925*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13133 : /* 23927*/ OPC_EmitMergeInputChains1_0,
13134 : /* 23928*/ OPC_EmitInteger, MVT::i32, 0,
13135 : /* 23931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13136 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13137 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 20
13138 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13139 : /* 23941*/ 0, /*End of Scope*/
13140 : /* 23942*/ /*Scope*/ 65, /*->24008*/
13141 : /* 23943*/ OPC_MoveChild0,
13142 : /* 23944*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13143 : /* 23947*/ OPC_RecordChild0, // #1 = $off
13144 : /* 23948*/ OPC_MoveChild0,
13145 : /* 23949*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13146 : /* 23952*/ OPC_MoveParent,
13147 : /* 23953*/ OPC_MoveParent,
13148 : /* 23954*/ OPC_RecordChild1, // #2 = $addr
13149 : /* 23955*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13150 : /* 23957*/ OPC_CheckType, MVT::i32,
13151 : /* 23959*/ OPC_MoveParent,
13152 : /* 23960*/ OPC_MoveChild2,
13153 : /* 23961*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13154 : /* 23964*/ OPC_RecordChild0, // #3 = $val
13155 : /* 23965*/ OPC_MoveParent,
13156 : /* 23966*/ OPC_Scope, 19, /*->23987*/ // 2 children in Scope
13157 : /* 23968*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13158 : /* 23970*/ OPC_MoveParent,
13159 : /* 23971*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13160 : /* 23973*/ OPC_EmitMergeInputChains1_0,
13161 : /* 23974*/ OPC_EmitInteger, MVT::i32, 0,
13162 : /* 23977*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13163 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13164 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 20
13165 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13166 : /* 23987*/ /*Scope*/ 19, /*->24007*/
13167 : /* 23988*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13168 : /* 23990*/ OPC_MoveParent,
13169 : /* 23991*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13170 : /* 23993*/ OPC_EmitMergeInputChains1_0,
13171 : /* 23994*/ OPC_EmitInteger, MVT::i32, 0,
13172 : /* 23997*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13173 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13174 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 20
13175 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13176 : /* 24007*/ 0, /*End of Scope*/
13177 : /* 24008*/ /*Scope*/ 63, /*->24072*/
13178 : /* 24009*/ OPC_RecordChild0, // #1 = $addr
13179 : /* 24010*/ OPC_MoveChild1,
13180 : /* 24011*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13181 : /* 24014*/ OPC_RecordChild0, // #2 = $off
13182 : /* 24015*/ OPC_MoveChild0,
13183 : /* 24016*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13184 : /* 24019*/ OPC_MoveParent,
13185 : /* 24020*/ OPC_MoveParent,
13186 : /* 24021*/ OPC_CheckType, MVT::i32,
13187 : /* 24023*/ OPC_MoveParent,
13188 : /* 24024*/ OPC_MoveChild2,
13189 : /* 24025*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13190 : /* 24028*/ OPC_RecordChild0, // #3 = $val
13191 : /* 24029*/ OPC_MoveParent,
13192 : /* 24030*/ OPC_Scope, 19, /*->24051*/ // 2 children in Scope
13193 : /* 24032*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13194 : /* 24034*/ OPC_MoveParent,
13195 : /* 24035*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13196 : /* 24037*/ OPC_EmitMergeInputChains1_0,
13197 : /* 24038*/ OPC_EmitInteger, MVT::i32, 0,
13198 : /* 24041*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13199 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13200 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 19
13201 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13202 : /* 24051*/ /*Scope*/ 19, /*->24071*/
13203 : /* 24052*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13204 : /* 24054*/ OPC_MoveParent,
13205 : /* 24055*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13206 : /* 24057*/ OPC_EmitMergeInputChains1_0,
13207 : /* 24058*/ OPC_EmitInteger, MVT::i32, 0,
13208 : /* 24061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13209 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13210 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 19
13211 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13212 : /* 24071*/ 0, /*End of Scope*/
13213 : /* 24072*/ /*Scope*/ 63, /*->24136*/
13214 : /* 24073*/ OPC_MoveChild0,
13215 : /* 24074*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13216 : /* 24077*/ OPC_RecordChild0, // #1 = $off
13217 : /* 24078*/ OPC_MoveChild0,
13218 : /* 24079*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13219 : /* 24082*/ OPC_MoveParent,
13220 : /* 24083*/ OPC_MoveParent,
13221 : /* 24084*/ OPC_RecordChild1, // #2 = $addr
13222 : /* 24085*/ OPC_CheckType, MVT::i32,
13223 : /* 24087*/ OPC_MoveParent,
13224 : /* 24088*/ OPC_MoveChild2,
13225 : /* 24089*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13226 : /* 24092*/ OPC_RecordChild0, // #3 = $val
13227 : /* 24093*/ OPC_MoveParent,
13228 : /* 24094*/ OPC_Scope, 19, /*->24115*/ // 2 children in Scope
13229 : /* 24096*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13230 : /* 24098*/ OPC_MoveParent,
13231 : /* 24099*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13232 : /* 24101*/ OPC_EmitMergeInputChains1_0,
13233 : /* 24102*/ OPC_EmitInteger, MVT::i32, 0,
13234 : /* 24105*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13235 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13236 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 19
13237 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13238 : /* 24115*/ /*Scope*/ 19, /*->24135*/
13239 : /* 24116*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13240 : /* 24118*/ OPC_MoveParent,
13241 : /* 24119*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13242 : /* 24121*/ OPC_EmitMergeInputChains1_0,
13243 : /* 24122*/ OPC_EmitInteger, MVT::i32, 0,
13244 : /* 24125*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13245 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13246 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 19
13247 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13248 : /* 24135*/ 0, /*End of Scope*/
13249 : /* 24136*/ /*Scope*/ 64, /*->24201*/
13250 : /* 24137*/ OPC_RecordChild0, // #1 = $addr
13251 : /* 24138*/ OPC_RecordChild1, // #2 = $off
13252 : /* 24139*/ OPC_MoveChild1,
13253 : /* 24140*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13254 : /* 24143*/ OPC_MoveParent,
13255 : /* 24144*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
13256 : /* 24146*/ OPC_CheckType, MVT::i32,
13257 : /* 24148*/ OPC_MoveParent,
13258 : /* 24149*/ OPC_MoveChild2,
13259 : /* 24150*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13260 : /* 24153*/ OPC_RecordChild0, // #3 = $val
13261 : /* 24154*/ OPC_MoveParent,
13262 : /* 24155*/ OPC_Scope, 21, /*->24178*/ // 2 children in Scope
13263 : /* 24157*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13264 : /* 24159*/ OPC_MoveParent,
13265 : /* 24160*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13266 : /* 24162*/ OPC_EmitMergeInputChains1_0,
13267 : /* 24163*/ OPC_EmitInteger, MVT::i32, 0,
13268 : /* 24166*/ OPC_EmitConvertToTarget, 2,
13269 : /* 24168*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13270 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13271 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
13272 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13273 : /* 24178*/ /*Scope*/ 21, /*->24200*/
13274 : /* 24179*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13275 : /* 24181*/ OPC_MoveParent,
13276 : /* 24182*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13277 : /* 24184*/ OPC_EmitMergeInputChains1_0,
13278 : /* 24185*/ OPC_EmitInteger, MVT::i32, 0,
13279 : /* 24188*/ OPC_EmitConvertToTarget, 2,
13280 : /* 24190*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13281 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13282 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
13283 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13284 : /* 24200*/ 0, /*End of Scope*/
13285 : /* 24201*/ 0, /*End of Scope*/
13286 : /* 24202*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->24269
13287 : /* 24205*/ OPC_RecordChild0, // #1 = $addr
13288 : /* 24206*/ OPC_RecordChild1, // #2 = $off
13289 : /* 24207*/ OPC_MoveChild1,
13290 : /* 24208*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13291 : /* 24211*/ OPC_MoveParent,
13292 : /* 24212*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
13293 : /* 24214*/ OPC_CheckType, MVT::i32,
13294 : /* 24216*/ OPC_MoveParent,
13295 : /* 24217*/ OPC_MoveChild2,
13296 : /* 24218*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13297 : /* 24221*/ OPC_RecordChild0, // #3 = $val
13298 : /* 24222*/ OPC_MoveParent,
13299 : /* 24223*/ OPC_Scope, 21, /*->24246*/ // 2 children in Scope
13300 : /* 24225*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13301 : /* 24227*/ OPC_MoveParent,
13302 : /* 24228*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13303 : /* 24230*/ OPC_EmitMergeInputChains1_0,
13304 : /* 24231*/ OPC_EmitInteger, MVT::i32, 0,
13305 : /* 24234*/ OPC_EmitConvertToTarget, 2,
13306 : /* 24236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13307 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13308 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
13309 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13310 : /* 24246*/ /*Scope*/ 21, /*->24268*/
13311 : /* 24247*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13312 : /* 24249*/ OPC_MoveParent,
13313 : /* 24250*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13314 : /* 24252*/ OPC_EmitMergeInputChains1_0,
13315 : /* 24253*/ OPC_EmitInteger, MVT::i32, 0,
13316 : /* 24256*/ OPC_EmitConvertToTarget, 2,
13317 : /* 24258*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13318 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13319 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
13320 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13321 : /* 24268*/ 0, /*End of Scope*/
13322 : /* 24269*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->24423
13323 : /* 24273*/ OPC_RecordChild0, // #1 = $off
13324 : /* 24274*/ OPC_MoveChild0,
13325 : /* 24275*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->24349
13326 : /* 24279*/ OPC_MoveParent,
13327 : /* 24280*/ OPC_MoveParent,
13328 : /* 24281*/ OPC_MoveChild2,
13329 : /* 24282*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13330 : /* 24285*/ OPC_RecordChild0, // #2 = $val
13331 : /* 24286*/ OPC_MoveParent,
13332 : /* 24287*/ OPC_Scope, 29, /*->24318*/ // 2 children in Scope
13333 : /* 24289*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13334 : /* 24291*/ OPC_MoveParent,
13335 : /* 24292*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13336 : /* 24294*/ OPC_EmitMergeInputChains1_0,
13337 : /* 24295*/ OPC_EmitInteger, MVT::i32, 0,
13338 : /* 24298*/ OPC_EmitInteger, MVT::i32, 0,
13339 : /* 24301*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13340 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13341 : /* 24308*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13342 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13343 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
13344 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13345 : /* 24318*/ /*Scope*/ 29, /*->24348*/
13346 : /* 24319*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13347 : /* 24321*/ OPC_MoveParent,
13348 : /* 24322*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13349 : /* 24324*/ OPC_EmitMergeInputChains1_0,
13350 : /* 24325*/ OPC_EmitInteger, MVT::i32, 0,
13351 : /* 24328*/ OPC_EmitInteger, MVT::i32, 0,
13352 : /* 24331*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13353 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13354 : /* 24338*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13355 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13356 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
13357 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13358 : /* 24348*/ 0, /*End of Scope*/
13359 : /* 24349*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->24422
13360 : /* 24352*/ OPC_MoveParent,
13361 : /* 24353*/ OPC_MoveParent,
13362 : /* 24354*/ OPC_MoveChild2,
13363 : /* 24355*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13364 : /* 24358*/ OPC_RecordChild0, // #2 = $val
13365 : /* 24359*/ OPC_MoveParent,
13366 : /* 24360*/ OPC_Scope, 29, /*->24391*/ // 2 children in Scope
13367 : /* 24362*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13368 : /* 24364*/ OPC_MoveParent,
13369 : /* 24365*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13370 : /* 24367*/ OPC_EmitMergeInputChains1_0,
13371 : /* 24368*/ OPC_EmitInteger, MVT::i32, 0,
13372 : /* 24371*/ OPC_EmitInteger, MVT::i32, 0,
13373 : /* 24374*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13374 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13375 : /* 24381*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13376 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13377 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
13378 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13379 : /* 24391*/ /*Scope*/ 29, /*->24421*/
13380 : /* 24392*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13381 : /* 24394*/ OPC_MoveParent,
13382 : /* 24395*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13383 : /* 24397*/ OPC_EmitMergeInputChains1_0,
13384 : /* 24398*/ OPC_EmitInteger, MVT::i32, 0,
13385 : /* 24401*/ OPC_EmitInteger, MVT::i32, 0,
13386 : /* 24404*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13387 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13388 : /* 24411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13389 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13390 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
13391 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13392 : /* 24421*/ 0, /*End of Scope*/
13393 : /* 24422*/ 0, // EndSwitchOpcode
13394 : /* 24423*/ 0, // EndSwitchOpcode
13395 : /* 24424*/ /*Scope*/ 10|128,1/*138*/, /*->24564*/
13396 : /* 24426*/ OPC_RecordChild1, // #1 = $off
13397 : /* 24427*/ OPC_Scope, 77, /*->24506*/ // 2 children in Scope
13398 : /* 24429*/ OPC_MoveChild1,
13399 : /* 24430*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13400 : /* 24433*/ OPC_MoveParent,
13401 : /* 24434*/ OPC_MoveChild2,
13402 : /* 24435*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13403 : /* 24438*/ OPC_RecordChild0, // #2 = $val
13404 : /* 24439*/ OPC_MoveParent,
13405 : /* 24440*/ OPC_Scope, 31, /*->24473*/ // 2 children in Scope
13406 : /* 24442*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13407 : /* 24444*/ OPC_MoveParent,
13408 : /* 24445*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13409 : /* 24447*/ OPC_EmitMergeInputChains1_0,
13410 : /* 24448*/ OPC_EmitInteger, MVT::i32, 0,
13411 : /* 24451*/ OPC_EmitConvertToTarget, 1,
13412 : /* 24453*/ OPC_EmitInteger, MVT::i32, 0,
13413 : /* 24456*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13414 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13415 : /* 24463*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13416 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13417 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 13
13418 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13419 : /* 24473*/ /*Scope*/ 31, /*->24505*/
13420 : /* 24474*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13421 : /* 24476*/ OPC_MoveParent,
13422 : /* 24477*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13423 : /* 24479*/ OPC_EmitMergeInputChains1_0,
13424 : /* 24480*/ OPC_EmitInteger, MVT::i32, 0,
13425 : /* 24483*/ OPC_EmitConvertToTarget, 1,
13426 : /* 24485*/ OPC_EmitInteger, MVT::i32, 0,
13427 : /* 24488*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13428 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13429 : /* 24495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13430 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13431 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 13
13432 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13433 : /* 24505*/ 0, /*End of Scope*/
13434 : /* 24506*/ /*Scope*/ 56, /*->24563*/
13435 : /* 24507*/ OPC_CheckChild1Type, MVT::i32,
13436 : /* 24509*/ OPC_MoveChild2,
13437 : /* 24510*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13438 : /* 24513*/ OPC_RecordChild0, // #2 = $val
13439 : /* 24514*/ OPC_MoveParent,
13440 : /* 24515*/ OPC_Scope, 22, /*->24539*/ // 2 children in Scope
13441 : /* 24517*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
13442 : /* 24519*/ OPC_MoveParent,
13443 : /* 24520*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13444 : /* 24522*/ OPC_EmitMergeInputChains1_0,
13445 : /* 24523*/ OPC_EmitInteger, MVT::i32, 0,
13446 : /* 24526*/ OPC_EmitInteger, MVT::i32, 0,
13447 : /* 24529*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13448 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13449 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 10
13450 : // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13451 : /* 24539*/ /*Scope*/ 22, /*->24562*/
13452 : /* 24540*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
13453 : /* 24542*/ OPC_MoveParent,
13454 : /* 24543*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13455 : /* 24545*/ OPC_EmitMergeInputChains1_0,
13456 : /* 24546*/ OPC_EmitInteger, MVT::i32, 0,
13457 : /* 24549*/ OPC_EmitInteger, MVT::i32, 0,
13458 : /* 24552*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13459 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13460 : // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 10
13461 : // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13462 : /* 24562*/ 0, /*End of Scope*/
13463 : /* 24563*/ 0, /*End of Scope*/
13464 : /* 24564*/ 0, /*End of Scope*/
13465 : /* 24565*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->25270
13466 : /* 24569*/ OPC_RecordMemRef,
13467 : /* 24570*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
13468 : /* 24571*/ OPC_Scope, 43|128,4/*555*/, /*->25129*/ // 2 children in Scope
13469 : /* 24574*/ OPC_MoveChild1,
13470 : /* 24575*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->24907
13471 : /* 24580*/ OPC_Scope, 65, /*->24647*/ // 5 children in Scope
13472 : /* 24582*/ OPC_RecordChild0, // #1 = $addr
13473 : /* 24583*/ OPC_MoveChild1,
13474 : /* 24584*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13475 : /* 24587*/ OPC_RecordChild0, // #2 = $off
13476 : /* 24588*/ OPC_MoveChild0,
13477 : /* 24589*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13478 : /* 24592*/ OPC_MoveParent,
13479 : /* 24593*/ OPC_MoveParent,
13480 : /* 24594*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13481 : /* 24596*/ OPC_CheckType, MVT::i32,
13482 : /* 24598*/ OPC_MoveParent,
13483 : /* 24599*/ OPC_MoveChild2,
13484 : /* 24600*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13485 : /* 24603*/ OPC_RecordChild0, // #3 = $val
13486 : /* 24604*/ OPC_MoveParent,
13487 : /* 24605*/ OPC_Scope, 19, /*->24626*/ // 2 children in Scope
13488 : /* 24607*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13489 : /* 24609*/ OPC_MoveParent,
13490 : /* 24610*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13491 : /* 24612*/ OPC_EmitMergeInputChains1_0,
13492 : /* 24613*/ OPC_EmitInteger, MVT::i32, 0,
13493 : /* 24616*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13494 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13495 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 20
13496 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13497 : /* 24626*/ /*Scope*/ 19, /*->24646*/
13498 : /* 24627*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13499 : /* 24629*/ OPC_MoveParent,
13500 : /* 24630*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13501 : /* 24632*/ OPC_EmitMergeInputChains1_0,
13502 : /* 24633*/ OPC_EmitInteger, MVT::i32, 0,
13503 : /* 24636*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13504 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13505 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 20
13506 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13507 : /* 24646*/ 0, /*End of Scope*/
13508 : /* 24647*/ /*Scope*/ 65, /*->24713*/
13509 : /* 24648*/ OPC_MoveChild0,
13510 : /* 24649*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13511 : /* 24652*/ OPC_RecordChild0, // #1 = $off
13512 : /* 24653*/ OPC_MoveChild0,
13513 : /* 24654*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13514 : /* 24657*/ OPC_MoveParent,
13515 : /* 24658*/ OPC_MoveParent,
13516 : /* 24659*/ OPC_RecordChild1, // #2 = $addr
13517 : /* 24660*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13518 : /* 24662*/ OPC_CheckType, MVT::i32,
13519 : /* 24664*/ OPC_MoveParent,
13520 : /* 24665*/ OPC_MoveChild2,
13521 : /* 24666*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13522 : /* 24669*/ OPC_RecordChild0, // #3 = $val
13523 : /* 24670*/ OPC_MoveParent,
13524 : /* 24671*/ OPC_Scope, 19, /*->24692*/ // 2 children in Scope
13525 : /* 24673*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13526 : /* 24675*/ OPC_MoveParent,
13527 : /* 24676*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13528 : /* 24678*/ OPC_EmitMergeInputChains1_0,
13529 : /* 24679*/ OPC_EmitInteger, MVT::i32, 0,
13530 : /* 24682*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13531 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13532 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 20
13533 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13534 : /* 24692*/ /*Scope*/ 19, /*->24712*/
13535 : /* 24693*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13536 : /* 24695*/ OPC_MoveParent,
13537 : /* 24696*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13538 : /* 24698*/ OPC_EmitMergeInputChains1_0,
13539 : /* 24699*/ OPC_EmitInteger, MVT::i32, 0,
13540 : /* 24702*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13541 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13542 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 20
13543 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13544 : /* 24712*/ 0, /*End of Scope*/
13545 : /* 24713*/ /*Scope*/ 63, /*->24777*/
13546 : /* 24714*/ OPC_RecordChild0, // #1 = $addr
13547 : /* 24715*/ OPC_MoveChild1,
13548 : /* 24716*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13549 : /* 24719*/ OPC_RecordChild0, // #2 = $off
13550 : /* 24720*/ OPC_MoveChild0,
13551 : /* 24721*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13552 : /* 24724*/ OPC_MoveParent,
13553 : /* 24725*/ OPC_MoveParent,
13554 : /* 24726*/ OPC_CheckType, MVT::i32,
13555 : /* 24728*/ OPC_MoveParent,
13556 : /* 24729*/ OPC_MoveChild2,
13557 : /* 24730*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13558 : /* 24733*/ OPC_RecordChild0, // #3 = $val
13559 : /* 24734*/ OPC_MoveParent,
13560 : /* 24735*/ OPC_Scope, 19, /*->24756*/ // 2 children in Scope
13561 : /* 24737*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13562 : /* 24739*/ OPC_MoveParent,
13563 : /* 24740*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13564 : /* 24742*/ OPC_EmitMergeInputChains1_0,
13565 : /* 24743*/ OPC_EmitInteger, MVT::i32, 0,
13566 : /* 24746*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13567 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13568 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 19
13569 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13570 : /* 24756*/ /*Scope*/ 19, /*->24776*/
13571 : /* 24757*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13572 : /* 24759*/ OPC_MoveParent,
13573 : /* 24760*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13574 : /* 24762*/ OPC_EmitMergeInputChains1_0,
13575 : /* 24763*/ OPC_EmitInteger, MVT::i32, 0,
13576 : /* 24766*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13577 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13578 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 19
13579 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13580 : /* 24776*/ 0, /*End of Scope*/
13581 : /* 24777*/ /*Scope*/ 63, /*->24841*/
13582 : /* 24778*/ OPC_MoveChild0,
13583 : /* 24779*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13584 : /* 24782*/ OPC_RecordChild0, // #1 = $off
13585 : /* 24783*/ OPC_MoveChild0,
13586 : /* 24784*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13587 : /* 24787*/ OPC_MoveParent,
13588 : /* 24788*/ OPC_MoveParent,
13589 : /* 24789*/ OPC_RecordChild1, // #2 = $addr
13590 : /* 24790*/ OPC_CheckType, MVT::i32,
13591 : /* 24792*/ OPC_MoveParent,
13592 : /* 24793*/ OPC_MoveChild2,
13593 : /* 24794*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13594 : /* 24797*/ OPC_RecordChild0, // #3 = $val
13595 : /* 24798*/ OPC_MoveParent,
13596 : /* 24799*/ OPC_Scope, 19, /*->24820*/ // 2 children in Scope
13597 : /* 24801*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13598 : /* 24803*/ OPC_MoveParent,
13599 : /* 24804*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13600 : /* 24806*/ OPC_EmitMergeInputChains1_0,
13601 : /* 24807*/ OPC_EmitInteger, MVT::i32, 0,
13602 : /* 24810*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13603 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13604 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 19
13605 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13606 : /* 24820*/ /*Scope*/ 19, /*->24840*/
13607 : /* 24821*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13608 : /* 24823*/ OPC_MoveParent,
13609 : /* 24824*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13610 : /* 24826*/ OPC_EmitMergeInputChains1_0,
13611 : /* 24827*/ OPC_EmitInteger, MVT::i32, 0,
13612 : /* 24830*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13613 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13614 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 19
13615 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13616 : /* 24840*/ 0, /*End of Scope*/
13617 : /* 24841*/ /*Scope*/ 64, /*->24906*/
13618 : /* 24842*/ OPC_RecordChild0, // #1 = $addr
13619 : /* 24843*/ OPC_RecordChild1, // #2 = $off
13620 : /* 24844*/ OPC_MoveChild1,
13621 : /* 24845*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13622 : /* 24848*/ OPC_MoveParent,
13623 : /* 24849*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
13624 : /* 24851*/ OPC_CheckType, MVT::i32,
13625 : /* 24853*/ OPC_MoveParent,
13626 : /* 24854*/ OPC_MoveChild2,
13627 : /* 24855*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13628 : /* 24858*/ OPC_RecordChild0, // #3 = $val
13629 : /* 24859*/ OPC_MoveParent,
13630 : /* 24860*/ OPC_Scope, 21, /*->24883*/ // 2 children in Scope
13631 : /* 24862*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13632 : /* 24864*/ OPC_MoveParent,
13633 : /* 24865*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13634 : /* 24867*/ OPC_EmitMergeInputChains1_0,
13635 : /* 24868*/ OPC_EmitInteger, MVT::i32, 0,
13636 : /* 24871*/ OPC_EmitConvertToTarget, 2,
13637 : /* 24873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13638 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13639 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
13640 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13641 : /* 24883*/ /*Scope*/ 21, /*->24905*/
13642 : /* 24884*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13643 : /* 24886*/ OPC_MoveParent,
13644 : /* 24887*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13645 : /* 24889*/ OPC_EmitMergeInputChains1_0,
13646 : /* 24890*/ OPC_EmitInteger, MVT::i32, 0,
13647 : /* 24893*/ OPC_EmitConvertToTarget, 2,
13648 : /* 24895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13649 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13650 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
13651 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13652 : /* 24905*/ 0, /*End of Scope*/
13653 : /* 24906*/ 0, /*End of Scope*/
13654 : /* 24907*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->24974
13655 : /* 24910*/ OPC_RecordChild0, // #1 = $addr
13656 : /* 24911*/ OPC_RecordChild1, // #2 = $off
13657 : /* 24912*/ OPC_MoveChild1,
13658 : /* 24913*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13659 : /* 24916*/ OPC_MoveParent,
13660 : /* 24917*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
13661 : /* 24919*/ OPC_CheckType, MVT::i32,
13662 : /* 24921*/ OPC_MoveParent,
13663 : /* 24922*/ OPC_MoveChild2,
13664 : /* 24923*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13665 : /* 24926*/ OPC_RecordChild0, // #3 = $val
13666 : /* 24927*/ OPC_MoveParent,
13667 : /* 24928*/ OPC_Scope, 21, /*->24951*/ // 2 children in Scope
13668 : /* 24930*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13669 : /* 24932*/ OPC_MoveParent,
13670 : /* 24933*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13671 : /* 24935*/ OPC_EmitMergeInputChains1_0,
13672 : /* 24936*/ OPC_EmitInteger, MVT::i32, 0,
13673 : /* 24939*/ OPC_EmitConvertToTarget, 2,
13674 : /* 24941*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13675 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13676 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
13677 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13678 : /* 24951*/ /*Scope*/ 21, /*->24973*/
13679 : /* 24952*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13680 : /* 24954*/ OPC_MoveParent,
13681 : /* 24955*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13682 : /* 24957*/ OPC_EmitMergeInputChains1_0,
13683 : /* 24958*/ OPC_EmitInteger, MVT::i32, 0,
13684 : /* 24961*/ OPC_EmitConvertToTarget, 2,
13685 : /* 24963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13686 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
13687 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
13688 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13689 : /* 24973*/ 0, /*End of Scope*/
13690 : /* 24974*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25128
13691 : /* 24978*/ OPC_RecordChild0, // #1 = $off
13692 : /* 24979*/ OPC_MoveChild0,
13693 : /* 24980*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->25054
13694 : /* 24984*/ OPC_MoveParent,
13695 : /* 24985*/ OPC_MoveParent,
13696 : /* 24986*/ OPC_MoveChild2,
13697 : /* 24987*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13698 : /* 24990*/ OPC_RecordChild0, // #2 = $val
13699 : /* 24991*/ OPC_MoveParent,
13700 : /* 24992*/ OPC_Scope, 29, /*->25023*/ // 2 children in Scope
13701 : /* 24994*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13702 : /* 24996*/ OPC_MoveParent,
13703 : /* 24997*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13704 : /* 24999*/ OPC_EmitMergeInputChains1_0,
13705 : /* 25000*/ OPC_EmitInteger, MVT::i32, 0,
13706 : /* 25003*/ OPC_EmitInteger, MVT::i32, 0,
13707 : /* 25006*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13708 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13709 : /* 25013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13710 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13711 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
13712 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13713 : /* 25023*/ /*Scope*/ 29, /*->25053*/
13714 : /* 25024*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13715 : /* 25026*/ OPC_MoveParent,
13716 : /* 25027*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13717 : /* 25029*/ OPC_EmitMergeInputChains1_0,
13718 : /* 25030*/ OPC_EmitInteger, MVT::i32, 0,
13719 : /* 25033*/ OPC_EmitInteger, MVT::i32, 0,
13720 : /* 25036*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13721 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13722 : /* 25043*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13723 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13724 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
13725 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13726 : /* 25053*/ 0, /*End of Scope*/
13727 : /* 25054*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->25127
13728 : /* 25057*/ OPC_MoveParent,
13729 : /* 25058*/ OPC_MoveParent,
13730 : /* 25059*/ OPC_MoveChild2,
13731 : /* 25060*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13732 : /* 25063*/ OPC_RecordChild0, // #2 = $val
13733 : /* 25064*/ OPC_MoveParent,
13734 : /* 25065*/ OPC_Scope, 29, /*->25096*/ // 2 children in Scope
13735 : /* 25067*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13736 : /* 25069*/ OPC_MoveParent,
13737 : /* 25070*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13738 : /* 25072*/ OPC_EmitMergeInputChains1_0,
13739 : /* 25073*/ OPC_EmitInteger, MVT::i32, 0,
13740 : /* 25076*/ OPC_EmitInteger, MVT::i32, 0,
13741 : /* 25079*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13742 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13743 : /* 25086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13744 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13745 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
13746 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13747 : /* 25096*/ /*Scope*/ 29, /*->25126*/
13748 : /* 25097*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13749 : /* 25099*/ OPC_MoveParent,
13750 : /* 25100*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13751 : /* 25102*/ OPC_EmitMergeInputChains1_0,
13752 : /* 25103*/ OPC_EmitInteger, MVT::i32, 0,
13753 : /* 25106*/ OPC_EmitInteger, MVT::i32, 0,
13754 : /* 25109*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13755 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
13756 : /* 25116*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13757 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
13758 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
13759 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13760 : /* 25126*/ 0, /*End of Scope*/
13761 : /* 25127*/ 0, // EndSwitchOpcode
13762 : /* 25128*/ 0, // EndSwitchOpcode
13763 : /* 25129*/ /*Scope*/ 10|128,1/*138*/, /*->25269*/
13764 : /* 25131*/ OPC_RecordChild1, // #1 = $off
13765 : /* 25132*/ OPC_Scope, 77, /*->25211*/ // 2 children in Scope
13766 : /* 25134*/ OPC_MoveChild1,
13767 : /* 25135*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13768 : /* 25138*/ OPC_MoveParent,
13769 : /* 25139*/ OPC_MoveChild2,
13770 : /* 25140*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13771 : /* 25143*/ OPC_RecordChild0, // #2 = $val
13772 : /* 25144*/ OPC_MoveParent,
13773 : /* 25145*/ OPC_Scope, 31, /*->25178*/ // 2 children in Scope
13774 : /* 25147*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13775 : /* 25149*/ OPC_MoveParent,
13776 : /* 25150*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13777 : /* 25152*/ OPC_EmitMergeInputChains1_0,
13778 : /* 25153*/ OPC_EmitInteger, MVT::i32, 0,
13779 : /* 25156*/ OPC_EmitConvertToTarget, 1,
13780 : /* 25158*/ OPC_EmitInteger, MVT::i32, 0,
13781 : /* 25161*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13782 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13783 : /* 25168*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13784 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13785 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 13
13786 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13787 : /* 25178*/ /*Scope*/ 31, /*->25210*/
13788 : /* 25179*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13789 : /* 25181*/ OPC_MoveParent,
13790 : /* 25182*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13791 : /* 25184*/ OPC_EmitMergeInputChains1_0,
13792 : /* 25185*/ OPC_EmitInteger, MVT::i32, 0,
13793 : /* 25188*/ OPC_EmitConvertToTarget, 1,
13794 : /* 25190*/ OPC_EmitInteger, MVT::i32, 0,
13795 : /* 25193*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
13796 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
13797 : /* 25200*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13798 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
13799 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 13
13800 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
13801 : /* 25210*/ 0, /*End of Scope*/
13802 : /* 25211*/ /*Scope*/ 56, /*->25268*/
13803 : /* 25212*/ OPC_CheckChild1Type, MVT::i32,
13804 : /* 25214*/ OPC_MoveChild2,
13805 : /* 25215*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13806 : /* 25218*/ OPC_RecordChild0, // #2 = $val
13807 : /* 25219*/ OPC_MoveParent,
13808 : /* 25220*/ OPC_Scope, 22, /*->25244*/ // 2 children in Scope
13809 : /* 25222*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
13810 : /* 25224*/ OPC_MoveParent,
13811 : /* 25225*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13812 : /* 25227*/ OPC_EmitMergeInputChains1_0,
13813 : /* 25228*/ OPC_EmitInteger, MVT::i32, 0,
13814 : /* 25231*/ OPC_EmitInteger, MVT::i32, 0,
13815 : /* 25234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13816 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13817 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 10
13818 : // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13819 : /* 25244*/ /*Scope*/ 22, /*->25267*/
13820 : /* 25245*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
13821 : /* 25247*/ OPC_MoveParent,
13822 : /* 25248*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13823 : /* 25250*/ OPC_EmitMergeInputChains1_0,
13824 : /* 25251*/ OPC_EmitInteger, MVT::i32, 0,
13825 : /* 25254*/ OPC_EmitInteger, MVT::i32, 0,
13826 : /* 25257*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
13827 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
13828 : // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 10
13829 : // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13830 : /* 25267*/ 0, /*End of Scope*/
13831 : /* 25268*/ 0, /*End of Scope*/
13832 : /* 25269*/ 0, /*End of Scope*/
13833 : /* 25270*/ /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->25975
13834 : /* 25274*/ OPC_RecordMemRef,
13835 : /* 25275*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
13836 : /* 25276*/ OPC_Scope, 43|128,4/*555*/, /*->25834*/ // 2 children in Scope
13837 : /* 25279*/ OPC_MoveChild1,
13838 : /* 25280*/ OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->25612
13839 : /* 25285*/ OPC_Scope, 65, /*->25352*/ // 5 children in Scope
13840 : /* 25287*/ OPC_RecordChild0, // #1 = $addr
13841 : /* 25288*/ OPC_MoveChild1,
13842 : /* 25289*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13843 : /* 25292*/ OPC_RecordChild0, // #2 = $off
13844 : /* 25293*/ OPC_MoveChild0,
13845 : /* 25294*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13846 : /* 25297*/ OPC_MoveParent,
13847 : /* 25298*/ OPC_MoveParent,
13848 : /* 25299*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13849 : /* 25301*/ OPC_CheckType, MVT::i32,
13850 : /* 25303*/ OPC_MoveParent,
13851 : /* 25304*/ OPC_MoveChild2,
13852 : /* 25305*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13853 : /* 25308*/ OPC_RecordChild0, // #3 = $val
13854 : /* 25309*/ OPC_MoveParent,
13855 : /* 25310*/ OPC_Scope, 19, /*->25331*/ // 2 children in Scope
13856 : /* 25312*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
13857 : /* 25314*/ OPC_MoveParent,
13858 : /* 25315*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13859 : /* 25317*/ OPC_EmitMergeInputChains1_0,
13860 : /* 25318*/ OPC_EmitInteger, MVT::i32, 0,
13861 : /* 25321*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13862 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13863 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 20
13864 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13865 : /* 25331*/ /*Scope*/ 19, /*->25351*/
13866 : /* 25332*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
13867 : /* 25334*/ OPC_MoveParent,
13868 : /* 25335*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13869 : /* 25337*/ OPC_EmitMergeInputChains1_0,
13870 : /* 25338*/ OPC_EmitInteger, MVT::i32, 0,
13871 : /* 25341*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13872 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13873 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 20
13874 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13875 : /* 25351*/ 0, /*End of Scope*/
13876 : /* 25352*/ /*Scope*/ 65, /*->25418*/
13877 : /* 25353*/ OPC_MoveChild0,
13878 : /* 25354*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13879 : /* 25357*/ OPC_RecordChild0, // #1 = $off
13880 : /* 25358*/ OPC_MoveChild0,
13881 : /* 25359*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
13882 : /* 25362*/ OPC_MoveParent,
13883 : /* 25363*/ OPC_MoveParent,
13884 : /* 25364*/ OPC_RecordChild1, // #2 = $addr
13885 : /* 25365*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
13886 : /* 25367*/ OPC_CheckType, MVT::i32,
13887 : /* 25369*/ OPC_MoveParent,
13888 : /* 25370*/ OPC_MoveChild2,
13889 : /* 25371*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13890 : /* 25374*/ OPC_RecordChild0, // #3 = $val
13891 : /* 25375*/ OPC_MoveParent,
13892 : /* 25376*/ OPC_Scope, 19, /*->25397*/ // 2 children in Scope
13893 : /* 25378*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
13894 : /* 25380*/ OPC_MoveParent,
13895 : /* 25381*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13896 : /* 25383*/ OPC_EmitMergeInputChains1_0,
13897 : /* 25384*/ OPC_EmitInteger, MVT::i32, 0,
13898 : /* 25387*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13899 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13900 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 20
13901 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13902 : /* 25397*/ /*Scope*/ 19, /*->25417*/
13903 : /* 25398*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
13904 : /* 25400*/ OPC_MoveParent,
13905 : /* 25401*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13906 : /* 25403*/ OPC_EmitMergeInputChains1_0,
13907 : /* 25404*/ OPC_EmitInteger, MVT::i32, 0,
13908 : /* 25407*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13909 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13910 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 20
13911 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13912 : /* 25417*/ 0, /*End of Scope*/
13913 : /* 25418*/ /*Scope*/ 63, /*->25482*/
13914 : /* 25419*/ OPC_RecordChild0, // #1 = $addr
13915 : /* 25420*/ OPC_MoveChild1,
13916 : /* 25421*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13917 : /* 25424*/ OPC_RecordChild0, // #2 = $off
13918 : /* 25425*/ OPC_MoveChild0,
13919 : /* 25426*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13920 : /* 25429*/ OPC_MoveParent,
13921 : /* 25430*/ OPC_MoveParent,
13922 : /* 25431*/ OPC_CheckType, MVT::i32,
13923 : /* 25433*/ OPC_MoveParent,
13924 : /* 25434*/ OPC_MoveChild2,
13925 : /* 25435*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13926 : /* 25438*/ OPC_RecordChild0, // #3 = $val
13927 : /* 25439*/ OPC_MoveParent,
13928 : /* 25440*/ OPC_Scope, 19, /*->25461*/ // 2 children in Scope
13929 : /* 25442*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
13930 : /* 25444*/ OPC_MoveParent,
13931 : /* 25445*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13932 : /* 25447*/ OPC_EmitMergeInputChains1_0,
13933 : /* 25448*/ OPC_EmitInteger, MVT::i32, 0,
13934 : /* 25451*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13935 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13936 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 19
13937 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13938 : /* 25461*/ /*Scope*/ 19, /*->25481*/
13939 : /* 25462*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
13940 : /* 25464*/ OPC_MoveParent,
13941 : /* 25465*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13942 : /* 25467*/ OPC_EmitMergeInputChains1_0,
13943 : /* 25468*/ OPC_EmitInteger, MVT::i32, 0,
13944 : /* 25471*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13945 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
13946 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 19
13947 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13948 : /* 25481*/ 0, /*End of Scope*/
13949 : /* 25482*/ /*Scope*/ 63, /*->25546*/
13950 : /* 25483*/ OPC_MoveChild0,
13951 : /* 25484*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
13952 : /* 25487*/ OPC_RecordChild0, // #1 = $off
13953 : /* 25488*/ OPC_MoveChild0,
13954 : /* 25489*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
13955 : /* 25492*/ OPC_MoveParent,
13956 : /* 25493*/ OPC_MoveParent,
13957 : /* 25494*/ OPC_RecordChild1, // #2 = $addr
13958 : /* 25495*/ OPC_CheckType, MVT::i32,
13959 : /* 25497*/ OPC_MoveParent,
13960 : /* 25498*/ OPC_MoveChild2,
13961 : /* 25499*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13962 : /* 25502*/ OPC_RecordChild0, // #3 = $val
13963 : /* 25503*/ OPC_MoveParent,
13964 : /* 25504*/ OPC_Scope, 19, /*->25525*/ // 2 children in Scope
13965 : /* 25506*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
13966 : /* 25508*/ OPC_MoveParent,
13967 : /* 25509*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13968 : /* 25511*/ OPC_EmitMergeInputChains1_0,
13969 : /* 25512*/ OPC_EmitInteger, MVT::i32, 0,
13970 : /* 25515*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13971 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13972 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 19
13973 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13974 : /* 25525*/ /*Scope*/ 19, /*->25545*/
13975 : /* 25526*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
13976 : /* 25528*/ OPC_MoveParent,
13977 : /* 25529*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
13978 : /* 25531*/ OPC_EmitMergeInputChains1_0,
13979 : /* 25532*/ OPC_EmitInteger, MVT::i32, 0,
13980 : /* 25535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
13981 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
13982 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 19
13983 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
13984 : /* 25545*/ 0, /*End of Scope*/
13985 : /* 25546*/ /*Scope*/ 64, /*->25611*/
13986 : /* 25547*/ OPC_RecordChild0, // #1 = $addr
13987 : /* 25548*/ OPC_RecordChild1, // #2 = $off
13988 : /* 25549*/ OPC_MoveChild1,
13989 : /* 25550*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13990 : /* 25553*/ OPC_MoveParent,
13991 : /* 25554*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
13992 : /* 25556*/ OPC_CheckType, MVT::i32,
13993 : /* 25558*/ OPC_MoveParent,
13994 : /* 25559*/ OPC_MoveChild2,
13995 : /* 25560*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
13996 : /* 25563*/ OPC_RecordChild0, // #3 = $val
13997 : /* 25564*/ OPC_MoveParent,
13998 : /* 25565*/ OPC_Scope, 21, /*->25588*/ // 2 children in Scope
13999 : /* 25567*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14000 : /* 25569*/ OPC_MoveParent,
14001 : /* 25570*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14002 : /* 25572*/ OPC_EmitMergeInputChains1_0,
14003 : /* 25573*/ OPC_EmitInteger, MVT::i32, 0,
14004 : /* 25576*/ OPC_EmitConvertToTarget, 2,
14005 : /* 25578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14006 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
14007 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
14008 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14009 : /* 25588*/ /*Scope*/ 21, /*->25610*/
14010 : /* 25589*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14011 : /* 25591*/ OPC_MoveParent,
14012 : /* 25592*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14013 : /* 25594*/ OPC_EmitMergeInputChains1_0,
14014 : /* 25595*/ OPC_EmitInteger, MVT::i32, 0,
14015 : /* 25598*/ OPC_EmitConvertToTarget, 2,
14016 : /* 25600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14017 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
14018 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
14019 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14020 : /* 25610*/ 0, /*End of Scope*/
14021 : /* 25611*/ 0, /*End of Scope*/
14022 : /* 25612*/ /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->25679
14023 : /* 25615*/ OPC_RecordChild0, // #1 = $addr
14024 : /* 25616*/ OPC_RecordChild1, // #2 = $off
14025 : /* 25617*/ OPC_MoveChild1,
14026 : /* 25618*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14027 : /* 25621*/ OPC_MoveParent,
14028 : /* 25622*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
14029 : /* 25624*/ OPC_CheckType, MVT::i32,
14030 : /* 25626*/ OPC_MoveParent,
14031 : /* 25627*/ OPC_MoveChild2,
14032 : /* 25628*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14033 : /* 25631*/ OPC_RecordChild0, // #3 = $val
14034 : /* 25632*/ OPC_MoveParent,
14035 : /* 25633*/ OPC_Scope, 21, /*->25656*/ // 2 children in Scope
14036 : /* 25635*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14037 : /* 25637*/ OPC_MoveParent,
14038 : /* 25638*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14039 : /* 25640*/ OPC_EmitMergeInputChains1_0,
14040 : /* 25641*/ OPC_EmitInteger, MVT::i32, 0,
14041 : /* 25644*/ OPC_EmitConvertToTarget, 2,
14042 : /* 25646*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14043 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
14044 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
14045 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14046 : /* 25656*/ /*Scope*/ 21, /*->25678*/
14047 : /* 25657*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14048 : /* 25659*/ OPC_MoveParent,
14049 : /* 25660*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14050 : /* 25662*/ OPC_EmitMergeInputChains1_0,
14051 : /* 25663*/ OPC_EmitInteger, MVT::i32, 0,
14052 : /* 25666*/ OPC_EmitConvertToTarget, 2,
14053 : /* 25668*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14054 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
14055 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
14056 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14057 : /* 25678*/ 0, /*End of Scope*/
14058 : /* 25679*/ /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25833
14059 : /* 25683*/ OPC_RecordChild0, // #1 = $off
14060 : /* 25684*/ OPC_MoveChild0,
14061 : /* 25685*/ OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->25759
14062 : /* 25689*/ OPC_MoveParent,
14063 : /* 25690*/ OPC_MoveParent,
14064 : /* 25691*/ OPC_MoveChild2,
14065 : /* 25692*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14066 : /* 25695*/ OPC_RecordChild0, // #2 = $val
14067 : /* 25696*/ OPC_MoveParent,
14068 : /* 25697*/ OPC_Scope, 29, /*->25728*/ // 2 children in Scope
14069 : /* 25699*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14070 : /* 25701*/ OPC_MoveParent,
14071 : /* 25702*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14072 : /* 25704*/ OPC_EmitMergeInputChains1_0,
14073 : /* 25705*/ OPC_EmitInteger, MVT::i32, 0,
14074 : /* 25708*/ OPC_EmitInteger, MVT::i32, 0,
14075 : /* 25711*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14076 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14077 : /* 25718*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14078 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
14079 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
14080 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14081 : /* 25728*/ /*Scope*/ 29, /*->25758*/
14082 : /* 25729*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14083 : /* 25731*/ OPC_MoveParent,
14084 : /* 25732*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14085 : /* 25734*/ OPC_EmitMergeInputChains1_0,
14086 : /* 25735*/ OPC_EmitInteger, MVT::i32, 0,
14087 : /* 25738*/ OPC_EmitInteger, MVT::i32, 0,
14088 : /* 25741*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14089 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14090 : /* 25748*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14091 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
14092 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
14093 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14094 : /* 25758*/ 0, /*End of Scope*/
14095 : /* 25759*/ /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->25832
14096 : /* 25762*/ OPC_MoveParent,
14097 : /* 25763*/ OPC_MoveParent,
14098 : /* 25764*/ OPC_MoveChild2,
14099 : /* 25765*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14100 : /* 25768*/ OPC_RecordChild0, // #2 = $val
14101 : /* 25769*/ OPC_MoveParent,
14102 : /* 25770*/ OPC_Scope, 29, /*->25801*/ // 2 children in Scope
14103 : /* 25772*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14104 : /* 25774*/ OPC_MoveParent,
14105 : /* 25775*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14106 : /* 25777*/ OPC_EmitMergeInputChains1_0,
14107 : /* 25778*/ OPC_EmitInteger, MVT::i32, 0,
14108 : /* 25781*/ OPC_EmitInteger, MVT::i32, 0,
14109 : /* 25784*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14110 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14111 : /* 25791*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14112 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
14113 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
14114 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14115 : /* 25801*/ /*Scope*/ 29, /*->25831*/
14116 : /* 25802*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14117 : /* 25804*/ OPC_MoveParent,
14118 : /* 25805*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14119 : /* 25807*/ OPC_EmitMergeInputChains1_0,
14120 : /* 25808*/ OPC_EmitInteger, MVT::i32, 0,
14121 : /* 25811*/ OPC_EmitInteger, MVT::i32, 0,
14122 : /* 25814*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14123 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14124 : /* 25821*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14125 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
14126 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
14127 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14128 : /* 25831*/ 0, /*End of Scope*/
14129 : /* 25832*/ 0, // EndSwitchOpcode
14130 : /* 25833*/ 0, // EndSwitchOpcode
14131 : /* 25834*/ /*Scope*/ 10|128,1/*138*/, /*->25974*/
14132 : /* 25836*/ OPC_RecordChild1, // #1 = $off
14133 : /* 25837*/ OPC_Scope, 77, /*->25916*/ // 2 children in Scope
14134 : /* 25839*/ OPC_MoveChild1,
14135 : /* 25840*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14136 : /* 25843*/ OPC_MoveParent,
14137 : /* 25844*/ OPC_MoveChild2,
14138 : /* 25845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14139 : /* 25848*/ OPC_RecordChild0, // #2 = $val
14140 : /* 25849*/ OPC_MoveParent,
14141 : /* 25850*/ OPC_Scope, 31, /*->25883*/ // 2 children in Scope
14142 : /* 25852*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14143 : /* 25854*/ OPC_MoveParent,
14144 : /* 25855*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14145 : /* 25857*/ OPC_EmitMergeInputChains1_0,
14146 : /* 25858*/ OPC_EmitInteger, MVT::i32, 0,
14147 : /* 25861*/ OPC_EmitConvertToTarget, 1,
14148 : /* 25863*/ OPC_EmitInteger, MVT::i32, 0,
14149 : /* 25866*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14150 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
14151 : /* 25873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14152 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
14153 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 13
14154 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14155 : /* 25883*/ /*Scope*/ 31, /*->25915*/
14156 : /* 25884*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14157 : /* 25886*/ OPC_MoveParent,
14158 : /* 25887*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14159 : /* 25889*/ OPC_EmitMergeInputChains1_0,
14160 : /* 25890*/ OPC_EmitInteger, MVT::i32, 0,
14161 : /* 25893*/ OPC_EmitConvertToTarget, 1,
14162 : /* 25895*/ OPC_EmitInteger, MVT::i32, 0,
14163 : /* 25898*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14164 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
14165 : /* 25905*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14166 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
14167 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 13
14168 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
14169 : /* 25915*/ 0, /*End of Scope*/
14170 : /* 25916*/ /*Scope*/ 56, /*->25973*/
14171 : /* 25917*/ OPC_CheckChild1Type, MVT::i32,
14172 : /* 25919*/ OPC_MoveChild2,
14173 : /* 25920*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
14174 : /* 25923*/ OPC_RecordChild0, // #2 = $val
14175 : /* 25924*/ OPC_MoveParent,
14176 : /* 25925*/ OPC_Scope, 22, /*->25949*/ // 2 children in Scope
14177 : /* 25927*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
14178 : /* 25929*/ OPC_MoveParent,
14179 : /* 25930*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14180 : /* 25932*/ OPC_EmitMergeInputChains1_0,
14181 : /* 25933*/ OPC_EmitInteger, MVT::i32, 0,
14182 : /* 25936*/ OPC_EmitInteger, MVT::i32, 0,
14183 : /* 25939*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14184 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
14185 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 10
14186 : // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14187 : /* 25949*/ /*Scope*/ 22, /*->25972*/
14188 : /* 25950*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
14189 : /* 25952*/ OPC_MoveParent,
14190 : /* 25953*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14191 : /* 25955*/ OPC_EmitMergeInputChains1_0,
14192 : /* 25956*/ OPC_EmitInteger, MVT::i32, 0,
14193 : /* 25959*/ OPC_EmitInteger, MVT::i32, 0,
14194 : /* 25962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
14195 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
14196 : // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 10
14197 : // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
14198 : /* 25972*/ 0, /*End of Scope*/
14199 : /* 25973*/ 0, /*End of Scope*/
14200 : /* 25974*/ 0, /*End of Scope*/
14201 : /* 25975*/ /*SwitchOpcode*/ 108|128,4/*620*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->26599
14202 : /* 25979*/ OPC_RecordMemRef,
14203 : /* 25980*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
14204 : /* 25981*/ OPC_Scope, 107|128,3/*491*/, /*->26475*/ // 2 children in Scope
14205 : /* 25984*/ OPC_MoveChild1,
14206 : /* 25985*/ OPC_SwitchOpcode /*3 cases */, 31|128,2/*287*/, TARGET_VAL(ISD::ADD),// ->26277
14207 : /* 25990*/ OPC_Scope, 57, /*->26049*/ // 5 children in Scope
14208 : /* 25992*/ OPC_RecordChild0, // #1 = $addr
14209 : /* 25993*/ OPC_MoveChild1,
14210 : /* 25994*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14211 : /* 25997*/ OPC_RecordChild0, // #2 = $off
14212 : /* 25998*/ OPC_MoveChild0,
14213 : /* 25999*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14214 : /* 26002*/ OPC_MoveParent,
14215 : /* 26003*/ OPC_MoveParent,
14216 : /* 26004*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14217 : /* 26006*/ OPC_CheckType, MVT::i32,
14218 : /* 26008*/ OPC_MoveParent,
14219 : /* 26009*/ OPC_Scope, 18, /*->26029*/ // 2 children in Scope
14220 : /* 26011*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14221 : /* 26013*/ OPC_MoveParent,
14222 : /* 26014*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14223 : /* 26016*/ OPC_EmitMergeInputChains1_0,
14224 : /* 26017*/ OPC_EmitInteger, MVT::i32, 0,
14225 : /* 26020*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14226 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
14227 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>) - Complexity = 17
14228 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14229 : /* 26029*/ /*Scope*/ 18, /*->26048*/
14230 : /* 26030*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14231 : /* 26032*/ OPC_MoveParent,
14232 : /* 26033*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14233 : /* 26035*/ OPC_EmitMergeInputChains1_0,
14234 : /* 26036*/ OPC_EmitInteger, MVT::i32, 0,
14235 : /* 26039*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14236 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
14237 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>) - Complexity = 17
14238 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14239 : /* 26048*/ 0, /*End of Scope*/
14240 : /* 26049*/ /*Scope*/ 57, /*->26107*/
14241 : /* 26050*/ OPC_MoveChild0,
14242 : /* 26051*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14243 : /* 26054*/ OPC_RecordChild0, // #1 = $off
14244 : /* 26055*/ OPC_MoveChild0,
14245 : /* 26056*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14246 : /* 26059*/ OPC_MoveParent,
14247 : /* 26060*/ OPC_MoveParent,
14248 : /* 26061*/ OPC_RecordChild1, // #2 = $addr
14249 : /* 26062*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14250 : /* 26064*/ OPC_CheckType, MVT::i32,
14251 : /* 26066*/ OPC_MoveParent,
14252 : /* 26067*/ OPC_Scope, 18, /*->26087*/ // 2 children in Scope
14253 : /* 26069*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14254 : /* 26071*/ OPC_MoveParent,
14255 : /* 26072*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14256 : /* 26074*/ OPC_EmitMergeInputChains1_0,
14257 : /* 26075*/ OPC_EmitInteger, MVT::i32, 0,
14258 : /* 26078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14259 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
14260 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>) - Complexity = 17
14261 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14262 : /* 26087*/ /*Scope*/ 18, /*->26106*/
14263 : /* 26088*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14264 : /* 26090*/ OPC_MoveParent,
14265 : /* 26091*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14266 : /* 26093*/ OPC_EmitMergeInputChains1_0,
14267 : /* 26094*/ OPC_EmitInteger, MVT::i32, 0,
14268 : /* 26097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14269 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
14270 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>) - Complexity = 17
14271 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14272 : /* 26106*/ 0, /*End of Scope*/
14273 : /* 26107*/ /*Scope*/ 55, /*->26163*/
14274 : /* 26108*/ OPC_RecordChild0, // #1 = $addr
14275 : /* 26109*/ OPC_MoveChild1,
14276 : /* 26110*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14277 : /* 26113*/ OPC_RecordChild0, // #2 = $off
14278 : /* 26114*/ OPC_MoveChild0,
14279 : /* 26115*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14280 : /* 26118*/ OPC_MoveParent,
14281 : /* 26119*/ OPC_MoveParent,
14282 : /* 26120*/ OPC_CheckType, MVT::i32,
14283 : /* 26122*/ OPC_MoveParent,
14284 : /* 26123*/ OPC_Scope, 18, /*->26143*/ // 2 children in Scope
14285 : /* 26125*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14286 : /* 26127*/ OPC_MoveParent,
14287 : /* 26128*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14288 : /* 26130*/ OPC_EmitMergeInputChains1_0,
14289 : /* 26131*/ OPC_EmitInteger, MVT::i32, 0,
14290 : /* 26134*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14291 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
14292 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>) - Complexity = 16
14293 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14294 : /* 26143*/ /*Scope*/ 18, /*->26162*/
14295 : /* 26144*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14296 : /* 26146*/ OPC_MoveParent,
14297 : /* 26147*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14298 : /* 26149*/ OPC_EmitMergeInputChains1_0,
14299 : /* 26150*/ OPC_EmitInteger, MVT::i32, 0,
14300 : /* 26153*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14301 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
14302 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>) - Complexity = 16
14303 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14304 : /* 26162*/ 0, /*End of Scope*/
14305 : /* 26163*/ /*Scope*/ 55, /*->26219*/
14306 : /* 26164*/ OPC_MoveChild0,
14307 : /* 26165*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14308 : /* 26168*/ OPC_RecordChild0, // #1 = $off
14309 : /* 26169*/ OPC_MoveChild0,
14310 : /* 26170*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14311 : /* 26173*/ OPC_MoveParent,
14312 : /* 26174*/ OPC_MoveParent,
14313 : /* 26175*/ OPC_RecordChild1, // #2 = $addr
14314 : /* 26176*/ OPC_CheckType, MVT::i32,
14315 : /* 26178*/ OPC_MoveParent,
14316 : /* 26179*/ OPC_Scope, 18, /*->26199*/ // 2 children in Scope
14317 : /* 26181*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14318 : /* 26183*/ OPC_MoveParent,
14319 : /* 26184*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14320 : /* 26186*/ OPC_EmitMergeInputChains1_0,
14321 : /* 26187*/ OPC_EmitInteger, MVT::i32, 0,
14322 : /* 26190*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14323 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
14324 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>) - Complexity = 16
14325 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14326 : /* 26199*/ /*Scope*/ 18, /*->26218*/
14327 : /* 26200*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14328 : /* 26202*/ OPC_MoveParent,
14329 : /* 26203*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14330 : /* 26205*/ OPC_EmitMergeInputChains1_0,
14331 : /* 26206*/ OPC_EmitInteger, MVT::i32, 0,
14332 : /* 26209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14333 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
14334 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>) - Complexity = 16
14335 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14336 : /* 26218*/ 0, /*End of Scope*/
14337 : /* 26219*/ /*Scope*/ 56, /*->26276*/
14338 : /* 26220*/ OPC_RecordChild0, // #1 = $addr
14339 : /* 26221*/ OPC_RecordChild1, // #2 = $off
14340 : /* 26222*/ OPC_MoveChild1,
14341 : /* 26223*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14342 : /* 26226*/ OPC_MoveParent,
14343 : /* 26227*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
14344 : /* 26229*/ OPC_CheckType, MVT::i32,
14345 : /* 26231*/ OPC_MoveParent,
14346 : /* 26232*/ OPC_Scope, 20, /*->26254*/ // 2 children in Scope
14347 : /* 26234*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14348 : /* 26236*/ OPC_MoveParent,
14349 : /* 26237*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14350 : /* 26239*/ OPC_EmitMergeInputChains1_0,
14351 : /* 26240*/ OPC_EmitInteger, MVT::i32, 0,
14352 : /* 26243*/ OPC_EmitConvertToTarget, 2,
14353 : /* 26245*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14354 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
14355 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
14356 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14357 : /* 26254*/ /*Scope*/ 20, /*->26275*/
14358 : /* 26255*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14359 : /* 26257*/ OPC_MoveParent,
14360 : /* 26258*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14361 : /* 26260*/ OPC_EmitMergeInputChains1_0,
14362 : /* 26261*/ OPC_EmitInteger, MVT::i32, 0,
14363 : /* 26264*/ OPC_EmitConvertToTarget, 2,
14364 : /* 26266*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14365 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
14366 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
14367 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14368 : /* 26275*/ 0, /*End of Scope*/
14369 : /* 26276*/ 0, /*End of Scope*/
14370 : /* 26277*/ /*SwitchOpcode*/ 56, TARGET_VAL(ISD::OR),// ->26336
14371 : /* 26280*/ OPC_RecordChild0, // #1 = $addr
14372 : /* 26281*/ OPC_RecordChild1, // #2 = $off
14373 : /* 26282*/ OPC_MoveChild1,
14374 : /* 26283*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14375 : /* 26286*/ OPC_MoveParent,
14376 : /* 26287*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
14377 : /* 26289*/ OPC_CheckType, MVT::i32,
14378 : /* 26291*/ OPC_MoveParent,
14379 : /* 26292*/ OPC_Scope, 20, /*->26314*/ // 2 children in Scope
14380 : /* 26294*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14381 : /* 26296*/ OPC_MoveParent,
14382 : /* 26297*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14383 : /* 26299*/ OPC_EmitMergeInputChains1_0,
14384 : /* 26300*/ OPC_EmitInteger, MVT::i32, 0,
14385 : /* 26303*/ OPC_EmitConvertToTarget, 2,
14386 : /* 26305*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14387 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
14388 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
14389 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14390 : /* 26314*/ /*Scope*/ 20, /*->26335*/
14391 : /* 26315*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14392 : /* 26317*/ OPC_MoveParent,
14393 : /* 26318*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14394 : /* 26320*/ OPC_EmitMergeInputChains1_0,
14395 : /* 26321*/ OPC_EmitInteger, MVT::i32, 0,
14396 : /* 26324*/ OPC_EmitConvertToTarget, 2,
14397 : /* 26326*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14398 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
14399 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
14400 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
14401 : /* 26335*/ 0, /*End of Scope*/
14402 : /* 26336*/ /*SwitchOpcode*/ 6|128,1/*134*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->26474
14403 : /* 26340*/ OPC_RecordChild0, // #1 = $off
14404 : /* 26341*/ OPC_MoveChild0,
14405 : /* 26342*/ OPC_SwitchOpcode /*2 cases */, 62, TARGET_VAL(ISD::TargetGlobalAddress),// ->26408
14406 : /* 26346*/ OPC_MoveParent,
14407 : /* 26347*/ OPC_MoveParent,
14408 : /* 26348*/ OPC_Scope, 28, /*->26378*/ // 2 children in Scope
14409 : /* 26350*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14410 : /* 26352*/ OPC_MoveParent,
14411 : /* 26353*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14412 : /* 26355*/ OPC_EmitMergeInputChains1_0,
14413 : /* 26356*/ OPC_EmitInteger, MVT::i32, 0,
14414 : /* 26359*/ OPC_EmitInteger, MVT::i32, 0,
14415 : /* 26362*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14416 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
14417 : /* 26369*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14418 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
14419 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
14420 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14421 : /* 26378*/ /*Scope*/ 28, /*->26407*/
14422 : /* 26379*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14423 : /* 26381*/ OPC_MoveParent,
14424 : /* 26382*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14425 : /* 26384*/ OPC_EmitMergeInputChains1_0,
14426 : /* 26385*/ OPC_EmitInteger, MVT::i32, 0,
14427 : /* 26388*/ OPC_EmitInteger, MVT::i32, 0,
14428 : /* 26391*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14429 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
14430 : /* 26398*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14431 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
14432 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
14433 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14434 : /* 26407*/ 0, /*End of Scope*/
14435 : /* 26408*/ /*SwitchOpcode*/ 62, TARGET_VAL(ISD::TargetExternalSymbol),// ->26473
14436 : /* 26411*/ OPC_MoveParent,
14437 : /* 26412*/ OPC_MoveParent,
14438 : /* 26413*/ OPC_Scope, 28, /*->26443*/ // 2 children in Scope
14439 : /* 26415*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14440 : /* 26417*/ OPC_MoveParent,
14441 : /* 26418*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14442 : /* 26420*/ OPC_EmitMergeInputChains1_0,
14443 : /* 26421*/ OPC_EmitInteger, MVT::i32, 0,
14444 : /* 26424*/ OPC_EmitInteger, MVT::i32, 0,
14445 : /* 26427*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14446 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
14447 : /* 26434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14448 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
14449 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
14450 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14451 : /* 26443*/ /*Scope*/ 28, /*->26472*/
14452 : /* 26444*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14453 : /* 26446*/ OPC_MoveParent,
14454 : /* 26447*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14455 : /* 26449*/ OPC_EmitMergeInputChains1_0,
14456 : /* 26450*/ OPC_EmitInteger, MVT::i32, 0,
14457 : /* 26453*/ OPC_EmitInteger, MVT::i32, 0,
14458 : /* 26456*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14459 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
14460 : /* 26463*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14461 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
14462 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
14463 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14464 : /* 26472*/ 0, /*End of Scope*/
14465 : /* 26473*/ 0, // EndSwitchOpcode
14466 : /* 26474*/ 0, // EndSwitchOpcode
14467 : /* 26475*/ /*Scope*/ 122, /*->26598*/
14468 : /* 26476*/ OPC_RecordChild1, // #1 = $off
14469 : /* 26477*/ OPC_Scope, 69, /*->26548*/ // 2 children in Scope
14470 : /* 26479*/ OPC_MoveChild1,
14471 : /* 26480*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14472 : /* 26483*/ OPC_MoveParent,
14473 : /* 26484*/ OPC_Scope, 30, /*->26516*/ // 2 children in Scope
14474 : /* 26486*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14475 : /* 26488*/ OPC_MoveParent,
14476 : /* 26489*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14477 : /* 26491*/ OPC_EmitMergeInputChains1_0,
14478 : /* 26492*/ OPC_EmitInteger, MVT::i32, 0,
14479 : /* 26495*/ OPC_EmitConvertToTarget, 1,
14480 : /* 26497*/ OPC_EmitInteger, MVT::i32, 0,
14481 : /* 26500*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14482 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14483 : /* 26507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14484 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
14485 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>) - Complexity = 10
14486 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14487 : /* 26516*/ /*Scope*/ 30, /*->26547*/
14488 : /* 26517*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14489 : /* 26519*/ OPC_MoveParent,
14490 : /* 26520*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14491 : /* 26522*/ OPC_EmitMergeInputChains1_0,
14492 : /* 26523*/ OPC_EmitInteger, MVT::i32, 0,
14493 : /* 26526*/ OPC_EmitConvertToTarget, 1,
14494 : /* 26528*/ OPC_EmitInteger, MVT::i32, 0,
14495 : /* 26531*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14496 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14497 : /* 26538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14498 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
14499 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>) - Complexity = 10
14500 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
14501 : /* 26547*/ 0, /*End of Scope*/
14502 : /* 26548*/ /*Scope*/ 48, /*->26597*/
14503 : /* 26549*/ OPC_CheckChild1Type, MVT::i32,
14504 : /* 26551*/ OPC_Scope, 21, /*->26574*/ // 2 children in Scope
14505 : /* 26553*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
14506 : /* 26555*/ OPC_MoveParent,
14507 : /* 26556*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14508 : /* 26558*/ OPC_EmitMergeInputChains1_0,
14509 : /* 26559*/ OPC_EmitInteger, MVT::i32, 0,
14510 : /* 26562*/ OPC_EmitInteger, MVT::i32, 0,
14511 : /* 26565*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14512 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
14513 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>) - Complexity = 7
14514 : // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
14515 : /* 26574*/ /*Scope*/ 21, /*->26596*/
14516 : /* 26575*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
14517 : /* 26577*/ OPC_MoveParent,
14518 : /* 26578*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14519 : /* 26580*/ OPC_EmitMergeInputChains1_0,
14520 : /* 26581*/ OPC_EmitInteger, MVT::i32, 0,
14521 : /* 26584*/ OPC_EmitInteger, MVT::i32, 0,
14522 : /* 26587*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
14523 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
14524 : // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>) - Complexity = 7
14525 : // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
14526 : /* 26596*/ 0, /*End of Scope*/
14527 : /* 26597*/ 0, /*End of Scope*/
14528 : /* 26598*/ 0, /*End of Scope*/
14529 : /* 26599*/ 0, // EndSwitchOpcode
14530 : /* 26600*/ /*Scope*/ 8, /*->26609*/
14531 : /* 26601*/ OPC_RecordChild0, // #0 = $src
14532 : /* 26602*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
14533 : MVT::i64, 1/*#Ops*/, 0,
14534 : // Src: (anyext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
14535 : // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
14536 : /* 26609*/ 0, /*End of Scope*/
14537 : /* 26610*/ /*SwitchOpcode*/ 26|128,10/*1306*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->27920
14538 : /* 26614*/ OPC_Scope, 1|128,7/*897*/, /*->27514*/ // 5 children in Scope
14539 : /* 26617*/ OPC_RecordMemRef,
14540 : /* 26618*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
14541 : /* 26619*/ OPC_Scope, 29|128,2/*285*/, /*->26907*/ // 3 children in Scope
14542 : /* 26622*/ OPC_CheckChild1Integer, 50|128,42/*5426*/,
14543 : /* 26625*/ OPC_MoveChild2,
14544 : /* 26626*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->26801
14545 : /* 26631*/ OPC_Scope, 34, /*->26667*/ // 5 children in Scope
14546 : /* 26633*/ OPC_RecordChild0, // #1 = $addr
14547 : /* 26634*/ OPC_MoveChild1,
14548 : /* 26635*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14549 : /* 26638*/ OPC_RecordChild0, // #2 = $off
14550 : /* 26639*/ OPC_MoveChild0,
14551 : /* 26640*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14552 : /* 26643*/ OPC_MoveParent,
14553 : /* 26644*/ OPC_MoveParent,
14554 : /* 26645*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14555 : /* 26647*/ OPC_CheckType, MVT::i32,
14556 : /* 26649*/ OPC_MoveParent,
14557 : /* 26650*/ OPC_RecordChild3, // #3 = $count
14558 : /* 26651*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14559 : /* 26653*/ OPC_EmitMergeInputChains1_0,
14560 : /* 26654*/ OPC_EmitInteger, MVT::i32, 0,
14561 : /* 26657*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14562 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
14563 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, I32:{ *:[i32] }:$count) - Complexity = 18
14564 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14565 : /* 26667*/ /*Scope*/ 34, /*->26702*/
14566 : /* 26668*/ OPC_MoveChild0,
14567 : /* 26669*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14568 : /* 26672*/ OPC_RecordChild0, // #1 = $off
14569 : /* 26673*/ OPC_MoveChild0,
14570 : /* 26674*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14571 : /* 26677*/ OPC_MoveParent,
14572 : /* 26678*/ OPC_MoveParent,
14573 : /* 26679*/ OPC_RecordChild1, // #2 = $addr
14574 : /* 26680*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14575 : /* 26682*/ OPC_CheckType, MVT::i32,
14576 : /* 26684*/ OPC_MoveParent,
14577 : /* 26685*/ OPC_RecordChild3, // #3 = $count
14578 : /* 26686*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14579 : /* 26688*/ OPC_EmitMergeInputChains1_0,
14580 : /* 26689*/ OPC_EmitInteger, MVT::i32, 0,
14581 : /* 26692*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14582 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
14583 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, I32:{ *:[i32] }:$count) - Complexity = 18
14584 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14585 : /* 26702*/ /*Scope*/ 32, /*->26735*/
14586 : /* 26703*/ OPC_RecordChild0, // #1 = $addr
14587 : /* 26704*/ OPC_MoveChild1,
14588 : /* 26705*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14589 : /* 26708*/ OPC_RecordChild0, // #2 = $off
14590 : /* 26709*/ OPC_MoveChild0,
14591 : /* 26710*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14592 : /* 26713*/ OPC_MoveParent,
14593 : /* 26714*/ OPC_MoveParent,
14594 : /* 26715*/ OPC_CheckType, MVT::i32,
14595 : /* 26717*/ OPC_MoveParent,
14596 : /* 26718*/ OPC_RecordChild3, // #3 = $count
14597 : /* 26719*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14598 : /* 26721*/ OPC_EmitMergeInputChains1_0,
14599 : /* 26722*/ OPC_EmitInteger, MVT::i32, 0,
14600 : /* 26725*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14601 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
14602 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), I32:{ *:[i32] }:$count) - Complexity = 17
14603 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14604 : /* 26735*/ /*Scope*/ 32, /*->26768*/
14605 : /* 26736*/ OPC_MoveChild0,
14606 : /* 26737*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14607 : /* 26740*/ OPC_RecordChild0, // #1 = $off
14608 : /* 26741*/ OPC_MoveChild0,
14609 : /* 26742*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14610 : /* 26745*/ OPC_MoveParent,
14611 : /* 26746*/ OPC_MoveParent,
14612 : /* 26747*/ OPC_RecordChild1, // #2 = $addr
14613 : /* 26748*/ OPC_CheckType, MVT::i32,
14614 : /* 26750*/ OPC_MoveParent,
14615 : /* 26751*/ OPC_RecordChild3, // #3 = $count
14616 : /* 26752*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14617 : /* 26754*/ OPC_EmitMergeInputChains1_0,
14618 : /* 26755*/ OPC_EmitInteger, MVT::i32, 0,
14619 : /* 26758*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14620 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
14621 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), I32:{ *:[i32] }:$count) - Complexity = 17
14622 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14623 : /* 26768*/ /*Scope*/ 31, /*->26800*/
14624 : /* 26769*/ OPC_RecordChild0, // #1 = $addr
14625 : /* 26770*/ OPC_RecordChild1, // #2 = $off
14626 : /* 26771*/ OPC_MoveChild1,
14627 : /* 26772*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14628 : /* 26775*/ OPC_MoveParent,
14629 : /* 26776*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
14630 : /* 26778*/ OPC_CheckType, MVT::i32,
14631 : /* 26780*/ OPC_MoveParent,
14632 : /* 26781*/ OPC_RecordChild3, // #3 = $count
14633 : /* 26782*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14634 : /* 26784*/ OPC_EmitMergeInputChains1_0,
14635 : /* 26785*/ OPC_EmitInteger, MVT::i32, 0,
14636 : /* 26788*/ OPC_EmitConvertToTarget, 2,
14637 : /* 26790*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14638 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
14639 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, I32:{ *:[i32] }:$count) - Complexity = 15
14640 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14641 : /* 26800*/ 0, /*End of Scope*/
14642 : /* 26801*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->26835
14643 : /* 26804*/ OPC_RecordChild0, // #1 = $addr
14644 : /* 26805*/ OPC_RecordChild1, // #2 = $off
14645 : /* 26806*/ OPC_MoveChild1,
14646 : /* 26807*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14647 : /* 26810*/ OPC_MoveParent,
14648 : /* 26811*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
14649 : /* 26813*/ OPC_CheckType, MVT::i32,
14650 : /* 26815*/ OPC_MoveParent,
14651 : /* 26816*/ OPC_RecordChild3, // #3 = $count
14652 : /* 26817*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14653 : /* 26819*/ OPC_EmitMergeInputChains1_0,
14654 : /* 26820*/ OPC_EmitInteger, MVT::i32, 0,
14655 : /* 26823*/ OPC_EmitConvertToTarget, 2,
14656 : /* 26825*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14657 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
14658 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, I32:{ *:[i32] }:$count) - Complexity = 15
14659 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
14660 : /* 26835*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->26906
14661 : /* 26838*/ OPC_RecordChild0, // #1 = $off
14662 : /* 26839*/ OPC_MoveChild0,
14663 : /* 26840*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->26873
14664 : /* 26844*/ OPC_MoveParent,
14665 : /* 26845*/ OPC_MoveParent,
14666 : /* 26846*/ OPC_RecordChild3, // #2 = $count
14667 : /* 26847*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14668 : /* 26849*/ OPC_EmitMergeInputChains1_0,
14669 : /* 26850*/ OPC_EmitInteger, MVT::i32, 0,
14670 : /* 26853*/ OPC_EmitInteger, MVT::i32, 0,
14671 : /* 26856*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14672 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14673 : /* 26863*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14674 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
14675 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
14676 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
14677 : /* 26873*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->26905
14678 : /* 26876*/ OPC_MoveParent,
14679 : /* 26877*/ OPC_MoveParent,
14680 : /* 26878*/ OPC_RecordChild3, // #2 = $count
14681 : /* 26879*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14682 : /* 26881*/ OPC_EmitMergeInputChains1_0,
14683 : /* 26882*/ OPC_EmitInteger, MVT::i32, 0,
14684 : /* 26885*/ OPC_EmitInteger, MVT::i32, 0,
14685 : /* 26888*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14686 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
14687 : /* 26895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
14688 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
14689 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
14690 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
14691 : /* 26905*/ 0, // EndSwitchOpcode
14692 : /* 26906*/ 0, // EndSwitchOpcode
14693 : /* 26907*/ /*Scope*/ 45|128,2/*301*/, /*->27210*/
14694 : /* 26909*/ OPC_CheckChild1Integer, 51|128,42/*5427*/,
14695 : /* 26912*/ OPC_MoveChild2,
14696 : /* 26913*/ OPC_SwitchOpcode /*3 cases */, 52|128,1/*180*/, TARGET_VAL(ISD::ADD),// ->27098
14697 : /* 26918*/ OPC_Scope, 36, /*->26956*/ // 5 children in Scope
14698 : /* 26920*/ OPC_RecordChild0, // #1 = $addr
14699 : /* 26921*/ OPC_MoveChild1,
14700 : /* 26922*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14701 : /* 26925*/ OPC_RecordChild0, // #2 = $off
14702 : /* 26926*/ OPC_MoveChild0,
14703 : /* 26927*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14704 : /* 26930*/ OPC_MoveParent,
14705 : /* 26931*/ OPC_MoveParent,
14706 : /* 26932*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14707 : /* 26934*/ OPC_CheckType, MVT::i32,
14708 : /* 26936*/ OPC_MoveParent,
14709 : /* 26937*/ OPC_RecordChild3, // #3 = $exp
14710 : /* 26938*/ OPC_RecordChild4, // #4 = $timeout
14711 : /* 26939*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14712 : /* 26941*/ OPC_EmitMergeInputChains1_0,
14713 : /* 26942*/ OPC_EmitInteger, MVT::i32, 0,
14714 : /* 26945*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14715 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
14716 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
14717 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14718 : /* 26956*/ /*Scope*/ 36, /*->26993*/
14719 : /* 26957*/ OPC_MoveChild0,
14720 : /* 26958*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14721 : /* 26961*/ OPC_RecordChild0, // #1 = $off
14722 : /* 26962*/ OPC_MoveChild0,
14723 : /* 26963*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14724 : /* 26966*/ OPC_MoveParent,
14725 : /* 26967*/ OPC_MoveParent,
14726 : /* 26968*/ OPC_RecordChild1, // #2 = $addr
14727 : /* 26969*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14728 : /* 26971*/ OPC_CheckType, MVT::i32,
14729 : /* 26973*/ OPC_MoveParent,
14730 : /* 26974*/ OPC_RecordChild3, // #3 = $exp
14731 : /* 26975*/ OPC_RecordChild4, // #4 = $timeout
14732 : /* 26976*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14733 : /* 26978*/ OPC_EmitMergeInputChains1_0,
14734 : /* 26979*/ OPC_EmitInteger, MVT::i32, 0,
14735 : /* 26982*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14736 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
14737 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
14738 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14739 : /* 26993*/ /*Scope*/ 34, /*->27028*/
14740 : /* 26994*/ OPC_RecordChild0, // #1 = $addr
14741 : /* 26995*/ OPC_MoveChild1,
14742 : /* 26996*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14743 : /* 26999*/ OPC_RecordChild0, // #2 = $off
14744 : /* 27000*/ OPC_MoveChild0,
14745 : /* 27001*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14746 : /* 27004*/ OPC_MoveParent,
14747 : /* 27005*/ OPC_MoveParent,
14748 : /* 27006*/ OPC_CheckType, MVT::i32,
14749 : /* 27008*/ OPC_MoveParent,
14750 : /* 27009*/ OPC_RecordChild3, // #3 = $exp
14751 : /* 27010*/ OPC_RecordChild4, // #4 = $timeout
14752 : /* 27011*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14753 : /* 27013*/ OPC_EmitMergeInputChains1_0,
14754 : /* 27014*/ OPC_EmitInteger, MVT::i32, 0,
14755 : /* 27017*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14756 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
14757 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
14758 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14759 : /* 27028*/ /*Scope*/ 34, /*->27063*/
14760 : /* 27029*/ OPC_MoveChild0,
14761 : /* 27030*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14762 : /* 27033*/ OPC_RecordChild0, // #1 = $off
14763 : /* 27034*/ OPC_MoveChild0,
14764 : /* 27035*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14765 : /* 27038*/ OPC_MoveParent,
14766 : /* 27039*/ OPC_MoveParent,
14767 : /* 27040*/ OPC_RecordChild1, // #2 = $addr
14768 : /* 27041*/ OPC_CheckType, MVT::i32,
14769 : /* 27043*/ OPC_MoveParent,
14770 : /* 27044*/ OPC_RecordChild3, // #3 = $exp
14771 : /* 27045*/ OPC_RecordChild4, // #4 = $timeout
14772 : /* 27046*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14773 : /* 27048*/ OPC_EmitMergeInputChains1_0,
14774 : /* 27049*/ OPC_EmitInteger, MVT::i32, 0,
14775 : /* 27052*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14776 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
14777 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
14778 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14779 : /* 27063*/ /*Scope*/ 33, /*->27097*/
14780 : /* 27064*/ OPC_RecordChild0, // #1 = $addr
14781 : /* 27065*/ OPC_RecordChild1, // #2 = $off
14782 : /* 27066*/ OPC_MoveChild1,
14783 : /* 27067*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14784 : /* 27070*/ OPC_MoveParent,
14785 : /* 27071*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
14786 : /* 27073*/ OPC_CheckType, MVT::i32,
14787 : /* 27075*/ OPC_MoveParent,
14788 : /* 27076*/ OPC_RecordChild3, // #3 = $exp
14789 : /* 27077*/ OPC_RecordChild4, // #4 = $timeout
14790 : /* 27078*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14791 : /* 27080*/ OPC_EmitMergeInputChains1_0,
14792 : /* 27081*/ OPC_EmitInteger, MVT::i32, 0,
14793 : /* 27084*/ OPC_EmitConvertToTarget, 2,
14794 : /* 27086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14795 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
14796 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
14797 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14798 : /* 27097*/ 0, /*End of Scope*/
14799 : /* 27098*/ /*SwitchOpcode*/ 33, TARGET_VAL(ISD::OR),// ->27134
14800 : /* 27101*/ OPC_RecordChild0, // #1 = $addr
14801 : /* 27102*/ OPC_RecordChild1, // #2 = $off
14802 : /* 27103*/ OPC_MoveChild1,
14803 : /* 27104*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14804 : /* 27107*/ OPC_MoveParent,
14805 : /* 27108*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
14806 : /* 27110*/ OPC_CheckType, MVT::i32,
14807 : /* 27112*/ OPC_MoveParent,
14808 : /* 27113*/ OPC_RecordChild3, // #3 = $exp
14809 : /* 27114*/ OPC_RecordChild4, // #4 = $timeout
14810 : /* 27115*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14811 : /* 27117*/ OPC_EmitMergeInputChains1_0,
14812 : /* 27118*/ OPC_EmitInteger, MVT::i32, 0,
14813 : /* 27121*/ OPC_EmitConvertToTarget, 2,
14814 : /* 27123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14815 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
14816 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
14817 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14818 : /* 27134*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->27209
14819 : /* 27137*/ OPC_RecordChild0, // #1 = $off
14820 : /* 27138*/ OPC_MoveChild0,
14821 : /* 27139*/ OPC_SwitchOpcode /*2 cases */, 31, TARGET_VAL(ISD::TargetGlobalAddress),// ->27174
14822 : /* 27143*/ OPC_MoveParent,
14823 : /* 27144*/ OPC_MoveParent,
14824 : /* 27145*/ OPC_RecordChild3, // #2 = $exp
14825 : /* 27146*/ OPC_RecordChild4, // #3 = $timeout
14826 : /* 27147*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14827 : /* 27149*/ OPC_EmitMergeInputChains1_0,
14828 : /* 27150*/ OPC_EmitInteger, MVT::i32, 0,
14829 : /* 27153*/ OPC_EmitInteger, MVT::i32, 0,
14830 : /* 27156*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14831 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
14832 : /* 27163*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14833 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
14834 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
14835 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14836 : /* 27174*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::TargetExternalSymbol),// ->27208
14837 : /* 27177*/ OPC_MoveParent,
14838 : /* 27178*/ OPC_MoveParent,
14839 : /* 27179*/ OPC_RecordChild3, // #2 = $exp
14840 : /* 27180*/ OPC_RecordChild4, // #3 = $timeout
14841 : /* 27181*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14842 : /* 27183*/ OPC_EmitMergeInputChains1_0,
14843 : /* 27184*/ OPC_EmitInteger, MVT::i32, 0,
14844 : /* 27187*/ OPC_EmitInteger, MVT::i32, 0,
14845 : /* 27190*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14846 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
14847 : /* 27197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
14848 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
14849 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
14850 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
14851 : /* 27208*/ 0, // EndSwitchOpcode
14852 : /* 27209*/ 0, // EndSwitchOpcode
14853 : /* 27210*/ /*Scope*/ 45|128,2/*301*/, /*->27513*/
14854 : /* 27212*/ OPC_CheckChild1Integer, 52|128,42/*5428*/,
14855 : /* 27215*/ OPC_MoveChild2,
14856 : /* 27216*/ OPC_SwitchOpcode /*3 cases */, 52|128,1/*180*/, TARGET_VAL(ISD::ADD),// ->27401
14857 : /* 27221*/ OPC_Scope, 36, /*->27259*/ // 5 children in Scope
14858 : /* 27223*/ OPC_RecordChild0, // #1 = $addr
14859 : /* 27224*/ OPC_MoveChild1,
14860 : /* 27225*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14861 : /* 27228*/ OPC_RecordChild0, // #2 = $off
14862 : /* 27229*/ OPC_MoveChild0,
14863 : /* 27230*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14864 : /* 27233*/ OPC_MoveParent,
14865 : /* 27234*/ OPC_MoveParent,
14866 : /* 27235*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14867 : /* 27237*/ OPC_CheckType, MVT::i32,
14868 : /* 27239*/ OPC_MoveParent,
14869 : /* 27240*/ OPC_RecordChild3, // #3 = $exp
14870 : /* 27241*/ OPC_RecordChild4, // #4 = $timeout
14871 : /* 27242*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14872 : /* 27244*/ OPC_EmitMergeInputChains1_0,
14873 : /* 27245*/ OPC_EmitInteger, MVT::i32, 0,
14874 : /* 27248*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14875 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
14876 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
14877 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14878 : /* 27259*/ /*Scope*/ 36, /*->27296*/
14879 : /* 27260*/ OPC_MoveChild0,
14880 : /* 27261*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14881 : /* 27264*/ OPC_RecordChild0, // #1 = $off
14882 : /* 27265*/ OPC_MoveChild0,
14883 : /* 27266*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
14884 : /* 27269*/ OPC_MoveParent,
14885 : /* 27270*/ OPC_MoveParent,
14886 : /* 27271*/ OPC_RecordChild1, // #2 = $addr
14887 : /* 27272*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
14888 : /* 27274*/ OPC_CheckType, MVT::i32,
14889 : /* 27276*/ OPC_MoveParent,
14890 : /* 27277*/ OPC_RecordChild3, // #3 = $exp
14891 : /* 27278*/ OPC_RecordChild4, // #4 = $timeout
14892 : /* 27279*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14893 : /* 27281*/ OPC_EmitMergeInputChains1_0,
14894 : /* 27282*/ OPC_EmitInteger, MVT::i32, 0,
14895 : /* 27285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14896 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
14897 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
14898 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14899 : /* 27296*/ /*Scope*/ 34, /*->27331*/
14900 : /* 27297*/ OPC_RecordChild0, // #1 = $addr
14901 : /* 27298*/ OPC_MoveChild1,
14902 : /* 27299*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14903 : /* 27302*/ OPC_RecordChild0, // #2 = $off
14904 : /* 27303*/ OPC_MoveChild0,
14905 : /* 27304*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14906 : /* 27307*/ OPC_MoveParent,
14907 : /* 27308*/ OPC_MoveParent,
14908 : /* 27309*/ OPC_CheckType, MVT::i32,
14909 : /* 27311*/ OPC_MoveParent,
14910 : /* 27312*/ OPC_RecordChild3, // #3 = $exp
14911 : /* 27313*/ OPC_RecordChild4, // #4 = $timeout
14912 : /* 27314*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14913 : /* 27316*/ OPC_EmitMergeInputChains1_0,
14914 : /* 27317*/ OPC_EmitInteger, MVT::i32, 0,
14915 : /* 27320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14916 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
14917 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
14918 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14919 : /* 27331*/ /*Scope*/ 34, /*->27366*/
14920 : /* 27332*/ OPC_MoveChild0,
14921 : /* 27333*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
14922 : /* 27336*/ OPC_RecordChild0, // #1 = $off
14923 : /* 27337*/ OPC_MoveChild0,
14924 : /* 27338*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
14925 : /* 27341*/ OPC_MoveParent,
14926 : /* 27342*/ OPC_MoveParent,
14927 : /* 27343*/ OPC_RecordChild1, // #2 = $addr
14928 : /* 27344*/ OPC_CheckType, MVT::i32,
14929 : /* 27346*/ OPC_MoveParent,
14930 : /* 27347*/ OPC_RecordChild3, // #3 = $exp
14931 : /* 27348*/ OPC_RecordChild4, // #4 = $timeout
14932 : /* 27349*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14933 : /* 27351*/ OPC_EmitMergeInputChains1_0,
14934 : /* 27352*/ OPC_EmitInteger, MVT::i32, 0,
14935 : /* 27355*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14936 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
14937 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
14938 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14939 : /* 27366*/ /*Scope*/ 33, /*->27400*/
14940 : /* 27367*/ OPC_RecordChild0, // #1 = $addr
14941 : /* 27368*/ OPC_RecordChild1, // #2 = $off
14942 : /* 27369*/ OPC_MoveChild1,
14943 : /* 27370*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14944 : /* 27373*/ OPC_MoveParent,
14945 : /* 27374*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
14946 : /* 27376*/ OPC_CheckType, MVT::i32,
14947 : /* 27378*/ OPC_MoveParent,
14948 : /* 27379*/ OPC_RecordChild3, // #3 = $exp
14949 : /* 27380*/ OPC_RecordChild4, // #4 = $timeout
14950 : /* 27381*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14951 : /* 27383*/ OPC_EmitMergeInputChains1_0,
14952 : /* 27384*/ OPC_EmitInteger, MVT::i32, 0,
14953 : /* 27387*/ OPC_EmitConvertToTarget, 2,
14954 : /* 27389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14955 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
14956 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
14957 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14958 : /* 27400*/ 0, /*End of Scope*/
14959 : /* 27401*/ /*SwitchOpcode*/ 33, TARGET_VAL(ISD::OR),// ->27437
14960 : /* 27404*/ OPC_RecordChild0, // #1 = $addr
14961 : /* 27405*/ OPC_RecordChild1, // #2 = $off
14962 : /* 27406*/ OPC_MoveChild1,
14963 : /* 27407*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14964 : /* 27410*/ OPC_MoveParent,
14965 : /* 27411*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
14966 : /* 27413*/ OPC_CheckType, MVT::i32,
14967 : /* 27415*/ OPC_MoveParent,
14968 : /* 27416*/ OPC_RecordChild3, // #3 = $exp
14969 : /* 27417*/ OPC_RecordChild4, // #4 = $timeout
14970 : /* 27418*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14971 : /* 27420*/ OPC_EmitMergeInputChains1_0,
14972 : /* 27421*/ OPC_EmitInteger, MVT::i32, 0,
14973 : /* 27424*/ OPC_EmitConvertToTarget, 2,
14974 : /* 27426*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14975 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
14976 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
14977 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14978 : /* 27437*/ /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->27512
14979 : /* 27440*/ OPC_RecordChild0, // #1 = $off
14980 : /* 27441*/ OPC_MoveChild0,
14981 : /* 27442*/ OPC_SwitchOpcode /*2 cases */, 31, TARGET_VAL(ISD::TargetGlobalAddress),// ->27477
14982 : /* 27446*/ OPC_MoveParent,
14983 : /* 27447*/ OPC_MoveParent,
14984 : /* 27448*/ OPC_RecordChild3, // #2 = $exp
14985 : /* 27449*/ OPC_RecordChild4, // #3 = $timeout
14986 : /* 27450*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
14987 : /* 27452*/ OPC_EmitMergeInputChains1_0,
14988 : /* 27453*/ OPC_EmitInteger, MVT::i32, 0,
14989 : /* 27456*/ OPC_EmitInteger, MVT::i32, 0,
14990 : /* 27459*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
14991 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
14992 : /* 27466*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
14993 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
14994 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
14995 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
14996 : /* 27477*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::TargetExternalSymbol),// ->27511
14997 : /* 27480*/ OPC_MoveParent,
14998 : /* 27481*/ OPC_MoveParent,
14999 : /* 27482*/ OPC_RecordChild3, // #2 = $exp
15000 : /* 27483*/ OPC_RecordChild4, // #3 = $timeout
15001 : /* 27484*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15002 : /* 27486*/ OPC_EmitMergeInputChains1_0,
15003 : /* 27487*/ OPC_EmitInteger, MVT::i32, 0,
15004 : /* 27490*/ OPC_EmitInteger, MVT::i32, 0,
15005 : /* 27493*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15006 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
15007 : /* 27500*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
15008 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
15009 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
15010 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
15011 : /* 27511*/ 0, // EndSwitchOpcode
15012 : /* 27512*/ 0, // EndSwitchOpcode
15013 : /* 27513*/ 0, /*End of Scope*/
15014 : /* 27514*/ /*Scope*/ 19|128,1/*147*/, /*->27663*/
15015 : /* 27516*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
15016 : /* 27517*/ OPC_Scope, 23, /*->27542*/ // 5 children in Scope
15017 : /* 27519*/ OPC_CheckChild1Integer, 64|128,42/*5440*/,
15018 : /* 27522*/ OPC_RecordChild2, // #1 = $flags
15019 : /* 27523*/ OPC_MoveChild2,
15020 : /* 27524*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15021 : /* 27527*/ OPC_MoveParent,
15022 : /* 27528*/ OPC_CheckType, MVT::i32,
15023 : /* 27530*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
15024 : /* 27532*/ OPC_EmitMergeInputChains1_0,
15025 : /* 27533*/ OPC_EmitConvertToTarget, 1,
15026 : /* 27535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_SIZE_I32), 0|OPFL_Chain,
15027 : MVT::i32, 1/*#Ops*/, 2,
15028 : // Src: (intrinsic_w_chain:{ *:[i32] } 5440:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
15029 : // Dst: (MEMORY_SIZE_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags)
15030 : /* 27542*/ /*Scope*/ 23, /*->27566*/
15031 : /* 27543*/ OPC_CheckChild1Integer, 62|128,42/*5438*/,
15032 : /* 27546*/ OPC_RecordChild2, // #1 = $flags
15033 : /* 27547*/ OPC_MoveChild2,
15034 : /* 27548*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15035 : /* 27551*/ OPC_MoveParent,
15036 : /* 27552*/ OPC_CheckType, MVT::i32,
15037 : /* 27554*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
15038 : /* 27556*/ OPC_EmitMergeInputChains1_0,
15039 : /* 27557*/ OPC_EmitConvertToTarget, 1,
15040 : /* 27559*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEM_SIZE_I32), 0|OPFL_Chain,
15041 : MVT::i32, 1/*#Ops*/, 2,
15042 : // Src: (intrinsic_w_chain:{ *:[i32] } 5438:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
15043 : // Dst: (MEM_SIZE_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags)
15044 : /* 27566*/ /*Scope*/ 27, /*->27594*/
15045 : /* 27567*/ OPC_CheckChild1Integer, 63|128,42/*5439*/,
15046 : /* 27570*/ OPC_RecordChild2, // #1 = $flags
15047 : /* 27571*/ OPC_MoveChild2,
15048 : /* 27572*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15049 : /* 27575*/ OPC_MoveParent,
15050 : /* 27576*/ OPC_RecordChild3, // #2 = $delta
15051 : /* 27577*/ OPC_CheckChild3Type, MVT::i32,
15052 : /* 27579*/ OPC_CheckType, MVT::i32,
15053 : /* 27581*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
15054 : /* 27583*/ OPC_EmitMergeInputChains1_0,
15055 : /* 27584*/ OPC_EmitConvertToTarget, 1,
15056 : /* 27586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_GROW_I32), 0|OPFL_Chain,
15057 : MVT::i32, 2/*#Ops*/, 3, 2,
15058 : // Src: (intrinsic_w_chain:{ *:[i32] } 5439:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta) - Complexity = 11
15059 : // Dst: (MEMORY_GROW_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta)
15060 : /* 27594*/ /*Scope*/ 27, /*->27622*/
15061 : /* 27595*/ OPC_CheckChild1Integer, 61|128,42/*5437*/,
15062 : /* 27598*/ OPC_RecordChild2, // #1 = $flags
15063 : /* 27599*/ OPC_MoveChild2,
15064 : /* 27600*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15065 : /* 27603*/ OPC_MoveParent,
15066 : /* 27604*/ OPC_RecordChild3, // #2 = $delta
15067 : /* 27605*/ OPC_CheckChild3Type, MVT::i32,
15068 : /* 27607*/ OPC_CheckType, MVT::i32,
15069 : /* 27609*/ OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
15070 : /* 27611*/ OPC_EmitMergeInputChains1_0,
15071 : /* 27612*/ OPC_EmitConvertToTarget, 1,
15072 : /* 27614*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEM_GROW_I32), 0|OPFL_Chain,
15073 : MVT::i32, 2/*#Ops*/, 3, 2,
15074 : // Src: (intrinsic_w_chain:{ *:[i32] } 5437:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta) - Complexity = 11
15075 : // Dst: (MEM_GROW_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta)
15076 : /* 27622*/ /*Scope*/ 39, /*->27662*/
15077 : /* 27623*/ OPC_CheckChild1Integer, 54|128,42/*5430*/,
15078 : /* 27626*/ OPC_RecordChild2, // #1 = $tag
15079 : /* 27627*/ OPC_MoveChild2,
15080 : /* 27628*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15081 : /* 27631*/ OPC_MoveParent,
15082 : /* 27632*/ OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->27647
15083 : /* 27635*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
15084 : /* 27637*/ OPC_EmitMergeInputChains1_0,
15085 : /* 27638*/ OPC_EmitConvertToTarget, 1,
15086 : /* 27640*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CATCH_I32), 0|OPFL_Chain,
15087 : MVT::i32, 1/*#Ops*/, 2,
15088 : // Src: (intrinsic_w_chain:{ *:[i32] } 5430:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag) - Complexity = 11
15089 : // Dst: (CATCH_I32:{ *:[i32] } (imm:{ *:[i32] }):$tag)
15090 : /* 27647*/ /*SwitchType*/ 12, MVT::i64,// ->27661
15091 : /* 27649*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
15092 : /* 27651*/ OPC_EmitMergeInputChains1_0,
15093 : /* 27652*/ OPC_EmitConvertToTarget, 1,
15094 : /* 27654*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CATCH_I64), 0|OPFL_Chain,
15095 : MVT::i64, 1/*#Ops*/, 2,
15096 : // Src: (intrinsic_w_chain:{ *:[i64] } 5430:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag) - Complexity = 11
15097 : // Dst: (CATCH_I64:{ *:[i64] } (imm:{ *:[i32] }):$tag)
15098 : /* 27661*/ 0, // EndSwitchType
15099 : /* 27662*/ 0, /*End of Scope*/
15100 : /* 27663*/ /*Scope*/ 125, /*->27789*/
15101 : /* 27664*/ OPC_RecordMemRef,
15102 : /* 27665*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
15103 : /* 27666*/ OPC_Scope, 38, /*->27706*/ // 3 children in Scope
15104 : /* 27668*/ OPC_CheckChild1Integer, 50|128,42/*5426*/,
15105 : /* 27671*/ OPC_RecordChild2, // #1 = $off
15106 : /* 27672*/ OPC_MoveChild2,
15107 : /* 27673*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15108 : /* 27676*/ OPC_MoveParent,
15109 : /* 27677*/ OPC_RecordChild3, // #2 = $count
15110 : /* 27678*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15111 : /* 27680*/ OPC_EmitMergeInputChains1_0,
15112 : /* 27681*/ OPC_EmitInteger, MVT::i32, 0,
15113 : /* 27684*/ OPC_EmitConvertToTarget, 1,
15114 : /* 27686*/ OPC_EmitInteger, MVT::i32, 0,
15115 : /* 27689*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15116 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
15117 : /* 27696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
15118 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
15119 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, I32:{ *:[i32] }:$count) - Complexity = 11
15120 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
15121 : /* 27706*/ /*Scope*/ 40, /*->27747*/
15122 : /* 27707*/ OPC_CheckChild1Integer, 51|128,42/*5427*/,
15123 : /* 27710*/ OPC_RecordChild2, // #1 = $off
15124 : /* 27711*/ OPC_MoveChild2,
15125 : /* 27712*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15126 : /* 27715*/ OPC_MoveParent,
15127 : /* 27716*/ OPC_RecordChild3, // #2 = $exp
15128 : /* 27717*/ OPC_RecordChild4, // #3 = $timeout
15129 : /* 27718*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15130 : /* 27720*/ OPC_EmitMergeInputChains1_0,
15131 : /* 27721*/ OPC_EmitInteger, MVT::i32, 0,
15132 : /* 27724*/ OPC_EmitConvertToTarget, 1,
15133 : /* 27726*/ OPC_EmitInteger, MVT::i32, 0,
15134 : /* 27729*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15135 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
15136 : /* 27736*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
15137 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
15138 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
15139 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
15140 : /* 27747*/ /*Scope*/ 40, /*->27788*/
15141 : /* 27748*/ OPC_CheckChild1Integer, 52|128,42/*5428*/,
15142 : /* 27751*/ OPC_RecordChild2, // #1 = $off
15143 : /* 27752*/ OPC_MoveChild2,
15144 : /* 27753*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15145 : /* 27756*/ OPC_MoveParent,
15146 : /* 27757*/ OPC_RecordChild3, // #2 = $exp
15147 : /* 27758*/ OPC_RecordChild4, // #3 = $timeout
15148 : /* 27759*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15149 : /* 27761*/ OPC_EmitMergeInputChains1_0,
15150 : /* 27762*/ OPC_EmitInteger, MVT::i32, 0,
15151 : /* 27765*/ OPC_EmitConvertToTarget, 1,
15152 : /* 27767*/ OPC_EmitInteger, MVT::i32, 0,
15153 : /* 27770*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15154 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
15155 : /* 27777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
15156 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
15157 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
15158 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
15159 : /* 27788*/ 0, /*End of Scope*/
15160 : /* 27789*/ /*Scope*/ 39, /*->27829*/
15161 : /* 27790*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
15162 : /* 27791*/ OPC_CheckType, MVT::i32,
15163 : /* 27793*/ OPC_Scope, 14, /*->27809*/ // 2 children in Scope
15164 : /* 27795*/ OPC_CheckChild1Integer, 55|128,42/*5431*/,
15165 : /* 27798*/ OPC_EmitMergeInputChains1_0,
15166 : /* 27799*/ OPC_EmitInteger, MVT::i32, 0,
15167 : /* 27802*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CURRENT_MEMORY_I32), 0|OPFL_Chain,
15168 : MVT::i32, 1/*#Ops*/, 1,
15169 : // Src: (intrinsic_w_chain:{ *:[i32] } 5431:{ *:[iPTR] }) - Complexity = 8
15170 : // Dst: (CURRENT_MEMORY_I32:{ *:[i32] } 0:{ *:[i32] })
15171 : /* 27809*/ /*Scope*/ 18, /*->27828*/
15172 : /* 27810*/ OPC_CheckChild1Integer, 58|128,42/*5434*/,
15173 : /* 27813*/ OPC_RecordChild2, // #1 = $delta
15174 : /* 27814*/ OPC_CheckChild2Type, MVT::i32,
15175 : /* 27816*/ OPC_EmitMergeInputChains1_0,
15176 : /* 27817*/ OPC_EmitInteger, MVT::i32, 0,
15177 : /* 27820*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GROW_MEMORY_I32), 0|OPFL_Chain,
15178 : MVT::i32, 2/*#Ops*/, 2, 1,
15179 : // Src: (intrinsic_w_chain:{ *:[i32] } 5434:{ *:[iPTR] }, I32:{ *:[i32] }:$delta) - Complexity = 8
15180 : // Dst: (GROW_MEMORY_I32:{ *:[i32] } 0:{ *:[i32] }, ?:{ *:[i32] }:$delta)
15181 : /* 27828*/ 0, /*End of Scope*/
15182 : /* 27829*/ /*Scope*/ 89, /*->27919*/
15183 : /* 27830*/ OPC_RecordMemRef,
15184 : /* 27831*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
15185 : /* 27832*/ OPC_Scope, 26, /*->27860*/ // 3 children in Scope
15186 : /* 27834*/ OPC_CheckChild1Integer, 50|128,42/*5426*/,
15187 : /* 27837*/ OPC_RecordChild2, // #1 = $addr
15188 : /* 27838*/ OPC_CheckChild2Type, MVT::i32,
15189 : /* 27840*/ OPC_RecordChild3, // #2 = $count
15190 : /* 27841*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15191 : /* 27843*/ OPC_EmitMergeInputChains1_0,
15192 : /* 27844*/ OPC_EmitInteger, MVT::i32, 0,
15193 : /* 27847*/ OPC_EmitInteger, MVT::i32, 0,
15194 : /* 27850*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
15195 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
15196 : // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count) - Complexity = 8
15197 : // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
15198 : /* 27860*/ /*Scope*/ 28, /*->27889*/
15199 : /* 27861*/ OPC_CheckChild1Integer, 51|128,42/*5427*/,
15200 : /* 27864*/ OPC_RecordChild2, // #1 = $addr
15201 : /* 27865*/ OPC_CheckChild2Type, MVT::i32,
15202 : /* 27867*/ OPC_RecordChild3, // #2 = $exp
15203 : /* 27868*/ OPC_RecordChild4, // #3 = $timeout
15204 : /* 27869*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15205 : /* 27871*/ OPC_EmitMergeInputChains1_0,
15206 : /* 27872*/ OPC_EmitInteger, MVT::i32, 0,
15207 : /* 27875*/ OPC_EmitInteger, MVT::i32, 0,
15208 : /* 27878*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
15209 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
15210 : // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
15211 : // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
15212 : /* 27889*/ /*Scope*/ 28, /*->27918*/
15213 : /* 27890*/ OPC_CheckChild1Integer, 52|128,42/*5428*/,
15214 : /* 27893*/ OPC_RecordChild2, // #1 = $addr
15215 : /* 27894*/ OPC_CheckChild2Type, MVT::i32,
15216 : /* 27896*/ OPC_RecordChild3, // #2 = $exp
15217 : /* 27897*/ OPC_RecordChild4, // #3 = $timeout
15218 : /* 27898*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15219 : /* 27900*/ OPC_EmitMergeInputChains1_0,
15220 : /* 27901*/ OPC_EmitInteger, MVT::i32, 0,
15221 : /* 27904*/ OPC_EmitInteger, MVT::i32, 0,
15222 : /* 27907*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
15223 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
15224 : // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
15225 : // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
15226 : /* 27918*/ 0, /*End of Scope*/
15227 : /* 27919*/ 0, /*End of Scope*/
15228 : /* 27920*/ /*SwitchOpcode*/ 89|128,15/*2009*/, TARGET_VAL(ISD::ATOMIC_STORE),// ->29933
15229 : /* 27924*/ OPC_RecordMemRef,
15230 : /* 27925*/ OPC_RecordNode, // #0 = 'atomic_store' chained node
15231 : /* 27926*/ OPC_Scope, 35|128,11/*1443*/, /*->29372*/ // 4 children in Scope
15232 : /* 27929*/ OPC_MoveChild1,
15233 : /* 27930*/ OPC_SwitchOpcode /*3 cases */, 24|128,7/*920*/, TARGET_VAL(ISD::ADD),// ->28855
15234 : /* 27935*/ OPC_Scope, 79, /*->28016*/ // 9 children in Scope
15235 : /* 27937*/ OPC_RecordChild0, // #1 = $addr
15236 : /* 27938*/ OPC_MoveChild1,
15237 : /* 27939*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15238 : /* 27942*/ OPC_RecordChild0, // #2 = $off
15239 : /* 27943*/ OPC_MoveChild0,
15240 : /* 27944*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15241 : /* 27947*/ OPC_MoveParent,
15242 : /* 27948*/ OPC_MoveParent,
15243 : /* 27949*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
15244 : /* 27951*/ OPC_CheckType, MVT::i32,
15245 : /* 27953*/ OPC_MoveParent,
15246 : /* 27954*/ OPC_MoveChild2,
15247 : /* 27955*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15248 : /* 27958*/ OPC_RecordChild0, // #3 = $val
15249 : /* 27959*/ OPC_MoveParent,
15250 : /* 27960*/ OPC_Scope, 17, /*->27979*/ // 3 children in Scope
15251 : /* 27962*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15252 : /* 27964*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15253 : /* 27966*/ OPC_EmitMergeInputChains1_0,
15254 : /* 27967*/ OPC_EmitInteger, MVT::i32, 0,
15255 : /* 27970*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15256 : 4/*#Ops*/, 4, 2, 1, 3,
15257 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 17
15258 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15259 : /* 27979*/ /*Scope*/ 17, /*->27997*/
15260 : /* 27980*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15261 : /* 27982*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15262 : /* 27984*/ OPC_EmitMergeInputChains1_0,
15263 : /* 27985*/ OPC_EmitInteger, MVT::i32, 0,
15264 : /* 27988*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15265 : 4/*#Ops*/, 4, 2, 1, 3,
15266 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 17
15267 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15268 : /* 27997*/ /*Scope*/ 17, /*->28015*/
15269 : /* 27998*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15270 : /* 28000*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15271 : /* 28002*/ OPC_EmitMergeInputChains1_0,
15272 : /* 28003*/ OPC_EmitInteger, MVT::i32, 0,
15273 : /* 28006*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15274 : 4/*#Ops*/, 4, 2, 1, 3,
15275 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 17
15276 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15277 : /* 28015*/ 0, /*End of Scope*/
15278 : /* 28016*/ /*Scope*/ 79, /*->28096*/
15279 : /* 28017*/ OPC_MoveChild0,
15280 : /* 28018*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15281 : /* 28021*/ OPC_RecordChild0, // #1 = $off
15282 : /* 28022*/ OPC_MoveChild0,
15283 : /* 28023*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15284 : /* 28026*/ OPC_MoveParent,
15285 : /* 28027*/ OPC_MoveParent,
15286 : /* 28028*/ OPC_RecordChild1, // #2 = $addr
15287 : /* 28029*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
15288 : /* 28031*/ OPC_CheckType, MVT::i32,
15289 : /* 28033*/ OPC_MoveParent,
15290 : /* 28034*/ OPC_MoveChild2,
15291 : /* 28035*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15292 : /* 28038*/ OPC_RecordChild0, // #3 = $val
15293 : /* 28039*/ OPC_MoveParent,
15294 : /* 28040*/ OPC_Scope, 17, /*->28059*/ // 3 children in Scope
15295 : /* 28042*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15296 : /* 28044*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15297 : /* 28046*/ OPC_EmitMergeInputChains1_0,
15298 : /* 28047*/ OPC_EmitInteger, MVT::i32, 0,
15299 : /* 28050*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15300 : 4/*#Ops*/, 4, 1, 2, 3,
15301 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 17
15302 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15303 : /* 28059*/ /*Scope*/ 17, /*->28077*/
15304 : /* 28060*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15305 : /* 28062*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15306 : /* 28064*/ OPC_EmitMergeInputChains1_0,
15307 : /* 28065*/ OPC_EmitInteger, MVT::i32, 0,
15308 : /* 28068*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15309 : 4/*#Ops*/, 4, 1, 2, 3,
15310 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 17
15311 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15312 : /* 28077*/ /*Scope*/ 17, /*->28095*/
15313 : /* 28078*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15314 : /* 28080*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15315 : /* 28082*/ OPC_EmitMergeInputChains1_0,
15316 : /* 28083*/ OPC_EmitInteger, MVT::i32, 0,
15317 : /* 28086*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15318 : 4/*#Ops*/, 4, 1, 2, 3,
15319 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 17
15320 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15321 : /* 28095*/ 0, /*End of Scope*/
15322 : /* 28096*/ /*Scope*/ 77, /*->28174*/
15323 : /* 28097*/ OPC_RecordChild0, // #1 = $addr
15324 : /* 28098*/ OPC_MoveChild1,
15325 : /* 28099*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15326 : /* 28102*/ OPC_RecordChild0, // #2 = $off
15327 : /* 28103*/ OPC_MoveChild0,
15328 : /* 28104*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
15329 : /* 28107*/ OPC_MoveParent,
15330 : /* 28108*/ OPC_MoveParent,
15331 : /* 28109*/ OPC_CheckType, MVT::i32,
15332 : /* 28111*/ OPC_MoveParent,
15333 : /* 28112*/ OPC_MoveChild2,
15334 : /* 28113*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15335 : /* 28116*/ OPC_RecordChild0, // #3 = $val
15336 : /* 28117*/ OPC_MoveParent,
15337 : /* 28118*/ OPC_Scope, 17, /*->28137*/ // 3 children in Scope
15338 : /* 28120*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15339 : /* 28122*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15340 : /* 28124*/ OPC_EmitMergeInputChains1_0,
15341 : /* 28125*/ OPC_EmitInteger, MVT::i32, 0,
15342 : /* 28128*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15343 : 4/*#Ops*/, 4, 2, 1, 3,
15344 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 16
15345 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15346 : /* 28137*/ /*Scope*/ 17, /*->28155*/
15347 : /* 28138*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15348 : /* 28140*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15349 : /* 28142*/ OPC_EmitMergeInputChains1_0,
15350 : /* 28143*/ OPC_EmitInteger, MVT::i32, 0,
15351 : /* 28146*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15352 : 4/*#Ops*/, 4, 2, 1, 3,
15353 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 16
15354 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15355 : /* 28155*/ /*Scope*/ 17, /*->28173*/
15356 : /* 28156*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15357 : /* 28158*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15358 : /* 28160*/ OPC_EmitMergeInputChains1_0,
15359 : /* 28161*/ OPC_EmitInteger, MVT::i32, 0,
15360 : /* 28164*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15361 : 4/*#Ops*/, 4, 2, 1, 3,
15362 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 16
15363 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15364 : /* 28173*/ 0, /*End of Scope*/
15365 : /* 28174*/ /*Scope*/ 77, /*->28252*/
15366 : /* 28175*/ OPC_MoveChild0,
15367 : /* 28176*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15368 : /* 28179*/ OPC_RecordChild0, // #1 = $off
15369 : /* 28180*/ OPC_MoveChild0,
15370 : /* 28181*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
15371 : /* 28184*/ OPC_MoveParent,
15372 : /* 28185*/ OPC_MoveParent,
15373 : /* 28186*/ OPC_RecordChild1, // #2 = $addr
15374 : /* 28187*/ OPC_CheckType, MVT::i32,
15375 : /* 28189*/ OPC_MoveParent,
15376 : /* 28190*/ OPC_MoveChild2,
15377 : /* 28191*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15378 : /* 28194*/ OPC_RecordChild0, // #3 = $val
15379 : /* 28195*/ OPC_MoveParent,
15380 : /* 28196*/ OPC_Scope, 17, /*->28215*/ // 3 children in Scope
15381 : /* 28198*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15382 : /* 28200*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15383 : /* 28202*/ OPC_EmitMergeInputChains1_0,
15384 : /* 28203*/ OPC_EmitInteger, MVT::i32, 0,
15385 : /* 28206*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15386 : 4/*#Ops*/, 4, 1, 2, 3,
15387 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 16
15388 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15389 : /* 28215*/ /*Scope*/ 17, /*->28233*/
15390 : /* 28216*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15391 : /* 28218*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15392 : /* 28220*/ OPC_EmitMergeInputChains1_0,
15393 : /* 28221*/ OPC_EmitInteger, MVT::i32, 0,
15394 : /* 28224*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15395 : 4/*#Ops*/, 4, 1, 2, 3,
15396 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 16
15397 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15398 : /* 28233*/ /*Scope*/ 17, /*->28251*/
15399 : /* 28234*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15400 : /* 28236*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15401 : /* 28238*/ OPC_EmitMergeInputChains1_0,
15402 : /* 28239*/ OPC_EmitInteger, MVT::i32, 0,
15403 : /* 28242*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15404 : 4/*#Ops*/, 4, 1, 2, 3,
15405 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 16
15406 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15407 : /* 28251*/ 0, /*End of Scope*/
15408 : /* 28252*/ /*Scope*/ 73|128,1/*201*/, /*->28455*/
15409 : /* 28254*/ OPC_RecordChild0, // #1 = $addr
15410 : /* 28255*/ OPC_Scope, 59, /*->28316*/ // 3 children in Scope
15411 : /* 28257*/ OPC_MoveChild1,
15412 : /* 28258*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15413 : /* 28261*/ OPC_RecordChild0, // #2 = $off
15414 : /* 28262*/ OPC_MoveChild0,
15415 : /* 28263*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15416 : /* 28266*/ OPC_MoveParent,
15417 : /* 28267*/ OPC_MoveParent,
15418 : /* 28268*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
15419 : /* 28270*/ OPC_CheckType, MVT::i32,
15420 : /* 28272*/ OPC_MoveParent,
15421 : /* 28273*/ OPC_RecordChild2, // #3 = $val
15422 : /* 28274*/ OPC_Scope, 19, /*->28295*/ // 2 children in Scope
15423 : /* 28276*/ OPC_CheckChild2Type, MVT::i32,
15424 : /* 28278*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15425 : /* 28280*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15426 : /* 28282*/ OPC_EmitMergeInputChains1_0,
15427 : /* 28283*/ OPC_EmitInteger, MVT::i32, 0,
15428 : /* 28286*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15429 : 4/*#Ops*/, 4, 2, 1, 3,
15430 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 14
15431 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15432 : /* 28295*/ /*Scope*/ 19, /*->28315*/
15433 : /* 28296*/ OPC_CheckChild2Type, MVT::i64,
15434 : /* 28298*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15435 : /* 28300*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15436 : /* 28302*/ OPC_EmitMergeInputChains1_0,
15437 : /* 28303*/ OPC_EmitInteger, MVT::i32, 0,
15438 : /* 28306*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15439 : 4/*#Ops*/, 4, 2, 1, 3,
15440 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 14
15441 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15442 : /* 28315*/ 0, /*End of Scope*/
15443 : /* 28316*/ /*Scope*/ 79, /*->28396*/
15444 : /* 28317*/ OPC_RecordChild1, // #2 = $off
15445 : /* 28318*/ OPC_MoveChild1,
15446 : /* 28319*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15447 : /* 28322*/ OPC_MoveParent,
15448 : /* 28323*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
15449 : /* 28325*/ OPC_CheckType, MVT::i32,
15450 : /* 28327*/ OPC_MoveParent,
15451 : /* 28328*/ OPC_MoveChild2,
15452 : /* 28329*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15453 : /* 28332*/ OPC_RecordChild0, // #3 = $val
15454 : /* 28333*/ OPC_MoveParent,
15455 : /* 28334*/ OPC_Scope, 19, /*->28355*/ // 3 children in Scope
15456 : /* 28336*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15457 : /* 28338*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15458 : /* 28340*/ OPC_EmitMergeInputChains1_0,
15459 : /* 28341*/ OPC_EmitInteger, MVT::i32, 0,
15460 : /* 28344*/ OPC_EmitConvertToTarget, 2,
15461 : /* 28346*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15462 : 4/*#Ops*/, 4, 5, 1, 3,
15463 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
15464 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15465 : /* 28355*/ /*Scope*/ 19, /*->28375*/
15466 : /* 28356*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15467 : /* 28358*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15468 : /* 28360*/ OPC_EmitMergeInputChains1_0,
15469 : /* 28361*/ OPC_EmitInteger, MVT::i32, 0,
15470 : /* 28364*/ OPC_EmitConvertToTarget, 2,
15471 : /* 28366*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15472 : 4/*#Ops*/, 4, 5, 1, 3,
15473 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
15474 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15475 : /* 28375*/ /*Scope*/ 19, /*->28395*/
15476 : /* 28376*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15477 : /* 28378*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15478 : /* 28380*/ OPC_EmitMergeInputChains1_0,
15479 : /* 28381*/ OPC_EmitInteger, MVT::i32, 0,
15480 : /* 28384*/ OPC_EmitConvertToTarget, 2,
15481 : /* 28386*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15482 : 4/*#Ops*/, 4, 5, 1, 3,
15483 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
15484 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15485 : /* 28395*/ 0, /*End of Scope*/
15486 : /* 28396*/ /*Scope*/ 57, /*->28454*/
15487 : /* 28397*/ OPC_MoveChild1,
15488 : /* 28398*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15489 : /* 28401*/ OPC_RecordChild0, // #2 = $off
15490 : /* 28402*/ OPC_MoveChild0,
15491 : /* 28403*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15492 : /* 28406*/ OPC_MoveParent,
15493 : /* 28407*/ OPC_MoveParent,
15494 : /* 28408*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
15495 : /* 28410*/ OPC_CheckType, MVT::i32,
15496 : /* 28412*/ OPC_MoveParent,
15497 : /* 28413*/ OPC_RecordChild2, // #3 = $val
15498 : /* 28414*/ OPC_CheckChild2Type, MVT::i32,
15499 : /* 28416*/ OPC_Scope, 17, /*->28435*/ // 2 children in Scope
15500 : /* 28418*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15501 : /* 28420*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15502 : /* 28422*/ OPC_EmitMergeInputChains1_0,
15503 : /* 28423*/ OPC_EmitInteger, MVT::i32, 0,
15504 : /* 28426*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15505 : 4/*#Ops*/, 4, 2, 1, 3,
15506 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 14
15507 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15508 : /* 28435*/ /*Scope*/ 17, /*->28453*/
15509 : /* 28436*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15510 : /* 28438*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15511 : /* 28440*/ OPC_EmitMergeInputChains1_0,
15512 : /* 28441*/ OPC_EmitInteger, MVT::i32, 0,
15513 : /* 28444*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15514 : 4/*#Ops*/, 4, 2, 1, 3,
15515 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 14
15516 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15517 : /* 28453*/ 0, /*End of Scope*/
15518 : /* 28454*/ 0, /*End of Scope*/
15519 : /* 28455*/ /*Scope*/ 99, /*->28555*/
15520 : /* 28456*/ OPC_MoveChild0,
15521 : /* 28457*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15522 : /* 28460*/ OPC_RecordChild0, // #1 = $off
15523 : /* 28461*/ OPC_MoveChild0,
15524 : /* 28462*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
15525 : /* 28465*/ OPC_MoveParent,
15526 : /* 28466*/ OPC_MoveParent,
15527 : /* 28467*/ OPC_RecordChild1, // #2 = $addr
15528 : /* 28468*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
15529 : /* 28470*/ OPC_CheckType, MVT::i32,
15530 : /* 28472*/ OPC_MoveParent,
15531 : /* 28473*/ OPC_RecordChild2, // #3 = $val
15532 : /* 28474*/ OPC_Scope, 58, /*->28534*/ // 2 children in Scope
15533 : /* 28476*/ OPC_CheckChild2Type, MVT::i32,
15534 : /* 28478*/ OPC_Scope, 17, /*->28497*/ // 3 children in Scope
15535 : /* 28480*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15536 : /* 28482*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15537 : /* 28484*/ OPC_EmitMergeInputChains1_0,
15538 : /* 28485*/ OPC_EmitInteger, MVT::i32, 0,
15539 : /* 28488*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15540 : 4/*#Ops*/, 4, 1, 2, 3,
15541 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 14
15542 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15543 : /* 28497*/ /*Scope*/ 17, /*->28515*/
15544 : /* 28498*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15545 : /* 28500*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15546 : /* 28502*/ OPC_EmitMergeInputChains1_0,
15547 : /* 28503*/ OPC_EmitInteger, MVT::i32, 0,
15548 : /* 28506*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15549 : 4/*#Ops*/, 4, 1, 2, 3,
15550 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 14
15551 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15552 : /* 28515*/ /*Scope*/ 17, /*->28533*/
15553 : /* 28516*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15554 : /* 28518*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15555 : /* 28520*/ OPC_EmitMergeInputChains1_0,
15556 : /* 28521*/ OPC_EmitInteger, MVT::i32, 0,
15557 : /* 28524*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15558 : 4/*#Ops*/, 4, 1, 2, 3,
15559 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 14
15560 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15561 : /* 28533*/ 0, /*End of Scope*/
15562 : /* 28534*/ /*Scope*/ 19, /*->28554*/
15563 : /* 28535*/ OPC_CheckChild2Type, MVT::i64,
15564 : /* 28537*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15565 : /* 28539*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15566 : /* 28541*/ OPC_EmitMergeInputChains1_0,
15567 : /* 28542*/ OPC_EmitInteger, MVT::i32, 0,
15568 : /* 28545*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15569 : 4/*#Ops*/, 4, 1, 2, 3,
15570 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 14
15571 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15572 : /* 28554*/ 0, /*End of Scope*/
15573 : /* 28555*/ /*Scope*/ 97, /*->28653*/
15574 : /* 28556*/ OPC_RecordChild0, // #1 = $addr
15575 : /* 28557*/ OPC_MoveChild1,
15576 : /* 28558*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15577 : /* 28561*/ OPC_RecordChild0, // #2 = $off
15578 : /* 28562*/ OPC_MoveChild0,
15579 : /* 28563*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
15580 : /* 28566*/ OPC_MoveParent,
15581 : /* 28567*/ OPC_MoveParent,
15582 : /* 28568*/ OPC_CheckType, MVT::i32,
15583 : /* 28570*/ OPC_MoveParent,
15584 : /* 28571*/ OPC_RecordChild2, // #3 = $val
15585 : /* 28572*/ OPC_Scope, 58, /*->28632*/ // 2 children in Scope
15586 : /* 28574*/ OPC_CheckChild2Type, MVT::i32,
15587 : /* 28576*/ OPC_Scope, 17, /*->28595*/ // 3 children in Scope
15588 : /* 28578*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15589 : /* 28580*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15590 : /* 28582*/ OPC_EmitMergeInputChains1_0,
15591 : /* 28583*/ OPC_EmitInteger, MVT::i32, 0,
15592 : /* 28586*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15593 : 4/*#Ops*/, 4, 2, 1, 3,
15594 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 13
15595 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15596 : /* 28595*/ /*Scope*/ 17, /*->28613*/
15597 : /* 28596*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15598 : /* 28598*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15599 : /* 28600*/ OPC_EmitMergeInputChains1_0,
15600 : /* 28601*/ OPC_EmitInteger, MVT::i32, 0,
15601 : /* 28604*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15602 : 4/*#Ops*/, 4, 2, 1, 3,
15603 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 13
15604 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15605 : /* 28613*/ /*Scope*/ 17, /*->28631*/
15606 : /* 28614*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15607 : /* 28616*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15608 : /* 28618*/ OPC_EmitMergeInputChains1_0,
15609 : /* 28619*/ OPC_EmitInteger, MVT::i32, 0,
15610 : /* 28622*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15611 : 4/*#Ops*/, 4, 2, 1, 3,
15612 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 13
15613 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15614 : /* 28631*/ 0, /*End of Scope*/
15615 : /* 28632*/ /*Scope*/ 19, /*->28652*/
15616 : /* 28633*/ OPC_CheckChild2Type, MVT::i64,
15617 : /* 28635*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15618 : /* 28637*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15619 : /* 28639*/ OPC_EmitMergeInputChains1_0,
15620 : /* 28640*/ OPC_EmitInteger, MVT::i32, 0,
15621 : /* 28643*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15622 : 4/*#Ops*/, 4, 2, 1, 3,
15623 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 13
15624 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15625 : /* 28652*/ 0, /*End of Scope*/
15626 : /* 28653*/ /*Scope*/ 97, /*->28751*/
15627 : /* 28654*/ OPC_MoveChild0,
15628 : /* 28655*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
15629 : /* 28658*/ OPC_RecordChild0, // #1 = $off
15630 : /* 28659*/ OPC_MoveChild0,
15631 : /* 28660*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
15632 : /* 28663*/ OPC_MoveParent,
15633 : /* 28664*/ OPC_MoveParent,
15634 : /* 28665*/ OPC_RecordChild1, // #2 = $addr
15635 : /* 28666*/ OPC_CheckType, MVT::i32,
15636 : /* 28668*/ OPC_MoveParent,
15637 : /* 28669*/ OPC_RecordChild2, // #3 = $val
15638 : /* 28670*/ OPC_Scope, 58, /*->28730*/ // 2 children in Scope
15639 : /* 28672*/ OPC_CheckChild2Type, MVT::i32,
15640 : /* 28674*/ OPC_Scope, 17, /*->28693*/ // 3 children in Scope
15641 : /* 28676*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15642 : /* 28678*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15643 : /* 28680*/ OPC_EmitMergeInputChains1_0,
15644 : /* 28681*/ OPC_EmitInteger, MVT::i32, 0,
15645 : /* 28684*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15646 : 4/*#Ops*/, 4, 1, 2, 3,
15647 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 13
15648 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15649 : /* 28693*/ /*Scope*/ 17, /*->28711*/
15650 : /* 28694*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15651 : /* 28696*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15652 : /* 28698*/ OPC_EmitMergeInputChains1_0,
15653 : /* 28699*/ OPC_EmitInteger, MVT::i32, 0,
15654 : /* 28702*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15655 : 4/*#Ops*/, 4, 1, 2, 3,
15656 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 13
15657 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15658 : /* 28711*/ /*Scope*/ 17, /*->28729*/
15659 : /* 28712*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15660 : /* 28714*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15661 : /* 28716*/ OPC_EmitMergeInputChains1_0,
15662 : /* 28717*/ OPC_EmitInteger, MVT::i32, 0,
15663 : /* 28720*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15664 : 4/*#Ops*/, 4, 1, 2, 3,
15665 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 13
15666 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15667 : /* 28729*/ 0, /*End of Scope*/
15668 : /* 28730*/ /*Scope*/ 19, /*->28750*/
15669 : /* 28731*/ OPC_CheckChild2Type, MVT::i64,
15670 : /* 28733*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15671 : /* 28735*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15672 : /* 28737*/ OPC_EmitMergeInputChains1_0,
15673 : /* 28738*/ OPC_EmitInteger, MVT::i32, 0,
15674 : /* 28741*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15675 : 4/*#Ops*/, 4, 1, 2, 3,
15676 : // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 13
15677 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15678 : /* 28750*/ 0, /*End of Scope*/
15679 : /* 28751*/ /*Scope*/ 102, /*->28854*/
15680 : /* 28752*/ OPC_RecordChild0, // #1 = $addr
15681 : /* 28753*/ OPC_RecordChild1, // #2 = $off
15682 : /* 28754*/ OPC_MoveChild1,
15683 : /* 28755*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15684 : /* 28758*/ OPC_MoveParent,
15685 : /* 28759*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
15686 : /* 28761*/ OPC_CheckType, MVT::i32,
15687 : /* 28763*/ OPC_MoveParent,
15688 : /* 28764*/ OPC_RecordChild2, // #3 = $val
15689 : /* 28765*/ OPC_Scope, 64, /*->28831*/ // 2 children in Scope
15690 : /* 28767*/ OPC_CheckChild2Type, MVT::i32,
15691 : /* 28769*/ OPC_Scope, 19, /*->28790*/ // 3 children in Scope
15692 : /* 28771*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15693 : /* 28773*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15694 : /* 28775*/ OPC_EmitMergeInputChains1_0,
15695 : /* 28776*/ OPC_EmitInteger, MVT::i32, 0,
15696 : /* 28779*/ OPC_EmitConvertToTarget, 2,
15697 : /* 28781*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15698 : 4/*#Ops*/, 4, 5, 1, 3,
15699 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
15700 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15701 : /* 28790*/ /*Scope*/ 19, /*->28810*/
15702 : /* 28791*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15703 : /* 28793*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15704 : /* 28795*/ OPC_EmitMergeInputChains1_0,
15705 : /* 28796*/ OPC_EmitInteger, MVT::i32, 0,
15706 : /* 28799*/ OPC_EmitConvertToTarget, 2,
15707 : /* 28801*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15708 : 4/*#Ops*/, 4, 5, 1, 3,
15709 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
15710 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15711 : /* 28810*/ /*Scope*/ 19, /*->28830*/
15712 : /* 28811*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15713 : /* 28813*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15714 : /* 28815*/ OPC_EmitMergeInputChains1_0,
15715 : /* 28816*/ OPC_EmitInteger, MVT::i32, 0,
15716 : /* 28819*/ OPC_EmitConvertToTarget, 2,
15717 : /* 28821*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15718 : 4/*#Ops*/, 4, 5, 1, 3,
15719 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
15720 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15721 : /* 28830*/ 0, /*End of Scope*/
15722 : /* 28831*/ /*Scope*/ 21, /*->28853*/
15723 : /* 28832*/ OPC_CheckChild2Type, MVT::i64,
15724 : /* 28834*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15725 : /* 28836*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15726 : /* 28838*/ OPC_EmitMergeInputChains1_0,
15727 : /* 28839*/ OPC_EmitInteger, MVT::i32, 0,
15728 : /* 28842*/ OPC_EmitConvertToTarget, 2,
15729 : /* 28844*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15730 : 4/*#Ops*/, 4, 5, 1, 3,
15731 : // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
15732 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15733 : /* 28853*/ 0, /*End of Scope*/
15734 : /* 28854*/ 0, /*End of Scope*/
15735 : /* 28855*/ /*SwitchOpcode*/ 46|128,1/*174*/, TARGET_VAL(ISD::OR),// ->29033
15736 : /* 28859*/ OPC_RecordChild0, // #1 = $addr
15737 : /* 28860*/ OPC_RecordChild1, // #2 = $off
15738 : /* 28861*/ OPC_MoveChild1,
15739 : /* 28862*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15740 : /* 28865*/ OPC_MoveParent,
15741 : /* 28866*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
15742 : /* 28868*/ OPC_CheckType, MVT::i32,
15743 : /* 28870*/ OPC_MoveParent,
15744 : /* 28871*/ OPC_Scope, 68, /*->28941*/ // 2 children in Scope
15745 : /* 28873*/ OPC_MoveChild2,
15746 : /* 28874*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15747 : /* 28877*/ OPC_RecordChild0, // #3 = $val
15748 : /* 28878*/ OPC_MoveParent,
15749 : /* 28879*/ OPC_Scope, 19, /*->28900*/ // 3 children in Scope
15750 : /* 28881*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15751 : /* 28883*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15752 : /* 28885*/ OPC_EmitMergeInputChains1_0,
15753 : /* 28886*/ OPC_EmitInteger, MVT::i32, 0,
15754 : /* 28889*/ OPC_EmitConvertToTarget, 2,
15755 : /* 28891*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15756 : 4/*#Ops*/, 4, 5, 1, 3,
15757 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
15758 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15759 : /* 28900*/ /*Scope*/ 19, /*->28920*/
15760 : /* 28901*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15761 : /* 28903*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15762 : /* 28905*/ OPC_EmitMergeInputChains1_0,
15763 : /* 28906*/ OPC_EmitInteger, MVT::i32, 0,
15764 : /* 28909*/ OPC_EmitConvertToTarget, 2,
15765 : /* 28911*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15766 : 4/*#Ops*/, 4, 5, 1, 3,
15767 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
15768 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15769 : /* 28920*/ /*Scope*/ 19, /*->28940*/
15770 : /* 28921*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15771 : /* 28923*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15772 : /* 28925*/ OPC_EmitMergeInputChains1_0,
15773 : /* 28926*/ OPC_EmitInteger, MVT::i32, 0,
15774 : /* 28929*/ OPC_EmitConvertToTarget, 2,
15775 : /* 28931*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15776 : 4/*#Ops*/, 4, 5, 1, 3,
15777 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
15778 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15779 : /* 28940*/ 0, /*End of Scope*/
15780 : /* 28941*/ /*Scope*/ 90, /*->29032*/
15781 : /* 28942*/ OPC_RecordChild2, // #3 = $val
15782 : /* 28943*/ OPC_Scope, 64, /*->29009*/ // 2 children in Scope
15783 : /* 28945*/ OPC_CheckChild2Type, MVT::i32,
15784 : /* 28947*/ OPC_Scope, 19, /*->28968*/ // 3 children in Scope
15785 : /* 28949*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15786 : /* 28951*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15787 : /* 28953*/ OPC_EmitMergeInputChains1_0,
15788 : /* 28954*/ OPC_EmitInteger, MVT::i32, 0,
15789 : /* 28957*/ OPC_EmitConvertToTarget, 2,
15790 : /* 28959*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15791 : 4/*#Ops*/, 4, 5, 1, 3,
15792 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
15793 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15794 : /* 28968*/ /*Scope*/ 19, /*->28988*/
15795 : /* 28969*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15796 : /* 28971*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15797 : /* 28973*/ OPC_EmitMergeInputChains1_0,
15798 : /* 28974*/ OPC_EmitInteger, MVT::i32, 0,
15799 : /* 28977*/ OPC_EmitConvertToTarget, 2,
15800 : /* 28979*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
15801 : 4/*#Ops*/, 4, 5, 1, 3,
15802 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
15803 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15804 : /* 28988*/ /*Scope*/ 19, /*->29008*/
15805 : /* 28989*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15806 : /* 28991*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15807 : /* 28993*/ OPC_EmitMergeInputChains1_0,
15808 : /* 28994*/ OPC_EmitInteger, MVT::i32, 0,
15809 : /* 28997*/ OPC_EmitConvertToTarget, 2,
15810 : /* 28999*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
15811 : 4/*#Ops*/, 4, 5, 1, 3,
15812 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
15813 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
15814 : /* 29008*/ 0, /*End of Scope*/
15815 : /* 29009*/ /*Scope*/ 21, /*->29031*/
15816 : /* 29010*/ OPC_CheckChild2Type, MVT::i64,
15817 : /* 29012*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15818 : /* 29014*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15819 : /* 29016*/ OPC_EmitMergeInputChains1_0,
15820 : /* 29017*/ OPC_EmitInteger, MVT::i32, 0,
15821 : /* 29020*/ OPC_EmitConvertToTarget, 2,
15822 : /* 29022*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15823 : 4/*#Ops*/, 4, 5, 1, 3,
15824 : // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
15825 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
15826 : /* 29031*/ 0, /*End of Scope*/
15827 : /* 29032*/ 0, /*End of Scope*/
15828 : /* 29033*/ /*SwitchOpcode*/ 78|128,2/*334*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->29371
15829 : /* 29037*/ OPC_RecordChild0, // #1 = $off
15830 : /* 29038*/ OPC_MoveChild0,
15831 : /* 29039*/ OPC_SwitchOpcode /*2 cases */, 33|128,1/*161*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->29205
15832 : /* 29044*/ OPC_MoveParent,
15833 : /* 29045*/ OPC_MoveParent,
15834 : /* 29046*/ OPC_Scope, 92, /*->29140*/ // 2 children in Scope
15835 : /* 29048*/ OPC_MoveChild2,
15836 : /* 29049*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15837 : /* 29052*/ OPC_RecordChild0, // #2 = $val
15838 : /* 29053*/ OPC_MoveParent,
15839 : /* 29054*/ OPC_Scope, 27, /*->29083*/ // 3 children in Scope
15840 : /* 29056*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15841 : /* 29058*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15842 : /* 29060*/ OPC_EmitMergeInputChains1_0,
15843 : /* 29061*/ OPC_EmitInteger, MVT::i32, 0,
15844 : /* 29064*/ OPC_EmitInteger, MVT::i32, 0,
15845 : /* 29067*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15846 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15847 : /* 29074*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15848 : 4/*#Ops*/, 3, 1, 5, 2,
15849 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
15850 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15851 : /* 29083*/ /*Scope*/ 27, /*->29111*/
15852 : /* 29084*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15853 : /* 29086*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15854 : /* 29088*/ OPC_EmitMergeInputChains1_0,
15855 : /* 29089*/ OPC_EmitInteger, MVT::i32, 0,
15856 : /* 29092*/ OPC_EmitInteger, MVT::i32, 0,
15857 : /* 29095*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15858 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15859 : /* 29102*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15860 : 4/*#Ops*/, 3, 1, 5, 2,
15861 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
15862 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15863 : /* 29111*/ /*Scope*/ 27, /*->29139*/
15864 : /* 29112*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15865 : /* 29114*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15866 : /* 29116*/ OPC_EmitMergeInputChains1_0,
15867 : /* 29117*/ OPC_EmitInteger, MVT::i32, 0,
15868 : /* 29120*/ OPC_EmitInteger, MVT::i32, 0,
15869 : /* 29123*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15870 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15871 : /* 29130*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15872 : 4/*#Ops*/, 3, 1, 5, 2,
15873 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
15874 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15875 : /* 29139*/ 0, /*End of Scope*/
15876 : /* 29140*/ /*Scope*/ 63, /*->29204*/
15877 : /* 29141*/ OPC_RecordChild2, // #2 = $val
15878 : /* 29142*/ OPC_Scope, 29, /*->29173*/ // 2 children in Scope
15879 : /* 29144*/ OPC_CheckChild2Type, MVT::i32,
15880 : /* 29146*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15881 : /* 29148*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15882 : /* 29150*/ OPC_EmitMergeInputChains1_0,
15883 : /* 29151*/ OPC_EmitInteger, MVT::i32, 0,
15884 : /* 29154*/ OPC_EmitInteger, MVT::i32, 0,
15885 : /* 29157*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15886 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15887 : /* 29164*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15888 : 4/*#Ops*/, 3, 1, 5, 2,
15889 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
15890 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
15891 : /* 29173*/ /*Scope*/ 29, /*->29203*/
15892 : /* 29174*/ OPC_CheckChild2Type, MVT::i64,
15893 : /* 29176*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15894 : /* 29178*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15895 : /* 29180*/ OPC_EmitMergeInputChains1_0,
15896 : /* 29181*/ OPC_EmitInteger, MVT::i32, 0,
15897 : /* 29184*/ OPC_EmitInteger, MVT::i32, 0,
15898 : /* 29187*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15899 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15900 : /* 29194*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15901 : 4/*#Ops*/, 3, 1, 5, 2,
15902 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
15903 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15904 : /* 29203*/ 0, /*End of Scope*/
15905 : /* 29204*/ 0, /*End of Scope*/
15906 : /* 29205*/ /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->29370
15907 : /* 29209*/ OPC_MoveParent,
15908 : /* 29210*/ OPC_MoveParent,
15909 : /* 29211*/ OPC_Scope, 92, /*->29305*/ // 2 children in Scope
15910 : /* 29213*/ OPC_MoveChild2,
15911 : /* 29214*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15912 : /* 29217*/ OPC_RecordChild0, // #2 = $val
15913 : /* 29218*/ OPC_MoveParent,
15914 : /* 29219*/ OPC_Scope, 27, /*->29248*/ // 3 children in Scope
15915 : /* 29221*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15916 : /* 29223*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15917 : /* 29225*/ OPC_EmitMergeInputChains1_0,
15918 : /* 29226*/ OPC_EmitInteger, MVT::i32, 0,
15919 : /* 29229*/ OPC_EmitInteger, MVT::i32, 0,
15920 : /* 29232*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15921 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15922 : /* 29239*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
15923 : 4/*#Ops*/, 3, 1, 5, 2,
15924 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
15925 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15926 : /* 29248*/ /*Scope*/ 27, /*->29276*/
15927 : /* 29249*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
15928 : /* 29251*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15929 : /* 29253*/ OPC_EmitMergeInputChains1_0,
15930 : /* 29254*/ OPC_EmitInteger, MVT::i32, 0,
15931 : /* 29257*/ OPC_EmitInteger, MVT::i32, 0,
15932 : /* 29260*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15933 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15934 : /* 29267*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
15935 : 4/*#Ops*/, 3, 1, 5, 2,
15936 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
15937 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15938 : /* 29276*/ /*Scope*/ 27, /*->29304*/
15939 : /* 29277*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15940 : /* 29279*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15941 : /* 29281*/ OPC_EmitMergeInputChains1_0,
15942 : /* 29282*/ OPC_EmitInteger, MVT::i32, 0,
15943 : /* 29285*/ OPC_EmitInteger, MVT::i32, 0,
15944 : /* 29288*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15945 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15946 : /* 29295*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
15947 : 4/*#Ops*/, 3, 1, 5, 2,
15948 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
15949 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15950 : /* 29304*/ 0, /*End of Scope*/
15951 : /* 29305*/ /*Scope*/ 63, /*->29369*/
15952 : /* 29306*/ OPC_RecordChild2, // #2 = $val
15953 : /* 29307*/ OPC_Scope, 29, /*->29338*/ // 2 children in Scope
15954 : /* 29309*/ OPC_CheckChild2Type, MVT::i32,
15955 : /* 29311*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
15956 : /* 29313*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15957 : /* 29315*/ OPC_EmitMergeInputChains1_0,
15958 : /* 29316*/ OPC_EmitInteger, MVT::i32, 0,
15959 : /* 29319*/ OPC_EmitInteger, MVT::i32, 0,
15960 : /* 29322*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15961 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15962 : /* 29329*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
15963 : 4/*#Ops*/, 3, 1, 5, 2,
15964 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
15965 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
15966 : /* 29338*/ /*Scope*/ 29, /*->29368*/
15967 : /* 29339*/ OPC_CheckChild2Type, MVT::i64,
15968 : /* 29341*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
15969 : /* 29343*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15970 : /* 29345*/ OPC_EmitMergeInputChains1_0,
15971 : /* 29346*/ OPC_EmitInteger, MVT::i32, 0,
15972 : /* 29349*/ OPC_EmitInteger, MVT::i32, 0,
15973 : /* 29352*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
15974 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
15975 : /* 29359*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
15976 : 4/*#Ops*/, 3, 1, 5, 2,
15977 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
15978 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
15979 : /* 29368*/ 0, /*End of Scope*/
15980 : /* 29369*/ 0, /*End of Scope*/
15981 : /* 29370*/ 0, // EndSwitchOpcode
15982 : /* 29371*/ 0, // EndSwitchOpcode
15983 : /* 29372*/ /*Scope*/ 104, /*->29477*/
15984 : /* 29373*/ OPC_RecordChild1, // #1 = $off
15985 : /* 29374*/ OPC_MoveChild1,
15986 : /* 29375*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15987 : /* 29378*/ OPC_MoveParent,
15988 : /* 29379*/ OPC_MoveChild2,
15989 : /* 29380*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
15990 : /* 29383*/ OPC_RecordChild0, // #2 = $val
15991 : /* 29384*/ OPC_MoveParent,
15992 : /* 29385*/ OPC_Scope, 29, /*->29416*/ // 3 children in Scope
15993 : /* 29387*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
15994 : /* 29389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
15995 : /* 29391*/ OPC_EmitMergeInputChains1_0,
15996 : /* 29392*/ OPC_EmitInteger, MVT::i32, 0,
15997 : /* 29395*/ OPC_EmitConvertToTarget, 1,
15998 : /* 29397*/ OPC_EmitInteger, MVT::i32, 0,
15999 : /* 29400*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16000 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16001 : /* 29407*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
16002 : 4/*#Ops*/, 3, 4, 6, 2,
16003 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 10
16004 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
16005 : /* 29416*/ /*Scope*/ 29, /*->29446*/
16006 : /* 29417*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16007 : /* 29419*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16008 : /* 29421*/ OPC_EmitMergeInputChains1_0,
16009 : /* 29422*/ OPC_EmitInteger, MVT::i32, 0,
16010 : /* 29425*/ OPC_EmitConvertToTarget, 1,
16011 : /* 29427*/ OPC_EmitInteger, MVT::i32, 0,
16012 : /* 29430*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16013 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16014 : /* 29437*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
16015 : 4/*#Ops*/, 3, 4, 6, 2,
16016 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 10
16017 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
16018 : /* 29446*/ /*Scope*/ 29, /*->29476*/
16019 : /* 29447*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
16020 : /* 29449*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16021 : /* 29451*/ OPC_EmitMergeInputChains1_0,
16022 : /* 29452*/ OPC_EmitInteger, MVT::i32, 0,
16023 : /* 29455*/ OPC_EmitConvertToTarget, 1,
16024 : /* 29457*/ OPC_EmitInteger, MVT::i32, 0,
16025 : /* 29460*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16026 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16027 : /* 29467*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
16028 : 4/*#Ops*/, 3, 4, 6, 2,
16029 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 10
16030 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
16031 : /* 29476*/ 0, /*End of Scope*/
16032 : /* 29477*/ /*Scope*/ 12|128,1/*140*/, /*->29619*/
16033 : /* 29479*/ OPC_MoveChild1,
16034 : /* 29480*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
16035 : /* 29483*/ OPC_RecordChild0, // #1 = $off
16036 : /* 29484*/ OPC_MoveChild0,
16037 : /* 29485*/ OPC_SwitchOpcode /*2 cases */, 63, TARGET_VAL(ISD::TargetGlobalAddress),// ->29552
16038 : /* 29489*/ OPC_MoveParent,
16039 : /* 29490*/ OPC_MoveParent,
16040 : /* 29491*/ OPC_RecordChild2, // #2 = $val
16041 : /* 29492*/ OPC_CheckChild2Type, MVT::i32,
16042 : /* 29494*/ OPC_Scope, 27, /*->29523*/ // 2 children in Scope
16043 : /* 29496*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
16044 : /* 29498*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16045 : /* 29500*/ OPC_EmitMergeInputChains1_0,
16046 : /* 29501*/ OPC_EmitInteger, MVT::i32, 0,
16047 : /* 29504*/ OPC_EmitInteger, MVT::i32, 0,
16048 : /* 29507*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16049 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
16050 : /* 29514*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
16051 : 4/*#Ops*/, 3, 1, 5, 2,
16052 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
16053 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16054 : /* 29523*/ /*Scope*/ 27, /*->29551*/
16055 : /* 29524*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16056 : /* 29526*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16057 : /* 29528*/ OPC_EmitMergeInputChains1_0,
16058 : /* 29529*/ OPC_EmitInteger, MVT::i32, 0,
16059 : /* 29532*/ OPC_EmitInteger, MVT::i32, 0,
16060 : /* 29535*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16061 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
16062 : /* 29542*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
16063 : 4/*#Ops*/, 3, 1, 5, 2,
16064 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
16065 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16066 : /* 29551*/ 0, /*End of Scope*/
16067 : /* 29552*/ /*SwitchOpcode*/ 63, TARGET_VAL(ISD::TargetExternalSymbol),// ->29618
16068 : /* 29555*/ OPC_MoveParent,
16069 : /* 29556*/ OPC_MoveParent,
16070 : /* 29557*/ OPC_RecordChild2, // #2 = $val
16071 : /* 29558*/ OPC_CheckChild2Type, MVT::i32,
16072 : /* 29560*/ OPC_Scope, 27, /*->29589*/ // 2 children in Scope
16073 : /* 29562*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
16074 : /* 29564*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16075 : /* 29566*/ OPC_EmitMergeInputChains1_0,
16076 : /* 29567*/ OPC_EmitInteger, MVT::i32, 0,
16077 : /* 29570*/ OPC_EmitInteger, MVT::i32, 0,
16078 : /* 29573*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16079 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
16080 : /* 29580*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
16081 : 4/*#Ops*/, 3, 1, 5, 2,
16082 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
16083 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16084 : /* 29589*/ /*Scope*/ 27, /*->29617*/
16085 : /* 29590*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16086 : /* 29592*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16087 : /* 29594*/ OPC_EmitMergeInputChains1_0,
16088 : /* 29595*/ OPC_EmitInteger, MVT::i32, 0,
16089 : /* 29598*/ OPC_EmitInteger, MVT::i32, 0,
16090 : /* 29601*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16091 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
16092 : /* 29608*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
16093 : 4/*#Ops*/, 3, 1, 5, 2,
16094 : // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
16095 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16096 : /* 29617*/ 0, /*End of Scope*/
16097 : /* 29618*/ 0, // EndSwitchOpcode
16098 : /* 29619*/ /*Scope*/ 55|128,2/*311*/, /*->29932*/
16099 : /* 29621*/ OPC_RecordChild1, // #1 = $addr
16100 : /* 29622*/ OPC_Scope, 73, /*->29697*/ // 3 children in Scope
16101 : /* 29624*/ OPC_CheckChild1Type, MVT::i32,
16102 : /* 29626*/ OPC_MoveChild2,
16103 : /* 29627*/ OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
16104 : /* 29630*/ OPC_RecordChild0, // #2 = $val
16105 : /* 29631*/ OPC_MoveParent,
16106 : /* 29632*/ OPC_Scope, 20, /*->29654*/ // 3 children in Scope
16107 : /* 29634*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
16108 : /* 29636*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16109 : /* 29638*/ OPC_EmitMergeInputChains1_0,
16110 : /* 29639*/ OPC_EmitInteger, MVT::i32, 0,
16111 : /* 29642*/ OPC_EmitInteger, MVT::i32, 0,
16112 : /* 29645*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
16113 : 4/*#Ops*/, 3, 4, 1, 2,
16114 : // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 7
16115 : // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
16116 : /* 29654*/ /*Scope*/ 20, /*->29675*/
16117 : /* 29655*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16118 : /* 29657*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16119 : /* 29659*/ OPC_EmitMergeInputChains1_0,
16120 : /* 29660*/ OPC_EmitInteger, MVT::i32, 0,
16121 : /* 29663*/ OPC_EmitInteger, MVT::i32, 0,
16122 : /* 29666*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
16123 : 4/*#Ops*/, 3, 4, 1, 2,
16124 : // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 7
16125 : // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
16126 : /* 29675*/ /*Scope*/ 20, /*->29696*/
16127 : /* 29676*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
16128 : /* 29678*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16129 : /* 29680*/ OPC_EmitMergeInputChains1_0,
16130 : /* 29681*/ OPC_EmitInteger, MVT::i32, 0,
16131 : /* 29684*/ OPC_EmitInteger, MVT::i32, 0,
16132 : /* 29687*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
16133 : 4/*#Ops*/, 3, 4, 1, 2,
16134 : // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 7
16135 : // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
16136 : /* 29696*/ 0, /*End of Scope*/
16137 : /* 29697*/ /*Scope*/ 7|128,1/*135*/, /*->29834*/
16138 : /* 29699*/ OPC_MoveChild1,
16139 : /* 29700*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16140 : /* 29703*/ OPC_MoveParent,
16141 : /* 29704*/ OPC_RecordChild2, // #2 = $val
16142 : /* 29705*/ OPC_Scope, 94, /*->29801*/ // 2 children in Scope
16143 : /* 29707*/ OPC_CheckChild2Type, MVT::i32,
16144 : /* 29709*/ OPC_Scope, 29, /*->29740*/ // 3 children in Scope
16145 : /* 29711*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
16146 : /* 29713*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16147 : /* 29715*/ OPC_EmitMergeInputChains1_0,
16148 : /* 29716*/ OPC_EmitInteger, MVT::i32, 0,
16149 : /* 29719*/ OPC_EmitConvertToTarget, 1,
16150 : /* 29721*/ OPC_EmitInteger, MVT::i32, 0,
16151 : /* 29724*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16152 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16153 : /* 29731*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
16154 : 4/*#Ops*/, 3, 4, 6, 2,
16155 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 7
16156 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16157 : /* 29740*/ /*Scope*/ 29, /*->29770*/
16158 : /* 29741*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
16159 : /* 29743*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16160 : /* 29745*/ OPC_EmitMergeInputChains1_0,
16161 : /* 29746*/ OPC_EmitInteger, MVT::i32, 0,
16162 : /* 29749*/ OPC_EmitConvertToTarget, 1,
16163 : /* 29751*/ OPC_EmitInteger, MVT::i32, 0,
16164 : /* 29754*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16165 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16166 : /* 29761*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
16167 : 4/*#Ops*/, 3, 4, 6, 2,
16168 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 7
16169 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16170 : /* 29770*/ /*Scope*/ 29, /*->29800*/
16171 : /* 29771*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16172 : /* 29773*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16173 : /* 29775*/ OPC_EmitMergeInputChains1_0,
16174 : /* 29776*/ OPC_EmitInteger, MVT::i32, 0,
16175 : /* 29779*/ OPC_EmitConvertToTarget, 1,
16176 : /* 29781*/ OPC_EmitInteger, MVT::i32, 0,
16177 : /* 29784*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16178 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16179 : /* 29791*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
16180 : 4/*#Ops*/, 3, 4, 6, 2,
16181 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 7
16182 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
16183 : /* 29800*/ 0, /*End of Scope*/
16184 : /* 29801*/ /*Scope*/ 31, /*->29833*/
16185 : /* 29802*/ OPC_CheckChild2Type, MVT::i64,
16186 : /* 29804*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
16187 : /* 29806*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16188 : /* 29808*/ OPC_EmitMergeInputChains1_0,
16189 : /* 29809*/ OPC_EmitInteger, MVT::i32, 0,
16190 : /* 29812*/ OPC_EmitConvertToTarget, 1,
16191 : /* 29814*/ OPC_EmitInteger, MVT::i32, 0,
16192 : /* 29817*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
16193 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
16194 : /* 29824*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
16195 : 4/*#Ops*/, 3, 4, 6, 2,
16196 : // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 7
16197 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
16198 : /* 29833*/ 0, /*End of Scope*/
16199 : /* 29834*/ /*Scope*/ 96, /*->29931*/
16200 : /* 29835*/ OPC_CheckChild1Type, MVT::i32,
16201 : /* 29837*/ OPC_RecordChild2, // #2 = $val
16202 : /* 29838*/ OPC_Scope, 67, /*->29907*/ // 2 children in Scope
16203 : /* 29840*/ OPC_CheckChild2Type, MVT::i32,
16204 : /* 29842*/ OPC_Scope, 20, /*->29864*/ // 3 children in Scope
16205 : /* 29844*/ OPC_CheckPredicate, 7, // Predicate_atomic_store_32
16206 : /* 29846*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16207 : /* 29848*/ OPC_EmitMergeInputChains1_0,
16208 : /* 29849*/ OPC_EmitInteger, MVT::i32, 0,
16209 : /* 29852*/ OPC_EmitInteger, MVT::i32, 0,
16210 : /* 29855*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
16211 : 4/*#Ops*/, 3, 4, 1, 2,
16212 : // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 4
16213 : // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
16214 : /* 29864*/ /*Scope*/ 20, /*->29885*/
16215 : /* 29865*/ OPC_CheckPredicate, 1, // Predicate_atomic_store_8
16216 : /* 29867*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16217 : /* 29869*/ OPC_EmitMergeInputChains1_0,
16218 : /* 29870*/ OPC_EmitInteger, MVT::i32, 0,
16219 : /* 29873*/ OPC_EmitInteger, MVT::i32, 0,
16220 : /* 29876*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
16221 : 4/*#Ops*/, 3, 4, 1, 2,
16222 : // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 4
16223 : // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
16224 : /* 29885*/ /*Scope*/ 20, /*->29906*/
16225 : /* 29886*/ OPC_CheckPredicate, 2, // Predicate_atomic_store_16
16226 : /* 29888*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16227 : /* 29890*/ OPC_EmitMergeInputChains1_0,
16228 : /* 29891*/ OPC_EmitInteger, MVT::i32, 0,
16229 : /* 29894*/ OPC_EmitInteger, MVT::i32, 0,
16230 : /* 29897*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
16231 : 4/*#Ops*/, 3, 4, 1, 2,
16232 : // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 4
16233 : // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
16234 : /* 29906*/ 0, /*End of Scope*/
16235 : /* 29907*/ /*Scope*/ 22, /*->29930*/
16236 : /* 29908*/ OPC_CheckChild2Type, MVT::i64,
16237 : /* 29910*/ OPC_CheckPredicate, 8, // Predicate_atomic_store_64
16238 : /* 29912*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
16239 : /* 29914*/ OPC_EmitMergeInputChains1_0,
16240 : /* 29915*/ OPC_EmitInteger, MVT::i32, 0,
16241 : /* 29918*/ OPC_EmitInteger, MVT::i32, 0,
16242 : /* 29921*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
16243 : 4/*#Ops*/, 3, 4, 1, 2,
16244 : // Src: (atomic_store I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 4
16245 : // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
16246 : /* 29930*/ 0, /*End of Scope*/
16247 : /* 29931*/ 0, /*End of Scope*/
16248 : /* 29932*/ 0, /*End of Scope*/
16249 : /* 29933*/ /*SwitchOpcode*/ 79|128,48/*6223*/, TARGET_VAL(ISD::LOAD),// ->36160
16250 : /* 29937*/ OPC_RecordMemRef,
16251 : /* 29938*/ OPC_RecordNode, // #0 = 'ld' chained node
16252 : /* 29939*/ OPC_Scope, 104|128,24/*3176*/, /*->33118*/ // 8 children in Scope
16253 : /* 29942*/ OPC_MoveChild1,
16254 : /* 29943*/ OPC_SwitchOpcode /*3 cases */, 97|128,13/*1761*/, TARGET_VAL(ISD::ADD),// ->31709
16255 : /* 29948*/ OPC_Scope, 93|128,2/*349*/, /*->30300*/ // 5 children in Scope
16256 : /* 29951*/ OPC_RecordChild0, // #1 = $addr
16257 : /* 29952*/ OPC_MoveChild1,
16258 : /* 29953*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
16259 : /* 29956*/ OPC_RecordChild0, // #2 = $off
16260 : /* 29957*/ OPC_MoveChild0,
16261 : /* 29958*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
16262 : /* 29961*/ OPC_MoveParent,
16263 : /* 29962*/ OPC_MoveParent,
16264 : /* 29963*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
16265 : /* 29965*/ OPC_CheckType, MVT::i32,
16266 : /* 29967*/ OPC_MoveParent,
16267 : /* 29968*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
16268 : /* 29970*/ OPC_Scope, 34, /*->30006*/ // 12 children in Scope
16269 : /* 29972*/ OPC_CheckPredicate, 10, // Predicate_load
16270 : /* 29974*/ OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->29990
16271 : /* 29977*/ OPC_EmitMergeInputChains1_0,
16272 : /* 29978*/ OPC_EmitInteger, MVT::i32, 0,
16273 : /* 29981*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
16274 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16275 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
16276 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16277 : /* 29990*/ /*SwitchType*/ 13, MVT::i64,// ->30005
16278 : /* 29992*/ OPC_EmitMergeInputChains1_0,
16279 : /* 29993*/ OPC_EmitInteger, MVT::i32, 0,
16280 : /* 29996*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
16281 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16282 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
16283 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16284 : /* 30005*/ 0, // EndSwitchType
16285 : /* 30006*/ /*Scope*/ 19, /*->30026*/
16286 : /* 30007*/ OPC_CheckPredicate, 11, // Predicate_sextload
16287 : /* 30009*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16288 : /* 30011*/ OPC_CheckType, MVT::i32,
16289 : /* 30013*/ OPC_EmitMergeInputChains1_0,
16290 : /* 30014*/ OPC_EmitInteger, MVT::i32, 0,
16291 : /* 30017*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16292 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16293 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
16294 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16295 : /* 30026*/ /*Scope*/ 19, /*->30046*/
16296 : /* 30027*/ OPC_CheckPredicate, 13, // Predicate_zextload
16297 : /* 30029*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16298 : /* 30031*/ OPC_CheckType, MVT::i32,
16299 : /* 30033*/ OPC_EmitMergeInputChains1_0,
16300 : /* 30034*/ OPC_EmitInteger, MVT::i32, 0,
16301 : /* 30037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16302 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16303 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
16304 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16305 : /* 30046*/ /*Scope*/ 19, /*->30066*/
16306 : /* 30047*/ OPC_CheckPredicate, 11, // Predicate_sextload
16307 : /* 30049*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16308 : /* 30051*/ OPC_CheckType, MVT::i32,
16309 : /* 30053*/ OPC_EmitMergeInputChains1_0,
16310 : /* 30054*/ OPC_EmitInteger, MVT::i32, 0,
16311 : /* 30057*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16312 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16313 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
16314 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16315 : /* 30066*/ /*Scope*/ 19, /*->30086*/
16316 : /* 30067*/ OPC_CheckPredicate, 13, // Predicate_zextload
16317 : /* 30069*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16318 : /* 30071*/ OPC_CheckType, MVT::i32,
16319 : /* 30073*/ OPC_EmitMergeInputChains1_0,
16320 : /* 30074*/ OPC_EmitInteger, MVT::i32, 0,
16321 : /* 30077*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16322 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16323 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
16324 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16325 : /* 30086*/ /*Scope*/ 19, /*->30106*/
16326 : /* 30087*/ OPC_CheckPredicate, 11, // Predicate_sextload
16327 : /* 30089*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16328 : /* 30091*/ OPC_CheckType, MVT::i64,
16329 : /* 30093*/ OPC_EmitMergeInputChains1_0,
16330 : /* 30094*/ OPC_EmitInteger, MVT::i32, 0,
16331 : /* 30097*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16332 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16333 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
16334 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16335 : /* 30106*/ /*Scope*/ 19, /*->30126*/
16336 : /* 30107*/ OPC_CheckPredicate, 13, // Predicate_zextload
16337 : /* 30109*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16338 : /* 30111*/ OPC_CheckType, MVT::i64,
16339 : /* 30113*/ OPC_EmitMergeInputChains1_0,
16340 : /* 30114*/ OPC_EmitInteger, MVT::i32, 0,
16341 : /* 30117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16342 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16343 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
16344 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16345 : /* 30126*/ /*Scope*/ 19, /*->30146*/
16346 : /* 30127*/ OPC_CheckPredicate, 11, // Predicate_sextload
16347 : /* 30129*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16348 : /* 30131*/ OPC_CheckType, MVT::i64,
16349 : /* 30133*/ OPC_EmitMergeInputChains1_0,
16350 : /* 30134*/ OPC_EmitInteger, MVT::i32, 0,
16351 : /* 30137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16352 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16353 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
16354 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16355 : /* 30146*/ /*Scope*/ 19, /*->30166*/
16356 : /* 30147*/ OPC_CheckPredicate, 13, // Predicate_zextload
16357 : /* 30149*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16358 : /* 30151*/ OPC_CheckType, MVT::i64,
16359 : /* 30153*/ OPC_EmitMergeInputChains1_0,
16360 : /* 30154*/ OPC_EmitInteger, MVT::i32, 0,
16361 : /* 30157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16362 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16363 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 14
16364 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16365 : /* 30166*/ /*Scope*/ 19, /*->30186*/
16366 : /* 30167*/ OPC_CheckPredicate, 11, // Predicate_sextload
16367 : /* 30169*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
16368 : /* 30171*/ OPC_CheckType, MVT::i64,
16369 : /* 30173*/ OPC_EmitMergeInputChains1_0,
16370 : /* 30174*/ OPC_EmitInteger, MVT::i32, 0,
16371 : /* 30177*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16372 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16373 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 14
16374 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16375 : /* 30186*/ /*Scope*/ 19, /*->30206*/
16376 : /* 30187*/ OPC_CheckPredicate, 13, // Predicate_zextload
16377 : /* 30189*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
16378 : /* 30191*/ OPC_CheckType, MVT::i64,
16379 : /* 30193*/ OPC_EmitMergeInputChains1_0,
16380 : /* 30194*/ OPC_EmitInteger, MVT::i32, 0,
16381 : /* 30197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16382 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16383 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 14
16384 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16385 : /* 30206*/ /*Scope*/ 92, /*->30299*/
16386 : /* 30207*/ OPC_CheckPredicate, 16, // Predicate_extload
16387 : /* 30209*/ OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30246
16388 : /* 30212*/ OPC_Scope, 15, /*->30229*/ // 2 children in Scope
16389 : /* 30214*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16390 : /* 30216*/ OPC_EmitMergeInputChains1_0,
16391 : /* 30217*/ OPC_EmitInteger, MVT::i32, 0,
16392 : /* 30220*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16393 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16394 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
16395 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16396 : /* 30229*/ /*Scope*/ 15, /*->30245*/
16397 : /* 30230*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16398 : /* 30232*/ OPC_EmitMergeInputChains1_0,
16399 : /* 30233*/ OPC_EmitInteger, MVT::i32, 0,
16400 : /* 30236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16401 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16402 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
16403 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16404 : /* 30245*/ 0, /*End of Scope*/
16405 : /* 30246*/ /*SwitchType*/ 50, MVT::i64,// ->30298
16406 : /* 30248*/ OPC_Scope, 15, /*->30265*/ // 3 children in Scope
16407 : /* 30250*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16408 : /* 30252*/ OPC_EmitMergeInputChains1_0,
16409 : /* 30253*/ OPC_EmitInteger, MVT::i32, 0,
16410 : /* 30256*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16411 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16412 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
16413 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16414 : /* 30265*/ /*Scope*/ 15, /*->30281*/
16415 : /* 30266*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16416 : /* 30268*/ OPC_EmitMergeInputChains1_0,
16417 : /* 30269*/ OPC_EmitInteger, MVT::i32, 0,
16418 : /* 30272*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16419 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16420 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
16421 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16422 : /* 30281*/ /*Scope*/ 15, /*->30297*/
16423 : /* 30282*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
16424 : /* 30284*/ OPC_EmitMergeInputChains1_0,
16425 : /* 30285*/ OPC_EmitInteger, MVT::i32, 0,
16426 : /* 30288*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16427 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16428 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 14
16429 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16430 : /* 30297*/ 0, /*End of Scope*/
16431 : /* 30298*/ 0, // EndSwitchType
16432 : /* 30299*/ 0, /*End of Scope*/
16433 : /* 30300*/ /*Scope*/ 72|128,2/*328*/, /*->30630*/
16434 : /* 30302*/ OPC_MoveChild0,
16435 : /* 30303*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
16436 : /* 30306*/ OPC_RecordChild0, // #1 = $off
16437 : /* 30307*/ OPC_MoveChild0,
16438 : /* 30308*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
16439 : /* 30311*/ OPC_MoveParent,
16440 : /* 30312*/ OPC_MoveParent,
16441 : /* 30313*/ OPC_RecordChild1, // #2 = $addr
16442 : /* 30314*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
16443 : /* 30316*/ OPC_CheckType, MVT::i32,
16444 : /* 30318*/ OPC_MoveParent,
16445 : /* 30319*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
16446 : /* 30321*/ OPC_Scope, 19, /*->30342*/ // 10 children in Scope
16447 : /* 30323*/ OPC_CheckPredicate, 11, // Predicate_sextload
16448 : /* 30325*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16449 : /* 30327*/ OPC_CheckType, MVT::i32,
16450 : /* 30329*/ OPC_EmitMergeInputChains1_0,
16451 : /* 30330*/ OPC_EmitInteger, MVT::i32, 0,
16452 : /* 30333*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16453 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16454 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
16455 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16456 : /* 30342*/ /*Scope*/ 19, /*->30362*/
16457 : /* 30343*/ OPC_CheckPredicate, 13, // Predicate_zextload
16458 : /* 30345*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16459 : /* 30347*/ OPC_CheckType, MVT::i32,
16460 : /* 30349*/ OPC_EmitMergeInputChains1_0,
16461 : /* 30350*/ OPC_EmitInteger, MVT::i32, 0,
16462 : /* 30353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16463 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16464 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
16465 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16466 : /* 30362*/ /*Scope*/ 38, /*->30401*/
16467 : /* 30363*/ OPC_CheckPredicate, 11, // Predicate_sextload
16468 : /* 30365*/ OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->30383
16469 : /* 30368*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16470 : /* 30370*/ OPC_EmitMergeInputChains1_0,
16471 : /* 30371*/ OPC_EmitInteger, MVT::i32, 0,
16472 : /* 30374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16473 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16474 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
16475 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16476 : /* 30383*/ /*SwitchType*/ 15, MVT::i64,// ->30400
16477 : /* 30385*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16478 : /* 30387*/ OPC_EmitMergeInputChains1_0,
16479 : /* 30388*/ OPC_EmitInteger, MVT::i32, 0,
16480 : /* 30391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16481 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16482 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
16483 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16484 : /* 30400*/ 0, // EndSwitchType
16485 : /* 30401*/ /*Scope*/ 19, /*->30421*/
16486 : /* 30402*/ OPC_CheckPredicate, 13, // Predicate_zextload
16487 : /* 30404*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16488 : /* 30406*/ OPC_CheckType, MVT::i64,
16489 : /* 30408*/ OPC_EmitMergeInputChains1_0,
16490 : /* 30409*/ OPC_EmitInteger, MVT::i32, 0,
16491 : /* 30412*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16492 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16493 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
16494 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16495 : /* 30421*/ /*Scope*/ 19, /*->30441*/
16496 : /* 30422*/ OPC_CheckPredicate, 11, // Predicate_sextload
16497 : /* 30424*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16498 : /* 30426*/ OPC_CheckType, MVT::i64,
16499 : /* 30428*/ OPC_EmitMergeInputChains1_0,
16500 : /* 30429*/ OPC_EmitInteger, MVT::i32, 0,
16501 : /* 30432*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16502 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16503 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
16504 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16505 : /* 30441*/ /*Scope*/ 19, /*->30461*/
16506 : /* 30442*/ OPC_CheckPredicate, 13, // Predicate_zextload
16507 : /* 30444*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16508 : /* 30446*/ OPC_CheckType, MVT::i64,
16509 : /* 30448*/ OPC_EmitMergeInputChains1_0,
16510 : /* 30449*/ OPC_EmitInteger, MVT::i32, 0,
16511 : /* 30452*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16512 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16513 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 14
16514 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16515 : /* 30461*/ /*Scope*/ 19, /*->30481*/
16516 : /* 30462*/ OPC_CheckPredicate, 11, // Predicate_sextload
16517 : /* 30464*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
16518 : /* 30466*/ OPC_CheckType, MVT::i64,
16519 : /* 30468*/ OPC_EmitMergeInputChains1_0,
16520 : /* 30469*/ OPC_EmitInteger, MVT::i32, 0,
16521 : /* 30472*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16522 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16523 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 14
16524 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16525 : /* 30481*/ /*Scope*/ 19, /*->30501*/
16526 : /* 30482*/ OPC_CheckPredicate, 13, // Predicate_zextload
16527 : /* 30484*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
16528 : /* 30486*/ OPC_CheckType, MVT::i64,
16529 : /* 30488*/ OPC_EmitMergeInputChains1_0,
16530 : /* 30489*/ OPC_EmitInteger, MVT::i32, 0,
16531 : /* 30492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16532 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16533 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 14
16534 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16535 : /* 30501*/ /*Scope*/ 92, /*->30594*/
16536 : /* 30502*/ OPC_CheckPredicate, 16, // Predicate_extload
16537 : /* 30504*/ OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30541
16538 : /* 30507*/ OPC_Scope, 15, /*->30524*/ // 2 children in Scope
16539 : /* 30509*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16540 : /* 30511*/ OPC_EmitMergeInputChains1_0,
16541 : /* 30512*/ OPC_EmitInteger, MVT::i32, 0,
16542 : /* 30515*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16543 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16544 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
16545 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16546 : /* 30524*/ /*Scope*/ 15, /*->30540*/
16547 : /* 30525*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16548 : /* 30527*/ OPC_EmitMergeInputChains1_0,
16549 : /* 30528*/ OPC_EmitInteger, MVT::i32, 0,
16550 : /* 30531*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16551 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16552 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
16553 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16554 : /* 30540*/ 0, /*End of Scope*/
16555 : /* 30541*/ /*SwitchType*/ 50, MVT::i64,// ->30593
16556 : /* 30543*/ OPC_Scope, 15, /*->30560*/ // 3 children in Scope
16557 : /* 30545*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16558 : /* 30547*/ OPC_EmitMergeInputChains1_0,
16559 : /* 30548*/ OPC_EmitInteger, MVT::i32, 0,
16560 : /* 30551*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16561 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16562 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
16563 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16564 : /* 30560*/ /*Scope*/ 15, /*->30576*/
16565 : /* 30561*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16566 : /* 30563*/ OPC_EmitMergeInputChains1_0,
16567 : /* 30564*/ OPC_EmitInteger, MVT::i32, 0,
16568 : /* 30567*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16569 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16570 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
16571 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16572 : /* 30576*/ /*Scope*/ 15, /*->30592*/
16573 : /* 30577*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
16574 : /* 30579*/ OPC_EmitMergeInputChains1_0,
16575 : /* 30580*/ OPC_EmitInteger, MVT::i32, 0,
16576 : /* 30583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16577 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16578 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 14
16579 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16580 : /* 30592*/ 0, /*End of Scope*/
16581 : /* 30593*/ 0, // EndSwitchType
16582 : /* 30594*/ /*Scope*/ 34, /*->30629*/
16583 : /* 30595*/ OPC_CheckPredicate, 10, // Predicate_load
16584 : /* 30597*/ OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->30613
16585 : /* 30600*/ OPC_EmitMergeInputChains1_0,
16586 : /* 30601*/ OPC_EmitInteger, MVT::i32, 0,
16587 : /* 30604*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
16588 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16589 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
16590 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16591 : /* 30613*/ /*SwitchType*/ 13, MVT::i64,// ->30628
16592 : /* 30615*/ OPC_EmitMergeInputChains1_0,
16593 : /* 30616*/ OPC_EmitInteger, MVT::i32, 0,
16594 : /* 30619*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
16595 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16596 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
16597 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16598 : /* 30628*/ 0, // EndSwitchType
16599 : /* 30629*/ 0, /*End of Scope*/
16600 : /* 30630*/ /*Scope*/ 91|128,2/*347*/, /*->30979*/
16601 : /* 30632*/ OPC_RecordChild0, // #1 = $addr
16602 : /* 30633*/ OPC_MoveChild1,
16603 : /* 30634*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
16604 : /* 30637*/ OPC_RecordChild0, // #2 = $off
16605 : /* 30638*/ OPC_MoveChild0,
16606 : /* 30639*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
16607 : /* 30642*/ OPC_MoveParent,
16608 : /* 30643*/ OPC_MoveParent,
16609 : /* 30644*/ OPC_CheckType, MVT::i32,
16610 : /* 30646*/ OPC_MoveParent,
16611 : /* 30647*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
16612 : /* 30649*/ OPC_Scope, 34, /*->30685*/ // 12 children in Scope
16613 : /* 30651*/ OPC_CheckPredicate, 10, // Predicate_load
16614 : /* 30653*/ OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->30669
16615 : /* 30656*/ OPC_EmitMergeInputChains1_0,
16616 : /* 30657*/ OPC_EmitInteger, MVT::i32, 0,
16617 : /* 30660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
16618 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16619 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
16620 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16621 : /* 30669*/ /*SwitchType*/ 13, MVT::i64,// ->30684
16622 : /* 30671*/ OPC_EmitMergeInputChains1_0,
16623 : /* 30672*/ OPC_EmitInteger, MVT::i32, 0,
16624 : /* 30675*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
16625 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16626 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
16627 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16628 : /* 30684*/ 0, // EndSwitchType
16629 : /* 30685*/ /*Scope*/ 19, /*->30705*/
16630 : /* 30686*/ OPC_CheckPredicate, 11, // Predicate_sextload
16631 : /* 30688*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16632 : /* 30690*/ OPC_CheckType, MVT::i32,
16633 : /* 30692*/ OPC_EmitMergeInputChains1_0,
16634 : /* 30693*/ OPC_EmitInteger, MVT::i32, 0,
16635 : /* 30696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16636 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16637 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
16638 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16639 : /* 30705*/ /*Scope*/ 19, /*->30725*/
16640 : /* 30706*/ OPC_CheckPredicate, 13, // Predicate_zextload
16641 : /* 30708*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16642 : /* 30710*/ OPC_CheckType, MVT::i32,
16643 : /* 30712*/ OPC_EmitMergeInputChains1_0,
16644 : /* 30713*/ OPC_EmitInteger, MVT::i32, 0,
16645 : /* 30716*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16646 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16647 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
16648 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16649 : /* 30725*/ /*Scope*/ 19, /*->30745*/
16650 : /* 30726*/ OPC_CheckPredicate, 11, // Predicate_sextload
16651 : /* 30728*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16652 : /* 30730*/ OPC_CheckType, MVT::i32,
16653 : /* 30732*/ OPC_EmitMergeInputChains1_0,
16654 : /* 30733*/ OPC_EmitInteger, MVT::i32, 0,
16655 : /* 30736*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16656 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16657 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
16658 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16659 : /* 30745*/ /*Scope*/ 19, /*->30765*/
16660 : /* 30746*/ OPC_CheckPredicate, 13, // Predicate_zextload
16661 : /* 30748*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16662 : /* 30750*/ OPC_CheckType, MVT::i32,
16663 : /* 30752*/ OPC_EmitMergeInputChains1_0,
16664 : /* 30753*/ OPC_EmitInteger, MVT::i32, 0,
16665 : /* 30756*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16666 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16667 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
16668 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16669 : /* 30765*/ /*Scope*/ 19, /*->30785*/
16670 : /* 30766*/ OPC_CheckPredicate, 11, // Predicate_sextload
16671 : /* 30768*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16672 : /* 30770*/ OPC_CheckType, MVT::i64,
16673 : /* 30772*/ OPC_EmitMergeInputChains1_0,
16674 : /* 30773*/ OPC_EmitInteger, MVT::i32, 0,
16675 : /* 30776*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16676 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16677 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
16678 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16679 : /* 30785*/ /*Scope*/ 19, /*->30805*/
16680 : /* 30786*/ OPC_CheckPredicate, 13, // Predicate_zextload
16681 : /* 30788*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16682 : /* 30790*/ OPC_CheckType, MVT::i64,
16683 : /* 30792*/ OPC_EmitMergeInputChains1_0,
16684 : /* 30793*/ OPC_EmitInteger, MVT::i32, 0,
16685 : /* 30796*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16686 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16687 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
16688 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16689 : /* 30805*/ /*Scope*/ 19, /*->30825*/
16690 : /* 30806*/ OPC_CheckPredicate, 11, // Predicate_sextload
16691 : /* 30808*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16692 : /* 30810*/ OPC_CheckType, MVT::i64,
16693 : /* 30812*/ OPC_EmitMergeInputChains1_0,
16694 : /* 30813*/ OPC_EmitInteger, MVT::i32, 0,
16695 : /* 30816*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16696 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16697 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
16698 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16699 : /* 30825*/ /*Scope*/ 19, /*->30845*/
16700 : /* 30826*/ OPC_CheckPredicate, 13, // Predicate_zextload
16701 : /* 30828*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16702 : /* 30830*/ OPC_CheckType, MVT::i64,
16703 : /* 30832*/ OPC_EmitMergeInputChains1_0,
16704 : /* 30833*/ OPC_EmitInteger, MVT::i32, 0,
16705 : /* 30836*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16706 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16707 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
16708 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16709 : /* 30845*/ /*Scope*/ 19, /*->30865*/
16710 : /* 30846*/ OPC_CheckPredicate, 11, // Predicate_sextload
16711 : /* 30848*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
16712 : /* 30850*/ OPC_CheckType, MVT::i64,
16713 : /* 30852*/ OPC_EmitMergeInputChains1_0,
16714 : /* 30853*/ OPC_EmitInteger, MVT::i32, 0,
16715 : /* 30856*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16716 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16717 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 13
16718 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16719 : /* 30865*/ /*Scope*/ 19, /*->30885*/
16720 : /* 30866*/ OPC_CheckPredicate, 13, // Predicate_zextload
16721 : /* 30868*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
16722 : /* 30870*/ OPC_CheckType, MVT::i64,
16723 : /* 30872*/ OPC_EmitMergeInputChains1_0,
16724 : /* 30873*/ OPC_EmitInteger, MVT::i32, 0,
16725 : /* 30876*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16726 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16727 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
16728 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16729 : /* 30885*/ /*Scope*/ 92, /*->30978*/
16730 : /* 30886*/ OPC_CheckPredicate, 16, // Predicate_extload
16731 : /* 30888*/ OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30925
16732 : /* 30891*/ OPC_Scope, 15, /*->30908*/ // 2 children in Scope
16733 : /* 30893*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16734 : /* 30895*/ OPC_EmitMergeInputChains1_0,
16735 : /* 30896*/ OPC_EmitInteger, MVT::i32, 0,
16736 : /* 30899*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16737 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16738 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
16739 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16740 : /* 30908*/ /*Scope*/ 15, /*->30924*/
16741 : /* 30909*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16742 : /* 30911*/ OPC_EmitMergeInputChains1_0,
16743 : /* 30912*/ OPC_EmitInteger, MVT::i32, 0,
16744 : /* 30915*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16745 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
16746 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
16747 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16748 : /* 30924*/ 0, /*End of Scope*/
16749 : /* 30925*/ /*SwitchType*/ 50, MVT::i64,// ->30977
16750 : /* 30927*/ OPC_Scope, 15, /*->30944*/ // 3 children in Scope
16751 : /* 30929*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16752 : /* 30931*/ OPC_EmitMergeInputChains1_0,
16753 : /* 30932*/ OPC_EmitInteger, MVT::i32, 0,
16754 : /* 30935*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16755 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16756 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
16757 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16758 : /* 30944*/ /*Scope*/ 15, /*->30960*/
16759 : /* 30945*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16760 : /* 30947*/ OPC_EmitMergeInputChains1_0,
16761 : /* 30948*/ OPC_EmitInteger, MVT::i32, 0,
16762 : /* 30951*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16763 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16764 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
16765 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16766 : /* 30960*/ /*Scope*/ 15, /*->30976*/
16767 : /* 30961*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
16768 : /* 30963*/ OPC_EmitMergeInputChains1_0,
16769 : /* 30964*/ OPC_EmitInteger, MVT::i32, 0,
16770 : /* 30967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16771 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
16772 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
16773 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16774 : /* 30976*/ 0, /*End of Scope*/
16775 : /* 30977*/ 0, // EndSwitchType
16776 : /* 30978*/ 0, /*End of Scope*/
16777 : /* 30979*/ /*Scope*/ 91|128,2/*347*/, /*->31328*/
16778 : /* 30981*/ OPC_MoveChild0,
16779 : /* 30982*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
16780 : /* 30985*/ OPC_RecordChild0, // #1 = $off
16781 : /* 30986*/ OPC_MoveChild0,
16782 : /* 30987*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
16783 : /* 30990*/ OPC_MoveParent,
16784 : /* 30991*/ OPC_MoveParent,
16785 : /* 30992*/ OPC_RecordChild1, // #2 = $addr
16786 : /* 30993*/ OPC_CheckType, MVT::i32,
16787 : /* 30995*/ OPC_MoveParent,
16788 : /* 30996*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
16789 : /* 30998*/ OPC_Scope, 19, /*->31019*/ // 12 children in Scope
16790 : /* 31000*/ OPC_CheckPredicate, 11, // Predicate_sextload
16791 : /* 31002*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16792 : /* 31004*/ OPC_CheckType, MVT::i32,
16793 : /* 31006*/ OPC_EmitMergeInputChains1_0,
16794 : /* 31007*/ OPC_EmitInteger, MVT::i32, 0,
16795 : /* 31010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16796 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16797 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
16798 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16799 : /* 31019*/ /*Scope*/ 19, /*->31039*/
16800 : /* 31020*/ OPC_CheckPredicate, 13, // Predicate_zextload
16801 : /* 31022*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16802 : /* 31024*/ OPC_CheckType, MVT::i32,
16803 : /* 31026*/ OPC_EmitMergeInputChains1_0,
16804 : /* 31027*/ OPC_EmitInteger, MVT::i32, 0,
16805 : /* 31030*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16806 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16807 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
16808 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16809 : /* 31039*/ /*Scope*/ 19, /*->31059*/
16810 : /* 31040*/ OPC_CheckPredicate, 11, // Predicate_sextload
16811 : /* 31042*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16812 : /* 31044*/ OPC_CheckType, MVT::i32,
16813 : /* 31046*/ OPC_EmitMergeInputChains1_0,
16814 : /* 31047*/ OPC_EmitInteger, MVT::i32, 0,
16815 : /* 31050*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16816 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16817 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
16818 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16819 : /* 31059*/ /*Scope*/ 19, /*->31079*/
16820 : /* 31060*/ OPC_CheckPredicate, 13, // Predicate_zextload
16821 : /* 31062*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16822 : /* 31064*/ OPC_CheckType, MVT::i32,
16823 : /* 31066*/ OPC_EmitMergeInputChains1_0,
16824 : /* 31067*/ OPC_EmitInteger, MVT::i32, 0,
16825 : /* 31070*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16826 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16827 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
16828 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16829 : /* 31079*/ /*Scope*/ 19, /*->31099*/
16830 : /* 31080*/ OPC_CheckPredicate, 11, // Predicate_sextload
16831 : /* 31082*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16832 : /* 31084*/ OPC_CheckType, MVT::i64,
16833 : /* 31086*/ OPC_EmitMergeInputChains1_0,
16834 : /* 31087*/ OPC_EmitInteger, MVT::i32, 0,
16835 : /* 31090*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16836 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16837 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
16838 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16839 : /* 31099*/ /*Scope*/ 19, /*->31119*/
16840 : /* 31100*/ OPC_CheckPredicate, 13, // Predicate_zextload
16841 : /* 31102*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16842 : /* 31104*/ OPC_CheckType, MVT::i64,
16843 : /* 31106*/ OPC_EmitMergeInputChains1_0,
16844 : /* 31107*/ OPC_EmitInteger, MVT::i32, 0,
16845 : /* 31110*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16846 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16847 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
16848 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16849 : /* 31119*/ /*Scope*/ 19, /*->31139*/
16850 : /* 31120*/ OPC_CheckPredicate, 11, // Predicate_sextload
16851 : /* 31122*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
16852 : /* 31124*/ OPC_CheckType, MVT::i64,
16853 : /* 31126*/ OPC_EmitMergeInputChains1_0,
16854 : /* 31127*/ OPC_EmitInteger, MVT::i32, 0,
16855 : /* 31130*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16856 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16857 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
16858 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16859 : /* 31139*/ /*Scope*/ 19, /*->31159*/
16860 : /* 31140*/ OPC_CheckPredicate, 13, // Predicate_zextload
16861 : /* 31142*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
16862 : /* 31144*/ OPC_CheckType, MVT::i64,
16863 : /* 31146*/ OPC_EmitMergeInputChains1_0,
16864 : /* 31147*/ OPC_EmitInteger, MVT::i32, 0,
16865 : /* 31150*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16866 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16867 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
16868 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16869 : /* 31159*/ /*Scope*/ 19, /*->31179*/
16870 : /* 31160*/ OPC_CheckPredicate, 11, // Predicate_sextload
16871 : /* 31162*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
16872 : /* 31164*/ OPC_CheckType, MVT::i64,
16873 : /* 31166*/ OPC_EmitMergeInputChains1_0,
16874 : /* 31167*/ OPC_EmitInteger, MVT::i32, 0,
16875 : /* 31170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
16876 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16877 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 13
16878 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16879 : /* 31179*/ /*Scope*/ 19, /*->31199*/
16880 : /* 31180*/ OPC_CheckPredicate, 13, // Predicate_zextload
16881 : /* 31182*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
16882 : /* 31184*/ OPC_CheckType, MVT::i64,
16883 : /* 31186*/ OPC_EmitMergeInputChains1_0,
16884 : /* 31187*/ OPC_EmitInteger, MVT::i32, 0,
16885 : /* 31190*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16886 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16887 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
16888 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16889 : /* 31199*/ /*Scope*/ 92, /*->31292*/
16890 : /* 31200*/ OPC_CheckPredicate, 16, // Predicate_extload
16891 : /* 31202*/ OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->31239
16892 : /* 31205*/ OPC_Scope, 15, /*->31222*/ // 2 children in Scope
16893 : /* 31207*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16894 : /* 31209*/ OPC_EmitMergeInputChains1_0,
16895 : /* 31210*/ OPC_EmitInteger, MVT::i32, 0,
16896 : /* 31213*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16897 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16898 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
16899 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16900 : /* 31222*/ /*Scope*/ 15, /*->31238*/
16901 : /* 31223*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16902 : /* 31225*/ OPC_EmitMergeInputChains1_0,
16903 : /* 31226*/ OPC_EmitInteger, MVT::i32, 0,
16904 : /* 31229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
16905 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16906 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
16907 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16908 : /* 31238*/ 0, /*End of Scope*/
16909 : /* 31239*/ /*SwitchType*/ 50, MVT::i64,// ->31291
16910 : /* 31241*/ OPC_Scope, 15, /*->31258*/ // 3 children in Scope
16911 : /* 31243*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
16912 : /* 31245*/ OPC_EmitMergeInputChains1_0,
16913 : /* 31246*/ OPC_EmitInteger, MVT::i32, 0,
16914 : /* 31249*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16915 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16916 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
16917 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16918 : /* 31258*/ /*Scope*/ 15, /*->31274*/
16919 : /* 31259*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
16920 : /* 31261*/ OPC_EmitMergeInputChains1_0,
16921 : /* 31262*/ OPC_EmitInteger, MVT::i32, 0,
16922 : /* 31265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16923 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16924 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
16925 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16926 : /* 31274*/ /*Scope*/ 15, /*->31290*/
16927 : /* 31275*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
16928 : /* 31277*/ OPC_EmitMergeInputChains1_0,
16929 : /* 31278*/ OPC_EmitInteger, MVT::i32, 0,
16930 : /* 31281*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
16931 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16932 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
16933 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16934 : /* 31290*/ 0, /*End of Scope*/
16935 : /* 31291*/ 0, // EndSwitchType
16936 : /* 31292*/ /*Scope*/ 34, /*->31327*/
16937 : /* 31293*/ OPC_CheckPredicate, 10, // Predicate_load
16938 : /* 31295*/ OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->31311
16939 : /* 31298*/ OPC_EmitMergeInputChains1_0,
16940 : /* 31299*/ OPC_EmitInteger, MVT::i32, 0,
16941 : /* 31302*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
16942 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
16943 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
16944 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16945 : /* 31311*/ /*SwitchType*/ 13, MVT::i64,// ->31326
16946 : /* 31313*/ OPC_EmitMergeInputChains1_0,
16947 : /* 31314*/ OPC_EmitInteger, MVT::i32, 0,
16948 : /* 31317*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
16949 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
16950 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
16951 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16952 : /* 31326*/ 0, // EndSwitchType
16953 : /* 31327*/ 0, /*End of Scope*/
16954 : /* 31328*/ /*Scope*/ 122|128,2/*378*/, /*->31708*/
16955 : /* 31330*/ OPC_RecordChild0, // #1 = $addr
16956 : /* 31331*/ OPC_RecordChild1, // #2 = $off
16957 : /* 31332*/ OPC_MoveChild1,
16958 : /* 31333*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16959 : /* 31336*/ OPC_MoveParent,
16960 : /* 31337*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
16961 : /* 31339*/ OPC_CheckType, MVT::i32,
16962 : /* 31341*/ OPC_MoveParent,
16963 : /* 31342*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
16964 : /* 31344*/ OPC_Scope, 38, /*->31384*/ // 12 children in Scope
16965 : /* 31346*/ OPC_CheckPredicate, 10, // Predicate_load
16966 : /* 31348*/ OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->31366
16967 : /* 31351*/ OPC_EmitMergeInputChains1_0,
16968 : /* 31352*/ OPC_EmitInteger, MVT::i32, 0,
16969 : /* 31355*/ OPC_EmitConvertToTarget, 2,
16970 : /* 31357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
16971 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
16972 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16973 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16974 : /* 31366*/ /*SwitchType*/ 15, MVT::i64,// ->31383
16975 : /* 31368*/ OPC_EmitMergeInputChains1_0,
16976 : /* 31369*/ OPC_EmitInteger, MVT::i32, 0,
16977 : /* 31372*/ OPC_EmitConvertToTarget, 2,
16978 : /* 31374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
16979 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
16980 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
16981 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16982 : /* 31383*/ 0, // EndSwitchType
16983 : /* 31384*/ /*Scope*/ 21, /*->31406*/
16984 : /* 31385*/ OPC_CheckPredicate, 11, // Predicate_sextload
16985 : /* 31387*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
16986 : /* 31389*/ OPC_CheckType, MVT::i32,
16987 : /* 31391*/ OPC_EmitMergeInputChains1_0,
16988 : /* 31392*/ OPC_EmitInteger, MVT::i32, 0,
16989 : /* 31395*/ OPC_EmitConvertToTarget, 2,
16990 : /* 31397*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
16991 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
16992 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
16993 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
16994 : /* 31406*/ /*Scope*/ 21, /*->31428*/
16995 : /* 31407*/ OPC_CheckPredicate, 13, // Predicate_zextload
16996 : /* 31409*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
16997 : /* 31411*/ OPC_CheckType, MVT::i32,
16998 : /* 31413*/ OPC_EmitMergeInputChains1_0,
16999 : /* 31414*/ OPC_EmitInteger, MVT::i32, 0,
17000 : /* 31417*/ OPC_EmitConvertToTarget, 2,
17001 : /* 31419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17002 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17003 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
17004 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17005 : /* 31428*/ /*Scope*/ 21, /*->31450*/
17006 : /* 31429*/ OPC_CheckPredicate, 11, // Predicate_sextload
17007 : /* 31431*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17008 : /* 31433*/ OPC_CheckType, MVT::i32,
17009 : /* 31435*/ OPC_EmitMergeInputChains1_0,
17010 : /* 31436*/ OPC_EmitInteger, MVT::i32, 0,
17011 : /* 31439*/ OPC_EmitConvertToTarget, 2,
17012 : /* 31441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17013 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17014 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
17015 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17016 : /* 31450*/ /*Scope*/ 21, /*->31472*/
17017 : /* 31451*/ OPC_CheckPredicate, 13, // Predicate_zextload
17018 : /* 31453*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17019 : /* 31455*/ OPC_CheckType, MVT::i32,
17020 : /* 31457*/ OPC_EmitMergeInputChains1_0,
17021 : /* 31458*/ OPC_EmitInteger, MVT::i32, 0,
17022 : /* 31461*/ OPC_EmitConvertToTarget, 2,
17023 : /* 31463*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17024 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17025 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
17026 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17027 : /* 31472*/ /*Scope*/ 21, /*->31494*/
17028 : /* 31473*/ OPC_CheckPredicate, 11, // Predicate_sextload
17029 : /* 31475*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17030 : /* 31477*/ OPC_CheckType, MVT::i64,
17031 : /* 31479*/ OPC_EmitMergeInputChains1_0,
17032 : /* 31480*/ OPC_EmitInteger, MVT::i32, 0,
17033 : /* 31483*/ OPC_EmitConvertToTarget, 2,
17034 : /* 31485*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17035 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17036 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
17037 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17038 : /* 31494*/ /*Scope*/ 21, /*->31516*/
17039 : /* 31495*/ OPC_CheckPredicate, 13, // Predicate_zextload
17040 : /* 31497*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17041 : /* 31499*/ OPC_CheckType, MVT::i64,
17042 : /* 31501*/ OPC_EmitMergeInputChains1_0,
17043 : /* 31502*/ OPC_EmitInteger, MVT::i32, 0,
17044 : /* 31505*/ OPC_EmitConvertToTarget, 2,
17045 : /* 31507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17046 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17047 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
17048 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17049 : /* 31516*/ /*Scope*/ 21, /*->31538*/
17050 : /* 31517*/ OPC_CheckPredicate, 11, // Predicate_sextload
17051 : /* 31519*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17052 : /* 31521*/ OPC_CheckType, MVT::i64,
17053 : /* 31523*/ OPC_EmitMergeInputChains1_0,
17054 : /* 31524*/ OPC_EmitInteger, MVT::i32, 0,
17055 : /* 31527*/ OPC_EmitConvertToTarget, 2,
17056 : /* 31529*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17057 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17058 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
17059 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17060 : /* 31538*/ /*Scope*/ 21, /*->31560*/
17061 : /* 31539*/ OPC_CheckPredicate, 13, // Predicate_zextload
17062 : /* 31541*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17063 : /* 31543*/ OPC_CheckType, MVT::i64,
17064 : /* 31545*/ OPC_EmitMergeInputChains1_0,
17065 : /* 31546*/ OPC_EmitInteger, MVT::i32, 0,
17066 : /* 31549*/ OPC_EmitConvertToTarget, 2,
17067 : /* 31551*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17068 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17069 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
17070 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17071 : /* 31560*/ /*Scope*/ 21, /*->31582*/
17072 : /* 31561*/ OPC_CheckPredicate, 11, // Predicate_sextload
17073 : /* 31563*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
17074 : /* 31565*/ OPC_CheckType, MVT::i64,
17075 : /* 31567*/ OPC_EmitMergeInputChains1_0,
17076 : /* 31568*/ OPC_EmitInteger, MVT::i32, 0,
17077 : /* 31571*/ OPC_EmitConvertToTarget, 2,
17078 : /* 31573*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17079 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17080 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
17081 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17082 : /* 31582*/ /*Scope*/ 21, /*->31604*/
17083 : /* 31583*/ OPC_CheckPredicate, 13, // Predicate_zextload
17084 : /* 31585*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
17085 : /* 31587*/ OPC_CheckType, MVT::i64,
17086 : /* 31589*/ OPC_EmitMergeInputChains1_0,
17087 : /* 31590*/ OPC_EmitInteger, MVT::i32, 0,
17088 : /* 31593*/ OPC_EmitConvertToTarget, 2,
17089 : /* 31595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17090 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17091 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
17092 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17093 : /* 31604*/ /*Scope*/ 102, /*->31707*/
17094 : /* 31605*/ OPC_CheckPredicate, 16, // Predicate_extload
17095 : /* 31607*/ OPC_SwitchType /*2 cases */, 38, MVT::i32,// ->31648
17096 : /* 31610*/ OPC_Scope, 17, /*->31629*/ // 2 children in Scope
17097 : /* 31612*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17098 : /* 31614*/ OPC_EmitMergeInputChains1_0,
17099 : /* 31615*/ OPC_EmitInteger, MVT::i32, 0,
17100 : /* 31618*/ OPC_EmitConvertToTarget, 2,
17101 : /* 31620*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17102 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17103 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
17104 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17105 : /* 31629*/ /*Scope*/ 17, /*->31647*/
17106 : /* 31630*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17107 : /* 31632*/ OPC_EmitMergeInputChains1_0,
17108 : /* 31633*/ OPC_EmitInteger, MVT::i32, 0,
17109 : /* 31636*/ OPC_EmitConvertToTarget, 2,
17110 : /* 31638*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17111 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17112 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
17113 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17114 : /* 31647*/ 0, /*End of Scope*/
17115 : /* 31648*/ /*SwitchType*/ 56, MVT::i64,// ->31706
17116 : /* 31650*/ OPC_Scope, 17, /*->31669*/ // 3 children in Scope
17117 : /* 31652*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17118 : /* 31654*/ OPC_EmitMergeInputChains1_0,
17119 : /* 31655*/ OPC_EmitInteger, MVT::i32, 0,
17120 : /* 31658*/ OPC_EmitConvertToTarget, 2,
17121 : /* 31660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17122 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17123 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
17124 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17125 : /* 31669*/ /*Scope*/ 17, /*->31687*/
17126 : /* 31670*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17127 : /* 31672*/ OPC_EmitMergeInputChains1_0,
17128 : /* 31673*/ OPC_EmitInteger, MVT::i32, 0,
17129 : /* 31676*/ OPC_EmitConvertToTarget, 2,
17130 : /* 31678*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17131 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17132 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
17133 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17134 : /* 31687*/ /*Scope*/ 17, /*->31705*/
17135 : /* 31688*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
17136 : /* 31690*/ OPC_EmitMergeInputChains1_0,
17137 : /* 31691*/ OPC_EmitInteger, MVT::i32, 0,
17138 : /* 31694*/ OPC_EmitConvertToTarget, 2,
17139 : /* 31696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17140 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17141 : // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
17142 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17143 : /* 31705*/ 0, /*End of Scope*/
17144 : /* 31706*/ 0, // EndSwitchType
17145 : /* 31707*/ 0, /*End of Scope*/
17146 : /* 31708*/ 0, /*End of Scope*/
17147 : /* 31709*/ /*SwitchOpcode*/ 122|128,2/*378*/, TARGET_VAL(ISD::OR),// ->32091
17148 : /* 31713*/ OPC_RecordChild0, // #1 = $addr
17149 : /* 31714*/ OPC_RecordChild1, // #2 = $off
17150 : /* 31715*/ OPC_MoveChild1,
17151 : /* 31716*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17152 : /* 31719*/ OPC_MoveParent,
17153 : /* 31720*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
17154 : /* 31722*/ OPC_CheckType, MVT::i32,
17155 : /* 31724*/ OPC_MoveParent,
17156 : /* 31725*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
17157 : /* 31727*/ OPC_Scope, 38, /*->31767*/ // 12 children in Scope
17158 : /* 31729*/ OPC_CheckPredicate, 10, // Predicate_load
17159 : /* 31731*/ OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->31749
17160 : /* 31734*/ OPC_EmitMergeInputChains1_0,
17161 : /* 31735*/ OPC_EmitInteger, MVT::i32, 0,
17162 : /* 31738*/ OPC_EmitConvertToTarget, 2,
17163 : /* 31740*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
17164 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17165 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17166 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17167 : /* 31749*/ /*SwitchType*/ 15, MVT::i64,// ->31766
17168 : /* 31751*/ OPC_EmitMergeInputChains1_0,
17169 : /* 31752*/ OPC_EmitInteger, MVT::i32, 0,
17170 : /* 31755*/ OPC_EmitConvertToTarget, 2,
17171 : /* 31757*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
17172 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17173 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
17174 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17175 : /* 31766*/ 0, // EndSwitchType
17176 : /* 31767*/ /*Scope*/ 21, /*->31789*/
17177 : /* 31768*/ OPC_CheckPredicate, 11, // Predicate_sextload
17178 : /* 31770*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17179 : /* 31772*/ OPC_CheckType, MVT::i32,
17180 : /* 31774*/ OPC_EmitMergeInputChains1_0,
17181 : /* 31775*/ OPC_EmitInteger, MVT::i32, 0,
17182 : /* 31778*/ OPC_EmitConvertToTarget, 2,
17183 : /* 31780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17184 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17185 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
17186 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17187 : /* 31789*/ /*Scope*/ 21, /*->31811*/
17188 : /* 31790*/ OPC_CheckPredicate, 13, // Predicate_zextload
17189 : /* 31792*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17190 : /* 31794*/ OPC_CheckType, MVT::i32,
17191 : /* 31796*/ OPC_EmitMergeInputChains1_0,
17192 : /* 31797*/ OPC_EmitInteger, MVT::i32, 0,
17193 : /* 31800*/ OPC_EmitConvertToTarget, 2,
17194 : /* 31802*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17195 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17196 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
17197 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17198 : /* 31811*/ /*Scope*/ 21, /*->31833*/
17199 : /* 31812*/ OPC_CheckPredicate, 11, // Predicate_sextload
17200 : /* 31814*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17201 : /* 31816*/ OPC_CheckType, MVT::i32,
17202 : /* 31818*/ OPC_EmitMergeInputChains1_0,
17203 : /* 31819*/ OPC_EmitInteger, MVT::i32, 0,
17204 : /* 31822*/ OPC_EmitConvertToTarget, 2,
17205 : /* 31824*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17206 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17207 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
17208 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17209 : /* 31833*/ /*Scope*/ 21, /*->31855*/
17210 : /* 31834*/ OPC_CheckPredicate, 13, // Predicate_zextload
17211 : /* 31836*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17212 : /* 31838*/ OPC_CheckType, MVT::i32,
17213 : /* 31840*/ OPC_EmitMergeInputChains1_0,
17214 : /* 31841*/ OPC_EmitInteger, MVT::i32, 0,
17215 : /* 31844*/ OPC_EmitConvertToTarget, 2,
17216 : /* 31846*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17217 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17218 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
17219 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17220 : /* 31855*/ /*Scope*/ 21, /*->31877*/
17221 : /* 31856*/ OPC_CheckPredicate, 11, // Predicate_sextload
17222 : /* 31858*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17223 : /* 31860*/ OPC_CheckType, MVT::i64,
17224 : /* 31862*/ OPC_EmitMergeInputChains1_0,
17225 : /* 31863*/ OPC_EmitInteger, MVT::i32, 0,
17226 : /* 31866*/ OPC_EmitConvertToTarget, 2,
17227 : /* 31868*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17228 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17229 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
17230 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17231 : /* 31877*/ /*Scope*/ 21, /*->31899*/
17232 : /* 31878*/ OPC_CheckPredicate, 13, // Predicate_zextload
17233 : /* 31880*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17234 : /* 31882*/ OPC_CheckType, MVT::i64,
17235 : /* 31884*/ OPC_EmitMergeInputChains1_0,
17236 : /* 31885*/ OPC_EmitInteger, MVT::i32, 0,
17237 : /* 31888*/ OPC_EmitConvertToTarget, 2,
17238 : /* 31890*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17239 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17240 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
17241 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17242 : /* 31899*/ /*Scope*/ 21, /*->31921*/
17243 : /* 31900*/ OPC_CheckPredicate, 11, // Predicate_sextload
17244 : /* 31902*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17245 : /* 31904*/ OPC_CheckType, MVT::i64,
17246 : /* 31906*/ OPC_EmitMergeInputChains1_0,
17247 : /* 31907*/ OPC_EmitInteger, MVT::i32, 0,
17248 : /* 31910*/ OPC_EmitConvertToTarget, 2,
17249 : /* 31912*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17250 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17251 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
17252 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17253 : /* 31921*/ /*Scope*/ 21, /*->31943*/
17254 : /* 31922*/ OPC_CheckPredicate, 13, // Predicate_zextload
17255 : /* 31924*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17256 : /* 31926*/ OPC_CheckType, MVT::i64,
17257 : /* 31928*/ OPC_EmitMergeInputChains1_0,
17258 : /* 31929*/ OPC_EmitInteger, MVT::i32, 0,
17259 : /* 31932*/ OPC_EmitConvertToTarget, 2,
17260 : /* 31934*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17261 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17262 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
17263 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17264 : /* 31943*/ /*Scope*/ 21, /*->31965*/
17265 : /* 31944*/ OPC_CheckPredicate, 11, // Predicate_sextload
17266 : /* 31946*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
17267 : /* 31948*/ OPC_CheckType, MVT::i64,
17268 : /* 31950*/ OPC_EmitMergeInputChains1_0,
17269 : /* 31951*/ OPC_EmitInteger, MVT::i32, 0,
17270 : /* 31954*/ OPC_EmitConvertToTarget, 2,
17271 : /* 31956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17272 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17273 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
17274 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17275 : /* 31965*/ /*Scope*/ 21, /*->31987*/
17276 : /* 31966*/ OPC_CheckPredicate, 13, // Predicate_zextload
17277 : /* 31968*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
17278 : /* 31970*/ OPC_CheckType, MVT::i64,
17279 : /* 31972*/ OPC_EmitMergeInputChains1_0,
17280 : /* 31973*/ OPC_EmitInteger, MVT::i32, 0,
17281 : /* 31976*/ OPC_EmitConvertToTarget, 2,
17282 : /* 31978*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17283 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17284 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
17285 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17286 : /* 31987*/ /*Scope*/ 102, /*->32090*/
17287 : /* 31988*/ OPC_CheckPredicate, 16, // Predicate_extload
17288 : /* 31990*/ OPC_SwitchType /*2 cases */, 38, MVT::i32,// ->32031
17289 : /* 31993*/ OPC_Scope, 17, /*->32012*/ // 2 children in Scope
17290 : /* 31995*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17291 : /* 31997*/ OPC_EmitMergeInputChains1_0,
17292 : /* 31998*/ OPC_EmitInteger, MVT::i32, 0,
17293 : /* 32001*/ OPC_EmitConvertToTarget, 2,
17294 : /* 32003*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17295 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17296 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
17297 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17298 : /* 32012*/ /*Scope*/ 17, /*->32030*/
17299 : /* 32013*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17300 : /* 32015*/ OPC_EmitMergeInputChains1_0,
17301 : /* 32016*/ OPC_EmitInteger, MVT::i32, 0,
17302 : /* 32019*/ OPC_EmitConvertToTarget, 2,
17303 : /* 32021*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17304 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
17305 : // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
17306 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17307 : /* 32030*/ 0, /*End of Scope*/
17308 : /* 32031*/ /*SwitchType*/ 56, MVT::i64,// ->32089
17309 : /* 32033*/ OPC_Scope, 17, /*->32052*/ // 3 children in Scope
17310 : /* 32035*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17311 : /* 32037*/ OPC_EmitMergeInputChains1_0,
17312 : /* 32038*/ OPC_EmitInteger, MVT::i32, 0,
17313 : /* 32041*/ OPC_EmitConvertToTarget, 2,
17314 : /* 32043*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17315 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17316 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
17317 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17318 : /* 32052*/ /*Scope*/ 17, /*->32070*/
17319 : /* 32053*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17320 : /* 32055*/ OPC_EmitMergeInputChains1_0,
17321 : /* 32056*/ OPC_EmitInteger, MVT::i32, 0,
17322 : /* 32059*/ OPC_EmitConvertToTarget, 2,
17323 : /* 32061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17324 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17325 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
17326 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17327 : /* 32070*/ /*Scope*/ 17, /*->32088*/
17328 : /* 32071*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
17329 : /* 32073*/ OPC_EmitMergeInputChains1_0,
17330 : /* 32074*/ OPC_EmitInteger, MVT::i32, 0,
17331 : /* 32077*/ OPC_EmitConvertToTarget, 2,
17332 : /* 32079*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17333 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
17334 : // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
17335 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
17336 : /* 32088*/ 0, /*End of Scope*/
17337 : /* 32089*/ 0, // EndSwitchType
17338 : /* 32090*/ 0, /*End of Scope*/
17339 : /* 32091*/ /*SwitchOpcode*/ 126|128,7/*1022*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->33117
17340 : /* 32095*/ OPC_RecordChild0, // #1 = $off
17341 : /* 32096*/ OPC_MoveChild0,
17342 : /* 32097*/ OPC_SwitchOpcode /*2 cases */, 121|128,3/*505*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->32607
17343 : /* 32102*/ OPC_MoveParent,
17344 : /* 32103*/ OPC_MoveParent,
17345 : /* 32104*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
17346 : /* 32106*/ OPC_Scope, 54, /*->32162*/ // 12 children in Scope
17347 : /* 32108*/ OPC_CheckPredicate, 10, // Predicate_load
17348 : /* 32110*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->32136
17349 : /* 32113*/ OPC_EmitMergeInputChains1_0,
17350 : /* 32114*/ OPC_EmitInteger, MVT::i32, 0,
17351 : /* 32117*/ OPC_EmitInteger, MVT::i32, 0,
17352 : /* 32120*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17353 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17354 : /* 32127*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
17355 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17356 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17357 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17358 : /* 32136*/ /*SwitchType*/ 23, MVT::i64,// ->32161
17359 : /* 32138*/ OPC_EmitMergeInputChains1_0,
17360 : /* 32139*/ OPC_EmitInteger, MVT::i32, 0,
17361 : /* 32142*/ OPC_EmitInteger, MVT::i32, 0,
17362 : /* 32145*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17363 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17364 : /* 32152*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
17365 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17366 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17367 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17368 : /* 32161*/ 0, // EndSwitchType
17369 : /* 32162*/ /*Scope*/ 29, /*->32192*/
17370 : /* 32163*/ OPC_CheckPredicate, 11, // Predicate_sextload
17371 : /* 32165*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17372 : /* 32167*/ OPC_CheckType, MVT::i32,
17373 : /* 32169*/ OPC_EmitMergeInputChains1_0,
17374 : /* 32170*/ OPC_EmitInteger, MVT::i32, 0,
17375 : /* 32173*/ OPC_EmitInteger, MVT::i32, 0,
17376 : /* 32176*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17377 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17378 : /* 32183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17379 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17380 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
17381 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17382 : /* 32192*/ /*Scope*/ 29, /*->32222*/
17383 : /* 32193*/ OPC_CheckPredicate, 13, // Predicate_zextload
17384 : /* 32195*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17385 : /* 32197*/ OPC_CheckType, MVT::i32,
17386 : /* 32199*/ OPC_EmitMergeInputChains1_0,
17387 : /* 32200*/ OPC_EmitInteger, MVT::i32, 0,
17388 : /* 32203*/ OPC_EmitInteger, MVT::i32, 0,
17389 : /* 32206*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17390 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17391 : /* 32213*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17392 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17393 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
17394 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17395 : /* 32222*/ /*Scope*/ 29, /*->32252*/
17396 : /* 32223*/ OPC_CheckPredicate, 11, // Predicate_sextload
17397 : /* 32225*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17398 : /* 32227*/ OPC_CheckType, MVT::i32,
17399 : /* 32229*/ OPC_EmitMergeInputChains1_0,
17400 : /* 32230*/ OPC_EmitInteger, MVT::i32, 0,
17401 : /* 32233*/ OPC_EmitInteger, MVT::i32, 0,
17402 : /* 32236*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17403 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17404 : /* 32243*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17405 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17406 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
17407 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17408 : /* 32252*/ /*Scope*/ 29, /*->32282*/
17409 : /* 32253*/ OPC_CheckPredicate, 13, // Predicate_zextload
17410 : /* 32255*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17411 : /* 32257*/ OPC_CheckType, MVT::i32,
17412 : /* 32259*/ OPC_EmitMergeInputChains1_0,
17413 : /* 32260*/ OPC_EmitInteger, MVT::i32, 0,
17414 : /* 32263*/ OPC_EmitInteger, MVT::i32, 0,
17415 : /* 32266*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17416 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17417 : /* 32273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17418 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17419 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
17420 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17421 : /* 32282*/ /*Scope*/ 29, /*->32312*/
17422 : /* 32283*/ OPC_CheckPredicate, 11, // Predicate_sextload
17423 : /* 32285*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17424 : /* 32287*/ OPC_CheckType, MVT::i64,
17425 : /* 32289*/ OPC_EmitMergeInputChains1_0,
17426 : /* 32290*/ OPC_EmitInteger, MVT::i32, 0,
17427 : /* 32293*/ OPC_EmitInteger, MVT::i32, 0,
17428 : /* 32296*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17429 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17430 : /* 32303*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17431 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17432 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
17433 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17434 : /* 32312*/ /*Scope*/ 29, /*->32342*/
17435 : /* 32313*/ OPC_CheckPredicate, 13, // Predicate_zextload
17436 : /* 32315*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17437 : /* 32317*/ OPC_CheckType, MVT::i64,
17438 : /* 32319*/ OPC_EmitMergeInputChains1_0,
17439 : /* 32320*/ OPC_EmitInteger, MVT::i32, 0,
17440 : /* 32323*/ OPC_EmitInteger, MVT::i32, 0,
17441 : /* 32326*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17442 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17443 : /* 32333*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17444 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17445 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
17446 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17447 : /* 32342*/ /*Scope*/ 29, /*->32372*/
17448 : /* 32343*/ OPC_CheckPredicate, 11, // Predicate_sextload
17449 : /* 32345*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17450 : /* 32347*/ OPC_CheckType, MVT::i64,
17451 : /* 32349*/ OPC_EmitMergeInputChains1_0,
17452 : /* 32350*/ OPC_EmitInteger, MVT::i32, 0,
17453 : /* 32353*/ OPC_EmitInteger, MVT::i32, 0,
17454 : /* 32356*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17455 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17456 : /* 32363*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17457 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17458 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
17459 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17460 : /* 32372*/ /*Scope*/ 29, /*->32402*/
17461 : /* 32373*/ OPC_CheckPredicate, 13, // Predicate_zextload
17462 : /* 32375*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17463 : /* 32377*/ OPC_CheckType, MVT::i64,
17464 : /* 32379*/ OPC_EmitMergeInputChains1_0,
17465 : /* 32380*/ OPC_EmitInteger, MVT::i32, 0,
17466 : /* 32383*/ OPC_EmitInteger, MVT::i32, 0,
17467 : /* 32386*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17468 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17469 : /* 32393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17470 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17471 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
17472 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17473 : /* 32402*/ /*Scope*/ 29, /*->32432*/
17474 : /* 32403*/ OPC_CheckPredicate, 11, // Predicate_sextload
17475 : /* 32405*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
17476 : /* 32407*/ OPC_CheckType, MVT::i64,
17477 : /* 32409*/ OPC_EmitMergeInputChains1_0,
17478 : /* 32410*/ OPC_EmitInteger, MVT::i32, 0,
17479 : /* 32413*/ OPC_EmitInteger, MVT::i32, 0,
17480 : /* 32416*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17481 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17482 : /* 32423*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17483 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17484 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
17485 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17486 : /* 32432*/ /*Scope*/ 29, /*->32462*/
17487 : /* 32433*/ OPC_CheckPredicate, 13, // Predicate_zextload
17488 : /* 32435*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
17489 : /* 32437*/ OPC_CheckType, MVT::i64,
17490 : /* 32439*/ OPC_EmitMergeInputChains1_0,
17491 : /* 32440*/ OPC_EmitInteger, MVT::i32, 0,
17492 : /* 32443*/ OPC_EmitInteger, MVT::i32, 0,
17493 : /* 32446*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17494 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17495 : /* 32453*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17496 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17497 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
17498 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17499 : /* 32462*/ /*Scope*/ 14|128,1/*142*/, /*->32606*/
17500 : /* 32464*/ OPC_CheckPredicate, 16, // Predicate_extload
17501 : /* 32466*/ OPC_SwitchType /*2 cases */, 54, MVT::i32,// ->32523
17502 : /* 32469*/ OPC_Scope, 25, /*->32496*/ // 2 children in Scope
17503 : /* 32471*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17504 : /* 32473*/ OPC_EmitMergeInputChains1_0,
17505 : /* 32474*/ OPC_EmitInteger, MVT::i32, 0,
17506 : /* 32477*/ OPC_EmitInteger, MVT::i32, 0,
17507 : /* 32480*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17508 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17509 : /* 32487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17510 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17511 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
17512 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17513 : /* 32496*/ /*Scope*/ 25, /*->32522*/
17514 : /* 32497*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17515 : /* 32499*/ OPC_EmitMergeInputChains1_0,
17516 : /* 32500*/ OPC_EmitInteger, MVT::i32, 0,
17517 : /* 32503*/ OPC_EmitInteger, MVT::i32, 0,
17518 : /* 32506*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17519 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17520 : /* 32513*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17521 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17522 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
17523 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17524 : /* 32522*/ 0, /*End of Scope*/
17525 : /* 32523*/ /*SwitchType*/ 80, MVT::i64,// ->32605
17526 : /* 32525*/ OPC_Scope, 25, /*->32552*/ // 3 children in Scope
17527 : /* 32527*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17528 : /* 32529*/ OPC_EmitMergeInputChains1_0,
17529 : /* 32530*/ OPC_EmitInteger, MVT::i32, 0,
17530 : /* 32533*/ OPC_EmitInteger, MVT::i32, 0,
17531 : /* 32536*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17532 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17533 : /* 32543*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17534 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17535 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
17536 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17537 : /* 32552*/ /*Scope*/ 25, /*->32578*/
17538 : /* 32553*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17539 : /* 32555*/ OPC_EmitMergeInputChains1_0,
17540 : /* 32556*/ OPC_EmitInteger, MVT::i32, 0,
17541 : /* 32559*/ OPC_EmitInteger, MVT::i32, 0,
17542 : /* 32562*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17543 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17544 : /* 32569*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17545 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17546 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
17547 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17548 : /* 32578*/ /*Scope*/ 25, /*->32604*/
17549 : /* 32579*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
17550 : /* 32581*/ OPC_EmitMergeInputChains1_0,
17551 : /* 32582*/ OPC_EmitInteger, MVT::i32, 0,
17552 : /* 32585*/ OPC_EmitInteger, MVT::i32, 0,
17553 : /* 32588*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17554 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17555 : /* 32595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17556 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17557 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
17558 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17559 : /* 32604*/ 0, /*End of Scope*/
17560 : /* 32605*/ 0, // EndSwitchType
17561 : /* 32606*/ 0, /*End of Scope*/
17562 : /* 32607*/ /*SwitchOpcode*/ 121|128,3/*505*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->33116
17563 : /* 32611*/ OPC_MoveParent,
17564 : /* 32612*/ OPC_MoveParent,
17565 : /* 32613*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
17566 : /* 32615*/ OPC_Scope, 54, /*->32671*/ // 12 children in Scope
17567 : /* 32617*/ OPC_CheckPredicate, 10, // Predicate_load
17568 : /* 32619*/ OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->32645
17569 : /* 32622*/ OPC_EmitMergeInputChains1_0,
17570 : /* 32623*/ OPC_EmitInteger, MVT::i32, 0,
17571 : /* 32626*/ OPC_EmitInteger, MVT::i32, 0,
17572 : /* 32629*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17573 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17574 : /* 32636*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
17575 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17576 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17577 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17578 : /* 32645*/ /*SwitchType*/ 23, MVT::i64,// ->32670
17579 : /* 32647*/ OPC_EmitMergeInputChains1_0,
17580 : /* 32648*/ OPC_EmitInteger, MVT::i32, 0,
17581 : /* 32651*/ OPC_EmitInteger, MVT::i32, 0,
17582 : /* 32654*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17583 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17584 : /* 32661*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
17585 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17586 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
17587 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17588 : /* 32670*/ 0, // EndSwitchType
17589 : /* 32671*/ /*Scope*/ 29, /*->32701*/
17590 : /* 32672*/ OPC_CheckPredicate, 11, // Predicate_sextload
17591 : /* 32674*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17592 : /* 32676*/ OPC_CheckType, MVT::i32,
17593 : /* 32678*/ OPC_EmitMergeInputChains1_0,
17594 : /* 32679*/ OPC_EmitInteger, MVT::i32, 0,
17595 : /* 32682*/ OPC_EmitInteger, MVT::i32, 0,
17596 : /* 32685*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17597 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17598 : /* 32692*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17599 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17600 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
17601 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17602 : /* 32701*/ /*Scope*/ 29, /*->32731*/
17603 : /* 32702*/ OPC_CheckPredicate, 13, // Predicate_zextload
17604 : /* 32704*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17605 : /* 32706*/ OPC_CheckType, MVT::i32,
17606 : /* 32708*/ OPC_EmitMergeInputChains1_0,
17607 : /* 32709*/ OPC_EmitInteger, MVT::i32, 0,
17608 : /* 32712*/ OPC_EmitInteger, MVT::i32, 0,
17609 : /* 32715*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17610 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17611 : /* 32722*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17612 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17613 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
17614 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17615 : /* 32731*/ /*Scope*/ 29, /*->32761*/
17616 : /* 32732*/ OPC_CheckPredicate, 11, // Predicate_sextload
17617 : /* 32734*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17618 : /* 32736*/ OPC_CheckType, MVT::i32,
17619 : /* 32738*/ OPC_EmitMergeInputChains1_0,
17620 : /* 32739*/ OPC_EmitInteger, MVT::i32, 0,
17621 : /* 32742*/ OPC_EmitInteger, MVT::i32, 0,
17622 : /* 32745*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17623 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17624 : /* 32752*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17625 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17626 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
17627 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17628 : /* 32761*/ /*Scope*/ 29, /*->32791*/
17629 : /* 32762*/ OPC_CheckPredicate, 13, // Predicate_zextload
17630 : /* 32764*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17631 : /* 32766*/ OPC_CheckType, MVT::i32,
17632 : /* 32768*/ OPC_EmitMergeInputChains1_0,
17633 : /* 32769*/ OPC_EmitInteger, MVT::i32, 0,
17634 : /* 32772*/ OPC_EmitInteger, MVT::i32, 0,
17635 : /* 32775*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17636 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17637 : /* 32782*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17638 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17639 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
17640 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17641 : /* 32791*/ /*Scope*/ 29, /*->32821*/
17642 : /* 32792*/ OPC_CheckPredicate, 11, // Predicate_sextload
17643 : /* 32794*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17644 : /* 32796*/ OPC_CheckType, MVT::i64,
17645 : /* 32798*/ OPC_EmitMergeInputChains1_0,
17646 : /* 32799*/ OPC_EmitInteger, MVT::i32, 0,
17647 : /* 32802*/ OPC_EmitInteger, MVT::i32, 0,
17648 : /* 32805*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17649 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17650 : /* 32812*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17651 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17652 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
17653 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17654 : /* 32821*/ /*Scope*/ 29, /*->32851*/
17655 : /* 32822*/ OPC_CheckPredicate, 13, // Predicate_zextload
17656 : /* 32824*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17657 : /* 32826*/ OPC_CheckType, MVT::i64,
17658 : /* 32828*/ OPC_EmitMergeInputChains1_0,
17659 : /* 32829*/ OPC_EmitInteger, MVT::i32, 0,
17660 : /* 32832*/ OPC_EmitInteger, MVT::i32, 0,
17661 : /* 32835*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17662 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17663 : /* 32842*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17664 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17665 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
17666 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17667 : /* 32851*/ /*Scope*/ 29, /*->32881*/
17668 : /* 32852*/ OPC_CheckPredicate, 11, // Predicate_sextload
17669 : /* 32854*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17670 : /* 32856*/ OPC_CheckType, MVT::i64,
17671 : /* 32858*/ OPC_EmitMergeInputChains1_0,
17672 : /* 32859*/ OPC_EmitInteger, MVT::i32, 0,
17673 : /* 32862*/ OPC_EmitInteger, MVT::i32, 0,
17674 : /* 32865*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17675 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17676 : /* 32872*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17677 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17678 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
17679 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17680 : /* 32881*/ /*Scope*/ 29, /*->32911*/
17681 : /* 32882*/ OPC_CheckPredicate, 13, // Predicate_zextload
17682 : /* 32884*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17683 : /* 32886*/ OPC_CheckType, MVT::i64,
17684 : /* 32888*/ OPC_EmitMergeInputChains1_0,
17685 : /* 32889*/ OPC_EmitInteger, MVT::i32, 0,
17686 : /* 32892*/ OPC_EmitInteger, MVT::i32, 0,
17687 : /* 32895*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17688 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17689 : /* 32902*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17690 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17691 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
17692 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17693 : /* 32911*/ /*Scope*/ 29, /*->32941*/
17694 : /* 32912*/ OPC_CheckPredicate, 11, // Predicate_sextload
17695 : /* 32914*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
17696 : /* 32916*/ OPC_CheckType, MVT::i64,
17697 : /* 32918*/ OPC_EmitMergeInputChains1_0,
17698 : /* 32919*/ OPC_EmitInteger, MVT::i32, 0,
17699 : /* 32922*/ OPC_EmitInteger, MVT::i32, 0,
17700 : /* 32925*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17701 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17702 : /* 32932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17703 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17704 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
17705 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17706 : /* 32941*/ /*Scope*/ 29, /*->32971*/
17707 : /* 32942*/ OPC_CheckPredicate, 13, // Predicate_zextload
17708 : /* 32944*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
17709 : /* 32946*/ OPC_CheckType, MVT::i64,
17710 : /* 32948*/ OPC_EmitMergeInputChains1_0,
17711 : /* 32949*/ OPC_EmitInteger, MVT::i32, 0,
17712 : /* 32952*/ OPC_EmitInteger, MVT::i32, 0,
17713 : /* 32955*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17714 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17715 : /* 32962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17716 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17717 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
17718 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17719 : /* 32971*/ /*Scope*/ 14|128,1/*142*/, /*->33115*/
17720 : /* 32973*/ OPC_CheckPredicate, 16, // Predicate_extload
17721 : /* 32975*/ OPC_SwitchType /*2 cases */, 54, MVT::i32,// ->33032
17722 : /* 32978*/ OPC_Scope, 25, /*->33005*/ // 2 children in Scope
17723 : /* 32980*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17724 : /* 32982*/ OPC_EmitMergeInputChains1_0,
17725 : /* 32983*/ OPC_EmitInteger, MVT::i32, 0,
17726 : /* 32986*/ OPC_EmitInteger, MVT::i32, 0,
17727 : /* 32989*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17728 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17729 : /* 32996*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17730 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17731 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
17732 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17733 : /* 33005*/ /*Scope*/ 25, /*->33031*/
17734 : /* 33006*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17735 : /* 33008*/ OPC_EmitMergeInputChains1_0,
17736 : /* 33009*/ OPC_EmitInteger, MVT::i32, 0,
17737 : /* 33012*/ OPC_EmitInteger, MVT::i32, 0,
17738 : /* 33015*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17739 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17740 : /* 33022*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17741 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
17742 : // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
17743 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17744 : /* 33031*/ 0, /*End of Scope*/
17745 : /* 33032*/ /*SwitchType*/ 80, MVT::i64,// ->33114
17746 : /* 33034*/ OPC_Scope, 25, /*->33061*/ // 3 children in Scope
17747 : /* 33036*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17748 : /* 33038*/ OPC_EmitMergeInputChains1_0,
17749 : /* 33039*/ OPC_EmitInteger, MVT::i32, 0,
17750 : /* 33042*/ OPC_EmitInteger, MVT::i32, 0,
17751 : /* 33045*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17752 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17753 : /* 33052*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17754 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17755 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
17756 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17757 : /* 33061*/ /*Scope*/ 25, /*->33087*/
17758 : /* 33062*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17759 : /* 33064*/ OPC_EmitMergeInputChains1_0,
17760 : /* 33065*/ OPC_EmitInteger, MVT::i32, 0,
17761 : /* 33068*/ OPC_EmitInteger, MVT::i32, 0,
17762 : /* 33071*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17763 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17764 : /* 33078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17765 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17766 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
17767 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17768 : /* 33087*/ /*Scope*/ 25, /*->33113*/
17769 : /* 33088*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
17770 : /* 33090*/ OPC_EmitMergeInputChains1_0,
17771 : /* 33091*/ OPC_EmitInteger, MVT::i32, 0,
17772 : /* 33094*/ OPC_EmitInteger, MVT::i32, 0,
17773 : /* 33097*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17774 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
17775 : /* 33104*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17776 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
17777 : // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
17778 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17779 : /* 33113*/ 0, /*End of Scope*/
17780 : /* 33114*/ 0, // EndSwitchType
17781 : /* 33115*/ 0, /*End of Scope*/
17782 : /* 33116*/ 0, // EndSwitchOpcode
17783 : /* 33117*/ 0, // EndSwitchOpcode
17784 : /* 33118*/ /*Scope*/ 38|128,7/*934*/, /*->34054*/
17785 : /* 33120*/ OPC_RecordChild1, // #1 = $off
17786 : /* 33121*/ OPC_Scope, 30|128,4/*542*/, /*->33666*/ // 2 children in Scope
17787 : /* 33124*/ OPC_MoveChild1,
17788 : /* 33125*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17789 : /* 33128*/ OPC_MoveParent,
17790 : /* 33129*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
17791 : /* 33131*/ OPC_Scope, 58, /*->33191*/ // 12 children in Scope
17792 : /* 33133*/ OPC_CheckPredicate, 10, // Predicate_load
17793 : /* 33135*/ OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->33163
17794 : /* 33138*/ OPC_EmitMergeInputChains1_0,
17795 : /* 33139*/ OPC_EmitInteger, MVT::i32, 0,
17796 : /* 33142*/ OPC_EmitConvertToTarget, 1,
17797 : /* 33144*/ OPC_EmitInteger, MVT::i32, 0,
17798 : /* 33147*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17799 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17800 : /* 33154*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
17801 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17802 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17803 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17804 : /* 33163*/ /*SwitchType*/ 25, MVT::i64,// ->33190
17805 : /* 33165*/ OPC_EmitMergeInputChains1_0,
17806 : /* 33166*/ OPC_EmitInteger, MVT::i32, 0,
17807 : /* 33169*/ OPC_EmitConvertToTarget, 1,
17808 : /* 33171*/ OPC_EmitInteger, MVT::i32, 0,
17809 : /* 33174*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17810 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17811 : /* 33181*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
17812 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17813 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
17814 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17815 : /* 33190*/ 0, // EndSwitchType
17816 : /* 33191*/ /*Scope*/ 31, /*->33223*/
17817 : /* 33192*/ OPC_CheckPredicate, 11, // Predicate_sextload
17818 : /* 33194*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17819 : /* 33196*/ OPC_CheckType, MVT::i32,
17820 : /* 33198*/ OPC_EmitMergeInputChains1_0,
17821 : /* 33199*/ OPC_EmitInteger, MVT::i32, 0,
17822 : /* 33202*/ OPC_EmitConvertToTarget, 1,
17823 : /* 33204*/ OPC_EmitInteger, MVT::i32, 0,
17824 : /* 33207*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17825 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17826 : /* 33214*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17827 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17828 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
17829 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17830 : /* 33223*/ /*Scope*/ 31, /*->33255*/
17831 : /* 33224*/ OPC_CheckPredicate, 13, // Predicate_zextload
17832 : /* 33226*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17833 : /* 33228*/ OPC_CheckType, MVT::i32,
17834 : /* 33230*/ OPC_EmitMergeInputChains1_0,
17835 : /* 33231*/ OPC_EmitInteger, MVT::i32, 0,
17836 : /* 33234*/ OPC_EmitConvertToTarget, 1,
17837 : /* 33236*/ OPC_EmitInteger, MVT::i32, 0,
17838 : /* 33239*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17839 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17840 : /* 33246*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17841 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17842 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
17843 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17844 : /* 33255*/ /*Scope*/ 31, /*->33287*/
17845 : /* 33256*/ OPC_CheckPredicate, 11, // Predicate_sextload
17846 : /* 33258*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17847 : /* 33260*/ OPC_CheckType, MVT::i32,
17848 : /* 33262*/ OPC_EmitMergeInputChains1_0,
17849 : /* 33263*/ OPC_EmitInteger, MVT::i32, 0,
17850 : /* 33266*/ OPC_EmitConvertToTarget, 1,
17851 : /* 33268*/ OPC_EmitInteger, MVT::i32, 0,
17852 : /* 33271*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17853 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17854 : /* 33278*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
17855 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17856 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
17857 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17858 : /* 33287*/ /*Scope*/ 31, /*->33319*/
17859 : /* 33288*/ OPC_CheckPredicate, 13, // Predicate_zextload
17860 : /* 33290*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17861 : /* 33292*/ OPC_CheckType, MVT::i32,
17862 : /* 33294*/ OPC_EmitMergeInputChains1_0,
17863 : /* 33295*/ OPC_EmitInteger, MVT::i32, 0,
17864 : /* 33298*/ OPC_EmitConvertToTarget, 1,
17865 : /* 33300*/ OPC_EmitInteger, MVT::i32, 0,
17866 : /* 33303*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17867 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17868 : /* 33310*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17869 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17870 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
17871 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17872 : /* 33319*/ /*Scope*/ 31, /*->33351*/
17873 : /* 33320*/ OPC_CheckPredicate, 11, // Predicate_sextload
17874 : /* 33322*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
17875 : /* 33324*/ OPC_CheckType, MVT::i64,
17876 : /* 33326*/ OPC_EmitMergeInputChains1_0,
17877 : /* 33327*/ OPC_EmitInteger, MVT::i32, 0,
17878 : /* 33330*/ OPC_EmitConvertToTarget, 1,
17879 : /* 33332*/ OPC_EmitInteger, MVT::i32, 0,
17880 : /* 33335*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17881 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17882 : /* 33342*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17883 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17884 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
17885 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17886 : /* 33351*/ /*Scope*/ 31, /*->33383*/
17887 : /* 33352*/ OPC_CheckPredicate, 13, // Predicate_zextload
17888 : /* 33354*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
17889 : /* 33356*/ OPC_CheckType, MVT::i64,
17890 : /* 33358*/ OPC_EmitMergeInputChains1_0,
17891 : /* 33359*/ OPC_EmitInteger, MVT::i32, 0,
17892 : /* 33362*/ OPC_EmitConvertToTarget, 1,
17893 : /* 33364*/ OPC_EmitInteger, MVT::i32, 0,
17894 : /* 33367*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17895 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17896 : /* 33374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17897 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17898 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
17899 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17900 : /* 33383*/ /*Scope*/ 31, /*->33415*/
17901 : /* 33384*/ OPC_CheckPredicate, 11, // Predicate_sextload
17902 : /* 33386*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
17903 : /* 33388*/ OPC_CheckType, MVT::i64,
17904 : /* 33390*/ OPC_EmitMergeInputChains1_0,
17905 : /* 33391*/ OPC_EmitInteger, MVT::i32, 0,
17906 : /* 33394*/ OPC_EmitConvertToTarget, 1,
17907 : /* 33396*/ OPC_EmitInteger, MVT::i32, 0,
17908 : /* 33399*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17909 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17910 : /* 33406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17911 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17912 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
17913 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17914 : /* 33415*/ /*Scope*/ 31, /*->33447*/
17915 : /* 33416*/ OPC_CheckPredicate, 13, // Predicate_zextload
17916 : /* 33418*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
17917 : /* 33420*/ OPC_CheckType, MVT::i64,
17918 : /* 33422*/ OPC_EmitMergeInputChains1_0,
17919 : /* 33423*/ OPC_EmitInteger, MVT::i32, 0,
17920 : /* 33426*/ OPC_EmitConvertToTarget, 1,
17921 : /* 33428*/ OPC_EmitInteger, MVT::i32, 0,
17922 : /* 33431*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17923 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17924 : /* 33438*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17925 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17926 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
17927 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17928 : /* 33447*/ /*Scope*/ 31, /*->33479*/
17929 : /* 33448*/ OPC_CheckPredicate, 11, // Predicate_sextload
17930 : /* 33450*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
17931 : /* 33452*/ OPC_CheckType, MVT::i64,
17932 : /* 33454*/ OPC_EmitMergeInputChains1_0,
17933 : /* 33455*/ OPC_EmitInteger, MVT::i32, 0,
17934 : /* 33458*/ OPC_EmitConvertToTarget, 1,
17935 : /* 33460*/ OPC_EmitInteger, MVT::i32, 0,
17936 : /* 33463*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17937 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17938 : /* 33470*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
17939 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17940 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 7
17941 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17942 : /* 33479*/ /*Scope*/ 31, /*->33511*/
17943 : /* 33480*/ OPC_CheckPredicate, 13, // Predicate_zextload
17944 : /* 33482*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
17945 : /* 33484*/ OPC_CheckType, MVT::i64,
17946 : /* 33486*/ OPC_EmitMergeInputChains1_0,
17947 : /* 33487*/ OPC_EmitInteger, MVT::i32, 0,
17948 : /* 33490*/ OPC_EmitConvertToTarget, 1,
17949 : /* 33492*/ OPC_EmitInteger, MVT::i32, 0,
17950 : /* 33495*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17951 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17952 : /* 33502*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17953 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17954 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 7
17955 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17956 : /* 33511*/ /*Scope*/ 24|128,1/*152*/, /*->33665*/
17957 : /* 33513*/ OPC_CheckPredicate, 16, // Predicate_extload
17958 : /* 33515*/ OPC_SwitchType /*2 cases */, 58, MVT::i32,// ->33576
17959 : /* 33518*/ OPC_Scope, 27, /*->33547*/ // 2 children in Scope
17960 : /* 33520*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17961 : /* 33522*/ OPC_EmitMergeInputChains1_0,
17962 : /* 33523*/ OPC_EmitInteger, MVT::i32, 0,
17963 : /* 33526*/ OPC_EmitConvertToTarget, 1,
17964 : /* 33528*/ OPC_EmitInteger, MVT::i32, 0,
17965 : /* 33531*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17966 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17967 : /* 33538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17968 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17969 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
17970 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17971 : /* 33547*/ /*Scope*/ 27, /*->33575*/
17972 : /* 33548*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17973 : /* 33550*/ OPC_EmitMergeInputChains1_0,
17974 : /* 33551*/ OPC_EmitInteger, MVT::i32, 0,
17975 : /* 33554*/ OPC_EmitConvertToTarget, 1,
17976 : /* 33556*/ OPC_EmitInteger, MVT::i32, 0,
17977 : /* 33559*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17978 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17979 : /* 33566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
17980 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
17981 : // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
17982 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17983 : /* 33575*/ 0, /*End of Scope*/
17984 : /* 33576*/ /*SwitchType*/ 86, MVT::i64,// ->33664
17985 : /* 33578*/ OPC_Scope, 27, /*->33607*/ // 3 children in Scope
17986 : /* 33580*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
17987 : /* 33582*/ OPC_EmitMergeInputChains1_0,
17988 : /* 33583*/ OPC_EmitInteger, MVT::i32, 0,
17989 : /* 33586*/ OPC_EmitConvertToTarget, 1,
17990 : /* 33588*/ OPC_EmitInteger, MVT::i32, 0,
17991 : /* 33591*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
17992 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
17993 : /* 33598*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
17994 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
17995 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
17996 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
17997 : /* 33607*/ /*Scope*/ 27, /*->33635*/
17998 : /* 33608*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
17999 : /* 33610*/ OPC_EmitMergeInputChains1_0,
18000 : /* 33611*/ OPC_EmitInteger, MVT::i32, 0,
18001 : /* 33614*/ OPC_EmitConvertToTarget, 1,
18002 : /* 33616*/ OPC_EmitInteger, MVT::i32, 0,
18003 : /* 33619*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18004 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18005 : /* 33626*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18006 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
18007 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
18008 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18009 : /* 33635*/ /*Scope*/ 27, /*->33663*/
18010 : /* 33636*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
18011 : /* 33638*/ OPC_EmitMergeInputChains1_0,
18012 : /* 33639*/ OPC_EmitInteger, MVT::i32, 0,
18013 : /* 33642*/ OPC_EmitConvertToTarget, 1,
18014 : /* 33644*/ OPC_EmitInteger, MVT::i32, 0,
18015 : /* 33647*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18016 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18017 : /* 33654*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18018 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
18019 : // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 7
18020 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18021 : /* 33663*/ 0, /*End of Scope*/
18022 : /* 33664*/ 0, // EndSwitchType
18023 : /* 33665*/ 0, /*End of Scope*/
18024 : /* 33666*/ /*Scope*/ 1|128,3/*385*/, /*->34053*/
18025 : /* 33668*/ OPC_CheckChild1Type, MVT::i32,
18026 : /* 33670*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18027 : /* 33672*/ OPC_Scope, 40, /*->33714*/ // 12 children in Scope
18028 : /* 33674*/ OPC_CheckPredicate, 10, // Predicate_load
18029 : /* 33676*/ OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->33695
18030 : /* 33679*/ OPC_EmitMergeInputChains1_0,
18031 : /* 33680*/ OPC_EmitInteger, MVT::i32, 0,
18032 : /* 33683*/ OPC_EmitInteger, MVT::i32, 0,
18033 : /* 33686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
18034 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18035 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18036 : // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18037 : /* 33695*/ /*SwitchType*/ 16, MVT::i64,// ->33713
18038 : /* 33697*/ OPC_EmitMergeInputChains1_0,
18039 : /* 33698*/ OPC_EmitInteger, MVT::i32, 0,
18040 : /* 33701*/ OPC_EmitInteger, MVT::i32, 0,
18041 : /* 33704*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
18042 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18043 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18044 : // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18045 : /* 33713*/ 0, // EndSwitchType
18046 : /* 33714*/ /*Scope*/ 22, /*->33737*/
18047 : /* 33715*/ OPC_CheckPredicate, 11, // Predicate_sextload
18048 : /* 33717*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
18049 : /* 33719*/ OPC_CheckType, MVT::i32,
18050 : /* 33721*/ OPC_EmitMergeInputChains1_0,
18051 : /* 33722*/ OPC_EmitInteger, MVT::i32, 0,
18052 : /* 33725*/ OPC_EmitInteger, MVT::i32, 0,
18053 : /* 33728*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
18054 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18055 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
18056 : // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18057 : /* 33737*/ /*Scope*/ 22, /*->33760*/
18058 : /* 33738*/ OPC_CheckPredicate, 13, // Predicate_zextload
18059 : /* 33740*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
18060 : /* 33742*/ OPC_CheckType, MVT::i32,
18061 : /* 33744*/ OPC_EmitMergeInputChains1_0,
18062 : /* 33745*/ OPC_EmitInteger, MVT::i32, 0,
18063 : /* 33748*/ OPC_EmitInteger, MVT::i32, 0,
18064 : /* 33751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
18065 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18066 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
18067 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18068 : /* 33760*/ /*Scope*/ 22, /*->33783*/
18069 : /* 33761*/ OPC_CheckPredicate, 11, // Predicate_sextload
18070 : /* 33763*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
18071 : /* 33765*/ OPC_CheckType, MVT::i32,
18072 : /* 33767*/ OPC_EmitMergeInputChains1_0,
18073 : /* 33768*/ OPC_EmitInteger, MVT::i32, 0,
18074 : /* 33771*/ OPC_EmitInteger, MVT::i32, 0,
18075 : /* 33774*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
18076 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18077 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
18078 : // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18079 : /* 33783*/ /*Scope*/ 22, /*->33806*/
18080 : /* 33784*/ OPC_CheckPredicate, 13, // Predicate_zextload
18081 : /* 33786*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
18082 : /* 33788*/ OPC_CheckType, MVT::i32,
18083 : /* 33790*/ OPC_EmitMergeInputChains1_0,
18084 : /* 33791*/ OPC_EmitInteger, MVT::i32, 0,
18085 : /* 33794*/ OPC_EmitInteger, MVT::i32, 0,
18086 : /* 33797*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
18087 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18088 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
18089 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18090 : /* 33806*/ /*Scope*/ 22, /*->33829*/
18091 : /* 33807*/ OPC_CheckPredicate, 11, // Predicate_sextload
18092 : /* 33809*/ OPC_CheckPredicate, 12, // Predicate_sextloadi8
18093 : /* 33811*/ OPC_CheckType, MVT::i64,
18094 : /* 33813*/ OPC_EmitMergeInputChains1_0,
18095 : /* 33814*/ OPC_EmitInteger, MVT::i32, 0,
18096 : /* 33817*/ OPC_EmitInteger, MVT::i32, 0,
18097 : /* 33820*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
18098 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18099 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
18100 : // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18101 : /* 33829*/ /*Scope*/ 22, /*->33852*/
18102 : /* 33830*/ OPC_CheckPredicate, 13, // Predicate_zextload
18103 : /* 33832*/ OPC_CheckPredicate, 12, // Predicate_zextloadi8
18104 : /* 33834*/ OPC_CheckType, MVT::i64,
18105 : /* 33836*/ OPC_EmitMergeInputChains1_0,
18106 : /* 33837*/ OPC_EmitInteger, MVT::i32, 0,
18107 : /* 33840*/ OPC_EmitInteger, MVT::i32, 0,
18108 : /* 33843*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18109 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18110 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
18111 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18112 : /* 33852*/ /*Scope*/ 22, /*->33875*/
18113 : /* 33853*/ OPC_CheckPredicate, 11, // Predicate_sextload
18114 : /* 33855*/ OPC_CheckPredicate, 14, // Predicate_sextloadi16
18115 : /* 33857*/ OPC_CheckType, MVT::i64,
18116 : /* 33859*/ OPC_EmitMergeInputChains1_0,
18117 : /* 33860*/ OPC_EmitInteger, MVT::i32, 0,
18118 : /* 33863*/ OPC_EmitInteger, MVT::i32, 0,
18119 : /* 33866*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
18120 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18121 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
18122 : // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18123 : /* 33875*/ /*Scope*/ 22, /*->33898*/
18124 : /* 33876*/ OPC_CheckPredicate, 13, // Predicate_zextload
18125 : /* 33878*/ OPC_CheckPredicate, 14, // Predicate_zextloadi16
18126 : /* 33880*/ OPC_CheckType, MVT::i64,
18127 : /* 33882*/ OPC_EmitMergeInputChains1_0,
18128 : /* 33883*/ OPC_EmitInteger, MVT::i32, 0,
18129 : /* 33886*/ OPC_EmitInteger, MVT::i32, 0,
18130 : /* 33889*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18131 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18132 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
18133 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18134 : /* 33898*/ /*Scope*/ 22, /*->33921*/
18135 : /* 33899*/ OPC_CheckPredicate, 11, // Predicate_sextload
18136 : /* 33901*/ OPC_CheckPredicate, 15, // Predicate_sextloadi32
18137 : /* 33903*/ OPC_CheckType, MVT::i64,
18138 : /* 33905*/ OPC_EmitMergeInputChains1_0,
18139 : /* 33906*/ OPC_EmitInteger, MVT::i32, 0,
18140 : /* 33909*/ OPC_EmitInteger, MVT::i32, 0,
18141 : /* 33912*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
18142 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18143 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 4
18144 : // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18145 : /* 33921*/ /*Scope*/ 22, /*->33944*/
18146 : /* 33922*/ OPC_CheckPredicate, 13, // Predicate_zextload
18147 : /* 33924*/ OPC_CheckPredicate, 15, // Predicate_zextloadi32
18148 : /* 33926*/ OPC_CheckType, MVT::i64,
18149 : /* 33928*/ OPC_EmitMergeInputChains1_0,
18150 : /* 33929*/ OPC_EmitInteger, MVT::i32, 0,
18151 : /* 33932*/ OPC_EmitInteger, MVT::i32, 0,
18152 : /* 33935*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18153 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18154 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 4
18155 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18156 : /* 33944*/ /*Scope*/ 107, /*->34052*/
18157 : /* 33945*/ OPC_CheckPredicate, 16, // Predicate_extload
18158 : /* 33947*/ OPC_SwitchType /*2 cases */, 40, MVT::i32,// ->33990
18159 : /* 33950*/ OPC_Scope, 18, /*->33970*/ // 2 children in Scope
18160 : /* 33952*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
18161 : /* 33954*/ OPC_EmitMergeInputChains1_0,
18162 : /* 33955*/ OPC_EmitInteger, MVT::i32, 0,
18163 : /* 33958*/ OPC_EmitInteger, MVT::i32, 0,
18164 : /* 33961*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
18165 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18166 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
18167 : // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18168 : /* 33970*/ /*Scope*/ 18, /*->33989*/
18169 : /* 33971*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
18170 : /* 33973*/ OPC_EmitMergeInputChains1_0,
18171 : /* 33974*/ OPC_EmitInteger, MVT::i32, 0,
18172 : /* 33977*/ OPC_EmitInteger, MVT::i32, 0,
18173 : /* 33980*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
18174 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
18175 : // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
18176 : // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18177 : /* 33989*/ 0, /*End of Scope*/
18178 : /* 33990*/ /*SwitchType*/ 59, MVT::i64,// ->34051
18179 : /* 33992*/ OPC_Scope, 18, /*->34012*/ // 3 children in Scope
18180 : /* 33994*/ OPC_CheckPredicate, 12, // Predicate_extloadi8
18181 : /* 33996*/ OPC_EmitMergeInputChains1_0,
18182 : /* 33997*/ OPC_EmitInteger, MVT::i32, 0,
18183 : /* 34000*/ OPC_EmitInteger, MVT::i32, 0,
18184 : /* 34003*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18185 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18186 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
18187 : // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18188 : /* 34012*/ /*Scope*/ 18, /*->34031*/
18189 : /* 34013*/ OPC_CheckPredicate, 14, // Predicate_extloadi16
18190 : /* 34015*/ OPC_EmitMergeInputChains1_0,
18191 : /* 34016*/ OPC_EmitInteger, MVT::i32, 0,
18192 : /* 34019*/ OPC_EmitInteger, MVT::i32, 0,
18193 : /* 34022*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18194 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18195 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
18196 : // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18197 : /* 34031*/ /*Scope*/ 18, /*->34050*/
18198 : /* 34032*/ OPC_CheckPredicate, 15, // Predicate_extloadi32
18199 : /* 34034*/ OPC_EmitMergeInputChains1_0,
18200 : /* 34035*/ OPC_EmitInteger, MVT::i32, 0,
18201 : /* 34038*/ OPC_EmitInteger, MVT::i32, 0,
18202 : /* 34041*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
18203 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
18204 : // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 4
18205 : // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18206 : /* 34050*/ 0, /*End of Scope*/
18207 : /* 34051*/ 0, // EndSwitchType
18208 : /* 34052*/ 0, /*End of Scope*/
18209 : /* 34053*/ 0, /*End of Scope*/
18210 : /* 34054*/ /*Scope*/ 74|128,3/*458*/, /*->34514*/
18211 : /* 34056*/ OPC_MoveChild1,
18212 : /* 34057*/ OPC_SwitchOpcode /*3 cases */, 11|128,2/*267*/, TARGET_VAL(ISD::ADD),// ->34329
18213 : /* 34062*/ OPC_Scope, 53, /*->34117*/ // 5 children in Scope
18214 : /* 34064*/ OPC_RecordChild0, // #1 = $addr
18215 : /* 34065*/ OPC_MoveChild1,
18216 : /* 34066*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18217 : /* 34069*/ OPC_RecordChild0, // #2 = $off
18218 : /* 34070*/ OPC_MoveChild0,
18219 : /* 34071*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18220 : /* 34074*/ OPC_MoveParent,
18221 : /* 34075*/ OPC_MoveParent,
18222 : /* 34076*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18223 : /* 34078*/ OPC_CheckType, MVT::i32,
18224 : /* 34080*/ OPC_MoveParent,
18225 : /* 34081*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18226 : /* 34083*/ OPC_CheckPredicate, 10, // Predicate_load
18227 : /* 34085*/ OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34101
18228 : /* 34088*/ OPC_EmitMergeInputChains1_0,
18229 : /* 34089*/ OPC_EmitInteger, MVT::i32, 0,
18230 : /* 34092*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18231 : MVT::f32, 3/*#Ops*/, 3, 2, 1,
18232 : // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18233 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18234 : /* 34101*/ /*SwitchType*/ 13, MVT::f64,// ->34116
18235 : /* 34103*/ OPC_EmitMergeInputChains1_0,
18236 : /* 34104*/ OPC_EmitInteger, MVT::i32, 0,
18237 : /* 34107*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18238 : MVT::f64, 3/*#Ops*/, 3, 2, 1,
18239 : // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18240 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18241 : /* 34116*/ 0, // EndSwitchType
18242 : /* 34117*/ /*Scope*/ 53, /*->34171*/
18243 : /* 34118*/ OPC_MoveChild0,
18244 : /* 34119*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18245 : /* 34122*/ OPC_RecordChild0, // #1 = $off
18246 : /* 34123*/ OPC_MoveChild0,
18247 : /* 34124*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18248 : /* 34127*/ OPC_MoveParent,
18249 : /* 34128*/ OPC_MoveParent,
18250 : /* 34129*/ OPC_RecordChild1, // #2 = $addr
18251 : /* 34130*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18252 : /* 34132*/ OPC_CheckType, MVT::i32,
18253 : /* 34134*/ OPC_MoveParent,
18254 : /* 34135*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18255 : /* 34137*/ OPC_CheckPredicate, 10, // Predicate_load
18256 : /* 34139*/ OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34155
18257 : /* 34142*/ OPC_EmitMergeInputChains1_0,
18258 : /* 34143*/ OPC_EmitInteger, MVT::i32, 0,
18259 : /* 34146*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18260 : MVT::f32, 3/*#Ops*/, 3, 1, 2,
18261 : // Src: (ld:{ *:[f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18262 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18263 : /* 34155*/ /*SwitchType*/ 13, MVT::f64,// ->34170
18264 : /* 34157*/ OPC_EmitMergeInputChains1_0,
18265 : /* 34158*/ OPC_EmitInteger, MVT::i32, 0,
18266 : /* 34161*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18267 : MVT::f64, 3/*#Ops*/, 3, 1, 2,
18268 : // Src: (ld:{ *:[f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18269 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18270 : /* 34170*/ 0, // EndSwitchType
18271 : /* 34171*/ /*Scope*/ 51, /*->34223*/
18272 : /* 34172*/ OPC_RecordChild0, // #1 = $addr
18273 : /* 34173*/ OPC_MoveChild1,
18274 : /* 34174*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18275 : /* 34177*/ OPC_RecordChild0, // #2 = $off
18276 : /* 34178*/ OPC_MoveChild0,
18277 : /* 34179*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
18278 : /* 34182*/ OPC_MoveParent,
18279 : /* 34183*/ OPC_MoveParent,
18280 : /* 34184*/ OPC_CheckType, MVT::i32,
18281 : /* 34186*/ OPC_MoveParent,
18282 : /* 34187*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18283 : /* 34189*/ OPC_CheckPredicate, 10, // Predicate_load
18284 : /* 34191*/ OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34207
18285 : /* 34194*/ OPC_EmitMergeInputChains1_0,
18286 : /* 34195*/ OPC_EmitInteger, MVT::i32, 0,
18287 : /* 34198*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18288 : MVT::f32, 3/*#Ops*/, 3, 2, 1,
18289 : // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18290 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18291 : /* 34207*/ /*SwitchType*/ 13, MVT::f64,// ->34222
18292 : /* 34209*/ OPC_EmitMergeInputChains1_0,
18293 : /* 34210*/ OPC_EmitInteger, MVT::i32, 0,
18294 : /* 34213*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18295 : MVT::f64, 3/*#Ops*/, 3, 2, 1,
18296 : // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18297 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18298 : /* 34222*/ 0, // EndSwitchType
18299 : /* 34223*/ /*Scope*/ 51, /*->34275*/
18300 : /* 34224*/ OPC_MoveChild0,
18301 : /* 34225*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18302 : /* 34228*/ OPC_RecordChild0, // #1 = $off
18303 : /* 34229*/ OPC_MoveChild0,
18304 : /* 34230*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
18305 : /* 34233*/ OPC_MoveParent,
18306 : /* 34234*/ OPC_MoveParent,
18307 : /* 34235*/ OPC_RecordChild1, // #2 = $addr
18308 : /* 34236*/ OPC_CheckType, MVT::i32,
18309 : /* 34238*/ OPC_MoveParent,
18310 : /* 34239*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18311 : /* 34241*/ OPC_CheckPredicate, 10, // Predicate_load
18312 : /* 34243*/ OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34259
18313 : /* 34246*/ OPC_EmitMergeInputChains1_0,
18314 : /* 34247*/ OPC_EmitInteger, MVT::i32, 0,
18315 : /* 34250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18316 : MVT::f32, 3/*#Ops*/, 3, 1, 2,
18317 : // Src: (ld:{ *:[f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18318 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18319 : /* 34259*/ /*SwitchType*/ 13, MVT::f64,// ->34274
18320 : /* 34261*/ OPC_EmitMergeInputChains1_0,
18321 : /* 34262*/ OPC_EmitInteger, MVT::i32, 0,
18322 : /* 34265*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18323 : MVT::f64, 3/*#Ops*/, 3, 1, 2,
18324 : // Src: (ld:{ *:[f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18325 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18326 : /* 34274*/ 0, // EndSwitchType
18327 : /* 34275*/ /*Scope*/ 52, /*->34328*/
18328 : /* 34276*/ OPC_RecordChild0, // #1 = $addr
18329 : /* 34277*/ OPC_RecordChild1, // #2 = $off
18330 : /* 34278*/ OPC_MoveChild1,
18331 : /* 34279*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18332 : /* 34282*/ OPC_MoveParent,
18333 : /* 34283*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
18334 : /* 34285*/ OPC_CheckType, MVT::i32,
18335 : /* 34287*/ OPC_MoveParent,
18336 : /* 34288*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18337 : /* 34290*/ OPC_CheckPredicate, 10, // Predicate_load
18338 : /* 34292*/ OPC_SwitchType /*2 cases */, 15, MVT::f32,// ->34310
18339 : /* 34295*/ OPC_EmitMergeInputChains1_0,
18340 : /* 34296*/ OPC_EmitInteger, MVT::i32, 0,
18341 : /* 34299*/ OPC_EmitConvertToTarget, 2,
18342 : /* 34301*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18343 : MVT::f32, 3/*#Ops*/, 3, 4, 1,
18344 : // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18345 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18346 : /* 34310*/ /*SwitchType*/ 15, MVT::f64,// ->34327
18347 : /* 34312*/ OPC_EmitMergeInputChains1_0,
18348 : /* 34313*/ OPC_EmitInteger, MVT::i32, 0,
18349 : /* 34316*/ OPC_EmitConvertToTarget, 2,
18350 : /* 34318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18351 : MVT::f64, 3/*#Ops*/, 3, 4, 1,
18352 : // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18353 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18354 : /* 34327*/ 0, // EndSwitchType
18355 : /* 34328*/ 0, /*End of Scope*/
18356 : /* 34329*/ /*SwitchOpcode*/ 52, TARGET_VAL(ISD::OR),// ->34384
18357 : /* 34332*/ OPC_RecordChild0, // #1 = $addr
18358 : /* 34333*/ OPC_RecordChild1, // #2 = $off
18359 : /* 34334*/ OPC_MoveChild1,
18360 : /* 34335*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18361 : /* 34338*/ OPC_MoveParent,
18362 : /* 34339*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
18363 : /* 34341*/ OPC_CheckType, MVT::i32,
18364 : /* 34343*/ OPC_MoveParent,
18365 : /* 34344*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18366 : /* 34346*/ OPC_CheckPredicate, 10, // Predicate_load
18367 : /* 34348*/ OPC_SwitchType /*2 cases */, 15, MVT::f32,// ->34366
18368 : /* 34351*/ OPC_EmitMergeInputChains1_0,
18369 : /* 34352*/ OPC_EmitInteger, MVT::i32, 0,
18370 : /* 34355*/ OPC_EmitConvertToTarget, 2,
18371 : /* 34357*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18372 : MVT::f32, 3/*#Ops*/, 3, 4, 1,
18373 : // Src: (ld:{ *:[f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18374 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18375 : /* 34366*/ /*SwitchType*/ 15, MVT::f64,// ->34383
18376 : /* 34368*/ OPC_EmitMergeInputChains1_0,
18377 : /* 34369*/ OPC_EmitInteger, MVT::i32, 0,
18378 : /* 34372*/ OPC_EmitConvertToTarget, 2,
18379 : /* 34374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18380 : MVT::f64, 3/*#Ops*/, 3, 4, 1,
18381 : // Src: (ld:{ *:[f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18382 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18383 : /* 34383*/ 0, // EndSwitchType
18384 : /* 34384*/ /*SwitchOpcode*/ 126, TARGET_VAL(WebAssemblyISD::Wrapper),// ->34513
18385 : /* 34387*/ OPC_RecordChild0, // #1 = $off
18386 : /* 34388*/ OPC_MoveChild0,
18387 : /* 34389*/ OPC_SwitchOpcode /*2 cases */, 58, TARGET_VAL(ISD::TargetGlobalAddress),// ->34451
18388 : /* 34393*/ OPC_MoveParent,
18389 : /* 34394*/ OPC_MoveParent,
18390 : /* 34395*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18391 : /* 34397*/ OPC_CheckPredicate, 10, // Predicate_load
18392 : /* 34399*/ OPC_SwitchType /*2 cases */, 23, MVT::f32,// ->34425
18393 : /* 34402*/ OPC_EmitMergeInputChains1_0,
18394 : /* 34403*/ OPC_EmitInteger, MVT::i32, 0,
18395 : /* 34406*/ OPC_EmitInteger, MVT::i32, 0,
18396 : /* 34409*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18397 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18398 : /* 34416*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18399 : MVT::f32, 3/*#Ops*/, 2, 1, 4,
18400 : // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18401 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18402 : /* 34425*/ /*SwitchType*/ 23, MVT::f64,// ->34450
18403 : /* 34427*/ OPC_EmitMergeInputChains1_0,
18404 : /* 34428*/ OPC_EmitInteger, MVT::i32, 0,
18405 : /* 34431*/ OPC_EmitInteger, MVT::i32, 0,
18406 : /* 34434*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18407 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18408 : /* 34441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18409 : MVT::f64, 3/*#Ops*/, 2, 1, 4,
18410 : // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18411 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18412 : /* 34450*/ 0, // EndSwitchType
18413 : /* 34451*/ /*SwitchOpcode*/ 58, TARGET_VAL(ISD::TargetExternalSymbol),// ->34512
18414 : /* 34454*/ OPC_MoveParent,
18415 : /* 34455*/ OPC_MoveParent,
18416 : /* 34456*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18417 : /* 34458*/ OPC_CheckPredicate, 10, // Predicate_load
18418 : /* 34460*/ OPC_SwitchType /*2 cases */, 23, MVT::f32,// ->34486
18419 : /* 34463*/ OPC_EmitMergeInputChains1_0,
18420 : /* 34464*/ OPC_EmitInteger, MVT::i32, 0,
18421 : /* 34467*/ OPC_EmitInteger, MVT::i32, 0,
18422 : /* 34470*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18423 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18424 : /* 34477*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18425 : MVT::f32, 3/*#Ops*/, 2, 1, 4,
18426 : // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18427 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18428 : /* 34486*/ /*SwitchType*/ 23, MVT::f64,// ->34511
18429 : /* 34488*/ OPC_EmitMergeInputChains1_0,
18430 : /* 34489*/ OPC_EmitInteger, MVT::i32, 0,
18431 : /* 34492*/ OPC_EmitInteger, MVT::i32, 0,
18432 : /* 34495*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18433 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18434 : /* 34502*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18435 : MVT::f64, 3/*#Ops*/, 2, 1, 4,
18436 : // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18437 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18438 : /* 34511*/ 0, // EndSwitchType
18439 : /* 34512*/ 0, // EndSwitchOpcode
18440 : /* 34513*/ 0, // EndSwitchOpcode
18441 : /* 34514*/ /*Scope*/ 114, /*->34629*/
18442 : /* 34515*/ OPC_RecordChild1, // #1 = $off
18443 : /* 34516*/ OPC_Scope, 65, /*->34583*/ // 2 children in Scope
18444 : /* 34518*/ OPC_MoveChild1,
18445 : /* 34519*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18446 : /* 34522*/ OPC_MoveParent,
18447 : /* 34523*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18448 : /* 34525*/ OPC_CheckPredicate, 10, // Predicate_load
18449 : /* 34527*/ OPC_SwitchType /*2 cases */, 25, MVT::f32,// ->34555
18450 : /* 34530*/ OPC_EmitMergeInputChains1_0,
18451 : /* 34531*/ OPC_EmitInteger, MVT::i32, 0,
18452 : /* 34534*/ OPC_EmitConvertToTarget, 1,
18453 : /* 34536*/ OPC_EmitInteger, MVT::i32, 0,
18454 : /* 34539*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18455 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18456 : /* 34546*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18457 : MVT::f32, 3/*#Ops*/, 2, 3, 5,
18458 : // Src: (ld:{ *:[f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18459 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18460 : /* 34555*/ /*SwitchType*/ 25, MVT::f64,// ->34582
18461 : /* 34557*/ OPC_EmitMergeInputChains1_0,
18462 : /* 34558*/ OPC_EmitInteger, MVT::i32, 0,
18463 : /* 34561*/ OPC_EmitConvertToTarget, 1,
18464 : /* 34563*/ OPC_EmitInteger, MVT::i32, 0,
18465 : /* 34566*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18466 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18467 : /* 34573*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18468 : MVT::f64, 3/*#Ops*/, 2, 3, 5,
18469 : // Src: (ld:{ *:[f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18470 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18471 : /* 34582*/ 0, // EndSwitchType
18472 : /* 34583*/ /*Scope*/ 44, /*->34628*/
18473 : /* 34584*/ OPC_CheckChild1Type, MVT::i32,
18474 : /* 34586*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18475 : /* 34588*/ OPC_CheckPredicate, 10, // Predicate_load
18476 : /* 34590*/ OPC_SwitchType /*2 cases */, 16, MVT::f32,// ->34609
18477 : /* 34593*/ OPC_EmitMergeInputChains1_0,
18478 : /* 34594*/ OPC_EmitInteger, MVT::i32, 0,
18479 : /* 34597*/ OPC_EmitInteger, MVT::i32, 0,
18480 : /* 34600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
18481 : MVT::f32, 3/*#Ops*/, 2, 3, 1,
18482 : // Src: (ld:{ *:[f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18483 : // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18484 : /* 34609*/ /*SwitchType*/ 16, MVT::f64,// ->34627
18485 : /* 34611*/ OPC_EmitMergeInputChains1_0,
18486 : /* 34612*/ OPC_EmitInteger, MVT::i32, 0,
18487 : /* 34615*/ OPC_EmitInteger, MVT::i32, 0,
18488 : /* 34618*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
18489 : MVT::f64, 3/*#Ops*/, 2, 3, 1,
18490 : // Src: (ld:{ *:[f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18491 : // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18492 : /* 34627*/ 0, // EndSwitchType
18493 : /* 34628*/ 0, /*End of Scope*/
18494 : /* 34629*/ /*Scope*/ 107|128,5/*747*/, /*->35378*/
18495 : /* 34631*/ OPC_MoveChild1,
18496 : /* 34632*/ OPC_SwitchOpcode /*3 cases */, 37|128,3/*421*/, TARGET_VAL(ISD::ADD),// ->35058
18497 : /* 34637*/ OPC_Scope, 83, /*->34722*/ // 5 children in Scope
18498 : /* 34639*/ OPC_RecordChild0, // #1 = $addr
18499 : /* 34640*/ OPC_MoveChild1,
18500 : /* 34641*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18501 : /* 34644*/ OPC_RecordChild0, // #2 = $off
18502 : /* 34645*/ OPC_MoveChild0,
18503 : /* 34646*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18504 : /* 34649*/ OPC_MoveParent,
18505 : /* 34650*/ OPC_MoveParent,
18506 : /* 34651*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18507 : /* 34653*/ OPC_CheckType, MVT::i32,
18508 : /* 34655*/ OPC_MoveParent,
18509 : /* 34656*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18510 : /* 34658*/ OPC_CheckPredicate, 10, // Predicate_load
18511 : /* 34660*/ OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34676
18512 : /* 34663*/ OPC_EmitMergeInputChains1_0,
18513 : /* 34664*/ OPC_EmitInteger, MVT::i32, 0,
18514 : /* 34667*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18515 : MVT::v16i8, 3/*#Ops*/, 3, 2, 1,
18516 : // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18517 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18518 : /* 34676*/ /*SwitchType*/ 13, MVT::v8i16,// ->34691
18519 : /* 34678*/ OPC_EmitMergeInputChains1_0,
18520 : /* 34679*/ OPC_EmitInteger, MVT::i32, 0,
18521 : /* 34682*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18522 : MVT::v8i16, 3/*#Ops*/, 3, 2, 1,
18523 : // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18524 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18525 : /* 34691*/ /*SwitchType*/ 13, MVT::v4i32,// ->34706
18526 : /* 34693*/ OPC_EmitMergeInputChains1_0,
18527 : /* 34694*/ OPC_EmitInteger, MVT::i32, 0,
18528 : /* 34697*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18529 : MVT::v4i32, 3/*#Ops*/, 3, 2, 1,
18530 : // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18531 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18532 : /* 34706*/ /*SwitchType*/ 13, MVT::v2i64,// ->34721
18533 : /* 34708*/ OPC_EmitMergeInputChains1_0,
18534 : /* 34709*/ OPC_EmitInteger, MVT::i32, 0,
18535 : /* 34712*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18536 : MVT::v2i64, 3/*#Ops*/, 3, 2, 1,
18537 : // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18538 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18539 : /* 34721*/ 0, // EndSwitchType
18540 : /* 34722*/ /*Scope*/ 83, /*->34806*/
18541 : /* 34723*/ OPC_MoveChild0,
18542 : /* 34724*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18543 : /* 34727*/ OPC_RecordChild0, // #1 = $off
18544 : /* 34728*/ OPC_MoveChild0,
18545 : /* 34729*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18546 : /* 34732*/ OPC_MoveParent,
18547 : /* 34733*/ OPC_MoveParent,
18548 : /* 34734*/ OPC_RecordChild1, // #2 = $addr
18549 : /* 34735*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18550 : /* 34737*/ OPC_CheckType, MVT::i32,
18551 : /* 34739*/ OPC_MoveParent,
18552 : /* 34740*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18553 : /* 34742*/ OPC_CheckPredicate, 10, // Predicate_load
18554 : /* 34744*/ OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34760
18555 : /* 34747*/ OPC_EmitMergeInputChains1_0,
18556 : /* 34748*/ OPC_EmitInteger, MVT::i32, 0,
18557 : /* 34751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18558 : MVT::v16i8, 3/*#Ops*/, 3, 1, 2,
18559 : // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18560 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18561 : /* 34760*/ /*SwitchType*/ 13, MVT::v8i16,// ->34775
18562 : /* 34762*/ OPC_EmitMergeInputChains1_0,
18563 : /* 34763*/ OPC_EmitInteger, MVT::i32, 0,
18564 : /* 34766*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18565 : MVT::v8i16, 3/*#Ops*/, 3, 1, 2,
18566 : // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18567 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18568 : /* 34775*/ /*SwitchType*/ 13, MVT::v4i32,// ->34790
18569 : /* 34777*/ OPC_EmitMergeInputChains1_0,
18570 : /* 34778*/ OPC_EmitInteger, MVT::i32, 0,
18571 : /* 34781*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18572 : MVT::v4i32, 3/*#Ops*/, 3, 1, 2,
18573 : // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18574 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18575 : /* 34790*/ /*SwitchType*/ 13, MVT::v2i64,// ->34805
18576 : /* 34792*/ OPC_EmitMergeInputChains1_0,
18577 : /* 34793*/ OPC_EmitInteger, MVT::i32, 0,
18578 : /* 34796*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18579 : MVT::v2i64, 3/*#Ops*/, 3, 1, 2,
18580 : // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18581 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18582 : /* 34805*/ 0, // EndSwitchType
18583 : /* 34806*/ /*Scope*/ 81, /*->34888*/
18584 : /* 34807*/ OPC_RecordChild0, // #1 = $addr
18585 : /* 34808*/ OPC_MoveChild1,
18586 : /* 34809*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18587 : /* 34812*/ OPC_RecordChild0, // #2 = $off
18588 : /* 34813*/ OPC_MoveChild0,
18589 : /* 34814*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
18590 : /* 34817*/ OPC_MoveParent,
18591 : /* 34818*/ OPC_MoveParent,
18592 : /* 34819*/ OPC_CheckType, MVT::i32,
18593 : /* 34821*/ OPC_MoveParent,
18594 : /* 34822*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18595 : /* 34824*/ OPC_CheckPredicate, 10, // Predicate_load
18596 : /* 34826*/ OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34842
18597 : /* 34829*/ OPC_EmitMergeInputChains1_0,
18598 : /* 34830*/ OPC_EmitInteger, MVT::i32, 0,
18599 : /* 34833*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18600 : MVT::v16i8, 3/*#Ops*/, 3, 2, 1,
18601 : // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18602 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18603 : /* 34842*/ /*SwitchType*/ 13, MVT::v8i16,// ->34857
18604 : /* 34844*/ OPC_EmitMergeInputChains1_0,
18605 : /* 34845*/ OPC_EmitInteger, MVT::i32, 0,
18606 : /* 34848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18607 : MVT::v8i16, 3/*#Ops*/, 3, 2, 1,
18608 : // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18609 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18610 : /* 34857*/ /*SwitchType*/ 13, MVT::v4i32,// ->34872
18611 : /* 34859*/ OPC_EmitMergeInputChains1_0,
18612 : /* 34860*/ OPC_EmitInteger, MVT::i32, 0,
18613 : /* 34863*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18614 : MVT::v4i32, 3/*#Ops*/, 3, 2, 1,
18615 : // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18616 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18617 : /* 34872*/ /*SwitchType*/ 13, MVT::v2i64,// ->34887
18618 : /* 34874*/ OPC_EmitMergeInputChains1_0,
18619 : /* 34875*/ OPC_EmitInteger, MVT::i32, 0,
18620 : /* 34878*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18621 : MVT::v2i64, 3/*#Ops*/, 3, 2, 1,
18622 : // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18623 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18624 : /* 34887*/ 0, // EndSwitchType
18625 : /* 34888*/ /*Scope*/ 81, /*->34970*/
18626 : /* 34889*/ OPC_MoveChild0,
18627 : /* 34890*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18628 : /* 34893*/ OPC_RecordChild0, // #1 = $off
18629 : /* 34894*/ OPC_MoveChild0,
18630 : /* 34895*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
18631 : /* 34898*/ OPC_MoveParent,
18632 : /* 34899*/ OPC_MoveParent,
18633 : /* 34900*/ OPC_RecordChild1, // #2 = $addr
18634 : /* 34901*/ OPC_CheckType, MVT::i32,
18635 : /* 34903*/ OPC_MoveParent,
18636 : /* 34904*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18637 : /* 34906*/ OPC_CheckPredicate, 10, // Predicate_load
18638 : /* 34908*/ OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34924
18639 : /* 34911*/ OPC_EmitMergeInputChains1_0,
18640 : /* 34912*/ OPC_EmitInteger, MVT::i32, 0,
18641 : /* 34915*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18642 : MVT::v16i8, 3/*#Ops*/, 3, 1, 2,
18643 : // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18644 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18645 : /* 34924*/ /*SwitchType*/ 13, MVT::v8i16,// ->34939
18646 : /* 34926*/ OPC_EmitMergeInputChains1_0,
18647 : /* 34927*/ OPC_EmitInteger, MVT::i32, 0,
18648 : /* 34930*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18649 : MVT::v8i16, 3/*#Ops*/, 3, 1, 2,
18650 : // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18651 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18652 : /* 34939*/ /*SwitchType*/ 13, MVT::v4i32,// ->34954
18653 : /* 34941*/ OPC_EmitMergeInputChains1_0,
18654 : /* 34942*/ OPC_EmitInteger, MVT::i32, 0,
18655 : /* 34945*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18656 : MVT::v4i32, 3/*#Ops*/, 3, 1, 2,
18657 : // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18658 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18659 : /* 34954*/ /*SwitchType*/ 13, MVT::v2i64,// ->34969
18660 : /* 34956*/ OPC_EmitMergeInputChains1_0,
18661 : /* 34957*/ OPC_EmitInteger, MVT::i32, 0,
18662 : /* 34960*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18663 : MVT::v2i64, 3/*#Ops*/, 3, 1, 2,
18664 : // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
18665 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18666 : /* 34969*/ 0, // EndSwitchType
18667 : /* 34970*/ /*Scope*/ 86, /*->35057*/
18668 : /* 34971*/ OPC_RecordChild0, // #1 = $addr
18669 : /* 34972*/ OPC_RecordChild1, // #2 = $off
18670 : /* 34973*/ OPC_MoveChild1,
18671 : /* 34974*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18672 : /* 34977*/ OPC_MoveParent,
18673 : /* 34978*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
18674 : /* 34980*/ OPC_CheckType, MVT::i32,
18675 : /* 34982*/ OPC_MoveParent,
18676 : /* 34983*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18677 : /* 34985*/ OPC_CheckPredicate, 10, // Predicate_load
18678 : /* 34987*/ OPC_SwitchType /*4 cases */, 15, MVT::v16i8,// ->35005
18679 : /* 34990*/ OPC_EmitMergeInputChains1_0,
18680 : /* 34991*/ OPC_EmitInteger, MVT::i32, 0,
18681 : /* 34994*/ OPC_EmitConvertToTarget, 2,
18682 : /* 34996*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18683 : MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
18684 : // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18685 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18686 : /* 35005*/ /*SwitchType*/ 15, MVT::v8i16,// ->35022
18687 : /* 35007*/ OPC_EmitMergeInputChains1_0,
18688 : /* 35008*/ OPC_EmitInteger, MVT::i32, 0,
18689 : /* 35011*/ OPC_EmitConvertToTarget, 2,
18690 : /* 35013*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18691 : MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
18692 : // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18693 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18694 : /* 35022*/ /*SwitchType*/ 15, MVT::v4i32,// ->35039
18695 : /* 35024*/ OPC_EmitMergeInputChains1_0,
18696 : /* 35025*/ OPC_EmitInteger, MVT::i32, 0,
18697 : /* 35028*/ OPC_EmitConvertToTarget, 2,
18698 : /* 35030*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18699 : MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
18700 : // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18701 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18702 : /* 35039*/ /*SwitchType*/ 15, MVT::v2i64,// ->35056
18703 : /* 35041*/ OPC_EmitMergeInputChains1_0,
18704 : /* 35042*/ OPC_EmitInteger, MVT::i32, 0,
18705 : /* 35045*/ OPC_EmitConvertToTarget, 2,
18706 : /* 35047*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18707 : MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
18708 : // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18709 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18710 : /* 35056*/ 0, // EndSwitchType
18711 : /* 35057*/ 0, /*End of Scope*/
18712 : /* 35058*/ /*SwitchOpcode*/ 86, TARGET_VAL(ISD::OR),// ->35147
18713 : /* 35061*/ OPC_RecordChild0, // #1 = $addr
18714 : /* 35062*/ OPC_RecordChild1, // #2 = $off
18715 : /* 35063*/ OPC_MoveChild1,
18716 : /* 35064*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18717 : /* 35067*/ OPC_MoveParent,
18718 : /* 35068*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
18719 : /* 35070*/ OPC_CheckType, MVT::i32,
18720 : /* 35072*/ OPC_MoveParent,
18721 : /* 35073*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18722 : /* 35075*/ OPC_CheckPredicate, 10, // Predicate_load
18723 : /* 35077*/ OPC_SwitchType /*4 cases */, 15, MVT::v16i8,// ->35095
18724 : /* 35080*/ OPC_EmitMergeInputChains1_0,
18725 : /* 35081*/ OPC_EmitInteger, MVT::i32, 0,
18726 : /* 35084*/ OPC_EmitConvertToTarget, 2,
18727 : /* 35086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18728 : MVT::v16i8, 3/*#Ops*/, 3, 4, 1,
18729 : // Src: (ld:{ *:[v16i8] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18730 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18731 : /* 35095*/ /*SwitchType*/ 15, MVT::v8i16,// ->35112
18732 : /* 35097*/ OPC_EmitMergeInputChains1_0,
18733 : /* 35098*/ OPC_EmitInteger, MVT::i32, 0,
18734 : /* 35101*/ OPC_EmitConvertToTarget, 2,
18735 : /* 35103*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18736 : MVT::v8i16, 3/*#Ops*/, 3, 4, 1,
18737 : // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18738 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18739 : /* 35112*/ /*SwitchType*/ 15, MVT::v4i32,// ->35129
18740 : /* 35114*/ OPC_EmitMergeInputChains1_0,
18741 : /* 35115*/ OPC_EmitInteger, MVT::i32, 0,
18742 : /* 35118*/ OPC_EmitConvertToTarget, 2,
18743 : /* 35120*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18744 : MVT::v4i32, 3/*#Ops*/, 3, 4, 1,
18745 : // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18746 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18747 : /* 35129*/ /*SwitchType*/ 15, MVT::v2i64,// ->35146
18748 : /* 35131*/ OPC_EmitMergeInputChains1_0,
18749 : /* 35132*/ OPC_EmitInteger, MVT::i32, 0,
18750 : /* 35135*/ OPC_EmitConvertToTarget, 2,
18751 : /* 35137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18752 : MVT::v2i64, 3/*#Ops*/, 3, 4, 1,
18753 : // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
18754 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18755 : /* 35146*/ 0, // EndSwitchType
18756 : /* 35147*/ /*SwitchOpcode*/ 98|128,1/*226*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->35377
18757 : /* 35151*/ OPC_RecordChild0, // #1 = $off
18758 : /* 35152*/ OPC_MoveChild0,
18759 : /* 35153*/ OPC_SwitchOpcode /*2 cases */, 108, TARGET_VAL(ISD::TargetGlobalAddress),// ->35265
18760 : /* 35157*/ OPC_MoveParent,
18761 : /* 35158*/ OPC_MoveParent,
18762 : /* 35159*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18763 : /* 35161*/ OPC_CheckPredicate, 10, // Predicate_load
18764 : /* 35163*/ OPC_SwitchType /*4 cases */, 23, MVT::v16i8,// ->35189
18765 : /* 35166*/ OPC_EmitMergeInputChains1_0,
18766 : /* 35167*/ OPC_EmitInteger, MVT::i32, 0,
18767 : /* 35170*/ OPC_EmitInteger, MVT::i32, 0,
18768 : /* 35173*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18769 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18770 : /* 35180*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18771 : MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
18772 : // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18773 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18774 : /* 35189*/ /*SwitchType*/ 23, MVT::v8i16,// ->35214
18775 : /* 35191*/ OPC_EmitMergeInputChains1_0,
18776 : /* 35192*/ OPC_EmitInteger, MVT::i32, 0,
18777 : /* 35195*/ OPC_EmitInteger, MVT::i32, 0,
18778 : /* 35198*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18779 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18780 : /* 35205*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18781 : MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
18782 : // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18783 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18784 : /* 35214*/ /*SwitchType*/ 23, MVT::v4i32,// ->35239
18785 : /* 35216*/ OPC_EmitMergeInputChains1_0,
18786 : /* 35217*/ OPC_EmitInteger, MVT::i32, 0,
18787 : /* 35220*/ OPC_EmitInteger, MVT::i32, 0,
18788 : /* 35223*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18789 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18790 : /* 35230*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18791 : MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
18792 : // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18793 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18794 : /* 35239*/ /*SwitchType*/ 23, MVT::v2i64,// ->35264
18795 : /* 35241*/ OPC_EmitMergeInputChains1_0,
18796 : /* 35242*/ OPC_EmitInteger, MVT::i32, 0,
18797 : /* 35245*/ OPC_EmitInteger, MVT::i32, 0,
18798 : /* 35248*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18799 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18800 : /* 35255*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18801 : MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
18802 : // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18803 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18804 : /* 35264*/ 0, // EndSwitchType
18805 : /* 35265*/ /*SwitchOpcode*/ 108, TARGET_VAL(ISD::TargetExternalSymbol),// ->35376
18806 : /* 35268*/ OPC_MoveParent,
18807 : /* 35269*/ OPC_MoveParent,
18808 : /* 35270*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18809 : /* 35272*/ OPC_CheckPredicate, 10, // Predicate_load
18810 : /* 35274*/ OPC_SwitchType /*4 cases */, 23, MVT::v16i8,// ->35300
18811 : /* 35277*/ OPC_EmitMergeInputChains1_0,
18812 : /* 35278*/ OPC_EmitInteger, MVT::i32, 0,
18813 : /* 35281*/ OPC_EmitInteger, MVT::i32, 0,
18814 : /* 35284*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18815 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18816 : /* 35291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18817 : MVT::v16i8, 3/*#Ops*/, 2, 1, 4,
18818 : // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18819 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18820 : /* 35300*/ /*SwitchType*/ 23, MVT::v8i16,// ->35325
18821 : /* 35302*/ OPC_EmitMergeInputChains1_0,
18822 : /* 35303*/ OPC_EmitInteger, MVT::i32, 0,
18823 : /* 35306*/ OPC_EmitInteger, MVT::i32, 0,
18824 : /* 35309*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18825 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18826 : /* 35316*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18827 : MVT::v8i16, 3/*#Ops*/, 2, 1, 4,
18828 : // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18829 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18830 : /* 35325*/ /*SwitchType*/ 23, MVT::v4i32,// ->35350
18831 : /* 35327*/ OPC_EmitMergeInputChains1_0,
18832 : /* 35328*/ OPC_EmitInteger, MVT::i32, 0,
18833 : /* 35331*/ OPC_EmitInteger, MVT::i32, 0,
18834 : /* 35334*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18835 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18836 : /* 35341*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18837 : MVT::v4i32, 3/*#Ops*/, 2, 1, 4,
18838 : // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18839 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18840 : /* 35350*/ /*SwitchType*/ 23, MVT::v2i64,// ->35375
18841 : /* 35352*/ OPC_EmitMergeInputChains1_0,
18842 : /* 35353*/ OPC_EmitInteger, MVT::i32, 0,
18843 : /* 35356*/ OPC_EmitInteger, MVT::i32, 0,
18844 : /* 35359*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18845 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
18846 : /* 35366*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18847 : MVT::v2i64, 3/*#Ops*/, 2, 1, 4,
18848 : // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
18849 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18850 : /* 35375*/ 0, // EndSwitchType
18851 : /* 35376*/ 0, // EndSwitchOpcode
18852 : /* 35377*/ 0, // EndSwitchOpcode
18853 : /* 35378*/ /*Scope*/ 76|128,1/*204*/, /*->35584*/
18854 : /* 35380*/ OPC_RecordChild1, // #1 = $off
18855 : /* 35381*/ OPC_Scope, 119, /*->35502*/ // 2 children in Scope
18856 : /* 35383*/ OPC_MoveChild1,
18857 : /* 35384*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
18858 : /* 35387*/ OPC_MoveParent,
18859 : /* 35388*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18860 : /* 35390*/ OPC_CheckPredicate, 10, // Predicate_load
18861 : /* 35392*/ OPC_SwitchType /*4 cases */, 25, MVT::v16i8,// ->35420
18862 : /* 35395*/ OPC_EmitMergeInputChains1_0,
18863 : /* 35396*/ OPC_EmitInteger, MVT::i32, 0,
18864 : /* 35399*/ OPC_EmitConvertToTarget, 1,
18865 : /* 35401*/ OPC_EmitInteger, MVT::i32, 0,
18866 : /* 35404*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18867 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18868 : /* 35411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18869 : MVT::v16i8, 3/*#Ops*/, 2, 3, 5,
18870 : // Src: (ld:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18871 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18872 : /* 35420*/ /*SwitchType*/ 25, MVT::v8i16,// ->35447
18873 : /* 35422*/ OPC_EmitMergeInputChains1_0,
18874 : /* 35423*/ OPC_EmitInteger, MVT::i32, 0,
18875 : /* 35426*/ OPC_EmitConvertToTarget, 1,
18876 : /* 35428*/ OPC_EmitInteger, MVT::i32, 0,
18877 : /* 35431*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18878 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18879 : /* 35438*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18880 : MVT::v8i16, 3/*#Ops*/, 2, 3, 5,
18881 : // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18882 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18883 : /* 35447*/ /*SwitchType*/ 25, MVT::v4i32,// ->35474
18884 : /* 35449*/ OPC_EmitMergeInputChains1_0,
18885 : /* 35450*/ OPC_EmitInteger, MVT::i32, 0,
18886 : /* 35453*/ OPC_EmitConvertToTarget, 1,
18887 : /* 35455*/ OPC_EmitInteger, MVT::i32, 0,
18888 : /* 35458*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18889 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18890 : /* 35465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18891 : MVT::v4i32, 3/*#Ops*/, 2, 3, 5,
18892 : // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18893 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18894 : /* 35474*/ /*SwitchType*/ 25, MVT::v2i64,// ->35501
18895 : /* 35476*/ OPC_EmitMergeInputChains1_0,
18896 : /* 35477*/ OPC_EmitInteger, MVT::i32, 0,
18897 : /* 35480*/ OPC_EmitConvertToTarget, 1,
18898 : /* 35482*/ OPC_EmitInteger, MVT::i32, 0,
18899 : /* 35485*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
18900 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
18901 : /* 35492*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18902 : MVT::v2i64, 3/*#Ops*/, 2, 3, 5,
18903 : // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
18904 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
18905 : /* 35501*/ 0, // EndSwitchType
18906 : /* 35502*/ /*Scope*/ 80, /*->35583*/
18907 : /* 35503*/ OPC_CheckChild1Type, MVT::i32,
18908 : /* 35505*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18909 : /* 35507*/ OPC_CheckPredicate, 10, // Predicate_load
18910 : /* 35509*/ OPC_SwitchType /*4 cases */, 16, MVT::v16i8,// ->35528
18911 : /* 35512*/ OPC_EmitMergeInputChains1_0,
18912 : /* 35513*/ OPC_EmitInteger, MVT::i32, 0,
18913 : /* 35516*/ OPC_EmitInteger, MVT::i32, 0,
18914 : /* 35519*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
18915 : MVT::v16i8, 3/*#Ops*/, 2, 3, 1,
18916 : // Src: (ld:{ *:[v16i8] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18917 : // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18918 : /* 35528*/ /*SwitchType*/ 16, MVT::v8i16,// ->35546
18919 : /* 35530*/ OPC_EmitMergeInputChains1_0,
18920 : /* 35531*/ OPC_EmitInteger, MVT::i32, 0,
18921 : /* 35534*/ OPC_EmitInteger, MVT::i32, 0,
18922 : /* 35537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
18923 : MVT::v8i16, 3/*#Ops*/, 2, 3, 1,
18924 : // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18925 : // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18926 : /* 35546*/ /*SwitchType*/ 16, MVT::v4i32,// ->35564
18927 : /* 35548*/ OPC_EmitMergeInputChains1_0,
18928 : /* 35549*/ OPC_EmitInteger, MVT::i32, 0,
18929 : /* 35552*/ OPC_EmitInteger, MVT::i32, 0,
18930 : /* 35555*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
18931 : MVT::v4i32, 3/*#Ops*/, 2, 3, 1,
18932 : // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18933 : // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18934 : /* 35564*/ /*SwitchType*/ 16, MVT::v2i64,// ->35582
18935 : /* 35566*/ OPC_EmitMergeInputChains1_0,
18936 : /* 35567*/ OPC_EmitInteger, MVT::i32, 0,
18937 : /* 35570*/ OPC_EmitInteger, MVT::i32, 0,
18938 : /* 35573*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
18939 : MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
18940 : // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
18941 : // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
18942 : /* 35582*/ 0, // EndSwitchType
18943 : /* 35583*/ 0, /*End of Scope*/
18944 : /* 35584*/ /*Scope*/ 74|128,3/*458*/, /*->36044*/
18945 : /* 35586*/ OPC_MoveChild1,
18946 : /* 35587*/ OPC_SwitchOpcode /*3 cases */, 11|128,2/*267*/, TARGET_VAL(ISD::ADD),// ->35859
18947 : /* 35592*/ OPC_Scope, 53, /*->35647*/ // 5 children in Scope
18948 : /* 35594*/ OPC_RecordChild0, // #1 = $addr
18949 : /* 35595*/ OPC_MoveChild1,
18950 : /* 35596*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18951 : /* 35599*/ OPC_RecordChild0, // #2 = $off
18952 : /* 35600*/ OPC_MoveChild0,
18953 : /* 35601*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18954 : /* 35604*/ OPC_MoveParent,
18955 : /* 35605*/ OPC_MoveParent,
18956 : /* 35606*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18957 : /* 35608*/ OPC_CheckType, MVT::i32,
18958 : /* 35610*/ OPC_MoveParent,
18959 : /* 35611*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18960 : /* 35613*/ OPC_CheckPredicate, 10, // Predicate_load
18961 : /* 35615*/ OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35631
18962 : /* 35618*/ OPC_EmitMergeInputChains1_0,
18963 : /* 35619*/ OPC_EmitInteger, MVT::i32, 0,
18964 : /* 35622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
18965 : MVT::v4f32, 3/*#Ops*/, 3, 2, 1,
18966 : // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18967 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18968 : /* 35631*/ /*SwitchType*/ 13, MVT::v2f64,// ->35646
18969 : /* 35633*/ OPC_EmitMergeInputChains1_0,
18970 : /* 35634*/ OPC_EmitInteger, MVT::i32, 0,
18971 : /* 35637*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
18972 : MVT::v2f64, 3/*#Ops*/, 3, 2, 1,
18973 : // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18974 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18975 : /* 35646*/ 0, // EndSwitchType
18976 : /* 35647*/ /*Scope*/ 53, /*->35701*/
18977 : /* 35648*/ OPC_MoveChild0,
18978 : /* 35649*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
18979 : /* 35652*/ OPC_RecordChild0, // #1 = $off
18980 : /* 35653*/ OPC_MoveChild0,
18981 : /* 35654*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
18982 : /* 35657*/ OPC_MoveParent,
18983 : /* 35658*/ OPC_MoveParent,
18984 : /* 35659*/ OPC_RecordChild1, // #2 = $addr
18985 : /* 35660*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
18986 : /* 35662*/ OPC_CheckType, MVT::i32,
18987 : /* 35664*/ OPC_MoveParent,
18988 : /* 35665*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
18989 : /* 35667*/ OPC_CheckPredicate, 10, // Predicate_load
18990 : /* 35669*/ OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35685
18991 : /* 35672*/ OPC_EmitMergeInputChains1_0,
18992 : /* 35673*/ OPC_EmitInteger, MVT::i32, 0,
18993 : /* 35676*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
18994 : MVT::v4f32, 3/*#Ops*/, 3, 1, 2,
18995 : // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
18996 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
18997 : /* 35685*/ /*SwitchType*/ 13, MVT::v2f64,// ->35700
18998 : /* 35687*/ OPC_EmitMergeInputChains1_0,
18999 : /* 35688*/ OPC_EmitInteger, MVT::i32, 0,
19000 : /* 35691*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19001 : MVT::v2f64, 3/*#Ops*/, 3, 1, 2,
19002 : // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
19003 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19004 : /* 35700*/ 0, // EndSwitchType
19005 : /* 35701*/ /*Scope*/ 51, /*->35753*/
19006 : /* 35702*/ OPC_RecordChild0, // #1 = $addr
19007 : /* 35703*/ OPC_MoveChild1,
19008 : /* 35704*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19009 : /* 35707*/ OPC_RecordChild0, // #2 = $off
19010 : /* 35708*/ OPC_MoveChild0,
19011 : /* 35709*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19012 : /* 35712*/ OPC_MoveParent,
19013 : /* 35713*/ OPC_MoveParent,
19014 : /* 35714*/ OPC_CheckType, MVT::i32,
19015 : /* 35716*/ OPC_MoveParent,
19016 : /* 35717*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19017 : /* 35719*/ OPC_CheckPredicate, 10, // Predicate_load
19018 : /* 35721*/ OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35737
19019 : /* 35724*/ OPC_EmitMergeInputChains1_0,
19020 : /* 35725*/ OPC_EmitInteger, MVT::i32, 0,
19021 : /* 35728*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19022 : MVT::v4f32, 3/*#Ops*/, 3, 2, 1,
19023 : // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
19024 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19025 : /* 35737*/ /*SwitchType*/ 13, MVT::v2f64,// ->35752
19026 : /* 35739*/ OPC_EmitMergeInputChains1_0,
19027 : /* 35740*/ OPC_EmitInteger, MVT::i32, 0,
19028 : /* 35743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19029 : MVT::v2f64, 3/*#Ops*/, 3, 2, 1,
19030 : // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
19031 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19032 : /* 35752*/ 0, // EndSwitchType
19033 : /* 35753*/ /*Scope*/ 51, /*->35805*/
19034 : /* 35754*/ OPC_MoveChild0,
19035 : /* 35755*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19036 : /* 35758*/ OPC_RecordChild0, // #1 = $off
19037 : /* 35759*/ OPC_MoveChild0,
19038 : /* 35760*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19039 : /* 35763*/ OPC_MoveParent,
19040 : /* 35764*/ OPC_MoveParent,
19041 : /* 35765*/ OPC_RecordChild1, // #2 = $addr
19042 : /* 35766*/ OPC_CheckType, MVT::i32,
19043 : /* 35768*/ OPC_MoveParent,
19044 : /* 35769*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19045 : /* 35771*/ OPC_CheckPredicate, 10, // Predicate_load
19046 : /* 35773*/ OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35789
19047 : /* 35776*/ OPC_EmitMergeInputChains1_0,
19048 : /* 35777*/ OPC_EmitInteger, MVT::i32, 0,
19049 : /* 35780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19050 : MVT::v4f32, 3/*#Ops*/, 3, 1, 2,
19051 : // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
19052 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19053 : /* 35789*/ /*SwitchType*/ 13, MVT::v2f64,// ->35804
19054 : /* 35791*/ OPC_EmitMergeInputChains1_0,
19055 : /* 35792*/ OPC_EmitInteger, MVT::i32, 0,
19056 : /* 35795*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19057 : MVT::v2f64, 3/*#Ops*/, 3, 1, 2,
19058 : // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
19059 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19060 : /* 35804*/ 0, // EndSwitchType
19061 : /* 35805*/ /*Scope*/ 52, /*->35858*/
19062 : /* 35806*/ OPC_RecordChild0, // #1 = $addr
19063 : /* 35807*/ OPC_RecordChild1, // #2 = $off
19064 : /* 35808*/ OPC_MoveChild1,
19065 : /* 35809*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19066 : /* 35812*/ OPC_MoveParent,
19067 : /* 35813*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
19068 : /* 35815*/ OPC_CheckType, MVT::i32,
19069 : /* 35817*/ OPC_MoveParent,
19070 : /* 35818*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19071 : /* 35820*/ OPC_CheckPredicate, 10, // Predicate_load
19072 : /* 35822*/ OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->35840
19073 : /* 35825*/ OPC_EmitMergeInputChains1_0,
19074 : /* 35826*/ OPC_EmitInteger, MVT::i32, 0,
19075 : /* 35829*/ OPC_EmitConvertToTarget, 2,
19076 : /* 35831*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19077 : MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
19078 : // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
19079 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19080 : /* 35840*/ /*SwitchType*/ 15, MVT::v2f64,// ->35857
19081 : /* 35842*/ OPC_EmitMergeInputChains1_0,
19082 : /* 35843*/ OPC_EmitInteger, MVT::i32, 0,
19083 : /* 35846*/ OPC_EmitConvertToTarget, 2,
19084 : /* 35848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19085 : MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
19086 : // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
19087 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19088 : /* 35857*/ 0, // EndSwitchType
19089 : /* 35858*/ 0, /*End of Scope*/
19090 : /* 35859*/ /*SwitchOpcode*/ 52, TARGET_VAL(ISD::OR),// ->35914
19091 : /* 35862*/ OPC_RecordChild0, // #1 = $addr
19092 : /* 35863*/ OPC_RecordChild1, // #2 = $off
19093 : /* 35864*/ OPC_MoveChild1,
19094 : /* 35865*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19095 : /* 35868*/ OPC_MoveParent,
19096 : /* 35869*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
19097 : /* 35871*/ OPC_CheckType, MVT::i32,
19098 : /* 35873*/ OPC_MoveParent,
19099 : /* 35874*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19100 : /* 35876*/ OPC_CheckPredicate, 10, // Predicate_load
19101 : /* 35878*/ OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->35896
19102 : /* 35881*/ OPC_EmitMergeInputChains1_0,
19103 : /* 35882*/ OPC_EmitInteger, MVT::i32, 0,
19104 : /* 35885*/ OPC_EmitConvertToTarget, 2,
19105 : /* 35887*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19106 : MVT::v4f32, 3/*#Ops*/, 3, 4, 1,
19107 : // Src: (ld:{ *:[v4f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
19108 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19109 : /* 35896*/ /*SwitchType*/ 15, MVT::v2f64,// ->35913
19110 : /* 35898*/ OPC_EmitMergeInputChains1_0,
19111 : /* 35899*/ OPC_EmitInteger, MVT::i32, 0,
19112 : /* 35902*/ OPC_EmitConvertToTarget, 2,
19113 : /* 35904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19114 : MVT::v2f64, 3/*#Ops*/, 3, 4, 1,
19115 : // Src: (ld:{ *:[v2f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
19116 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
19117 : /* 35913*/ 0, // EndSwitchType
19118 : /* 35914*/ /*SwitchOpcode*/ 126, TARGET_VAL(WebAssemblyISD::Wrapper),// ->36043
19119 : /* 35917*/ OPC_RecordChild0, // #1 = $off
19120 : /* 35918*/ OPC_MoveChild0,
19121 : /* 35919*/ OPC_SwitchOpcode /*2 cases */, 58, TARGET_VAL(ISD::TargetGlobalAddress),// ->35981
19122 : /* 35923*/ OPC_MoveParent,
19123 : /* 35924*/ OPC_MoveParent,
19124 : /* 35925*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19125 : /* 35927*/ OPC_CheckPredicate, 10, // Predicate_load
19126 : /* 35929*/ OPC_SwitchType /*2 cases */, 23, MVT::v4f32,// ->35955
19127 : /* 35932*/ OPC_EmitMergeInputChains1_0,
19128 : /* 35933*/ OPC_EmitInteger, MVT::i32, 0,
19129 : /* 35936*/ OPC_EmitInteger, MVT::i32, 0,
19130 : /* 35939*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19131 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
19132 : /* 35946*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19133 : MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
19134 : // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
19135 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19136 : /* 35955*/ /*SwitchType*/ 23, MVT::v2f64,// ->35980
19137 : /* 35957*/ OPC_EmitMergeInputChains1_0,
19138 : /* 35958*/ OPC_EmitInteger, MVT::i32, 0,
19139 : /* 35961*/ OPC_EmitInteger, MVT::i32, 0,
19140 : /* 35964*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19141 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
19142 : /* 35971*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19143 : MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
19144 : // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
19145 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19146 : /* 35980*/ 0, // EndSwitchType
19147 : /* 35981*/ /*SwitchOpcode*/ 58, TARGET_VAL(ISD::TargetExternalSymbol),// ->36042
19148 : /* 35984*/ OPC_MoveParent,
19149 : /* 35985*/ OPC_MoveParent,
19150 : /* 35986*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19151 : /* 35988*/ OPC_CheckPredicate, 10, // Predicate_load
19152 : /* 35990*/ OPC_SwitchType /*2 cases */, 23, MVT::v4f32,// ->36016
19153 : /* 35993*/ OPC_EmitMergeInputChains1_0,
19154 : /* 35994*/ OPC_EmitInteger, MVT::i32, 0,
19155 : /* 35997*/ OPC_EmitInteger, MVT::i32, 0,
19156 : /* 36000*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19157 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
19158 : /* 36007*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19159 : MVT::v4f32, 3/*#Ops*/, 2, 1, 4,
19160 : // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
19161 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19162 : /* 36016*/ /*SwitchType*/ 23, MVT::v2f64,// ->36041
19163 : /* 36018*/ OPC_EmitMergeInputChains1_0,
19164 : /* 36019*/ OPC_EmitInteger, MVT::i32, 0,
19165 : /* 36022*/ OPC_EmitInteger, MVT::i32, 0,
19166 : /* 36025*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19167 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
19168 : /* 36032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19169 : MVT::v2f64, 3/*#Ops*/, 2, 1, 4,
19170 : // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
19171 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19172 : /* 36041*/ 0, // EndSwitchType
19173 : /* 36042*/ 0, // EndSwitchOpcode
19174 : /* 36043*/ 0, // EndSwitchOpcode
19175 : /* 36044*/ /*Scope*/ 114, /*->36159*/
19176 : /* 36045*/ OPC_RecordChild1, // #1 = $off
19177 : /* 36046*/ OPC_Scope, 65, /*->36113*/ // 2 children in Scope
19178 : /* 36048*/ OPC_MoveChild1,
19179 : /* 36049*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19180 : /* 36052*/ OPC_MoveParent,
19181 : /* 36053*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19182 : /* 36055*/ OPC_CheckPredicate, 10, // Predicate_load
19183 : /* 36057*/ OPC_SwitchType /*2 cases */, 25, MVT::v4f32,// ->36085
19184 : /* 36060*/ OPC_EmitMergeInputChains1_0,
19185 : /* 36061*/ OPC_EmitInteger, MVT::i32, 0,
19186 : /* 36064*/ OPC_EmitConvertToTarget, 1,
19187 : /* 36066*/ OPC_EmitInteger, MVT::i32, 0,
19188 : /* 36069*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19189 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19190 : /* 36076*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19191 : MVT::v4f32, 3/*#Ops*/, 2, 3, 5,
19192 : // Src: (ld:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
19193 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19194 : /* 36085*/ /*SwitchType*/ 25, MVT::v2f64,// ->36112
19195 : /* 36087*/ OPC_EmitMergeInputChains1_0,
19196 : /* 36088*/ OPC_EmitInteger, MVT::i32, 0,
19197 : /* 36091*/ OPC_EmitConvertToTarget, 1,
19198 : /* 36093*/ OPC_EmitInteger, MVT::i32, 0,
19199 : /* 36096*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19200 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19201 : /* 36103*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19202 : MVT::v2f64, 3/*#Ops*/, 2, 3, 5,
19203 : // Src: (ld:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
19204 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
19205 : /* 36112*/ 0, // EndSwitchType
19206 : /* 36113*/ /*Scope*/ 44, /*->36158*/
19207 : /* 36114*/ OPC_CheckChild1Type, MVT::i32,
19208 : /* 36116*/ OPC_CheckPredicate, 9, // Predicate_unindexedload
19209 : /* 36118*/ OPC_CheckPredicate, 10, // Predicate_load
19210 : /* 36120*/ OPC_SwitchType /*2 cases */, 16, MVT::v4f32,// ->36139
19211 : /* 36123*/ OPC_EmitMergeInputChains1_0,
19212 : /* 36124*/ OPC_EmitInteger, MVT::i32, 0,
19213 : /* 36127*/ OPC_EmitInteger, MVT::i32, 0,
19214 : /* 36130*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
19215 : MVT::v4f32, 3/*#Ops*/, 2, 3, 1,
19216 : // Src: (ld:{ *:[v4f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
19217 : // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
19218 : /* 36139*/ /*SwitchType*/ 16, MVT::v2f64,// ->36157
19219 : /* 36141*/ OPC_EmitMergeInputChains1_0,
19220 : /* 36142*/ OPC_EmitInteger, MVT::i32, 0,
19221 : /* 36145*/ OPC_EmitInteger, MVT::i32, 0,
19222 : /* 36148*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
19223 : MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
19224 : // Src: (ld:{ *:[v2f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
19225 : // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
19226 : /* 36157*/ 0, // EndSwitchType
19227 : /* 36158*/ 0, /*End of Scope*/
19228 : /* 36159*/ 0, /*End of Scope*/
19229 : /* 36160*/ /*SwitchOpcode*/ 76|128,36/*4684*/, TARGET_VAL(ISD::STORE),// ->40848
19230 : /* 36164*/ OPC_RecordMemRef,
19231 : /* 36165*/ OPC_RecordNode, // #0 = 'st' chained node
19232 : /* 36166*/ OPC_RecordChild1, // #1 = $val
19233 : /* 36167*/ OPC_Scope, 62|128,6/*830*/, /*->37000*/ // 10 children in Scope
19234 : /* 36170*/ OPC_CheckChild1Type, MVT::i32,
19235 : /* 36172*/ OPC_Scope, 11|128,5/*651*/, /*->36826*/ // 2 children in Scope
19236 : /* 36175*/ OPC_MoveChild2,
19237 : /* 36176*/ OPC_SwitchOpcode /*3 cases */, 118|128,2/*374*/, TARGET_VAL(ISD::ADD),// ->36555
19238 : /* 36181*/ OPC_Scope, 74, /*->36257*/ // 5 children in Scope
19239 : /* 36183*/ OPC_RecordChild0, // #2 = $addr
19240 : /* 36184*/ OPC_MoveChild1,
19241 : /* 36185*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19242 : /* 36188*/ OPC_RecordChild0, // #3 = $off
19243 : /* 36189*/ OPC_MoveChild0,
19244 : /* 36190*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19245 : /* 36193*/ OPC_MoveParent,
19246 : /* 36194*/ OPC_MoveParent,
19247 : /* 36195*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
19248 : /* 36197*/ OPC_CheckType, MVT::i32,
19249 : /* 36199*/ OPC_MoveParent,
19250 : /* 36200*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19251 : /* 36202*/ OPC_Scope, 15, /*->36219*/ // 2 children in Scope
19252 : /* 36204*/ OPC_CheckPredicate, 18, // Predicate_store
19253 : /* 36206*/ OPC_EmitMergeInputChains1_0,
19254 : /* 36207*/ OPC_EmitInteger, MVT::i32, 0,
19255 : /* 36210*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19256 : 4/*#Ops*/, 4, 3, 2, 1,
19257 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
19258 : // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19259 : /* 36219*/ /*Scope*/ 36, /*->36256*/
19260 : /* 36220*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19261 : /* 36222*/ OPC_Scope, 15, /*->36239*/ // 2 children in Scope
19262 : /* 36224*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19263 : /* 36226*/ OPC_EmitMergeInputChains1_0,
19264 : /* 36227*/ OPC_EmitInteger, MVT::i32, 0,
19265 : /* 36230*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19266 : 4/*#Ops*/, 4, 3, 2, 1,
19267 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
19268 : // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19269 : /* 36239*/ /*Scope*/ 15, /*->36255*/
19270 : /* 36240*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19271 : /* 36242*/ OPC_EmitMergeInputChains1_0,
19272 : /* 36243*/ OPC_EmitInteger, MVT::i32, 0,
19273 : /* 36246*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19274 : 4/*#Ops*/, 4, 3, 2, 1,
19275 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
19276 : // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19277 : /* 36255*/ 0, /*End of Scope*/
19278 : /* 36256*/ 0, /*End of Scope*/
19279 : /* 36257*/ /*Scope*/ 74, /*->36332*/
19280 : /* 36258*/ OPC_MoveChild0,
19281 : /* 36259*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19282 : /* 36262*/ OPC_RecordChild0, // #2 = $off
19283 : /* 36263*/ OPC_MoveChild0,
19284 : /* 36264*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19285 : /* 36267*/ OPC_MoveParent,
19286 : /* 36268*/ OPC_MoveParent,
19287 : /* 36269*/ OPC_RecordChild1, // #3 = $addr
19288 : /* 36270*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
19289 : /* 36272*/ OPC_CheckType, MVT::i32,
19290 : /* 36274*/ OPC_MoveParent,
19291 : /* 36275*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19292 : /* 36277*/ OPC_Scope, 15, /*->36294*/ // 2 children in Scope
19293 : /* 36279*/ OPC_CheckPredicate, 18, // Predicate_store
19294 : /* 36281*/ OPC_EmitMergeInputChains1_0,
19295 : /* 36282*/ OPC_EmitInteger, MVT::i32, 0,
19296 : /* 36285*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19297 : 4/*#Ops*/, 4, 2, 3, 1,
19298 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
19299 : // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19300 : /* 36294*/ /*Scope*/ 36, /*->36331*/
19301 : /* 36295*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19302 : /* 36297*/ OPC_Scope, 15, /*->36314*/ // 2 children in Scope
19303 : /* 36299*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19304 : /* 36301*/ OPC_EmitMergeInputChains1_0,
19305 : /* 36302*/ OPC_EmitInteger, MVT::i32, 0,
19306 : /* 36305*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19307 : 4/*#Ops*/, 4, 2, 3, 1,
19308 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
19309 : // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19310 : /* 36314*/ /*Scope*/ 15, /*->36330*/
19311 : /* 36315*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19312 : /* 36317*/ OPC_EmitMergeInputChains1_0,
19313 : /* 36318*/ OPC_EmitInteger, MVT::i32, 0,
19314 : /* 36321*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19315 : 4/*#Ops*/, 4, 2, 3, 1,
19316 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
19317 : // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19318 : /* 36330*/ 0, /*End of Scope*/
19319 : /* 36331*/ 0, /*End of Scope*/
19320 : /* 36332*/ /*Scope*/ 72, /*->36405*/
19321 : /* 36333*/ OPC_RecordChild0, // #2 = $addr
19322 : /* 36334*/ OPC_MoveChild1,
19323 : /* 36335*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19324 : /* 36338*/ OPC_RecordChild0, // #3 = $off
19325 : /* 36339*/ OPC_MoveChild0,
19326 : /* 36340*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19327 : /* 36343*/ OPC_MoveParent,
19328 : /* 36344*/ OPC_MoveParent,
19329 : /* 36345*/ OPC_CheckType, MVT::i32,
19330 : /* 36347*/ OPC_MoveParent,
19331 : /* 36348*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19332 : /* 36350*/ OPC_Scope, 15, /*->36367*/ // 2 children in Scope
19333 : /* 36352*/ OPC_CheckPredicate, 18, // Predicate_store
19334 : /* 36354*/ OPC_EmitMergeInputChains1_0,
19335 : /* 36355*/ OPC_EmitInteger, MVT::i32, 0,
19336 : /* 36358*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19337 : 4/*#Ops*/, 4, 3, 2, 1,
19338 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
19339 : // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19340 : /* 36367*/ /*Scope*/ 36, /*->36404*/
19341 : /* 36368*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19342 : /* 36370*/ OPC_Scope, 15, /*->36387*/ // 2 children in Scope
19343 : /* 36372*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19344 : /* 36374*/ OPC_EmitMergeInputChains1_0,
19345 : /* 36375*/ OPC_EmitInteger, MVT::i32, 0,
19346 : /* 36378*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19347 : 4/*#Ops*/, 4, 3, 2, 1,
19348 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
19349 : // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19350 : /* 36387*/ /*Scope*/ 15, /*->36403*/
19351 : /* 36388*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19352 : /* 36390*/ OPC_EmitMergeInputChains1_0,
19353 : /* 36391*/ OPC_EmitInteger, MVT::i32, 0,
19354 : /* 36394*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19355 : 4/*#Ops*/, 4, 3, 2, 1,
19356 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
19357 : // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19358 : /* 36403*/ 0, /*End of Scope*/
19359 : /* 36404*/ 0, /*End of Scope*/
19360 : /* 36405*/ /*Scope*/ 72, /*->36478*/
19361 : /* 36406*/ OPC_MoveChild0,
19362 : /* 36407*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19363 : /* 36410*/ OPC_RecordChild0, // #2 = $off
19364 : /* 36411*/ OPC_MoveChild0,
19365 : /* 36412*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19366 : /* 36415*/ OPC_MoveParent,
19367 : /* 36416*/ OPC_MoveParent,
19368 : /* 36417*/ OPC_RecordChild1, // #3 = $addr
19369 : /* 36418*/ OPC_CheckType, MVT::i32,
19370 : /* 36420*/ OPC_MoveParent,
19371 : /* 36421*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19372 : /* 36423*/ OPC_Scope, 15, /*->36440*/ // 2 children in Scope
19373 : /* 36425*/ OPC_CheckPredicate, 18, // Predicate_store
19374 : /* 36427*/ OPC_EmitMergeInputChains1_0,
19375 : /* 36428*/ OPC_EmitInteger, MVT::i32, 0,
19376 : /* 36431*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19377 : 4/*#Ops*/, 4, 2, 3, 1,
19378 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
19379 : // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19380 : /* 36440*/ /*Scope*/ 36, /*->36477*/
19381 : /* 36441*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19382 : /* 36443*/ OPC_Scope, 15, /*->36460*/ // 2 children in Scope
19383 : /* 36445*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19384 : /* 36447*/ OPC_EmitMergeInputChains1_0,
19385 : /* 36448*/ OPC_EmitInteger, MVT::i32, 0,
19386 : /* 36451*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19387 : 4/*#Ops*/, 4, 2, 3, 1,
19388 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
19389 : // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19390 : /* 36460*/ /*Scope*/ 15, /*->36476*/
19391 : /* 36461*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19392 : /* 36463*/ OPC_EmitMergeInputChains1_0,
19393 : /* 36464*/ OPC_EmitInteger, MVT::i32, 0,
19394 : /* 36467*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19395 : 4/*#Ops*/, 4, 2, 3, 1,
19396 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
19397 : // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19398 : /* 36476*/ 0, /*End of Scope*/
19399 : /* 36477*/ 0, /*End of Scope*/
19400 : /* 36478*/ /*Scope*/ 75, /*->36554*/
19401 : /* 36479*/ OPC_RecordChild0, // #2 = $addr
19402 : /* 36480*/ OPC_RecordChild1, // #3 = $off
19403 : /* 36481*/ OPC_MoveChild1,
19404 : /* 36482*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19405 : /* 36485*/ OPC_MoveParent,
19406 : /* 36486*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
19407 : /* 36488*/ OPC_CheckType, MVT::i32,
19408 : /* 36490*/ OPC_MoveParent,
19409 : /* 36491*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19410 : /* 36493*/ OPC_Scope, 17, /*->36512*/ // 2 children in Scope
19411 : /* 36495*/ OPC_CheckPredicate, 18, // Predicate_store
19412 : /* 36497*/ OPC_EmitMergeInputChains1_0,
19413 : /* 36498*/ OPC_EmitInteger, MVT::i32, 0,
19414 : /* 36501*/ OPC_EmitConvertToTarget, 3,
19415 : /* 36503*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19416 : 4/*#Ops*/, 4, 5, 2, 1,
19417 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19418 : // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19419 : /* 36512*/ /*Scope*/ 40, /*->36553*/
19420 : /* 36513*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19421 : /* 36515*/ OPC_Scope, 17, /*->36534*/ // 2 children in Scope
19422 : /* 36517*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19423 : /* 36519*/ OPC_EmitMergeInputChains1_0,
19424 : /* 36520*/ OPC_EmitInteger, MVT::i32, 0,
19425 : /* 36523*/ OPC_EmitConvertToTarget, 3,
19426 : /* 36525*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19427 : 4/*#Ops*/, 4, 5, 2, 1,
19428 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19429 : // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19430 : /* 36534*/ /*Scope*/ 17, /*->36552*/
19431 : /* 36535*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19432 : /* 36537*/ OPC_EmitMergeInputChains1_0,
19433 : /* 36538*/ OPC_EmitInteger, MVT::i32, 0,
19434 : /* 36541*/ OPC_EmitConvertToTarget, 3,
19435 : /* 36543*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19436 : 4/*#Ops*/, 4, 5, 2, 1,
19437 : // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19438 : // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19439 : /* 36552*/ 0, /*End of Scope*/
19440 : /* 36553*/ 0, /*End of Scope*/
19441 : /* 36554*/ 0, /*End of Scope*/
19442 : /* 36555*/ /*SwitchOpcode*/ 75, TARGET_VAL(ISD::OR),// ->36633
19443 : /* 36558*/ OPC_RecordChild0, // #2 = $addr
19444 : /* 36559*/ OPC_RecordChild1, // #3 = $off
19445 : /* 36560*/ OPC_MoveChild1,
19446 : /* 36561*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19447 : /* 36564*/ OPC_MoveParent,
19448 : /* 36565*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
19449 : /* 36567*/ OPC_CheckType, MVT::i32,
19450 : /* 36569*/ OPC_MoveParent,
19451 : /* 36570*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19452 : /* 36572*/ OPC_Scope, 17, /*->36591*/ // 2 children in Scope
19453 : /* 36574*/ OPC_CheckPredicate, 18, // Predicate_store
19454 : /* 36576*/ OPC_EmitMergeInputChains1_0,
19455 : /* 36577*/ OPC_EmitInteger, MVT::i32, 0,
19456 : /* 36580*/ OPC_EmitConvertToTarget, 3,
19457 : /* 36582*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19458 : 4/*#Ops*/, 4, 5, 2, 1,
19459 : // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19460 : // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19461 : /* 36591*/ /*Scope*/ 40, /*->36632*/
19462 : /* 36592*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19463 : /* 36594*/ OPC_Scope, 17, /*->36613*/ // 2 children in Scope
19464 : /* 36596*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19465 : /* 36598*/ OPC_EmitMergeInputChains1_0,
19466 : /* 36599*/ OPC_EmitInteger, MVT::i32, 0,
19467 : /* 36602*/ OPC_EmitConvertToTarget, 3,
19468 : /* 36604*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19469 : 4/*#Ops*/, 4, 5, 2, 1,
19470 : // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19471 : // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19472 : /* 36613*/ /*Scope*/ 17, /*->36631*/
19473 : /* 36614*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19474 : /* 36616*/ OPC_EmitMergeInputChains1_0,
19475 : /* 36617*/ OPC_EmitInteger, MVT::i32, 0,
19476 : /* 36620*/ OPC_EmitConvertToTarget, 3,
19477 : /* 36622*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19478 : 4/*#Ops*/, 4, 5, 2, 1,
19479 : // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19480 : // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19481 : /* 36631*/ 0, /*End of Scope*/
19482 : /* 36632*/ 0, /*End of Scope*/
19483 : /* 36633*/ /*SwitchOpcode*/ 60|128,1/*188*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->36825
19484 : /* 36637*/ OPC_RecordChild0, // #2 = $off
19485 : /* 36638*/ OPC_MoveChild0,
19486 : /* 36639*/ OPC_SwitchOpcode /*2 cases */, 89, TARGET_VAL(ISD::TargetGlobalAddress),// ->36732
19487 : /* 36643*/ OPC_MoveParent,
19488 : /* 36644*/ OPC_MoveParent,
19489 : /* 36645*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19490 : /* 36647*/ OPC_Scope, 25, /*->36674*/ // 2 children in Scope
19491 : /* 36649*/ OPC_CheckPredicate, 18, // Predicate_store
19492 : /* 36651*/ OPC_EmitMergeInputChains1_0,
19493 : /* 36652*/ OPC_EmitInteger, MVT::i32, 0,
19494 : /* 36655*/ OPC_EmitInteger, MVT::i32, 0,
19495 : /* 36658*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19496 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19497 : /* 36665*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19498 : 4/*#Ops*/, 3, 2, 5, 1,
19499 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19500 : // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19501 : /* 36674*/ /*Scope*/ 56, /*->36731*/
19502 : /* 36675*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19503 : /* 36677*/ OPC_Scope, 25, /*->36704*/ // 2 children in Scope
19504 : /* 36679*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19505 : /* 36681*/ OPC_EmitMergeInputChains1_0,
19506 : /* 36682*/ OPC_EmitInteger, MVT::i32, 0,
19507 : /* 36685*/ OPC_EmitInteger, MVT::i32, 0,
19508 : /* 36688*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19509 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19510 : /* 36695*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19511 : 4/*#Ops*/, 3, 2, 5, 1,
19512 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19513 : // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19514 : /* 36704*/ /*Scope*/ 25, /*->36730*/
19515 : /* 36705*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19516 : /* 36707*/ OPC_EmitMergeInputChains1_0,
19517 : /* 36708*/ OPC_EmitInteger, MVT::i32, 0,
19518 : /* 36711*/ OPC_EmitInteger, MVT::i32, 0,
19519 : /* 36714*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19520 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19521 : /* 36721*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19522 : 4/*#Ops*/, 3, 2, 5, 1,
19523 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19524 : // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19525 : /* 36730*/ 0, /*End of Scope*/
19526 : /* 36731*/ 0, /*End of Scope*/
19527 : /* 36732*/ /*SwitchOpcode*/ 89, TARGET_VAL(ISD::TargetExternalSymbol),// ->36824
19528 : /* 36735*/ OPC_MoveParent,
19529 : /* 36736*/ OPC_MoveParent,
19530 : /* 36737*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19531 : /* 36739*/ OPC_Scope, 25, /*->36766*/ // 2 children in Scope
19532 : /* 36741*/ OPC_CheckPredicate, 18, // Predicate_store
19533 : /* 36743*/ OPC_EmitMergeInputChains1_0,
19534 : /* 36744*/ OPC_EmitInteger, MVT::i32, 0,
19535 : /* 36747*/ OPC_EmitInteger, MVT::i32, 0,
19536 : /* 36750*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19537 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19538 : /* 36757*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19539 : 4/*#Ops*/, 3, 2, 5, 1,
19540 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19541 : // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19542 : /* 36766*/ /*Scope*/ 56, /*->36823*/
19543 : /* 36767*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19544 : /* 36769*/ OPC_Scope, 25, /*->36796*/ // 2 children in Scope
19545 : /* 36771*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19546 : /* 36773*/ OPC_EmitMergeInputChains1_0,
19547 : /* 36774*/ OPC_EmitInteger, MVT::i32, 0,
19548 : /* 36777*/ OPC_EmitInteger, MVT::i32, 0,
19549 : /* 36780*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19550 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19551 : /* 36787*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19552 : 4/*#Ops*/, 3, 2, 5, 1,
19553 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19554 : // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19555 : /* 36796*/ /*Scope*/ 25, /*->36822*/
19556 : /* 36797*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19557 : /* 36799*/ OPC_EmitMergeInputChains1_0,
19558 : /* 36800*/ OPC_EmitInteger, MVT::i32, 0,
19559 : /* 36803*/ OPC_EmitInteger, MVT::i32, 0,
19560 : /* 36806*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19561 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19562 : /* 36813*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19563 : 4/*#Ops*/, 3, 2, 5, 1,
19564 : // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19565 : // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19566 : /* 36822*/ 0, /*End of Scope*/
19567 : /* 36823*/ 0, /*End of Scope*/
19568 : /* 36824*/ 0, // EndSwitchOpcode
19569 : /* 36825*/ 0, // EndSwitchOpcode
19570 : /* 36826*/ /*Scope*/ 43|128,1/*171*/, /*->36999*/
19571 : /* 36828*/ OPC_RecordChild2, // #2 = $off
19572 : /* 36829*/ OPC_Scope, 98, /*->36929*/ // 2 children in Scope
19573 : /* 36831*/ OPC_MoveChild2,
19574 : /* 36832*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19575 : /* 36835*/ OPC_MoveParent,
19576 : /* 36836*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19577 : /* 36838*/ OPC_Scope, 27, /*->36867*/ // 2 children in Scope
19578 : /* 36840*/ OPC_CheckPredicate, 18, // Predicate_store
19579 : /* 36842*/ OPC_EmitMergeInputChains1_0,
19580 : /* 36843*/ OPC_EmitInteger, MVT::i32, 0,
19581 : /* 36846*/ OPC_EmitConvertToTarget, 2,
19582 : /* 36848*/ OPC_EmitInteger, MVT::i32, 0,
19583 : /* 36851*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19584 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
19585 : /* 36858*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19586 : 4/*#Ops*/, 3, 4, 6, 1,
19587 : // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
19588 : // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19589 : /* 36867*/ /*Scope*/ 60, /*->36928*/
19590 : /* 36868*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19591 : /* 36870*/ OPC_Scope, 27, /*->36899*/ // 2 children in Scope
19592 : /* 36872*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19593 : /* 36874*/ OPC_EmitMergeInputChains1_0,
19594 : /* 36875*/ OPC_EmitInteger, MVT::i32, 0,
19595 : /* 36878*/ OPC_EmitConvertToTarget, 2,
19596 : /* 36880*/ OPC_EmitInteger, MVT::i32, 0,
19597 : /* 36883*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19598 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
19599 : /* 36890*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19600 : 4/*#Ops*/, 3, 4, 6, 1,
19601 : // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
19602 : // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19603 : /* 36899*/ /*Scope*/ 27, /*->36927*/
19604 : /* 36900*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19605 : /* 36902*/ OPC_EmitMergeInputChains1_0,
19606 : /* 36903*/ OPC_EmitInteger, MVT::i32, 0,
19607 : /* 36906*/ OPC_EmitConvertToTarget, 2,
19608 : /* 36908*/ OPC_EmitInteger, MVT::i32, 0,
19609 : /* 36911*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19610 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
19611 : /* 36918*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19612 : 4/*#Ops*/, 3, 4, 6, 1,
19613 : // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
19614 : // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
19615 : /* 36927*/ 0, /*End of Scope*/
19616 : /* 36928*/ 0, /*End of Scope*/
19617 : /* 36929*/ /*Scope*/ 68, /*->36998*/
19618 : /* 36930*/ OPC_CheckChild2Type, MVT::i32,
19619 : /* 36932*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19620 : /* 36934*/ OPC_Scope, 18, /*->36954*/ // 2 children in Scope
19621 : /* 36936*/ OPC_CheckPredicate, 18, // Predicate_store
19622 : /* 36938*/ OPC_EmitMergeInputChains1_0,
19623 : /* 36939*/ OPC_EmitInteger, MVT::i32, 0,
19624 : /* 36942*/ OPC_EmitInteger, MVT::i32, 0,
19625 : /* 36945*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
19626 : 4/*#Ops*/, 3, 4, 2, 1,
19627 : // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
19628 : // Dst: (STORE_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19629 : /* 36954*/ /*Scope*/ 42, /*->36997*/
19630 : /* 36955*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19631 : /* 36957*/ OPC_Scope, 18, /*->36977*/ // 2 children in Scope
19632 : /* 36959*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19633 : /* 36961*/ OPC_EmitMergeInputChains1_0,
19634 : /* 36962*/ OPC_EmitInteger, MVT::i32, 0,
19635 : /* 36965*/ OPC_EmitInteger, MVT::i32, 0,
19636 : /* 36968*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
19637 : 4/*#Ops*/, 3, 4, 2, 1,
19638 : // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
19639 : // Dst: (STORE8_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19640 : /* 36977*/ /*Scope*/ 18, /*->36996*/
19641 : /* 36978*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19642 : /* 36980*/ OPC_EmitMergeInputChains1_0,
19643 : /* 36981*/ OPC_EmitInteger, MVT::i32, 0,
19644 : /* 36984*/ OPC_EmitInteger, MVT::i32, 0,
19645 : /* 36987*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
19646 : 4/*#Ops*/, 3, 4, 2, 1,
19647 : // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
19648 : // Dst: (STORE16_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
19649 : /* 36996*/ 0, /*End of Scope*/
19650 : /* 36997*/ 0, /*End of Scope*/
19651 : /* 36998*/ 0, /*End of Scope*/
19652 : /* 36999*/ 0, /*End of Scope*/
19653 : /* 37000*/ /*Scope*/ 5|128,8/*1029*/, /*->38031*/
19654 : /* 37002*/ OPC_CheckChild1Type, MVT::i64,
19655 : /* 37004*/ OPC_Scope, 35|128,6/*803*/, /*->37810*/ // 2 children in Scope
19656 : /* 37007*/ OPC_MoveChild2,
19657 : /* 37008*/ OPC_SwitchOpcode /*3 cases */, 72|128,3/*456*/, TARGET_VAL(ISD::ADD),// ->37469
19658 : /* 37013*/ OPC_Scope, 90, /*->37105*/ // 5 children in Scope
19659 : /* 37015*/ OPC_RecordChild0, // #2 = $addr
19660 : /* 37016*/ OPC_MoveChild1,
19661 : /* 37017*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19662 : /* 37020*/ OPC_RecordChild0, // #3 = $off
19663 : /* 37021*/ OPC_MoveChild0,
19664 : /* 37022*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19665 : /* 37025*/ OPC_MoveParent,
19666 : /* 37026*/ OPC_MoveParent,
19667 : /* 37027*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
19668 : /* 37029*/ OPC_CheckType, MVT::i32,
19669 : /* 37031*/ OPC_MoveParent,
19670 : /* 37032*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19671 : /* 37034*/ OPC_Scope, 15, /*->37051*/ // 2 children in Scope
19672 : /* 37036*/ OPC_CheckPredicate, 18, // Predicate_store
19673 : /* 37038*/ OPC_EmitMergeInputChains1_0,
19674 : /* 37039*/ OPC_EmitInteger, MVT::i32, 0,
19675 : /* 37042*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19676 : 4/*#Ops*/, 4, 3, 2, 1,
19677 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
19678 : // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19679 : /* 37051*/ /*Scope*/ 52, /*->37104*/
19680 : /* 37052*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19681 : /* 37054*/ OPC_Scope, 15, /*->37071*/ // 3 children in Scope
19682 : /* 37056*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19683 : /* 37058*/ OPC_EmitMergeInputChains1_0,
19684 : /* 37059*/ OPC_EmitInteger, MVT::i32, 0,
19685 : /* 37062*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19686 : 4/*#Ops*/, 4, 3, 2, 1,
19687 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
19688 : // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19689 : /* 37071*/ /*Scope*/ 15, /*->37087*/
19690 : /* 37072*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19691 : /* 37074*/ OPC_EmitMergeInputChains1_0,
19692 : /* 37075*/ OPC_EmitInteger, MVT::i32, 0,
19693 : /* 37078*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19694 : 4/*#Ops*/, 4, 3, 2, 1,
19695 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
19696 : // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19697 : /* 37087*/ /*Scope*/ 15, /*->37103*/
19698 : /* 37088*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19699 : /* 37090*/ OPC_EmitMergeInputChains1_0,
19700 : /* 37091*/ OPC_EmitInteger, MVT::i32, 0,
19701 : /* 37094*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19702 : 4/*#Ops*/, 4, 3, 2, 1,
19703 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 14
19704 : // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19705 : /* 37103*/ 0, /*End of Scope*/
19706 : /* 37104*/ 0, /*End of Scope*/
19707 : /* 37105*/ /*Scope*/ 90, /*->37196*/
19708 : /* 37106*/ OPC_MoveChild0,
19709 : /* 37107*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19710 : /* 37110*/ OPC_RecordChild0, // #2 = $off
19711 : /* 37111*/ OPC_MoveChild0,
19712 : /* 37112*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
19713 : /* 37115*/ OPC_MoveParent,
19714 : /* 37116*/ OPC_MoveParent,
19715 : /* 37117*/ OPC_RecordChild1, // #3 = $addr
19716 : /* 37118*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
19717 : /* 37120*/ OPC_CheckType, MVT::i32,
19718 : /* 37122*/ OPC_MoveParent,
19719 : /* 37123*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19720 : /* 37125*/ OPC_Scope, 15, /*->37142*/ // 2 children in Scope
19721 : /* 37127*/ OPC_CheckPredicate, 18, // Predicate_store
19722 : /* 37129*/ OPC_EmitMergeInputChains1_0,
19723 : /* 37130*/ OPC_EmitInteger, MVT::i32, 0,
19724 : /* 37133*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19725 : 4/*#Ops*/, 4, 2, 3, 1,
19726 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
19727 : // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19728 : /* 37142*/ /*Scope*/ 52, /*->37195*/
19729 : /* 37143*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19730 : /* 37145*/ OPC_Scope, 15, /*->37162*/ // 3 children in Scope
19731 : /* 37147*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19732 : /* 37149*/ OPC_EmitMergeInputChains1_0,
19733 : /* 37150*/ OPC_EmitInteger, MVT::i32, 0,
19734 : /* 37153*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19735 : 4/*#Ops*/, 4, 2, 3, 1,
19736 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
19737 : // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19738 : /* 37162*/ /*Scope*/ 15, /*->37178*/
19739 : /* 37163*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19740 : /* 37165*/ OPC_EmitMergeInputChains1_0,
19741 : /* 37166*/ OPC_EmitInteger, MVT::i32, 0,
19742 : /* 37169*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19743 : 4/*#Ops*/, 4, 2, 3, 1,
19744 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
19745 : // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19746 : /* 37178*/ /*Scope*/ 15, /*->37194*/
19747 : /* 37179*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19748 : /* 37181*/ OPC_EmitMergeInputChains1_0,
19749 : /* 37182*/ OPC_EmitInteger, MVT::i32, 0,
19750 : /* 37185*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19751 : 4/*#Ops*/, 4, 2, 3, 1,
19752 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 14
19753 : // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19754 : /* 37194*/ 0, /*End of Scope*/
19755 : /* 37195*/ 0, /*End of Scope*/
19756 : /* 37196*/ /*Scope*/ 88, /*->37285*/
19757 : /* 37197*/ OPC_RecordChild0, // #2 = $addr
19758 : /* 37198*/ OPC_MoveChild1,
19759 : /* 37199*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19760 : /* 37202*/ OPC_RecordChild0, // #3 = $off
19761 : /* 37203*/ OPC_MoveChild0,
19762 : /* 37204*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19763 : /* 37207*/ OPC_MoveParent,
19764 : /* 37208*/ OPC_MoveParent,
19765 : /* 37209*/ OPC_CheckType, MVT::i32,
19766 : /* 37211*/ OPC_MoveParent,
19767 : /* 37212*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19768 : /* 37214*/ OPC_Scope, 15, /*->37231*/ // 2 children in Scope
19769 : /* 37216*/ OPC_CheckPredicate, 18, // Predicate_store
19770 : /* 37218*/ OPC_EmitMergeInputChains1_0,
19771 : /* 37219*/ OPC_EmitInteger, MVT::i32, 0,
19772 : /* 37222*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19773 : 4/*#Ops*/, 4, 3, 2, 1,
19774 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
19775 : // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19776 : /* 37231*/ /*Scope*/ 52, /*->37284*/
19777 : /* 37232*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19778 : /* 37234*/ OPC_Scope, 15, /*->37251*/ // 3 children in Scope
19779 : /* 37236*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19780 : /* 37238*/ OPC_EmitMergeInputChains1_0,
19781 : /* 37239*/ OPC_EmitInteger, MVT::i32, 0,
19782 : /* 37242*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19783 : 4/*#Ops*/, 4, 3, 2, 1,
19784 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
19785 : // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19786 : /* 37251*/ /*Scope*/ 15, /*->37267*/
19787 : /* 37252*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19788 : /* 37254*/ OPC_EmitMergeInputChains1_0,
19789 : /* 37255*/ OPC_EmitInteger, MVT::i32, 0,
19790 : /* 37258*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19791 : 4/*#Ops*/, 4, 3, 2, 1,
19792 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
19793 : // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19794 : /* 37267*/ /*Scope*/ 15, /*->37283*/
19795 : /* 37268*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19796 : /* 37270*/ OPC_EmitMergeInputChains1_0,
19797 : /* 37271*/ OPC_EmitInteger, MVT::i32, 0,
19798 : /* 37274*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19799 : 4/*#Ops*/, 4, 3, 2, 1,
19800 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
19801 : // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19802 : /* 37283*/ 0, /*End of Scope*/
19803 : /* 37284*/ 0, /*End of Scope*/
19804 : /* 37285*/ /*Scope*/ 88, /*->37374*/
19805 : /* 37286*/ OPC_MoveChild0,
19806 : /* 37287*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
19807 : /* 37290*/ OPC_RecordChild0, // #2 = $off
19808 : /* 37291*/ OPC_MoveChild0,
19809 : /* 37292*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
19810 : /* 37295*/ OPC_MoveParent,
19811 : /* 37296*/ OPC_MoveParent,
19812 : /* 37297*/ OPC_RecordChild1, // #3 = $addr
19813 : /* 37298*/ OPC_CheckType, MVT::i32,
19814 : /* 37300*/ OPC_MoveParent,
19815 : /* 37301*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19816 : /* 37303*/ OPC_Scope, 15, /*->37320*/ // 2 children in Scope
19817 : /* 37305*/ OPC_CheckPredicate, 18, // Predicate_store
19818 : /* 37307*/ OPC_EmitMergeInputChains1_0,
19819 : /* 37308*/ OPC_EmitInteger, MVT::i32, 0,
19820 : /* 37311*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19821 : 4/*#Ops*/, 4, 2, 3, 1,
19822 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
19823 : // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19824 : /* 37320*/ /*Scope*/ 52, /*->37373*/
19825 : /* 37321*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19826 : /* 37323*/ OPC_Scope, 15, /*->37340*/ // 3 children in Scope
19827 : /* 37325*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19828 : /* 37327*/ OPC_EmitMergeInputChains1_0,
19829 : /* 37328*/ OPC_EmitInteger, MVT::i32, 0,
19830 : /* 37331*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19831 : 4/*#Ops*/, 4, 2, 3, 1,
19832 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
19833 : // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19834 : /* 37340*/ /*Scope*/ 15, /*->37356*/
19835 : /* 37341*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19836 : /* 37343*/ OPC_EmitMergeInputChains1_0,
19837 : /* 37344*/ OPC_EmitInteger, MVT::i32, 0,
19838 : /* 37347*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19839 : 4/*#Ops*/, 4, 2, 3, 1,
19840 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
19841 : // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19842 : /* 37356*/ /*Scope*/ 15, /*->37372*/
19843 : /* 37357*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19844 : /* 37359*/ OPC_EmitMergeInputChains1_0,
19845 : /* 37360*/ OPC_EmitInteger, MVT::i32, 0,
19846 : /* 37363*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19847 : 4/*#Ops*/, 4, 2, 3, 1,
19848 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
19849 : // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19850 : /* 37372*/ 0, /*End of Scope*/
19851 : /* 37373*/ 0, /*End of Scope*/
19852 : /* 37374*/ /*Scope*/ 93, /*->37468*/
19853 : /* 37375*/ OPC_RecordChild0, // #2 = $addr
19854 : /* 37376*/ OPC_RecordChild1, // #3 = $off
19855 : /* 37377*/ OPC_MoveChild1,
19856 : /* 37378*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19857 : /* 37381*/ OPC_MoveParent,
19858 : /* 37382*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
19859 : /* 37384*/ OPC_CheckType, MVT::i32,
19860 : /* 37386*/ OPC_MoveParent,
19861 : /* 37387*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19862 : /* 37389*/ OPC_Scope, 17, /*->37408*/ // 2 children in Scope
19863 : /* 37391*/ OPC_CheckPredicate, 18, // Predicate_store
19864 : /* 37393*/ OPC_EmitMergeInputChains1_0,
19865 : /* 37394*/ OPC_EmitInteger, MVT::i32, 0,
19866 : /* 37397*/ OPC_EmitConvertToTarget, 3,
19867 : /* 37399*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19868 : 4/*#Ops*/, 4, 5, 2, 1,
19869 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19870 : // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19871 : /* 37408*/ /*Scope*/ 58, /*->37467*/
19872 : /* 37409*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19873 : /* 37411*/ OPC_Scope, 17, /*->37430*/ // 3 children in Scope
19874 : /* 37413*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19875 : /* 37415*/ OPC_EmitMergeInputChains1_0,
19876 : /* 37416*/ OPC_EmitInteger, MVT::i32, 0,
19877 : /* 37419*/ OPC_EmitConvertToTarget, 3,
19878 : /* 37421*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19879 : 4/*#Ops*/, 4, 5, 2, 1,
19880 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19881 : // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19882 : /* 37430*/ /*Scope*/ 17, /*->37448*/
19883 : /* 37431*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19884 : /* 37433*/ OPC_EmitMergeInputChains1_0,
19885 : /* 37434*/ OPC_EmitInteger, MVT::i32, 0,
19886 : /* 37437*/ OPC_EmitConvertToTarget, 3,
19887 : /* 37439*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19888 : 4/*#Ops*/, 4, 5, 2, 1,
19889 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19890 : // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19891 : /* 37448*/ /*Scope*/ 17, /*->37466*/
19892 : /* 37449*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19893 : /* 37451*/ OPC_EmitMergeInputChains1_0,
19894 : /* 37452*/ OPC_EmitInteger, MVT::i32, 0,
19895 : /* 37455*/ OPC_EmitConvertToTarget, 3,
19896 : /* 37457*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19897 : 4/*#Ops*/, 4, 5, 2, 1,
19898 : // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19899 : // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19900 : /* 37466*/ 0, /*End of Scope*/
19901 : /* 37467*/ 0, /*End of Scope*/
19902 : /* 37468*/ 0, /*End of Scope*/
19903 : /* 37469*/ /*SwitchOpcode*/ 93, TARGET_VAL(ISD::OR),// ->37565
19904 : /* 37472*/ OPC_RecordChild0, // #2 = $addr
19905 : /* 37473*/ OPC_RecordChild1, // #3 = $off
19906 : /* 37474*/ OPC_MoveChild1,
19907 : /* 37475*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
19908 : /* 37478*/ OPC_MoveParent,
19909 : /* 37479*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
19910 : /* 37481*/ OPC_CheckType, MVT::i32,
19911 : /* 37483*/ OPC_MoveParent,
19912 : /* 37484*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19913 : /* 37486*/ OPC_Scope, 17, /*->37505*/ // 2 children in Scope
19914 : /* 37488*/ OPC_CheckPredicate, 18, // Predicate_store
19915 : /* 37490*/ OPC_EmitMergeInputChains1_0,
19916 : /* 37491*/ OPC_EmitInteger, MVT::i32, 0,
19917 : /* 37494*/ OPC_EmitConvertToTarget, 3,
19918 : /* 37496*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19919 : 4/*#Ops*/, 4, 5, 2, 1,
19920 : // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
19921 : // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19922 : /* 37505*/ /*Scope*/ 58, /*->37564*/
19923 : /* 37506*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19924 : /* 37508*/ OPC_Scope, 17, /*->37527*/ // 3 children in Scope
19925 : /* 37510*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19926 : /* 37512*/ OPC_EmitMergeInputChains1_0,
19927 : /* 37513*/ OPC_EmitInteger, MVT::i32, 0,
19928 : /* 37516*/ OPC_EmitConvertToTarget, 3,
19929 : /* 37518*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19930 : 4/*#Ops*/, 4, 5, 2, 1,
19931 : // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
19932 : // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19933 : /* 37527*/ /*Scope*/ 17, /*->37545*/
19934 : /* 37528*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19935 : /* 37530*/ OPC_EmitMergeInputChains1_0,
19936 : /* 37531*/ OPC_EmitInteger, MVT::i32, 0,
19937 : /* 37534*/ OPC_EmitConvertToTarget, 3,
19938 : /* 37536*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19939 : 4/*#Ops*/, 4, 5, 2, 1,
19940 : // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
19941 : // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19942 : /* 37545*/ /*Scope*/ 17, /*->37563*/
19943 : /* 37546*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19944 : /* 37548*/ OPC_EmitMergeInputChains1_0,
19945 : /* 37549*/ OPC_EmitInteger, MVT::i32, 0,
19946 : /* 37552*/ OPC_EmitConvertToTarget, 3,
19947 : /* 37554*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
19948 : 4/*#Ops*/, 4, 5, 2, 1,
19949 : // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
19950 : // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
19951 : /* 37563*/ 0, /*End of Scope*/
19952 : /* 37564*/ 0, /*End of Scope*/
19953 : /* 37565*/ /*SwitchOpcode*/ 112|128,1/*240*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->37809
19954 : /* 37569*/ OPC_RecordChild0, // #2 = $off
19955 : /* 37570*/ OPC_MoveChild0,
19956 : /* 37571*/ OPC_SwitchOpcode /*2 cases */, 115, TARGET_VAL(ISD::TargetGlobalAddress),// ->37690
19957 : /* 37575*/ OPC_MoveParent,
19958 : /* 37576*/ OPC_MoveParent,
19959 : /* 37577*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
19960 : /* 37579*/ OPC_Scope, 25, /*->37606*/ // 2 children in Scope
19961 : /* 37581*/ OPC_CheckPredicate, 18, // Predicate_store
19962 : /* 37583*/ OPC_EmitMergeInputChains1_0,
19963 : /* 37584*/ OPC_EmitInteger, MVT::i32, 0,
19964 : /* 37587*/ OPC_EmitInteger, MVT::i32, 0,
19965 : /* 37590*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19966 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19967 : /* 37597*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
19968 : 4/*#Ops*/, 3, 2, 5, 1,
19969 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
19970 : // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19971 : /* 37606*/ /*Scope*/ 82, /*->37689*/
19972 : /* 37607*/ OPC_CheckPredicate, 19, // Predicate_truncstore
19973 : /* 37609*/ OPC_Scope, 25, /*->37636*/ // 3 children in Scope
19974 : /* 37611*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
19975 : /* 37613*/ OPC_EmitMergeInputChains1_0,
19976 : /* 37614*/ OPC_EmitInteger, MVT::i32, 0,
19977 : /* 37617*/ OPC_EmitInteger, MVT::i32, 0,
19978 : /* 37620*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19979 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19980 : /* 37627*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
19981 : 4/*#Ops*/, 3, 2, 5, 1,
19982 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
19983 : // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19984 : /* 37636*/ /*Scope*/ 25, /*->37662*/
19985 : /* 37637*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
19986 : /* 37639*/ OPC_EmitMergeInputChains1_0,
19987 : /* 37640*/ OPC_EmitInteger, MVT::i32, 0,
19988 : /* 37643*/ OPC_EmitInteger, MVT::i32, 0,
19989 : /* 37646*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
19990 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
19991 : /* 37653*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
19992 : 4/*#Ops*/, 3, 2, 5, 1,
19993 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
19994 : // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
19995 : /* 37662*/ /*Scope*/ 25, /*->37688*/
19996 : /* 37663*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
19997 : /* 37665*/ OPC_EmitMergeInputChains1_0,
19998 : /* 37666*/ OPC_EmitInteger, MVT::i32, 0,
19999 : /* 37669*/ OPC_EmitInteger, MVT::i32, 0,
20000 : /* 37672*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20001 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20002 : /* 37679*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
20003 : 4/*#Ops*/, 3, 2, 5, 1,
20004 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
20005 : // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20006 : /* 37688*/ 0, /*End of Scope*/
20007 : /* 37689*/ 0, /*End of Scope*/
20008 : /* 37690*/ /*SwitchOpcode*/ 115, TARGET_VAL(ISD::TargetExternalSymbol),// ->37808
20009 : /* 37693*/ OPC_MoveParent,
20010 : /* 37694*/ OPC_MoveParent,
20011 : /* 37695*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20012 : /* 37697*/ OPC_Scope, 25, /*->37724*/ // 2 children in Scope
20013 : /* 37699*/ OPC_CheckPredicate, 18, // Predicate_store
20014 : /* 37701*/ OPC_EmitMergeInputChains1_0,
20015 : /* 37702*/ OPC_EmitInteger, MVT::i32, 0,
20016 : /* 37705*/ OPC_EmitInteger, MVT::i32, 0,
20017 : /* 37708*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20018 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20019 : /* 37715*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
20020 : 4/*#Ops*/, 3, 2, 5, 1,
20021 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20022 : // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20023 : /* 37724*/ /*Scope*/ 82, /*->37807*/
20024 : /* 37725*/ OPC_CheckPredicate, 19, // Predicate_truncstore
20025 : /* 37727*/ OPC_Scope, 25, /*->37754*/ // 3 children in Scope
20026 : /* 37729*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
20027 : /* 37731*/ OPC_EmitMergeInputChains1_0,
20028 : /* 37732*/ OPC_EmitInteger, MVT::i32, 0,
20029 : /* 37735*/ OPC_EmitInteger, MVT::i32, 0,
20030 : /* 37738*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20031 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20032 : /* 37745*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
20033 : 4/*#Ops*/, 3, 2, 5, 1,
20034 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
20035 : // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20036 : /* 37754*/ /*Scope*/ 25, /*->37780*/
20037 : /* 37755*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
20038 : /* 37757*/ OPC_EmitMergeInputChains1_0,
20039 : /* 37758*/ OPC_EmitInteger, MVT::i32, 0,
20040 : /* 37761*/ OPC_EmitInteger, MVT::i32, 0,
20041 : /* 37764*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20042 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20043 : /* 37771*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
20044 : 4/*#Ops*/, 3, 2, 5, 1,
20045 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
20046 : // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20047 : /* 37780*/ /*Scope*/ 25, /*->37806*/
20048 : /* 37781*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
20049 : /* 37783*/ OPC_EmitMergeInputChains1_0,
20050 : /* 37784*/ OPC_EmitInteger, MVT::i32, 0,
20051 : /* 37787*/ OPC_EmitInteger, MVT::i32, 0,
20052 : /* 37790*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20053 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20054 : /* 37797*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
20055 : 4/*#Ops*/, 3, 2, 5, 1,
20056 : // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
20057 : // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20058 : /* 37806*/ 0, /*End of Scope*/
20059 : /* 37807*/ 0, /*End of Scope*/
20060 : /* 37808*/ 0, // EndSwitchOpcode
20061 : /* 37809*/ 0, // EndSwitchOpcode
20062 : /* 37810*/ /*Scope*/ 90|128,1/*218*/, /*->38030*/
20063 : /* 37812*/ OPC_RecordChild2, // #2 = $off
20064 : /* 37813*/ OPC_Scope, 126, /*->37941*/ // 2 children in Scope
20065 : /* 37815*/ OPC_MoveChild2,
20066 : /* 37816*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20067 : /* 37819*/ OPC_MoveParent,
20068 : /* 37820*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20069 : /* 37822*/ OPC_Scope, 27, /*->37851*/ // 2 children in Scope
20070 : /* 37824*/ OPC_CheckPredicate, 18, // Predicate_store
20071 : /* 37826*/ OPC_EmitMergeInputChains1_0,
20072 : /* 37827*/ OPC_EmitInteger, MVT::i32, 0,
20073 : /* 37830*/ OPC_EmitConvertToTarget, 2,
20074 : /* 37832*/ OPC_EmitInteger, MVT::i32, 0,
20075 : /* 37835*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20076 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20077 : /* 37842*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
20078 : 4/*#Ops*/, 3, 4, 6, 1,
20079 : // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20080 : // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20081 : /* 37851*/ /*Scope*/ 88, /*->37940*/
20082 : /* 37852*/ OPC_CheckPredicate, 19, // Predicate_truncstore
20083 : /* 37854*/ OPC_Scope, 27, /*->37883*/ // 3 children in Scope
20084 : /* 37856*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
20085 : /* 37858*/ OPC_EmitMergeInputChains1_0,
20086 : /* 37859*/ OPC_EmitInteger, MVT::i32, 0,
20087 : /* 37862*/ OPC_EmitConvertToTarget, 2,
20088 : /* 37864*/ OPC_EmitInteger, MVT::i32, 0,
20089 : /* 37867*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20090 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20091 : /* 37874*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
20092 : 4/*#Ops*/, 3, 4, 6, 1,
20093 : // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
20094 : // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20095 : /* 37883*/ /*Scope*/ 27, /*->37911*/
20096 : /* 37884*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
20097 : /* 37886*/ OPC_EmitMergeInputChains1_0,
20098 : /* 37887*/ OPC_EmitInteger, MVT::i32, 0,
20099 : /* 37890*/ OPC_EmitConvertToTarget, 2,
20100 : /* 37892*/ OPC_EmitInteger, MVT::i32, 0,
20101 : /* 37895*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20102 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20103 : /* 37902*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
20104 : 4/*#Ops*/, 3, 4, 6, 1,
20105 : // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
20106 : // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20107 : /* 37911*/ /*Scope*/ 27, /*->37939*/
20108 : /* 37912*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
20109 : /* 37914*/ OPC_EmitMergeInputChains1_0,
20110 : /* 37915*/ OPC_EmitInteger, MVT::i32, 0,
20111 : /* 37918*/ OPC_EmitConvertToTarget, 2,
20112 : /* 37920*/ OPC_EmitInteger, MVT::i32, 0,
20113 : /* 37923*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20114 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20115 : /* 37930*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
20116 : 4/*#Ops*/, 3, 4, 6, 1,
20117 : // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 7
20118 : // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
20119 : /* 37939*/ 0, /*End of Scope*/
20120 : /* 37940*/ 0, /*End of Scope*/
20121 : /* 37941*/ /*Scope*/ 87, /*->38029*/
20122 : /* 37942*/ OPC_CheckChild2Type, MVT::i32,
20123 : /* 37944*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20124 : /* 37946*/ OPC_Scope, 18, /*->37966*/ // 2 children in Scope
20125 : /* 37948*/ OPC_CheckPredicate, 18, // Predicate_store
20126 : /* 37950*/ OPC_EmitMergeInputChains1_0,
20127 : /* 37951*/ OPC_EmitInteger, MVT::i32, 0,
20128 : /* 37954*/ OPC_EmitInteger, MVT::i32, 0,
20129 : /* 37957*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
20130 : 4/*#Ops*/, 3, 4, 2, 1,
20131 : // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20132 : // Dst: (STORE_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
20133 : /* 37966*/ /*Scope*/ 61, /*->38028*/
20134 : /* 37967*/ OPC_CheckPredicate, 19, // Predicate_truncstore
20135 : /* 37969*/ OPC_Scope, 18, /*->37989*/ // 3 children in Scope
20136 : /* 37971*/ OPC_CheckPredicate, 20, // Predicate_truncstorei8
20137 : /* 37973*/ OPC_EmitMergeInputChains1_0,
20138 : /* 37974*/ OPC_EmitInteger, MVT::i32, 0,
20139 : /* 37977*/ OPC_EmitInteger, MVT::i32, 0,
20140 : /* 37980*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
20141 : 4/*#Ops*/, 3, 4, 2, 1,
20142 : // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
20143 : // Dst: (STORE8_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
20144 : /* 37989*/ /*Scope*/ 18, /*->38008*/
20145 : /* 37990*/ OPC_CheckPredicate, 21, // Predicate_truncstorei16
20146 : /* 37992*/ OPC_EmitMergeInputChains1_0,
20147 : /* 37993*/ OPC_EmitInteger, MVT::i32, 0,
20148 : /* 37996*/ OPC_EmitInteger, MVT::i32, 0,
20149 : /* 37999*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
20150 : 4/*#Ops*/, 3, 4, 2, 1,
20151 : // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
20152 : // Dst: (STORE16_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
20153 : /* 38008*/ /*Scope*/ 18, /*->38027*/
20154 : /* 38009*/ OPC_CheckPredicate, 22, // Predicate_truncstorei32
20155 : /* 38011*/ OPC_EmitMergeInputChains1_0,
20156 : /* 38012*/ OPC_EmitInteger, MVT::i32, 0,
20157 : /* 38015*/ OPC_EmitInteger, MVT::i32, 0,
20158 : /* 38018*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
20159 : 4/*#Ops*/, 3, 4, 2, 1,
20160 : // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 4
20161 : // Dst: (STORE32_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
20162 : /* 38027*/ 0, /*End of Scope*/
20163 : /* 38028*/ 0, /*End of Scope*/
20164 : /* 38029*/ 0, /*End of Scope*/
20165 : /* 38030*/ 0, /*End of Scope*/
20166 : /* 38031*/ /*Scope*/ 94|128,2/*350*/, /*->38383*/
20167 : /* 38033*/ OPC_CheckChild1Type, MVT::f32,
20168 : /* 38035*/ OPC_Scope, 26|128,2/*282*/, /*->38320*/ // 2 children in Scope
20169 : /* 38038*/ OPC_MoveChild2,
20170 : /* 38039*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38214
20171 : /* 38044*/ OPC_Scope, 34, /*->38080*/ // 5 children in Scope
20172 : /* 38046*/ OPC_RecordChild0, // #2 = $addr
20173 : /* 38047*/ OPC_MoveChild1,
20174 : /* 38048*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20175 : /* 38051*/ OPC_RecordChild0, // #3 = $off
20176 : /* 38052*/ OPC_MoveChild0,
20177 : /* 38053*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20178 : /* 38056*/ OPC_MoveParent,
20179 : /* 38057*/ OPC_MoveParent,
20180 : /* 38058*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20181 : /* 38060*/ OPC_CheckType, MVT::i32,
20182 : /* 38062*/ OPC_MoveParent,
20183 : /* 38063*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20184 : /* 38065*/ OPC_CheckPredicate, 18, // Predicate_store
20185 : /* 38067*/ OPC_EmitMergeInputChains1_0,
20186 : /* 38068*/ OPC_EmitInteger, MVT::i32, 0,
20187 : /* 38071*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20188 : 4/*#Ops*/, 4, 3, 2, 1,
20189 : // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20190 : // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20191 : /* 38080*/ /*Scope*/ 34, /*->38115*/
20192 : /* 38081*/ OPC_MoveChild0,
20193 : /* 38082*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20194 : /* 38085*/ OPC_RecordChild0, // #2 = $off
20195 : /* 38086*/ OPC_MoveChild0,
20196 : /* 38087*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20197 : /* 38090*/ OPC_MoveParent,
20198 : /* 38091*/ OPC_MoveParent,
20199 : /* 38092*/ OPC_RecordChild1, // #3 = $addr
20200 : /* 38093*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20201 : /* 38095*/ OPC_CheckType, MVT::i32,
20202 : /* 38097*/ OPC_MoveParent,
20203 : /* 38098*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20204 : /* 38100*/ OPC_CheckPredicate, 18, // Predicate_store
20205 : /* 38102*/ OPC_EmitMergeInputChains1_0,
20206 : /* 38103*/ OPC_EmitInteger, MVT::i32, 0,
20207 : /* 38106*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20208 : 4/*#Ops*/, 4, 2, 3, 1,
20209 : // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20210 : // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20211 : /* 38115*/ /*Scope*/ 32, /*->38148*/
20212 : /* 38116*/ OPC_RecordChild0, // #2 = $addr
20213 : /* 38117*/ OPC_MoveChild1,
20214 : /* 38118*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20215 : /* 38121*/ OPC_RecordChild0, // #3 = $off
20216 : /* 38122*/ OPC_MoveChild0,
20217 : /* 38123*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20218 : /* 38126*/ OPC_MoveParent,
20219 : /* 38127*/ OPC_MoveParent,
20220 : /* 38128*/ OPC_CheckType, MVT::i32,
20221 : /* 38130*/ OPC_MoveParent,
20222 : /* 38131*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20223 : /* 38133*/ OPC_CheckPredicate, 18, // Predicate_store
20224 : /* 38135*/ OPC_EmitMergeInputChains1_0,
20225 : /* 38136*/ OPC_EmitInteger, MVT::i32, 0,
20226 : /* 38139*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20227 : 4/*#Ops*/, 4, 3, 2, 1,
20228 : // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20229 : // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20230 : /* 38148*/ /*Scope*/ 32, /*->38181*/
20231 : /* 38149*/ OPC_MoveChild0,
20232 : /* 38150*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20233 : /* 38153*/ OPC_RecordChild0, // #2 = $off
20234 : /* 38154*/ OPC_MoveChild0,
20235 : /* 38155*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20236 : /* 38158*/ OPC_MoveParent,
20237 : /* 38159*/ OPC_MoveParent,
20238 : /* 38160*/ OPC_RecordChild1, // #3 = $addr
20239 : /* 38161*/ OPC_CheckType, MVT::i32,
20240 : /* 38163*/ OPC_MoveParent,
20241 : /* 38164*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20242 : /* 38166*/ OPC_CheckPredicate, 18, // Predicate_store
20243 : /* 38168*/ OPC_EmitMergeInputChains1_0,
20244 : /* 38169*/ OPC_EmitInteger, MVT::i32, 0,
20245 : /* 38172*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20246 : 4/*#Ops*/, 4, 2, 3, 1,
20247 : // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20248 : // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20249 : /* 38181*/ /*Scope*/ 31, /*->38213*/
20250 : /* 38182*/ OPC_RecordChild0, // #2 = $addr
20251 : /* 38183*/ OPC_RecordChild1, // #3 = $off
20252 : /* 38184*/ OPC_MoveChild1,
20253 : /* 38185*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20254 : /* 38188*/ OPC_MoveParent,
20255 : /* 38189*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
20256 : /* 38191*/ OPC_CheckType, MVT::i32,
20257 : /* 38193*/ OPC_MoveParent,
20258 : /* 38194*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20259 : /* 38196*/ OPC_CheckPredicate, 18, // Predicate_store
20260 : /* 38198*/ OPC_EmitMergeInputChains1_0,
20261 : /* 38199*/ OPC_EmitInteger, MVT::i32, 0,
20262 : /* 38202*/ OPC_EmitConvertToTarget, 3,
20263 : /* 38204*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20264 : 4/*#Ops*/, 4, 5, 2, 1,
20265 : // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20266 : // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20267 : /* 38213*/ 0, /*End of Scope*/
20268 : /* 38214*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38248
20269 : /* 38217*/ OPC_RecordChild0, // #2 = $addr
20270 : /* 38218*/ OPC_RecordChild1, // #3 = $off
20271 : /* 38219*/ OPC_MoveChild1,
20272 : /* 38220*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20273 : /* 38223*/ OPC_MoveParent,
20274 : /* 38224*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
20275 : /* 38226*/ OPC_CheckType, MVT::i32,
20276 : /* 38228*/ OPC_MoveParent,
20277 : /* 38229*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20278 : /* 38231*/ OPC_CheckPredicate, 18, // Predicate_store
20279 : /* 38233*/ OPC_EmitMergeInputChains1_0,
20280 : /* 38234*/ OPC_EmitInteger, MVT::i32, 0,
20281 : /* 38237*/ OPC_EmitConvertToTarget, 3,
20282 : /* 38239*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20283 : 4/*#Ops*/, 4, 5, 2, 1,
20284 : // Src: (st f32:{ *:[f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20285 : // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20286 : /* 38248*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->38319
20287 : /* 38251*/ OPC_RecordChild0, // #2 = $off
20288 : /* 38252*/ OPC_MoveChild0,
20289 : /* 38253*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38286
20290 : /* 38257*/ OPC_MoveParent,
20291 : /* 38258*/ OPC_MoveParent,
20292 : /* 38259*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20293 : /* 38261*/ OPC_CheckPredicate, 18, // Predicate_store
20294 : /* 38263*/ OPC_EmitMergeInputChains1_0,
20295 : /* 38264*/ OPC_EmitInteger, MVT::i32, 0,
20296 : /* 38267*/ OPC_EmitInteger, MVT::i32, 0,
20297 : /* 38270*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20298 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20299 : /* 38277*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20300 : 4/*#Ops*/, 3, 2, 5, 1,
20301 : // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20302 : // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
20303 : /* 38286*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->38318
20304 : /* 38289*/ OPC_MoveParent,
20305 : /* 38290*/ OPC_MoveParent,
20306 : /* 38291*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20307 : /* 38293*/ OPC_CheckPredicate, 18, // Predicate_store
20308 : /* 38295*/ OPC_EmitMergeInputChains1_0,
20309 : /* 38296*/ OPC_EmitInteger, MVT::i32, 0,
20310 : /* 38299*/ OPC_EmitInteger, MVT::i32, 0,
20311 : /* 38302*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20312 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20313 : /* 38309*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20314 : 4/*#Ops*/, 3, 2, 5, 1,
20315 : // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20316 : // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
20317 : /* 38318*/ 0, // EndSwitchOpcode
20318 : /* 38319*/ 0, // EndSwitchOpcode
20319 : /* 38320*/ /*Scope*/ 61, /*->38382*/
20320 : /* 38321*/ OPC_RecordChild2, // #2 = $off
20321 : /* 38322*/ OPC_Scope, 34, /*->38358*/ // 2 children in Scope
20322 : /* 38324*/ OPC_MoveChild2,
20323 : /* 38325*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20324 : /* 38328*/ OPC_MoveParent,
20325 : /* 38329*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20326 : /* 38331*/ OPC_CheckPredicate, 18, // Predicate_store
20327 : /* 38333*/ OPC_EmitMergeInputChains1_0,
20328 : /* 38334*/ OPC_EmitInteger, MVT::i32, 0,
20329 : /* 38337*/ OPC_EmitConvertToTarget, 2,
20330 : /* 38339*/ OPC_EmitInteger, MVT::i32, 0,
20331 : /* 38342*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20332 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20333 : /* 38349*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20334 : 4/*#Ops*/, 3, 4, 6, 1,
20335 : // Src: (st f32:{ *:[f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20336 : // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
20337 : /* 38358*/ /*Scope*/ 22, /*->38381*/
20338 : /* 38359*/ OPC_CheckChild2Type, MVT::i32,
20339 : /* 38361*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20340 : /* 38363*/ OPC_CheckPredicate, 18, // Predicate_store
20341 : /* 38365*/ OPC_EmitMergeInputChains1_0,
20342 : /* 38366*/ OPC_EmitInteger, MVT::i32, 0,
20343 : /* 38369*/ OPC_EmitInteger, MVT::i32, 0,
20344 : /* 38372*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
20345 : 4/*#Ops*/, 3, 4, 2, 1,
20346 : // Src: (st f32:{ *:[f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20347 : // Dst: (STORE_F32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
20348 : /* 38381*/ 0, /*End of Scope*/
20349 : /* 38382*/ 0, /*End of Scope*/
20350 : /* 38383*/ /*Scope*/ 94|128,2/*350*/, /*->38735*/
20351 : /* 38385*/ OPC_CheckChild1Type, MVT::f64,
20352 : /* 38387*/ OPC_Scope, 26|128,2/*282*/, /*->38672*/ // 2 children in Scope
20353 : /* 38390*/ OPC_MoveChild2,
20354 : /* 38391*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38566
20355 : /* 38396*/ OPC_Scope, 34, /*->38432*/ // 5 children in Scope
20356 : /* 38398*/ OPC_RecordChild0, // #2 = $addr
20357 : /* 38399*/ OPC_MoveChild1,
20358 : /* 38400*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20359 : /* 38403*/ OPC_RecordChild0, // #3 = $off
20360 : /* 38404*/ OPC_MoveChild0,
20361 : /* 38405*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20362 : /* 38408*/ OPC_MoveParent,
20363 : /* 38409*/ OPC_MoveParent,
20364 : /* 38410*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20365 : /* 38412*/ OPC_CheckType, MVT::i32,
20366 : /* 38414*/ OPC_MoveParent,
20367 : /* 38415*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20368 : /* 38417*/ OPC_CheckPredicate, 18, // Predicate_store
20369 : /* 38419*/ OPC_EmitMergeInputChains1_0,
20370 : /* 38420*/ OPC_EmitInteger, MVT::i32, 0,
20371 : /* 38423*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20372 : 4/*#Ops*/, 4, 3, 2, 1,
20373 : // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20374 : // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20375 : /* 38432*/ /*Scope*/ 34, /*->38467*/
20376 : /* 38433*/ OPC_MoveChild0,
20377 : /* 38434*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20378 : /* 38437*/ OPC_RecordChild0, // #2 = $off
20379 : /* 38438*/ OPC_MoveChild0,
20380 : /* 38439*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20381 : /* 38442*/ OPC_MoveParent,
20382 : /* 38443*/ OPC_MoveParent,
20383 : /* 38444*/ OPC_RecordChild1, // #3 = $addr
20384 : /* 38445*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20385 : /* 38447*/ OPC_CheckType, MVT::i32,
20386 : /* 38449*/ OPC_MoveParent,
20387 : /* 38450*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20388 : /* 38452*/ OPC_CheckPredicate, 18, // Predicate_store
20389 : /* 38454*/ OPC_EmitMergeInputChains1_0,
20390 : /* 38455*/ OPC_EmitInteger, MVT::i32, 0,
20391 : /* 38458*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20392 : 4/*#Ops*/, 4, 2, 3, 1,
20393 : // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20394 : // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20395 : /* 38467*/ /*Scope*/ 32, /*->38500*/
20396 : /* 38468*/ OPC_RecordChild0, // #2 = $addr
20397 : /* 38469*/ OPC_MoveChild1,
20398 : /* 38470*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20399 : /* 38473*/ OPC_RecordChild0, // #3 = $off
20400 : /* 38474*/ OPC_MoveChild0,
20401 : /* 38475*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20402 : /* 38478*/ OPC_MoveParent,
20403 : /* 38479*/ OPC_MoveParent,
20404 : /* 38480*/ OPC_CheckType, MVT::i32,
20405 : /* 38482*/ OPC_MoveParent,
20406 : /* 38483*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20407 : /* 38485*/ OPC_CheckPredicate, 18, // Predicate_store
20408 : /* 38487*/ OPC_EmitMergeInputChains1_0,
20409 : /* 38488*/ OPC_EmitInteger, MVT::i32, 0,
20410 : /* 38491*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20411 : 4/*#Ops*/, 4, 3, 2, 1,
20412 : // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20413 : // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20414 : /* 38500*/ /*Scope*/ 32, /*->38533*/
20415 : /* 38501*/ OPC_MoveChild0,
20416 : /* 38502*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20417 : /* 38505*/ OPC_RecordChild0, // #2 = $off
20418 : /* 38506*/ OPC_MoveChild0,
20419 : /* 38507*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20420 : /* 38510*/ OPC_MoveParent,
20421 : /* 38511*/ OPC_MoveParent,
20422 : /* 38512*/ OPC_RecordChild1, // #3 = $addr
20423 : /* 38513*/ OPC_CheckType, MVT::i32,
20424 : /* 38515*/ OPC_MoveParent,
20425 : /* 38516*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20426 : /* 38518*/ OPC_CheckPredicate, 18, // Predicate_store
20427 : /* 38520*/ OPC_EmitMergeInputChains1_0,
20428 : /* 38521*/ OPC_EmitInteger, MVT::i32, 0,
20429 : /* 38524*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20430 : 4/*#Ops*/, 4, 2, 3, 1,
20431 : // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20432 : // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20433 : /* 38533*/ /*Scope*/ 31, /*->38565*/
20434 : /* 38534*/ OPC_RecordChild0, // #2 = $addr
20435 : /* 38535*/ OPC_RecordChild1, // #3 = $off
20436 : /* 38536*/ OPC_MoveChild1,
20437 : /* 38537*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20438 : /* 38540*/ OPC_MoveParent,
20439 : /* 38541*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
20440 : /* 38543*/ OPC_CheckType, MVT::i32,
20441 : /* 38545*/ OPC_MoveParent,
20442 : /* 38546*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20443 : /* 38548*/ OPC_CheckPredicate, 18, // Predicate_store
20444 : /* 38550*/ OPC_EmitMergeInputChains1_0,
20445 : /* 38551*/ OPC_EmitInteger, MVT::i32, 0,
20446 : /* 38554*/ OPC_EmitConvertToTarget, 3,
20447 : /* 38556*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20448 : 4/*#Ops*/, 4, 5, 2, 1,
20449 : // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20450 : // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20451 : /* 38565*/ 0, /*End of Scope*/
20452 : /* 38566*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38600
20453 : /* 38569*/ OPC_RecordChild0, // #2 = $addr
20454 : /* 38570*/ OPC_RecordChild1, // #3 = $off
20455 : /* 38571*/ OPC_MoveChild1,
20456 : /* 38572*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20457 : /* 38575*/ OPC_MoveParent,
20458 : /* 38576*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
20459 : /* 38578*/ OPC_CheckType, MVT::i32,
20460 : /* 38580*/ OPC_MoveParent,
20461 : /* 38581*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20462 : /* 38583*/ OPC_CheckPredicate, 18, // Predicate_store
20463 : /* 38585*/ OPC_EmitMergeInputChains1_0,
20464 : /* 38586*/ OPC_EmitInteger, MVT::i32, 0,
20465 : /* 38589*/ OPC_EmitConvertToTarget, 3,
20466 : /* 38591*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20467 : 4/*#Ops*/, 4, 5, 2, 1,
20468 : // Src: (st f64:{ *:[f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20469 : // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20470 : /* 38600*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->38671
20471 : /* 38603*/ OPC_RecordChild0, // #2 = $off
20472 : /* 38604*/ OPC_MoveChild0,
20473 : /* 38605*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38638
20474 : /* 38609*/ OPC_MoveParent,
20475 : /* 38610*/ OPC_MoveParent,
20476 : /* 38611*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20477 : /* 38613*/ OPC_CheckPredicate, 18, // Predicate_store
20478 : /* 38615*/ OPC_EmitMergeInputChains1_0,
20479 : /* 38616*/ OPC_EmitInteger, MVT::i32, 0,
20480 : /* 38619*/ OPC_EmitInteger, MVT::i32, 0,
20481 : /* 38622*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20482 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20483 : /* 38629*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20484 : 4/*#Ops*/, 3, 2, 5, 1,
20485 : // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20486 : // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
20487 : /* 38638*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->38670
20488 : /* 38641*/ OPC_MoveParent,
20489 : /* 38642*/ OPC_MoveParent,
20490 : /* 38643*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20491 : /* 38645*/ OPC_CheckPredicate, 18, // Predicate_store
20492 : /* 38647*/ OPC_EmitMergeInputChains1_0,
20493 : /* 38648*/ OPC_EmitInteger, MVT::i32, 0,
20494 : /* 38651*/ OPC_EmitInteger, MVT::i32, 0,
20495 : /* 38654*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20496 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20497 : /* 38661*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20498 : 4/*#Ops*/, 3, 2, 5, 1,
20499 : // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20500 : // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
20501 : /* 38670*/ 0, // EndSwitchOpcode
20502 : /* 38671*/ 0, // EndSwitchOpcode
20503 : /* 38672*/ /*Scope*/ 61, /*->38734*/
20504 : /* 38673*/ OPC_RecordChild2, // #2 = $off
20505 : /* 38674*/ OPC_Scope, 34, /*->38710*/ // 2 children in Scope
20506 : /* 38676*/ OPC_MoveChild2,
20507 : /* 38677*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20508 : /* 38680*/ OPC_MoveParent,
20509 : /* 38681*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20510 : /* 38683*/ OPC_CheckPredicate, 18, // Predicate_store
20511 : /* 38685*/ OPC_EmitMergeInputChains1_0,
20512 : /* 38686*/ OPC_EmitInteger, MVT::i32, 0,
20513 : /* 38689*/ OPC_EmitConvertToTarget, 2,
20514 : /* 38691*/ OPC_EmitInteger, MVT::i32, 0,
20515 : /* 38694*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20516 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20517 : /* 38701*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20518 : 4/*#Ops*/, 3, 4, 6, 1,
20519 : // Src: (st f64:{ *:[f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20520 : // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
20521 : /* 38710*/ /*Scope*/ 22, /*->38733*/
20522 : /* 38711*/ OPC_CheckChild2Type, MVT::i32,
20523 : /* 38713*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20524 : /* 38715*/ OPC_CheckPredicate, 18, // Predicate_store
20525 : /* 38717*/ OPC_EmitMergeInputChains1_0,
20526 : /* 38718*/ OPC_EmitInteger, MVT::i32, 0,
20527 : /* 38721*/ OPC_EmitInteger, MVT::i32, 0,
20528 : /* 38724*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
20529 : 4/*#Ops*/, 3, 4, 2, 1,
20530 : // Src: (st f64:{ *:[f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20531 : // Dst: (STORE_F64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
20532 : /* 38733*/ 0, /*End of Scope*/
20533 : /* 38734*/ 0, /*End of Scope*/
20534 : /* 38735*/ /*Scope*/ 94|128,2/*350*/, /*->39087*/
20535 : /* 38737*/ OPC_CheckChild1Type, MVT::v16i8,
20536 : /* 38739*/ OPC_Scope, 26|128,2/*282*/, /*->39024*/ // 2 children in Scope
20537 : /* 38742*/ OPC_MoveChild2,
20538 : /* 38743*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38918
20539 : /* 38748*/ OPC_Scope, 34, /*->38784*/ // 5 children in Scope
20540 : /* 38750*/ OPC_RecordChild0, // #2 = $addr
20541 : /* 38751*/ OPC_MoveChild1,
20542 : /* 38752*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20543 : /* 38755*/ OPC_RecordChild0, // #3 = $off
20544 : /* 38756*/ OPC_MoveChild0,
20545 : /* 38757*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20546 : /* 38760*/ OPC_MoveParent,
20547 : /* 38761*/ OPC_MoveParent,
20548 : /* 38762*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20549 : /* 38764*/ OPC_CheckType, MVT::i32,
20550 : /* 38766*/ OPC_MoveParent,
20551 : /* 38767*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20552 : /* 38769*/ OPC_CheckPredicate, 18, // Predicate_store
20553 : /* 38771*/ OPC_EmitMergeInputChains1_0,
20554 : /* 38772*/ OPC_EmitInteger, MVT::i32, 0,
20555 : /* 38775*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20556 : 4/*#Ops*/, 4, 3, 2, 1,
20557 : // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20558 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20559 : /* 38784*/ /*Scope*/ 34, /*->38819*/
20560 : /* 38785*/ OPC_MoveChild0,
20561 : /* 38786*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20562 : /* 38789*/ OPC_RecordChild0, // #2 = $off
20563 : /* 38790*/ OPC_MoveChild0,
20564 : /* 38791*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20565 : /* 38794*/ OPC_MoveParent,
20566 : /* 38795*/ OPC_MoveParent,
20567 : /* 38796*/ OPC_RecordChild1, // #3 = $addr
20568 : /* 38797*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20569 : /* 38799*/ OPC_CheckType, MVT::i32,
20570 : /* 38801*/ OPC_MoveParent,
20571 : /* 38802*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20572 : /* 38804*/ OPC_CheckPredicate, 18, // Predicate_store
20573 : /* 38806*/ OPC_EmitMergeInputChains1_0,
20574 : /* 38807*/ OPC_EmitInteger, MVT::i32, 0,
20575 : /* 38810*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20576 : 4/*#Ops*/, 4, 2, 3, 1,
20577 : // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20578 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20579 : /* 38819*/ /*Scope*/ 32, /*->38852*/
20580 : /* 38820*/ OPC_RecordChild0, // #2 = $addr
20581 : /* 38821*/ OPC_MoveChild1,
20582 : /* 38822*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20583 : /* 38825*/ OPC_RecordChild0, // #3 = $off
20584 : /* 38826*/ OPC_MoveChild0,
20585 : /* 38827*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20586 : /* 38830*/ OPC_MoveParent,
20587 : /* 38831*/ OPC_MoveParent,
20588 : /* 38832*/ OPC_CheckType, MVT::i32,
20589 : /* 38834*/ OPC_MoveParent,
20590 : /* 38835*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20591 : /* 38837*/ OPC_CheckPredicate, 18, // Predicate_store
20592 : /* 38839*/ OPC_EmitMergeInputChains1_0,
20593 : /* 38840*/ OPC_EmitInteger, MVT::i32, 0,
20594 : /* 38843*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20595 : 4/*#Ops*/, 4, 3, 2, 1,
20596 : // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20597 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20598 : /* 38852*/ /*Scope*/ 32, /*->38885*/
20599 : /* 38853*/ OPC_MoveChild0,
20600 : /* 38854*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20601 : /* 38857*/ OPC_RecordChild0, // #2 = $off
20602 : /* 38858*/ OPC_MoveChild0,
20603 : /* 38859*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20604 : /* 38862*/ OPC_MoveParent,
20605 : /* 38863*/ OPC_MoveParent,
20606 : /* 38864*/ OPC_RecordChild1, // #3 = $addr
20607 : /* 38865*/ OPC_CheckType, MVT::i32,
20608 : /* 38867*/ OPC_MoveParent,
20609 : /* 38868*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20610 : /* 38870*/ OPC_CheckPredicate, 18, // Predicate_store
20611 : /* 38872*/ OPC_EmitMergeInputChains1_0,
20612 : /* 38873*/ OPC_EmitInteger, MVT::i32, 0,
20613 : /* 38876*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20614 : 4/*#Ops*/, 4, 2, 3, 1,
20615 : // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20616 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20617 : /* 38885*/ /*Scope*/ 31, /*->38917*/
20618 : /* 38886*/ OPC_RecordChild0, // #2 = $addr
20619 : /* 38887*/ OPC_RecordChild1, // #3 = $off
20620 : /* 38888*/ OPC_MoveChild1,
20621 : /* 38889*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20622 : /* 38892*/ OPC_MoveParent,
20623 : /* 38893*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
20624 : /* 38895*/ OPC_CheckType, MVT::i32,
20625 : /* 38897*/ OPC_MoveParent,
20626 : /* 38898*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20627 : /* 38900*/ OPC_CheckPredicate, 18, // Predicate_store
20628 : /* 38902*/ OPC_EmitMergeInputChains1_0,
20629 : /* 38903*/ OPC_EmitInteger, MVT::i32, 0,
20630 : /* 38906*/ OPC_EmitConvertToTarget, 3,
20631 : /* 38908*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20632 : 4/*#Ops*/, 4, 5, 2, 1,
20633 : // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20634 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20635 : /* 38917*/ 0, /*End of Scope*/
20636 : /* 38918*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38952
20637 : /* 38921*/ OPC_RecordChild0, // #2 = $addr
20638 : /* 38922*/ OPC_RecordChild1, // #3 = $off
20639 : /* 38923*/ OPC_MoveChild1,
20640 : /* 38924*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20641 : /* 38927*/ OPC_MoveParent,
20642 : /* 38928*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
20643 : /* 38930*/ OPC_CheckType, MVT::i32,
20644 : /* 38932*/ OPC_MoveParent,
20645 : /* 38933*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20646 : /* 38935*/ OPC_CheckPredicate, 18, // Predicate_store
20647 : /* 38937*/ OPC_EmitMergeInputChains1_0,
20648 : /* 38938*/ OPC_EmitInteger, MVT::i32, 0,
20649 : /* 38941*/ OPC_EmitConvertToTarget, 3,
20650 : /* 38943*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20651 : 4/*#Ops*/, 4, 5, 2, 1,
20652 : // Src: (st v16i8:{ *:[v16i8] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20653 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20654 : /* 38952*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39023
20655 : /* 38955*/ OPC_RecordChild0, // #2 = $off
20656 : /* 38956*/ OPC_MoveChild0,
20657 : /* 38957*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38990
20658 : /* 38961*/ OPC_MoveParent,
20659 : /* 38962*/ OPC_MoveParent,
20660 : /* 38963*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20661 : /* 38965*/ OPC_CheckPredicate, 18, // Predicate_store
20662 : /* 38967*/ OPC_EmitMergeInputChains1_0,
20663 : /* 38968*/ OPC_EmitInteger, MVT::i32, 0,
20664 : /* 38971*/ OPC_EmitInteger, MVT::i32, 0,
20665 : /* 38974*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20666 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20667 : /* 38981*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20668 : 4/*#Ops*/, 3, 2, 5, 1,
20669 : // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20670 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
20671 : /* 38990*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39022
20672 : /* 38993*/ OPC_MoveParent,
20673 : /* 38994*/ OPC_MoveParent,
20674 : /* 38995*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20675 : /* 38997*/ OPC_CheckPredicate, 18, // Predicate_store
20676 : /* 38999*/ OPC_EmitMergeInputChains1_0,
20677 : /* 39000*/ OPC_EmitInteger, MVT::i32, 0,
20678 : /* 39003*/ OPC_EmitInteger, MVT::i32, 0,
20679 : /* 39006*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20680 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20681 : /* 39013*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20682 : 4/*#Ops*/, 3, 2, 5, 1,
20683 : // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20684 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
20685 : /* 39022*/ 0, // EndSwitchOpcode
20686 : /* 39023*/ 0, // EndSwitchOpcode
20687 : /* 39024*/ /*Scope*/ 61, /*->39086*/
20688 : /* 39025*/ OPC_RecordChild2, // #2 = $off
20689 : /* 39026*/ OPC_Scope, 34, /*->39062*/ // 2 children in Scope
20690 : /* 39028*/ OPC_MoveChild2,
20691 : /* 39029*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20692 : /* 39032*/ OPC_MoveParent,
20693 : /* 39033*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20694 : /* 39035*/ OPC_CheckPredicate, 18, // Predicate_store
20695 : /* 39037*/ OPC_EmitMergeInputChains1_0,
20696 : /* 39038*/ OPC_EmitInteger, MVT::i32, 0,
20697 : /* 39041*/ OPC_EmitConvertToTarget, 2,
20698 : /* 39043*/ OPC_EmitInteger, MVT::i32, 0,
20699 : /* 39046*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20700 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20701 : /* 39053*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20702 : 4/*#Ops*/, 3, 4, 6, 1,
20703 : // Src: (st v16i8:{ *:[v16i8] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20704 : // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
20705 : /* 39062*/ /*Scope*/ 22, /*->39085*/
20706 : /* 39063*/ OPC_CheckChild2Type, MVT::i32,
20707 : /* 39065*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20708 : /* 39067*/ OPC_CheckPredicate, 18, // Predicate_store
20709 : /* 39069*/ OPC_EmitMergeInputChains1_0,
20710 : /* 39070*/ OPC_EmitInteger, MVT::i32, 0,
20711 : /* 39073*/ OPC_EmitInteger, MVT::i32, 0,
20712 : /* 39076*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
20713 : 4/*#Ops*/, 3, 4, 2, 1,
20714 : // Src: (st v16i8:{ *:[v16i8] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20715 : // Dst: (STORE_v16i8 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
20716 : /* 39085*/ 0, /*End of Scope*/
20717 : /* 39086*/ 0, /*End of Scope*/
20718 : /* 39087*/ /*Scope*/ 94|128,2/*350*/, /*->39439*/
20719 : /* 39089*/ OPC_CheckChild1Type, MVT::v8i16,
20720 : /* 39091*/ OPC_Scope, 26|128,2/*282*/, /*->39376*/ // 2 children in Scope
20721 : /* 39094*/ OPC_MoveChild2,
20722 : /* 39095*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39270
20723 : /* 39100*/ OPC_Scope, 34, /*->39136*/ // 5 children in Scope
20724 : /* 39102*/ OPC_RecordChild0, // #2 = $addr
20725 : /* 39103*/ OPC_MoveChild1,
20726 : /* 39104*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20727 : /* 39107*/ OPC_RecordChild0, // #3 = $off
20728 : /* 39108*/ OPC_MoveChild0,
20729 : /* 39109*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20730 : /* 39112*/ OPC_MoveParent,
20731 : /* 39113*/ OPC_MoveParent,
20732 : /* 39114*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20733 : /* 39116*/ OPC_CheckType, MVT::i32,
20734 : /* 39118*/ OPC_MoveParent,
20735 : /* 39119*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20736 : /* 39121*/ OPC_CheckPredicate, 18, // Predicate_store
20737 : /* 39123*/ OPC_EmitMergeInputChains1_0,
20738 : /* 39124*/ OPC_EmitInteger, MVT::i32, 0,
20739 : /* 39127*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20740 : 4/*#Ops*/, 4, 3, 2, 1,
20741 : // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20742 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20743 : /* 39136*/ /*Scope*/ 34, /*->39171*/
20744 : /* 39137*/ OPC_MoveChild0,
20745 : /* 39138*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20746 : /* 39141*/ OPC_RecordChild0, // #2 = $off
20747 : /* 39142*/ OPC_MoveChild0,
20748 : /* 39143*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20749 : /* 39146*/ OPC_MoveParent,
20750 : /* 39147*/ OPC_MoveParent,
20751 : /* 39148*/ OPC_RecordChild1, // #3 = $addr
20752 : /* 39149*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20753 : /* 39151*/ OPC_CheckType, MVT::i32,
20754 : /* 39153*/ OPC_MoveParent,
20755 : /* 39154*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20756 : /* 39156*/ OPC_CheckPredicate, 18, // Predicate_store
20757 : /* 39158*/ OPC_EmitMergeInputChains1_0,
20758 : /* 39159*/ OPC_EmitInteger, MVT::i32, 0,
20759 : /* 39162*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20760 : 4/*#Ops*/, 4, 2, 3, 1,
20761 : // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20762 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20763 : /* 39171*/ /*Scope*/ 32, /*->39204*/
20764 : /* 39172*/ OPC_RecordChild0, // #2 = $addr
20765 : /* 39173*/ OPC_MoveChild1,
20766 : /* 39174*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20767 : /* 39177*/ OPC_RecordChild0, // #3 = $off
20768 : /* 39178*/ OPC_MoveChild0,
20769 : /* 39179*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20770 : /* 39182*/ OPC_MoveParent,
20771 : /* 39183*/ OPC_MoveParent,
20772 : /* 39184*/ OPC_CheckType, MVT::i32,
20773 : /* 39186*/ OPC_MoveParent,
20774 : /* 39187*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20775 : /* 39189*/ OPC_CheckPredicate, 18, // Predicate_store
20776 : /* 39191*/ OPC_EmitMergeInputChains1_0,
20777 : /* 39192*/ OPC_EmitInteger, MVT::i32, 0,
20778 : /* 39195*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20779 : 4/*#Ops*/, 4, 3, 2, 1,
20780 : // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20781 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20782 : /* 39204*/ /*Scope*/ 32, /*->39237*/
20783 : /* 39205*/ OPC_MoveChild0,
20784 : /* 39206*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20785 : /* 39209*/ OPC_RecordChild0, // #2 = $off
20786 : /* 39210*/ OPC_MoveChild0,
20787 : /* 39211*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20788 : /* 39214*/ OPC_MoveParent,
20789 : /* 39215*/ OPC_MoveParent,
20790 : /* 39216*/ OPC_RecordChild1, // #3 = $addr
20791 : /* 39217*/ OPC_CheckType, MVT::i32,
20792 : /* 39219*/ OPC_MoveParent,
20793 : /* 39220*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20794 : /* 39222*/ OPC_CheckPredicate, 18, // Predicate_store
20795 : /* 39224*/ OPC_EmitMergeInputChains1_0,
20796 : /* 39225*/ OPC_EmitInteger, MVT::i32, 0,
20797 : /* 39228*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20798 : 4/*#Ops*/, 4, 2, 3, 1,
20799 : // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20800 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20801 : /* 39237*/ /*Scope*/ 31, /*->39269*/
20802 : /* 39238*/ OPC_RecordChild0, // #2 = $addr
20803 : /* 39239*/ OPC_RecordChild1, // #3 = $off
20804 : /* 39240*/ OPC_MoveChild1,
20805 : /* 39241*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20806 : /* 39244*/ OPC_MoveParent,
20807 : /* 39245*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
20808 : /* 39247*/ OPC_CheckType, MVT::i32,
20809 : /* 39249*/ OPC_MoveParent,
20810 : /* 39250*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20811 : /* 39252*/ OPC_CheckPredicate, 18, // Predicate_store
20812 : /* 39254*/ OPC_EmitMergeInputChains1_0,
20813 : /* 39255*/ OPC_EmitInteger, MVT::i32, 0,
20814 : /* 39258*/ OPC_EmitConvertToTarget, 3,
20815 : /* 39260*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20816 : 4/*#Ops*/, 4, 5, 2, 1,
20817 : // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20818 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20819 : /* 39269*/ 0, /*End of Scope*/
20820 : /* 39270*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->39304
20821 : /* 39273*/ OPC_RecordChild0, // #2 = $addr
20822 : /* 39274*/ OPC_RecordChild1, // #3 = $off
20823 : /* 39275*/ OPC_MoveChild1,
20824 : /* 39276*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20825 : /* 39279*/ OPC_MoveParent,
20826 : /* 39280*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
20827 : /* 39282*/ OPC_CheckType, MVT::i32,
20828 : /* 39284*/ OPC_MoveParent,
20829 : /* 39285*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20830 : /* 39287*/ OPC_CheckPredicate, 18, // Predicate_store
20831 : /* 39289*/ OPC_EmitMergeInputChains1_0,
20832 : /* 39290*/ OPC_EmitInteger, MVT::i32, 0,
20833 : /* 39293*/ OPC_EmitConvertToTarget, 3,
20834 : /* 39295*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20835 : 4/*#Ops*/, 4, 5, 2, 1,
20836 : // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
20837 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20838 : /* 39304*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39375
20839 : /* 39307*/ OPC_RecordChild0, // #2 = $off
20840 : /* 39308*/ OPC_MoveChild0,
20841 : /* 39309*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->39342
20842 : /* 39313*/ OPC_MoveParent,
20843 : /* 39314*/ OPC_MoveParent,
20844 : /* 39315*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20845 : /* 39317*/ OPC_CheckPredicate, 18, // Predicate_store
20846 : /* 39319*/ OPC_EmitMergeInputChains1_0,
20847 : /* 39320*/ OPC_EmitInteger, MVT::i32, 0,
20848 : /* 39323*/ OPC_EmitInteger, MVT::i32, 0,
20849 : /* 39326*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20850 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20851 : /* 39333*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20852 : 4/*#Ops*/, 3, 2, 5, 1,
20853 : // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20854 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
20855 : /* 39342*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39374
20856 : /* 39345*/ OPC_MoveParent,
20857 : /* 39346*/ OPC_MoveParent,
20858 : /* 39347*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20859 : /* 39349*/ OPC_CheckPredicate, 18, // Predicate_store
20860 : /* 39351*/ OPC_EmitMergeInputChains1_0,
20861 : /* 39352*/ OPC_EmitInteger, MVT::i32, 0,
20862 : /* 39355*/ OPC_EmitInteger, MVT::i32, 0,
20863 : /* 39358*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20864 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
20865 : /* 39365*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20866 : 4/*#Ops*/, 3, 2, 5, 1,
20867 : // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
20868 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
20869 : /* 39374*/ 0, // EndSwitchOpcode
20870 : /* 39375*/ 0, // EndSwitchOpcode
20871 : /* 39376*/ /*Scope*/ 61, /*->39438*/
20872 : /* 39377*/ OPC_RecordChild2, // #2 = $off
20873 : /* 39378*/ OPC_Scope, 34, /*->39414*/ // 2 children in Scope
20874 : /* 39380*/ OPC_MoveChild2,
20875 : /* 39381*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20876 : /* 39384*/ OPC_MoveParent,
20877 : /* 39385*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20878 : /* 39387*/ OPC_CheckPredicate, 18, // Predicate_store
20879 : /* 39389*/ OPC_EmitMergeInputChains1_0,
20880 : /* 39390*/ OPC_EmitInteger, MVT::i32, 0,
20881 : /* 39393*/ OPC_EmitConvertToTarget, 2,
20882 : /* 39395*/ OPC_EmitInteger, MVT::i32, 0,
20883 : /* 39398*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
20884 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
20885 : /* 39405*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20886 : 4/*#Ops*/, 3, 4, 6, 1,
20887 : // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
20888 : // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
20889 : /* 39414*/ /*Scope*/ 22, /*->39437*/
20890 : /* 39415*/ OPC_CheckChild2Type, MVT::i32,
20891 : /* 39417*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20892 : /* 39419*/ OPC_CheckPredicate, 18, // Predicate_store
20893 : /* 39421*/ OPC_EmitMergeInputChains1_0,
20894 : /* 39422*/ OPC_EmitInteger, MVT::i32, 0,
20895 : /* 39425*/ OPC_EmitInteger, MVT::i32, 0,
20896 : /* 39428*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
20897 : 4/*#Ops*/, 3, 4, 2, 1,
20898 : // Src: (st v8i16:{ *:[v8i16] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
20899 : // Dst: (STORE_v8i16 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
20900 : /* 39437*/ 0, /*End of Scope*/
20901 : /* 39438*/ 0, /*End of Scope*/
20902 : /* 39439*/ /*Scope*/ 94|128,2/*350*/, /*->39791*/
20903 : /* 39441*/ OPC_CheckChild1Type, MVT::v4i32,
20904 : /* 39443*/ OPC_Scope, 26|128,2/*282*/, /*->39728*/ // 2 children in Scope
20905 : /* 39446*/ OPC_MoveChild2,
20906 : /* 39447*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39622
20907 : /* 39452*/ OPC_Scope, 34, /*->39488*/ // 5 children in Scope
20908 : /* 39454*/ OPC_RecordChild0, // #2 = $addr
20909 : /* 39455*/ OPC_MoveChild1,
20910 : /* 39456*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20911 : /* 39459*/ OPC_RecordChild0, // #3 = $off
20912 : /* 39460*/ OPC_MoveChild0,
20913 : /* 39461*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20914 : /* 39464*/ OPC_MoveParent,
20915 : /* 39465*/ OPC_MoveParent,
20916 : /* 39466*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20917 : /* 39468*/ OPC_CheckType, MVT::i32,
20918 : /* 39470*/ OPC_MoveParent,
20919 : /* 39471*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20920 : /* 39473*/ OPC_CheckPredicate, 18, // Predicate_store
20921 : /* 39475*/ OPC_EmitMergeInputChains1_0,
20922 : /* 39476*/ OPC_EmitInteger, MVT::i32, 0,
20923 : /* 39479*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
20924 : 4/*#Ops*/, 4, 3, 2, 1,
20925 : // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20926 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20927 : /* 39488*/ /*Scope*/ 34, /*->39523*/
20928 : /* 39489*/ OPC_MoveChild0,
20929 : /* 39490*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20930 : /* 39493*/ OPC_RecordChild0, // #2 = $off
20931 : /* 39494*/ OPC_MoveChild0,
20932 : /* 39495*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
20933 : /* 39498*/ OPC_MoveParent,
20934 : /* 39499*/ OPC_MoveParent,
20935 : /* 39500*/ OPC_RecordChild1, // #3 = $addr
20936 : /* 39501*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
20937 : /* 39503*/ OPC_CheckType, MVT::i32,
20938 : /* 39505*/ OPC_MoveParent,
20939 : /* 39506*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20940 : /* 39508*/ OPC_CheckPredicate, 18, // Predicate_store
20941 : /* 39510*/ OPC_EmitMergeInputChains1_0,
20942 : /* 39511*/ OPC_EmitInteger, MVT::i32, 0,
20943 : /* 39514*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
20944 : 4/*#Ops*/, 4, 2, 3, 1,
20945 : // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
20946 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20947 : /* 39523*/ /*Scope*/ 32, /*->39556*/
20948 : /* 39524*/ OPC_RecordChild0, // #2 = $addr
20949 : /* 39525*/ OPC_MoveChild1,
20950 : /* 39526*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20951 : /* 39529*/ OPC_RecordChild0, // #3 = $off
20952 : /* 39530*/ OPC_MoveChild0,
20953 : /* 39531*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20954 : /* 39534*/ OPC_MoveParent,
20955 : /* 39535*/ OPC_MoveParent,
20956 : /* 39536*/ OPC_CheckType, MVT::i32,
20957 : /* 39538*/ OPC_MoveParent,
20958 : /* 39539*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20959 : /* 39541*/ OPC_CheckPredicate, 18, // Predicate_store
20960 : /* 39543*/ OPC_EmitMergeInputChains1_0,
20961 : /* 39544*/ OPC_EmitInteger, MVT::i32, 0,
20962 : /* 39547*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
20963 : 4/*#Ops*/, 4, 3, 2, 1,
20964 : // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20965 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20966 : /* 39556*/ /*Scope*/ 32, /*->39589*/
20967 : /* 39557*/ OPC_MoveChild0,
20968 : /* 39558*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
20969 : /* 39561*/ OPC_RecordChild0, // #2 = $off
20970 : /* 39562*/ OPC_MoveChild0,
20971 : /* 39563*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
20972 : /* 39566*/ OPC_MoveParent,
20973 : /* 39567*/ OPC_MoveParent,
20974 : /* 39568*/ OPC_RecordChild1, // #3 = $addr
20975 : /* 39569*/ OPC_CheckType, MVT::i32,
20976 : /* 39571*/ OPC_MoveParent,
20977 : /* 39572*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20978 : /* 39574*/ OPC_CheckPredicate, 18, // Predicate_store
20979 : /* 39576*/ OPC_EmitMergeInputChains1_0,
20980 : /* 39577*/ OPC_EmitInteger, MVT::i32, 0,
20981 : /* 39580*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
20982 : 4/*#Ops*/, 4, 2, 3, 1,
20983 : // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
20984 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
20985 : /* 39589*/ /*Scope*/ 31, /*->39621*/
20986 : /* 39590*/ OPC_RecordChild0, // #2 = $addr
20987 : /* 39591*/ OPC_RecordChild1, // #3 = $off
20988 : /* 39592*/ OPC_MoveChild1,
20989 : /* 39593*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
20990 : /* 39596*/ OPC_MoveParent,
20991 : /* 39597*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
20992 : /* 39599*/ OPC_CheckType, MVT::i32,
20993 : /* 39601*/ OPC_MoveParent,
20994 : /* 39602*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
20995 : /* 39604*/ OPC_CheckPredicate, 18, // Predicate_store
20996 : /* 39606*/ OPC_EmitMergeInputChains1_0,
20997 : /* 39607*/ OPC_EmitInteger, MVT::i32, 0,
20998 : /* 39610*/ OPC_EmitConvertToTarget, 3,
20999 : /* 39612*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21000 : 4/*#Ops*/, 4, 5, 2, 1,
21001 : // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21002 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
21003 : /* 39621*/ 0, /*End of Scope*/
21004 : /* 39622*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->39656
21005 : /* 39625*/ OPC_RecordChild0, // #2 = $addr
21006 : /* 39626*/ OPC_RecordChild1, // #3 = $off
21007 : /* 39627*/ OPC_MoveChild1,
21008 : /* 39628*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21009 : /* 39631*/ OPC_MoveParent,
21010 : /* 39632*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
21011 : /* 39634*/ OPC_CheckType, MVT::i32,
21012 : /* 39636*/ OPC_MoveParent,
21013 : /* 39637*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21014 : /* 39639*/ OPC_CheckPredicate, 18, // Predicate_store
21015 : /* 39641*/ OPC_EmitMergeInputChains1_0,
21016 : /* 39642*/ OPC_EmitInteger, MVT::i32, 0,
21017 : /* 39645*/ OPC_EmitConvertToTarget, 3,
21018 : /* 39647*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21019 : 4/*#Ops*/, 4, 5, 2, 1,
21020 : // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21021 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
21022 : /* 39656*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39727
21023 : /* 39659*/ OPC_RecordChild0, // #2 = $off
21024 : /* 39660*/ OPC_MoveChild0,
21025 : /* 39661*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->39694
21026 : /* 39665*/ OPC_MoveParent,
21027 : /* 39666*/ OPC_MoveParent,
21028 : /* 39667*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21029 : /* 39669*/ OPC_CheckPredicate, 18, // Predicate_store
21030 : /* 39671*/ OPC_EmitMergeInputChains1_0,
21031 : /* 39672*/ OPC_EmitInteger, MVT::i32, 0,
21032 : /* 39675*/ OPC_EmitInteger, MVT::i32, 0,
21033 : /* 39678*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21034 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21035 : /* 39685*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21036 : 4/*#Ops*/, 3, 2, 5, 1,
21037 : // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21038 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
21039 : /* 39694*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39726
21040 : /* 39697*/ OPC_MoveParent,
21041 : /* 39698*/ OPC_MoveParent,
21042 : /* 39699*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21043 : /* 39701*/ OPC_CheckPredicate, 18, // Predicate_store
21044 : /* 39703*/ OPC_EmitMergeInputChains1_0,
21045 : /* 39704*/ OPC_EmitInteger, MVT::i32, 0,
21046 : /* 39707*/ OPC_EmitInteger, MVT::i32, 0,
21047 : /* 39710*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21048 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21049 : /* 39717*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21050 : 4/*#Ops*/, 3, 2, 5, 1,
21051 : // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21052 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
21053 : /* 39726*/ 0, // EndSwitchOpcode
21054 : /* 39727*/ 0, // EndSwitchOpcode
21055 : /* 39728*/ /*Scope*/ 61, /*->39790*/
21056 : /* 39729*/ OPC_RecordChild2, // #2 = $off
21057 : /* 39730*/ OPC_Scope, 34, /*->39766*/ // 2 children in Scope
21058 : /* 39732*/ OPC_MoveChild2,
21059 : /* 39733*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21060 : /* 39736*/ OPC_MoveParent,
21061 : /* 39737*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21062 : /* 39739*/ OPC_CheckPredicate, 18, // Predicate_store
21063 : /* 39741*/ OPC_EmitMergeInputChains1_0,
21064 : /* 39742*/ OPC_EmitInteger, MVT::i32, 0,
21065 : /* 39745*/ OPC_EmitConvertToTarget, 2,
21066 : /* 39747*/ OPC_EmitInteger, MVT::i32, 0,
21067 : /* 39750*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21068 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
21069 : /* 39757*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21070 : 4/*#Ops*/, 3, 4, 6, 1,
21071 : // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21072 : // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
21073 : /* 39766*/ /*Scope*/ 22, /*->39789*/
21074 : /* 39767*/ OPC_CheckChild2Type, MVT::i32,
21075 : /* 39769*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21076 : /* 39771*/ OPC_CheckPredicate, 18, // Predicate_store
21077 : /* 39773*/ OPC_EmitMergeInputChains1_0,
21078 : /* 39774*/ OPC_EmitInteger, MVT::i32, 0,
21079 : /* 39777*/ OPC_EmitInteger, MVT::i32, 0,
21080 : /* 39780*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
21081 : 4/*#Ops*/, 3, 4, 2, 1,
21082 : // Src: (st v4i32:{ *:[v4i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21083 : // Dst: (STORE_v4i32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
21084 : /* 39789*/ 0, /*End of Scope*/
21085 : /* 39790*/ 0, /*End of Scope*/
21086 : /* 39791*/ /*Scope*/ 94|128,2/*350*/, /*->40143*/
21087 : /* 39793*/ OPC_CheckChild1Type, MVT::v2i64,
21088 : /* 39795*/ OPC_Scope, 26|128,2/*282*/, /*->40080*/ // 2 children in Scope
21089 : /* 39798*/ OPC_MoveChild2,
21090 : /* 39799*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39974
21091 : /* 39804*/ OPC_Scope, 34, /*->39840*/ // 5 children in Scope
21092 : /* 39806*/ OPC_RecordChild0, // #2 = $addr
21093 : /* 39807*/ OPC_MoveChild1,
21094 : /* 39808*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21095 : /* 39811*/ OPC_RecordChild0, // #3 = $off
21096 : /* 39812*/ OPC_MoveChild0,
21097 : /* 39813*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21098 : /* 39816*/ OPC_MoveParent,
21099 : /* 39817*/ OPC_MoveParent,
21100 : /* 39818*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21101 : /* 39820*/ OPC_CheckType, MVT::i32,
21102 : /* 39822*/ OPC_MoveParent,
21103 : /* 39823*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21104 : /* 39825*/ OPC_CheckPredicate, 18, // Predicate_store
21105 : /* 39827*/ OPC_EmitMergeInputChains1_0,
21106 : /* 39828*/ OPC_EmitInteger, MVT::i32, 0,
21107 : /* 39831*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21108 : 4/*#Ops*/, 4, 3, 2, 1,
21109 : // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21110 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21111 : /* 39840*/ /*Scope*/ 34, /*->39875*/
21112 : /* 39841*/ OPC_MoveChild0,
21113 : /* 39842*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21114 : /* 39845*/ OPC_RecordChild0, // #2 = $off
21115 : /* 39846*/ OPC_MoveChild0,
21116 : /* 39847*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21117 : /* 39850*/ OPC_MoveParent,
21118 : /* 39851*/ OPC_MoveParent,
21119 : /* 39852*/ OPC_RecordChild1, // #3 = $addr
21120 : /* 39853*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21121 : /* 39855*/ OPC_CheckType, MVT::i32,
21122 : /* 39857*/ OPC_MoveParent,
21123 : /* 39858*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21124 : /* 39860*/ OPC_CheckPredicate, 18, // Predicate_store
21125 : /* 39862*/ OPC_EmitMergeInputChains1_0,
21126 : /* 39863*/ OPC_EmitInteger, MVT::i32, 0,
21127 : /* 39866*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21128 : 4/*#Ops*/, 4, 2, 3, 1,
21129 : // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21130 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21131 : /* 39875*/ /*Scope*/ 32, /*->39908*/
21132 : /* 39876*/ OPC_RecordChild0, // #2 = $addr
21133 : /* 39877*/ OPC_MoveChild1,
21134 : /* 39878*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21135 : /* 39881*/ OPC_RecordChild0, // #3 = $off
21136 : /* 39882*/ OPC_MoveChild0,
21137 : /* 39883*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21138 : /* 39886*/ OPC_MoveParent,
21139 : /* 39887*/ OPC_MoveParent,
21140 : /* 39888*/ OPC_CheckType, MVT::i32,
21141 : /* 39890*/ OPC_MoveParent,
21142 : /* 39891*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21143 : /* 39893*/ OPC_CheckPredicate, 18, // Predicate_store
21144 : /* 39895*/ OPC_EmitMergeInputChains1_0,
21145 : /* 39896*/ OPC_EmitInteger, MVT::i32, 0,
21146 : /* 39899*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21147 : 4/*#Ops*/, 4, 3, 2, 1,
21148 : // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21149 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21150 : /* 39908*/ /*Scope*/ 32, /*->39941*/
21151 : /* 39909*/ OPC_MoveChild0,
21152 : /* 39910*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21153 : /* 39913*/ OPC_RecordChild0, // #2 = $off
21154 : /* 39914*/ OPC_MoveChild0,
21155 : /* 39915*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21156 : /* 39918*/ OPC_MoveParent,
21157 : /* 39919*/ OPC_MoveParent,
21158 : /* 39920*/ OPC_RecordChild1, // #3 = $addr
21159 : /* 39921*/ OPC_CheckType, MVT::i32,
21160 : /* 39923*/ OPC_MoveParent,
21161 : /* 39924*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21162 : /* 39926*/ OPC_CheckPredicate, 18, // Predicate_store
21163 : /* 39928*/ OPC_EmitMergeInputChains1_0,
21164 : /* 39929*/ OPC_EmitInteger, MVT::i32, 0,
21165 : /* 39932*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21166 : 4/*#Ops*/, 4, 2, 3, 1,
21167 : // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21168 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21169 : /* 39941*/ /*Scope*/ 31, /*->39973*/
21170 : /* 39942*/ OPC_RecordChild0, // #2 = $addr
21171 : /* 39943*/ OPC_RecordChild1, // #3 = $off
21172 : /* 39944*/ OPC_MoveChild1,
21173 : /* 39945*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21174 : /* 39948*/ OPC_MoveParent,
21175 : /* 39949*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
21176 : /* 39951*/ OPC_CheckType, MVT::i32,
21177 : /* 39953*/ OPC_MoveParent,
21178 : /* 39954*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21179 : /* 39956*/ OPC_CheckPredicate, 18, // Predicate_store
21180 : /* 39958*/ OPC_EmitMergeInputChains1_0,
21181 : /* 39959*/ OPC_EmitInteger, MVT::i32, 0,
21182 : /* 39962*/ OPC_EmitConvertToTarget, 3,
21183 : /* 39964*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21184 : 4/*#Ops*/, 4, 5, 2, 1,
21185 : // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21186 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21187 : /* 39973*/ 0, /*End of Scope*/
21188 : /* 39974*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40008
21189 : /* 39977*/ OPC_RecordChild0, // #2 = $addr
21190 : /* 39978*/ OPC_RecordChild1, // #3 = $off
21191 : /* 39979*/ OPC_MoveChild1,
21192 : /* 39980*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21193 : /* 39983*/ OPC_MoveParent,
21194 : /* 39984*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
21195 : /* 39986*/ OPC_CheckType, MVT::i32,
21196 : /* 39988*/ OPC_MoveParent,
21197 : /* 39989*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21198 : /* 39991*/ OPC_CheckPredicate, 18, // Predicate_store
21199 : /* 39993*/ OPC_EmitMergeInputChains1_0,
21200 : /* 39994*/ OPC_EmitInteger, MVT::i32, 0,
21201 : /* 39997*/ OPC_EmitConvertToTarget, 3,
21202 : /* 39999*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21203 : 4/*#Ops*/, 4, 5, 2, 1,
21204 : // Src: (st v2i64:{ *:[v2i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21205 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21206 : /* 40008*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40079
21207 : /* 40011*/ OPC_RecordChild0, // #2 = $off
21208 : /* 40012*/ OPC_MoveChild0,
21209 : /* 40013*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40046
21210 : /* 40017*/ OPC_MoveParent,
21211 : /* 40018*/ OPC_MoveParent,
21212 : /* 40019*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21213 : /* 40021*/ OPC_CheckPredicate, 18, // Predicate_store
21214 : /* 40023*/ OPC_EmitMergeInputChains1_0,
21215 : /* 40024*/ OPC_EmitInteger, MVT::i32, 0,
21216 : /* 40027*/ OPC_EmitInteger, MVT::i32, 0,
21217 : /* 40030*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21218 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21219 : /* 40037*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21220 : 4/*#Ops*/, 3, 2, 5, 1,
21221 : // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21222 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
21223 : /* 40046*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40078
21224 : /* 40049*/ OPC_MoveParent,
21225 : /* 40050*/ OPC_MoveParent,
21226 : /* 40051*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21227 : /* 40053*/ OPC_CheckPredicate, 18, // Predicate_store
21228 : /* 40055*/ OPC_EmitMergeInputChains1_0,
21229 : /* 40056*/ OPC_EmitInteger, MVT::i32, 0,
21230 : /* 40059*/ OPC_EmitInteger, MVT::i32, 0,
21231 : /* 40062*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21232 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21233 : /* 40069*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21234 : 4/*#Ops*/, 3, 2, 5, 1,
21235 : // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21236 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
21237 : /* 40078*/ 0, // EndSwitchOpcode
21238 : /* 40079*/ 0, // EndSwitchOpcode
21239 : /* 40080*/ /*Scope*/ 61, /*->40142*/
21240 : /* 40081*/ OPC_RecordChild2, // #2 = $off
21241 : /* 40082*/ OPC_Scope, 34, /*->40118*/ // 2 children in Scope
21242 : /* 40084*/ OPC_MoveChild2,
21243 : /* 40085*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21244 : /* 40088*/ OPC_MoveParent,
21245 : /* 40089*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21246 : /* 40091*/ OPC_CheckPredicate, 18, // Predicate_store
21247 : /* 40093*/ OPC_EmitMergeInputChains1_0,
21248 : /* 40094*/ OPC_EmitInteger, MVT::i32, 0,
21249 : /* 40097*/ OPC_EmitConvertToTarget, 2,
21250 : /* 40099*/ OPC_EmitInteger, MVT::i32, 0,
21251 : /* 40102*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21252 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
21253 : /* 40109*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21254 : 4/*#Ops*/, 3, 4, 6, 1,
21255 : // Src: (st v2i64:{ *:[v2i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21256 : // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
21257 : /* 40118*/ /*Scope*/ 22, /*->40141*/
21258 : /* 40119*/ OPC_CheckChild2Type, MVT::i32,
21259 : /* 40121*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21260 : /* 40123*/ OPC_CheckPredicate, 18, // Predicate_store
21261 : /* 40125*/ OPC_EmitMergeInputChains1_0,
21262 : /* 40126*/ OPC_EmitInteger, MVT::i32, 0,
21263 : /* 40129*/ OPC_EmitInteger, MVT::i32, 0,
21264 : /* 40132*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
21265 : 4/*#Ops*/, 3, 4, 2, 1,
21266 : // Src: (st v2i64:{ *:[v2i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21267 : // Dst: (STORE_v2i64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
21268 : /* 40141*/ 0, /*End of Scope*/
21269 : /* 40142*/ 0, /*End of Scope*/
21270 : /* 40143*/ /*Scope*/ 94|128,2/*350*/, /*->40495*/
21271 : /* 40145*/ OPC_CheckChild1Type, MVT::v4f32,
21272 : /* 40147*/ OPC_Scope, 26|128,2/*282*/, /*->40432*/ // 2 children in Scope
21273 : /* 40150*/ OPC_MoveChild2,
21274 : /* 40151*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->40326
21275 : /* 40156*/ OPC_Scope, 34, /*->40192*/ // 5 children in Scope
21276 : /* 40158*/ OPC_RecordChild0, // #2 = $addr
21277 : /* 40159*/ OPC_MoveChild1,
21278 : /* 40160*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21279 : /* 40163*/ OPC_RecordChild0, // #3 = $off
21280 : /* 40164*/ OPC_MoveChild0,
21281 : /* 40165*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21282 : /* 40168*/ OPC_MoveParent,
21283 : /* 40169*/ OPC_MoveParent,
21284 : /* 40170*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21285 : /* 40172*/ OPC_CheckType, MVT::i32,
21286 : /* 40174*/ OPC_MoveParent,
21287 : /* 40175*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21288 : /* 40177*/ OPC_CheckPredicate, 18, // Predicate_store
21289 : /* 40179*/ OPC_EmitMergeInputChains1_0,
21290 : /* 40180*/ OPC_EmitInteger, MVT::i32, 0,
21291 : /* 40183*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21292 : 4/*#Ops*/, 4, 3, 2, 1,
21293 : // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21294 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21295 : /* 40192*/ /*Scope*/ 34, /*->40227*/
21296 : /* 40193*/ OPC_MoveChild0,
21297 : /* 40194*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21298 : /* 40197*/ OPC_RecordChild0, // #2 = $off
21299 : /* 40198*/ OPC_MoveChild0,
21300 : /* 40199*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21301 : /* 40202*/ OPC_MoveParent,
21302 : /* 40203*/ OPC_MoveParent,
21303 : /* 40204*/ OPC_RecordChild1, // #3 = $addr
21304 : /* 40205*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21305 : /* 40207*/ OPC_CheckType, MVT::i32,
21306 : /* 40209*/ OPC_MoveParent,
21307 : /* 40210*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21308 : /* 40212*/ OPC_CheckPredicate, 18, // Predicate_store
21309 : /* 40214*/ OPC_EmitMergeInputChains1_0,
21310 : /* 40215*/ OPC_EmitInteger, MVT::i32, 0,
21311 : /* 40218*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21312 : 4/*#Ops*/, 4, 2, 3, 1,
21313 : // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21314 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21315 : /* 40227*/ /*Scope*/ 32, /*->40260*/
21316 : /* 40228*/ OPC_RecordChild0, // #2 = $addr
21317 : /* 40229*/ OPC_MoveChild1,
21318 : /* 40230*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21319 : /* 40233*/ OPC_RecordChild0, // #3 = $off
21320 : /* 40234*/ OPC_MoveChild0,
21321 : /* 40235*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21322 : /* 40238*/ OPC_MoveParent,
21323 : /* 40239*/ OPC_MoveParent,
21324 : /* 40240*/ OPC_CheckType, MVT::i32,
21325 : /* 40242*/ OPC_MoveParent,
21326 : /* 40243*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21327 : /* 40245*/ OPC_CheckPredicate, 18, // Predicate_store
21328 : /* 40247*/ OPC_EmitMergeInputChains1_0,
21329 : /* 40248*/ OPC_EmitInteger, MVT::i32, 0,
21330 : /* 40251*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21331 : 4/*#Ops*/, 4, 3, 2, 1,
21332 : // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21333 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21334 : /* 40260*/ /*Scope*/ 32, /*->40293*/
21335 : /* 40261*/ OPC_MoveChild0,
21336 : /* 40262*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21337 : /* 40265*/ OPC_RecordChild0, // #2 = $off
21338 : /* 40266*/ OPC_MoveChild0,
21339 : /* 40267*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21340 : /* 40270*/ OPC_MoveParent,
21341 : /* 40271*/ OPC_MoveParent,
21342 : /* 40272*/ OPC_RecordChild1, // #3 = $addr
21343 : /* 40273*/ OPC_CheckType, MVT::i32,
21344 : /* 40275*/ OPC_MoveParent,
21345 : /* 40276*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21346 : /* 40278*/ OPC_CheckPredicate, 18, // Predicate_store
21347 : /* 40280*/ OPC_EmitMergeInputChains1_0,
21348 : /* 40281*/ OPC_EmitInteger, MVT::i32, 0,
21349 : /* 40284*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21350 : 4/*#Ops*/, 4, 2, 3, 1,
21351 : // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21352 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21353 : /* 40293*/ /*Scope*/ 31, /*->40325*/
21354 : /* 40294*/ OPC_RecordChild0, // #2 = $addr
21355 : /* 40295*/ OPC_RecordChild1, // #3 = $off
21356 : /* 40296*/ OPC_MoveChild1,
21357 : /* 40297*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21358 : /* 40300*/ OPC_MoveParent,
21359 : /* 40301*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
21360 : /* 40303*/ OPC_CheckType, MVT::i32,
21361 : /* 40305*/ OPC_MoveParent,
21362 : /* 40306*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21363 : /* 40308*/ OPC_CheckPredicate, 18, // Predicate_store
21364 : /* 40310*/ OPC_EmitMergeInputChains1_0,
21365 : /* 40311*/ OPC_EmitInteger, MVT::i32, 0,
21366 : /* 40314*/ OPC_EmitConvertToTarget, 3,
21367 : /* 40316*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21368 : 4/*#Ops*/, 4, 5, 2, 1,
21369 : // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21370 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21371 : /* 40325*/ 0, /*End of Scope*/
21372 : /* 40326*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40360
21373 : /* 40329*/ OPC_RecordChild0, // #2 = $addr
21374 : /* 40330*/ OPC_RecordChild1, // #3 = $off
21375 : /* 40331*/ OPC_MoveChild1,
21376 : /* 40332*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21377 : /* 40335*/ OPC_MoveParent,
21378 : /* 40336*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
21379 : /* 40338*/ OPC_CheckType, MVT::i32,
21380 : /* 40340*/ OPC_MoveParent,
21381 : /* 40341*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21382 : /* 40343*/ OPC_CheckPredicate, 18, // Predicate_store
21383 : /* 40345*/ OPC_EmitMergeInputChains1_0,
21384 : /* 40346*/ OPC_EmitInteger, MVT::i32, 0,
21385 : /* 40349*/ OPC_EmitConvertToTarget, 3,
21386 : /* 40351*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21387 : 4/*#Ops*/, 4, 5, 2, 1,
21388 : // Src: (st v4f32:{ *:[v4f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21389 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21390 : /* 40360*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40431
21391 : /* 40363*/ OPC_RecordChild0, // #2 = $off
21392 : /* 40364*/ OPC_MoveChild0,
21393 : /* 40365*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40398
21394 : /* 40369*/ OPC_MoveParent,
21395 : /* 40370*/ OPC_MoveParent,
21396 : /* 40371*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21397 : /* 40373*/ OPC_CheckPredicate, 18, // Predicate_store
21398 : /* 40375*/ OPC_EmitMergeInputChains1_0,
21399 : /* 40376*/ OPC_EmitInteger, MVT::i32, 0,
21400 : /* 40379*/ OPC_EmitInteger, MVT::i32, 0,
21401 : /* 40382*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21402 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21403 : /* 40389*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21404 : 4/*#Ops*/, 3, 2, 5, 1,
21405 : // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21406 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
21407 : /* 40398*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40430
21408 : /* 40401*/ OPC_MoveParent,
21409 : /* 40402*/ OPC_MoveParent,
21410 : /* 40403*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21411 : /* 40405*/ OPC_CheckPredicate, 18, // Predicate_store
21412 : /* 40407*/ OPC_EmitMergeInputChains1_0,
21413 : /* 40408*/ OPC_EmitInteger, MVT::i32, 0,
21414 : /* 40411*/ OPC_EmitInteger, MVT::i32, 0,
21415 : /* 40414*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21416 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21417 : /* 40421*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21418 : 4/*#Ops*/, 3, 2, 5, 1,
21419 : // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21420 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
21421 : /* 40430*/ 0, // EndSwitchOpcode
21422 : /* 40431*/ 0, // EndSwitchOpcode
21423 : /* 40432*/ /*Scope*/ 61, /*->40494*/
21424 : /* 40433*/ OPC_RecordChild2, // #2 = $off
21425 : /* 40434*/ OPC_Scope, 34, /*->40470*/ // 2 children in Scope
21426 : /* 40436*/ OPC_MoveChild2,
21427 : /* 40437*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21428 : /* 40440*/ OPC_MoveParent,
21429 : /* 40441*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21430 : /* 40443*/ OPC_CheckPredicate, 18, // Predicate_store
21431 : /* 40445*/ OPC_EmitMergeInputChains1_0,
21432 : /* 40446*/ OPC_EmitInteger, MVT::i32, 0,
21433 : /* 40449*/ OPC_EmitConvertToTarget, 2,
21434 : /* 40451*/ OPC_EmitInteger, MVT::i32, 0,
21435 : /* 40454*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21436 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
21437 : /* 40461*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21438 : 4/*#Ops*/, 3, 4, 6, 1,
21439 : // Src: (st v4f32:{ *:[v4f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21440 : // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
21441 : /* 40470*/ /*Scope*/ 22, /*->40493*/
21442 : /* 40471*/ OPC_CheckChild2Type, MVT::i32,
21443 : /* 40473*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21444 : /* 40475*/ OPC_CheckPredicate, 18, // Predicate_store
21445 : /* 40477*/ OPC_EmitMergeInputChains1_0,
21446 : /* 40478*/ OPC_EmitInteger, MVT::i32, 0,
21447 : /* 40481*/ OPC_EmitInteger, MVT::i32, 0,
21448 : /* 40484*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
21449 : 4/*#Ops*/, 3, 4, 2, 1,
21450 : // Src: (st v4f32:{ *:[v4f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21451 : // Dst: (STORE_v4f32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
21452 : /* 40493*/ 0, /*End of Scope*/
21453 : /* 40494*/ 0, /*End of Scope*/
21454 : /* 40495*/ /*Scope*/ 94|128,2/*350*/, /*->40847*/
21455 : /* 40497*/ OPC_CheckChild1Type, MVT::v2f64,
21456 : /* 40499*/ OPC_Scope, 26|128,2/*282*/, /*->40784*/ // 2 children in Scope
21457 : /* 40502*/ OPC_MoveChild2,
21458 : /* 40503*/ OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->40678
21459 : /* 40508*/ OPC_Scope, 34, /*->40544*/ // 5 children in Scope
21460 : /* 40510*/ OPC_RecordChild0, // #2 = $addr
21461 : /* 40511*/ OPC_MoveChild1,
21462 : /* 40512*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21463 : /* 40515*/ OPC_RecordChild0, // #3 = $off
21464 : /* 40516*/ OPC_MoveChild0,
21465 : /* 40517*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21466 : /* 40520*/ OPC_MoveParent,
21467 : /* 40521*/ OPC_MoveParent,
21468 : /* 40522*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21469 : /* 40524*/ OPC_CheckType, MVT::i32,
21470 : /* 40526*/ OPC_MoveParent,
21471 : /* 40527*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21472 : /* 40529*/ OPC_CheckPredicate, 18, // Predicate_store
21473 : /* 40531*/ OPC_EmitMergeInputChains1_0,
21474 : /* 40532*/ OPC_EmitInteger, MVT::i32, 0,
21475 : /* 40535*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21476 : 4/*#Ops*/, 4, 3, 2, 1,
21477 : // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21478 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21479 : /* 40544*/ /*Scope*/ 34, /*->40579*/
21480 : /* 40545*/ OPC_MoveChild0,
21481 : /* 40546*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21482 : /* 40549*/ OPC_RecordChild0, // #2 = $off
21483 : /* 40550*/ OPC_MoveChild0,
21484 : /* 40551*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21485 : /* 40554*/ OPC_MoveParent,
21486 : /* 40555*/ OPC_MoveParent,
21487 : /* 40556*/ OPC_RecordChild1, // #3 = $addr
21488 : /* 40557*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21489 : /* 40559*/ OPC_CheckType, MVT::i32,
21490 : /* 40561*/ OPC_MoveParent,
21491 : /* 40562*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21492 : /* 40564*/ OPC_CheckPredicate, 18, // Predicate_store
21493 : /* 40566*/ OPC_EmitMergeInputChains1_0,
21494 : /* 40567*/ OPC_EmitInteger, MVT::i32, 0,
21495 : /* 40570*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21496 : 4/*#Ops*/, 4, 2, 3, 1,
21497 : // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
21498 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21499 : /* 40579*/ /*Scope*/ 32, /*->40612*/
21500 : /* 40580*/ OPC_RecordChild0, // #2 = $addr
21501 : /* 40581*/ OPC_MoveChild1,
21502 : /* 40582*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21503 : /* 40585*/ OPC_RecordChild0, // #3 = $off
21504 : /* 40586*/ OPC_MoveChild0,
21505 : /* 40587*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21506 : /* 40590*/ OPC_MoveParent,
21507 : /* 40591*/ OPC_MoveParent,
21508 : /* 40592*/ OPC_CheckType, MVT::i32,
21509 : /* 40594*/ OPC_MoveParent,
21510 : /* 40595*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21511 : /* 40597*/ OPC_CheckPredicate, 18, // Predicate_store
21512 : /* 40599*/ OPC_EmitMergeInputChains1_0,
21513 : /* 40600*/ OPC_EmitInteger, MVT::i32, 0,
21514 : /* 40603*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21515 : 4/*#Ops*/, 4, 3, 2, 1,
21516 : // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21517 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21518 : /* 40612*/ /*Scope*/ 32, /*->40645*/
21519 : /* 40613*/ OPC_MoveChild0,
21520 : /* 40614*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21521 : /* 40617*/ OPC_RecordChild0, // #2 = $off
21522 : /* 40618*/ OPC_MoveChild0,
21523 : /* 40619*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21524 : /* 40622*/ OPC_MoveParent,
21525 : /* 40623*/ OPC_MoveParent,
21526 : /* 40624*/ OPC_RecordChild1, // #3 = $addr
21527 : /* 40625*/ OPC_CheckType, MVT::i32,
21528 : /* 40627*/ OPC_MoveParent,
21529 : /* 40628*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21530 : /* 40630*/ OPC_CheckPredicate, 18, // Predicate_store
21531 : /* 40632*/ OPC_EmitMergeInputChains1_0,
21532 : /* 40633*/ OPC_EmitInteger, MVT::i32, 0,
21533 : /* 40636*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21534 : 4/*#Ops*/, 4, 2, 3, 1,
21535 : // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
21536 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21537 : /* 40645*/ /*Scope*/ 31, /*->40677*/
21538 : /* 40646*/ OPC_RecordChild0, // #2 = $addr
21539 : /* 40647*/ OPC_RecordChild1, // #3 = $off
21540 : /* 40648*/ OPC_MoveChild1,
21541 : /* 40649*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21542 : /* 40652*/ OPC_MoveParent,
21543 : /* 40653*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
21544 : /* 40655*/ OPC_CheckType, MVT::i32,
21545 : /* 40657*/ OPC_MoveParent,
21546 : /* 40658*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21547 : /* 40660*/ OPC_CheckPredicate, 18, // Predicate_store
21548 : /* 40662*/ OPC_EmitMergeInputChains1_0,
21549 : /* 40663*/ OPC_EmitInteger, MVT::i32, 0,
21550 : /* 40666*/ OPC_EmitConvertToTarget, 3,
21551 : /* 40668*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21552 : 4/*#Ops*/, 4, 5, 2, 1,
21553 : // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21554 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21555 : /* 40677*/ 0, /*End of Scope*/
21556 : /* 40678*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40712
21557 : /* 40681*/ OPC_RecordChild0, // #2 = $addr
21558 : /* 40682*/ OPC_RecordChild1, // #3 = $off
21559 : /* 40683*/ OPC_MoveChild1,
21560 : /* 40684*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21561 : /* 40687*/ OPC_MoveParent,
21562 : /* 40688*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
21563 : /* 40690*/ OPC_CheckType, MVT::i32,
21564 : /* 40692*/ OPC_MoveParent,
21565 : /* 40693*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21566 : /* 40695*/ OPC_CheckPredicate, 18, // Predicate_store
21567 : /* 40697*/ OPC_EmitMergeInputChains1_0,
21568 : /* 40698*/ OPC_EmitInteger, MVT::i32, 0,
21569 : /* 40701*/ OPC_EmitConvertToTarget, 3,
21570 : /* 40703*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21571 : 4/*#Ops*/, 4, 5, 2, 1,
21572 : // Src: (st v2f64:{ *:[v2f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
21573 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21574 : /* 40712*/ /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40783
21575 : /* 40715*/ OPC_RecordChild0, // #2 = $off
21576 : /* 40716*/ OPC_MoveChild0,
21577 : /* 40717*/ OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40750
21578 : /* 40721*/ OPC_MoveParent,
21579 : /* 40722*/ OPC_MoveParent,
21580 : /* 40723*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21581 : /* 40725*/ OPC_CheckPredicate, 18, // Predicate_store
21582 : /* 40727*/ OPC_EmitMergeInputChains1_0,
21583 : /* 40728*/ OPC_EmitInteger, MVT::i32, 0,
21584 : /* 40731*/ OPC_EmitInteger, MVT::i32, 0,
21585 : /* 40734*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21586 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21587 : /* 40741*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21588 : 4/*#Ops*/, 3, 2, 5, 1,
21589 : // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21590 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
21591 : /* 40750*/ /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40782
21592 : /* 40753*/ OPC_MoveParent,
21593 : /* 40754*/ OPC_MoveParent,
21594 : /* 40755*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21595 : /* 40757*/ OPC_CheckPredicate, 18, // Predicate_store
21596 : /* 40759*/ OPC_EmitMergeInputChains1_0,
21597 : /* 40760*/ OPC_EmitInteger, MVT::i32, 0,
21598 : /* 40763*/ OPC_EmitInteger, MVT::i32, 0,
21599 : /* 40766*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21600 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
21601 : /* 40773*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21602 : 4/*#Ops*/, 3, 2, 5, 1,
21603 : // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
21604 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
21605 : /* 40782*/ 0, // EndSwitchOpcode
21606 : /* 40783*/ 0, // EndSwitchOpcode
21607 : /* 40784*/ /*Scope*/ 61, /*->40846*/
21608 : /* 40785*/ OPC_RecordChild2, // #2 = $off
21609 : /* 40786*/ OPC_Scope, 34, /*->40822*/ // 2 children in Scope
21610 : /* 40788*/ OPC_MoveChild2,
21611 : /* 40789*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21612 : /* 40792*/ OPC_MoveParent,
21613 : /* 40793*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21614 : /* 40795*/ OPC_CheckPredicate, 18, // Predicate_store
21615 : /* 40797*/ OPC_EmitMergeInputChains1_0,
21616 : /* 40798*/ OPC_EmitInteger, MVT::i32, 0,
21617 : /* 40801*/ OPC_EmitConvertToTarget, 2,
21618 : /* 40803*/ OPC_EmitInteger, MVT::i32, 0,
21619 : /* 40806*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21620 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
21621 : /* 40813*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21622 : 4/*#Ops*/, 3, 4, 6, 1,
21623 : // Src: (st v2f64:{ *:[v2f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
21624 : // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
21625 : /* 40822*/ /*Scope*/ 22, /*->40845*/
21626 : /* 40823*/ OPC_CheckChild2Type, MVT::i32,
21627 : /* 40825*/ OPC_CheckPredicate, 17, // Predicate_unindexedstore
21628 : /* 40827*/ OPC_CheckPredicate, 18, // Predicate_store
21629 : /* 40829*/ OPC_EmitMergeInputChains1_0,
21630 : /* 40830*/ OPC_EmitInteger, MVT::i32, 0,
21631 : /* 40833*/ OPC_EmitInteger, MVT::i32, 0,
21632 : /* 40836*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
21633 : 4/*#Ops*/, 3, 4, 2, 1,
21634 : // Src: (st v2f64:{ *:[v2f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
21635 : // Dst: (STORE_v2f64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
21636 : /* 40845*/ 0, /*End of Scope*/
21637 : /* 40846*/ 0, /*End of Scope*/
21638 : /* 40847*/ 0, /*End of Scope*/
21639 : /* 40848*/ /*SwitchOpcode*/ 66|128,8/*1090*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->41942
21640 : /* 40852*/ OPC_RecordMemRef,
21641 : /* 40853*/ OPC_RecordNode, // #0 = 'atomic_load' chained node
21642 : /* 40854*/ OPC_Scope, 83|128,6/*851*/, /*->41708*/ // 2 children in Scope
21643 : /* 40857*/ OPC_MoveChild1,
21644 : /* 40858*/ OPC_SwitchOpcode /*3 cases */, 102|128,3/*486*/, TARGET_VAL(ISD::ADD),// ->41349
21645 : /* 40863*/ OPC_Scope, 96, /*->40961*/ // 5 children in Scope
21646 : /* 40865*/ OPC_RecordChild0, // #1 = $addr
21647 : /* 40866*/ OPC_MoveChild1,
21648 : /* 40867*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21649 : /* 40870*/ OPC_RecordChild0, // #2 = $off
21650 : /* 40871*/ OPC_MoveChild0,
21651 : /* 40872*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21652 : /* 40875*/ OPC_MoveParent,
21653 : /* 40876*/ OPC_MoveParent,
21654 : /* 40877*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21655 : /* 40879*/ OPC_CheckType, MVT::i32,
21656 : /* 40881*/ OPC_MoveParent,
21657 : /* 40882*/ OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->40941
21658 : /* 40885*/ OPC_Scope, 17, /*->40904*/ // 3 children in Scope
21659 : /* 40887*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21660 : /* 40889*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21661 : /* 40891*/ OPC_EmitMergeInputChains1_0,
21662 : /* 40892*/ OPC_EmitInteger, MVT::i32, 0,
21663 : /* 40895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21664 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21665 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_32>> - Complexity = 14
21666 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21667 : /* 40904*/ /*Scope*/ 17, /*->40922*/
21668 : /* 40905*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21669 : /* 40907*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21670 : /* 40909*/ OPC_EmitMergeInputChains1_0,
21671 : /* 40910*/ OPC_EmitInteger, MVT::i32, 0,
21672 : /* 40913*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21673 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21674 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>> - Complexity = 14
21675 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21676 : /* 40922*/ /*Scope*/ 17, /*->40940*/
21677 : /* 40923*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21678 : /* 40925*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21679 : /* 40927*/ OPC_EmitMergeInputChains1_0,
21680 : /* 40928*/ OPC_EmitInteger, MVT::i32, 0,
21681 : /* 40931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21682 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21683 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>> - Complexity = 14
21684 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21685 : /* 40940*/ 0, /*End of Scope*/
21686 : /* 40941*/ /*SwitchType*/ 17, MVT::i64,// ->40960
21687 : /* 40943*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21688 : /* 40945*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21689 : /* 40947*/ OPC_EmitMergeInputChains1_0,
21690 : /* 40948*/ OPC_EmitInteger, MVT::i32, 0,
21691 : /* 40951*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21692 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
21693 : // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_64>> - Complexity = 14
21694 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21695 : /* 40960*/ 0, // EndSwitchType
21696 : /* 40961*/ /*Scope*/ 96, /*->41058*/
21697 : /* 40962*/ OPC_MoveChild0,
21698 : /* 40963*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21699 : /* 40966*/ OPC_RecordChild0, // #1 = $off
21700 : /* 40967*/ OPC_MoveChild0,
21701 : /* 40968*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
21702 : /* 40971*/ OPC_MoveParent,
21703 : /* 40972*/ OPC_MoveParent,
21704 : /* 40973*/ OPC_RecordChild1, // #2 = $addr
21705 : /* 40974*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
21706 : /* 40976*/ OPC_CheckType, MVT::i32,
21707 : /* 40978*/ OPC_MoveParent,
21708 : /* 40979*/ OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41038
21709 : /* 40982*/ OPC_Scope, 17, /*->41001*/ // 3 children in Scope
21710 : /* 40984*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21711 : /* 40986*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21712 : /* 40988*/ OPC_EmitMergeInputChains1_0,
21713 : /* 40989*/ OPC_EmitInteger, MVT::i32, 0,
21714 : /* 40992*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21715 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21716 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_32>> - Complexity = 14
21717 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21718 : /* 41001*/ /*Scope*/ 17, /*->41019*/
21719 : /* 41002*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21720 : /* 41004*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21721 : /* 41006*/ OPC_EmitMergeInputChains1_0,
21722 : /* 41007*/ OPC_EmitInteger, MVT::i32, 0,
21723 : /* 41010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21724 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21725 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>> - Complexity = 14
21726 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21727 : /* 41019*/ /*Scope*/ 17, /*->41037*/
21728 : /* 41020*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21729 : /* 41022*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21730 : /* 41024*/ OPC_EmitMergeInputChains1_0,
21731 : /* 41025*/ OPC_EmitInteger, MVT::i32, 0,
21732 : /* 41028*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21733 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21734 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>> - Complexity = 14
21735 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21736 : /* 41037*/ 0, /*End of Scope*/
21737 : /* 41038*/ /*SwitchType*/ 17, MVT::i64,// ->41057
21738 : /* 41040*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21739 : /* 41042*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21740 : /* 41044*/ OPC_EmitMergeInputChains1_0,
21741 : /* 41045*/ OPC_EmitInteger, MVT::i32, 0,
21742 : /* 41048*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21743 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
21744 : // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_64>> - Complexity = 14
21745 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21746 : /* 41057*/ 0, // EndSwitchType
21747 : /* 41058*/ /*Scope*/ 94, /*->41153*/
21748 : /* 41059*/ OPC_RecordChild0, // #1 = $addr
21749 : /* 41060*/ OPC_MoveChild1,
21750 : /* 41061*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21751 : /* 41064*/ OPC_RecordChild0, // #2 = $off
21752 : /* 41065*/ OPC_MoveChild0,
21753 : /* 41066*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21754 : /* 41069*/ OPC_MoveParent,
21755 : /* 41070*/ OPC_MoveParent,
21756 : /* 41071*/ OPC_CheckType, MVT::i32,
21757 : /* 41073*/ OPC_MoveParent,
21758 : /* 41074*/ OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41133
21759 : /* 41077*/ OPC_Scope, 17, /*->41096*/ // 3 children in Scope
21760 : /* 41079*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21761 : /* 41081*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21762 : /* 41083*/ OPC_EmitMergeInputChains1_0,
21763 : /* 41084*/ OPC_EmitInteger, MVT::i32, 0,
21764 : /* 41087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21765 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21766 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_32>> - Complexity = 13
21767 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21768 : /* 41096*/ /*Scope*/ 17, /*->41114*/
21769 : /* 41097*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21770 : /* 41099*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21771 : /* 41101*/ OPC_EmitMergeInputChains1_0,
21772 : /* 41102*/ OPC_EmitInteger, MVT::i32, 0,
21773 : /* 41105*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21774 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21775 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>> - Complexity = 13
21776 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21777 : /* 41114*/ /*Scope*/ 17, /*->41132*/
21778 : /* 41115*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21779 : /* 41117*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21780 : /* 41119*/ OPC_EmitMergeInputChains1_0,
21781 : /* 41120*/ OPC_EmitInteger, MVT::i32, 0,
21782 : /* 41123*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21783 : MVT::i32, 3/*#Ops*/, 3, 2, 1,
21784 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>> - Complexity = 13
21785 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21786 : /* 41132*/ 0, /*End of Scope*/
21787 : /* 41133*/ /*SwitchType*/ 17, MVT::i64,// ->41152
21788 : /* 41135*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21789 : /* 41137*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21790 : /* 41139*/ OPC_EmitMergeInputChains1_0,
21791 : /* 41140*/ OPC_EmitInteger, MVT::i32, 0,
21792 : /* 41143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21793 : MVT::i64, 3/*#Ops*/, 3, 2, 1,
21794 : // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_64>> - Complexity = 13
21795 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21796 : /* 41152*/ 0, // EndSwitchType
21797 : /* 41153*/ /*Scope*/ 94, /*->41248*/
21798 : /* 41154*/ OPC_MoveChild0,
21799 : /* 41155*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
21800 : /* 41158*/ OPC_RecordChild0, // #1 = $off
21801 : /* 41159*/ OPC_MoveChild0,
21802 : /* 41160*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
21803 : /* 41163*/ OPC_MoveParent,
21804 : /* 41164*/ OPC_MoveParent,
21805 : /* 41165*/ OPC_RecordChild1, // #2 = $addr
21806 : /* 41166*/ OPC_CheckType, MVT::i32,
21807 : /* 41168*/ OPC_MoveParent,
21808 : /* 41169*/ OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41228
21809 : /* 41172*/ OPC_Scope, 17, /*->41191*/ // 3 children in Scope
21810 : /* 41174*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21811 : /* 41176*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21812 : /* 41178*/ OPC_EmitMergeInputChains1_0,
21813 : /* 41179*/ OPC_EmitInteger, MVT::i32, 0,
21814 : /* 41182*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21815 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21816 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_32>> - Complexity = 13
21817 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21818 : /* 41191*/ /*Scope*/ 17, /*->41209*/
21819 : /* 41192*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21820 : /* 41194*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21821 : /* 41196*/ OPC_EmitMergeInputChains1_0,
21822 : /* 41197*/ OPC_EmitInteger, MVT::i32, 0,
21823 : /* 41200*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21824 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21825 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>> - Complexity = 13
21826 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21827 : /* 41209*/ /*Scope*/ 17, /*->41227*/
21828 : /* 41210*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21829 : /* 41212*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21830 : /* 41214*/ OPC_EmitMergeInputChains1_0,
21831 : /* 41215*/ OPC_EmitInteger, MVT::i32, 0,
21832 : /* 41218*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21833 : MVT::i32, 3/*#Ops*/, 3, 1, 2,
21834 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>> - Complexity = 13
21835 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21836 : /* 41227*/ 0, /*End of Scope*/
21837 : /* 41228*/ /*SwitchType*/ 17, MVT::i64,// ->41247
21838 : /* 41230*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21839 : /* 41232*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21840 : /* 41234*/ OPC_EmitMergeInputChains1_0,
21841 : /* 41235*/ OPC_EmitInteger, MVT::i32, 0,
21842 : /* 41238*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21843 : MVT::i64, 3/*#Ops*/, 3, 1, 2,
21844 : // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_64>> - Complexity = 13
21845 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21846 : /* 41247*/ 0, // EndSwitchType
21847 : /* 41248*/ /*Scope*/ 99, /*->41348*/
21848 : /* 41249*/ OPC_RecordChild0, // #1 = $addr
21849 : /* 41250*/ OPC_RecordChild1, // #2 = $off
21850 : /* 41251*/ OPC_MoveChild1,
21851 : /* 41252*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21852 : /* 41255*/ OPC_MoveParent,
21853 : /* 41256*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
21854 : /* 41258*/ OPC_CheckType, MVT::i32,
21855 : /* 41260*/ OPC_MoveParent,
21856 : /* 41261*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->41326
21857 : /* 41264*/ OPC_Scope, 19, /*->41285*/ // 3 children in Scope
21858 : /* 41266*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21859 : /* 41268*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21860 : /* 41270*/ OPC_EmitMergeInputChains1_0,
21861 : /* 41271*/ OPC_EmitInteger, MVT::i32, 0,
21862 : /* 41274*/ OPC_EmitConvertToTarget, 2,
21863 : /* 41276*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21864 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21865 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
21866 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21867 : /* 41285*/ /*Scope*/ 19, /*->41305*/
21868 : /* 41286*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21869 : /* 41288*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21870 : /* 41290*/ OPC_EmitMergeInputChains1_0,
21871 : /* 41291*/ OPC_EmitInteger, MVT::i32, 0,
21872 : /* 41294*/ OPC_EmitConvertToTarget, 2,
21873 : /* 41296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21874 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21875 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
21876 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21877 : /* 41305*/ /*Scope*/ 19, /*->41325*/
21878 : /* 41306*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21879 : /* 41308*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21880 : /* 41310*/ OPC_EmitMergeInputChains1_0,
21881 : /* 41311*/ OPC_EmitInteger, MVT::i32, 0,
21882 : /* 41314*/ OPC_EmitConvertToTarget, 2,
21883 : /* 41316*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21884 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21885 : // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
21886 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21887 : /* 41325*/ 0, /*End of Scope*/
21888 : /* 41326*/ /*SwitchType*/ 19, MVT::i64,// ->41347
21889 : /* 41328*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21890 : /* 41330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21891 : /* 41332*/ OPC_EmitMergeInputChains1_0,
21892 : /* 41333*/ OPC_EmitInteger, MVT::i32, 0,
21893 : /* 41336*/ OPC_EmitConvertToTarget, 2,
21894 : /* 41338*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21895 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
21896 : // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
21897 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21898 : /* 41347*/ 0, // EndSwitchType
21899 : /* 41348*/ 0, /*End of Scope*/
21900 : /* 41349*/ /*SwitchOpcode*/ 99, TARGET_VAL(ISD::OR),// ->41451
21901 : /* 41352*/ OPC_RecordChild0, // #1 = $addr
21902 : /* 41353*/ OPC_RecordChild1, // #2 = $off
21903 : /* 41354*/ OPC_MoveChild1,
21904 : /* 41355*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21905 : /* 41358*/ OPC_MoveParent,
21906 : /* 41359*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
21907 : /* 41361*/ OPC_CheckType, MVT::i32,
21908 : /* 41363*/ OPC_MoveParent,
21909 : /* 41364*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->41429
21910 : /* 41367*/ OPC_Scope, 19, /*->41388*/ // 3 children in Scope
21911 : /* 41369*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21912 : /* 41371*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21913 : /* 41373*/ OPC_EmitMergeInputChains1_0,
21914 : /* 41374*/ OPC_EmitInteger, MVT::i32, 0,
21915 : /* 41377*/ OPC_EmitConvertToTarget, 2,
21916 : /* 41379*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21917 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21918 : // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
21919 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21920 : /* 41388*/ /*Scope*/ 19, /*->41408*/
21921 : /* 41389*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21922 : /* 41391*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21923 : /* 41393*/ OPC_EmitMergeInputChains1_0,
21924 : /* 41394*/ OPC_EmitInteger, MVT::i32, 0,
21925 : /* 41397*/ OPC_EmitConvertToTarget, 2,
21926 : /* 41399*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21927 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21928 : // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
21929 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21930 : /* 41408*/ /*Scope*/ 19, /*->41428*/
21931 : /* 41409*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21932 : /* 41411*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21933 : /* 41413*/ OPC_EmitMergeInputChains1_0,
21934 : /* 41414*/ OPC_EmitInteger, MVT::i32, 0,
21935 : /* 41417*/ OPC_EmitConvertToTarget, 2,
21936 : /* 41419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21937 : MVT::i32, 3/*#Ops*/, 3, 4, 1,
21938 : // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
21939 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21940 : /* 41428*/ 0, /*End of Scope*/
21941 : /* 41429*/ /*SwitchType*/ 19, MVT::i64,// ->41450
21942 : /* 41431*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21943 : /* 41433*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21944 : /* 41435*/ OPC_EmitMergeInputChains1_0,
21945 : /* 41436*/ OPC_EmitInteger, MVT::i32, 0,
21946 : /* 41439*/ OPC_EmitConvertToTarget, 2,
21947 : /* 41441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
21948 : MVT::i64, 3/*#Ops*/, 3, 4, 1,
21949 : // Src: (atomic_load:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
21950 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
21951 : /* 41450*/ 0, // EndSwitchType
21952 : /* 41451*/ /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->41707
21953 : /* 41455*/ OPC_RecordChild0, // #1 = $off
21954 : /* 41456*/ OPC_MoveChild0,
21955 : /* 41457*/ OPC_SwitchOpcode /*2 cases */, 121, TARGET_VAL(ISD::TargetGlobalAddress),// ->41582
21956 : /* 41461*/ OPC_MoveParent,
21957 : /* 41462*/ OPC_MoveParent,
21958 : /* 41463*/ OPC_SwitchType /*2 cases */, 86, MVT::i32,// ->41552
21959 : /* 41466*/ OPC_Scope, 27, /*->41495*/ // 3 children in Scope
21960 : /* 41468*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
21961 : /* 41470*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21962 : /* 41472*/ OPC_EmitMergeInputChains1_0,
21963 : /* 41473*/ OPC_EmitInteger, MVT::i32, 0,
21964 : /* 41476*/ OPC_EmitInteger, MVT::i32, 0,
21965 : /* 41479*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21966 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
21967 : /* 41486*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
21968 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
21969 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
21970 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
21971 : /* 41495*/ /*Scope*/ 27, /*->41523*/
21972 : /* 41496*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
21973 : /* 41498*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21974 : /* 41500*/ OPC_EmitMergeInputChains1_0,
21975 : /* 41501*/ OPC_EmitInteger, MVT::i32, 0,
21976 : /* 41504*/ OPC_EmitInteger, MVT::i32, 0,
21977 : /* 41507*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21978 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
21979 : /* 41514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21980 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
21981 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
21982 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
21983 : /* 41523*/ /*Scope*/ 27, /*->41551*/
21984 : /* 41524*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
21985 : /* 41526*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21986 : /* 41528*/ OPC_EmitMergeInputChains1_0,
21987 : /* 41529*/ OPC_EmitInteger, MVT::i32, 0,
21988 : /* 41532*/ OPC_EmitInteger, MVT::i32, 0,
21989 : /* 41535*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
21990 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
21991 : /* 41542*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
21992 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
21993 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
21994 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
21995 : /* 41551*/ 0, /*End of Scope*/
21996 : /* 41552*/ /*SwitchType*/ 27, MVT::i64,// ->41581
21997 : /* 41554*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
21998 : /* 41556*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
21999 : /* 41558*/ OPC_EmitMergeInputChains1_0,
22000 : /* 41559*/ OPC_EmitInteger, MVT::i32, 0,
22001 : /* 41562*/ OPC_EmitInteger, MVT::i32, 0,
22002 : /* 41565*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22003 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
22004 : /* 41572*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22005 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
22006 : // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
22007 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22008 : /* 41581*/ 0, // EndSwitchType
22009 : /* 41582*/ /*SwitchOpcode*/ 121, TARGET_VAL(ISD::TargetExternalSymbol),// ->41706
22010 : /* 41585*/ OPC_MoveParent,
22011 : /* 41586*/ OPC_MoveParent,
22012 : /* 41587*/ OPC_SwitchType /*2 cases */, 86, MVT::i32,// ->41676
22013 : /* 41590*/ OPC_Scope, 27, /*->41619*/ // 3 children in Scope
22014 : /* 41592*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
22015 : /* 41594*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22016 : /* 41596*/ OPC_EmitMergeInputChains1_0,
22017 : /* 41597*/ OPC_EmitInteger, MVT::i32, 0,
22018 : /* 41600*/ OPC_EmitInteger, MVT::i32, 0,
22019 : /* 41603*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22020 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
22021 : /* 41610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22022 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
22023 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
22024 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22025 : /* 41619*/ /*Scope*/ 27, /*->41647*/
22026 : /* 41620*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22027 : /* 41622*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22028 : /* 41624*/ OPC_EmitMergeInputChains1_0,
22029 : /* 41625*/ OPC_EmitInteger, MVT::i32, 0,
22030 : /* 41628*/ OPC_EmitInteger, MVT::i32, 0,
22031 : /* 41631*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22032 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
22033 : /* 41638*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22034 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
22035 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
22036 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22037 : /* 41647*/ /*Scope*/ 27, /*->41675*/
22038 : /* 41648*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22039 : /* 41650*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22040 : /* 41652*/ OPC_EmitMergeInputChains1_0,
22041 : /* 41653*/ OPC_EmitInteger, MVT::i32, 0,
22042 : /* 41656*/ OPC_EmitInteger, MVT::i32, 0,
22043 : /* 41659*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22044 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
22045 : /* 41666*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22046 : MVT::i32, 3/*#Ops*/, 2, 1, 4,
22047 : // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
22048 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22049 : /* 41675*/ 0, /*End of Scope*/
22050 : /* 41676*/ /*SwitchType*/ 27, MVT::i64,// ->41705
22051 : /* 41678*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
22052 : /* 41680*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22053 : /* 41682*/ OPC_EmitMergeInputChains1_0,
22054 : /* 41683*/ OPC_EmitInteger, MVT::i32, 0,
22055 : /* 41686*/ OPC_EmitInteger, MVT::i32, 0,
22056 : /* 41689*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22057 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
22058 : /* 41696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22059 : MVT::i64, 3/*#Ops*/, 2, 1, 4,
22060 : // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
22061 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22062 : /* 41705*/ 0, // EndSwitchType
22063 : /* 41706*/ 0, // EndSwitchOpcode
22064 : /* 41707*/ 0, // EndSwitchOpcode
22065 : /* 41708*/ /*Scope*/ 103|128,1/*231*/, /*->41941*/
22066 : /* 41710*/ OPC_RecordChild1, // #1 = $off
22067 : /* 41711*/ OPC_Scope, 4|128,1/*132*/, /*->41846*/ // 2 children in Scope
22068 : /* 41714*/ OPC_MoveChild1,
22069 : /* 41715*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22070 : /* 41718*/ OPC_MoveParent,
22071 : /* 41719*/ OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->41814
22072 : /* 41722*/ OPC_Scope, 29, /*->41753*/ // 3 children in Scope
22073 : /* 41724*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
22074 : /* 41726*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22075 : /* 41728*/ OPC_EmitMergeInputChains1_0,
22076 : /* 41729*/ OPC_EmitInteger, MVT::i32, 0,
22077 : /* 41732*/ OPC_EmitConvertToTarget, 1,
22078 : /* 41734*/ OPC_EmitInteger, MVT::i32, 0,
22079 : /* 41737*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22080 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22081 : /* 41744*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22082 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
22083 : // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_32>> - Complexity = 7
22084 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22085 : /* 41753*/ /*Scope*/ 29, /*->41783*/
22086 : /* 41754*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22087 : /* 41756*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22088 : /* 41758*/ OPC_EmitMergeInputChains1_0,
22089 : /* 41759*/ OPC_EmitInteger, MVT::i32, 0,
22090 : /* 41762*/ OPC_EmitConvertToTarget, 1,
22091 : /* 41764*/ OPC_EmitInteger, MVT::i32, 0,
22092 : /* 41767*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22093 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22094 : /* 41774*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22095 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
22096 : // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>> - Complexity = 7
22097 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22098 : /* 41783*/ /*Scope*/ 29, /*->41813*/
22099 : /* 41784*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22100 : /* 41786*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22101 : /* 41788*/ OPC_EmitMergeInputChains1_0,
22102 : /* 41789*/ OPC_EmitInteger, MVT::i32, 0,
22103 : /* 41792*/ OPC_EmitConvertToTarget, 1,
22104 : /* 41794*/ OPC_EmitInteger, MVT::i32, 0,
22105 : /* 41797*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22106 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22107 : /* 41804*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22108 : MVT::i32, 3/*#Ops*/, 2, 3, 5,
22109 : // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>> - Complexity = 7
22110 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22111 : /* 41813*/ 0, /*End of Scope*/
22112 : /* 41814*/ /*SwitchType*/ 29, MVT::i64,// ->41845
22113 : /* 41816*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
22114 : /* 41818*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22115 : /* 41820*/ OPC_EmitMergeInputChains1_0,
22116 : /* 41821*/ OPC_EmitInteger, MVT::i32, 0,
22117 : /* 41824*/ OPC_EmitConvertToTarget, 1,
22118 : /* 41826*/ OPC_EmitInteger, MVT::i32, 0,
22119 : /* 41829*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22120 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22121 : /* 41836*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22122 : MVT::i64, 3/*#Ops*/, 2, 3, 5,
22123 : // Src: (atomic_load:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_64>> - Complexity = 7
22124 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
22125 : /* 41845*/ 0, // EndSwitchType
22126 : /* 41846*/ /*Scope*/ 93, /*->41940*/
22127 : /* 41847*/ OPC_CheckChild1Type, MVT::i32,
22128 : /* 41849*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->41917
22129 : /* 41852*/ OPC_Scope, 20, /*->41874*/ // 3 children in Scope
22130 : /* 41854*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_32
22131 : /* 41856*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22132 : /* 41858*/ OPC_EmitMergeInputChains1_0,
22133 : /* 41859*/ OPC_EmitInteger, MVT::i32, 0,
22134 : /* 41862*/ OPC_EmitInteger, MVT::i32, 0,
22135 : /* 41865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22136 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
22137 : // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_32>> - Complexity = 4
22138 : // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22139 : /* 41874*/ /*Scope*/ 20, /*->41895*/
22140 : /* 41875*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_8
22141 : /* 41877*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22142 : /* 41879*/ OPC_EmitMergeInputChains1_0,
22143 : /* 41880*/ OPC_EmitInteger, MVT::i32, 0,
22144 : /* 41883*/ OPC_EmitInteger, MVT::i32, 0,
22145 : /* 41886*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22146 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
22147 : // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>> - Complexity = 4
22148 : // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22149 : /* 41895*/ /*Scope*/ 20, /*->41916*/
22150 : /* 41896*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_16
22151 : /* 41898*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22152 : /* 41900*/ OPC_EmitMergeInputChains1_0,
22153 : /* 41901*/ OPC_EmitInteger, MVT::i32, 0,
22154 : /* 41904*/ OPC_EmitInteger, MVT::i32, 0,
22155 : /* 41907*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
22156 : MVT::i32, 3/*#Ops*/, 2, 3, 1,
22157 : // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>> - Complexity = 4
22158 : // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22159 : /* 41916*/ 0, /*End of Scope*/
22160 : /* 41917*/ /*SwitchType*/ 20, MVT::i64,// ->41939
22161 : /* 41919*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_64
22162 : /* 41921*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22163 : /* 41923*/ OPC_EmitMergeInputChains1_0,
22164 : /* 41924*/ OPC_EmitInteger, MVT::i32, 0,
22165 : /* 41927*/ OPC_EmitInteger, MVT::i32, 0,
22166 : /* 41930*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22167 : MVT::i64, 3/*#Ops*/, 2, 3, 1,
22168 : // Src: (atomic_load:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_64>> - Complexity = 4
22169 : // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
22170 : /* 41939*/ 0, // EndSwitchType
22171 : /* 41940*/ 0, /*End of Scope*/
22172 : /* 41941*/ 0, /*End of Scope*/
22173 : /* 41942*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->43086
22174 : /* 41946*/ OPC_RecordMemRef,
22175 : /* 41947*/ OPC_RecordNode, // #0 = 'atomic_load_add' chained node
22176 : /* 41948*/ OPC_Scope, 123|128,6/*891*/, /*->42842*/ // 2 children in Scope
22177 : /* 41951*/ OPC_MoveChild1,
22178 : /* 41952*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->42468
22179 : /* 41957*/ OPC_Scope, 101, /*->42060*/ // 5 children in Scope
22180 : /* 41959*/ OPC_RecordChild0, // #1 = $addr
22181 : /* 41960*/ OPC_MoveChild1,
22182 : /* 41961*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22183 : /* 41964*/ OPC_RecordChild0, // #2 = $off
22184 : /* 41965*/ OPC_MoveChild0,
22185 : /* 41966*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22186 : /* 41969*/ OPC_MoveParent,
22187 : /* 41970*/ OPC_MoveParent,
22188 : /* 41971*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
22189 : /* 41973*/ OPC_CheckType, MVT::i32,
22190 : /* 41975*/ OPC_MoveParent,
22191 : /* 41976*/ OPC_RecordChild2, // #3 = $val
22192 : /* 41977*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42039
22193 : /* 41980*/ OPC_Scope, 18, /*->42000*/ // 3 children in Scope
22194 : /* 41982*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22195 : /* 41984*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22196 : /* 41986*/ OPC_EmitMergeInputChains1_0,
22197 : /* 41987*/ OPC_EmitInteger, MVT::i32, 0,
22198 : /* 41990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22199 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22200 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 14
22201 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22202 : /* 42000*/ /*Scope*/ 18, /*->42019*/
22203 : /* 42001*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22204 : /* 42003*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22205 : /* 42005*/ OPC_EmitMergeInputChains1_0,
22206 : /* 42006*/ OPC_EmitInteger, MVT::i32, 0,
22207 : /* 42009*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22208 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22209 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 14
22210 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22211 : /* 42019*/ /*Scope*/ 18, /*->42038*/
22212 : /* 42020*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22213 : /* 42022*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22214 : /* 42024*/ OPC_EmitMergeInputChains1_0,
22215 : /* 42025*/ OPC_EmitInteger, MVT::i32, 0,
22216 : /* 42028*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22217 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22218 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 14
22219 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22220 : /* 42038*/ 0, /*End of Scope*/
22221 : /* 42039*/ /*SwitchType*/ 18, MVT::i64,// ->42059
22222 : /* 42041*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22223 : /* 42043*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22224 : /* 42045*/ OPC_EmitMergeInputChains1_0,
22225 : /* 42046*/ OPC_EmitInteger, MVT::i32, 0,
22226 : /* 42049*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22227 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
22228 : // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 14
22229 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22230 : /* 42059*/ 0, // EndSwitchType
22231 : /* 42060*/ /*Scope*/ 101, /*->42162*/
22232 : /* 42061*/ OPC_MoveChild0,
22233 : /* 42062*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22234 : /* 42065*/ OPC_RecordChild0, // #1 = $off
22235 : /* 42066*/ OPC_MoveChild0,
22236 : /* 42067*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22237 : /* 42070*/ OPC_MoveParent,
22238 : /* 42071*/ OPC_MoveParent,
22239 : /* 42072*/ OPC_RecordChild1, // #2 = $addr
22240 : /* 42073*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
22241 : /* 42075*/ OPC_CheckType, MVT::i32,
22242 : /* 42077*/ OPC_MoveParent,
22243 : /* 42078*/ OPC_RecordChild2, // #3 = $val
22244 : /* 42079*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42141
22245 : /* 42082*/ OPC_Scope, 18, /*->42102*/ // 3 children in Scope
22246 : /* 42084*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22247 : /* 42086*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22248 : /* 42088*/ OPC_EmitMergeInputChains1_0,
22249 : /* 42089*/ OPC_EmitInteger, MVT::i32, 0,
22250 : /* 42092*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22251 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22252 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 14
22253 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22254 : /* 42102*/ /*Scope*/ 18, /*->42121*/
22255 : /* 42103*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22256 : /* 42105*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22257 : /* 42107*/ OPC_EmitMergeInputChains1_0,
22258 : /* 42108*/ OPC_EmitInteger, MVT::i32, 0,
22259 : /* 42111*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22260 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22261 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 14
22262 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22263 : /* 42121*/ /*Scope*/ 18, /*->42140*/
22264 : /* 42122*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22265 : /* 42124*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22266 : /* 42126*/ OPC_EmitMergeInputChains1_0,
22267 : /* 42127*/ OPC_EmitInteger, MVT::i32, 0,
22268 : /* 42130*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22269 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22270 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 14
22271 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22272 : /* 42140*/ 0, /*End of Scope*/
22273 : /* 42141*/ /*SwitchType*/ 18, MVT::i64,// ->42161
22274 : /* 42143*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22275 : /* 42145*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22276 : /* 42147*/ OPC_EmitMergeInputChains1_0,
22277 : /* 42148*/ OPC_EmitInteger, MVT::i32, 0,
22278 : /* 42151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22279 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
22280 : // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 14
22281 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22282 : /* 42161*/ 0, // EndSwitchType
22283 : /* 42162*/ /*Scope*/ 99, /*->42262*/
22284 : /* 42163*/ OPC_RecordChild0, // #1 = $addr
22285 : /* 42164*/ OPC_MoveChild1,
22286 : /* 42165*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22287 : /* 42168*/ OPC_RecordChild0, // #2 = $off
22288 : /* 42169*/ OPC_MoveChild0,
22289 : /* 42170*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
22290 : /* 42173*/ OPC_MoveParent,
22291 : /* 42174*/ OPC_MoveParent,
22292 : /* 42175*/ OPC_CheckType, MVT::i32,
22293 : /* 42177*/ OPC_MoveParent,
22294 : /* 42178*/ OPC_RecordChild2, // #3 = $val
22295 : /* 42179*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42241
22296 : /* 42182*/ OPC_Scope, 18, /*->42202*/ // 3 children in Scope
22297 : /* 42184*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22298 : /* 42186*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22299 : /* 42188*/ OPC_EmitMergeInputChains1_0,
22300 : /* 42189*/ OPC_EmitInteger, MVT::i32, 0,
22301 : /* 42192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22302 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22303 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
22304 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22305 : /* 42202*/ /*Scope*/ 18, /*->42221*/
22306 : /* 42203*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22307 : /* 42205*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22308 : /* 42207*/ OPC_EmitMergeInputChains1_0,
22309 : /* 42208*/ OPC_EmitInteger, MVT::i32, 0,
22310 : /* 42211*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22311 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22312 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 13
22313 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22314 : /* 42221*/ /*Scope*/ 18, /*->42240*/
22315 : /* 42222*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22316 : /* 42224*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22317 : /* 42226*/ OPC_EmitMergeInputChains1_0,
22318 : /* 42227*/ OPC_EmitInteger, MVT::i32, 0,
22319 : /* 42230*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22320 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22321 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 13
22322 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22323 : /* 42240*/ 0, /*End of Scope*/
22324 : /* 42241*/ /*SwitchType*/ 18, MVT::i64,// ->42261
22325 : /* 42243*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22326 : /* 42245*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22327 : /* 42247*/ OPC_EmitMergeInputChains1_0,
22328 : /* 42248*/ OPC_EmitInteger, MVT::i32, 0,
22329 : /* 42251*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22330 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
22331 : // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
22332 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22333 : /* 42261*/ 0, // EndSwitchType
22334 : /* 42262*/ /*Scope*/ 99, /*->42362*/
22335 : /* 42263*/ OPC_MoveChild0,
22336 : /* 42264*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22337 : /* 42267*/ OPC_RecordChild0, // #1 = $off
22338 : /* 42268*/ OPC_MoveChild0,
22339 : /* 42269*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
22340 : /* 42272*/ OPC_MoveParent,
22341 : /* 42273*/ OPC_MoveParent,
22342 : /* 42274*/ OPC_RecordChild1, // #2 = $addr
22343 : /* 42275*/ OPC_CheckType, MVT::i32,
22344 : /* 42277*/ OPC_MoveParent,
22345 : /* 42278*/ OPC_RecordChild2, // #3 = $val
22346 : /* 42279*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42341
22347 : /* 42282*/ OPC_Scope, 18, /*->42302*/ // 3 children in Scope
22348 : /* 42284*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22349 : /* 42286*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22350 : /* 42288*/ OPC_EmitMergeInputChains1_0,
22351 : /* 42289*/ OPC_EmitInteger, MVT::i32, 0,
22352 : /* 42292*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22353 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22354 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
22355 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22356 : /* 42302*/ /*Scope*/ 18, /*->42321*/
22357 : /* 42303*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22358 : /* 42305*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22359 : /* 42307*/ OPC_EmitMergeInputChains1_0,
22360 : /* 42308*/ OPC_EmitInteger, MVT::i32, 0,
22361 : /* 42311*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22362 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22363 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 13
22364 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22365 : /* 42321*/ /*Scope*/ 18, /*->42340*/
22366 : /* 42322*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22367 : /* 42324*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22368 : /* 42326*/ OPC_EmitMergeInputChains1_0,
22369 : /* 42327*/ OPC_EmitInteger, MVT::i32, 0,
22370 : /* 42330*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22371 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22372 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 13
22373 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22374 : /* 42340*/ 0, /*End of Scope*/
22375 : /* 42341*/ /*SwitchType*/ 18, MVT::i64,// ->42361
22376 : /* 42343*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22377 : /* 42345*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22378 : /* 42347*/ OPC_EmitMergeInputChains1_0,
22379 : /* 42348*/ OPC_EmitInteger, MVT::i32, 0,
22380 : /* 42351*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22381 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
22382 : // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
22383 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22384 : /* 42361*/ 0, // EndSwitchType
22385 : /* 42362*/ /*Scope*/ 104, /*->42467*/
22386 : /* 42363*/ OPC_RecordChild0, // #1 = $addr
22387 : /* 42364*/ OPC_RecordChild1, // #2 = $off
22388 : /* 42365*/ OPC_MoveChild1,
22389 : /* 42366*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22390 : /* 42369*/ OPC_MoveParent,
22391 : /* 42370*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
22392 : /* 42372*/ OPC_CheckType, MVT::i32,
22393 : /* 42374*/ OPC_MoveParent,
22394 : /* 42375*/ OPC_RecordChild2, // #3 = $val
22395 : /* 42376*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->42444
22396 : /* 42379*/ OPC_Scope, 20, /*->42401*/ // 3 children in Scope
22397 : /* 42381*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22398 : /* 42383*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22399 : /* 42385*/ OPC_EmitMergeInputChains1_0,
22400 : /* 42386*/ OPC_EmitInteger, MVT::i32, 0,
22401 : /* 42389*/ OPC_EmitConvertToTarget, 2,
22402 : /* 42391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22403 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22404 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22405 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22406 : /* 42401*/ /*Scope*/ 20, /*->42422*/
22407 : /* 42402*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22408 : /* 42404*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22409 : /* 42406*/ OPC_EmitMergeInputChains1_0,
22410 : /* 42407*/ OPC_EmitInteger, MVT::i32, 0,
22411 : /* 42410*/ OPC_EmitConvertToTarget, 2,
22412 : /* 42412*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22413 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22414 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22415 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22416 : /* 42422*/ /*Scope*/ 20, /*->42443*/
22417 : /* 42423*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22418 : /* 42425*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22419 : /* 42427*/ OPC_EmitMergeInputChains1_0,
22420 : /* 42428*/ OPC_EmitInteger, MVT::i32, 0,
22421 : /* 42431*/ OPC_EmitConvertToTarget, 2,
22422 : /* 42433*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22423 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22424 : // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22425 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22426 : /* 42443*/ 0, /*End of Scope*/
22427 : /* 42444*/ /*SwitchType*/ 20, MVT::i64,// ->42466
22428 : /* 42446*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22429 : /* 42448*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22430 : /* 42450*/ OPC_EmitMergeInputChains1_0,
22431 : /* 42451*/ OPC_EmitInteger, MVT::i32, 0,
22432 : /* 42454*/ OPC_EmitConvertToTarget, 2,
22433 : /* 42456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22434 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22435 : // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22436 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22437 : /* 42466*/ 0, // EndSwitchType
22438 : /* 42467*/ 0, /*End of Scope*/
22439 : /* 42468*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->42575
22440 : /* 42471*/ OPC_RecordChild0, // #1 = $addr
22441 : /* 42472*/ OPC_RecordChild1, // #2 = $off
22442 : /* 42473*/ OPC_MoveChild1,
22443 : /* 42474*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22444 : /* 42477*/ OPC_MoveParent,
22445 : /* 42478*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
22446 : /* 42480*/ OPC_CheckType, MVT::i32,
22447 : /* 42482*/ OPC_MoveParent,
22448 : /* 42483*/ OPC_RecordChild2, // #3 = $val
22449 : /* 42484*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->42552
22450 : /* 42487*/ OPC_Scope, 20, /*->42509*/ // 3 children in Scope
22451 : /* 42489*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22452 : /* 42491*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22453 : /* 42493*/ OPC_EmitMergeInputChains1_0,
22454 : /* 42494*/ OPC_EmitInteger, MVT::i32, 0,
22455 : /* 42497*/ OPC_EmitConvertToTarget, 2,
22456 : /* 42499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22457 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22458 : // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
22459 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22460 : /* 42509*/ /*Scope*/ 20, /*->42530*/
22461 : /* 42510*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22462 : /* 42512*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22463 : /* 42514*/ OPC_EmitMergeInputChains1_0,
22464 : /* 42515*/ OPC_EmitInteger, MVT::i32, 0,
22465 : /* 42518*/ OPC_EmitConvertToTarget, 2,
22466 : /* 42520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22467 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22468 : // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
22469 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22470 : /* 42530*/ /*Scope*/ 20, /*->42551*/
22471 : /* 42531*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22472 : /* 42533*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22473 : /* 42535*/ OPC_EmitMergeInputChains1_0,
22474 : /* 42536*/ OPC_EmitInteger, MVT::i32, 0,
22475 : /* 42539*/ OPC_EmitConvertToTarget, 2,
22476 : /* 42541*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22477 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22478 : // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
22479 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22480 : /* 42551*/ 0, /*End of Scope*/
22481 : /* 42552*/ /*SwitchType*/ 20, MVT::i64,// ->42574
22482 : /* 42554*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22483 : /* 42556*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22484 : /* 42558*/ OPC_EmitMergeInputChains1_0,
22485 : /* 42559*/ OPC_EmitInteger, MVT::i32, 0,
22486 : /* 42562*/ OPC_EmitConvertToTarget, 2,
22487 : /* 42564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22488 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22489 : // Src: (atomic_load_add:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
22490 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22491 : /* 42574*/ 0, // EndSwitchType
22492 : /* 42575*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->42841
22493 : /* 42579*/ OPC_RecordChild0, // #1 = $off
22494 : /* 42580*/ OPC_MoveChild0,
22495 : /* 42581*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->42711
22496 : /* 42585*/ OPC_MoveParent,
22497 : /* 42586*/ OPC_MoveParent,
22498 : /* 42587*/ OPC_RecordChild2, // #2 = $val
22499 : /* 42588*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->42680
22500 : /* 42591*/ OPC_Scope, 28, /*->42621*/ // 3 children in Scope
22501 : /* 42593*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22502 : /* 42595*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22503 : /* 42597*/ OPC_EmitMergeInputChains1_0,
22504 : /* 42598*/ OPC_EmitInteger, MVT::i32, 0,
22505 : /* 42601*/ OPC_EmitInteger, MVT::i32, 0,
22506 : /* 42604*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22507 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22508 : /* 42611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22509 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22510 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
22511 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22512 : /* 42621*/ /*Scope*/ 28, /*->42650*/
22513 : /* 42622*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22514 : /* 42624*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22515 : /* 42626*/ OPC_EmitMergeInputChains1_0,
22516 : /* 42627*/ OPC_EmitInteger, MVT::i32, 0,
22517 : /* 42630*/ OPC_EmitInteger, MVT::i32, 0,
22518 : /* 42633*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22519 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22520 : /* 42640*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22521 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22522 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
22523 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22524 : /* 42650*/ /*Scope*/ 28, /*->42679*/
22525 : /* 42651*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22526 : /* 42653*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22527 : /* 42655*/ OPC_EmitMergeInputChains1_0,
22528 : /* 42656*/ OPC_EmitInteger, MVT::i32, 0,
22529 : /* 42659*/ OPC_EmitInteger, MVT::i32, 0,
22530 : /* 42662*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22531 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22532 : /* 42669*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22533 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22534 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
22535 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22536 : /* 42679*/ 0, /*End of Scope*/
22537 : /* 42680*/ /*SwitchType*/ 28, MVT::i64,// ->42710
22538 : /* 42682*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22539 : /* 42684*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22540 : /* 42686*/ OPC_EmitMergeInputChains1_0,
22541 : /* 42687*/ OPC_EmitInteger, MVT::i32, 0,
22542 : /* 42690*/ OPC_EmitInteger, MVT::i32, 0,
22543 : /* 42693*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22544 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22545 : /* 42700*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22546 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
22547 : // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
22548 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
22549 : /* 42710*/ 0, // EndSwitchType
22550 : /* 42711*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->42840
22551 : /* 42714*/ OPC_MoveParent,
22552 : /* 42715*/ OPC_MoveParent,
22553 : /* 42716*/ OPC_RecordChild2, // #2 = $val
22554 : /* 42717*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->42809
22555 : /* 42720*/ OPC_Scope, 28, /*->42750*/ // 3 children in Scope
22556 : /* 42722*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22557 : /* 42724*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22558 : /* 42726*/ OPC_EmitMergeInputChains1_0,
22559 : /* 42727*/ OPC_EmitInteger, MVT::i32, 0,
22560 : /* 42730*/ OPC_EmitInteger, MVT::i32, 0,
22561 : /* 42733*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22562 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22563 : /* 42740*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22564 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22565 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
22566 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22567 : /* 42750*/ /*Scope*/ 28, /*->42779*/
22568 : /* 42751*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22569 : /* 42753*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22570 : /* 42755*/ OPC_EmitMergeInputChains1_0,
22571 : /* 42756*/ OPC_EmitInteger, MVT::i32, 0,
22572 : /* 42759*/ OPC_EmitInteger, MVT::i32, 0,
22573 : /* 42762*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22574 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22575 : /* 42769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22576 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22577 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
22578 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22579 : /* 42779*/ /*Scope*/ 28, /*->42808*/
22580 : /* 42780*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22581 : /* 42782*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22582 : /* 42784*/ OPC_EmitMergeInputChains1_0,
22583 : /* 42785*/ OPC_EmitInteger, MVT::i32, 0,
22584 : /* 42788*/ OPC_EmitInteger, MVT::i32, 0,
22585 : /* 42791*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22586 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22587 : /* 42798*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22588 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
22589 : // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
22590 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22591 : /* 42808*/ 0, /*End of Scope*/
22592 : /* 42809*/ /*SwitchType*/ 28, MVT::i64,// ->42839
22593 : /* 42811*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22594 : /* 42813*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22595 : /* 42815*/ OPC_EmitMergeInputChains1_0,
22596 : /* 42816*/ OPC_EmitInteger, MVT::i32, 0,
22597 : /* 42819*/ OPC_EmitInteger, MVT::i32, 0,
22598 : /* 42822*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22599 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
22600 : /* 42829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22601 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
22602 : // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
22603 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
22604 : /* 42839*/ 0, // EndSwitchType
22605 : /* 42840*/ 0, // EndSwitchOpcode
22606 : /* 42841*/ 0, // EndSwitchOpcode
22607 : /* 42842*/ /*Scope*/ 113|128,1/*241*/, /*->43085*/
22608 : /* 42844*/ OPC_RecordChild1, // #1 = $off
22609 : /* 42845*/ OPC_Scope, 9|128,1/*137*/, /*->42985*/ // 2 children in Scope
22610 : /* 42848*/ OPC_MoveChild1,
22611 : /* 42849*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22612 : /* 42852*/ OPC_MoveParent,
22613 : /* 42853*/ OPC_RecordChild2, // #2 = $val
22614 : /* 42854*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->42952
22615 : /* 42857*/ OPC_Scope, 30, /*->42889*/ // 3 children in Scope
22616 : /* 42859*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22617 : /* 42861*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22618 : /* 42863*/ OPC_EmitMergeInputChains1_0,
22619 : /* 42864*/ OPC_EmitInteger, MVT::i32, 0,
22620 : /* 42867*/ OPC_EmitConvertToTarget, 1,
22621 : /* 42869*/ OPC_EmitInteger, MVT::i32, 0,
22622 : /* 42872*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22623 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
22624 : /* 42879*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22625 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22626 : // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 7
22627 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22628 : /* 42889*/ /*Scope*/ 30, /*->42920*/
22629 : /* 42890*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22630 : /* 42892*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22631 : /* 42894*/ OPC_EmitMergeInputChains1_0,
22632 : /* 42895*/ OPC_EmitInteger, MVT::i32, 0,
22633 : /* 42898*/ OPC_EmitConvertToTarget, 1,
22634 : /* 42900*/ OPC_EmitInteger, MVT::i32, 0,
22635 : /* 42903*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22636 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
22637 : /* 42910*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22638 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22639 : // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 7
22640 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22641 : /* 42920*/ /*Scope*/ 30, /*->42951*/
22642 : /* 42921*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22643 : /* 42923*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22644 : /* 42925*/ OPC_EmitMergeInputChains1_0,
22645 : /* 42926*/ OPC_EmitInteger, MVT::i32, 0,
22646 : /* 42929*/ OPC_EmitConvertToTarget, 1,
22647 : /* 42931*/ OPC_EmitInteger, MVT::i32, 0,
22648 : /* 42934*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22649 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
22650 : /* 42941*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22651 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
22652 : // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 7
22653 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
22654 : /* 42951*/ 0, /*End of Scope*/
22655 : /* 42952*/ /*SwitchType*/ 30, MVT::i64,// ->42984
22656 : /* 42954*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22657 : /* 42956*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22658 : /* 42958*/ OPC_EmitMergeInputChains1_0,
22659 : /* 42959*/ OPC_EmitInteger, MVT::i32, 0,
22660 : /* 42962*/ OPC_EmitConvertToTarget, 1,
22661 : /* 42964*/ OPC_EmitInteger, MVT::i32, 0,
22662 : /* 42967*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
22663 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
22664 : /* 42974*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22665 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
22666 : // Src: (atomic_load_add:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 7
22667 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
22668 : /* 42984*/ 0, // EndSwitchType
22669 : /* 42985*/ /*Scope*/ 98, /*->43084*/
22670 : /* 42986*/ OPC_CheckChild1Type, MVT::i32,
22671 : /* 42988*/ OPC_RecordChild2, // #2 = $val
22672 : /* 42989*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->43060
22673 : /* 42992*/ OPC_Scope, 21, /*->43015*/ // 3 children in Scope
22674 : /* 42994*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
22675 : /* 42996*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22676 : /* 42998*/ OPC_EmitMergeInputChains1_0,
22677 : /* 42999*/ OPC_EmitInteger, MVT::i32, 0,
22678 : /* 43002*/ OPC_EmitInteger, MVT::i32, 0,
22679 : /* 43005*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22680 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
22681 : // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 4
22682 : // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22683 : /* 43015*/ /*Scope*/ 21, /*->43037*/
22684 : /* 43016*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
22685 : /* 43018*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22686 : /* 43020*/ OPC_EmitMergeInputChains1_0,
22687 : /* 43021*/ OPC_EmitInteger, MVT::i32, 0,
22688 : /* 43024*/ OPC_EmitInteger, MVT::i32, 0,
22689 : /* 43027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22690 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
22691 : // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 4
22692 : // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22693 : /* 43037*/ /*Scope*/ 21, /*->43059*/
22694 : /* 43038*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
22695 : /* 43040*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22696 : /* 43042*/ OPC_EmitMergeInputChains1_0,
22697 : /* 43043*/ OPC_EmitInteger, MVT::i32, 0,
22698 : /* 43046*/ OPC_EmitInteger, MVT::i32, 0,
22699 : /* 43049*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
22700 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
22701 : // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 4
22702 : // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22703 : /* 43059*/ 0, /*End of Scope*/
22704 : /* 43060*/ /*SwitchType*/ 21, MVT::i64,// ->43083
22705 : /* 43062*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
22706 : /* 43064*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22707 : /* 43066*/ OPC_EmitMergeInputChains1_0,
22708 : /* 43067*/ OPC_EmitInteger, MVT::i32, 0,
22709 : /* 43070*/ OPC_EmitInteger, MVT::i32, 0,
22710 : /* 43073*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
22711 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
22712 : // Src: (atomic_load_add:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 4
22713 : // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22714 : /* 43083*/ 0, // EndSwitchType
22715 : /* 43084*/ 0, /*End of Scope*/
22716 : /* 43085*/ 0, /*End of Scope*/
22717 : /* 43086*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->44230
22718 : /* 43090*/ OPC_RecordMemRef,
22719 : /* 43091*/ OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
22720 : /* 43092*/ OPC_Scope, 123|128,6/*891*/, /*->43986*/ // 2 children in Scope
22721 : /* 43095*/ OPC_MoveChild1,
22722 : /* 43096*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->43612
22723 : /* 43101*/ OPC_Scope, 101, /*->43204*/ // 5 children in Scope
22724 : /* 43103*/ OPC_RecordChild0, // #1 = $addr
22725 : /* 43104*/ OPC_MoveChild1,
22726 : /* 43105*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22727 : /* 43108*/ OPC_RecordChild0, // #2 = $off
22728 : /* 43109*/ OPC_MoveChild0,
22729 : /* 43110*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22730 : /* 43113*/ OPC_MoveParent,
22731 : /* 43114*/ OPC_MoveParent,
22732 : /* 43115*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
22733 : /* 43117*/ OPC_CheckType, MVT::i32,
22734 : /* 43119*/ OPC_MoveParent,
22735 : /* 43120*/ OPC_RecordChild2, // #3 = $val
22736 : /* 43121*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43183
22737 : /* 43124*/ OPC_Scope, 18, /*->43144*/ // 3 children in Scope
22738 : /* 43126*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22739 : /* 43128*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22740 : /* 43130*/ OPC_EmitMergeInputChains1_0,
22741 : /* 43131*/ OPC_EmitInteger, MVT::i32, 0,
22742 : /* 43134*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22743 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22744 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 14
22745 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22746 : /* 43144*/ /*Scope*/ 18, /*->43163*/
22747 : /* 43145*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
22748 : /* 43147*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22749 : /* 43149*/ OPC_EmitMergeInputChains1_0,
22750 : /* 43150*/ OPC_EmitInteger, MVT::i32, 0,
22751 : /* 43153*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22752 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22753 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 14
22754 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22755 : /* 43163*/ /*Scope*/ 18, /*->43182*/
22756 : /* 43164*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
22757 : /* 43166*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22758 : /* 43168*/ OPC_EmitMergeInputChains1_0,
22759 : /* 43169*/ OPC_EmitInteger, MVT::i32, 0,
22760 : /* 43172*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22761 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22762 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 14
22763 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22764 : /* 43182*/ 0, /*End of Scope*/
22765 : /* 43183*/ /*SwitchType*/ 18, MVT::i64,// ->43203
22766 : /* 43185*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
22767 : /* 43187*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22768 : /* 43189*/ OPC_EmitMergeInputChains1_0,
22769 : /* 43190*/ OPC_EmitInteger, MVT::i32, 0,
22770 : /* 43193*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
22771 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
22772 : // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 14
22773 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22774 : /* 43203*/ 0, // EndSwitchType
22775 : /* 43204*/ /*Scope*/ 101, /*->43306*/
22776 : /* 43205*/ OPC_MoveChild0,
22777 : /* 43206*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22778 : /* 43209*/ OPC_RecordChild0, // #1 = $off
22779 : /* 43210*/ OPC_MoveChild0,
22780 : /* 43211*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
22781 : /* 43214*/ OPC_MoveParent,
22782 : /* 43215*/ OPC_MoveParent,
22783 : /* 43216*/ OPC_RecordChild1, // #2 = $addr
22784 : /* 43217*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
22785 : /* 43219*/ OPC_CheckType, MVT::i32,
22786 : /* 43221*/ OPC_MoveParent,
22787 : /* 43222*/ OPC_RecordChild2, // #3 = $val
22788 : /* 43223*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43285
22789 : /* 43226*/ OPC_Scope, 18, /*->43246*/ // 3 children in Scope
22790 : /* 43228*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22791 : /* 43230*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22792 : /* 43232*/ OPC_EmitMergeInputChains1_0,
22793 : /* 43233*/ OPC_EmitInteger, MVT::i32, 0,
22794 : /* 43236*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22795 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22796 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 14
22797 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22798 : /* 43246*/ /*Scope*/ 18, /*->43265*/
22799 : /* 43247*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
22800 : /* 43249*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22801 : /* 43251*/ OPC_EmitMergeInputChains1_0,
22802 : /* 43252*/ OPC_EmitInteger, MVT::i32, 0,
22803 : /* 43255*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22804 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22805 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 14
22806 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22807 : /* 43265*/ /*Scope*/ 18, /*->43284*/
22808 : /* 43266*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
22809 : /* 43268*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22810 : /* 43270*/ OPC_EmitMergeInputChains1_0,
22811 : /* 43271*/ OPC_EmitInteger, MVT::i32, 0,
22812 : /* 43274*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22813 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22814 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 14
22815 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22816 : /* 43284*/ 0, /*End of Scope*/
22817 : /* 43285*/ /*SwitchType*/ 18, MVT::i64,// ->43305
22818 : /* 43287*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
22819 : /* 43289*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22820 : /* 43291*/ OPC_EmitMergeInputChains1_0,
22821 : /* 43292*/ OPC_EmitInteger, MVT::i32, 0,
22822 : /* 43295*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
22823 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
22824 : // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 14
22825 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22826 : /* 43305*/ 0, // EndSwitchType
22827 : /* 43306*/ /*Scope*/ 99, /*->43406*/
22828 : /* 43307*/ OPC_RecordChild0, // #1 = $addr
22829 : /* 43308*/ OPC_MoveChild1,
22830 : /* 43309*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22831 : /* 43312*/ OPC_RecordChild0, // #2 = $off
22832 : /* 43313*/ OPC_MoveChild0,
22833 : /* 43314*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
22834 : /* 43317*/ OPC_MoveParent,
22835 : /* 43318*/ OPC_MoveParent,
22836 : /* 43319*/ OPC_CheckType, MVT::i32,
22837 : /* 43321*/ OPC_MoveParent,
22838 : /* 43322*/ OPC_RecordChild2, // #3 = $val
22839 : /* 43323*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43385
22840 : /* 43326*/ OPC_Scope, 18, /*->43346*/ // 3 children in Scope
22841 : /* 43328*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22842 : /* 43330*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22843 : /* 43332*/ OPC_EmitMergeInputChains1_0,
22844 : /* 43333*/ OPC_EmitInteger, MVT::i32, 0,
22845 : /* 43336*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22846 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22847 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 13
22848 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22849 : /* 43346*/ /*Scope*/ 18, /*->43365*/
22850 : /* 43347*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
22851 : /* 43349*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22852 : /* 43351*/ OPC_EmitMergeInputChains1_0,
22853 : /* 43352*/ OPC_EmitInteger, MVT::i32, 0,
22854 : /* 43355*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22855 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22856 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 13
22857 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22858 : /* 43365*/ /*Scope*/ 18, /*->43384*/
22859 : /* 43366*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
22860 : /* 43368*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22861 : /* 43370*/ OPC_EmitMergeInputChains1_0,
22862 : /* 43371*/ OPC_EmitInteger, MVT::i32, 0,
22863 : /* 43374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22864 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
22865 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 13
22866 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22867 : /* 43384*/ 0, /*End of Scope*/
22868 : /* 43385*/ /*SwitchType*/ 18, MVT::i64,// ->43405
22869 : /* 43387*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
22870 : /* 43389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22871 : /* 43391*/ OPC_EmitMergeInputChains1_0,
22872 : /* 43392*/ OPC_EmitInteger, MVT::i32, 0,
22873 : /* 43395*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
22874 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
22875 : // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 13
22876 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22877 : /* 43405*/ 0, // EndSwitchType
22878 : /* 43406*/ /*Scope*/ 99, /*->43506*/
22879 : /* 43407*/ OPC_MoveChild0,
22880 : /* 43408*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
22881 : /* 43411*/ OPC_RecordChild0, // #1 = $off
22882 : /* 43412*/ OPC_MoveChild0,
22883 : /* 43413*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
22884 : /* 43416*/ OPC_MoveParent,
22885 : /* 43417*/ OPC_MoveParent,
22886 : /* 43418*/ OPC_RecordChild1, // #2 = $addr
22887 : /* 43419*/ OPC_CheckType, MVT::i32,
22888 : /* 43421*/ OPC_MoveParent,
22889 : /* 43422*/ OPC_RecordChild2, // #3 = $val
22890 : /* 43423*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43485
22891 : /* 43426*/ OPC_Scope, 18, /*->43446*/ // 3 children in Scope
22892 : /* 43428*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22893 : /* 43430*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22894 : /* 43432*/ OPC_EmitMergeInputChains1_0,
22895 : /* 43433*/ OPC_EmitInteger, MVT::i32, 0,
22896 : /* 43436*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22897 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22898 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 13
22899 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22900 : /* 43446*/ /*Scope*/ 18, /*->43465*/
22901 : /* 43447*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
22902 : /* 43449*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22903 : /* 43451*/ OPC_EmitMergeInputChains1_0,
22904 : /* 43452*/ OPC_EmitInteger, MVT::i32, 0,
22905 : /* 43455*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22906 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22907 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 13
22908 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22909 : /* 43465*/ /*Scope*/ 18, /*->43484*/
22910 : /* 43466*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
22911 : /* 43468*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22912 : /* 43470*/ OPC_EmitMergeInputChains1_0,
22913 : /* 43471*/ OPC_EmitInteger, MVT::i32, 0,
22914 : /* 43474*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22915 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
22916 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 13
22917 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22918 : /* 43484*/ 0, /*End of Scope*/
22919 : /* 43485*/ /*SwitchType*/ 18, MVT::i64,// ->43505
22920 : /* 43487*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
22921 : /* 43489*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22922 : /* 43491*/ OPC_EmitMergeInputChains1_0,
22923 : /* 43492*/ OPC_EmitInteger, MVT::i32, 0,
22924 : /* 43495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
22925 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
22926 : // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 13
22927 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22928 : /* 43505*/ 0, // EndSwitchType
22929 : /* 43506*/ /*Scope*/ 104, /*->43611*/
22930 : /* 43507*/ OPC_RecordChild0, // #1 = $addr
22931 : /* 43508*/ OPC_RecordChild1, // #2 = $off
22932 : /* 43509*/ OPC_MoveChild1,
22933 : /* 43510*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22934 : /* 43513*/ OPC_MoveParent,
22935 : /* 43514*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
22936 : /* 43516*/ OPC_CheckType, MVT::i32,
22937 : /* 43518*/ OPC_MoveParent,
22938 : /* 43519*/ OPC_RecordChild2, // #3 = $val
22939 : /* 43520*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->43588
22940 : /* 43523*/ OPC_Scope, 20, /*->43545*/ // 3 children in Scope
22941 : /* 43525*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22942 : /* 43527*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22943 : /* 43529*/ OPC_EmitMergeInputChains1_0,
22944 : /* 43530*/ OPC_EmitInteger, MVT::i32, 0,
22945 : /* 43533*/ OPC_EmitConvertToTarget, 2,
22946 : /* 43535*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22947 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22948 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
22949 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22950 : /* 43545*/ /*Scope*/ 20, /*->43566*/
22951 : /* 43546*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
22952 : /* 43548*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22953 : /* 43550*/ OPC_EmitMergeInputChains1_0,
22954 : /* 43551*/ OPC_EmitInteger, MVT::i32, 0,
22955 : /* 43554*/ OPC_EmitConvertToTarget, 2,
22956 : /* 43556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22957 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22958 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
22959 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22960 : /* 43566*/ /*Scope*/ 20, /*->43587*/
22961 : /* 43567*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
22962 : /* 43569*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22963 : /* 43571*/ OPC_EmitMergeInputChains1_0,
22964 : /* 43572*/ OPC_EmitInteger, MVT::i32, 0,
22965 : /* 43575*/ OPC_EmitConvertToTarget, 2,
22966 : /* 43577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
22967 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
22968 : // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
22969 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
22970 : /* 43587*/ 0, /*End of Scope*/
22971 : /* 43588*/ /*SwitchType*/ 20, MVT::i64,// ->43610
22972 : /* 43590*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
22973 : /* 43592*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22974 : /* 43594*/ OPC_EmitMergeInputChains1_0,
22975 : /* 43595*/ OPC_EmitInteger, MVT::i32, 0,
22976 : /* 43598*/ OPC_EmitConvertToTarget, 2,
22977 : /* 43600*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
22978 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
22979 : // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
22980 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
22981 : /* 43610*/ 0, // EndSwitchType
22982 : /* 43611*/ 0, /*End of Scope*/
22983 : /* 43612*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->43719
22984 : /* 43615*/ OPC_RecordChild0, // #1 = $addr
22985 : /* 43616*/ OPC_RecordChild1, // #2 = $off
22986 : /* 43617*/ OPC_MoveChild1,
22987 : /* 43618*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22988 : /* 43621*/ OPC_MoveParent,
22989 : /* 43622*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
22990 : /* 43624*/ OPC_CheckType, MVT::i32,
22991 : /* 43626*/ OPC_MoveParent,
22992 : /* 43627*/ OPC_RecordChild2, // #3 = $val
22993 : /* 43628*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->43696
22994 : /* 43631*/ OPC_Scope, 20, /*->43653*/ // 3 children in Scope
22995 : /* 43633*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
22996 : /* 43635*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
22997 : /* 43637*/ OPC_EmitMergeInputChains1_0,
22998 : /* 43638*/ OPC_EmitInteger, MVT::i32, 0,
22999 : /* 43641*/ OPC_EmitConvertToTarget, 2,
23000 : /* 43643*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23001 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23002 : // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
23003 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23004 : /* 43653*/ /*Scope*/ 20, /*->43674*/
23005 : /* 43654*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23006 : /* 43656*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23007 : /* 43658*/ OPC_EmitMergeInputChains1_0,
23008 : /* 43659*/ OPC_EmitInteger, MVT::i32, 0,
23009 : /* 43662*/ OPC_EmitConvertToTarget, 2,
23010 : /* 43664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23011 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23012 : // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
23013 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23014 : /* 43674*/ /*Scope*/ 20, /*->43695*/
23015 : /* 43675*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23016 : /* 43677*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23017 : /* 43679*/ OPC_EmitMergeInputChains1_0,
23018 : /* 43680*/ OPC_EmitInteger, MVT::i32, 0,
23019 : /* 43683*/ OPC_EmitConvertToTarget, 2,
23020 : /* 43685*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23021 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23022 : // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
23023 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23024 : /* 43695*/ 0, /*End of Scope*/
23025 : /* 43696*/ /*SwitchType*/ 20, MVT::i64,// ->43718
23026 : /* 43698*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
23027 : /* 43700*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23028 : /* 43702*/ OPC_EmitMergeInputChains1_0,
23029 : /* 43703*/ OPC_EmitInteger, MVT::i32, 0,
23030 : /* 43706*/ OPC_EmitConvertToTarget, 2,
23031 : /* 43708*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
23032 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23033 : // Src: (atomic_load_sub:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
23034 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23035 : /* 43718*/ 0, // EndSwitchType
23036 : /* 43719*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->43985
23037 : /* 43723*/ OPC_RecordChild0, // #1 = $off
23038 : /* 43724*/ OPC_MoveChild0,
23039 : /* 43725*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->43855
23040 : /* 43729*/ OPC_MoveParent,
23041 : /* 43730*/ OPC_MoveParent,
23042 : /* 43731*/ OPC_RecordChild2, // #2 = $val
23043 : /* 43732*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->43824
23044 : /* 43735*/ OPC_Scope, 28, /*->43765*/ // 3 children in Scope
23045 : /* 43737*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
23046 : /* 43739*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23047 : /* 43741*/ OPC_EmitMergeInputChains1_0,
23048 : /* 43742*/ OPC_EmitInteger, MVT::i32, 0,
23049 : /* 43745*/ OPC_EmitInteger, MVT::i32, 0,
23050 : /* 43748*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23051 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23052 : /* 43755*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23053 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23054 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
23055 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23056 : /* 43765*/ /*Scope*/ 28, /*->43794*/
23057 : /* 43766*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23058 : /* 43768*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23059 : /* 43770*/ OPC_EmitMergeInputChains1_0,
23060 : /* 43771*/ OPC_EmitInteger, MVT::i32, 0,
23061 : /* 43774*/ OPC_EmitInteger, MVT::i32, 0,
23062 : /* 43777*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23063 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23064 : /* 43784*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23065 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23066 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
23067 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23068 : /* 43794*/ /*Scope*/ 28, /*->43823*/
23069 : /* 43795*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23070 : /* 43797*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23071 : /* 43799*/ OPC_EmitMergeInputChains1_0,
23072 : /* 43800*/ OPC_EmitInteger, MVT::i32, 0,
23073 : /* 43803*/ OPC_EmitInteger, MVT::i32, 0,
23074 : /* 43806*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23075 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23076 : /* 43813*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23077 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23078 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
23079 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23080 : /* 43823*/ 0, /*End of Scope*/
23081 : /* 43824*/ /*SwitchType*/ 28, MVT::i64,// ->43854
23082 : /* 43826*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
23083 : /* 43828*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23084 : /* 43830*/ OPC_EmitMergeInputChains1_0,
23085 : /* 43831*/ OPC_EmitInteger, MVT::i32, 0,
23086 : /* 43834*/ OPC_EmitInteger, MVT::i32, 0,
23087 : /* 43837*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23088 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23089 : /* 43844*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
23090 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23091 : // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
23092 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23093 : /* 43854*/ 0, // EndSwitchType
23094 : /* 43855*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->43984
23095 : /* 43858*/ OPC_MoveParent,
23096 : /* 43859*/ OPC_MoveParent,
23097 : /* 43860*/ OPC_RecordChild2, // #2 = $val
23098 : /* 43861*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->43953
23099 : /* 43864*/ OPC_Scope, 28, /*->43894*/ // 3 children in Scope
23100 : /* 43866*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
23101 : /* 43868*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23102 : /* 43870*/ OPC_EmitMergeInputChains1_0,
23103 : /* 43871*/ OPC_EmitInteger, MVT::i32, 0,
23104 : /* 43874*/ OPC_EmitInteger, MVT::i32, 0,
23105 : /* 43877*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23106 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23107 : /* 43884*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23108 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23109 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
23110 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23111 : /* 43894*/ /*Scope*/ 28, /*->43923*/
23112 : /* 43895*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23113 : /* 43897*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23114 : /* 43899*/ OPC_EmitMergeInputChains1_0,
23115 : /* 43900*/ OPC_EmitInteger, MVT::i32, 0,
23116 : /* 43903*/ OPC_EmitInteger, MVT::i32, 0,
23117 : /* 43906*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23118 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23119 : /* 43913*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23120 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23121 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
23122 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23123 : /* 43923*/ /*Scope*/ 28, /*->43952*/
23124 : /* 43924*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23125 : /* 43926*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23126 : /* 43928*/ OPC_EmitMergeInputChains1_0,
23127 : /* 43929*/ OPC_EmitInteger, MVT::i32, 0,
23128 : /* 43932*/ OPC_EmitInteger, MVT::i32, 0,
23129 : /* 43935*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23130 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23131 : /* 43942*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23132 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23133 : // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
23134 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23135 : /* 43952*/ 0, /*End of Scope*/
23136 : /* 43953*/ /*SwitchType*/ 28, MVT::i64,// ->43983
23137 : /* 43955*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
23138 : /* 43957*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23139 : /* 43959*/ OPC_EmitMergeInputChains1_0,
23140 : /* 43960*/ OPC_EmitInteger, MVT::i32, 0,
23141 : /* 43963*/ OPC_EmitInteger, MVT::i32, 0,
23142 : /* 43966*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23143 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23144 : /* 43973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
23145 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23146 : // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
23147 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23148 : /* 43983*/ 0, // EndSwitchType
23149 : /* 43984*/ 0, // EndSwitchOpcode
23150 : /* 43985*/ 0, // EndSwitchOpcode
23151 : /* 43986*/ /*Scope*/ 113|128,1/*241*/, /*->44229*/
23152 : /* 43988*/ OPC_RecordChild1, // #1 = $off
23153 : /* 43989*/ OPC_Scope, 9|128,1/*137*/, /*->44129*/ // 2 children in Scope
23154 : /* 43992*/ OPC_MoveChild1,
23155 : /* 43993*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23156 : /* 43996*/ OPC_MoveParent,
23157 : /* 43997*/ OPC_RecordChild2, // #2 = $val
23158 : /* 43998*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->44096
23159 : /* 44001*/ OPC_Scope, 30, /*->44033*/ // 3 children in Scope
23160 : /* 44003*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
23161 : /* 44005*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23162 : /* 44007*/ OPC_EmitMergeInputChains1_0,
23163 : /* 44008*/ OPC_EmitInteger, MVT::i32, 0,
23164 : /* 44011*/ OPC_EmitConvertToTarget, 1,
23165 : /* 44013*/ OPC_EmitInteger, MVT::i32, 0,
23166 : /* 44016*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23167 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23168 : /* 44023*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23169 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23170 : // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 7
23171 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23172 : /* 44033*/ /*Scope*/ 30, /*->44064*/
23173 : /* 44034*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23174 : /* 44036*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23175 : /* 44038*/ OPC_EmitMergeInputChains1_0,
23176 : /* 44039*/ OPC_EmitInteger, MVT::i32, 0,
23177 : /* 44042*/ OPC_EmitConvertToTarget, 1,
23178 : /* 44044*/ OPC_EmitInteger, MVT::i32, 0,
23179 : /* 44047*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23180 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23181 : /* 44054*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23182 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23183 : // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 7
23184 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23185 : /* 44064*/ /*Scope*/ 30, /*->44095*/
23186 : /* 44065*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23187 : /* 44067*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23188 : /* 44069*/ OPC_EmitMergeInputChains1_0,
23189 : /* 44070*/ OPC_EmitInteger, MVT::i32, 0,
23190 : /* 44073*/ OPC_EmitConvertToTarget, 1,
23191 : /* 44075*/ OPC_EmitInteger, MVT::i32, 0,
23192 : /* 44078*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23193 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23194 : /* 44085*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23195 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23196 : // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 7
23197 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23198 : /* 44095*/ 0, /*End of Scope*/
23199 : /* 44096*/ /*SwitchType*/ 30, MVT::i64,// ->44128
23200 : /* 44098*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
23201 : /* 44100*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23202 : /* 44102*/ OPC_EmitMergeInputChains1_0,
23203 : /* 44103*/ OPC_EmitInteger, MVT::i32, 0,
23204 : /* 44106*/ OPC_EmitConvertToTarget, 1,
23205 : /* 44108*/ OPC_EmitInteger, MVT::i32, 0,
23206 : /* 44111*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23207 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23208 : /* 44118*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
23209 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23210 : // Src: (atomic_load_sub:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 7
23211 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23212 : /* 44128*/ 0, // EndSwitchType
23213 : /* 44129*/ /*Scope*/ 98, /*->44228*/
23214 : /* 44130*/ OPC_CheckChild1Type, MVT::i32,
23215 : /* 44132*/ OPC_RecordChild2, // #2 = $val
23216 : /* 44133*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->44204
23217 : /* 44136*/ OPC_Scope, 21, /*->44159*/ // 3 children in Scope
23218 : /* 44138*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
23219 : /* 44140*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23220 : /* 44142*/ OPC_EmitMergeInputChains1_0,
23221 : /* 44143*/ OPC_EmitInteger, MVT::i32, 0,
23222 : /* 44146*/ OPC_EmitInteger, MVT::i32, 0,
23223 : /* 44149*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23224 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23225 : // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 4
23226 : // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23227 : /* 44159*/ /*Scope*/ 21, /*->44181*/
23228 : /* 44160*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
23229 : /* 44162*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23230 : /* 44164*/ OPC_EmitMergeInputChains1_0,
23231 : /* 44165*/ OPC_EmitInteger, MVT::i32, 0,
23232 : /* 44168*/ OPC_EmitInteger, MVT::i32, 0,
23233 : /* 44171*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23234 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23235 : // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 4
23236 : // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23237 : /* 44181*/ /*Scope*/ 21, /*->44203*/
23238 : /* 44182*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
23239 : /* 44184*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23240 : /* 44186*/ OPC_EmitMergeInputChains1_0,
23241 : /* 44187*/ OPC_EmitInteger, MVT::i32, 0,
23242 : /* 44190*/ OPC_EmitInteger, MVT::i32, 0,
23243 : /* 44193*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
23244 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23245 : // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 4
23246 : // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23247 : /* 44203*/ 0, /*End of Scope*/
23248 : /* 44204*/ /*SwitchType*/ 21, MVT::i64,// ->44227
23249 : /* 44206*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
23250 : /* 44208*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23251 : /* 44210*/ OPC_EmitMergeInputChains1_0,
23252 : /* 44211*/ OPC_EmitInteger, MVT::i32, 0,
23253 : /* 44214*/ OPC_EmitInteger, MVT::i32, 0,
23254 : /* 44217*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
23255 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23256 : // Src: (atomic_load_sub:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 4
23257 : // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23258 : /* 44227*/ 0, // EndSwitchType
23259 : /* 44228*/ 0, /*End of Scope*/
23260 : /* 44229*/ 0, /*End of Scope*/
23261 : /* 44230*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->45374
23262 : /* 44234*/ OPC_RecordMemRef,
23263 : /* 44235*/ OPC_RecordNode, // #0 = 'atomic_load_and' chained node
23264 : /* 44236*/ OPC_Scope, 123|128,6/*891*/, /*->45130*/ // 2 children in Scope
23265 : /* 44239*/ OPC_MoveChild1,
23266 : /* 44240*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->44756
23267 : /* 44245*/ OPC_Scope, 101, /*->44348*/ // 5 children in Scope
23268 : /* 44247*/ OPC_RecordChild0, // #1 = $addr
23269 : /* 44248*/ OPC_MoveChild1,
23270 : /* 44249*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23271 : /* 44252*/ OPC_RecordChild0, // #2 = $off
23272 : /* 44253*/ OPC_MoveChild0,
23273 : /* 44254*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23274 : /* 44257*/ OPC_MoveParent,
23275 : /* 44258*/ OPC_MoveParent,
23276 : /* 44259*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
23277 : /* 44261*/ OPC_CheckType, MVT::i32,
23278 : /* 44263*/ OPC_MoveParent,
23279 : /* 44264*/ OPC_RecordChild2, // #3 = $val
23280 : /* 44265*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44327
23281 : /* 44268*/ OPC_Scope, 18, /*->44288*/ // 3 children in Scope
23282 : /* 44270*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23283 : /* 44272*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23284 : /* 44274*/ OPC_EmitMergeInputChains1_0,
23285 : /* 44275*/ OPC_EmitInteger, MVT::i32, 0,
23286 : /* 44278*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23287 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23288 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 14
23289 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23290 : /* 44288*/ /*Scope*/ 18, /*->44307*/
23291 : /* 44289*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23292 : /* 44291*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23293 : /* 44293*/ OPC_EmitMergeInputChains1_0,
23294 : /* 44294*/ OPC_EmitInteger, MVT::i32, 0,
23295 : /* 44297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23296 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23297 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 14
23298 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23299 : /* 44307*/ /*Scope*/ 18, /*->44326*/
23300 : /* 44308*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23301 : /* 44310*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23302 : /* 44312*/ OPC_EmitMergeInputChains1_0,
23303 : /* 44313*/ OPC_EmitInteger, MVT::i32, 0,
23304 : /* 44316*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23305 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23306 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 14
23307 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23308 : /* 44326*/ 0, /*End of Scope*/
23309 : /* 44327*/ /*SwitchType*/ 18, MVT::i64,// ->44347
23310 : /* 44329*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23311 : /* 44331*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23312 : /* 44333*/ OPC_EmitMergeInputChains1_0,
23313 : /* 44334*/ OPC_EmitInteger, MVT::i32, 0,
23314 : /* 44337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23315 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
23316 : // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 14
23317 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23318 : /* 44347*/ 0, // EndSwitchType
23319 : /* 44348*/ /*Scope*/ 101, /*->44450*/
23320 : /* 44349*/ OPC_MoveChild0,
23321 : /* 44350*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23322 : /* 44353*/ OPC_RecordChild0, // #1 = $off
23323 : /* 44354*/ OPC_MoveChild0,
23324 : /* 44355*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23325 : /* 44358*/ OPC_MoveParent,
23326 : /* 44359*/ OPC_MoveParent,
23327 : /* 44360*/ OPC_RecordChild1, // #2 = $addr
23328 : /* 44361*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
23329 : /* 44363*/ OPC_CheckType, MVT::i32,
23330 : /* 44365*/ OPC_MoveParent,
23331 : /* 44366*/ OPC_RecordChild2, // #3 = $val
23332 : /* 44367*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44429
23333 : /* 44370*/ OPC_Scope, 18, /*->44390*/ // 3 children in Scope
23334 : /* 44372*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23335 : /* 44374*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23336 : /* 44376*/ OPC_EmitMergeInputChains1_0,
23337 : /* 44377*/ OPC_EmitInteger, MVT::i32, 0,
23338 : /* 44380*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23339 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23340 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 14
23341 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23342 : /* 44390*/ /*Scope*/ 18, /*->44409*/
23343 : /* 44391*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23344 : /* 44393*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23345 : /* 44395*/ OPC_EmitMergeInputChains1_0,
23346 : /* 44396*/ OPC_EmitInteger, MVT::i32, 0,
23347 : /* 44399*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23348 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23349 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 14
23350 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23351 : /* 44409*/ /*Scope*/ 18, /*->44428*/
23352 : /* 44410*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23353 : /* 44412*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23354 : /* 44414*/ OPC_EmitMergeInputChains1_0,
23355 : /* 44415*/ OPC_EmitInteger, MVT::i32, 0,
23356 : /* 44418*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23357 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23358 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 14
23359 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23360 : /* 44428*/ 0, /*End of Scope*/
23361 : /* 44429*/ /*SwitchType*/ 18, MVT::i64,// ->44449
23362 : /* 44431*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23363 : /* 44433*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23364 : /* 44435*/ OPC_EmitMergeInputChains1_0,
23365 : /* 44436*/ OPC_EmitInteger, MVT::i32, 0,
23366 : /* 44439*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23367 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
23368 : // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 14
23369 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23370 : /* 44449*/ 0, // EndSwitchType
23371 : /* 44450*/ /*Scope*/ 99, /*->44550*/
23372 : /* 44451*/ OPC_RecordChild0, // #1 = $addr
23373 : /* 44452*/ OPC_MoveChild1,
23374 : /* 44453*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23375 : /* 44456*/ OPC_RecordChild0, // #2 = $off
23376 : /* 44457*/ OPC_MoveChild0,
23377 : /* 44458*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
23378 : /* 44461*/ OPC_MoveParent,
23379 : /* 44462*/ OPC_MoveParent,
23380 : /* 44463*/ OPC_CheckType, MVT::i32,
23381 : /* 44465*/ OPC_MoveParent,
23382 : /* 44466*/ OPC_RecordChild2, // #3 = $val
23383 : /* 44467*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44529
23384 : /* 44470*/ OPC_Scope, 18, /*->44490*/ // 3 children in Scope
23385 : /* 44472*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23386 : /* 44474*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23387 : /* 44476*/ OPC_EmitMergeInputChains1_0,
23388 : /* 44477*/ OPC_EmitInteger, MVT::i32, 0,
23389 : /* 44480*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23390 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23391 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 13
23392 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23393 : /* 44490*/ /*Scope*/ 18, /*->44509*/
23394 : /* 44491*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23395 : /* 44493*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23396 : /* 44495*/ OPC_EmitMergeInputChains1_0,
23397 : /* 44496*/ OPC_EmitInteger, MVT::i32, 0,
23398 : /* 44499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23399 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23400 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 13
23401 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23402 : /* 44509*/ /*Scope*/ 18, /*->44528*/
23403 : /* 44510*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23404 : /* 44512*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23405 : /* 44514*/ OPC_EmitMergeInputChains1_0,
23406 : /* 44515*/ OPC_EmitInteger, MVT::i32, 0,
23407 : /* 44518*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23408 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23409 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 13
23410 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23411 : /* 44528*/ 0, /*End of Scope*/
23412 : /* 44529*/ /*SwitchType*/ 18, MVT::i64,// ->44549
23413 : /* 44531*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23414 : /* 44533*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23415 : /* 44535*/ OPC_EmitMergeInputChains1_0,
23416 : /* 44536*/ OPC_EmitInteger, MVT::i32, 0,
23417 : /* 44539*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23418 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
23419 : // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 13
23420 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23421 : /* 44549*/ 0, // EndSwitchType
23422 : /* 44550*/ /*Scope*/ 99, /*->44650*/
23423 : /* 44551*/ OPC_MoveChild0,
23424 : /* 44552*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23425 : /* 44555*/ OPC_RecordChild0, // #1 = $off
23426 : /* 44556*/ OPC_MoveChild0,
23427 : /* 44557*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
23428 : /* 44560*/ OPC_MoveParent,
23429 : /* 44561*/ OPC_MoveParent,
23430 : /* 44562*/ OPC_RecordChild1, // #2 = $addr
23431 : /* 44563*/ OPC_CheckType, MVT::i32,
23432 : /* 44565*/ OPC_MoveParent,
23433 : /* 44566*/ OPC_RecordChild2, // #3 = $val
23434 : /* 44567*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44629
23435 : /* 44570*/ OPC_Scope, 18, /*->44590*/ // 3 children in Scope
23436 : /* 44572*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23437 : /* 44574*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23438 : /* 44576*/ OPC_EmitMergeInputChains1_0,
23439 : /* 44577*/ OPC_EmitInteger, MVT::i32, 0,
23440 : /* 44580*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23441 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23442 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 13
23443 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23444 : /* 44590*/ /*Scope*/ 18, /*->44609*/
23445 : /* 44591*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23446 : /* 44593*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23447 : /* 44595*/ OPC_EmitMergeInputChains1_0,
23448 : /* 44596*/ OPC_EmitInteger, MVT::i32, 0,
23449 : /* 44599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23450 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23451 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 13
23452 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23453 : /* 44609*/ /*Scope*/ 18, /*->44628*/
23454 : /* 44610*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23455 : /* 44612*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23456 : /* 44614*/ OPC_EmitMergeInputChains1_0,
23457 : /* 44615*/ OPC_EmitInteger, MVT::i32, 0,
23458 : /* 44618*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23459 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23460 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 13
23461 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23462 : /* 44628*/ 0, /*End of Scope*/
23463 : /* 44629*/ /*SwitchType*/ 18, MVT::i64,// ->44649
23464 : /* 44631*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23465 : /* 44633*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23466 : /* 44635*/ OPC_EmitMergeInputChains1_0,
23467 : /* 44636*/ OPC_EmitInteger, MVT::i32, 0,
23468 : /* 44639*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23469 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
23470 : // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 13
23471 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23472 : /* 44649*/ 0, // EndSwitchType
23473 : /* 44650*/ /*Scope*/ 104, /*->44755*/
23474 : /* 44651*/ OPC_RecordChild0, // #1 = $addr
23475 : /* 44652*/ OPC_RecordChild1, // #2 = $off
23476 : /* 44653*/ OPC_MoveChild1,
23477 : /* 44654*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23478 : /* 44657*/ OPC_MoveParent,
23479 : /* 44658*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
23480 : /* 44660*/ OPC_CheckType, MVT::i32,
23481 : /* 44662*/ OPC_MoveParent,
23482 : /* 44663*/ OPC_RecordChild2, // #3 = $val
23483 : /* 44664*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->44732
23484 : /* 44667*/ OPC_Scope, 20, /*->44689*/ // 3 children in Scope
23485 : /* 44669*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23486 : /* 44671*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23487 : /* 44673*/ OPC_EmitMergeInputChains1_0,
23488 : /* 44674*/ OPC_EmitInteger, MVT::i32, 0,
23489 : /* 44677*/ OPC_EmitConvertToTarget, 2,
23490 : /* 44679*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23491 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23492 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23493 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23494 : /* 44689*/ /*Scope*/ 20, /*->44710*/
23495 : /* 44690*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23496 : /* 44692*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23497 : /* 44694*/ OPC_EmitMergeInputChains1_0,
23498 : /* 44695*/ OPC_EmitInteger, MVT::i32, 0,
23499 : /* 44698*/ OPC_EmitConvertToTarget, 2,
23500 : /* 44700*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23501 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23502 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23503 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23504 : /* 44710*/ /*Scope*/ 20, /*->44731*/
23505 : /* 44711*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23506 : /* 44713*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23507 : /* 44715*/ OPC_EmitMergeInputChains1_0,
23508 : /* 44716*/ OPC_EmitInteger, MVT::i32, 0,
23509 : /* 44719*/ OPC_EmitConvertToTarget, 2,
23510 : /* 44721*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23511 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23512 : // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23513 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23514 : /* 44731*/ 0, /*End of Scope*/
23515 : /* 44732*/ /*SwitchType*/ 20, MVT::i64,// ->44754
23516 : /* 44734*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23517 : /* 44736*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23518 : /* 44738*/ OPC_EmitMergeInputChains1_0,
23519 : /* 44739*/ OPC_EmitInteger, MVT::i32, 0,
23520 : /* 44742*/ OPC_EmitConvertToTarget, 2,
23521 : /* 44744*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23522 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23523 : // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23524 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23525 : /* 44754*/ 0, // EndSwitchType
23526 : /* 44755*/ 0, /*End of Scope*/
23527 : /* 44756*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->44863
23528 : /* 44759*/ OPC_RecordChild0, // #1 = $addr
23529 : /* 44760*/ OPC_RecordChild1, // #2 = $off
23530 : /* 44761*/ OPC_MoveChild1,
23531 : /* 44762*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23532 : /* 44765*/ OPC_MoveParent,
23533 : /* 44766*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
23534 : /* 44768*/ OPC_CheckType, MVT::i32,
23535 : /* 44770*/ OPC_MoveParent,
23536 : /* 44771*/ OPC_RecordChild2, // #3 = $val
23537 : /* 44772*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->44840
23538 : /* 44775*/ OPC_Scope, 20, /*->44797*/ // 3 children in Scope
23539 : /* 44777*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23540 : /* 44779*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23541 : /* 44781*/ OPC_EmitMergeInputChains1_0,
23542 : /* 44782*/ OPC_EmitInteger, MVT::i32, 0,
23543 : /* 44785*/ OPC_EmitConvertToTarget, 2,
23544 : /* 44787*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23545 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23546 : // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
23547 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23548 : /* 44797*/ /*Scope*/ 20, /*->44818*/
23549 : /* 44798*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23550 : /* 44800*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23551 : /* 44802*/ OPC_EmitMergeInputChains1_0,
23552 : /* 44803*/ OPC_EmitInteger, MVT::i32, 0,
23553 : /* 44806*/ OPC_EmitConvertToTarget, 2,
23554 : /* 44808*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23555 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23556 : // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
23557 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23558 : /* 44818*/ /*Scope*/ 20, /*->44839*/
23559 : /* 44819*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23560 : /* 44821*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23561 : /* 44823*/ OPC_EmitMergeInputChains1_0,
23562 : /* 44824*/ OPC_EmitInteger, MVT::i32, 0,
23563 : /* 44827*/ OPC_EmitConvertToTarget, 2,
23564 : /* 44829*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23565 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
23566 : // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
23567 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23568 : /* 44839*/ 0, /*End of Scope*/
23569 : /* 44840*/ /*SwitchType*/ 20, MVT::i64,// ->44862
23570 : /* 44842*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23571 : /* 44844*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23572 : /* 44846*/ OPC_EmitMergeInputChains1_0,
23573 : /* 44847*/ OPC_EmitInteger, MVT::i32, 0,
23574 : /* 44850*/ OPC_EmitConvertToTarget, 2,
23575 : /* 44852*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23576 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
23577 : // Src: (atomic_load_and:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
23578 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23579 : /* 44862*/ 0, // EndSwitchType
23580 : /* 44863*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->45129
23581 : /* 44867*/ OPC_RecordChild0, // #1 = $off
23582 : /* 44868*/ OPC_MoveChild0,
23583 : /* 44869*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->44999
23584 : /* 44873*/ OPC_MoveParent,
23585 : /* 44874*/ OPC_MoveParent,
23586 : /* 44875*/ OPC_RecordChild2, // #2 = $val
23587 : /* 44876*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->44968
23588 : /* 44879*/ OPC_Scope, 28, /*->44909*/ // 3 children in Scope
23589 : /* 44881*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23590 : /* 44883*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23591 : /* 44885*/ OPC_EmitMergeInputChains1_0,
23592 : /* 44886*/ OPC_EmitInteger, MVT::i32, 0,
23593 : /* 44889*/ OPC_EmitInteger, MVT::i32, 0,
23594 : /* 44892*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23595 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23596 : /* 44899*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23597 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23598 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
23599 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23600 : /* 44909*/ /*Scope*/ 28, /*->44938*/
23601 : /* 44910*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23602 : /* 44912*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23603 : /* 44914*/ OPC_EmitMergeInputChains1_0,
23604 : /* 44915*/ OPC_EmitInteger, MVT::i32, 0,
23605 : /* 44918*/ OPC_EmitInteger, MVT::i32, 0,
23606 : /* 44921*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23607 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23608 : /* 44928*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23609 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23610 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
23611 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23612 : /* 44938*/ /*Scope*/ 28, /*->44967*/
23613 : /* 44939*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23614 : /* 44941*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23615 : /* 44943*/ OPC_EmitMergeInputChains1_0,
23616 : /* 44944*/ OPC_EmitInteger, MVT::i32, 0,
23617 : /* 44947*/ OPC_EmitInteger, MVT::i32, 0,
23618 : /* 44950*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23619 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23620 : /* 44957*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23621 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23622 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
23623 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23624 : /* 44967*/ 0, /*End of Scope*/
23625 : /* 44968*/ /*SwitchType*/ 28, MVT::i64,// ->44998
23626 : /* 44970*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23627 : /* 44972*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23628 : /* 44974*/ OPC_EmitMergeInputChains1_0,
23629 : /* 44975*/ OPC_EmitInteger, MVT::i32, 0,
23630 : /* 44978*/ OPC_EmitInteger, MVT::i32, 0,
23631 : /* 44981*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23632 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23633 : /* 44988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23634 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23635 : // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
23636 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23637 : /* 44998*/ 0, // EndSwitchType
23638 : /* 44999*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->45128
23639 : /* 45002*/ OPC_MoveParent,
23640 : /* 45003*/ OPC_MoveParent,
23641 : /* 45004*/ OPC_RecordChild2, // #2 = $val
23642 : /* 45005*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->45097
23643 : /* 45008*/ OPC_Scope, 28, /*->45038*/ // 3 children in Scope
23644 : /* 45010*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23645 : /* 45012*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23646 : /* 45014*/ OPC_EmitMergeInputChains1_0,
23647 : /* 45015*/ OPC_EmitInteger, MVT::i32, 0,
23648 : /* 45018*/ OPC_EmitInteger, MVT::i32, 0,
23649 : /* 45021*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23650 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23651 : /* 45028*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23652 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23653 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
23654 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23655 : /* 45038*/ /*Scope*/ 28, /*->45067*/
23656 : /* 45039*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23657 : /* 45041*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23658 : /* 45043*/ OPC_EmitMergeInputChains1_0,
23659 : /* 45044*/ OPC_EmitInteger, MVT::i32, 0,
23660 : /* 45047*/ OPC_EmitInteger, MVT::i32, 0,
23661 : /* 45050*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23662 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23663 : /* 45057*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23664 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23665 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
23666 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23667 : /* 45067*/ /*Scope*/ 28, /*->45096*/
23668 : /* 45068*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23669 : /* 45070*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23670 : /* 45072*/ OPC_EmitMergeInputChains1_0,
23671 : /* 45073*/ OPC_EmitInteger, MVT::i32, 0,
23672 : /* 45076*/ OPC_EmitInteger, MVT::i32, 0,
23673 : /* 45079*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23674 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23675 : /* 45086*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23676 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
23677 : // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
23678 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23679 : /* 45096*/ 0, /*End of Scope*/
23680 : /* 45097*/ /*SwitchType*/ 28, MVT::i64,// ->45127
23681 : /* 45099*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23682 : /* 45101*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23683 : /* 45103*/ OPC_EmitMergeInputChains1_0,
23684 : /* 45104*/ OPC_EmitInteger, MVT::i32, 0,
23685 : /* 45107*/ OPC_EmitInteger, MVT::i32, 0,
23686 : /* 45110*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23687 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
23688 : /* 45117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23689 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
23690 : // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
23691 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23692 : /* 45127*/ 0, // EndSwitchType
23693 : /* 45128*/ 0, // EndSwitchOpcode
23694 : /* 45129*/ 0, // EndSwitchOpcode
23695 : /* 45130*/ /*Scope*/ 113|128,1/*241*/, /*->45373*/
23696 : /* 45132*/ OPC_RecordChild1, // #1 = $off
23697 : /* 45133*/ OPC_Scope, 9|128,1/*137*/, /*->45273*/ // 2 children in Scope
23698 : /* 45136*/ OPC_MoveChild1,
23699 : /* 45137*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23700 : /* 45140*/ OPC_MoveParent,
23701 : /* 45141*/ OPC_RecordChild2, // #2 = $val
23702 : /* 45142*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->45240
23703 : /* 45145*/ OPC_Scope, 30, /*->45177*/ // 3 children in Scope
23704 : /* 45147*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23705 : /* 45149*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23706 : /* 45151*/ OPC_EmitMergeInputChains1_0,
23707 : /* 45152*/ OPC_EmitInteger, MVT::i32, 0,
23708 : /* 45155*/ OPC_EmitConvertToTarget, 1,
23709 : /* 45157*/ OPC_EmitInteger, MVT::i32, 0,
23710 : /* 45160*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23711 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23712 : /* 45167*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23713 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23714 : // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 7
23715 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23716 : /* 45177*/ /*Scope*/ 30, /*->45208*/
23717 : /* 45178*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23718 : /* 45180*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23719 : /* 45182*/ OPC_EmitMergeInputChains1_0,
23720 : /* 45183*/ OPC_EmitInteger, MVT::i32, 0,
23721 : /* 45186*/ OPC_EmitConvertToTarget, 1,
23722 : /* 45188*/ OPC_EmitInteger, MVT::i32, 0,
23723 : /* 45191*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23724 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23725 : /* 45198*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23726 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23727 : // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 7
23728 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23729 : /* 45208*/ /*Scope*/ 30, /*->45239*/
23730 : /* 45209*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23731 : /* 45211*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23732 : /* 45213*/ OPC_EmitMergeInputChains1_0,
23733 : /* 45214*/ OPC_EmitInteger, MVT::i32, 0,
23734 : /* 45217*/ OPC_EmitConvertToTarget, 1,
23735 : /* 45219*/ OPC_EmitInteger, MVT::i32, 0,
23736 : /* 45222*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23737 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23738 : /* 45229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23739 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
23740 : // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 7
23741 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
23742 : /* 45239*/ 0, /*End of Scope*/
23743 : /* 45240*/ /*SwitchType*/ 30, MVT::i64,// ->45272
23744 : /* 45242*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23745 : /* 45244*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23746 : /* 45246*/ OPC_EmitMergeInputChains1_0,
23747 : /* 45247*/ OPC_EmitInteger, MVT::i32, 0,
23748 : /* 45250*/ OPC_EmitConvertToTarget, 1,
23749 : /* 45252*/ OPC_EmitInteger, MVT::i32, 0,
23750 : /* 45255*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
23751 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
23752 : /* 45262*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23753 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
23754 : // Src: (atomic_load_and:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 7
23755 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
23756 : /* 45272*/ 0, // EndSwitchType
23757 : /* 45273*/ /*Scope*/ 98, /*->45372*/
23758 : /* 45274*/ OPC_CheckChild1Type, MVT::i32,
23759 : /* 45276*/ OPC_RecordChild2, // #2 = $val
23760 : /* 45277*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->45348
23761 : /* 45280*/ OPC_Scope, 21, /*->45303*/ // 3 children in Scope
23762 : /* 45282*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
23763 : /* 45284*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23764 : /* 45286*/ OPC_EmitMergeInputChains1_0,
23765 : /* 45287*/ OPC_EmitInteger, MVT::i32, 0,
23766 : /* 45290*/ OPC_EmitInteger, MVT::i32, 0,
23767 : /* 45293*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23768 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23769 : // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 4
23770 : // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23771 : /* 45303*/ /*Scope*/ 21, /*->45325*/
23772 : /* 45304*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
23773 : /* 45306*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23774 : /* 45308*/ OPC_EmitMergeInputChains1_0,
23775 : /* 45309*/ OPC_EmitInteger, MVT::i32, 0,
23776 : /* 45312*/ OPC_EmitInteger, MVT::i32, 0,
23777 : /* 45315*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23778 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23779 : // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 4
23780 : // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23781 : /* 45325*/ /*Scope*/ 21, /*->45347*/
23782 : /* 45326*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
23783 : /* 45328*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23784 : /* 45330*/ OPC_EmitMergeInputChains1_0,
23785 : /* 45331*/ OPC_EmitInteger, MVT::i32, 0,
23786 : /* 45334*/ OPC_EmitInteger, MVT::i32, 0,
23787 : /* 45337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
23788 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
23789 : // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 4
23790 : // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23791 : /* 45347*/ 0, /*End of Scope*/
23792 : /* 45348*/ /*SwitchType*/ 21, MVT::i64,// ->45371
23793 : /* 45350*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
23794 : /* 45352*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23795 : /* 45354*/ OPC_EmitMergeInputChains1_0,
23796 : /* 45355*/ OPC_EmitInteger, MVT::i32, 0,
23797 : /* 45358*/ OPC_EmitInteger, MVT::i32, 0,
23798 : /* 45361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
23799 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
23800 : // Src: (atomic_load_and:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 4
23801 : // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23802 : /* 45371*/ 0, // EndSwitchType
23803 : /* 45372*/ 0, /*End of Scope*/
23804 : /* 45373*/ 0, /*End of Scope*/
23805 : /* 45374*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->46518
23806 : /* 45378*/ OPC_RecordMemRef,
23807 : /* 45379*/ OPC_RecordNode, // #0 = 'atomic_load_or' chained node
23808 : /* 45380*/ OPC_Scope, 123|128,6/*891*/, /*->46274*/ // 2 children in Scope
23809 : /* 45383*/ OPC_MoveChild1,
23810 : /* 45384*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->45900
23811 : /* 45389*/ OPC_Scope, 101, /*->45492*/ // 5 children in Scope
23812 : /* 45391*/ OPC_RecordChild0, // #1 = $addr
23813 : /* 45392*/ OPC_MoveChild1,
23814 : /* 45393*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23815 : /* 45396*/ OPC_RecordChild0, // #2 = $off
23816 : /* 45397*/ OPC_MoveChild0,
23817 : /* 45398*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23818 : /* 45401*/ OPC_MoveParent,
23819 : /* 45402*/ OPC_MoveParent,
23820 : /* 45403*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
23821 : /* 45405*/ OPC_CheckType, MVT::i32,
23822 : /* 45407*/ OPC_MoveParent,
23823 : /* 45408*/ OPC_RecordChild2, // #3 = $val
23824 : /* 45409*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45471
23825 : /* 45412*/ OPC_Scope, 18, /*->45432*/ // 3 children in Scope
23826 : /* 45414*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
23827 : /* 45416*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23828 : /* 45418*/ OPC_EmitMergeInputChains1_0,
23829 : /* 45419*/ OPC_EmitInteger, MVT::i32, 0,
23830 : /* 45422*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23831 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23832 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 14
23833 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23834 : /* 45432*/ /*Scope*/ 18, /*->45451*/
23835 : /* 45433*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
23836 : /* 45435*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23837 : /* 45437*/ OPC_EmitMergeInputChains1_0,
23838 : /* 45438*/ OPC_EmitInteger, MVT::i32, 0,
23839 : /* 45441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23840 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23841 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 14
23842 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23843 : /* 45451*/ /*Scope*/ 18, /*->45470*/
23844 : /* 45452*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
23845 : /* 45454*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23846 : /* 45456*/ OPC_EmitMergeInputChains1_0,
23847 : /* 45457*/ OPC_EmitInteger, MVT::i32, 0,
23848 : /* 45460*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23849 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23850 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 14
23851 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23852 : /* 45470*/ 0, /*End of Scope*/
23853 : /* 45471*/ /*SwitchType*/ 18, MVT::i64,// ->45491
23854 : /* 45473*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
23855 : /* 45475*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23856 : /* 45477*/ OPC_EmitMergeInputChains1_0,
23857 : /* 45478*/ OPC_EmitInteger, MVT::i32, 0,
23858 : /* 45481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
23859 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
23860 : // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 14
23861 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23862 : /* 45491*/ 0, // EndSwitchType
23863 : /* 45492*/ /*Scope*/ 101, /*->45594*/
23864 : /* 45493*/ OPC_MoveChild0,
23865 : /* 45494*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23866 : /* 45497*/ OPC_RecordChild0, // #1 = $off
23867 : /* 45498*/ OPC_MoveChild0,
23868 : /* 45499*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
23869 : /* 45502*/ OPC_MoveParent,
23870 : /* 45503*/ OPC_MoveParent,
23871 : /* 45504*/ OPC_RecordChild1, // #2 = $addr
23872 : /* 45505*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
23873 : /* 45507*/ OPC_CheckType, MVT::i32,
23874 : /* 45509*/ OPC_MoveParent,
23875 : /* 45510*/ OPC_RecordChild2, // #3 = $val
23876 : /* 45511*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45573
23877 : /* 45514*/ OPC_Scope, 18, /*->45534*/ // 3 children in Scope
23878 : /* 45516*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
23879 : /* 45518*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23880 : /* 45520*/ OPC_EmitMergeInputChains1_0,
23881 : /* 45521*/ OPC_EmitInteger, MVT::i32, 0,
23882 : /* 45524*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23883 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23884 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 14
23885 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23886 : /* 45534*/ /*Scope*/ 18, /*->45553*/
23887 : /* 45535*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
23888 : /* 45537*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23889 : /* 45539*/ OPC_EmitMergeInputChains1_0,
23890 : /* 45540*/ OPC_EmitInteger, MVT::i32, 0,
23891 : /* 45543*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23892 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23893 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 14
23894 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23895 : /* 45553*/ /*Scope*/ 18, /*->45572*/
23896 : /* 45554*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
23897 : /* 45556*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23898 : /* 45558*/ OPC_EmitMergeInputChains1_0,
23899 : /* 45559*/ OPC_EmitInteger, MVT::i32, 0,
23900 : /* 45562*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23901 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23902 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 14
23903 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23904 : /* 45572*/ 0, /*End of Scope*/
23905 : /* 45573*/ /*SwitchType*/ 18, MVT::i64,// ->45593
23906 : /* 45575*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
23907 : /* 45577*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23908 : /* 45579*/ OPC_EmitMergeInputChains1_0,
23909 : /* 45580*/ OPC_EmitInteger, MVT::i32, 0,
23910 : /* 45583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
23911 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
23912 : // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 14
23913 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23914 : /* 45593*/ 0, // EndSwitchType
23915 : /* 45594*/ /*Scope*/ 99, /*->45694*/
23916 : /* 45595*/ OPC_RecordChild0, // #1 = $addr
23917 : /* 45596*/ OPC_MoveChild1,
23918 : /* 45597*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23919 : /* 45600*/ OPC_RecordChild0, // #2 = $off
23920 : /* 45601*/ OPC_MoveChild0,
23921 : /* 45602*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
23922 : /* 45605*/ OPC_MoveParent,
23923 : /* 45606*/ OPC_MoveParent,
23924 : /* 45607*/ OPC_CheckType, MVT::i32,
23925 : /* 45609*/ OPC_MoveParent,
23926 : /* 45610*/ OPC_RecordChild2, // #3 = $val
23927 : /* 45611*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45673
23928 : /* 45614*/ OPC_Scope, 18, /*->45634*/ // 3 children in Scope
23929 : /* 45616*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
23930 : /* 45618*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23931 : /* 45620*/ OPC_EmitMergeInputChains1_0,
23932 : /* 45621*/ OPC_EmitInteger, MVT::i32, 0,
23933 : /* 45624*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23934 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23935 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 13
23936 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23937 : /* 45634*/ /*Scope*/ 18, /*->45653*/
23938 : /* 45635*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
23939 : /* 45637*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23940 : /* 45639*/ OPC_EmitMergeInputChains1_0,
23941 : /* 45640*/ OPC_EmitInteger, MVT::i32, 0,
23942 : /* 45643*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23943 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23944 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 13
23945 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23946 : /* 45653*/ /*Scope*/ 18, /*->45672*/
23947 : /* 45654*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
23948 : /* 45656*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23949 : /* 45658*/ OPC_EmitMergeInputChains1_0,
23950 : /* 45659*/ OPC_EmitInteger, MVT::i32, 0,
23951 : /* 45662*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23952 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
23953 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 13
23954 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23955 : /* 45672*/ 0, /*End of Scope*/
23956 : /* 45673*/ /*SwitchType*/ 18, MVT::i64,// ->45693
23957 : /* 45675*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
23958 : /* 45677*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23959 : /* 45679*/ OPC_EmitMergeInputChains1_0,
23960 : /* 45680*/ OPC_EmitInteger, MVT::i32, 0,
23961 : /* 45683*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
23962 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
23963 : // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 13
23964 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
23965 : /* 45693*/ 0, // EndSwitchType
23966 : /* 45694*/ /*Scope*/ 99, /*->45794*/
23967 : /* 45695*/ OPC_MoveChild0,
23968 : /* 45696*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
23969 : /* 45699*/ OPC_RecordChild0, // #1 = $off
23970 : /* 45700*/ OPC_MoveChild0,
23971 : /* 45701*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
23972 : /* 45704*/ OPC_MoveParent,
23973 : /* 45705*/ OPC_MoveParent,
23974 : /* 45706*/ OPC_RecordChild1, // #2 = $addr
23975 : /* 45707*/ OPC_CheckType, MVT::i32,
23976 : /* 45709*/ OPC_MoveParent,
23977 : /* 45710*/ OPC_RecordChild2, // #3 = $val
23978 : /* 45711*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45773
23979 : /* 45714*/ OPC_Scope, 18, /*->45734*/ // 3 children in Scope
23980 : /* 45716*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
23981 : /* 45718*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23982 : /* 45720*/ OPC_EmitMergeInputChains1_0,
23983 : /* 45721*/ OPC_EmitInteger, MVT::i32, 0,
23984 : /* 45724*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23985 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23986 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 13
23987 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23988 : /* 45734*/ /*Scope*/ 18, /*->45753*/
23989 : /* 45735*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
23990 : /* 45737*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
23991 : /* 45739*/ OPC_EmitMergeInputChains1_0,
23992 : /* 45740*/ OPC_EmitInteger, MVT::i32, 0,
23993 : /* 45743*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
23994 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
23995 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 13
23996 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
23997 : /* 45753*/ /*Scope*/ 18, /*->45772*/
23998 : /* 45754*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
23999 : /* 45756*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24000 : /* 45758*/ OPC_EmitMergeInputChains1_0,
24001 : /* 45759*/ OPC_EmitInteger, MVT::i32, 0,
24002 : /* 45762*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24003 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24004 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 13
24005 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24006 : /* 45772*/ 0, /*End of Scope*/
24007 : /* 45773*/ /*SwitchType*/ 18, MVT::i64,// ->45793
24008 : /* 45775*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24009 : /* 45777*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24010 : /* 45779*/ OPC_EmitMergeInputChains1_0,
24011 : /* 45780*/ OPC_EmitInteger, MVT::i32, 0,
24012 : /* 45783*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24013 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
24014 : // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 13
24015 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24016 : /* 45793*/ 0, // EndSwitchType
24017 : /* 45794*/ /*Scope*/ 104, /*->45899*/
24018 : /* 45795*/ OPC_RecordChild0, // #1 = $addr
24019 : /* 45796*/ OPC_RecordChild1, // #2 = $off
24020 : /* 45797*/ OPC_MoveChild1,
24021 : /* 45798*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24022 : /* 45801*/ OPC_MoveParent,
24023 : /* 45802*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
24024 : /* 45804*/ OPC_CheckType, MVT::i32,
24025 : /* 45806*/ OPC_MoveParent,
24026 : /* 45807*/ OPC_RecordChild2, // #3 = $val
24027 : /* 45808*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45876
24028 : /* 45811*/ OPC_Scope, 20, /*->45833*/ // 3 children in Scope
24029 : /* 45813*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24030 : /* 45815*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24031 : /* 45817*/ OPC_EmitMergeInputChains1_0,
24032 : /* 45818*/ OPC_EmitInteger, MVT::i32, 0,
24033 : /* 45821*/ OPC_EmitConvertToTarget, 2,
24034 : /* 45823*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24035 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24036 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24037 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24038 : /* 45833*/ /*Scope*/ 20, /*->45854*/
24039 : /* 45834*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24040 : /* 45836*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24041 : /* 45838*/ OPC_EmitMergeInputChains1_0,
24042 : /* 45839*/ OPC_EmitInteger, MVT::i32, 0,
24043 : /* 45842*/ OPC_EmitConvertToTarget, 2,
24044 : /* 45844*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24045 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24046 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24047 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24048 : /* 45854*/ /*Scope*/ 20, /*->45875*/
24049 : /* 45855*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24050 : /* 45857*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24051 : /* 45859*/ OPC_EmitMergeInputChains1_0,
24052 : /* 45860*/ OPC_EmitInteger, MVT::i32, 0,
24053 : /* 45863*/ OPC_EmitConvertToTarget, 2,
24054 : /* 45865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24055 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24056 : // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24057 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24058 : /* 45875*/ 0, /*End of Scope*/
24059 : /* 45876*/ /*SwitchType*/ 20, MVT::i64,// ->45898
24060 : /* 45878*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24061 : /* 45880*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24062 : /* 45882*/ OPC_EmitMergeInputChains1_0,
24063 : /* 45883*/ OPC_EmitInteger, MVT::i32, 0,
24064 : /* 45886*/ OPC_EmitConvertToTarget, 2,
24065 : /* 45888*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24066 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24067 : // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24068 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24069 : /* 45898*/ 0, // EndSwitchType
24070 : /* 45899*/ 0, /*End of Scope*/
24071 : /* 45900*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->46007
24072 : /* 45903*/ OPC_RecordChild0, // #1 = $addr
24073 : /* 45904*/ OPC_RecordChild1, // #2 = $off
24074 : /* 45905*/ OPC_MoveChild1,
24075 : /* 45906*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24076 : /* 45909*/ OPC_MoveParent,
24077 : /* 45910*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
24078 : /* 45912*/ OPC_CheckType, MVT::i32,
24079 : /* 45914*/ OPC_MoveParent,
24080 : /* 45915*/ OPC_RecordChild2, // #3 = $val
24081 : /* 45916*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45984
24082 : /* 45919*/ OPC_Scope, 20, /*->45941*/ // 3 children in Scope
24083 : /* 45921*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24084 : /* 45923*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24085 : /* 45925*/ OPC_EmitMergeInputChains1_0,
24086 : /* 45926*/ OPC_EmitInteger, MVT::i32, 0,
24087 : /* 45929*/ OPC_EmitConvertToTarget, 2,
24088 : /* 45931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24089 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24090 : // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
24091 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24092 : /* 45941*/ /*Scope*/ 20, /*->45962*/
24093 : /* 45942*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24094 : /* 45944*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24095 : /* 45946*/ OPC_EmitMergeInputChains1_0,
24096 : /* 45947*/ OPC_EmitInteger, MVT::i32, 0,
24097 : /* 45950*/ OPC_EmitConvertToTarget, 2,
24098 : /* 45952*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24099 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24100 : // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
24101 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24102 : /* 45962*/ /*Scope*/ 20, /*->45983*/
24103 : /* 45963*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24104 : /* 45965*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24105 : /* 45967*/ OPC_EmitMergeInputChains1_0,
24106 : /* 45968*/ OPC_EmitInteger, MVT::i32, 0,
24107 : /* 45971*/ OPC_EmitConvertToTarget, 2,
24108 : /* 45973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24109 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24110 : // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
24111 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24112 : /* 45983*/ 0, /*End of Scope*/
24113 : /* 45984*/ /*SwitchType*/ 20, MVT::i64,// ->46006
24114 : /* 45986*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24115 : /* 45988*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24116 : /* 45990*/ OPC_EmitMergeInputChains1_0,
24117 : /* 45991*/ OPC_EmitInteger, MVT::i32, 0,
24118 : /* 45994*/ OPC_EmitConvertToTarget, 2,
24119 : /* 45996*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24120 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24121 : // Src: (atomic_load_or:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
24122 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24123 : /* 46006*/ 0, // EndSwitchType
24124 : /* 46007*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->46273
24125 : /* 46011*/ OPC_RecordChild0, // #1 = $off
24126 : /* 46012*/ OPC_MoveChild0,
24127 : /* 46013*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->46143
24128 : /* 46017*/ OPC_MoveParent,
24129 : /* 46018*/ OPC_MoveParent,
24130 : /* 46019*/ OPC_RecordChild2, // #2 = $val
24131 : /* 46020*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->46112
24132 : /* 46023*/ OPC_Scope, 28, /*->46053*/ // 3 children in Scope
24133 : /* 46025*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24134 : /* 46027*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24135 : /* 46029*/ OPC_EmitMergeInputChains1_0,
24136 : /* 46030*/ OPC_EmitInteger, MVT::i32, 0,
24137 : /* 46033*/ OPC_EmitInteger, MVT::i32, 0,
24138 : /* 46036*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24139 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24140 : /* 46043*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24141 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24142 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
24143 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24144 : /* 46053*/ /*Scope*/ 28, /*->46082*/
24145 : /* 46054*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24146 : /* 46056*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24147 : /* 46058*/ OPC_EmitMergeInputChains1_0,
24148 : /* 46059*/ OPC_EmitInteger, MVT::i32, 0,
24149 : /* 46062*/ OPC_EmitInteger, MVT::i32, 0,
24150 : /* 46065*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24151 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24152 : /* 46072*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24153 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24154 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
24155 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24156 : /* 46082*/ /*Scope*/ 28, /*->46111*/
24157 : /* 46083*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24158 : /* 46085*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24159 : /* 46087*/ OPC_EmitMergeInputChains1_0,
24160 : /* 46088*/ OPC_EmitInteger, MVT::i32, 0,
24161 : /* 46091*/ OPC_EmitInteger, MVT::i32, 0,
24162 : /* 46094*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24163 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24164 : /* 46101*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24165 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24166 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
24167 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24168 : /* 46111*/ 0, /*End of Scope*/
24169 : /* 46112*/ /*SwitchType*/ 28, MVT::i64,// ->46142
24170 : /* 46114*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24171 : /* 46116*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24172 : /* 46118*/ OPC_EmitMergeInputChains1_0,
24173 : /* 46119*/ OPC_EmitInteger, MVT::i32, 0,
24174 : /* 46122*/ OPC_EmitInteger, MVT::i32, 0,
24175 : /* 46125*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24176 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24177 : /* 46132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24178 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24179 : // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
24180 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24181 : /* 46142*/ 0, // EndSwitchType
24182 : /* 46143*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->46272
24183 : /* 46146*/ OPC_MoveParent,
24184 : /* 46147*/ OPC_MoveParent,
24185 : /* 46148*/ OPC_RecordChild2, // #2 = $val
24186 : /* 46149*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->46241
24187 : /* 46152*/ OPC_Scope, 28, /*->46182*/ // 3 children in Scope
24188 : /* 46154*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24189 : /* 46156*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24190 : /* 46158*/ OPC_EmitMergeInputChains1_0,
24191 : /* 46159*/ OPC_EmitInteger, MVT::i32, 0,
24192 : /* 46162*/ OPC_EmitInteger, MVT::i32, 0,
24193 : /* 46165*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24194 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24195 : /* 46172*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24196 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24197 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
24198 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24199 : /* 46182*/ /*Scope*/ 28, /*->46211*/
24200 : /* 46183*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24201 : /* 46185*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24202 : /* 46187*/ OPC_EmitMergeInputChains1_0,
24203 : /* 46188*/ OPC_EmitInteger, MVT::i32, 0,
24204 : /* 46191*/ OPC_EmitInteger, MVT::i32, 0,
24205 : /* 46194*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24206 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24207 : /* 46201*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24208 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24209 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
24210 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24211 : /* 46211*/ /*Scope*/ 28, /*->46240*/
24212 : /* 46212*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24213 : /* 46214*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24214 : /* 46216*/ OPC_EmitMergeInputChains1_0,
24215 : /* 46217*/ OPC_EmitInteger, MVT::i32, 0,
24216 : /* 46220*/ OPC_EmitInteger, MVT::i32, 0,
24217 : /* 46223*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24218 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24219 : /* 46230*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24220 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24221 : // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
24222 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24223 : /* 46240*/ 0, /*End of Scope*/
24224 : /* 46241*/ /*SwitchType*/ 28, MVT::i64,// ->46271
24225 : /* 46243*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24226 : /* 46245*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24227 : /* 46247*/ OPC_EmitMergeInputChains1_0,
24228 : /* 46248*/ OPC_EmitInteger, MVT::i32, 0,
24229 : /* 46251*/ OPC_EmitInteger, MVT::i32, 0,
24230 : /* 46254*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24231 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24232 : /* 46261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24233 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24234 : // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
24235 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24236 : /* 46271*/ 0, // EndSwitchType
24237 : /* 46272*/ 0, // EndSwitchOpcode
24238 : /* 46273*/ 0, // EndSwitchOpcode
24239 : /* 46274*/ /*Scope*/ 113|128,1/*241*/, /*->46517*/
24240 : /* 46276*/ OPC_RecordChild1, // #1 = $off
24241 : /* 46277*/ OPC_Scope, 9|128,1/*137*/, /*->46417*/ // 2 children in Scope
24242 : /* 46280*/ OPC_MoveChild1,
24243 : /* 46281*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24244 : /* 46284*/ OPC_MoveParent,
24245 : /* 46285*/ OPC_RecordChild2, // #2 = $val
24246 : /* 46286*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->46384
24247 : /* 46289*/ OPC_Scope, 30, /*->46321*/ // 3 children in Scope
24248 : /* 46291*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24249 : /* 46293*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24250 : /* 46295*/ OPC_EmitMergeInputChains1_0,
24251 : /* 46296*/ OPC_EmitInteger, MVT::i32, 0,
24252 : /* 46299*/ OPC_EmitConvertToTarget, 1,
24253 : /* 46301*/ OPC_EmitInteger, MVT::i32, 0,
24254 : /* 46304*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24255 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24256 : /* 46311*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24257 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24258 : // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 7
24259 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24260 : /* 46321*/ /*Scope*/ 30, /*->46352*/
24261 : /* 46322*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24262 : /* 46324*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24263 : /* 46326*/ OPC_EmitMergeInputChains1_0,
24264 : /* 46327*/ OPC_EmitInteger, MVT::i32, 0,
24265 : /* 46330*/ OPC_EmitConvertToTarget, 1,
24266 : /* 46332*/ OPC_EmitInteger, MVT::i32, 0,
24267 : /* 46335*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24268 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24269 : /* 46342*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24270 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24271 : // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 7
24272 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24273 : /* 46352*/ /*Scope*/ 30, /*->46383*/
24274 : /* 46353*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24275 : /* 46355*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24276 : /* 46357*/ OPC_EmitMergeInputChains1_0,
24277 : /* 46358*/ OPC_EmitInteger, MVT::i32, 0,
24278 : /* 46361*/ OPC_EmitConvertToTarget, 1,
24279 : /* 46363*/ OPC_EmitInteger, MVT::i32, 0,
24280 : /* 46366*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24281 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24282 : /* 46373*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24283 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24284 : // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 7
24285 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24286 : /* 46383*/ 0, /*End of Scope*/
24287 : /* 46384*/ /*SwitchType*/ 30, MVT::i64,// ->46416
24288 : /* 46386*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24289 : /* 46388*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24290 : /* 46390*/ OPC_EmitMergeInputChains1_0,
24291 : /* 46391*/ OPC_EmitInteger, MVT::i32, 0,
24292 : /* 46394*/ OPC_EmitConvertToTarget, 1,
24293 : /* 46396*/ OPC_EmitInteger, MVT::i32, 0,
24294 : /* 46399*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24295 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24296 : /* 46406*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24297 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24298 : // Src: (atomic_load_or:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 7
24299 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24300 : /* 46416*/ 0, // EndSwitchType
24301 : /* 46417*/ /*Scope*/ 98, /*->46516*/
24302 : /* 46418*/ OPC_CheckChild1Type, MVT::i32,
24303 : /* 46420*/ OPC_RecordChild2, // #2 = $val
24304 : /* 46421*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->46492
24305 : /* 46424*/ OPC_Scope, 21, /*->46447*/ // 3 children in Scope
24306 : /* 46426*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
24307 : /* 46428*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24308 : /* 46430*/ OPC_EmitMergeInputChains1_0,
24309 : /* 46431*/ OPC_EmitInteger, MVT::i32, 0,
24310 : /* 46434*/ OPC_EmitInteger, MVT::i32, 0,
24311 : /* 46437*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24312 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24313 : // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 4
24314 : // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24315 : /* 46447*/ /*Scope*/ 21, /*->46469*/
24316 : /* 46448*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
24317 : /* 46450*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24318 : /* 46452*/ OPC_EmitMergeInputChains1_0,
24319 : /* 46453*/ OPC_EmitInteger, MVT::i32, 0,
24320 : /* 46456*/ OPC_EmitInteger, MVT::i32, 0,
24321 : /* 46459*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24322 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24323 : // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 4
24324 : // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24325 : /* 46469*/ /*Scope*/ 21, /*->46491*/
24326 : /* 46470*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
24327 : /* 46472*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24328 : /* 46474*/ OPC_EmitMergeInputChains1_0,
24329 : /* 46475*/ OPC_EmitInteger, MVT::i32, 0,
24330 : /* 46478*/ OPC_EmitInteger, MVT::i32, 0,
24331 : /* 46481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24332 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24333 : // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 4
24334 : // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24335 : /* 46491*/ 0, /*End of Scope*/
24336 : /* 46492*/ /*SwitchType*/ 21, MVT::i64,// ->46515
24337 : /* 46494*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
24338 : /* 46496*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24339 : /* 46498*/ OPC_EmitMergeInputChains1_0,
24340 : /* 46499*/ OPC_EmitInteger, MVT::i32, 0,
24341 : /* 46502*/ OPC_EmitInteger, MVT::i32, 0,
24342 : /* 46505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24343 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24344 : // Src: (atomic_load_or:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 4
24345 : // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24346 : /* 46515*/ 0, // EndSwitchType
24347 : /* 46516*/ 0, /*End of Scope*/
24348 : /* 46517*/ 0, /*End of Scope*/
24349 : /* 46518*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->47662
24350 : /* 46522*/ OPC_RecordMemRef,
24351 : /* 46523*/ OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
24352 : /* 46524*/ OPC_Scope, 123|128,6/*891*/, /*->47418*/ // 2 children in Scope
24353 : /* 46527*/ OPC_MoveChild1,
24354 : /* 46528*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->47044
24355 : /* 46533*/ OPC_Scope, 101, /*->46636*/ // 5 children in Scope
24356 : /* 46535*/ OPC_RecordChild0, // #1 = $addr
24357 : /* 46536*/ OPC_MoveChild1,
24358 : /* 46537*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24359 : /* 46540*/ OPC_RecordChild0, // #2 = $off
24360 : /* 46541*/ OPC_MoveChild0,
24361 : /* 46542*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24362 : /* 46545*/ OPC_MoveParent,
24363 : /* 46546*/ OPC_MoveParent,
24364 : /* 46547*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
24365 : /* 46549*/ OPC_CheckType, MVT::i32,
24366 : /* 46551*/ OPC_MoveParent,
24367 : /* 46552*/ OPC_RecordChild2, // #3 = $val
24368 : /* 46553*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46615
24369 : /* 46556*/ OPC_Scope, 18, /*->46576*/ // 3 children in Scope
24370 : /* 46558*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24371 : /* 46560*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24372 : /* 46562*/ OPC_EmitMergeInputChains1_0,
24373 : /* 46563*/ OPC_EmitInteger, MVT::i32, 0,
24374 : /* 46566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24375 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24376 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 14
24377 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24378 : /* 46576*/ /*Scope*/ 18, /*->46595*/
24379 : /* 46577*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24380 : /* 46579*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24381 : /* 46581*/ OPC_EmitMergeInputChains1_0,
24382 : /* 46582*/ OPC_EmitInteger, MVT::i32, 0,
24383 : /* 46585*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24384 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24385 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 14
24386 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24387 : /* 46595*/ /*Scope*/ 18, /*->46614*/
24388 : /* 46596*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24389 : /* 46598*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24390 : /* 46600*/ OPC_EmitMergeInputChains1_0,
24391 : /* 46601*/ OPC_EmitInteger, MVT::i32, 0,
24392 : /* 46604*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24393 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24394 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 14
24395 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24396 : /* 46614*/ 0, /*End of Scope*/
24397 : /* 46615*/ /*SwitchType*/ 18, MVT::i64,// ->46635
24398 : /* 46617*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24399 : /* 46619*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24400 : /* 46621*/ OPC_EmitMergeInputChains1_0,
24401 : /* 46622*/ OPC_EmitInteger, MVT::i32, 0,
24402 : /* 46625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24403 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
24404 : // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 14
24405 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24406 : /* 46635*/ 0, // EndSwitchType
24407 : /* 46636*/ /*Scope*/ 101, /*->46738*/
24408 : /* 46637*/ OPC_MoveChild0,
24409 : /* 46638*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24410 : /* 46641*/ OPC_RecordChild0, // #1 = $off
24411 : /* 46642*/ OPC_MoveChild0,
24412 : /* 46643*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24413 : /* 46646*/ OPC_MoveParent,
24414 : /* 46647*/ OPC_MoveParent,
24415 : /* 46648*/ OPC_RecordChild1, // #2 = $addr
24416 : /* 46649*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
24417 : /* 46651*/ OPC_CheckType, MVT::i32,
24418 : /* 46653*/ OPC_MoveParent,
24419 : /* 46654*/ OPC_RecordChild2, // #3 = $val
24420 : /* 46655*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46717
24421 : /* 46658*/ OPC_Scope, 18, /*->46678*/ // 3 children in Scope
24422 : /* 46660*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24423 : /* 46662*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24424 : /* 46664*/ OPC_EmitMergeInputChains1_0,
24425 : /* 46665*/ OPC_EmitInteger, MVT::i32, 0,
24426 : /* 46668*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24427 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24428 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 14
24429 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24430 : /* 46678*/ /*Scope*/ 18, /*->46697*/
24431 : /* 46679*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24432 : /* 46681*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24433 : /* 46683*/ OPC_EmitMergeInputChains1_0,
24434 : /* 46684*/ OPC_EmitInteger, MVT::i32, 0,
24435 : /* 46687*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24436 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24437 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 14
24438 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24439 : /* 46697*/ /*Scope*/ 18, /*->46716*/
24440 : /* 46698*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24441 : /* 46700*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24442 : /* 46702*/ OPC_EmitMergeInputChains1_0,
24443 : /* 46703*/ OPC_EmitInteger, MVT::i32, 0,
24444 : /* 46706*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24445 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24446 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 14
24447 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24448 : /* 46716*/ 0, /*End of Scope*/
24449 : /* 46717*/ /*SwitchType*/ 18, MVT::i64,// ->46737
24450 : /* 46719*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24451 : /* 46721*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24452 : /* 46723*/ OPC_EmitMergeInputChains1_0,
24453 : /* 46724*/ OPC_EmitInteger, MVT::i32, 0,
24454 : /* 46727*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24455 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
24456 : // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 14
24457 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24458 : /* 46737*/ 0, // EndSwitchType
24459 : /* 46738*/ /*Scope*/ 99, /*->46838*/
24460 : /* 46739*/ OPC_RecordChild0, // #1 = $addr
24461 : /* 46740*/ OPC_MoveChild1,
24462 : /* 46741*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24463 : /* 46744*/ OPC_RecordChild0, // #2 = $off
24464 : /* 46745*/ OPC_MoveChild0,
24465 : /* 46746*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
24466 : /* 46749*/ OPC_MoveParent,
24467 : /* 46750*/ OPC_MoveParent,
24468 : /* 46751*/ OPC_CheckType, MVT::i32,
24469 : /* 46753*/ OPC_MoveParent,
24470 : /* 46754*/ OPC_RecordChild2, // #3 = $val
24471 : /* 46755*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46817
24472 : /* 46758*/ OPC_Scope, 18, /*->46778*/ // 3 children in Scope
24473 : /* 46760*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24474 : /* 46762*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24475 : /* 46764*/ OPC_EmitMergeInputChains1_0,
24476 : /* 46765*/ OPC_EmitInteger, MVT::i32, 0,
24477 : /* 46768*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24478 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24479 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 13
24480 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24481 : /* 46778*/ /*Scope*/ 18, /*->46797*/
24482 : /* 46779*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24483 : /* 46781*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24484 : /* 46783*/ OPC_EmitMergeInputChains1_0,
24485 : /* 46784*/ OPC_EmitInteger, MVT::i32, 0,
24486 : /* 46787*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24487 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24488 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 13
24489 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24490 : /* 46797*/ /*Scope*/ 18, /*->46816*/
24491 : /* 46798*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24492 : /* 46800*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24493 : /* 46802*/ OPC_EmitMergeInputChains1_0,
24494 : /* 46803*/ OPC_EmitInteger, MVT::i32, 0,
24495 : /* 46806*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24496 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24497 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 13
24498 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24499 : /* 46816*/ 0, /*End of Scope*/
24500 : /* 46817*/ /*SwitchType*/ 18, MVT::i64,// ->46837
24501 : /* 46819*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24502 : /* 46821*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24503 : /* 46823*/ OPC_EmitMergeInputChains1_0,
24504 : /* 46824*/ OPC_EmitInteger, MVT::i32, 0,
24505 : /* 46827*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24506 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
24507 : // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 13
24508 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24509 : /* 46837*/ 0, // EndSwitchType
24510 : /* 46838*/ /*Scope*/ 99, /*->46938*/
24511 : /* 46839*/ OPC_MoveChild0,
24512 : /* 46840*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24513 : /* 46843*/ OPC_RecordChild0, // #1 = $off
24514 : /* 46844*/ OPC_MoveChild0,
24515 : /* 46845*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
24516 : /* 46848*/ OPC_MoveParent,
24517 : /* 46849*/ OPC_MoveParent,
24518 : /* 46850*/ OPC_RecordChild1, // #2 = $addr
24519 : /* 46851*/ OPC_CheckType, MVT::i32,
24520 : /* 46853*/ OPC_MoveParent,
24521 : /* 46854*/ OPC_RecordChild2, // #3 = $val
24522 : /* 46855*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46917
24523 : /* 46858*/ OPC_Scope, 18, /*->46878*/ // 3 children in Scope
24524 : /* 46860*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24525 : /* 46862*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24526 : /* 46864*/ OPC_EmitMergeInputChains1_0,
24527 : /* 46865*/ OPC_EmitInteger, MVT::i32, 0,
24528 : /* 46868*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24529 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24530 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 13
24531 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24532 : /* 46878*/ /*Scope*/ 18, /*->46897*/
24533 : /* 46879*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24534 : /* 46881*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24535 : /* 46883*/ OPC_EmitMergeInputChains1_0,
24536 : /* 46884*/ OPC_EmitInteger, MVT::i32, 0,
24537 : /* 46887*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24538 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24539 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 13
24540 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24541 : /* 46897*/ /*Scope*/ 18, /*->46916*/
24542 : /* 46898*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24543 : /* 46900*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24544 : /* 46902*/ OPC_EmitMergeInputChains1_0,
24545 : /* 46903*/ OPC_EmitInteger, MVT::i32, 0,
24546 : /* 46906*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24547 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24548 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 13
24549 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24550 : /* 46916*/ 0, /*End of Scope*/
24551 : /* 46917*/ /*SwitchType*/ 18, MVT::i64,// ->46937
24552 : /* 46919*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24553 : /* 46921*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24554 : /* 46923*/ OPC_EmitMergeInputChains1_0,
24555 : /* 46924*/ OPC_EmitInteger, MVT::i32, 0,
24556 : /* 46927*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24557 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
24558 : // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 13
24559 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24560 : /* 46937*/ 0, // EndSwitchType
24561 : /* 46938*/ /*Scope*/ 104, /*->47043*/
24562 : /* 46939*/ OPC_RecordChild0, // #1 = $addr
24563 : /* 46940*/ OPC_RecordChild1, // #2 = $off
24564 : /* 46941*/ OPC_MoveChild1,
24565 : /* 46942*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24566 : /* 46945*/ OPC_MoveParent,
24567 : /* 46946*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
24568 : /* 46948*/ OPC_CheckType, MVT::i32,
24569 : /* 46950*/ OPC_MoveParent,
24570 : /* 46951*/ OPC_RecordChild2, // #3 = $val
24571 : /* 46952*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47020
24572 : /* 46955*/ OPC_Scope, 20, /*->46977*/ // 3 children in Scope
24573 : /* 46957*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24574 : /* 46959*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24575 : /* 46961*/ OPC_EmitMergeInputChains1_0,
24576 : /* 46962*/ OPC_EmitInteger, MVT::i32, 0,
24577 : /* 46965*/ OPC_EmitConvertToTarget, 2,
24578 : /* 46967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24579 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24580 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24581 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24582 : /* 46977*/ /*Scope*/ 20, /*->46998*/
24583 : /* 46978*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24584 : /* 46980*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24585 : /* 46982*/ OPC_EmitMergeInputChains1_0,
24586 : /* 46983*/ OPC_EmitInteger, MVT::i32, 0,
24587 : /* 46986*/ OPC_EmitConvertToTarget, 2,
24588 : /* 46988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24589 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24590 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24591 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24592 : /* 46998*/ /*Scope*/ 20, /*->47019*/
24593 : /* 46999*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24594 : /* 47001*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24595 : /* 47003*/ OPC_EmitMergeInputChains1_0,
24596 : /* 47004*/ OPC_EmitInteger, MVT::i32, 0,
24597 : /* 47007*/ OPC_EmitConvertToTarget, 2,
24598 : /* 47009*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24599 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24600 : // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24601 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24602 : /* 47019*/ 0, /*End of Scope*/
24603 : /* 47020*/ /*SwitchType*/ 20, MVT::i64,// ->47042
24604 : /* 47022*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24605 : /* 47024*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24606 : /* 47026*/ OPC_EmitMergeInputChains1_0,
24607 : /* 47027*/ OPC_EmitInteger, MVT::i32, 0,
24608 : /* 47030*/ OPC_EmitConvertToTarget, 2,
24609 : /* 47032*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24610 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24611 : // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24612 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24613 : /* 47042*/ 0, // EndSwitchType
24614 : /* 47043*/ 0, /*End of Scope*/
24615 : /* 47044*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->47151
24616 : /* 47047*/ OPC_RecordChild0, // #1 = $addr
24617 : /* 47048*/ OPC_RecordChild1, // #2 = $off
24618 : /* 47049*/ OPC_MoveChild1,
24619 : /* 47050*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24620 : /* 47053*/ OPC_MoveParent,
24621 : /* 47054*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
24622 : /* 47056*/ OPC_CheckType, MVT::i32,
24623 : /* 47058*/ OPC_MoveParent,
24624 : /* 47059*/ OPC_RecordChild2, // #3 = $val
24625 : /* 47060*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47128
24626 : /* 47063*/ OPC_Scope, 20, /*->47085*/ // 3 children in Scope
24627 : /* 47065*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24628 : /* 47067*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24629 : /* 47069*/ OPC_EmitMergeInputChains1_0,
24630 : /* 47070*/ OPC_EmitInteger, MVT::i32, 0,
24631 : /* 47073*/ OPC_EmitConvertToTarget, 2,
24632 : /* 47075*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24633 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24634 : // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
24635 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24636 : /* 47085*/ /*Scope*/ 20, /*->47106*/
24637 : /* 47086*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24638 : /* 47088*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24639 : /* 47090*/ OPC_EmitMergeInputChains1_0,
24640 : /* 47091*/ OPC_EmitInteger, MVT::i32, 0,
24641 : /* 47094*/ OPC_EmitConvertToTarget, 2,
24642 : /* 47096*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24643 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24644 : // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
24645 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24646 : /* 47106*/ /*Scope*/ 20, /*->47127*/
24647 : /* 47107*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24648 : /* 47109*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24649 : /* 47111*/ OPC_EmitMergeInputChains1_0,
24650 : /* 47112*/ OPC_EmitInteger, MVT::i32, 0,
24651 : /* 47115*/ OPC_EmitConvertToTarget, 2,
24652 : /* 47117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24653 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
24654 : // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
24655 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24656 : /* 47127*/ 0, /*End of Scope*/
24657 : /* 47128*/ /*SwitchType*/ 20, MVT::i64,// ->47150
24658 : /* 47130*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24659 : /* 47132*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24660 : /* 47134*/ OPC_EmitMergeInputChains1_0,
24661 : /* 47135*/ OPC_EmitInteger, MVT::i32, 0,
24662 : /* 47138*/ OPC_EmitConvertToTarget, 2,
24663 : /* 47140*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24664 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
24665 : // Src: (atomic_load_xor:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
24666 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24667 : /* 47150*/ 0, // EndSwitchType
24668 : /* 47151*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->47417
24669 : /* 47155*/ OPC_RecordChild0, // #1 = $off
24670 : /* 47156*/ OPC_MoveChild0,
24671 : /* 47157*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->47287
24672 : /* 47161*/ OPC_MoveParent,
24673 : /* 47162*/ OPC_MoveParent,
24674 : /* 47163*/ OPC_RecordChild2, // #2 = $val
24675 : /* 47164*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->47256
24676 : /* 47167*/ OPC_Scope, 28, /*->47197*/ // 3 children in Scope
24677 : /* 47169*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24678 : /* 47171*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24679 : /* 47173*/ OPC_EmitMergeInputChains1_0,
24680 : /* 47174*/ OPC_EmitInteger, MVT::i32, 0,
24681 : /* 47177*/ OPC_EmitInteger, MVT::i32, 0,
24682 : /* 47180*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24683 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24684 : /* 47187*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24685 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24686 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
24687 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24688 : /* 47197*/ /*Scope*/ 28, /*->47226*/
24689 : /* 47198*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24690 : /* 47200*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24691 : /* 47202*/ OPC_EmitMergeInputChains1_0,
24692 : /* 47203*/ OPC_EmitInteger, MVT::i32, 0,
24693 : /* 47206*/ OPC_EmitInteger, MVT::i32, 0,
24694 : /* 47209*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24695 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24696 : /* 47216*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24697 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24698 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
24699 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24700 : /* 47226*/ /*Scope*/ 28, /*->47255*/
24701 : /* 47227*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24702 : /* 47229*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24703 : /* 47231*/ OPC_EmitMergeInputChains1_0,
24704 : /* 47232*/ OPC_EmitInteger, MVT::i32, 0,
24705 : /* 47235*/ OPC_EmitInteger, MVT::i32, 0,
24706 : /* 47238*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24707 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24708 : /* 47245*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24709 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24710 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
24711 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24712 : /* 47255*/ 0, /*End of Scope*/
24713 : /* 47256*/ /*SwitchType*/ 28, MVT::i64,// ->47286
24714 : /* 47258*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24715 : /* 47260*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24716 : /* 47262*/ OPC_EmitMergeInputChains1_0,
24717 : /* 47263*/ OPC_EmitInteger, MVT::i32, 0,
24718 : /* 47266*/ OPC_EmitInteger, MVT::i32, 0,
24719 : /* 47269*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24720 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24721 : /* 47276*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24722 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24723 : // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
24724 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24725 : /* 47286*/ 0, // EndSwitchType
24726 : /* 47287*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->47416
24727 : /* 47290*/ OPC_MoveParent,
24728 : /* 47291*/ OPC_MoveParent,
24729 : /* 47292*/ OPC_RecordChild2, // #2 = $val
24730 : /* 47293*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->47385
24731 : /* 47296*/ OPC_Scope, 28, /*->47326*/ // 3 children in Scope
24732 : /* 47298*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24733 : /* 47300*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24734 : /* 47302*/ OPC_EmitMergeInputChains1_0,
24735 : /* 47303*/ OPC_EmitInteger, MVT::i32, 0,
24736 : /* 47306*/ OPC_EmitInteger, MVT::i32, 0,
24737 : /* 47309*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24738 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24739 : /* 47316*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24740 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24741 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
24742 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24743 : /* 47326*/ /*Scope*/ 28, /*->47355*/
24744 : /* 47327*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24745 : /* 47329*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24746 : /* 47331*/ OPC_EmitMergeInputChains1_0,
24747 : /* 47332*/ OPC_EmitInteger, MVT::i32, 0,
24748 : /* 47335*/ OPC_EmitInteger, MVT::i32, 0,
24749 : /* 47338*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24750 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24751 : /* 47345*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24752 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24753 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
24754 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24755 : /* 47355*/ /*Scope*/ 28, /*->47384*/
24756 : /* 47356*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24757 : /* 47358*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24758 : /* 47360*/ OPC_EmitMergeInputChains1_0,
24759 : /* 47361*/ OPC_EmitInteger, MVT::i32, 0,
24760 : /* 47364*/ OPC_EmitInteger, MVT::i32, 0,
24761 : /* 47367*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24762 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24763 : /* 47374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24764 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
24765 : // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
24766 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24767 : /* 47384*/ 0, /*End of Scope*/
24768 : /* 47385*/ /*SwitchType*/ 28, MVT::i64,// ->47415
24769 : /* 47387*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24770 : /* 47389*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24771 : /* 47391*/ OPC_EmitMergeInputChains1_0,
24772 : /* 47392*/ OPC_EmitInteger, MVT::i32, 0,
24773 : /* 47395*/ OPC_EmitInteger, MVT::i32, 0,
24774 : /* 47398*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24775 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
24776 : /* 47405*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24777 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
24778 : // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
24779 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24780 : /* 47415*/ 0, // EndSwitchType
24781 : /* 47416*/ 0, // EndSwitchOpcode
24782 : /* 47417*/ 0, // EndSwitchOpcode
24783 : /* 47418*/ /*Scope*/ 113|128,1/*241*/, /*->47661*/
24784 : /* 47420*/ OPC_RecordChild1, // #1 = $off
24785 : /* 47421*/ OPC_Scope, 9|128,1/*137*/, /*->47561*/ // 2 children in Scope
24786 : /* 47424*/ OPC_MoveChild1,
24787 : /* 47425*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24788 : /* 47428*/ OPC_MoveParent,
24789 : /* 47429*/ OPC_RecordChild2, // #2 = $val
24790 : /* 47430*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->47528
24791 : /* 47433*/ OPC_Scope, 30, /*->47465*/ // 3 children in Scope
24792 : /* 47435*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24793 : /* 47437*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24794 : /* 47439*/ OPC_EmitMergeInputChains1_0,
24795 : /* 47440*/ OPC_EmitInteger, MVT::i32, 0,
24796 : /* 47443*/ OPC_EmitConvertToTarget, 1,
24797 : /* 47445*/ OPC_EmitInteger, MVT::i32, 0,
24798 : /* 47448*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24799 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24800 : /* 47455*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24801 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24802 : // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 7
24803 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24804 : /* 47465*/ /*Scope*/ 30, /*->47496*/
24805 : /* 47466*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24806 : /* 47468*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24807 : /* 47470*/ OPC_EmitMergeInputChains1_0,
24808 : /* 47471*/ OPC_EmitInteger, MVT::i32, 0,
24809 : /* 47474*/ OPC_EmitConvertToTarget, 1,
24810 : /* 47476*/ OPC_EmitInteger, MVT::i32, 0,
24811 : /* 47479*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24812 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24813 : /* 47486*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24814 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24815 : // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 7
24816 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24817 : /* 47496*/ /*Scope*/ 30, /*->47527*/
24818 : /* 47497*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24819 : /* 47499*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24820 : /* 47501*/ OPC_EmitMergeInputChains1_0,
24821 : /* 47502*/ OPC_EmitInteger, MVT::i32, 0,
24822 : /* 47505*/ OPC_EmitConvertToTarget, 1,
24823 : /* 47507*/ OPC_EmitInteger, MVT::i32, 0,
24824 : /* 47510*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24825 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24826 : /* 47517*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24827 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
24828 : // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 7
24829 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
24830 : /* 47527*/ 0, /*End of Scope*/
24831 : /* 47528*/ /*SwitchType*/ 30, MVT::i64,// ->47560
24832 : /* 47530*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24833 : /* 47532*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24834 : /* 47534*/ OPC_EmitMergeInputChains1_0,
24835 : /* 47535*/ OPC_EmitInteger, MVT::i32, 0,
24836 : /* 47538*/ OPC_EmitConvertToTarget, 1,
24837 : /* 47540*/ OPC_EmitInteger, MVT::i32, 0,
24838 : /* 47543*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
24839 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
24840 : /* 47550*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24841 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
24842 : // Src: (atomic_load_xor:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 7
24843 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
24844 : /* 47560*/ 0, // EndSwitchType
24845 : /* 47561*/ /*Scope*/ 98, /*->47660*/
24846 : /* 47562*/ OPC_CheckChild1Type, MVT::i32,
24847 : /* 47564*/ OPC_RecordChild2, // #2 = $val
24848 : /* 47565*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->47636
24849 : /* 47568*/ OPC_Scope, 21, /*->47591*/ // 3 children in Scope
24850 : /* 47570*/ OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
24851 : /* 47572*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24852 : /* 47574*/ OPC_EmitMergeInputChains1_0,
24853 : /* 47575*/ OPC_EmitInteger, MVT::i32, 0,
24854 : /* 47578*/ OPC_EmitInteger, MVT::i32, 0,
24855 : /* 47581*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24856 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24857 : // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 4
24858 : // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24859 : /* 47591*/ /*Scope*/ 21, /*->47613*/
24860 : /* 47592*/ OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
24861 : /* 47594*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24862 : /* 47596*/ OPC_EmitMergeInputChains1_0,
24863 : /* 47597*/ OPC_EmitInteger, MVT::i32, 0,
24864 : /* 47600*/ OPC_EmitInteger, MVT::i32, 0,
24865 : /* 47603*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24866 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24867 : // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 4
24868 : // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24869 : /* 47613*/ /*Scope*/ 21, /*->47635*/
24870 : /* 47614*/ OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
24871 : /* 47616*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24872 : /* 47618*/ OPC_EmitMergeInputChains1_0,
24873 : /* 47619*/ OPC_EmitInteger, MVT::i32, 0,
24874 : /* 47622*/ OPC_EmitInteger, MVT::i32, 0,
24875 : /* 47625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
24876 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
24877 : // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 4
24878 : // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24879 : /* 47635*/ 0, /*End of Scope*/
24880 : /* 47636*/ /*SwitchType*/ 21, MVT::i64,// ->47659
24881 : /* 47638*/ OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
24882 : /* 47640*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24883 : /* 47642*/ OPC_EmitMergeInputChains1_0,
24884 : /* 47643*/ OPC_EmitInteger, MVT::i32, 0,
24885 : /* 47646*/ OPC_EmitInteger, MVT::i32, 0,
24886 : /* 47649*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
24887 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
24888 : // Src: (atomic_load_xor:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 4
24889 : // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24890 : /* 47659*/ 0, // EndSwitchType
24891 : /* 47660*/ 0, /*End of Scope*/
24892 : /* 47661*/ 0, /*End of Scope*/
24893 : /* 47662*/ /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->48806
24894 : /* 47666*/ OPC_RecordMemRef,
24895 : /* 47667*/ OPC_RecordNode, // #0 = 'atomic_swap' chained node
24896 : /* 47668*/ OPC_Scope, 123|128,6/*891*/, /*->48562*/ // 2 children in Scope
24897 : /* 47671*/ OPC_MoveChild1,
24898 : /* 47672*/ OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->48188
24899 : /* 47677*/ OPC_Scope, 101, /*->47780*/ // 5 children in Scope
24900 : /* 47679*/ OPC_RecordChild0, // #1 = $addr
24901 : /* 47680*/ OPC_MoveChild1,
24902 : /* 47681*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24903 : /* 47684*/ OPC_RecordChild0, // #2 = $off
24904 : /* 47685*/ OPC_MoveChild0,
24905 : /* 47686*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24906 : /* 47689*/ OPC_MoveParent,
24907 : /* 47690*/ OPC_MoveParent,
24908 : /* 47691*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
24909 : /* 47693*/ OPC_CheckType, MVT::i32,
24910 : /* 47695*/ OPC_MoveParent,
24911 : /* 47696*/ OPC_RecordChild2, // #3 = $val
24912 : /* 47697*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47759
24913 : /* 47700*/ OPC_Scope, 18, /*->47720*/ // 3 children in Scope
24914 : /* 47702*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
24915 : /* 47704*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24916 : /* 47706*/ OPC_EmitMergeInputChains1_0,
24917 : /* 47707*/ OPC_EmitInteger, MVT::i32, 0,
24918 : /* 47710*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24919 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24920 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 14
24921 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24922 : /* 47720*/ /*Scope*/ 18, /*->47739*/
24923 : /* 47721*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
24924 : /* 47723*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24925 : /* 47725*/ OPC_EmitMergeInputChains1_0,
24926 : /* 47726*/ OPC_EmitInteger, MVT::i32, 0,
24927 : /* 47729*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24928 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24929 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 14
24930 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24931 : /* 47739*/ /*Scope*/ 18, /*->47758*/
24932 : /* 47740*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
24933 : /* 47742*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24934 : /* 47744*/ OPC_EmitMergeInputChains1_0,
24935 : /* 47745*/ OPC_EmitInteger, MVT::i32, 0,
24936 : /* 47748*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24937 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
24938 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 14
24939 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24940 : /* 47758*/ 0, /*End of Scope*/
24941 : /* 47759*/ /*SwitchType*/ 18, MVT::i64,// ->47779
24942 : /* 47761*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
24943 : /* 47763*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24944 : /* 47765*/ OPC_EmitMergeInputChains1_0,
24945 : /* 47766*/ OPC_EmitInteger, MVT::i32, 0,
24946 : /* 47769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
24947 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
24948 : // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 14
24949 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
24950 : /* 47779*/ 0, // EndSwitchType
24951 : /* 47780*/ /*Scope*/ 101, /*->47882*/
24952 : /* 47781*/ OPC_MoveChild0,
24953 : /* 47782*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
24954 : /* 47785*/ OPC_RecordChild0, // #1 = $off
24955 : /* 47786*/ OPC_MoveChild0,
24956 : /* 47787*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
24957 : /* 47790*/ OPC_MoveParent,
24958 : /* 47791*/ OPC_MoveParent,
24959 : /* 47792*/ OPC_RecordChild1, // #2 = $addr
24960 : /* 47793*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
24961 : /* 47795*/ OPC_CheckType, MVT::i32,
24962 : /* 47797*/ OPC_MoveParent,
24963 : /* 47798*/ OPC_RecordChild2, // #3 = $val
24964 : /* 47799*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47861
24965 : /* 47802*/ OPC_Scope, 18, /*->47822*/ // 3 children in Scope
24966 : /* 47804*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
24967 : /* 47806*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24968 : /* 47808*/ OPC_EmitMergeInputChains1_0,
24969 : /* 47809*/ OPC_EmitInteger, MVT::i32, 0,
24970 : /* 47812*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24971 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24972 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 14
24973 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24974 : /* 47822*/ /*Scope*/ 18, /*->47841*/
24975 : /* 47823*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
24976 : /* 47825*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24977 : /* 47827*/ OPC_EmitMergeInputChains1_0,
24978 : /* 47828*/ OPC_EmitInteger, MVT::i32, 0,
24979 : /* 47831*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24980 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24981 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 14
24982 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24983 : /* 47841*/ /*Scope*/ 18, /*->47860*/
24984 : /* 47842*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
24985 : /* 47844*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24986 : /* 47846*/ OPC_EmitMergeInputChains1_0,
24987 : /* 47847*/ OPC_EmitInteger, MVT::i32, 0,
24988 : /* 47850*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
24989 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
24990 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 14
24991 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
24992 : /* 47860*/ 0, /*End of Scope*/
24993 : /* 47861*/ /*SwitchType*/ 18, MVT::i64,// ->47881
24994 : /* 47863*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
24995 : /* 47865*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
24996 : /* 47867*/ OPC_EmitMergeInputChains1_0,
24997 : /* 47868*/ OPC_EmitInteger, MVT::i32, 0,
24998 : /* 47871*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
24999 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
25000 : // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 14
25001 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25002 : /* 47881*/ 0, // EndSwitchType
25003 : /* 47882*/ /*Scope*/ 99, /*->47982*/
25004 : /* 47883*/ OPC_RecordChild0, // #1 = $addr
25005 : /* 47884*/ OPC_MoveChild1,
25006 : /* 47885*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25007 : /* 47888*/ OPC_RecordChild0, // #2 = $off
25008 : /* 47889*/ OPC_MoveChild0,
25009 : /* 47890*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
25010 : /* 47893*/ OPC_MoveParent,
25011 : /* 47894*/ OPC_MoveParent,
25012 : /* 47895*/ OPC_CheckType, MVT::i32,
25013 : /* 47897*/ OPC_MoveParent,
25014 : /* 47898*/ OPC_RecordChild2, // #3 = $val
25015 : /* 47899*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47961
25016 : /* 47902*/ OPC_Scope, 18, /*->47922*/ // 3 children in Scope
25017 : /* 47904*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25018 : /* 47906*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25019 : /* 47908*/ OPC_EmitMergeInputChains1_0,
25020 : /* 47909*/ OPC_EmitInteger, MVT::i32, 0,
25021 : /* 47912*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25022 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
25023 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 13
25024 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25025 : /* 47922*/ /*Scope*/ 18, /*->47941*/
25026 : /* 47923*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25027 : /* 47925*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25028 : /* 47927*/ OPC_EmitMergeInputChains1_0,
25029 : /* 47928*/ OPC_EmitInteger, MVT::i32, 0,
25030 : /* 47931*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25031 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
25032 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 13
25033 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25034 : /* 47941*/ /*Scope*/ 18, /*->47960*/
25035 : /* 47942*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25036 : /* 47944*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25037 : /* 47946*/ OPC_EmitMergeInputChains1_0,
25038 : /* 47947*/ OPC_EmitInteger, MVT::i32, 0,
25039 : /* 47950*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25040 : MVT::i32, 4/*#Ops*/, 4, 2, 1, 3,
25041 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 13
25042 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25043 : /* 47960*/ 0, /*End of Scope*/
25044 : /* 47961*/ /*SwitchType*/ 18, MVT::i64,// ->47981
25045 : /* 47963*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25046 : /* 47965*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25047 : /* 47967*/ OPC_EmitMergeInputChains1_0,
25048 : /* 47968*/ OPC_EmitInteger, MVT::i32, 0,
25049 : /* 47971*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25050 : MVT::i64, 4/*#Ops*/, 4, 2, 1, 3,
25051 : // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 13
25052 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25053 : /* 47981*/ 0, // EndSwitchType
25054 : /* 47982*/ /*Scope*/ 99, /*->48082*/
25055 : /* 47983*/ OPC_MoveChild0,
25056 : /* 47984*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25057 : /* 47987*/ OPC_RecordChild0, // #1 = $off
25058 : /* 47988*/ OPC_MoveChild0,
25059 : /* 47989*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
25060 : /* 47992*/ OPC_MoveParent,
25061 : /* 47993*/ OPC_MoveParent,
25062 : /* 47994*/ OPC_RecordChild1, // #2 = $addr
25063 : /* 47995*/ OPC_CheckType, MVT::i32,
25064 : /* 47997*/ OPC_MoveParent,
25065 : /* 47998*/ OPC_RecordChild2, // #3 = $val
25066 : /* 47999*/ OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->48061
25067 : /* 48002*/ OPC_Scope, 18, /*->48022*/ // 3 children in Scope
25068 : /* 48004*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25069 : /* 48006*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25070 : /* 48008*/ OPC_EmitMergeInputChains1_0,
25071 : /* 48009*/ OPC_EmitInteger, MVT::i32, 0,
25072 : /* 48012*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25073 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
25074 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 13
25075 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25076 : /* 48022*/ /*Scope*/ 18, /*->48041*/
25077 : /* 48023*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25078 : /* 48025*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25079 : /* 48027*/ OPC_EmitMergeInputChains1_0,
25080 : /* 48028*/ OPC_EmitInteger, MVT::i32, 0,
25081 : /* 48031*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25082 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
25083 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 13
25084 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25085 : /* 48041*/ /*Scope*/ 18, /*->48060*/
25086 : /* 48042*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25087 : /* 48044*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25088 : /* 48046*/ OPC_EmitMergeInputChains1_0,
25089 : /* 48047*/ OPC_EmitInteger, MVT::i32, 0,
25090 : /* 48050*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25091 : MVT::i32, 4/*#Ops*/, 4, 1, 2, 3,
25092 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 13
25093 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25094 : /* 48060*/ 0, /*End of Scope*/
25095 : /* 48061*/ /*SwitchType*/ 18, MVT::i64,// ->48081
25096 : /* 48063*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25097 : /* 48065*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25098 : /* 48067*/ OPC_EmitMergeInputChains1_0,
25099 : /* 48068*/ OPC_EmitInteger, MVT::i32, 0,
25100 : /* 48071*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25101 : MVT::i64, 4/*#Ops*/, 4, 1, 2, 3,
25102 : // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 13
25103 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25104 : /* 48081*/ 0, // EndSwitchType
25105 : /* 48082*/ /*Scope*/ 104, /*->48187*/
25106 : /* 48083*/ OPC_RecordChild0, // #1 = $addr
25107 : /* 48084*/ OPC_RecordChild1, // #2 = $off
25108 : /* 48085*/ OPC_MoveChild1,
25109 : /* 48086*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25110 : /* 48089*/ OPC_MoveParent,
25111 : /* 48090*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
25112 : /* 48092*/ OPC_CheckType, MVT::i32,
25113 : /* 48094*/ OPC_MoveParent,
25114 : /* 48095*/ OPC_RecordChild2, // #3 = $val
25115 : /* 48096*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48164
25116 : /* 48099*/ OPC_Scope, 20, /*->48121*/ // 3 children in Scope
25117 : /* 48101*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25118 : /* 48103*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25119 : /* 48105*/ OPC_EmitMergeInputChains1_0,
25120 : /* 48106*/ OPC_EmitInteger, MVT::i32, 0,
25121 : /* 48109*/ OPC_EmitConvertToTarget, 2,
25122 : /* 48111*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25123 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25124 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25125 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25126 : /* 48121*/ /*Scope*/ 20, /*->48142*/
25127 : /* 48122*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25128 : /* 48124*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25129 : /* 48126*/ OPC_EmitMergeInputChains1_0,
25130 : /* 48127*/ OPC_EmitInteger, MVT::i32, 0,
25131 : /* 48130*/ OPC_EmitConvertToTarget, 2,
25132 : /* 48132*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25133 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25134 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25135 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25136 : /* 48142*/ /*Scope*/ 20, /*->48163*/
25137 : /* 48143*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25138 : /* 48145*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25139 : /* 48147*/ OPC_EmitMergeInputChains1_0,
25140 : /* 48148*/ OPC_EmitInteger, MVT::i32, 0,
25141 : /* 48151*/ OPC_EmitConvertToTarget, 2,
25142 : /* 48153*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25143 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25144 : // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25145 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25146 : /* 48163*/ 0, /*End of Scope*/
25147 : /* 48164*/ /*SwitchType*/ 20, MVT::i64,// ->48186
25148 : /* 48166*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25149 : /* 48168*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25150 : /* 48170*/ OPC_EmitMergeInputChains1_0,
25151 : /* 48171*/ OPC_EmitInteger, MVT::i32, 0,
25152 : /* 48174*/ OPC_EmitConvertToTarget, 2,
25153 : /* 48176*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25154 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25155 : // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25156 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25157 : /* 48186*/ 0, // EndSwitchType
25158 : /* 48187*/ 0, /*End of Scope*/
25159 : /* 48188*/ /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->48295
25160 : /* 48191*/ OPC_RecordChild0, // #1 = $addr
25161 : /* 48192*/ OPC_RecordChild1, // #2 = $off
25162 : /* 48193*/ OPC_MoveChild1,
25163 : /* 48194*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25164 : /* 48197*/ OPC_MoveParent,
25165 : /* 48198*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
25166 : /* 48200*/ OPC_CheckType, MVT::i32,
25167 : /* 48202*/ OPC_MoveParent,
25168 : /* 48203*/ OPC_RecordChild2, // #3 = $val
25169 : /* 48204*/ OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48272
25170 : /* 48207*/ OPC_Scope, 20, /*->48229*/ // 3 children in Scope
25171 : /* 48209*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25172 : /* 48211*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25173 : /* 48213*/ OPC_EmitMergeInputChains1_0,
25174 : /* 48214*/ OPC_EmitInteger, MVT::i32, 0,
25175 : /* 48217*/ OPC_EmitConvertToTarget, 2,
25176 : /* 48219*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25177 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25178 : // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
25179 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25180 : /* 48229*/ /*Scope*/ 20, /*->48250*/
25181 : /* 48230*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25182 : /* 48232*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25183 : /* 48234*/ OPC_EmitMergeInputChains1_0,
25184 : /* 48235*/ OPC_EmitInteger, MVT::i32, 0,
25185 : /* 48238*/ OPC_EmitConvertToTarget, 2,
25186 : /* 48240*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25187 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25188 : // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
25189 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25190 : /* 48250*/ /*Scope*/ 20, /*->48271*/
25191 : /* 48251*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25192 : /* 48253*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25193 : /* 48255*/ OPC_EmitMergeInputChains1_0,
25194 : /* 48256*/ OPC_EmitInteger, MVT::i32, 0,
25195 : /* 48259*/ OPC_EmitConvertToTarget, 2,
25196 : /* 48261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25197 : MVT::i32, 4/*#Ops*/, 4, 5, 1, 3,
25198 : // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
25199 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25200 : /* 48271*/ 0, /*End of Scope*/
25201 : /* 48272*/ /*SwitchType*/ 20, MVT::i64,// ->48294
25202 : /* 48274*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25203 : /* 48276*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25204 : /* 48278*/ OPC_EmitMergeInputChains1_0,
25205 : /* 48279*/ OPC_EmitInteger, MVT::i32, 0,
25206 : /* 48282*/ OPC_EmitConvertToTarget, 2,
25207 : /* 48284*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25208 : MVT::i64, 4/*#Ops*/, 4, 5, 1, 3,
25209 : // Src: (atomic_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
25210 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25211 : /* 48294*/ 0, // EndSwitchType
25212 : /* 48295*/ /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->48561
25213 : /* 48299*/ OPC_RecordChild0, // #1 = $off
25214 : /* 48300*/ OPC_MoveChild0,
25215 : /* 48301*/ OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->48431
25216 : /* 48305*/ OPC_MoveParent,
25217 : /* 48306*/ OPC_MoveParent,
25218 : /* 48307*/ OPC_RecordChild2, // #2 = $val
25219 : /* 48308*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->48400
25220 : /* 48311*/ OPC_Scope, 28, /*->48341*/ // 3 children in Scope
25221 : /* 48313*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25222 : /* 48315*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25223 : /* 48317*/ OPC_EmitMergeInputChains1_0,
25224 : /* 48318*/ OPC_EmitInteger, MVT::i32, 0,
25225 : /* 48321*/ OPC_EmitInteger, MVT::i32, 0,
25226 : /* 48324*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25227 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25228 : /* 48331*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25229 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25230 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
25231 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25232 : /* 48341*/ /*Scope*/ 28, /*->48370*/
25233 : /* 48342*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25234 : /* 48344*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25235 : /* 48346*/ OPC_EmitMergeInputChains1_0,
25236 : /* 48347*/ OPC_EmitInteger, MVT::i32, 0,
25237 : /* 48350*/ OPC_EmitInteger, MVT::i32, 0,
25238 : /* 48353*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25239 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25240 : /* 48360*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25241 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25242 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
25243 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25244 : /* 48370*/ /*Scope*/ 28, /*->48399*/
25245 : /* 48371*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25246 : /* 48373*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25247 : /* 48375*/ OPC_EmitMergeInputChains1_0,
25248 : /* 48376*/ OPC_EmitInteger, MVT::i32, 0,
25249 : /* 48379*/ OPC_EmitInteger, MVT::i32, 0,
25250 : /* 48382*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25251 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25252 : /* 48389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25253 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25254 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
25255 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25256 : /* 48399*/ 0, /*End of Scope*/
25257 : /* 48400*/ /*SwitchType*/ 28, MVT::i64,// ->48430
25258 : /* 48402*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25259 : /* 48404*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25260 : /* 48406*/ OPC_EmitMergeInputChains1_0,
25261 : /* 48407*/ OPC_EmitInteger, MVT::i32, 0,
25262 : /* 48410*/ OPC_EmitInteger, MVT::i32, 0,
25263 : /* 48413*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25264 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25265 : /* 48420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25266 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25267 : // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
25268 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25269 : /* 48430*/ 0, // EndSwitchType
25270 : /* 48431*/ /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->48560
25271 : /* 48434*/ OPC_MoveParent,
25272 : /* 48435*/ OPC_MoveParent,
25273 : /* 48436*/ OPC_RecordChild2, // #2 = $val
25274 : /* 48437*/ OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->48529
25275 : /* 48440*/ OPC_Scope, 28, /*->48470*/ // 3 children in Scope
25276 : /* 48442*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25277 : /* 48444*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25278 : /* 48446*/ OPC_EmitMergeInputChains1_0,
25279 : /* 48447*/ OPC_EmitInteger, MVT::i32, 0,
25280 : /* 48450*/ OPC_EmitInteger, MVT::i32, 0,
25281 : /* 48453*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25282 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25283 : /* 48460*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25284 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25285 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
25286 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25287 : /* 48470*/ /*Scope*/ 28, /*->48499*/
25288 : /* 48471*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25289 : /* 48473*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25290 : /* 48475*/ OPC_EmitMergeInputChains1_0,
25291 : /* 48476*/ OPC_EmitInteger, MVT::i32, 0,
25292 : /* 48479*/ OPC_EmitInteger, MVT::i32, 0,
25293 : /* 48482*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25294 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25295 : /* 48489*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25296 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25297 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
25298 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25299 : /* 48499*/ /*Scope*/ 28, /*->48528*/
25300 : /* 48500*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25301 : /* 48502*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25302 : /* 48504*/ OPC_EmitMergeInputChains1_0,
25303 : /* 48505*/ OPC_EmitInteger, MVT::i32, 0,
25304 : /* 48508*/ OPC_EmitInteger, MVT::i32, 0,
25305 : /* 48511*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25306 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25307 : /* 48518*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25308 : MVT::i32, 4/*#Ops*/, 3, 1, 5, 2,
25309 : // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
25310 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25311 : /* 48528*/ 0, /*End of Scope*/
25312 : /* 48529*/ /*SwitchType*/ 28, MVT::i64,// ->48559
25313 : /* 48531*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25314 : /* 48533*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25315 : /* 48535*/ OPC_EmitMergeInputChains1_0,
25316 : /* 48536*/ OPC_EmitInteger, MVT::i32, 0,
25317 : /* 48539*/ OPC_EmitInteger, MVT::i32, 0,
25318 : /* 48542*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25319 : MVT::i32, 1/*#Ops*/, 4, // Results = #5
25320 : /* 48549*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25321 : MVT::i64, 4/*#Ops*/, 3, 1, 5, 2,
25322 : // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
25323 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25324 : /* 48559*/ 0, // EndSwitchType
25325 : /* 48560*/ 0, // EndSwitchOpcode
25326 : /* 48561*/ 0, // EndSwitchOpcode
25327 : /* 48562*/ /*Scope*/ 113|128,1/*241*/, /*->48805*/
25328 : /* 48564*/ OPC_RecordChild1, // #1 = $off
25329 : /* 48565*/ OPC_Scope, 9|128,1/*137*/, /*->48705*/ // 2 children in Scope
25330 : /* 48568*/ OPC_MoveChild1,
25331 : /* 48569*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25332 : /* 48572*/ OPC_MoveParent,
25333 : /* 48573*/ OPC_RecordChild2, // #2 = $val
25334 : /* 48574*/ OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->48672
25335 : /* 48577*/ OPC_Scope, 30, /*->48609*/ // 3 children in Scope
25336 : /* 48579*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25337 : /* 48581*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25338 : /* 48583*/ OPC_EmitMergeInputChains1_0,
25339 : /* 48584*/ OPC_EmitInteger, MVT::i32, 0,
25340 : /* 48587*/ OPC_EmitConvertToTarget, 1,
25341 : /* 48589*/ OPC_EmitInteger, MVT::i32, 0,
25342 : /* 48592*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25343 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25344 : /* 48599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25345 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25346 : // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 7
25347 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25348 : /* 48609*/ /*Scope*/ 30, /*->48640*/
25349 : /* 48610*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25350 : /* 48612*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25351 : /* 48614*/ OPC_EmitMergeInputChains1_0,
25352 : /* 48615*/ OPC_EmitInteger, MVT::i32, 0,
25353 : /* 48618*/ OPC_EmitConvertToTarget, 1,
25354 : /* 48620*/ OPC_EmitInteger, MVT::i32, 0,
25355 : /* 48623*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25356 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25357 : /* 48630*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25358 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25359 : // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 7
25360 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25361 : /* 48640*/ /*Scope*/ 30, /*->48671*/
25362 : /* 48641*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25363 : /* 48643*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25364 : /* 48645*/ OPC_EmitMergeInputChains1_0,
25365 : /* 48646*/ OPC_EmitInteger, MVT::i32, 0,
25366 : /* 48649*/ OPC_EmitConvertToTarget, 1,
25367 : /* 48651*/ OPC_EmitInteger, MVT::i32, 0,
25368 : /* 48654*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25369 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25370 : /* 48661*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25371 : MVT::i32, 4/*#Ops*/, 3, 4, 6, 2,
25372 : // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 7
25373 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
25374 : /* 48671*/ 0, /*End of Scope*/
25375 : /* 48672*/ /*SwitchType*/ 30, MVT::i64,// ->48704
25376 : /* 48674*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25377 : /* 48676*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25378 : /* 48678*/ OPC_EmitMergeInputChains1_0,
25379 : /* 48679*/ OPC_EmitInteger, MVT::i32, 0,
25380 : /* 48682*/ OPC_EmitConvertToTarget, 1,
25381 : /* 48684*/ OPC_EmitInteger, MVT::i32, 0,
25382 : /* 48687*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25383 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25384 : /* 48694*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25385 : MVT::i64, 4/*#Ops*/, 3, 4, 6, 2,
25386 : // Src: (atomic_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 7
25387 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
25388 : /* 48704*/ 0, // EndSwitchType
25389 : /* 48705*/ /*Scope*/ 98, /*->48804*/
25390 : /* 48706*/ OPC_CheckChild1Type, MVT::i32,
25391 : /* 48708*/ OPC_RecordChild2, // #2 = $val
25392 : /* 48709*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->48780
25393 : /* 48712*/ OPC_Scope, 21, /*->48735*/ // 3 children in Scope
25394 : /* 48714*/ OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
25395 : /* 48716*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25396 : /* 48718*/ OPC_EmitMergeInputChains1_0,
25397 : /* 48719*/ OPC_EmitInteger, MVT::i32, 0,
25398 : /* 48722*/ OPC_EmitInteger, MVT::i32, 0,
25399 : /* 48725*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25400 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25401 : // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 4
25402 : // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25403 : /* 48735*/ /*Scope*/ 21, /*->48757*/
25404 : /* 48736*/ OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
25405 : /* 48738*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25406 : /* 48740*/ OPC_EmitMergeInputChains1_0,
25407 : /* 48741*/ OPC_EmitInteger, MVT::i32, 0,
25408 : /* 48744*/ OPC_EmitInteger, MVT::i32, 0,
25409 : /* 48747*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25410 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25411 : // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 4
25412 : // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25413 : /* 48757*/ /*Scope*/ 21, /*->48779*/
25414 : /* 48758*/ OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
25415 : /* 48760*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25416 : /* 48762*/ OPC_EmitMergeInputChains1_0,
25417 : /* 48763*/ OPC_EmitInteger, MVT::i32, 0,
25418 : /* 48766*/ OPC_EmitInteger, MVT::i32, 0,
25419 : /* 48769*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25420 : MVT::i32, 4/*#Ops*/, 3, 4, 1, 2,
25421 : // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 4
25422 : // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
25423 : /* 48779*/ 0, /*End of Scope*/
25424 : /* 48780*/ /*SwitchType*/ 21, MVT::i64,// ->48803
25425 : /* 48782*/ OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
25426 : /* 48784*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25427 : /* 48786*/ OPC_EmitMergeInputChains1_0,
25428 : /* 48787*/ OPC_EmitInteger, MVT::i32, 0,
25429 : /* 48790*/ OPC_EmitInteger, MVT::i32, 0,
25430 : /* 48793*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25431 : MVT::i64, 4/*#Ops*/, 3, 4, 1, 2,
25432 : // Src: (atomic_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 4
25433 : // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
25434 : /* 48803*/ 0, // EndSwitchType
25435 : /* 48804*/ 0, /*End of Scope*/
25436 : /* 48805*/ 0, /*End of Scope*/
25437 : /* 48806*/ /*SwitchOpcode*/ 40|128,9/*1192*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->50002
25438 : /* 48810*/ OPC_RecordMemRef,
25439 : /* 48811*/ OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
25440 : /* 48812*/ OPC_Scope, 37|128,7/*933*/, /*->49748*/ // 2 children in Scope
25441 : /* 48815*/ OPC_MoveChild1,
25442 : /* 48816*/ OPC_SwitchOpcode /*3 cases */, 24|128,4/*536*/, TARGET_VAL(ISD::ADD),// ->49357
25443 : /* 48821*/ OPC_Scope, 106, /*->48929*/ // 5 children in Scope
25444 : /* 48823*/ OPC_RecordChild0, // #1 = $addr
25445 : /* 48824*/ OPC_MoveChild1,
25446 : /* 48825*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25447 : /* 48828*/ OPC_RecordChild0, // #2 = $off
25448 : /* 48829*/ OPC_MoveChild0,
25449 : /* 48830*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
25450 : /* 48833*/ OPC_MoveParent,
25451 : /* 48834*/ OPC_MoveParent,
25452 : /* 48835*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
25453 : /* 48837*/ OPC_CheckType, MVT::i32,
25454 : /* 48839*/ OPC_MoveParent,
25455 : /* 48840*/ OPC_RecordChild2, // #3 = $exp
25456 : /* 48841*/ OPC_RecordChild3, // #4 = $new
25457 : /* 48842*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->48907
25458 : /* 48845*/ OPC_Scope, 19, /*->48866*/ // 3 children in Scope
25459 : /* 48847*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25460 : /* 48849*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25461 : /* 48851*/ OPC_EmitMergeInputChains1_0,
25462 : /* 48852*/ OPC_EmitInteger, MVT::i32, 0,
25463 : /* 48855*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25464 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25465 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 14
25466 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25467 : /* 48866*/ /*Scope*/ 19, /*->48886*/
25468 : /* 48867*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25469 : /* 48869*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25470 : /* 48871*/ OPC_EmitMergeInputChains1_0,
25471 : /* 48872*/ OPC_EmitInteger, MVT::i32, 0,
25472 : /* 48875*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25473 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25474 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 14
25475 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25476 : /* 48886*/ /*Scope*/ 19, /*->48906*/
25477 : /* 48887*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25478 : /* 48889*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25479 : /* 48891*/ OPC_EmitMergeInputChains1_0,
25480 : /* 48892*/ OPC_EmitInteger, MVT::i32, 0,
25481 : /* 48895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25482 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25483 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 14
25484 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25485 : /* 48906*/ 0, /*End of Scope*/
25486 : /* 48907*/ /*SwitchType*/ 19, MVT::i64,// ->48928
25487 : /* 48909*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25488 : /* 48911*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25489 : /* 48913*/ OPC_EmitMergeInputChains1_0,
25490 : /* 48914*/ OPC_EmitInteger, MVT::i32, 0,
25491 : /* 48917*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25492 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
25493 : // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 14
25494 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25495 : /* 48928*/ 0, // EndSwitchType
25496 : /* 48929*/ /*Scope*/ 106, /*->49036*/
25497 : /* 48930*/ OPC_MoveChild0,
25498 : /* 48931*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25499 : /* 48934*/ OPC_RecordChild0, // #1 = $off
25500 : /* 48935*/ OPC_MoveChild0,
25501 : /* 48936*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
25502 : /* 48939*/ OPC_MoveParent,
25503 : /* 48940*/ OPC_MoveParent,
25504 : /* 48941*/ OPC_RecordChild1, // #2 = $addr
25505 : /* 48942*/ OPC_CheckPredicate, 0, // Predicate_regPlusGA
25506 : /* 48944*/ OPC_CheckType, MVT::i32,
25507 : /* 48946*/ OPC_MoveParent,
25508 : /* 48947*/ OPC_RecordChild2, // #3 = $exp
25509 : /* 48948*/ OPC_RecordChild3, // #4 = $new
25510 : /* 48949*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49014
25511 : /* 48952*/ OPC_Scope, 19, /*->48973*/ // 3 children in Scope
25512 : /* 48954*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25513 : /* 48956*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25514 : /* 48958*/ OPC_EmitMergeInputChains1_0,
25515 : /* 48959*/ OPC_EmitInteger, MVT::i32, 0,
25516 : /* 48962*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25517 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25518 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 14
25519 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25520 : /* 48973*/ /*Scope*/ 19, /*->48993*/
25521 : /* 48974*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25522 : /* 48976*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25523 : /* 48978*/ OPC_EmitMergeInputChains1_0,
25524 : /* 48979*/ OPC_EmitInteger, MVT::i32, 0,
25525 : /* 48982*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25526 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25527 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 14
25528 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25529 : /* 48993*/ /*Scope*/ 19, /*->49013*/
25530 : /* 48994*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25531 : /* 48996*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25532 : /* 48998*/ OPC_EmitMergeInputChains1_0,
25533 : /* 48999*/ OPC_EmitInteger, MVT::i32, 0,
25534 : /* 49002*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25535 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25536 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 14
25537 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25538 : /* 49013*/ 0, /*End of Scope*/
25539 : /* 49014*/ /*SwitchType*/ 19, MVT::i64,// ->49035
25540 : /* 49016*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25541 : /* 49018*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25542 : /* 49020*/ OPC_EmitMergeInputChains1_0,
25543 : /* 49021*/ OPC_EmitInteger, MVT::i32, 0,
25544 : /* 49024*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25545 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
25546 : // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 14
25547 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25548 : /* 49035*/ 0, // EndSwitchType
25549 : /* 49036*/ /*Scope*/ 104, /*->49141*/
25550 : /* 49037*/ OPC_RecordChild0, // #1 = $addr
25551 : /* 49038*/ OPC_MoveChild1,
25552 : /* 49039*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25553 : /* 49042*/ OPC_RecordChild0, // #2 = $off
25554 : /* 49043*/ OPC_MoveChild0,
25555 : /* 49044*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
25556 : /* 49047*/ OPC_MoveParent,
25557 : /* 49048*/ OPC_MoveParent,
25558 : /* 49049*/ OPC_CheckType, MVT::i32,
25559 : /* 49051*/ OPC_MoveParent,
25560 : /* 49052*/ OPC_RecordChild2, // #3 = $exp
25561 : /* 49053*/ OPC_RecordChild3, // #4 = $new
25562 : /* 49054*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49119
25563 : /* 49057*/ OPC_Scope, 19, /*->49078*/ // 3 children in Scope
25564 : /* 49059*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25565 : /* 49061*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25566 : /* 49063*/ OPC_EmitMergeInputChains1_0,
25567 : /* 49064*/ OPC_EmitInteger, MVT::i32, 0,
25568 : /* 49067*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25569 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25570 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 13
25571 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25572 : /* 49078*/ /*Scope*/ 19, /*->49098*/
25573 : /* 49079*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25574 : /* 49081*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25575 : /* 49083*/ OPC_EmitMergeInputChains1_0,
25576 : /* 49084*/ OPC_EmitInteger, MVT::i32, 0,
25577 : /* 49087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25578 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25579 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 13
25580 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25581 : /* 49098*/ /*Scope*/ 19, /*->49118*/
25582 : /* 49099*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25583 : /* 49101*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25584 : /* 49103*/ OPC_EmitMergeInputChains1_0,
25585 : /* 49104*/ OPC_EmitInteger, MVT::i32, 0,
25586 : /* 49107*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25587 : MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4,
25588 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 13
25589 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25590 : /* 49118*/ 0, /*End of Scope*/
25591 : /* 49119*/ /*SwitchType*/ 19, MVT::i64,// ->49140
25592 : /* 49121*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25593 : /* 49123*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25594 : /* 49125*/ OPC_EmitMergeInputChains1_0,
25595 : /* 49126*/ OPC_EmitInteger, MVT::i32, 0,
25596 : /* 49129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25597 : MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4,
25598 : // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 13
25599 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25600 : /* 49140*/ 0, // EndSwitchType
25601 : /* 49141*/ /*Scope*/ 104, /*->49246*/
25602 : /* 49142*/ OPC_MoveChild0,
25603 : /* 49143*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
25604 : /* 49146*/ OPC_RecordChild0, // #1 = $off
25605 : /* 49147*/ OPC_MoveChild0,
25606 : /* 49148*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
25607 : /* 49151*/ OPC_MoveParent,
25608 : /* 49152*/ OPC_MoveParent,
25609 : /* 49153*/ OPC_RecordChild1, // #2 = $addr
25610 : /* 49154*/ OPC_CheckType, MVT::i32,
25611 : /* 49156*/ OPC_MoveParent,
25612 : /* 49157*/ OPC_RecordChild2, // #3 = $exp
25613 : /* 49158*/ OPC_RecordChild3, // #4 = $new
25614 : /* 49159*/ OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49224
25615 : /* 49162*/ OPC_Scope, 19, /*->49183*/ // 3 children in Scope
25616 : /* 49164*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25617 : /* 49166*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25618 : /* 49168*/ OPC_EmitMergeInputChains1_0,
25619 : /* 49169*/ OPC_EmitInteger, MVT::i32, 0,
25620 : /* 49172*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25621 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25622 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 13
25623 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25624 : /* 49183*/ /*Scope*/ 19, /*->49203*/
25625 : /* 49184*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25626 : /* 49186*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25627 : /* 49188*/ OPC_EmitMergeInputChains1_0,
25628 : /* 49189*/ OPC_EmitInteger, MVT::i32, 0,
25629 : /* 49192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25630 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25631 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 13
25632 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25633 : /* 49203*/ /*Scope*/ 19, /*->49223*/
25634 : /* 49204*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25635 : /* 49206*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25636 : /* 49208*/ OPC_EmitMergeInputChains1_0,
25637 : /* 49209*/ OPC_EmitInteger, MVT::i32, 0,
25638 : /* 49212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25639 : MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4,
25640 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 13
25641 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25642 : /* 49223*/ 0, /*End of Scope*/
25643 : /* 49224*/ /*SwitchType*/ 19, MVT::i64,// ->49245
25644 : /* 49226*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25645 : /* 49228*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25646 : /* 49230*/ OPC_EmitMergeInputChains1_0,
25647 : /* 49231*/ OPC_EmitInteger, MVT::i32, 0,
25648 : /* 49234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25649 : MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4,
25650 : // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 13
25651 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25652 : /* 49245*/ 0, // EndSwitchType
25653 : /* 49246*/ /*Scope*/ 109, /*->49356*/
25654 : /* 49247*/ OPC_RecordChild0, // #1 = $addr
25655 : /* 49248*/ OPC_RecordChild1, // #2 = $off
25656 : /* 49249*/ OPC_MoveChild1,
25657 : /* 49250*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25658 : /* 49253*/ OPC_MoveParent,
25659 : /* 49254*/ OPC_CheckPredicate, 3, // Predicate_regPlusImm
25660 : /* 49256*/ OPC_CheckType, MVT::i32,
25661 : /* 49258*/ OPC_MoveParent,
25662 : /* 49259*/ OPC_RecordChild2, // #3 = $exp
25663 : /* 49260*/ OPC_RecordChild3, // #4 = $new
25664 : /* 49261*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->49332
25665 : /* 49264*/ OPC_Scope, 21, /*->49287*/ // 3 children in Scope
25666 : /* 49266*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25667 : /* 49268*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25668 : /* 49270*/ OPC_EmitMergeInputChains1_0,
25669 : /* 49271*/ OPC_EmitInteger, MVT::i32, 0,
25670 : /* 49274*/ OPC_EmitConvertToTarget, 2,
25671 : /* 49276*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25672 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25673 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25674 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25675 : /* 49287*/ /*Scope*/ 21, /*->49309*/
25676 : /* 49288*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25677 : /* 49290*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25678 : /* 49292*/ OPC_EmitMergeInputChains1_0,
25679 : /* 49293*/ OPC_EmitInteger, MVT::i32, 0,
25680 : /* 49296*/ OPC_EmitConvertToTarget, 2,
25681 : /* 49298*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25682 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25683 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25684 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25685 : /* 49309*/ /*Scope*/ 21, /*->49331*/
25686 : /* 49310*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25687 : /* 49312*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25688 : /* 49314*/ OPC_EmitMergeInputChains1_0,
25689 : /* 49315*/ OPC_EmitInteger, MVT::i32, 0,
25690 : /* 49318*/ OPC_EmitConvertToTarget, 2,
25691 : /* 49320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25692 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25693 : // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25694 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25695 : /* 49331*/ 0, /*End of Scope*/
25696 : /* 49332*/ /*SwitchType*/ 21, MVT::i64,// ->49355
25697 : /* 49334*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25698 : /* 49336*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25699 : /* 49338*/ OPC_EmitMergeInputChains1_0,
25700 : /* 49339*/ OPC_EmitInteger, MVT::i32, 0,
25701 : /* 49342*/ OPC_EmitConvertToTarget, 2,
25702 : /* 49344*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25703 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25704 : // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25705 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25706 : /* 49355*/ 0, // EndSwitchType
25707 : /* 49356*/ 0, /*End of Scope*/
25708 : /* 49357*/ /*SwitchOpcode*/ 109, TARGET_VAL(ISD::OR),// ->49469
25709 : /* 49360*/ OPC_RecordChild0, // #1 = $addr
25710 : /* 49361*/ OPC_RecordChild1, // #2 = $off
25711 : /* 49362*/ OPC_MoveChild1,
25712 : /* 49363*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25713 : /* 49366*/ OPC_MoveParent,
25714 : /* 49367*/ OPC_CheckPredicate, 4, // Predicate_or_is_add
25715 : /* 49369*/ OPC_CheckType, MVT::i32,
25716 : /* 49371*/ OPC_MoveParent,
25717 : /* 49372*/ OPC_RecordChild2, // #3 = $exp
25718 : /* 49373*/ OPC_RecordChild3, // #4 = $new
25719 : /* 49374*/ OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->49445
25720 : /* 49377*/ OPC_Scope, 21, /*->49400*/ // 3 children in Scope
25721 : /* 49379*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25722 : /* 49381*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25723 : /* 49383*/ OPC_EmitMergeInputChains1_0,
25724 : /* 49384*/ OPC_EmitInteger, MVT::i32, 0,
25725 : /* 49387*/ OPC_EmitConvertToTarget, 2,
25726 : /* 49389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25727 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25728 : // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
25729 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25730 : /* 49400*/ /*Scope*/ 21, /*->49422*/
25731 : /* 49401*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25732 : /* 49403*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25733 : /* 49405*/ OPC_EmitMergeInputChains1_0,
25734 : /* 49406*/ OPC_EmitInteger, MVT::i32, 0,
25735 : /* 49409*/ OPC_EmitConvertToTarget, 2,
25736 : /* 49411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25737 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25738 : // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
25739 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25740 : /* 49422*/ /*Scope*/ 21, /*->49444*/
25741 : /* 49423*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25742 : /* 49425*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25743 : /* 49427*/ OPC_EmitMergeInputChains1_0,
25744 : /* 49428*/ OPC_EmitInteger, MVT::i32, 0,
25745 : /* 49431*/ OPC_EmitConvertToTarget, 2,
25746 : /* 49433*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25747 : MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4,
25748 : // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
25749 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25750 : /* 49444*/ 0, /*End of Scope*/
25751 : /* 49445*/ /*SwitchType*/ 21, MVT::i64,// ->49468
25752 : /* 49447*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25753 : /* 49449*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25754 : /* 49451*/ OPC_EmitMergeInputChains1_0,
25755 : /* 49452*/ OPC_EmitInteger, MVT::i32, 0,
25756 : /* 49455*/ OPC_EmitConvertToTarget, 2,
25757 : /* 49457*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25758 : MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4,
25759 : // Src: (atomic_cmp_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
25760 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25761 : /* 49468*/ 0, // EndSwitchType
25762 : /* 49469*/ /*SwitchOpcode*/ 18|128,2/*274*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->49747
25763 : /* 49473*/ OPC_RecordChild0, // #1 = $off
25764 : /* 49474*/ OPC_MoveChild0,
25765 : /* 49475*/ OPC_SwitchOpcode /*2 cases */, 3|128,1/*131*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->49611
25766 : /* 49480*/ OPC_MoveParent,
25767 : /* 49481*/ OPC_MoveParent,
25768 : /* 49482*/ OPC_RecordChild2, // #2 = $exp
25769 : /* 49483*/ OPC_RecordChild3, // #3 = $new
25770 : /* 49484*/ OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->49579
25771 : /* 49487*/ OPC_Scope, 29, /*->49518*/ // 3 children in Scope
25772 : /* 49489*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25773 : /* 49491*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25774 : /* 49493*/ OPC_EmitMergeInputChains1_0,
25775 : /* 49494*/ OPC_EmitInteger, MVT::i32, 0,
25776 : /* 49497*/ OPC_EmitInteger, MVT::i32, 0,
25777 : /* 49500*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25778 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25779 : /* 49507*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25780 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25781 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
25782 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25783 : /* 49518*/ /*Scope*/ 29, /*->49548*/
25784 : /* 49519*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25785 : /* 49521*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25786 : /* 49523*/ OPC_EmitMergeInputChains1_0,
25787 : /* 49524*/ OPC_EmitInteger, MVT::i32, 0,
25788 : /* 49527*/ OPC_EmitInteger, MVT::i32, 0,
25789 : /* 49530*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25790 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25791 : /* 49537*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25792 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25793 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
25794 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25795 : /* 49548*/ /*Scope*/ 29, /*->49578*/
25796 : /* 49549*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25797 : /* 49551*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25798 : /* 49553*/ OPC_EmitMergeInputChains1_0,
25799 : /* 49554*/ OPC_EmitInteger, MVT::i32, 0,
25800 : /* 49557*/ OPC_EmitInteger, MVT::i32, 0,
25801 : /* 49560*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25802 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25803 : /* 49567*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25804 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25805 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
25806 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25807 : /* 49578*/ 0, /*End of Scope*/
25808 : /* 49579*/ /*SwitchType*/ 29, MVT::i64,// ->49610
25809 : /* 49581*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25810 : /* 49583*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25811 : /* 49585*/ OPC_EmitMergeInputChains1_0,
25812 : /* 49586*/ OPC_EmitInteger, MVT::i32, 0,
25813 : /* 49589*/ OPC_EmitInteger, MVT::i32, 0,
25814 : /* 49592*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25815 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25816 : /* 49599*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25817 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
25818 : // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
25819 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25820 : /* 49610*/ 0, // EndSwitchType
25821 : /* 49611*/ /*SwitchOpcode*/ 3|128,1/*131*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->49746
25822 : /* 49615*/ OPC_MoveParent,
25823 : /* 49616*/ OPC_MoveParent,
25824 : /* 49617*/ OPC_RecordChild2, // #2 = $exp
25825 : /* 49618*/ OPC_RecordChild3, // #3 = $new
25826 : /* 49619*/ OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->49714
25827 : /* 49622*/ OPC_Scope, 29, /*->49653*/ // 3 children in Scope
25828 : /* 49624*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25829 : /* 49626*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25830 : /* 49628*/ OPC_EmitMergeInputChains1_0,
25831 : /* 49629*/ OPC_EmitInteger, MVT::i32, 0,
25832 : /* 49632*/ OPC_EmitInteger, MVT::i32, 0,
25833 : /* 49635*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25834 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25835 : /* 49642*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25836 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25837 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
25838 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25839 : /* 49653*/ /*Scope*/ 29, /*->49683*/
25840 : /* 49654*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25841 : /* 49656*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25842 : /* 49658*/ OPC_EmitMergeInputChains1_0,
25843 : /* 49659*/ OPC_EmitInteger, MVT::i32, 0,
25844 : /* 49662*/ OPC_EmitInteger, MVT::i32, 0,
25845 : /* 49665*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25846 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25847 : /* 49672*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25848 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25849 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
25850 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25851 : /* 49683*/ /*Scope*/ 29, /*->49713*/
25852 : /* 49684*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25853 : /* 49686*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25854 : /* 49688*/ OPC_EmitMergeInputChains1_0,
25855 : /* 49689*/ OPC_EmitInteger, MVT::i32, 0,
25856 : /* 49692*/ OPC_EmitInteger, MVT::i32, 0,
25857 : /* 49695*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25858 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25859 : /* 49702*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25860 : MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3,
25861 : // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
25862 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25863 : /* 49713*/ 0, /*End of Scope*/
25864 : /* 49714*/ /*SwitchType*/ 29, MVT::i64,// ->49745
25865 : /* 49716*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25866 : /* 49718*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25867 : /* 49720*/ OPC_EmitMergeInputChains1_0,
25868 : /* 49721*/ OPC_EmitInteger, MVT::i32, 0,
25869 : /* 49724*/ OPC_EmitInteger, MVT::i32, 0,
25870 : /* 49727*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25871 : MVT::i32, 1/*#Ops*/, 5, // Results = #6
25872 : /* 49734*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25873 : MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3,
25874 : // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
25875 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25876 : /* 49745*/ 0, // EndSwitchType
25877 : /* 49746*/ 0, // EndSwitchOpcode
25878 : /* 49747*/ 0, // EndSwitchOpcode
25879 : /* 49748*/ /*Scope*/ 123|128,1/*251*/, /*->50001*/
25880 : /* 49750*/ OPC_RecordChild1, // #1 = $off
25881 : /* 49751*/ OPC_Scope, 14|128,1/*142*/, /*->49896*/ // 2 children in Scope
25882 : /* 49754*/ OPC_MoveChild1,
25883 : /* 49755*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25884 : /* 49758*/ OPC_MoveParent,
25885 : /* 49759*/ OPC_RecordChild2, // #2 = $exp
25886 : /* 49760*/ OPC_RecordChild3, // #3 = $new
25887 : /* 49761*/ OPC_SwitchType /*2 cases */, 98, MVT::i32,// ->49862
25888 : /* 49764*/ OPC_Scope, 31, /*->49797*/ // 3 children in Scope
25889 : /* 49766*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25890 : /* 49768*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25891 : /* 49770*/ OPC_EmitMergeInputChains1_0,
25892 : /* 49771*/ OPC_EmitInteger, MVT::i32, 0,
25893 : /* 49774*/ OPC_EmitConvertToTarget, 1,
25894 : /* 49776*/ OPC_EmitInteger, MVT::i32, 0,
25895 : /* 49779*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25896 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
25897 : /* 49786*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25898 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
25899 : // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 7
25900 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25901 : /* 49797*/ /*Scope*/ 31, /*->49829*/
25902 : /* 49798*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25903 : /* 49800*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25904 : /* 49802*/ OPC_EmitMergeInputChains1_0,
25905 : /* 49803*/ OPC_EmitInteger, MVT::i32, 0,
25906 : /* 49806*/ OPC_EmitConvertToTarget, 1,
25907 : /* 49808*/ OPC_EmitInteger, MVT::i32, 0,
25908 : /* 49811*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25909 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
25910 : /* 49818*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25911 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
25912 : // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 7
25913 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25914 : /* 49829*/ /*Scope*/ 31, /*->49861*/
25915 : /* 49830*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25916 : /* 49832*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25917 : /* 49834*/ OPC_EmitMergeInputChains1_0,
25918 : /* 49835*/ OPC_EmitInteger, MVT::i32, 0,
25919 : /* 49838*/ OPC_EmitConvertToTarget, 1,
25920 : /* 49840*/ OPC_EmitInteger, MVT::i32, 0,
25921 : /* 49843*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25922 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
25923 : /* 49850*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25924 : MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3,
25925 : // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 7
25926 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25927 : /* 49861*/ 0, /*End of Scope*/
25928 : /* 49862*/ /*SwitchType*/ 31, MVT::i64,// ->49895
25929 : /* 49864*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25930 : /* 49866*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25931 : /* 49868*/ OPC_EmitMergeInputChains1_0,
25932 : /* 49869*/ OPC_EmitInteger, MVT::i32, 0,
25933 : /* 49872*/ OPC_EmitConvertToTarget, 1,
25934 : /* 49874*/ OPC_EmitInteger, MVT::i32, 0,
25935 : /* 49877*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
25936 : MVT::i32, 1/*#Ops*/, 6, // Results = #7
25937 : /* 49884*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25938 : MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3,
25939 : // Src: (atomic_cmp_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 7
25940 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25941 : /* 49895*/ 0, // EndSwitchType
25942 : /* 49896*/ /*Scope*/ 103, /*->50000*/
25943 : /* 49897*/ OPC_CheckChild1Type, MVT::i32,
25944 : /* 49899*/ OPC_RecordChild2, // #2 = $exp
25945 : /* 49900*/ OPC_RecordChild3, // #3 = $new
25946 : /* 49901*/ OPC_SwitchType /*2 cases */, 71, MVT::i32,// ->49975
25947 : /* 49904*/ OPC_Scope, 22, /*->49928*/ // 3 children in Scope
25948 : /* 49906*/ OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
25949 : /* 49908*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25950 : /* 49910*/ OPC_EmitMergeInputChains1_0,
25951 : /* 49911*/ OPC_EmitInteger, MVT::i32, 0,
25952 : /* 49914*/ OPC_EmitInteger, MVT::i32, 0,
25953 : /* 49917*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25954 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
25955 : // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 4
25956 : // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25957 : /* 49928*/ /*Scope*/ 22, /*->49951*/
25958 : /* 49929*/ OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
25959 : /* 49931*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25960 : /* 49933*/ OPC_EmitMergeInputChains1_0,
25961 : /* 49934*/ OPC_EmitInteger, MVT::i32, 0,
25962 : /* 49937*/ OPC_EmitInteger, MVT::i32, 0,
25963 : /* 49940*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25964 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
25965 : // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 4
25966 : // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25967 : /* 49951*/ /*Scope*/ 22, /*->49974*/
25968 : /* 49952*/ OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
25969 : /* 49954*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25970 : /* 49956*/ OPC_EmitMergeInputChains1_0,
25971 : /* 49957*/ OPC_EmitInteger, MVT::i32, 0,
25972 : /* 49960*/ OPC_EmitInteger, MVT::i32, 0,
25973 : /* 49963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
25974 : MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3,
25975 : // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 4
25976 : // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
25977 : /* 49974*/ 0, /*End of Scope*/
25978 : /* 49975*/ /*SwitchType*/ 22, MVT::i64,// ->49999
25979 : /* 49977*/ OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
25980 : /* 49979*/ OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
25981 : /* 49981*/ OPC_EmitMergeInputChains1_0,
25982 : /* 49982*/ OPC_EmitInteger, MVT::i32, 0,
25983 : /* 49985*/ OPC_EmitInteger, MVT::i32, 0,
25984 : /* 49988*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
25985 : MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3,
25986 : // Src: (atomic_cmp_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 4
25987 : // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
25988 : /* 49999*/ 0, // EndSwitchType
25989 : /* 50000*/ 0, /*End of Scope*/
25990 : /* 50001*/ 0, /*End of Scope*/
25991 : /* 50002*/ /*SwitchOpcode*/ 76, TARGET_VAL(ISD::BRCOND),// ->50081
25992 : /* 50005*/ OPC_RecordNode, // #0 = 'brcond' chained node
25993 : /* 50006*/ OPC_Scope, 54, /*->50062*/ // 2 children in Scope
25994 : /* 50008*/ OPC_MoveChild1,
25995 : /* 50009*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
25996 : /* 50012*/ OPC_RecordChild0, // #1 = $cond
25997 : /* 50013*/ OPC_CheckChild0Type, MVT::i32,
25998 : /* 50015*/ OPC_CheckChild1Integer, 0,
25999 : /* 50017*/ OPC_MoveChild2,
26000 : /* 50018*/ OPC_Scope, 20, /*->50040*/ // 2 children in Scope
26001 : /* 50020*/ OPC_CheckCondCode, ISD::SETNE,
26002 : /* 50022*/ OPC_MoveParent,
26003 : /* 50023*/ OPC_CheckType, MVT::i32,
26004 : /* 50025*/ OPC_MoveParent,
26005 : /* 50026*/ OPC_RecordChild2, // #2 = $dst
26006 : /* 50027*/ OPC_MoveChild2,
26007 : /* 50028*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
26008 : /* 50031*/ OPC_MoveParent,
26009 : /* 50032*/ OPC_EmitMergeInputChains1_0,
26010 : /* 50033*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
26011 : 2/*#Ops*/, 2, 1,
26012 : // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
26013 : // Dst: (BR_IF bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
26014 : /* 50040*/ /*Scope*/ 20, /*->50061*/
26015 : /* 50041*/ OPC_CheckCondCode, ISD::SETEQ,
26016 : /* 50043*/ OPC_MoveParent,
26017 : /* 50044*/ OPC_CheckType, MVT::i32,
26018 : /* 50046*/ OPC_MoveParent,
26019 : /* 50047*/ OPC_RecordChild2, // #2 = $dst
26020 : /* 50048*/ OPC_MoveChild2,
26021 : /* 50049*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
26022 : /* 50052*/ OPC_MoveParent,
26023 : /* 50053*/ OPC_EmitMergeInputChains1_0,
26024 : /* 50054*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_UNLESS), 0|OPFL_Chain,
26025 : 2/*#Ops*/, 2, 1,
26026 : // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
26027 : // Dst: (BR_UNLESS bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
26028 : /* 50061*/ 0, /*End of Scope*/
26029 : /* 50062*/ /*Scope*/ 17, /*->50080*/
26030 : /* 50063*/ OPC_RecordChild1, // #1 = $cond
26031 : /* 50064*/ OPC_CheckChild1Type, MVT::i32,
26032 : /* 50066*/ OPC_RecordChild2, // #2 = $dst
26033 : /* 50067*/ OPC_MoveChild2,
26034 : /* 50068*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
26035 : /* 50071*/ OPC_MoveParent,
26036 : /* 50072*/ OPC_EmitMergeInputChains1_0,
26037 : /* 50073*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
26038 : 2/*#Ops*/, 2, 1,
26039 : // Src: (brcond I32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) - Complexity = 3
26040 : // Dst: (BR_IF (bb:{ *:[Other] }):$dst, I32:{ *:[i32] }:$cond)
26041 : /* 50080*/ 0, /*End of Scope*/
26042 : /* 50081*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::INTRINSIC_VOID),// ->50127
26043 : /* 50084*/ OPC_RecordNode, // #0 = 'intrinsic_void' chained node
26044 : /* 50085*/ OPC_CheckChild1Integer, 68|128,42/*5444*/,
26045 : /* 50088*/ OPC_RecordChild2, // #1 = $tag
26046 : /* 50089*/ OPC_MoveChild2,
26047 : /* 50090*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26048 : /* 50093*/ OPC_MoveParent,
26049 : /* 50094*/ OPC_RecordChild3, // #2 = $val
26050 : /* 50095*/ OPC_Scope, 14, /*->50111*/ // 2 children in Scope
26051 : /* 50097*/ OPC_CheckChild3Type, MVT::i32,
26052 : /* 50099*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
26053 : /* 50101*/ OPC_EmitMergeInputChains1_0,
26054 : /* 50102*/ OPC_EmitConvertToTarget, 1,
26055 : /* 50104*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::THROW_I32), 0|OPFL_Chain,
26056 : 2/*#Ops*/, 3, 2,
26057 : // Src: (intrinsic_void 5444:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag, I32:{ *:[i32] }:$val) - Complexity = 11
26058 : // Dst: (THROW_I32 (imm:{ *:[i32] }):$tag, I32:{ *:[i32] }:$val)
26059 : /* 50111*/ /*Scope*/ 14, /*->50126*/
26060 : /* 50112*/ OPC_CheckChild3Type, MVT::i64,
26061 : /* 50114*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
26062 : /* 50116*/ OPC_EmitMergeInputChains1_0,
26063 : /* 50117*/ OPC_EmitConvertToTarget, 1,
26064 : /* 50119*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::THROW_I64), 0|OPFL_Chain,
26065 : 2/*#Ops*/, 3, 2,
26066 : // Src: (intrinsic_void 5444:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag, I64:{ *:[i64] }:$val) - Complexity = 11
26067 : // Dst: (THROW_I64 (imm:{ *:[i32] }):$tag, I64:{ *:[i64] }:$val)
26068 : /* 50126*/ 0, /*End of Scope*/
26069 : /* 50127*/ /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTL),// ->50197
26070 : /* 50130*/ OPC_RecordChild0, // #0 = $lhs
26071 : /* 50131*/ OPC_Scope, 35, /*->50168*/ // 2 children in Scope
26072 : /* 50133*/ OPC_MoveChild1,
26073 : /* 50134*/ OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->50151
26074 : /* 50137*/ OPC_CheckAndImm, 31,
26075 : /* 50139*/ OPC_RecordChild0, // #1 = $rhs
26076 : /* 50140*/ OPC_MoveParent,
26077 : /* 50141*/ OPC_CheckType, MVT::i32,
26078 : /* 50143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
26079 : MVT::i32, 2/*#Ops*/, 0, 1,
26080 : // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
26081 : // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26082 : /* 50151*/ /*SwitchType*/ 14, MVT::i64,// ->50167
26083 : /* 50153*/ OPC_CheckAndImm, 63,
26084 : /* 50155*/ OPC_RecordChild0, // #1 = $rhs
26085 : /* 50156*/ OPC_MoveParent,
26086 : /* 50157*/ OPC_CheckType, MVT::i64,
26087 : /* 50159*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
26088 : MVT::i64, 2/*#Ops*/, 0, 1,
26089 : // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
26090 : // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
26091 : /* 50167*/ 0, // EndSwitchType
26092 : /* 50168*/ /*Scope*/ 27, /*->50196*/
26093 : /* 50169*/ OPC_RecordChild1, // #1 = $rhs
26094 : /* 50170*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->50183
26095 : /* 50173*/ OPC_CheckChild1Type, MVT::i32,
26096 : /* 50175*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
26097 : MVT::i32, 2/*#Ops*/, 0, 1,
26098 : // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
26099 : // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26100 : /* 50183*/ /*SwitchType*/ 10, MVT::i64,// ->50195
26101 : /* 50185*/ OPC_CheckChild1Type, MVT::i64,
26102 : /* 50187*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
26103 : MVT::i64, 2/*#Ops*/, 0, 1,
26104 : // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
26105 : // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
26106 : /* 50195*/ 0, // EndSwitchType
26107 : /* 50196*/ 0, /*End of Scope*/
26108 : /* 50197*/ /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTR),// ->50267
26109 : /* 50200*/ OPC_RecordChild0, // #0 = $lhs
26110 : /* 50201*/ OPC_Scope, 35, /*->50238*/ // 2 children in Scope
26111 : /* 50203*/ OPC_MoveChild1,
26112 : /* 50204*/ OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->50221
26113 : /* 50207*/ OPC_CheckAndImm, 31,
26114 : /* 50209*/ OPC_RecordChild0, // #1 = $rhs
26115 : /* 50210*/ OPC_MoveParent,
26116 : /* 50211*/ OPC_CheckType, MVT::i32,
26117 : /* 50213*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
26118 : MVT::i32, 2/*#Ops*/, 0, 1,
26119 : // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
26120 : // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26121 : /* 50221*/ /*SwitchType*/ 14, MVT::i64,// ->50237
26122 : /* 50223*/ OPC_CheckAndImm, 63,
26123 : /* 50225*/ OPC_RecordChild0, // #1 = $rhs
26124 : /* 50226*/ OPC_MoveParent,
26125 : /* 50227*/ OPC_CheckType, MVT::i64,
26126 : /* 50229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
26127 : MVT::i64, 2/*#Ops*/, 0, 1,
26128 : // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
26129 : // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
26130 : /* 50237*/ 0, // EndSwitchType
26131 : /* 50238*/ /*Scope*/ 27, /*->50266*/
26132 : /* 50239*/ OPC_RecordChild1, // #1 = $rhs
26133 : /* 50240*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->50253
26134 : /* 50243*/ OPC_CheckChild1Type, MVT::i32,
26135 : /* 50245*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
26136 : MVT::i32, 2/*#Ops*/, 0, 1,
26137 : // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
26138 : // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26139 : /* 50253*/ /*SwitchType*/ 10, MVT::i64,// ->50265
26140 : /* 50255*/ OPC_CheckChild1Type, MVT::i64,
26141 : /* 50257*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
26142 : MVT::i64, 2/*#Ops*/, 0, 1,
26143 : // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
26144 : // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
26145 : /* 50265*/ 0, // EndSwitchType
26146 : /* 50266*/ 0, /*End of Scope*/
26147 : /* 50267*/ /*SwitchOpcode*/ 15|128,2/*271*/, TARGET_VAL(ISD::SELECT),// ->50542
26148 : /* 50271*/ OPC_Scope, 118, /*->50391*/ // 4 children in Scope
26149 : /* 50273*/ OPC_MoveChild0,
26150 : /* 50274*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
26151 : /* 50277*/ OPC_RecordChild0, // #0 = $cond
26152 : /* 50278*/ OPC_CheckChild0Type, MVT::i32,
26153 : /* 50280*/ OPC_CheckChild1Integer, 0,
26154 : /* 50282*/ OPC_MoveChild2,
26155 : /* 50283*/ OPC_Scope, 32, /*->50317*/ // 4 children in Scope
26156 : /* 50285*/ OPC_CheckCondCode, ISD::SETNE,
26157 : /* 50287*/ OPC_MoveParent,
26158 : /* 50288*/ OPC_CheckType, MVT::i32,
26159 : /* 50290*/ OPC_MoveParent,
26160 : /* 50291*/ OPC_RecordChild1, // #1 = $lhs
26161 : /* 50292*/ OPC_RecordChild2, // #2 = $rhs
26162 : /* 50293*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50305
26163 : /* 50296*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
26164 : MVT::i32, 3/*#Ops*/, 1, 2, 0,
26165 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
26166 : // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
26167 : /* 50305*/ /*SwitchType*/ 9, MVT::i64,// ->50316
26168 : /* 50307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
26169 : MVT::i64, 3/*#Ops*/, 1, 2, 0,
26170 : // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
26171 : // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
26172 : /* 50316*/ 0, // EndSwitchType
26173 : /* 50317*/ /*Scope*/ 32, /*->50350*/
26174 : /* 50318*/ OPC_CheckCondCode, ISD::SETEQ,
26175 : /* 50320*/ OPC_MoveParent,
26176 : /* 50321*/ OPC_CheckType, MVT::i32,
26177 : /* 50323*/ OPC_MoveParent,
26178 : /* 50324*/ OPC_RecordChild1, // #1 = $lhs
26179 : /* 50325*/ OPC_RecordChild2, // #2 = $rhs
26180 : /* 50326*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50338
26181 : /* 50329*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
26182 : MVT::i32, 3/*#Ops*/, 2, 1, 0,
26183 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
26184 : // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$cond)
26185 : /* 50338*/ /*SwitchType*/ 9, MVT::i64,// ->50349
26186 : /* 50340*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
26187 : MVT::i64, 3/*#Ops*/, 2, 1, 0,
26188 : // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
26189 : // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$rhs, I64:{ *:[i64] }:$lhs, I32:{ *:[i32] }:$cond)
26190 : /* 50349*/ 0, // EndSwitchType
26191 : /* 50350*/ /*Scope*/ 19, /*->50370*/
26192 : /* 50351*/ OPC_CheckCondCode, ISD::SETNE,
26193 : /* 50353*/ OPC_MoveParent,
26194 : /* 50354*/ OPC_CheckType, MVT::i32,
26195 : /* 50356*/ OPC_MoveParent,
26196 : /* 50357*/ OPC_RecordChild1, // #1 = $lhs
26197 : /* 50358*/ OPC_RecordChild2, // #2 = $rhs
26198 : /* 50359*/ OPC_CheckType, MVT::ExceptRef,
26199 : /* 50361*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
26200 : MVT::ExceptRef, 3/*#Ops*/, 1, 2, 0,
26201 : // Src: (select:{ *:[ExceptRef] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 11
26202 : // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs, I32:{ *:[i32] }:$cond)
26203 : /* 50370*/ /*Scope*/ 19, /*->50390*/
26204 : /* 50371*/ OPC_CheckCondCode, ISD::SETEQ,
26205 : /* 50373*/ OPC_MoveParent,
26206 : /* 50374*/ OPC_CheckType, MVT::i32,
26207 : /* 50376*/ OPC_MoveParent,
26208 : /* 50377*/ OPC_RecordChild1, // #1 = $lhs
26209 : /* 50378*/ OPC_RecordChild2, // #2 = $rhs
26210 : /* 50379*/ OPC_CheckType, MVT::ExceptRef,
26211 : /* 50381*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
26212 : MVT::ExceptRef, 3/*#Ops*/, 2, 1, 0,
26213 : // Src: (select:{ *:[ExceptRef] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 11
26214 : // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$rhs, EXCEPT_REF:{ *:[ExceptRef] }:$lhs, I32:{ *:[i32] }:$cond)
26215 : /* 50390*/ 0, /*End of Scope*/
26216 : /* 50391*/ /*Scope*/ 40, /*->50432*/
26217 : /* 50392*/ OPC_RecordChild0, // #0 = $cond
26218 : /* 50393*/ OPC_CheckChild0Type, MVT::i32,
26219 : /* 50395*/ OPC_RecordChild1, // #1 = $lhs
26220 : /* 50396*/ OPC_RecordChild2, // #2 = $rhs
26221 : /* 50397*/ OPC_SwitchType /*3 cases */, 9, MVT::i32,// ->50409
26222 : /* 50400*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
26223 : MVT::i32, 3/*#Ops*/, 1, 2, 0,
26224 : // Src: (select:{ *:[i32] } I32:{ *:[i32] }:$cond, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
26225 : // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
26226 : /* 50409*/ /*SwitchType*/ 9, MVT::i64,// ->50420
26227 : /* 50411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
26228 : MVT::i64, 3/*#Ops*/, 1, 2, 0,
26229 : // Src: (select:{ *:[i64] } I32:{ *:[i32] }:$cond, I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
26230 : // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
26231 : /* 50420*/ /*SwitchType*/ 9, MVT::ExceptRef,// ->50431
26232 : /* 50422*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
26233 : MVT::ExceptRef, 3/*#Ops*/, 1, 2, 0,
26234 : // Src: (select:{ *:[ExceptRef] } I32:{ *:[i32] }:$cond, EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 3
26235 : // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs, I32:{ *:[i32] }:$cond)
26236 : /* 50431*/ 0, // EndSwitchType
26237 : /* 50432*/ /*Scope*/ 78, /*->50511*/
26238 : /* 50433*/ OPC_MoveChild0,
26239 : /* 50434*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
26240 : /* 50437*/ OPC_RecordChild0, // #0 = $cond
26241 : /* 50438*/ OPC_CheckChild0Type, MVT::i32,
26242 : /* 50440*/ OPC_CheckChild1Integer, 0,
26243 : /* 50442*/ OPC_MoveChild2,
26244 : /* 50443*/ OPC_Scope, 32, /*->50477*/ // 2 children in Scope
26245 : /* 50445*/ OPC_CheckCondCode, ISD::SETNE,
26246 : /* 50447*/ OPC_MoveParent,
26247 : /* 50448*/ OPC_CheckType, MVT::i32,
26248 : /* 50450*/ OPC_MoveParent,
26249 : /* 50451*/ OPC_RecordChild1, // #1 = $lhs
26250 : /* 50452*/ OPC_RecordChild2, // #2 = $rhs
26251 : /* 50453*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50465
26252 : /* 50456*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
26253 : MVT::f32, 3/*#Ops*/, 1, 2, 0,
26254 : // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
26255 : // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
26256 : /* 50465*/ /*SwitchType*/ 9, MVT::f64,// ->50476
26257 : /* 50467*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
26258 : MVT::f64, 3/*#Ops*/, 1, 2, 0,
26259 : // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
26260 : // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
26261 : /* 50476*/ 0, // EndSwitchType
26262 : /* 50477*/ /*Scope*/ 32, /*->50510*/
26263 : /* 50478*/ OPC_CheckCondCode, ISD::SETEQ,
26264 : /* 50480*/ OPC_MoveParent,
26265 : /* 50481*/ OPC_CheckType, MVT::i32,
26266 : /* 50483*/ OPC_MoveParent,
26267 : /* 50484*/ OPC_RecordChild1, // #1 = $lhs
26268 : /* 50485*/ OPC_RecordChild2, // #2 = $rhs
26269 : /* 50486*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50498
26270 : /* 50489*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
26271 : MVT::f32, 3/*#Ops*/, 2, 1, 0,
26272 : // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
26273 : // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$rhs, F32:{ *:[f32] }:$lhs, I32:{ *:[i32] }:$cond)
26274 : /* 50498*/ /*SwitchType*/ 9, MVT::f64,// ->50509
26275 : /* 50500*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
26276 : MVT::f64, 3/*#Ops*/, 2, 1, 0,
26277 : // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
26278 : // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$rhs, F64:{ *:[f64] }:$lhs, I32:{ *:[i32] }:$cond)
26279 : /* 50509*/ 0, // EndSwitchType
26280 : /* 50510*/ 0, /*End of Scope*/
26281 : /* 50511*/ /*Scope*/ 29, /*->50541*/
26282 : /* 50512*/ OPC_RecordChild0, // #0 = $cond
26283 : /* 50513*/ OPC_CheckChild0Type, MVT::i32,
26284 : /* 50515*/ OPC_RecordChild1, // #1 = $lhs
26285 : /* 50516*/ OPC_RecordChild2, // #2 = $rhs
26286 : /* 50517*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50529
26287 : /* 50520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
26288 : MVT::f32, 3/*#Ops*/, 1, 2, 0,
26289 : // Src: (select:{ *:[f32] } I32:{ *:[i32] }:$cond, F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
26290 : // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
26291 : /* 50529*/ /*SwitchType*/ 9, MVT::f64,// ->50540
26292 : /* 50531*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
26293 : MVT::f64, 3/*#Ops*/, 1, 2, 0,
26294 : // Src: (select:{ *:[f64] } I32:{ *:[i32] }:$cond, F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
26295 : // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
26296 : /* 50540*/ 0, // EndSwitchType
26297 : /* 50541*/ 0, /*End of Scope*/
26298 : /* 50542*/ /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->50694
26299 : /* 50546*/ OPC_Scope, 71, /*->50619*/ // 2 children in Scope
26300 : /* 50548*/ OPC_MoveChild0,
26301 : /* 50549*/ OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
26302 : /* 50552*/ OPC_RecordChild0, // #0 = $vec
26303 : /* 50553*/ OPC_Scope, 31, /*->50586*/ // 2 children in Scope
26304 : /* 50555*/ OPC_CheckChild0Type, MVT::v16i8,
26305 : /* 50557*/ OPC_RecordChild1, // #1 = $idx
26306 : /* 50558*/ OPC_MoveChild1,
26307 : /* 50559*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26308 : /* 50562*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx16
26309 : /* 50564*/ OPC_CheckType, MVT::i32,
26310 : /* 50566*/ OPC_MoveParent,
26311 : /* 50567*/ OPC_MoveParent,
26312 : /* 50568*/ OPC_MoveChild1,
26313 : /* 50569*/ OPC_CheckValueType, MVT::i8,
26314 : /* 50571*/ OPC_MoveParent,
26315 : /* 50572*/ OPC_CheckType, MVT::i32,
26316 : /* 50574*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26317 : /* 50576*/ OPC_EmitConvertToTarget, 1,
26318 : /* 50578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_s), 0,
26319 : MVT::i32, 2/*#Ops*/, 0, 2,
26320 : // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), i8:{ *:[Other] }) - Complexity = 10
26321 : // Dst: (EXTRACT_LANE_v16i8_s:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
26322 : /* 50586*/ /*Scope*/ 31, /*->50618*/
26323 : /* 50587*/ OPC_CheckChild0Type, MVT::v8i16,
26324 : /* 50589*/ OPC_RecordChild1, // #1 = $idx
26325 : /* 50590*/ OPC_MoveChild1,
26326 : /* 50591*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26327 : /* 50594*/ OPC_CheckPredicate, 6, // Predicate_LaneIdx8
26328 : /* 50596*/ OPC_CheckType, MVT::i32,
26329 : /* 50598*/ OPC_MoveParent,
26330 : /* 50599*/ OPC_MoveParent,
26331 : /* 50600*/ OPC_MoveChild1,
26332 : /* 50601*/ OPC_CheckValueType, MVT::i16,
26333 : /* 50603*/ OPC_MoveParent,
26334 : /* 50604*/ OPC_CheckType, MVT::i32,
26335 : /* 50606*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26336 : /* 50608*/ OPC_EmitConvertToTarget, 1,
26337 : /* 50610*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_s), 0,
26338 : MVT::i32, 2/*#Ops*/, 0, 2,
26339 : // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), i16:{ *:[Other] }) - Complexity = 10
26340 : // Dst: (EXTRACT_LANE_v8i16_s:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
26341 : /* 50618*/ 0, /*End of Scope*/
26342 : /* 50619*/ /*Scope*/ 73, /*->50693*/
26343 : /* 50620*/ OPC_RecordChild0, // #0 = $src
26344 : /* 50621*/ OPC_MoveChild1,
26345 : /* 50622*/ OPC_Scope, 27, /*->50651*/ // 3 children in Scope
26346 : /* 50624*/ OPC_CheckValueType, MVT::i8,
26347 : /* 50626*/ OPC_MoveParent,
26348 : /* 50627*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50639
26349 : /* 50630*/ OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
26350 : /* 50632*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32), 0,
26351 : MVT::i32, 1/*#Ops*/, 0,
26352 : // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i8:{ *:[Other] }) - Complexity = 3
26353 : // Dst: (I32_EXTEND8_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
26354 : /* 50639*/ /*SwitchType*/ 9, MVT::i64,// ->50650
26355 : /* 50641*/ OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
26356 : /* 50643*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64), 0,
26357 : MVT::i64, 1/*#Ops*/, 0,
26358 : // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i8:{ *:[Other] }) - Complexity = 3
26359 : // Dst: (I64_EXTEND8_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26360 : /* 50650*/ 0, // EndSwitchType
26361 : /* 50651*/ /*Scope*/ 27, /*->50679*/
26362 : /* 50652*/ OPC_CheckValueType, MVT::i16,
26363 : /* 50654*/ OPC_MoveParent,
26364 : /* 50655*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50667
26365 : /* 50658*/ OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
26366 : /* 50660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32), 0,
26367 : MVT::i32, 1/*#Ops*/, 0,
26368 : // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i16:{ *:[Other] }) - Complexity = 3
26369 : // Dst: (I32_EXTEND16_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
26370 : /* 50667*/ /*SwitchType*/ 9, MVT::i64,// ->50678
26371 : /* 50669*/ OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
26372 : /* 50671*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64), 0,
26373 : MVT::i64, 1/*#Ops*/, 0,
26374 : // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i16:{ *:[Other] }) - Complexity = 3
26375 : // Dst: (I64_EXTEND16_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26376 : /* 50678*/ 0, // EndSwitchType
26377 : /* 50679*/ /*Scope*/ 12, /*->50692*/
26378 : /* 50680*/ OPC_CheckValueType, MVT::i32,
26379 : /* 50682*/ OPC_MoveParent,
26380 : /* 50683*/ OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
26381 : /* 50685*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64), 0,
26382 : MVT::i64, 1/*#Ops*/, 0,
26383 : // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i32:{ *:[Other] }) - Complexity = 3
26384 : // Dst: (I64_EXTEND32_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
26385 : /* 50692*/ 0, /*End of Scope*/
26386 : /* 50693*/ 0, /*End of Scope*/
26387 : /* 50694*/ /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->50719
26388 : /* 50697*/ OPC_RecordNode, // #0 = 'WebAssemblycallseq_start' chained node
26389 : /* 50698*/ OPC_RecordChild1, // #1 = $amt
26390 : /* 50699*/ OPC_MoveChild1,
26391 : /* 50700*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26392 : /* 50703*/ OPC_MoveParent,
26393 : /* 50704*/ OPC_RecordChild2, // #2 = $amt2
26394 : /* 50705*/ OPC_MoveChild2,
26395 : /* 50706*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26396 : /* 50709*/ OPC_MoveParent,
26397 : /* 50710*/ OPC_EmitMergeInputChains1_0,
26398 : /* 50711*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
26399 : MVT::i32, 2/*#Ops*/, 1, 2,
26400 : // Src: (WebAssemblycallseq_start (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
26401 : // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
26402 : /* 50719*/ /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->50745
26403 : /* 50722*/ OPC_RecordNode, // #0 = 'WebAssemblycallseq_end' chained node
26404 : /* 50723*/ OPC_CaptureGlueInput,
26405 : /* 50724*/ OPC_RecordChild1, // #1 = $amt
26406 : /* 50725*/ OPC_MoveChild1,
26407 : /* 50726*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26408 : /* 50729*/ OPC_MoveParent,
26409 : /* 50730*/ OPC_RecordChild2, // #2 = $amt2
26410 : /* 50731*/ OPC_MoveChild2,
26411 : /* 50732*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26412 : /* 50735*/ OPC_MoveParent,
26413 : /* 50736*/ OPC_EmitMergeInputChains1_0,
26414 : /* 50737*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
26415 : MVT::i32, 2/*#Ops*/, 1, 2,
26416 : // Src: (WebAssemblycallseq_end (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
26417 : // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
26418 : /* 50745*/ /*SwitchOpcode*/ 41|128,5/*681*/, TARGET_VAL(WebAssemblyISD::CALL1),// ->51430
26419 : /* 50749*/ OPC_RecordNode, // #0 = 'WebAssemblycall1' chained node
26420 : /* 50750*/ OPC_Scope, 82, /*->50834*/ // 8 children in Scope
26421 : /* 50752*/ OPC_MoveChild1,
26422 : /* 50753*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26423 : /* 50756*/ OPC_RecordChild0, // #1 = $callee
26424 : /* 50757*/ OPC_MoveChild0,
26425 : /* 50758*/ OPC_SwitchOpcode /*2 cases */, 34, TARGET_VAL(ISD::TargetGlobalAddress),// ->50796
26426 : /* 50762*/ OPC_MoveParent,
26427 : /* 50763*/ OPC_MoveParent,
26428 : /* 50764*/ OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50775
26429 : /* 50767*/ OPC_EmitMergeInputChains1_0,
26430 : /* 50768*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
26431 : MVT::i32, 1/*#Ops*/, 1,
26432 : // Src: (WebAssemblycall1:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26433 : // Dst: (CALL_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$callee)
26434 : /* 50775*/ /*SwitchType*/ 8, MVT::i64,// ->50785
26435 : /* 50777*/ OPC_EmitMergeInputChains1_0,
26436 : /* 50778*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
26437 : MVT::i64, 1/*#Ops*/, 1,
26438 : // Src: (WebAssemblycall1:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26439 : // Dst: (CALL_I64:{ *:[i64] } (tglobaladdr:{ *:[i32] }):$callee)
26440 : /* 50785*/ /*SwitchType*/ 8, MVT::ExceptRef,// ->50795
26441 : /* 50787*/ OPC_EmitMergeInputChains1_0,
26442 : /* 50788*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
26443 : MVT::ExceptRef, 1/*#Ops*/, 1,
26444 : // Src: (WebAssemblycall1:{ *:[ExceptRef] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26445 : // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (tglobaladdr:{ *:[i32] }):$callee)
26446 : /* 50795*/ 0, // EndSwitchType
26447 : /* 50796*/ /*SwitchOpcode*/ 34, TARGET_VAL(ISD::TargetExternalSymbol),// ->50833
26448 : /* 50799*/ OPC_MoveParent,
26449 : /* 50800*/ OPC_MoveParent,
26450 : /* 50801*/ OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50812
26451 : /* 50804*/ OPC_EmitMergeInputChains1_0,
26452 : /* 50805*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
26453 : MVT::i32, 1/*#Ops*/, 1,
26454 : // Src: (WebAssemblycall1:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26455 : // Dst: (CALL_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$callee)
26456 : /* 50812*/ /*SwitchType*/ 8, MVT::i64,// ->50822
26457 : /* 50814*/ OPC_EmitMergeInputChains1_0,
26458 : /* 50815*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
26459 : MVT::i64, 1/*#Ops*/, 1,
26460 : // Src: (WebAssemblycall1:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26461 : // Dst: (CALL_I64:{ *:[i64] } (texternalsym:{ *:[i32] }):$callee)
26462 : /* 50822*/ /*SwitchType*/ 8, MVT::ExceptRef,// ->50832
26463 : /* 50824*/ OPC_EmitMergeInputChains1_0,
26464 : /* 50825*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
26465 : MVT::ExceptRef, 1/*#Ops*/, 1,
26466 : // Src: (WebAssemblycall1:{ *:[ExceptRef] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26467 : // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (texternalsym:{ *:[i32] }):$callee)
26468 : /* 50832*/ 0, // EndSwitchType
26469 : /* 50833*/ 0, // EndSwitchOpcode
26470 : /* 50834*/ /*Scope*/ 84, /*->50919*/
26471 : /* 50835*/ OPC_RecordChild1, // #1 = $callee
26472 : /* 50836*/ OPC_Scope, 45, /*->50883*/ // 2 children in Scope
26473 : /* 50838*/ OPC_MoveChild1,
26474 : /* 50839*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26475 : /* 50842*/ OPC_CheckType, MVT::i32,
26476 : /* 50844*/ OPC_MoveParent,
26477 : /* 50845*/ OPC_SwitchType /*3 cases */, 10, MVT::i32,// ->50858
26478 : /* 50848*/ OPC_EmitMergeInputChains1_0,
26479 : /* 50849*/ OPC_EmitConvertToTarget, 1,
26480 : /* 50851*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
26481 : MVT::i32, 1/*#Ops*/, 2,
26482 : // Src: (WebAssemblycall1:{ *:[i32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26483 : // Dst: (CALL_I32:{ *:[i32] } (imm:{ *:[i32] }):$callee)
26484 : /* 50858*/ /*SwitchType*/ 10, MVT::i64,// ->50870
26485 : /* 50860*/ OPC_EmitMergeInputChains1_0,
26486 : /* 50861*/ OPC_EmitConvertToTarget, 1,
26487 : /* 50863*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
26488 : MVT::i64, 1/*#Ops*/, 2,
26489 : // Src: (WebAssemblycall1:{ *:[i64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26490 : // Dst: (CALL_I64:{ *:[i64] } (imm:{ *:[i32] }):$callee)
26491 : /* 50870*/ /*SwitchType*/ 10, MVT::ExceptRef,// ->50882
26492 : /* 50872*/ OPC_EmitMergeInputChains1_0,
26493 : /* 50873*/ OPC_EmitConvertToTarget, 1,
26494 : /* 50875*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
26495 : MVT::ExceptRef, 1/*#Ops*/, 2,
26496 : // Src: (WebAssemblycall1:{ *:[ExceptRef] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26497 : // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (imm:{ *:[i32] }):$callee)
26498 : /* 50882*/ 0, // EndSwitchType
26499 : /* 50883*/ /*Scope*/ 34, /*->50918*/
26500 : /* 50884*/ OPC_CheckChild1Type, MVT::i32,
26501 : /* 50886*/ OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50897
26502 : /* 50889*/ OPC_EmitMergeInputChains1_0,
26503 : /* 50890*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_I32), 0|OPFL_Chain|OPFL_Variadic1,
26504 : MVT::i32, 1/*#Ops*/, 1,
26505 : // Src: (WebAssemblycall1:{ *:[i32] } I32:{ *:[i32] }:$callee) - Complexity = 3
26506 : // Dst: (PCALL_INDIRECT_I32:{ *:[i32] } I32:{ *:[i32] }:$callee)
26507 : /* 50897*/ /*SwitchType*/ 8, MVT::i64,// ->50907
26508 : /* 50899*/ OPC_EmitMergeInputChains1_0,
26509 : /* 50900*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_I64), 0|OPFL_Chain|OPFL_Variadic1,
26510 : MVT::i64, 1/*#Ops*/, 1,
26511 : // Src: (WebAssemblycall1:{ *:[i64] } I32:{ *:[i32] }:$callee) - Complexity = 3
26512 : // Dst: (PCALL_INDIRECT_I64:{ *:[i64] } I32:{ *:[i32] }:$callee)
26513 : /* 50907*/ /*SwitchType*/ 8, MVT::ExceptRef,// ->50917
26514 : /* 50909*/ OPC_EmitMergeInputChains1_0,
26515 : /* 50910*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
26516 : MVT::ExceptRef, 1/*#Ops*/, 1,
26517 : // Src: (WebAssemblycall1:{ *:[ExceptRef] } I32:{ *:[i32] }:$callee) - Complexity = 3
26518 : // Dst: (PCALL_INDIRECT_EXCEPT_REF:{ *:[ExceptRef] } I32:{ *:[i32] }:$callee)
26519 : /* 50917*/ 0, // EndSwitchType
26520 : /* 50918*/ 0, /*End of Scope*/
26521 : /* 50919*/ /*Scope*/ 62, /*->50982*/
26522 : /* 50920*/ OPC_MoveChild1,
26523 : /* 50921*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26524 : /* 50924*/ OPC_RecordChild0, // #1 = $callee
26525 : /* 50925*/ OPC_MoveChild0,
26526 : /* 50926*/ OPC_SwitchOpcode /*2 cases */, 24, TARGET_VAL(ISD::TargetGlobalAddress),// ->50954
26527 : /* 50930*/ OPC_MoveParent,
26528 : /* 50931*/ OPC_MoveParent,
26529 : /* 50932*/ OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->50943
26530 : /* 50935*/ OPC_EmitMergeInputChains1_0,
26531 : /* 50936*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
26532 : MVT::f32, 1/*#Ops*/, 1,
26533 : // Src: (WebAssemblycall1:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26534 : // Dst: (CALL_F32:{ *:[f32] } (tglobaladdr:{ *:[i32] }):$callee)
26535 : /* 50943*/ /*SwitchType*/ 8, MVT::f64,// ->50953
26536 : /* 50945*/ OPC_EmitMergeInputChains1_0,
26537 : /* 50946*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
26538 : MVT::f64, 1/*#Ops*/, 1,
26539 : // Src: (WebAssemblycall1:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26540 : // Dst: (CALL_F64:{ *:[f64] } (tglobaladdr:{ *:[i32] }):$callee)
26541 : /* 50953*/ 0, // EndSwitchType
26542 : /* 50954*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::TargetExternalSymbol),// ->50981
26543 : /* 50957*/ OPC_MoveParent,
26544 : /* 50958*/ OPC_MoveParent,
26545 : /* 50959*/ OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->50970
26546 : /* 50962*/ OPC_EmitMergeInputChains1_0,
26547 : /* 50963*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
26548 : MVT::f32, 1/*#Ops*/, 1,
26549 : // Src: (WebAssemblycall1:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26550 : // Dst: (CALL_F32:{ *:[f32] } (texternalsym:{ *:[i32] }):$callee)
26551 : /* 50970*/ /*SwitchType*/ 8, MVT::f64,// ->50980
26552 : /* 50972*/ OPC_EmitMergeInputChains1_0,
26553 : /* 50973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
26554 : MVT::f64, 1/*#Ops*/, 1,
26555 : // Src: (WebAssemblycall1:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26556 : // Dst: (CALL_F64:{ *:[f64] } (texternalsym:{ *:[i32] }):$callee)
26557 : /* 50980*/ 0, // EndSwitchType
26558 : /* 50981*/ 0, // EndSwitchOpcode
26559 : /* 50982*/ /*Scope*/ 62, /*->51045*/
26560 : /* 50983*/ OPC_RecordChild1, // #1 = $callee
26561 : /* 50984*/ OPC_Scope, 33, /*->51019*/ // 2 children in Scope
26562 : /* 50986*/ OPC_MoveChild1,
26563 : /* 50987*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26564 : /* 50990*/ OPC_CheckType, MVT::i32,
26565 : /* 50992*/ OPC_MoveParent,
26566 : /* 50993*/ OPC_SwitchType /*2 cases */, 10, MVT::f32,// ->51006
26567 : /* 50996*/ OPC_EmitMergeInputChains1_0,
26568 : /* 50997*/ OPC_EmitConvertToTarget, 1,
26569 : /* 50999*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
26570 : MVT::f32, 1/*#Ops*/, 2,
26571 : // Src: (WebAssemblycall1:{ *:[f32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26572 : // Dst: (CALL_F32:{ *:[f32] } (imm:{ *:[i32] }):$callee)
26573 : /* 51006*/ /*SwitchType*/ 10, MVT::f64,// ->51018
26574 : /* 51008*/ OPC_EmitMergeInputChains1_0,
26575 : /* 51009*/ OPC_EmitConvertToTarget, 1,
26576 : /* 51011*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
26577 : MVT::f64, 1/*#Ops*/, 2,
26578 : // Src: (WebAssemblycall1:{ *:[f64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26579 : // Dst: (CALL_F64:{ *:[f64] } (imm:{ *:[i32] }):$callee)
26580 : /* 51018*/ 0, // EndSwitchType
26581 : /* 51019*/ /*Scope*/ 24, /*->51044*/
26582 : /* 51020*/ OPC_CheckChild1Type, MVT::i32,
26583 : /* 51022*/ OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->51033
26584 : /* 51025*/ OPC_EmitMergeInputChains1_0,
26585 : /* 51026*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_F32), 0|OPFL_Chain|OPFL_Variadic1,
26586 : MVT::f32, 1/*#Ops*/, 1,
26587 : // Src: (WebAssemblycall1:{ *:[f32] } I32:{ *:[i32] }:$callee) - Complexity = 3
26588 : // Dst: (PCALL_INDIRECT_F32:{ *:[f32] } I32:{ *:[i32] }:$callee)
26589 : /* 51033*/ /*SwitchType*/ 8, MVT::f64,// ->51043
26590 : /* 51035*/ OPC_EmitMergeInputChains1_0,
26591 : /* 51036*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_F64), 0|OPFL_Chain|OPFL_Variadic1,
26592 : MVT::f64, 1/*#Ops*/, 1,
26593 : // Src: (WebAssemblycall1:{ *:[f64] } I32:{ *:[i32] }:$callee) - Complexity = 3
26594 : // Dst: (PCALL_INDIRECT_F64:{ *:[f64] } I32:{ *:[i32] }:$callee)
26595 : /* 51043*/ 0, // EndSwitchType
26596 : /* 51044*/ 0, /*End of Scope*/
26597 : /* 51045*/ /*Scope*/ 118, /*->51164*/
26598 : /* 51046*/ OPC_MoveChild1,
26599 : /* 51047*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26600 : /* 51050*/ OPC_RecordChild0, // #1 = $callee
26601 : /* 51051*/ OPC_MoveChild0,
26602 : /* 51052*/ OPC_SwitchOpcode /*2 cases */, 52, TARGET_VAL(ISD::TargetGlobalAddress),// ->51108
26603 : /* 51056*/ OPC_MoveParent,
26604 : /* 51057*/ OPC_MoveParent,
26605 : /* 51058*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51071
26606 : /* 51061*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26607 : /* 51063*/ OPC_EmitMergeInputChains1_0,
26608 : /* 51064*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
26609 : MVT::v16i8, 1/*#Ops*/, 1,
26610 : // Src: (WebAssemblycall1:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26611 : // Dst: (CALL_v16i8:{ *:[v16i8] } (tglobaladdr:{ *:[i32] }):$callee)
26612 : /* 51071*/ /*SwitchType*/ 10, MVT::v8i16,// ->51083
26613 : /* 51073*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26614 : /* 51075*/ OPC_EmitMergeInputChains1_0,
26615 : /* 51076*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
26616 : MVT::v8i16, 1/*#Ops*/, 1,
26617 : // Src: (WebAssemblycall1:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26618 : // Dst: (CALL_v8i16:{ *:[v8i16] } (tglobaladdr:{ *:[i32] }):$callee)
26619 : /* 51083*/ /*SwitchType*/ 10, MVT::v4i32,// ->51095
26620 : /* 51085*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26621 : /* 51087*/ OPC_EmitMergeInputChains1_0,
26622 : /* 51088*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
26623 : MVT::v4i32, 1/*#Ops*/, 1,
26624 : // Src: (WebAssemblycall1:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26625 : // Dst: (CALL_v4i32:{ *:[v4i32] } (tglobaladdr:{ *:[i32] }):$callee)
26626 : /* 51095*/ /*SwitchType*/ 10, MVT::v2i64,// ->51107
26627 : /* 51097*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26628 : /* 51099*/ OPC_EmitMergeInputChains1_0,
26629 : /* 51100*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
26630 : MVT::v2i64, 1/*#Ops*/, 1,
26631 : // Src: (WebAssemblycall1:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26632 : // Dst: (CALL_v2i64:{ *:[v2i64] } (tglobaladdr:{ *:[i32] }):$callee)
26633 : /* 51107*/ 0, // EndSwitchType
26634 : /* 51108*/ /*SwitchOpcode*/ 52, TARGET_VAL(ISD::TargetExternalSymbol),// ->51163
26635 : /* 51111*/ OPC_MoveParent,
26636 : /* 51112*/ OPC_MoveParent,
26637 : /* 51113*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51126
26638 : /* 51116*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26639 : /* 51118*/ OPC_EmitMergeInputChains1_0,
26640 : /* 51119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
26641 : MVT::v16i8, 1/*#Ops*/, 1,
26642 : // Src: (WebAssemblycall1:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26643 : // Dst: (CALL_v16i8:{ *:[v16i8] } (texternalsym:{ *:[i32] }):$callee)
26644 : /* 51126*/ /*SwitchType*/ 10, MVT::v8i16,// ->51138
26645 : /* 51128*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26646 : /* 51130*/ OPC_EmitMergeInputChains1_0,
26647 : /* 51131*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
26648 : MVT::v8i16, 1/*#Ops*/, 1,
26649 : // Src: (WebAssemblycall1:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26650 : // Dst: (CALL_v8i16:{ *:[v8i16] } (texternalsym:{ *:[i32] }):$callee)
26651 : /* 51138*/ /*SwitchType*/ 10, MVT::v4i32,// ->51150
26652 : /* 51140*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26653 : /* 51142*/ OPC_EmitMergeInputChains1_0,
26654 : /* 51143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
26655 : MVT::v4i32, 1/*#Ops*/, 1,
26656 : // Src: (WebAssemblycall1:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26657 : // Dst: (CALL_v4i32:{ *:[v4i32] } (texternalsym:{ *:[i32] }):$callee)
26658 : /* 51150*/ /*SwitchType*/ 10, MVT::v2i64,// ->51162
26659 : /* 51152*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26660 : /* 51154*/ OPC_EmitMergeInputChains1_0,
26661 : /* 51155*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
26662 : MVT::v2i64, 1/*#Ops*/, 1,
26663 : // Src: (WebAssemblycall1:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26664 : // Dst: (CALL_v2i64:{ *:[v2i64] } (texternalsym:{ *:[i32] }):$callee)
26665 : /* 51162*/ 0, // EndSwitchType
26666 : /* 51163*/ 0, // EndSwitchOpcode
26667 : /* 51164*/ /*Scope*/ 122, /*->51287*/
26668 : /* 51165*/ OPC_RecordChild1, // #1 = $callee
26669 : /* 51166*/ OPC_Scope, 65, /*->51233*/ // 2 children in Scope
26670 : /* 51168*/ OPC_MoveChild1,
26671 : /* 51169*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26672 : /* 51172*/ OPC_CheckType, MVT::i32,
26673 : /* 51174*/ OPC_MoveParent,
26674 : /* 51175*/ OPC_SwitchType /*4 cases */, 12, MVT::v16i8,// ->51190
26675 : /* 51178*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26676 : /* 51180*/ OPC_EmitMergeInputChains1_0,
26677 : /* 51181*/ OPC_EmitConvertToTarget, 1,
26678 : /* 51183*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
26679 : MVT::v16i8, 1/*#Ops*/, 2,
26680 : // Src: (WebAssemblycall1:{ *:[v16i8] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26681 : // Dst: (CALL_v16i8:{ *:[v16i8] } (imm:{ *:[i32] }):$callee)
26682 : /* 51190*/ /*SwitchType*/ 12, MVT::v8i16,// ->51204
26683 : /* 51192*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26684 : /* 51194*/ OPC_EmitMergeInputChains1_0,
26685 : /* 51195*/ OPC_EmitConvertToTarget, 1,
26686 : /* 51197*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
26687 : MVT::v8i16, 1/*#Ops*/, 2,
26688 : // Src: (WebAssemblycall1:{ *:[v8i16] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26689 : // Dst: (CALL_v8i16:{ *:[v8i16] } (imm:{ *:[i32] }):$callee)
26690 : /* 51204*/ /*SwitchType*/ 12, MVT::v4i32,// ->51218
26691 : /* 51206*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26692 : /* 51208*/ OPC_EmitMergeInputChains1_0,
26693 : /* 51209*/ OPC_EmitConvertToTarget, 1,
26694 : /* 51211*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
26695 : MVT::v4i32, 1/*#Ops*/, 2,
26696 : // Src: (WebAssemblycall1:{ *:[v4i32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26697 : // Dst: (CALL_v4i32:{ *:[v4i32] } (imm:{ *:[i32] }):$callee)
26698 : /* 51218*/ /*SwitchType*/ 12, MVT::v2i64,// ->51232
26699 : /* 51220*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26700 : /* 51222*/ OPC_EmitMergeInputChains1_0,
26701 : /* 51223*/ OPC_EmitConvertToTarget, 1,
26702 : /* 51225*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
26703 : MVT::v2i64, 1/*#Ops*/, 2,
26704 : // Src: (WebAssemblycall1:{ *:[v2i64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26705 : // Dst: (CALL_v2i64:{ *:[v2i64] } (imm:{ *:[i32] }):$callee)
26706 : /* 51232*/ 0, // EndSwitchType
26707 : /* 51233*/ /*Scope*/ 52, /*->51286*/
26708 : /* 51234*/ OPC_CheckChild1Type, MVT::i32,
26709 : /* 51236*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51249
26710 : /* 51239*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26711 : /* 51241*/ OPC_EmitMergeInputChains1_0,
26712 : /* 51242*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
26713 : MVT::v16i8, 1/*#Ops*/, 1,
26714 : // Src: (WebAssemblycall1:{ *:[v16i8] } I32:{ *:[i32] }:$callee) - Complexity = 3
26715 : // Dst: (PCALL_INDIRECT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$callee)
26716 : /* 51249*/ /*SwitchType*/ 10, MVT::v8i16,// ->51261
26717 : /* 51251*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26718 : /* 51253*/ OPC_EmitMergeInputChains1_0,
26719 : /* 51254*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
26720 : MVT::v8i16, 1/*#Ops*/, 1,
26721 : // Src: (WebAssemblycall1:{ *:[v8i16] } I32:{ *:[i32] }:$callee) - Complexity = 3
26722 : // Dst: (PCALL_INDIRECT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$callee)
26723 : /* 51261*/ /*SwitchType*/ 10, MVT::v4i32,// ->51273
26724 : /* 51263*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26725 : /* 51265*/ OPC_EmitMergeInputChains1_0,
26726 : /* 51266*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
26727 : MVT::v4i32, 1/*#Ops*/, 1,
26728 : // Src: (WebAssemblycall1:{ *:[v4i32] } I32:{ *:[i32] }:$callee) - Complexity = 3
26729 : // Dst: (PCALL_INDIRECT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$callee)
26730 : /* 51273*/ /*SwitchType*/ 10, MVT::v2i64,// ->51285
26731 : /* 51275*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26732 : /* 51277*/ OPC_EmitMergeInputChains1_0,
26733 : /* 51278*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
26734 : MVT::v2i64, 1/*#Ops*/, 1,
26735 : // Src: (WebAssemblycall1:{ *:[v2i64] } I32:{ *:[i32] }:$callee) - Complexity = 3
26736 : // Dst: (PCALL_INDIRECT_v2i64:{ *:[v2i64] } I32:{ *:[i32] }:$callee)
26737 : /* 51285*/ 0, // EndSwitchType
26738 : /* 51286*/ 0, /*End of Scope*/
26739 : /* 51287*/ /*Scope*/ 70, /*->51358*/
26740 : /* 51288*/ OPC_MoveChild1,
26741 : /* 51289*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26742 : /* 51292*/ OPC_RecordChild0, // #1 = $callee
26743 : /* 51293*/ OPC_MoveChild0,
26744 : /* 51294*/ OPC_SwitchOpcode /*2 cases */, 28, TARGET_VAL(ISD::TargetGlobalAddress),// ->51326
26745 : /* 51298*/ OPC_MoveParent,
26746 : /* 51299*/ OPC_MoveParent,
26747 : /* 51300*/ OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51313
26748 : /* 51303*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26749 : /* 51305*/ OPC_EmitMergeInputChains1_0,
26750 : /* 51306*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
26751 : MVT::v4f32, 1/*#Ops*/, 1,
26752 : // Src: (WebAssemblycall1:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26753 : // Dst: (CALL_v4f32:{ *:[v4f32] } (tglobaladdr:{ *:[i32] }):$callee)
26754 : /* 51313*/ /*SwitchType*/ 10, MVT::v2f64,// ->51325
26755 : /* 51315*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26756 : /* 51317*/ OPC_EmitMergeInputChains1_0,
26757 : /* 51318*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
26758 : MVT::v2f64, 1/*#Ops*/, 1,
26759 : // Src: (WebAssemblycall1:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26760 : // Dst: (CALL_v2f64:{ *:[v2f64] } (tglobaladdr:{ *:[i32] }):$callee)
26761 : /* 51325*/ 0, // EndSwitchType
26762 : /* 51326*/ /*SwitchOpcode*/ 28, TARGET_VAL(ISD::TargetExternalSymbol),// ->51357
26763 : /* 51329*/ OPC_MoveParent,
26764 : /* 51330*/ OPC_MoveParent,
26765 : /* 51331*/ OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51344
26766 : /* 51334*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26767 : /* 51336*/ OPC_EmitMergeInputChains1_0,
26768 : /* 51337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
26769 : MVT::v4f32, 1/*#Ops*/, 1,
26770 : // Src: (WebAssemblycall1:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26771 : // Dst: (CALL_v4f32:{ *:[v4f32] } (texternalsym:{ *:[i32] }):$callee)
26772 : /* 51344*/ /*SwitchType*/ 10, MVT::v2f64,// ->51356
26773 : /* 51346*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26774 : /* 51348*/ OPC_EmitMergeInputChains1_0,
26775 : /* 51349*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
26776 : MVT::v2f64, 1/*#Ops*/, 1,
26777 : // Src: (WebAssemblycall1:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26778 : // Dst: (CALL_v2f64:{ *:[v2f64] } (texternalsym:{ *:[i32] }):$callee)
26779 : /* 51356*/ 0, // EndSwitchType
26780 : /* 51357*/ 0, // EndSwitchOpcode
26781 : /* 51358*/ /*Scope*/ 70, /*->51429*/
26782 : /* 51359*/ OPC_RecordChild1, // #1 = $callee
26783 : /* 51360*/ OPC_Scope, 37, /*->51399*/ // 2 children in Scope
26784 : /* 51362*/ OPC_MoveChild1,
26785 : /* 51363*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26786 : /* 51366*/ OPC_CheckType, MVT::i32,
26787 : /* 51368*/ OPC_MoveParent,
26788 : /* 51369*/ OPC_SwitchType /*2 cases */, 12, MVT::v4f32,// ->51384
26789 : /* 51372*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26790 : /* 51374*/ OPC_EmitMergeInputChains1_0,
26791 : /* 51375*/ OPC_EmitConvertToTarget, 1,
26792 : /* 51377*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
26793 : MVT::v4f32, 1/*#Ops*/, 2,
26794 : // Src: (WebAssemblycall1:{ *:[v4f32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26795 : // Dst: (CALL_v4f32:{ *:[v4f32] } (imm:{ *:[i32] }):$callee)
26796 : /* 51384*/ /*SwitchType*/ 12, MVT::v2f64,// ->51398
26797 : /* 51386*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26798 : /* 51388*/ OPC_EmitMergeInputChains1_0,
26799 : /* 51389*/ OPC_EmitConvertToTarget, 1,
26800 : /* 51391*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
26801 : MVT::v2f64, 1/*#Ops*/, 2,
26802 : // Src: (WebAssemblycall1:{ *:[v2f64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
26803 : // Dst: (CALL_v2f64:{ *:[v2f64] } (imm:{ *:[i32] }):$callee)
26804 : /* 51398*/ 0, // EndSwitchType
26805 : /* 51399*/ /*Scope*/ 28, /*->51428*/
26806 : /* 51400*/ OPC_CheckChild1Type, MVT::i32,
26807 : /* 51402*/ OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51415
26808 : /* 51405*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26809 : /* 51407*/ OPC_EmitMergeInputChains1_0,
26810 : /* 51408*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
26811 : MVT::v4f32, 1/*#Ops*/, 1,
26812 : // Src: (WebAssemblycall1:{ *:[v4f32] } I32:{ *:[i32] }:$callee) - Complexity = 3
26813 : // Dst: (PCALL_INDIRECT_v4f32:{ *:[v4f32] } I32:{ *:[i32] }:$callee)
26814 : /* 51415*/ /*SwitchType*/ 10, MVT::v2f64,// ->51427
26815 : /* 51417*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
26816 : /* 51419*/ OPC_EmitMergeInputChains1_0,
26817 : /* 51420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
26818 : MVT::v2f64, 1/*#Ops*/, 1,
26819 : // Src: (WebAssemblycall1:{ *:[v2f64] } I32:{ *:[i32] }:$callee) - Complexity = 3
26820 : // Dst: (PCALL_INDIRECT_v2f64:{ *:[v2f64] } I32:{ *:[i32] }:$callee)
26821 : /* 51427*/ 0, // EndSwitchType
26822 : /* 51428*/ 0, /*End of Scope*/
26823 : /* 51429*/ 0, /*End of Scope*/
26824 : /* 51430*/ /*SwitchOpcode*/ 67, TARGET_VAL(WebAssemblyISD::CALL0),// ->51500
26825 : /* 51433*/ OPC_RecordNode, // #0 = 'WebAssemblycall0' chained node
26826 : /* 51434*/ OPC_Scope, 32, /*->51468*/ // 2 children in Scope
26827 : /* 51436*/ OPC_MoveChild1,
26828 : /* 51437*/ OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
26829 : /* 51440*/ OPC_RecordChild0, // #1 = $callee
26830 : /* 51441*/ OPC_MoveChild0,
26831 : /* 51442*/ OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->51455
26832 : /* 51446*/ OPC_MoveParent,
26833 : /* 51447*/ OPC_MoveParent,
26834 : /* 51448*/ OPC_EmitMergeInputChains1_0,
26835 : /* 51449*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
26836 : 1/*#Ops*/, 1,
26837 : // Src: (WebAssemblycall0 (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
26838 : // Dst: (CALL_VOID (tglobaladdr:{ *:[i32] }):$callee)
26839 : /* 51455*/ /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->51467
26840 : /* 51458*/ OPC_MoveParent,
26841 : /* 51459*/ OPC_MoveParent,
26842 : /* 51460*/ OPC_EmitMergeInputChains1_0,
26843 : /* 51461*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
26844 : 1/*#Ops*/, 1,
26845 : // Src: (WebAssemblycall0 (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
26846 : // Dst: (CALL_VOID (texternalsym:{ *:[i32] }):$callee)
26847 : /* 51467*/ 0, // EndSwitchOpcode
26848 : /* 51468*/ /*Scope*/ 30, /*->51499*/
26849 : /* 51469*/ OPC_RecordChild1, // #1 = $callee
26850 : /* 51470*/ OPC_Scope, 16, /*->51488*/ // 2 children in Scope
26851 : /* 51472*/ OPC_MoveChild1,
26852 : /* 51473*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26853 : /* 51476*/ OPC_CheckType, MVT::i32,
26854 : /* 51478*/ OPC_MoveParent,
26855 : /* 51479*/ OPC_EmitMergeInputChains1_0,
26856 : /* 51480*/ OPC_EmitConvertToTarget, 1,
26857 : /* 51482*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
26858 : 1/*#Ops*/, 2,
26859 : // Src: (WebAssemblycall0 (imm:{ *:[i32] }):$callee) - Complexity = 6
26860 : // Dst: (CALL_VOID (imm:{ *:[i32] }):$callee)
26861 : /* 51488*/ /*Scope*/ 9, /*->51498*/
26862 : /* 51489*/ OPC_CheckChild1Type, MVT::i32,
26863 : /* 51491*/ OPC_EmitMergeInputChains1_0,
26864 : /* 51492*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PCALL_INDIRECT_VOID), 0|OPFL_Chain|OPFL_Variadic1,
26865 : 1/*#Ops*/, 1,
26866 : // Src: (WebAssemblycall0 I32:{ *:[i32] }:$callee) - Complexity = 3
26867 : // Dst: (PCALL_INDIRECT_VOID I32:{ *:[i32] }:$callee)
26868 : /* 51498*/ 0, /*End of Scope*/
26869 : /* 51499*/ 0, /*End of Scope*/
26870 : /* 51500*/ /*SwitchOpcode*/ 51|128,11/*1459*/, TARGET_VAL(ISD::SETCC),// ->52963
26871 : /* 51504*/ OPC_RecordChild0, // #0 = $src
26872 : /* 51505*/ OPC_Scope, 38|128,1/*166*/, /*->51674*/ // 9 children in Scope
26873 : /* 51508*/ OPC_CheckChild0Type, MVT::i32,
26874 : /* 51510*/ OPC_Scope, 15, /*->51527*/ // 2 children in Scope
26875 : /* 51512*/ OPC_CheckChild1Integer, 0,
26876 : /* 51514*/ OPC_MoveChild2,
26877 : /* 51515*/ OPC_CheckCondCode, ISD::SETEQ,
26878 : /* 51517*/ OPC_MoveParent,
26879 : /* 51518*/ OPC_CheckType, MVT::i32,
26880 : /* 51520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I32), 0,
26881 : MVT::i32, 1/*#Ops*/, 0,
26882 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$src, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 8
26883 : // Dst: (EQZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
26884 : /* 51527*/ /*Scope*/ 16|128,1/*144*/, /*->51673*/
26885 : /* 51529*/ OPC_RecordChild1, // #1 = $rhs
26886 : /* 51530*/ OPC_MoveChild2,
26887 : /* 51531*/ OPC_Scope, 13, /*->51546*/ // 10 children in Scope
26888 : /* 51533*/ OPC_CheckCondCode, ISD::SETEQ,
26889 : /* 51535*/ OPC_MoveParent,
26890 : /* 51536*/ OPC_CheckType, MVT::i32,
26891 : /* 51538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I32), 0,
26892 : MVT::i32, 2/*#Ops*/, 0, 1,
26893 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
26894 : // Dst: (EQ_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26895 : /* 51546*/ /*Scope*/ 13, /*->51560*/
26896 : /* 51547*/ OPC_CheckCondCode, ISD::SETNE,
26897 : /* 51549*/ OPC_MoveParent,
26898 : /* 51550*/ OPC_CheckType, MVT::i32,
26899 : /* 51552*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I32), 0,
26900 : MVT::i32, 2/*#Ops*/, 0, 1,
26901 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
26902 : // Dst: (NE_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26903 : /* 51560*/ /*Scope*/ 13, /*->51574*/
26904 : /* 51561*/ OPC_CheckCondCode, ISD::SETLT,
26905 : /* 51563*/ OPC_MoveParent,
26906 : /* 51564*/ OPC_CheckType, MVT::i32,
26907 : /* 51566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I32), 0,
26908 : MVT::i32, 2/*#Ops*/, 0, 1,
26909 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
26910 : // Dst: (LT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26911 : /* 51574*/ /*Scope*/ 13, /*->51588*/
26912 : /* 51575*/ OPC_CheckCondCode, ISD::SETULT,
26913 : /* 51577*/ OPC_MoveParent,
26914 : /* 51578*/ OPC_CheckType, MVT::i32,
26915 : /* 51580*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I32), 0,
26916 : MVT::i32, 2/*#Ops*/, 0, 1,
26917 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
26918 : // Dst: (LT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26919 : /* 51588*/ /*Scope*/ 13, /*->51602*/
26920 : /* 51589*/ OPC_CheckCondCode, ISD::SETGT,
26921 : /* 51591*/ OPC_MoveParent,
26922 : /* 51592*/ OPC_CheckType, MVT::i32,
26923 : /* 51594*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I32), 0,
26924 : MVT::i32, 2/*#Ops*/, 0, 1,
26925 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
26926 : // Dst: (GT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26927 : /* 51602*/ /*Scope*/ 13, /*->51616*/
26928 : /* 51603*/ OPC_CheckCondCode, ISD::SETUGT,
26929 : /* 51605*/ OPC_MoveParent,
26930 : /* 51606*/ OPC_CheckType, MVT::i32,
26931 : /* 51608*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I32), 0,
26932 : MVT::i32, 2/*#Ops*/, 0, 1,
26933 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
26934 : // Dst: (GT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26935 : /* 51616*/ /*Scope*/ 13, /*->51630*/
26936 : /* 51617*/ OPC_CheckCondCode, ISD::SETLE,
26937 : /* 51619*/ OPC_MoveParent,
26938 : /* 51620*/ OPC_CheckType, MVT::i32,
26939 : /* 51622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I32), 0,
26940 : MVT::i32, 2/*#Ops*/, 0, 1,
26941 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
26942 : // Dst: (LE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26943 : /* 51630*/ /*Scope*/ 13, /*->51644*/
26944 : /* 51631*/ OPC_CheckCondCode, ISD::SETULE,
26945 : /* 51633*/ OPC_MoveParent,
26946 : /* 51634*/ OPC_CheckType, MVT::i32,
26947 : /* 51636*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I32), 0,
26948 : MVT::i32, 2/*#Ops*/, 0, 1,
26949 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
26950 : // Dst: (LE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26951 : /* 51644*/ /*Scope*/ 13, /*->51658*/
26952 : /* 51645*/ OPC_CheckCondCode, ISD::SETGE,
26953 : /* 51647*/ OPC_MoveParent,
26954 : /* 51648*/ OPC_CheckType, MVT::i32,
26955 : /* 51650*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I32), 0,
26956 : MVT::i32, 2/*#Ops*/, 0, 1,
26957 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
26958 : // Dst: (GE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26959 : /* 51658*/ /*Scope*/ 13, /*->51672*/
26960 : /* 51659*/ OPC_CheckCondCode, ISD::SETUGE,
26961 : /* 51661*/ OPC_MoveParent,
26962 : /* 51662*/ OPC_CheckType, MVT::i32,
26963 : /* 51664*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I32), 0,
26964 : MVT::i32, 2/*#Ops*/, 0, 1,
26965 : // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
26966 : // Dst: (GE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
26967 : /* 51672*/ 0, /*End of Scope*/
26968 : /* 51673*/ 0, /*End of Scope*/
26969 : /* 51674*/ /*Scope*/ 38|128,1/*166*/, /*->51842*/
26970 : /* 51676*/ OPC_CheckChild0Type, MVT::i64,
26971 : /* 51678*/ OPC_Scope, 15, /*->51695*/ // 2 children in Scope
26972 : /* 51680*/ OPC_CheckChild1Integer, 0,
26973 : /* 51682*/ OPC_MoveChild2,
26974 : /* 51683*/ OPC_CheckCondCode, ISD::SETEQ,
26975 : /* 51685*/ OPC_MoveParent,
26976 : /* 51686*/ OPC_CheckType, MVT::i32,
26977 : /* 51688*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I64), 0,
26978 : MVT::i32, 1/*#Ops*/, 0,
26979 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$src, 0:{ *:[i64] }, SETEQ:{ *:[Other] }) - Complexity = 8
26980 : // Dst: (EQZ_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
26981 : /* 51695*/ /*Scope*/ 16|128,1/*144*/, /*->51841*/
26982 : /* 51697*/ OPC_RecordChild1, // #1 = $rhs
26983 : /* 51698*/ OPC_MoveChild2,
26984 : /* 51699*/ OPC_Scope, 13, /*->51714*/ // 10 children in Scope
26985 : /* 51701*/ OPC_CheckCondCode, ISD::SETEQ,
26986 : /* 51703*/ OPC_MoveParent,
26987 : /* 51704*/ OPC_CheckType, MVT::i32,
26988 : /* 51706*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I64), 0,
26989 : MVT::i32, 2/*#Ops*/, 0, 1,
26990 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
26991 : // Dst: (EQ_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
26992 : /* 51714*/ /*Scope*/ 13, /*->51728*/
26993 : /* 51715*/ OPC_CheckCondCode, ISD::SETNE,
26994 : /* 51717*/ OPC_MoveParent,
26995 : /* 51718*/ OPC_CheckType, MVT::i32,
26996 : /* 51720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I64), 0,
26997 : MVT::i32, 2/*#Ops*/, 0, 1,
26998 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
26999 : // Dst: (NE_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27000 : /* 51728*/ /*Scope*/ 13, /*->51742*/
27001 : /* 51729*/ OPC_CheckCondCode, ISD::SETLT,
27002 : /* 51731*/ OPC_MoveParent,
27003 : /* 51732*/ OPC_CheckType, MVT::i32,
27004 : /* 51734*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I64), 0,
27005 : MVT::i32, 2/*#Ops*/, 0, 1,
27006 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27007 : // Dst: (LT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27008 : /* 51742*/ /*Scope*/ 13, /*->51756*/
27009 : /* 51743*/ OPC_CheckCondCode, ISD::SETULT,
27010 : /* 51745*/ OPC_MoveParent,
27011 : /* 51746*/ OPC_CheckType, MVT::i32,
27012 : /* 51748*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I64), 0,
27013 : MVT::i32, 2/*#Ops*/, 0, 1,
27014 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
27015 : // Dst: (LT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27016 : /* 51756*/ /*Scope*/ 13, /*->51770*/
27017 : /* 51757*/ OPC_CheckCondCode, ISD::SETGT,
27018 : /* 51759*/ OPC_MoveParent,
27019 : /* 51760*/ OPC_CheckType, MVT::i32,
27020 : /* 51762*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I64), 0,
27021 : MVT::i32, 2/*#Ops*/, 0, 1,
27022 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27023 : // Dst: (GT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27024 : /* 51770*/ /*Scope*/ 13, /*->51784*/
27025 : /* 51771*/ OPC_CheckCondCode, ISD::SETUGT,
27026 : /* 51773*/ OPC_MoveParent,
27027 : /* 51774*/ OPC_CheckType, MVT::i32,
27028 : /* 51776*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I64), 0,
27029 : MVT::i32, 2/*#Ops*/, 0, 1,
27030 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
27031 : // Dst: (GT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27032 : /* 51784*/ /*Scope*/ 13, /*->51798*/
27033 : /* 51785*/ OPC_CheckCondCode, ISD::SETLE,
27034 : /* 51787*/ OPC_MoveParent,
27035 : /* 51788*/ OPC_CheckType, MVT::i32,
27036 : /* 51790*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I64), 0,
27037 : MVT::i32, 2/*#Ops*/, 0, 1,
27038 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27039 : // Dst: (LE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27040 : /* 51798*/ /*Scope*/ 13, /*->51812*/
27041 : /* 51799*/ OPC_CheckCondCode, ISD::SETULE,
27042 : /* 51801*/ OPC_MoveParent,
27043 : /* 51802*/ OPC_CheckType, MVT::i32,
27044 : /* 51804*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I64), 0,
27045 : MVT::i32, 2/*#Ops*/, 0, 1,
27046 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
27047 : // Dst: (LE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27048 : /* 51812*/ /*Scope*/ 13, /*->51826*/
27049 : /* 51813*/ OPC_CheckCondCode, ISD::SETGE,
27050 : /* 51815*/ OPC_MoveParent,
27051 : /* 51816*/ OPC_CheckType, MVT::i32,
27052 : /* 51818*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I64), 0,
27053 : MVT::i32, 2/*#Ops*/, 0, 1,
27054 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27055 : // Dst: (GE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27056 : /* 51826*/ /*Scope*/ 13, /*->51840*/
27057 : /* 51827*/ OPC_CheckCondCode, ISD::SETUGE,
27058 : /* 51829*/ OPC_MoveParent,
27059 : /* 51830*/ OPC_CheckType, MVT::i32,
27060 : /* 51832*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I64), 0,
27061 : MVT::i32, 2/*#Ops*/, 0, 1,
27062 : // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
27063 : // Dst: (GE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
27064 : /* 51840*/ 0, /*End of Scope*/
27065 : /* 51841*/ 0, /*End of Scope*/
27066 : /* 51842*/ /*Scope*/ 46|128,1/*174*/, /*->52018*/
27067 : /* 51844*/ OPC_CheckChild0Type, MVT::f32,
27068 : /* 51846*/ OPC_RecordChild1, // #1 = $rhs
27069 : /* 51847*/ OPC_MoveChild2,
27070 : /* 51848*/ OPC_Scope, 13, /*->51863*/ // 12 children in Scope
27071 : /* 51850*/ OPC_CheckCondCode, ISD::SETOEQ,
27072 : /* 51852*/ OPC_MoveParent,
27073 : /* 51853*/ OPC_CheckType, MVT::i32,
27074 : /* 51855*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
27075 : MVT::i32, 2/*#Ops*/, 0, 1,
27076 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
27077 : // Dst: (EQ_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27078 : /* 51863*/ /*Scope*/ 13, /*->51877*/
27079 : /* 51864*/ OPC_CheckCondCode, ISD::SETUNE,
27080 : /* 51866*/ OPC_MoveParent,
27081 : /* 51867*/ OPC_CheckType, MVT::i32,
27082 : /* 51869*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
27083 : MVT::i32, 2/*#Ops*/, 0, 1,
27084 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
27085 : // Dst: (NE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27086 : /* 51877*/ /*Scope*/ 13, /*->51891*/
27087 : /* 51878*/ OPC_CheckCondCode, ISD::SETOLT,
27088 : /* 51880*/ OPC_MoveParent,
27089 : /* 51881*/ OPC_CheckType, MVT::i32,
27090 : /* 51883*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
27091 : MVT::i32, 2/*#Ops*/, 0, 1,
27092 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
27093 : // Dst: (LT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27094 : /* 51891*/ /*Scope*/ 13, /*->51905*/
27095 : /* 51892*/ OPC_CheckCondCode, ISD::SETOLE,
27096 : /* 51894*/ OPC_MoveParent,
27097 : /* 51895*/ OPC_CheckType, MVT::i32,
27098 : /* 51897*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
27099 : MVT::i32, 2/*#Ops*/, 0, 1,
27100 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
27101 : // Dst: (LE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27102 : /* 51905*/ /*Scope*/ 13, /*->51919*/
27103 : /* 51906*/ OPC_CheckCondCode, ISD::SETOGT,
27104 : /* 51908*/ OPC_MoveParent,
27105 : /* 51909*/ OPC_CheckType, MVT::i32,
27106 : /* 51911*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
27107 : MVT::i32, 2/*#Ops*/, 0, 1,
27108 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
27109 : // Dst: (GT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27110 : /* 51919*/ /*Scope*/ 13, /*->51933*/
27111 : /* 51920*/ OPC_CheckCondCode, ISD::SETOGE,
27112 : /* 51922*/ OPC_MoveParent,
27113 : /* 51923*/ OPC_CheckType, MVT::i32,
27114 : /* 51925*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
27115 : MVT::i32, 2/*#Ops*/, 0, 1,
27116 : // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
27117 : // Dst: (GE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
27118 : /* 51933*/ /*Scope*/ 13, /*->51947*/
27119 : /* 51934*/ OPC_CheckCondCode, ISD::SETEQ,
27120 : /* 51936*/ OPC_MoveParent,
27121 : /* 51937*/ OPC_CheckType, MVT::i32,
27122 : /* 51939*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
27123 : MVT::i32, 2/*#Ops*/, 0, 1,
27124 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27125 : // Dst: (EQ_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27126 : /* 51947*/ /*Scope*/ 13, /*->51961*/
27127 : /* 51948*/ OPC_CheckCondCode, ISD::SETNE,
27128 : /* 51950*/ OPC_MoveParent,
27129 : /* 51951*/ OPC_CheckType, MVT::i32,
27130 : /* 51953*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
27131 : MVT::i32, 2/*#Ops*/, 0, 1,
27132 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27133 : // Dst: (NE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27134 : /* 51961*/ /*Scope*/ 13, /*->51975*/
27135 : /* 51962*/ OPC_CheckCondCode, ISD::SETLT,
27136 : /* 51964*/ OPC_MoveParent,
27137 : /* 51965*/ OPC_CheckType, MVT::i32,
27138 : /* 51967*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
27139 : MVT::i32, 2/*#Ops*/, 0, 1,
27140 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27141 : // Dst: (LT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27142 : /* 51975*/ /*Scope*/ 13, /*->51989*/
27143 : /* 51976*/ OPC_CheckCondCode, ISD::SETLE,
27144 : /* 51978*/ OPC_MoveParent,
27145 : /* 51979*/ OPC_CheckType, MVT::i32,
27146 : /* 51981*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
27147 : MVT::i32, 2/*#Ops*/, 0, 1,
27148 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27149 : // Dst: (LE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27150 : /* 51989*/ /*Scope*/ 13, /*->52003*/
27151 : /* 51990*/ OPC_CheckCondCode, ISD::SETGT,
27152 : /* 51992*/ OPC_MoveParent,
27153 : /* 51993*/ OPC_CheckType, MVT::i32,
27154 : /* 51995*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
27155 : MVT::i32, 2/*#Ops*/, 0, 1,
27156 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27157 : // Dst: (GT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27158 : /* 52003*/ /*Scope*/ 13, /*->52017*/
27159 : /* 52004*/ OPC_CheckCondCode, ISD::SETGE,
27160 : /* 52006*/ OPC_MoveParent,
27161 : /* 52007*/ OPC_CheckType, MVT::i32,
27162 : /* 52009*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
27163 : MVT::i32, 2/*#Ops*/, 0, 1,
27164 : // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27165 : // Dst: (GE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
27166 : /* 52017*/ 0, /*End of Scope*/
27167 : /* 52018*/ /*Scope*/ 46|128,1/*174*/, /*->52194*/
27168 : /* 52020*/ OPC_CheckChild0Type, MVT::f64,
27169 : /* 52022*/ OPC_RecordChild1, // #1 = $rhs
27170 : /* 52023*/ OPC_MoveChild2,
27171 : /* 52024*/ OPC_Scope, 13, /*->52039*/ // 12 children in Scope
27172 : /* 52026*/ OPC_CheckCondCode, ISD::SETOEQ,
27173 : /* 52028*/ OPC_MoveParent,
27174 : /* 52029*/ OPC_CheckType, MVT::i32,
27175 : /* 52031*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
27176 : MVT::i32, 2/*#Ops*/, 0, 1,
27177 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
27178 : // Dst: (EQ_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27179 : /* 52039*/ /*Scope*/ 13, /*->52053*/
27180 : /* 52040*/ OPC_CheckCondCode, ISD::SETUNE,
27181 : /* 52042*/ OPC_MoveParent,
27182 : /* 52043*/ OPC_CheckType, MVT::i32,
27183 : /* 52045*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
27184 : MVT::i32, 2/*#Ops*/, 0, 1,
27185 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
27186 : // Dst: (NE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27187 : /* 52053*/ /*Scope*/ 13, /*->52067*/
27188 : /* 52054*/ OPC_CheckCondCode, ISD::SETOLT,
27189 : /* 52056*/ OPC_MoveParent,
27190 : /* 52057*/ OPC_CheckType, MVT::i32,
27191 : /* 52059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
27192 : MVT::i32, 2/*#Ops*/, 0, 1,
27193 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
27194 : // Dst: (LT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27195 : /* 52067*/ /*Scope*/ 13, /*->52081*/
27196 : /* 52068*/ OPC_CheckCondCode, ISD::SETOLE,
27197 : /* 52070*/ OPC_MoveParent,
27198 : /* 52071*/ OPC_CheckType, MVT::i32,
27199 : /* 52073*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
27200 : MVT::i32, 2/*#Ops*/, 0, 1,
27201 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
27202 : // Dst: (LE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27203 : /* 52081*/ /*Scope*/ 13, /*->52095*/
27204 : /* 52082*/ OPC_CheckCondCode, ISD::SETOGT,
27205 : /* 52084*/ OPC_MoveParent,
27206 : /* 52085*/ OPC_CheckType, MVT::i32,
27207 : /* 52087*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
27208 : MVT::i32, 2/*#Ops*/, 0, 1,
27209 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
27210 : // Dst: (GT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27211 : /* 52095*/ /*Scope*/ 13, /*->52109*/
27212 : /* 52096*/ OPC_CheckCondCode, ISD::SETOGE,
27213 : /* 52098*/ OPC_MoveParent,
27214 : /* 52099*/ OPC_CheckType, MVT::i32,
27215 : /* 52101*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
27216 : MVT::i32, 2/*#Ops*/, 0, 1,
27217 : // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
27218 : // Dst: (GE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
27219 : /* 52109*/ /*Scope*/ 13, /*->52123*/
27220 : /* 52110*/ OPC_CheckCondCode, ISD::SETEQ,
27221 : /* 52112*/ OPC_MoveParent,
27222 : /* 52113*/ OPC_CheckType, MVT::i32,
27223 : /* 52115*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
27224 : MVT::i32, 2/*#Ops*/, 0, 1,
27225 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27226 : // Dst: (EQ_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27227 : /* 52123*/ /*Scope*/ 13, /*->52137*/
27228 : /* 52124*/ OPC_CheckCondCode, ISD::SETNE,
27229 : /* 52126*/ OPC_MoveParent,
27230 : /* 52127*/ OPC_CheckType, MVT::i32,
27231 : /* 52129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
27232 : MVT::i32, 2/*#Ops*/, 0, 1,
27233 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27234 : // Dst: (NE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27235 : /* 52137*/ /*Scope*/ 13, /*->52151*/
27236 : /* 52138*/ OPC_CheckCondCode, ISD::SETLT,
27237 : /* 52140*/ OPC_MoveParent,
27238 : /* 52141*/ OPC_CheckType, MVT::i32,
27239 : /* 52143*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
27240 : MVT::i32, 2/*#Ops*/, 0, 1,
27241 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27242 : // Dst: (LT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27243 : /* 52151*/ /*Scope*/ 13, /*->52165*/
27244 : /* 52152*/ OPC_CheckCondCode, ISD::SETLE,
27245 : /* 52154*/ OPC_MoveParent,
27246 : /* 52155*/ OPC_CheckType, MVT::i32,
27247 : /* 52157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
27248 : MVT::i32, 2/*#Ops*/, 0, 1,
27249 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27250 : // Dst: (LE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27251 : /* 52165*/ /*Scope*/ 13, /*->52179*/
27252 : /* 52166*/ OPC_CheckCondCode, ISD::SETGT,
27253 : /* 52168*/ OPC_MoveParent,
27254 : /* 52169*/ OPC_CheckType, MVT::i32,
27255 : /* 52171*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
27256 : MVT::i32, 2/*#Ops*/, 0, 1,
27257 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27258 : // Dst: (GT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27259 : /* 52179*/ /*Scope*/ 13, /*->52193*/
27260 : /* 52180*/ OPC_CheckCondCode, ISD::SETGE,
27261 : /* 52182*/ OPC_MoveParent,
27262 : /* 52183*/ OPC_CheckType, MVT::i32,
27263 : /* 52185*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
27264 : MVT::i32, 2/*#Ops*/, 0, 1,
27265 : // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27266 : // Dst: (GE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
27267 : /* 52193*/ 0, /*End of Scope*/
27268 : /* 52194*/ /*Scope*/ 38|128,1/*166*/, /*->52362*/
27269 : /* 52196*/ OPC_CheckChild0Type, MVT::v16i8,
27270 : /* 52198*/ OPC_RecordChild1, // #1 = $rhs
27271 : /* 52199*/ OPC_MoveChild2,
27272 : /* 52200*/ OPC_Scope, 15, /*->52217*/ // 10 children in Scope
27273 : /* 52202*/ OPC_CheckCondCode, ISD::SETEQ,
27274 : /* 52204*/ OPC_MoveParent,
27275 : /* 52205*/ OPC_CheckType, MVT::v16i8,
27276 : /* 52207*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27277 : /* 52209*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v16i8), 0,
27278 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27279 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27280 : // Dst: (EQ_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27281 : /* 52217*/ /*Scope*/ 15, /*->52233*/
27282 : /* 52218*/ OPC_CheckCondCode, ISD::SETNE,
27283 : /* 52220*/ OPC_MoveParent,
27284 : /* 52221*/ OPC_CheckType, MVT::v16i8,
27285 : /* 52223*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27286 : /* 52225*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v16i8), 0,
27287 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27288 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27289 : // Dst: (NE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27290 : /* 52233*/ /*Scope*/ 15, /*->52249*/
27291 : /* 52234*/ OPC_CheckCondCode, ISD::SETLT,
27292 : /* 52236*/ OPC_MoveParent,
27293 : /* 52237*/ OPC_CheckType, MVT::v16i8,
27294 : /* 52239*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27295 : /* 52241*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v16i8), 0,
27296 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27297 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27298 : // Dst: (LT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27299 : /* 52249*/ /*Scope*/ 15, /*->52265*/
27300 : /* 52250*/ OPC_CheckCondCode, ISD::SETULT,
27301 : /* 52252*/ OPC_MoveParent,
27302 : /* 52253*/ OPC_CheckType, MVT::v16i8,
27303 : /* 52255*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27304 : /* 52257*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v16i8), 0,
27305 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27306 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
27307 : // Dst: (LT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27308 : /* 52265*/ /*Scope*/ 15, /*->52281*/
27309 : /* 52266*/ OPC_CheckCondCode, ISD::SETLE,
27310 : /* 52268*/ OPC_MoveParent,
27311 : /* 52269*/ OPC_CheckType, MVT::v16i8,
27312 : /* 52271*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27313 : /* 52273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v16i8), 0,
27314 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27315 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27316 : // Dst: (LE_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27317 : /* 52281*/ /*Scope*/ 15, /*->52297*/
27318 : /* 52282*/ OPC_CheckCondCode, ISD::SETULE,
27319 : /* 52284*/ OPC_MoveParent,
27320 : /* 52285*/ OPC_CheckType, MVT::v16i8,
27321 : /* 52287*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27322 : /* 52289*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v16i8), 0,
27323 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27324 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
27325 : // Dst: (LE_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27326 : /* 52297*/ /*Scope*/ 15, /*->52313*/
27327 : /* 52298*/ OPC_CheckCondCode, ISD::SETGT,
27328 : /* 52300*/ OPC_MoveParent,
27329 : /* 52301*/ OPC_CheckType, MVT::v16i8,
27330 : /* 52303*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27331 : /* 52305*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v16i8), 0,
27332 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27333 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27334 : // Dst: (GT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27335 : /* 52313*/ /*Scope*/ 15, /*->52329*/
27336 : /* 52314*/ OPC_CheckCondCode, ISD::SETUGT,
27337 : /* 52316*/ OPC_MoveParent,
27338 : /* 52317*/ OPC_CheckType, MVT::v16i8,
27339 : /* 52319*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27340 : /* 52321*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v16i8), 0,
27341 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27342 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
27343 : // Dst: (GT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27344 : /* 52329*/ /*Scope*/ 15, /*->52345*/
27345 : /* 52330*/ OPC_CheckCondCode, ISD::SETGE,
27346 : /* 52332*/ OPC_MoveParent,
27347 : /* 52333*/ OPC_CheckType, MVT::v16i8,
27348 : /* 52335*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27349 : /* 52337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v16i8), 0,
27350 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27351 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27352 : // Dst: (GE_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27353 : /* 52345*/ /*Scope*/ 15, /*->52361*/
27354 : /* 52346*/ OPC_CheckCondCode, ISD::SETUGE,
27355 : /* 52348*/ OPC_MoveParent,
27356 : /* 52349*/ OPC_CheckType, MVT::v16i8,
27357 : /* 52351*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27358 : /* 52353*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v16i8), 0,
27359 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27360 : // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
27361 : // Dst: (GE_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27362 : /* 52361*/ 0, /*End of Scope*/
27363 : /* 52362*/ /*Scope*/ 38|128,1/*166*/, /*->52530*/
27364 : /* 52364*/ OPC_CheckChild0Type, MVT::v8i16,
27365 : /* 52366*/ OPC_RecordChild1, // #1 = $rhs
27366 : /* 52367*/ OPC_MoveChild2,
27367 : /* 52368*/ OPC_Scope, 15, /*->52385*/ // 10 children in Scope
27368 : /* 52370*/ OPC_CheckCondCode, ISD::SETEQ,
27369 : /* 52372*/ OPC_MoveParent,
27370 : /* 52373*/ OPC_CheckType, MVT::v8i16,
27371 : /* 52375*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27372 : /* 52377*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v8i16), 0,
27373 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27374 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27375 : // Dst: (EQ_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27376 : /* 52385*/ /*Scope*/ 15, /*->52401*/
27377 : /* 52386*/ OPC_CheckCondCode, ISD::SETNE,
27378 : /* 52388*/ OPC_MoveParent,
27379 : /* 52389*/ OPC_CheckType, MVT::v8i16,
27380 : /* 52391*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27381 : /* 52393*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v8i16), 0,
27382 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27383 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27384 : // Dst: (NE_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27385 : /* 52401*/ /*Scope*/ 15, /*->52417*/
27386 : /* 52402*/ OPC_CheckCondCode, ISD::SETLT,
27387 : /* 52404*/ OPC_MoveParent,
27388 : /* 52405*/ OPC_CheckType, MVT::v8i16,
27389 : /* 52407*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27390 : /* 52409*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v8i16), 0,
27391 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27392 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27393 : // Dst: (LT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27394 : /* 52417*/ /*Scope*/ 15, /*->52433*/
27395 : /* 52418*/ OPC_CheckCondCode, ISD::SETULT,
27396 : /* 52420*/ OPC_MoveParent,
27397 : /* 52421*/ OPC_CheckType, MVT::v8i16,
27398 : /* 52423*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27399 : /* 52425*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v8i16), 0,
27400 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27401 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
27402 : // Dst: (LT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27403 : /* 52433*/ /*Scope*/ 15, /*->52449*/
27404 : /* 52434*/ OPC_CheckCondCode, ISD::SETLE,
27405 : /* 52436*/ OPC_MoveParent,
27406 : /* 52437*/ OPC_CheckType, MVT::v8i16,
27407 : /* 52439*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27408 : /* 52441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v8i16), 0,
27409 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27410 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27411 : // Dst: (LE_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27412 : /* 52449*/ /*Scope*/ 15, /*->52465*/
27413 : /* 52450*/ OPC_CheckCondCode, ISD::SETULE,
27414 : /* 52452*/ OPC_MoveParent,
27415 : /* 52453*/ OPC_CheckType, MVT::v8i16,
27416 : /* 52455*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27417 : /* 52457*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v8i16), 0,
27418 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27419 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
27420 : // Dst: (LE_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27421 : /* 52465*/ /*Scope*/ 15, /*->52481*/
27422 : /* 52466*/ OPC_CheckCondCode, ISD::SETGT,
27423 : /* 52468*/ OPC_MoveParent,
27424 : /* 52469*/ OPC_CheckType, MVT::v8i16,
27425 : /* 52471*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27426 : /* 52473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v8i16), 0,
27427 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27428 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27429 : // Dst: (GT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27430 : /* 52481*/ /*Scope*/ 15, /*->52497*/
27431 : /* 52482*/ OPC_CheckCondCode, ISD::SETUGT,
27432 : /* 52484*/ OPC_MoveParent,
27433 : /* 52485*/ OPC_CheckType, MVT::v8i16,
27434 : /* 52487*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27435 : /* 52489*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v8i16), 0,
27436 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27437 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
27438 : // Dst: (GT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27439 : /* 52497*/ /*Scope*/ 15, /*->52513*/
27440 : /* 52498*/ OPC_CheckCondCode, ISD::SETGE,
27441 : /* 52500*/ OPC_MoveParent,
27442 : /* 52501*/ OPC_CheckType, MVT::v8i16,
27443 : /* 52503*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27444 : /* 52505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v8i16), 0,
27445 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27446 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27447 : // Dst: (GE_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27448 : /* 52513*/ /*Scope*/ 15, /*->52529*/
27449 : /* 52514*/ OPC_CheckCondCode, ISD::SETUGE,
27450 : /* 52516*/ OPC_MoveParent,
27451 : /* 52517*/ OPC_CheckType, MVT::v8i16,
27452 : /* 52519*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27453 : /* 52521*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v8i16), 0,
27454 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27455 : // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
27456 : // Dst: (GE_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27457 : /* 52529*/ 0, /*End of Scope*/
27458 : /* 52530*/ /*Scope*/ 38|128,1/*166*/, /*->52698*/
27459 : /* 52532*/ OPC_CheckChild0Type, MVT::v4i32,
27460 : /* 52534*/ OPC_RecordChild1, // #1 = $rhs
27461 : /* 52535*/ OPC_MoveChild2,
27462 : /* 52536*/ OPC_Scope, 15, /*->52553*/ // 10 children in Scope
27463 : /* 52538*/ OPC_CheckCondCode, ISD::SETEQ,
27464 : /* 52540*/ OPC_MoveParent,
27465 : /* 52541*/ OPC_CheckType, MVT::v4i32,
27466 : /* 52543*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27467 : /* 52545*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4i32), 0,
27468 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27469 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27470 : // Dst: (EQ_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27471 : /* 52553*/ /*Scope*/ 15, /*->52569*/
27472 : /* 52554*/ OPC_CheckCondCode, ISD::SETNE,
27473 : /* 52556*/ OPC_MoveParent,
27474 : /* 52557*/ OPC_CheckType, MVT::v4i32,
27475 : /* 52559*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27476 : /* 52561*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4i32), 0,
27477 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27478 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27479 : // Dst: (NE_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27480 : /* 52569*/ /*Scope*/ 15, /*->52585*/
27481 : /* 52570*/ OPC_CheckCondCode, ISD::SETLT,
27482 : /* 52572*/ OPC_MoveParent,
27483 : /* 52573*/ OPC_CheckType, MVT::v4i32,
27484 : /* 52575*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27485 : /* 52577*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v4i32), 0,
27486 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27487 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
27488 : // Dst: (LT_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27489 : /* 52585*/ /*Scope*/ 15, /*->52601*/
27490 : /* 52586*/ OPC_CheckCondCode, ISD::SETULT,
27491 : /* 52588*/ OPC_MoveParent,
27492 : /* 52589*/ OPC_CheckType, MVT::v4i32,
27493 : /* 52591*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27494 : /* 52593*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v4i32), 0,
27495 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27496 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
27497 : // Dst: (LT_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27498 : /* 52601*/ /*Scope*/ 15, /*->52617*/
27499 : /* 52602*/ OPC_CheckCondCode, ISD::SETLE,
27500 : /* 52604*/ OPC_MoveParent,
27501 : /* 52605*/ OPC_CheckType, MVT::v4i32,
27502 : /* 52607*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27503 : /* 52609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v4i32), 0,
27504 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27505 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
27506 : // Dst: (LE_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27507 : /* 52617*/ /*Scope*/ 15, /*->52633*/
27508 : /* 52618*/ OPC_CheckCondCode, ISD::SETULE,
27509 : /* 52620*/ OPC_MoveParent,
27510 : /* 52621*/ OPC_CheckType, MVT::v4i32,
27511 : /* 52623*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27512 : /* 52625*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v4i32), 0,
27513 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27514 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
27515 : // Dst: (LE_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27516 : /* 52633*/ /*Scope*/ 15, /*->52649*/
27517 : /* 52634*/ OPC_CheckCondCode, ISD::SETGT,
27518 : /* 52636*/ OPC_MoveParent,
27519 : /* 52637*/ OPC_CheckType, MVT::v4i32,
27520 : /* 52639*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27521 : /* 52641*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v4i32), 0,
27522 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27523 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
27524 : // Dst: (GT_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27525 : /* 52649*/ /*Scope*/ 15, /*->52665*/
27526 : /* 52650*/ OPC_CheckCondCode, ISD::SETUGT,
27527 : /* 52652*/ OPC_MoveParent,
27528 : /* 52653*/ OPC_CheckType, MVT::v4i32,
27529 : /* 52655*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27530 : /* 52657*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v4i32), 0,
27531 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27532 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
27533 : // Dst: (GT_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27534 : /* 52665*/ /*Scope*/ 15, /*->52681*/
27535 : /* 52666*/ OPC_CheckCondCode, ISD::SETGE,
27536 : /* 52668*/ OPC_MoveParent,
27537 : /* 52669*/ OPC_CheckType, MVT::v4i32,
27538 : /* 52671*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27539 : /* 52673*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v4i32), 0,
27540 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27541 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
27542 : // Dst: (GE_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27543 : /* 52681*/ /*Scope*/ 15, /*->52697*/
27544 : /* 52682*/ OPC_CheckCondCode, ISD::SETUGE,
27545 : /* 52684*/ OPC_MoveParent,
27546 : /* 52685*/ OPC_CheckType, MVT::v4i32,
27547 : /* 52687*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27548 : /* 52689*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v4i32), 0,
27549 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27550 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
27551 : // Dst: (GE_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
27552 : /* 52697*/ 0, /*End of Scope*/
27553 : /* 52698*/ /*Scope*/ 2|128,1/*130*/, /*->52830*/
27554 : /* 52700*/ OPC_CheckChild0Type, MVT::v4f32,
27555 : /* 52702*/ OPC_RecordChild1, // #1 = $rhs
27556 : /* 52703*/ OPC_MoveChild2,
27557 : /* 52704*/ OPC_Scope, 15, /*->52721*/ // 8 children in Scope
27558 : /* 52706*/ OPC_CheckCondCode, ISD::SETOEQ,
27559 : /* 52708*/ OPC_MoveParent,
27560 : /* 52709*/ OPC_CheckType, MVT::v4i32,
27561 : /* 52711*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27562 : /* 52713*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4f32), 0,
27563 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27564 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
27565 : // Dst: (EQ_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27566 : /* 52721*/ /*Scope*/ 15, /*->52737*/
27567 : /* 52722*/ OPC_CheckCondCode, ISD::SETUNE,
27568 : /* 52724*/ OPC_MoveParent,
27569 : /* 52725*/ OPC_CheckType, MVT::v4i32,
27570 : /* 52727*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27571 : /* 52729*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4f32), 0,
27572 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27573 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
27574 : // Dst: (NE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27575 : /* 52737*/ /*Scope*/ 15, /*->52753*/
27576 : /* 52738*/ OPC_CheckCondCode, ISD::SETOLT,
27577 : /* 52740*/ OPC_MoveParent,
27578 : /* 52741*/ OPC_CheckType, MVT::v4i32,
27579 : /* 52743*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27580 : /* 52745*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_v4f32), 0,
27581 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27582 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
27583 : // Dst: (LT_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27584 : /* 52753*/ /*Scope*/ 15, /*->52769*/
27585 : /* 52754*/ OPC_CheckCondCode, ISD::SETOLE,
27586 : /* 52756*/ OPC_MoveParent,
27587 : /* 52757*/ OPC_CheckType, MVT::v4i32,
27588 : /* 52759*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27589 : /* 52761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_v4f32), 0,
27590 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27591 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
27592 : // Dst: (LE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27593 : /* 52769*/ /*Scope*/ 15, /*->52785*/
27594 : /* 52770*/ OPC_CheckCondCode, ISD::SETOGT,
27595 : /* 52772*/ OPC_MoveParent,
27596 : /* 52773*/ OPC_CheckType, MVT::v4i32,
27597 : /* 52775*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27598 : /* 52777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_v4f32), 0,
27599 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27600 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
27601 : // Dst: (GT_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27602 : /* 52785*/ /*Scope*/ 15, /*->52801*/
27603 : /* 52786*/ OPC_CheckCondCode, ISD::SETOGE,
27604 : /* 52788*/ OPC_MoveParent,
27605 : /* 52789*/ OPC_CheckType, MVT::v4i32,
27606 : /* 52791*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27607 : /* 52793*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_v4f32), 0,
27608 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27609 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
27610 : // Dst: (GE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27611 : /* 52801*/ /*Scope*/ 13, /*->52815*/
27612 : /* 52802*/ OPC_CheckCondCode, ISD::SETEQ,
27613 : /* 52804*/ OPC_MoveParent,
27614 : /* 52805*/ OPC_CheckType, MVT::v4i32,
27615 : /* 52807*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4f32), 0,
27616 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27617 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27618 : // Dst: (EQ_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27619 : /* 52815*/ /*Scope*/ 13, /*->52829*/
27620 : /* 52816*/ OPC_CheckCondCode, ISD::SETNE,
27621 : /* 52818*/ OPC_MoveParent,
27622 : /* 52819*/ OPC_CheckType, MVT::v4i32,
27623 : /* 52821*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4f32), 0,
27624 : MVT::v4i32, 2/*#Ops*/, 0, 1,
27625 : // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27626 : // Dst: (NE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
27627 : /* 52829*/ 0, /*End of Scope*/
27628 : /* 52830*/ /*Scope*/ 2|128,1/*130*/, /*->52962*/
27629 : /* 52832*/ OPC_CheckChild0Type, MVT::v2f64,
27630 : /* 52834*/ OPC_RecordChild1, // #1 = $rhs
27631 : /* 52835*/ OPC_MoveChild2,
27632 : /* 52836*/ OPC_Scope, 15, /*->52853*/ // 8 children in Scope
27633 : /* 52838*/ OPC_CheckCondCode, ISD::SETOEQ,
27634 : /* 52840*/ OPC_MoveParent,
27635 : /* 52841*/ OPC_CheckType, MVT::v2i64,
27636 : /* 52843*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27637 : /* 52845*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v2f64), 0,
27638 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27639 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
27640 : // Dst: (EQ_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27641 : /* 52853*/ /*Scope*/ 15, /*->52869*/
27642 : /* 52854*/ OPC_CheckCondCode, ISD::SETUNE,
27643 : /* 52856*/ OPC_MoveParent,
27644 : /* 52857*/ OPC_CheckType, MVT::v2i64,
27645 : /* 52859*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27646 : /* 52861*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v2f64), 0,
27647 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27648 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
27649 : // Dst: (NE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27650 : /* 52869*/ /*Scope*/ 15, /*->52885*/
27651 : /* 52870*/ OPC_CheckCondCode, ISD::SETOLT,
27652 : /* 52872*/ OPC_MoveParent,
27653 : /* 52873*/ OPC_CheckType, MVT::v2i64,
27654 : /* 52875*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27655 : /* 52877*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_v2f64), 0,
27656 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27657 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
27658 : // Dst: (LT_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27659 : /* 52885*/ /*Scope*/ 15, /*->52901*/
27660 : /* 52886*/ OPC_CheckCondCode, ISD::SETOLE,
27661 : /* 52888*/ OPC_MoveParent,
27662 : /* 52889*/ OPC_CheckType, MVT::v2i64,
27663 : /* 52891*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27664 : /* 52893*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_v2f64), 0,
27665 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27666 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
27667 : // Dst: (LE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27668 : /* 52901*/ /*Scope*/ 15, /*->52917*/
27669 : /* 52902*/ OPC_CheckCondCode, ISD::SETOGT,
27670 : /* 52904*/ OPC_MoveParent,
27671 : /* 52905*/ OPC_CheckType, MVT::v2i64,
27672 : /* 52907*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27673 : /* 52909*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_v2f64), 0,
27674 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27675 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
27676 : // Dst: (GT_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27677 : /* 52917*/ /*Scope*/ 15, /*->52933*/
27678 : /* 52918*/ OPC_CheckCondCode, ISD::SETOGE,
27679 : /* 52920*/ OPC_MoveParent,
27680 : /* 52921*/ OPC_CheckType, MVT::v2i64,
27681 : /* 52923*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27682 : /* 52925*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_v2f64), 0,
27683 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27684 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
27685 : // Dst: (GE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27686 : /* 52933*/ /*Scope*/ 13, /*->52947*/
27687 : /* 52934*/ OPC_CheckCondCode, ISD::SETEQ,
27688 : /* 52936*/ OPC_MoveParent,
27689 : /* 52937*/ OPC_CheckType, MVT::v2i64,
27690 : /* 52939*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v2f64), 0,
27691 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27692 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
27693 : // Dst: (EQ_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27694 : /* 52947*/ /*Scope*/ 13, /*->52961*/
27695 : /* 52948*/ OPC_CheckCondCode, ISD::SETNE,
27696 : /* 52950*/ OPC_MoveParent,
27697 : /* 52951*/ OPC_CheckType, MVT::v2i64,
27698 : /* 52953*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v2f64), 0,
27699 : MVT::v2i64, 2/*#Ops*/, 0, 1,
27700 : // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
27701 : // Dst: (NE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
27702 : /* 52961*/ 0, /*End of Scope*/
27703 : /* 52962*/ 0, /*End of Scope*/
27704 : /* 52963*/ /*SwitchOpcode*/ 52|128,4/*564*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->53531
27705 : /* 52967*/ OPC_Scope, 76, /*->53045*/ // 9 children in Scope
27706 : /* 52969*/ OPC_CheckChild0Integer, 69|128,42/*5445*/,
27707 : /* 52972*/ OPC_RecordChild1, // #0 = $src
27708 : /* 52973*/ OPC_Scope, 22, /*->52997*/ // 4 children in Scope
27709 : /* 52975*/ OPC_CheckChild1Type, MVT::f32,
27710 : /* 52977*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->52987
27711 : /* 52980*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
27712 : MVT::i32, 1/*#Ops*/, 0,
27713 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5445:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
27714 : // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
27715 : /* 52987*/ /*SwitchType*/ 7, MVT::i64,// ->52996
27716 : /* 52989*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
27717 : MVT::i64, 1/*#Ops*/, 0,
27718 : // Src: (intrinsic_wo_chain:{ *:[i64] } 5445:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
27719 : // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
27720 : /* 52996*/ 0, // EndSwitchType
27721 : /* 52997*/ /*Scope*/ 22, /*->53020*/
27722 : /* 52998*/ OPC_CheckChild1Type, MVT::f64,
27723 : /* 53000*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53010
27724 : /* 53003*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
27725 : MVT::i32, 1/*#Ops*/, 0,
27726 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5445:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
27727 : // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
27728 : /* 53010*/ /*SwitchType*/ 7, MVT::i64,// ->53019
27729 : /* 53012*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
27730 : MVT::i64, 1/*#Ops*/, 0,
27731 : // Src: (intrinsic_wo_chain:{ *:[i64] } 5445:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
27732 : // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
27733 : /* 53019*/ 0, // EndSwitchType
27734 : /* 53020*/ /*Scope*/ 11, /*->53032*/
27735 : /* 53021*/ OPC_CheckChild1Type, MVT::v4f32,
27736 : /* 53023*/ OPC_CheckType, MVT::v4i32,
27737 : /* 53025*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v4i32_v4f32), 0,
27738 : MVT::v4i32, 1/*#Ops*/, 0,
27739 : // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5445:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
27740 : // Dst: (fp_to_sint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$src)
27741 : /* 53032*/ /*Scope*/ 11, /*->53044*/
27742 : /* 53033*/ OPC_CheckChild1Type, MVT::v2f64,
27743 : /* 53035*/ OPC_CheckType, MVT::v2i64,
27744 : /* 53037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v2i64_v2f64), 0,
27745 : MVT::v2i64, 1/*#Ops*/, 0,
27746 : // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5445:{ *:[iPTR] }, V128:{ *:[v2f64] }:$src) - Complexity = 8
27747 : // Dst: (fp_to_sint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$src)
27748 : /* 53044*/ 0, /*End of Scope*/
27749 : /* 53045*/ /*Scope*/ 76, /*->53122*/
27750 : /* 53046*/ OPC_CheckChild0Integer, 70|128,42/*5446*/,
27751 : /* 53049*/ OPC_RecordChild1, // #0 = $src
27752 : /* 53050*/ OPC_Scope, 22, /*->53074*/ // 4 children in Scope
27753 : /* 53052*/ OPC_CheckChild1Type, MVT::f32,
27754 : /* 53054*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53064
27755 : /* 53057*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
27756 : MVT::i32, 1/*#Ops*/, 0,
27757 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5446:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
27758 : // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
27759 : /* 53064*/ /*SwitchType*/ 7, MVT::i64,// ->53073
27760 : /* 53066*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
27761 : MVT::i64, 1/*#Ops*/, 0,
27762 : // Src: (intrinsic_wo_chain:{ *:[i64] } 5446:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
27763 : // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
27764 : /* 53073*/ 0, // EndSwitchType
27765 : /* 53074*/ /*Scope*/ 22, /*->53097*/
27766 : /* 53075*/ OPC_CheckChild1Type, MVT::f64,
27767 : /* 53077*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53087
27768 : /* 53080*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
27769 : MVT::i32, 1/*#Ops*/, 0,
27770 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5446:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
27771 : // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
27772 : /* 53087*/ /*SwitchType*/ 7, MVT::i64,// ->53096
27773 : /* 53089*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
27774 : MVT::i64, 1/*#Ops*/, 0,
27775 : // Src: (intrinsic_wo_chain:{ *:[i64] } 5446:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
27776 : // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
27777 : /* 53096*/ 0, // EndSwitchType
27778 : /* 53097*/ /*Scope*/ 11, /*->53109*/
27779 : /* 53098*/ OPC_CheckChild1Type, MVT::v4f32,
27780 : /* 53100*/ OPC_CheckType, MVT::v4i32,
27781 : /* 53102*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v4i32_v4f32), 0,
27782 : MVT::v4i32, 1/*#Ops*/, 0,
27783 : // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5446:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
27784 : // Dst: (fp_to_uint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$src)
27785 : /* 53109*/ /*Scope*/ 11, /*->53121*/
27786 : /* 53110*/ OPC_CheckChild1Type, MVT::v2f64,
27787 : /* 53112*/ OPC_CheckType, MVT::v2i64,
27788 : /* 53114*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v2i64_v2f64), 0,
27789 : MVT::v2i64, 1/*#Ops*/, 0,
27790 : // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5446:{ *:[iPTR] }, V128:{ *:[v2f64] }:$src) - Complexity = 8
27791 : // Dst: (fp_to_uint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$src)
27792 : /* 53121*/ 0, /*End of Scope*/
27793 : /* 53122*/ /*Scope*/ 54, /*->53177*/
27794 : /* 53123*/ OPC_CheckChild0Integer, 49|128,42/*5425*/,
27795 : /* 53126*/ OPC_RecordChild1, // #0 = $vec
27796 : /* 53127*/ OPC_Scope, 11, /*->53140*/ // 4 children in Scope
27797 : /* 53129*/ OPC_CheckChild1Type, MVT::v16i8,
27798 : /* 53131*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27799 : /* 53133*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v16i8), 0,
27800 : MVT::i32, 1/*#Ops*/, 0,
27801 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
27802 : // Dst: (ANYTRUE_v16i8:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
27803 : /* 53140*/ /*Scope*/ 11, /*->53152*/
27804 : /* 53141*/ OPC_CheckChild1Type, MVT::v8i16,
27805 : /* 53143*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27806 : /* 53145*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v8i16), 0,
27807 : MVT::i32, 1/*#Ops*/, 0,
27808 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
27809 : // Dst: (ANYTRUE_v8i16:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
27810 : /* 53152*/ /*Scope*/ 11, /*->53164*/
27811 : /* 53153*/ OPC_CheckChild1Type, MVT::v4i32,
27812 : /* 53155*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27813 : /* 53157*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v4i32), 0,
27814 : MVT::i32, 1/*#Ops*/, 0,
27815 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27816 : // Dst: (ANYTRUE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
27817 : /* 53164*/ /*Scope*/ 11, /*->53176*/
27818 : /* 53165*/ OPC_CheckChild1Type, MVT::v2i64,
27819 : /* 53167*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27820 : /* 53169*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v2i64), 0,
27821 : MVT::i32, 1/*#Ops*/, 0,
27822 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
27823 : // Dst: (ANYTRUE_v2i64:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
27824 : /* 53176*/ 0, /*End of Scope*/
27825 : /* 53177*/ /*Scope*/ 54, /*->53232*/
27826 : /* 53178*/ OPC_CheckChild0Integer, 48|128,42/*5424*/,
27827 : /* 53181*/ OPC_RecordChild1, // #0 = $vec
27828 : /* 53182*/ OPC_Scope, 11, /*->53195*/ // 4 children in Scope
27829 : /* 53184*/ OPC_CheckChild1Type, MVT::v16i8,
27830 : /* 53186*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27831 : /* 53188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v16i8), 0,
27832 : MVT::i32, 1/*#Ops*/, 0,
27833 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
27834 : // Dst: (ALLTRUE_v16i8:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
27835 : /* 53195*/ /*Scope*/ 11, /*->53207*/
27836 : /* 53196*/ OPC_CheckChild1Type, MVT::v8i16,
27837 : /* 53198*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27838 : /* 53200*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v8i16), 0,
27839 : MVT::i32, 1/*#Ops*/, 0,
27840 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
27841 : // Dst: (ALLTRUE_v8i16:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
27842 : /* 53207*/ /*Scope*/ 11, /*->53219*/
27843 : /* 53208*/ OPC_CheckChild1Type, MVT::v4i32,
27844 : /* 53210*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27845 : /* 53212*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v4i32), 0,
27846 : MVT::i32, 1/*#Ops*/, 0,
27847 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
27848 : // Dst: (ALLTRUE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
27849 : /* 53219*/ /*Scope*/ 11, /*->53231*/
27850 : /* 53220*/ OPC_CheckChild1Type, MVT::v2i64,
27851 : /* 53222*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27852 : /* 53224*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v2i64), 0,
27853 : MVT::i32, 1/*#Ops*/, 0,
27854 : // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
27855 : // Dst: (ALLTRUE_v2i64:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
27856 : /* 53231*/ 0, /*End of Scope*/
27857 : /* 53232*/ /*Scope*/ 40, /*->53273*/
27858 : /* 53233*/ OPC_CheckChild0Integer, 46|128,42/*5422*/,
27859 : /* 53236*/ OPC_RecordChild1, // #0 = $lhs
27860 : /* 53237*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53255
27861 : /* 53240*/ OPC_CheckChild1Type, MVT::v16i8,
27862 : /* 53242*/ OPC_RecordChild2, // #1 = $rhs
27863 : /* 53243*/ OPC_CheckChild2Type, MVT::v16i8,
27864 : /* 53245*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27865 : /* 53247*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_v16i8), 0,
27866 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27867 : // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5422:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27868 : // Dst: (ADD_SAT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27869 : /* 53255*/ /*SwitchType*/ 15, MVT::v8i16,// ->53272
27870 : /* 53257*/ OPC_CheckChild1Type, MVT::v8i16,
27871 : /* 53259*/ OPC_RecordChild2, // #1 = $rhs
27872 : /* 53260*/ OPC_CheckChild2Type, MVT::v8i16,
27873 : /* 53262*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27874 : /* 53264*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_v8i16), 0,
27875 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27876 : // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5422:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27877 : // Dst: (ADD_SAT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27878 : /* 53272*/ 0, // EndSwitchType
27879 : /* 53273*/ /*Scope*/ 40, /*->53314*/
27880 : /* 53274*/ OPC_CheckChild0Integer, 47|128,42/*5423*/,
27881 : /* 53277*/ OPC_RecordChild1, // #0 = $lhs
27882 : /* 53278*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53296
27883 : /* 53281*/ OPC_CheckChild1Type, MVT::v16i8,
27884 : /* 53283*/ OPC_RecordChild2, // #1 = $rhs
27885 : /* 53284*/ OPC_CheckChild2Type, MVT::v16i8,
27886 : /* 53286*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27887 : /* 53288*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_v16i8), 0,
27888 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27889 : // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5423:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27890 : // Dst: (ADD_SAT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27891 : /* 53296*/ /*SwitchType*/ 15, MVT::v8i16,// ->53313
27892 : /* 53298*/ OPC_CheckChild1Type, MVT::v8i16,
27893 : /* 53300*/ OPC_RecordChild2, // #1 = $rhs
27894 : /* 53301*/ OPC_CheckChild2Type, MVT::v8i16,
27895 : /* 53303*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27896 : /* 53305*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_v8i16), 0,
27897 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27898 : // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5423:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27899 : // Dst: (ADD_SAT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27900 : /* 53313*/ 0, // EndSwitchType
27901 : /* 53314*/ /*Scope*/ 40, /*->53355*/
27902 : /* 53315*/ OPC_CheckChild0Integer, 66|128,42/*5442*/,
27903 : /* 53318*/ OPC_RecordChild1, // #0 = $lhs
27904 : /* 53319*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53337
27905 : /* 53322*/ OPC_CheckChild1Type, MVT::v16i8,
27906 : /* 53324*/ OPC_RecordChild2, // #1 = $rhs
27907 : /* 53325*/ OPC_CheckChild2Type, MVT::v16i8,
27908 : /* 53327*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27909 : /* 53329*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_v16i8), 0,
27910 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27911 : // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5442:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27912 : // Dst: (SUB_SAT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27913 : /* 53337*/ /*SwitchType*/ 15, MVT::v8i16,// ->53354
27914 : /* 53339*/ OPC_CheckChild1Type, MVT::v8i16,
27915 : /* 53341*/ OPC_RecordChild2, // #1 = $rhs
27916 : /* 53342*/ OPC_CheckChild2Type, MVT::v8i16,
27917 : /* 53344*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27918 : /* 53346*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_v8i16), 0,
27919 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27920 : // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5442:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27921 : // Dst: (SUB_SAT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27922 : /* 53354*/ 0, // EndSwitchType
27923 : /* 53355*/ /*Scope*/ 40, /*->53396*/
27924 : /* 53356*/ OPC_CheckChild0Integer, 67|128,42/*5443*/,
27925 : /* 53359*/ OPC_RecordChild1, // #0 = $lhs
27926 : /* 53360*/ OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53378
27927 : /* 53363*/ OPC_CheckChild1Type, MVT::v16i8,
27928 : /* 53365*/ OPC_RecordChild2, // #1 = $rhs
27929 : /* 53366*/ OPC_CheckChild2Type, MVT::v16i8,
27930 : /* 53368*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27931 : /* 53370*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_v16i8), 0,
27932 : MVT::v16i8, 2/*#Ops*/, 0, 1,
27933 : // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5443:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
27934 : // Dst: (SUB_SAT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
27935 : /* 53378*/ /*SwitchType*/ 15, MVT::v8i16,// ->53395
27936 : /* 53380*/ OPC_CheckChild1Type, MVT::v8i16,
27937 : /* 53382*/ OPC_RecordChild2, // #1 = $rhs
27938 : /* 53383*/ OPC_CheckChild2Type, MVT::v8i16,
27939 : /* 53385*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27940 : /* 53387*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_v8i16), 0,
27941 : MVT::v8i16, 2/*#Ops*/, 0, 1,
27942 : // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5443:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
27943 : // Dst: (SUB_SAT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
27944 : /* 53395*/ 0, // EndSwitchType
27945 : /* 53396*/ /*Scope*/ 4|128,1/*132*/, /*->53530*/
27946 : /* 53398*/ OPC_CheckChild0Integer, 53|128,42/*5429*/,
27947 : /* 53401*/ OPC_RecordChild1, // #0 = $c
27948 : /* 53402*/ OPC_SwitchType /*6 cases */, 19, MVT::v16i8,// ->53424
27949 : /* 53405*/ OPC_CheckChild1Type, MVT::v16i8,
27950 : /* 53407*/ OPC_RecordChild2, // #1 = $v1
27951 : /* 53408*/ OPC_CheckChild2Type, MVT::v16i8,
27952 : /* 53410*/ OPC_RecordChild3, // #2 = $v2
27953 : /* 53411*/ OPC_CheckChild3Type, MVT::v16i8,
27954 : /* 53413*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27955 : /* 53415*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
27956 : MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
27957 : // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5429:{ *:[iPTR] }, V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2) - Complexity = 8
27958 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
27959 : /* 53424*/ /*SwitchType*/ 19, MVT::v8i16,// ->53445
27960 : /* 53426*/ OPC_CheckChild1Type, MVT::v8i16,
27961 : /* 53428*/ OPC_RecordChild2, // #1 = $v1
27962 : /* 53429*/ OPC_CheckChild2Type, MVT::v8i16,
27963 : /* 53431*/ OPC_RecordChild3, // #2 = $v2
27964 : /* 53432*/ OPC_CheckChild3Type, MVT::v8i16,
27965 : /* 53434*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27966 : /* 53436*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
27967 : MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
27968 : // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5429:{ *:[iPTR] }, V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2) - Complexity = 8
27969 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
27970 : /* 53445*/ /*SwitchType*/ 19, MVT::v4i32,// ->53466
27971 : /* 53447*/ OPC_CheckChild1Type, MVT::v4i32,
27972 : /* 53449*/ OPC_RecordChild2, // #1 = $v1
27973 : /* 53450*/ OPC_CheckChild2Type, MVT::v4i32,
27974 : /* 53452*/ OPC_RecordChild3, // #2 = $v2
27975 : /* 53453*/ OPC_CheckChild3Type, MVT::v4i32,
27976 : /* 53455*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27977 : /* 53457*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
27978 : MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
27979 : // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5429:{ *:[iPTR] }, V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2) - Complexity = 8
27980 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
27981 : /* 53466*/ /*SwitchType*/ 19, MVT::v2i64,// ->53487
27982 : /* 53468*/ OPC_CheckChild1Type, MVT::v2i64,
27983 : /* 53470*/ OPC_RecordChild2, // #1 = $v1
27984 : /* 53471*/ OPC_CheckChild2Type, MVT::v2i64,
27985 : /* 53473*/ OPC_RecordChild3, // #2 = $v2
27986 : /* 53474*/ OPC_CheckChild3Type, MVT::v2i64,
27987 : /* 53476*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27988 : /* 53478*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
27989 : MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
27990 : // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5429:{ *:[iPTR] }, V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2) - Complexity = 8
27991 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
27992 : /* 53487*/ /*SwitchType*/ 19, MVT::v4f32,// ->53508
27993 : /* 53489*/ OPC_CheckChild1Type, MVT::v4f32,
27994 : /* 53491*/ OPC_RecordChild2, // #1 = $v1
27995 : /* 53492*/ OPC_CheckChild2Type, MVT::v4f32,
27996 : /* 53494*/ OPC_RecordChild3, // #2 = $v2
27997 : /* 53495*/ OPC_CheckChild3Type, MVT::v4f32,
27998 : /* 53497*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
27999 : /* 53499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4f32), 0,
28000 : MVT::v4f32, 3/*#Ops*/, 1, 2, 0,
28001 : // Src: (intrinsic_wo_chain:{ *:[v4f32] } 5429:{ *:[iPTR] }, V128:{ *:[v4f32] }:$c, V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2) - Complexity = 8
28002 : // Dst: (BITSELECT_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2, V128:{ *:[v4f32] }:$c)
28003 : /* 53508*/ /*SwitchType*/ 19, MVT::v2f64,// ->53529
28004 : /* 53510*/ OPC_CheckChild1Type, MVT::v2f64,
28005 : /* 53512*/ OPC_RecordChild2, // #1 = $v1
28006 : /* 53513*/ OPC_CheckChild2Type, MVT::v2f64,
28007 : /* 53515*/ OPC_RecordChild3, // #2 = $v2
28008 : /* 53516*/ OPC_CheckChild3Type, MVT::v2f64,
28009 : /* 53518*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28010 : /* 53520*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2f64), 0,
28011 : MVT::v2f64, 3/*#Ops*/, 1, 2, 0,
28012 : // Src: (intrinsic_wo_chain:{ *:[v2f64] } 5429:{ *:[iPTR] }, V128:{ *:[v2f64] }:$c, V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2) - Complexity = 8
28013 : // Dst: (BITSELECT_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2, V128:{ *:[v2f64] }:$c)
28014 : /* 53529*/ 0, // EndSwitchType
28015 : /* 53530*/ 0, /*End of Scope*/
28016 : /* 53531*/ /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->53696
28017 : /* 53535*/ OPC_RecordChild0, // #0 = $vec
28018 : /* 53536*/ OPC_Scope, 26, /*->53564*/ // 6 children in Scope
28019 : /* 53538*/ OPC_CheckChild0Type, MVT::v4i32,
28020 : /* 53540*/ OPC_RecordChild1, // #1 = $idx
28021 : /* 53541*/ OPC_MoveChild1,
28022 : /* 53542*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28023 : /* 53545*/ OPC_CheckPredicate, 23, // Predicate_LaneIdx4
28024 : /* 53547*/ OPC_CheckType, MVT::i32,
28025 : /* 53549*/ OPC_MoveParent,
28026 : /* 53550*/ OPC_CheckType, MVT::i32,
28027 : /* 53552*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28028 : /* 53554*/ OPC_EmitConvertToTarget, 1,
28029 : /* 53556*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v4i32), 0,
28030 : MVT::i32, 2/*#Ops*/, 0, 2,
28031 : // Src: (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
28032 : // Dst: (EXTRACT_LANE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx)
28033 : /* 53564*/ /*Scope*/ 26, /*->53591*/
28034 : /* 53565*/ OPC_CheckChild0Type, MVT::v2i64,
28035 : /* 53567*/ OPC_RecordChild1, // #1 = $idx
28036 : /* 53568*/ OPC_MoveChild1,
28037 : /* 53569*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28038 : /* 53572*/ OPC_CheckPredicate, 24, // Predicate_LaneIdx2
28039 : /* 53574*/ OPC_CheckType, MVT::i32,
28040 : /* 53576*/ OPC_MoveParent,
28041 : /* 53577*/ OPC_CheckType, MVT::i64,
28042 : /* 53579*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28043 : /* 53581*/ OPC_EmitConvertToTarget, 1,
28044 : /* 53583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v2i64), 0,
28045 : MVT::i64, 2/*#Ops*/, 0, 2,
28046 : // Src: (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
28047 : // Dst: (EXTRACT_LANE_v2i64:{ *:[i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx)
28048 : /* 53591*/ /*Scope*/ 24, /*->53616*/
28049 : /* 53592*/ OPC_CheckChild0Type, MVT::v16i8,
28050 : /* 53594*/ OPC_RecordChild1, // #1 = $idx
28051 : /* 53595*/ OPC_MoveChild1,
28052 : /* 53596*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28053 : /* 53599*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx16
28054 : /* 53601*/ OPC_CheckType, MVT::i32,
28055 : /* 53603*/ OPC_MoveParent,
28056 : /* 53604*/ OPC_CheckType, MVT::i32,
28057 : /* 53606*/ OPC_EmitConvertToTarget, 1,
28058 : /* 53608*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_u), 0,
28059 : MVT::i32, 2/*#Ops*/, 0, 2,
28060 : // Src: (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
28061 : // Dst: (EXTRACT_LANE_v16i8_u:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx)
28062 : /* 53616*/ /*Scope*/ 24, /*->53641*/
28063 : /* 53617*/ OPC_CheckChild0Type, MVT::v8i16,
28064 : /* 53619*/ OPC_RecordChild1, // #1 = $idx
28065 : /* 53620*/ OPC_MoveChild1,
28066 : /* 53621*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28067 : /* 53624*/ OPC_CheckPredicate, 6, // Predicate_LaneIdx8
28068 : /* 53626*/ OPC_CheckType, MVT::i32,
28069 : /* 53628*/ OPC_MoveParent,
28070 : /* 53629*/ OPC_CheckType, MVT::i32,
28071 : /* 53631*/ OPC_EmitConvertToTarget, 1,
28072 : /* 53633*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_u), 0,
28073 : MVT::i32, 2/*#Ops*/, 0, 2,
28074 : // Src: (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
28075 : // Dst: (EXTRACT_LANE_v8i16_u:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx)
28076 : /* 53641*/ /*Scope*/ 26, /*->53668*/
28077 : /* 53642*/ OPC_CheckChild0Type, MVT::v4f32,
28078 : /* 53644*/ OPC_RecordChild1, // #1 = $idx
28079 : /* 53645*/ OPC_MoveChild1,
28080 : /* 53646*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28081 : /* 53649*/ OPC_CheckPredicate, 23, // Predicate_LaneIdx4
28082 : /* 53651*/ OPC_CheckType, MVT::i32,
28083 : /* 53653*/ OPC_MoveParent,
28084 : /* 53654*/ OPC_CheckType, MVT::f32,
28085 : /* 53656*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28086 : /* 53658*/ OPC_EmitConvertToTarget, 1,
28087 : /* 53660*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v4f32), 0,
28088 : MVT::f32, 2/*#Ops*/, 0, 2,
28089 : // Src: (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
28090 : // Dst: (EXTRACT_LANE_v4f32:{ *:[f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx)
28091 : /* 53668*/ /*Scope*/ 26, /*->53695*/
28092 : /* 53669*/ OPC_CheckChild0Type, MVT::v2f64,
28093 : /* 53671*/ OPC_RecordChild1, // #1 = $idx
28094 : /* 53672*/ OPC_MoveChild1,
28095 : /* 53673*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28096 : /* 53676*/ OPC_CheckPredicate, 24, // Predicate_LaneIdx2
28097 : /* 53678*/ OPC_CheckType, MVT::i32,
28098 : /* 53680*/ OPC_MoveParent,
28099 : /* 53681*/ OPC_CheckType, MVT::f64,
28100 : /* 53683*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28101 : /* 53685*/ OPC_EmitConvertToTarget, 1,
28102 : /* 53687*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v2f64), 0,
28103 : MVT::f64, 2/*#Ops*/, 0, 2,
28104 : // Src: (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
28105 : // Dst: (EXTRACT_LANE_v2f64:{ *:[f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx)
28106 : /* 53695*/ 0, /*End of Scope*/
28107 : /* 53696*/ /*SwitchOpcode*/ 107, TARGET_VAL(WebAssemblyISD::ARGUMENT),// ->53806
28108 : /* 53699*/ OPC_RecordChild0, // #0 = $argno
28109 : /* 53700*/ OPC_MoveChild0,
28110 : /* 53701*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28111 : /* 53704*/ OPC_MoveParent,
28112 : /* 53705*/ OPC_SwitchType /*11 cases */, 7, MVT::i32,// ->53715
28113 : /* 53708*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i32), 0,
28114 : MVT::i32, 1/*#Ops*/, 0,
28115 : // Src: (WebAssemblyargument:{ *:[i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28116 : // Dst: (ARGUMENT_i32:{ *:[i32] } (timm:{ *:[i32] }):$argno)
28117 : /* 53715*/ /*SwitchType*/ 7, MVT::i64,// ->53724
28118 : /* 53717*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i64), 0,
28119 : MVT::i64, 1/*#Ops*/, 0,
28120 : // Src: (WebAssemblyargument:{ *:[i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28121 : // Dst: (ARGUMENT_i64:{ *:[i64] } (timm:{ *:[i32] }):$argno)
28122 : /* 53724*/ /*SwitchType*/ 7, MVT::ExceptRef,// ->53733
28123 : /* 53726*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_ExceptRef), 0,
28124 : MVT::ExceptRef, 1/*#Ops*/, 0,
28125 : // Src: (WebAssemblyargument:{ *:[ExceptRef] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28126 : // Dst: (ARGUMENT_ExceptRef:{ *:[ExceptRef] } (timm:{ *:[i32] }):$argno)
28127 : /* 53733*/ /*SwitchType*/ 7, MVT::f32,// ->53742
28128 : /* 53735*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f32), 0,
28129 : MVT::f32, 1/*#Ops*/, 0,
28130 : // Src: (WebAssemblyargument:{ *:[f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28131 : // Dst: (ARGUMENT_f32:{ *:[f32] } (timm:{ *:[i32] }):$argno)
28132 : /* 53742*/ /*SwitchType*/ 7, MVT::f64,// ->53751
28133 : /* 53744*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f64), 0,
28134 : MVT::f64, 1/*#Ops*/, 0,
28135 : // Src: (WebAssemblyargument:{ *:[f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28136 : // Dst: (ARGUMENT_f64:{ *:[f64] } (timm:{ *:[i32] }):$argno)
28137 : /* 53751*/ /*SwitchType*/ 7, MVT::v16i8,// ->53760
28138 : /* 53753*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v16i8), 0,
28139 : MVT::v16i8, 1/*#Ops*/, 0,
28140 : // Src: (WebAssemblyargument:{ *:[v16i8] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28141 : // Dst: (ARGUMENT_v16i8:{ *:[v16i8] } (timm:{ *:[i32] }):$argno)
28142 : /* 53760*/ /*SwitchType*/ 7, MVT::v8i16,// ->53769
28143 : /* 53762*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v8i16), 0,
28144 : MVT::v8i16, 1/*#Ops*/, 0,
28145 : // Src: (WebAssemblyargument:{ *:[v8i16] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28146 : // Dst: (ARGUMENT_v8i16:{ *:[v8i16] } (timm:{ *:[i32] }):$argno)
28147 : /* 53769*/ /*SwitchType*/ 7, MVT::v4i32,// ->53778
28148 : /* 53771*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4i32), 0,
28149 : MVT::v4i32, 1/*#Ops*/, 0,
28150 : // Src: (WebAssemblyargument:{ *:[v4i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28151 : // Dst: (ARGUMENT_v4i32:{ *:[v4i32] } (timm:{ *:[i32] }):$argno)
28152 : /* 53778*/ /*SwitchType*/ 7, MVT::v2i64,// ->53787
28153 : /* 53780*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2i64), 0,
28154 : MVT::v2i64, 1/*#Ops*/, 0,
28155 : // Src: (WebAssemblyargument:{ *:[v2i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28156 : // Dst: (ARGUMENT_v2i64:{ *:[v2i64] } (timm:{ *:[i32] }):$argno)
28157 : /* 53787*/ /*SwitchType*/ 7, MVT::v4f32,// ->53796
28158 : /* 53789*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4f32), 0,
28159 : MVT::v4f32, 1/*#Ops*/, 0,
28160 : // Src: (WebAssemblyargument:{ *:[v4f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28161 : // Dst: (ARGUMENT_v4f32:{ *:[v4f32] } (timm:{ *:[i32] }):$argno)
28162 : /* 53796*/ /*SwitchType*/ 7, MVT::v2f64,// ->53805
28163 : /* 53798*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2f64), 0,
28164 : MVT::v2f64, 1/*#Ops*/, 0,
28165 : // Src: (WebAssemblyargument:{ *:[v2f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
28166 : // Dst: (ARGUMENT_v2f64:{ *:[v2f64] } (timm:{ *:[i32] }):$argno)
28167 : /* 53805*/ 0, // EndSwitchType
28168 : /* 53806*/ /*SwitchOpcode*/ 30, TARGET_VAL(WebAssemblyISD::Wrapper),// ->53839
28169 : /* 53809*/ OPC_RecordChild0, // #0 = $addr
28170 : /* 53810*/ OPC_MoveChild0,
28171 : /* 53811*/ OPC_SwitchOpcode /*2 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->53825
28172 : /* 53815*/ OPC_MoveParent,
28173 : /* 53816*/ OPC_CheckType, MVT::i32,
28174 : /* 53818*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
28175 : MVT::i32, 1/*#Ops*/, 0,
28176 : // Src: (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr) - Complexity = 6
28177 : // Dst: (CONST_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr)
28178 : /* 53825*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->53838
28179 : /* 53828*/ OPC_MoveParent,
28180 : /* 53829*/ OPC_CheckType, MVT::i32,
28181 : /* 53831*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
28182 : MVT::i32, 1/*#Ops*/, 0,
28183 : // Src: (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr) - Complexity = 6
28184 : // Dst: (CONST_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr)
28185 : /* 53838*/ 0, // EndSwitchOpcode
28186 : /* 53839*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::Constant),// ->53867
28187 : /* 53842*/ OPC_RecordNode, // #0 = $imm
28188 : /* 53843*/ OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->53855
28189 : /* 53846*/ OPC_EmitConvertToTarget, 0,
28190 : /* 53848*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
28191 : MVT::i32, 1/*#Ops*/, 1,
28192 : // Src: (imm:{ *:[i32] }):$imm - Complexity = 3
28193 : // Dst: (CONST_I32:{ *:[i32] } (imm:{ *:[i32] }):$imm)
28194 : /* 53855*/ /*SwitchType*/ 9, MVT::i64,// ->53866
28195 : /* 53857*/ OPC_EmitConvertToTarget, 0,
28196 : /* 53859*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
28197 : MVT::i64, 1/*#Ops*/, 1,
28198 : // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
28199 : // Dst: (CONST_I64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
28200 : /* 53866*/ 0, // EndSwitchType
28201 : /* 53867*/ /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->53884
28202 : /* 53870*/ OPC_RecordNode, // #0 = 'br' chained node
28203 : /* 53871*/ OPC_RecordChild1, // #1 = $dst
28204 : /* 53872*/ OPC_MoveChild1,
28205 : /* 53873*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
28206 : /* 53876*/ OPC_MoveParent,
28207 : /* 53877*/ OPC_EmitMergeInputChains1_0,
28208 : /* 53878*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR), 0|OPFL_Chain,
28209 : 1/*#Ops*/, 1,
28210 : // Src: (br (bb:{ *:[Other] }):$dst) - Complexity = 3
28211 : // Dst: (BR (bb:{ *:[Other] }):$dst)
28212 : /* 53884*/ /*SwitchOpcode*/ 24, TARGET_VAL(WebAssemblyISD::BR_TABLE),// ->53911
28213 : /* 53887*/ OPC_RecordNode, // #0 = 'WebAssemblybr_table' chained node
28214 : /* 53888*/ OPC_RecordChild1, // #1 = $index
28215 : /* 53889*/ OPC_Scope, 9, /*->53900*/ // 2 children in Scope
28216 : /* 53891*/ OPC_CheckChild1Type, MVT::i32,
28217 : /* 53893*/ OPC_EmitMergeInputChains1_0,
28218 : /* 53894*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
28219 : 1/*#Ops*/, 1,
28220 : // Src: (WebAssemblybr_table I32:{ *:[i32] }:$index) - Complexity = 3
28221 : // Dst: (BR_TABLE_I32 I32:{ *:[i32] }:$index)
28222 : /* 53900*/ /*Scope*/ 9, /*->53910*/
28223 : /* 53901*/ OPC_CheckChild1Type, MVT::i64,
28224 : /* 53903*/ OPC_EmitMergeInputChains1_0,
28225 : /* 53904*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
28226 : 1/*#Ops*/, 1,
28227 : // Src: (WebAssemblybr_table I64:{ *:[i64] }:$index) - Complexity = 3
28228 : // Dst: (BR_TABLE_I64 I64:{ *:[i64] }:$index)
28229 : /* 53910*/ 0, /*End of Scope*/
28230 : /* 53911*/ /*SwitchOpcode*/ 8|128,1/*136*/, TARGET_VAL(WebAssemblyISD::RETURN),// ->54051
28231 : /* 53915*/ OPC_RecordNode, // #0 = 'WebAssemblyreturn' chained node
28232 : /* 53916*/ OPC_Scope, 125, /*->54043*/ // 2 children in Scope
28233 : /* 53918*/ OPC_RecordChild1, // #1 = $val
28234 : /* 53919*/ OPC_Scope, 9, /*->53930*/ // 11 children in Scope
28235 : /* 53921*/ OPC_CheckChild1Type, MVT::i32,
28236 : /* 53923*/ OPC_EmitMergeInputChains1_0,
28237 : /* 53924*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_I32), 0|OPFL_Chain,
28238 : 1/*#Ops*/, 1,
28239 : // Src: (WebAssemblyreturn I32:{ *:[i32] }:$val) - Complexity = 3
28240 : // Dst: (RETURN_I32 I32:{ *:[i32] }:$val)
28241 : /* 53930*/ /*Scope*/ 9, /*->53940*/
28242 : /* 53931*/ OPC_CheckChild1Type, MVT::i64,
28243 : /* 53933*/ OPC_EmitMergeInputChains1_0,
28244 : /* 53934*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_I64), 0|OPFL_Chain,
28245 : 1/*#Ops*/, 1,
28246 : // Src: (WebAssemblyreturn I64:{ *:[i64] }:$val) - Complexity = 3
28247 : // Dst: (RETURN_I64 I64:{ *:[i64] }:$val)
28248 : /* 53940*/ /*Scope*/ 9, /*->53950*/
28249 : /* 53941*/ OPC_CheckChild1Type, MVT::f32,
28250 : /* 53943*/ OPC_EmitMergeInputChains1_0,
28251 : /* 53944*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_F32), 0|OPFL_Chain,
28252 : 1/*#Ops*/, 1,
28253 : // Src: (WebAssemblyreturn F32:{ *:[f32] }:$val) - Complexity = 3
28254 : // Dst: (RETURN_F32 F32:{ *:[f32] }:$val)
28255 : /* 53950*/ /*Scope*/ 9, /*->53960*/
28256 : /* 53951*/ OPC_CheckChild1Type, MVT::f64,
28257 : /* 53953*/ OPC_EmitMergeInputChains1_0,
28258 : /* 53954*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_F64), 0|OPFL_Chain,
28259 : 1/*#Ops*/, 1,
28260 : // Src: (WebAssemblyreturn F64:{ *:[f64] }:$val) - Complexity = 3
28261 : // Dst: (RETURN_F64 F64:{ *:[f64] }:$val)
28262 : /* 53960*/ /*Scope*/ 9, /*->53970*/
28263 : /* 53961*/ OPC_CheckChild1Type, MVT::ExceptRef,
28264 : /* 53963*/ OPC_EmitMergeInputChains1_0,
28265 : /* 53964*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_EXCEPT_REF), 0|OPFL_Chain,
28266 : 1/*#Ops*/, 1,
28267 : // Src: (WebAssemblyreturn EXCEPT_REF:{ *:[ExceptRef] }:$val) - Complexity = 3
28268 : // Dst: (RETURN_EXCEPT_REF EXCEPT_REF:{ *:[ExceptRef] }:$val)
28269 : /* 53970*/ /*Scope*/ 11, /*->53982*/
28270 : /* 53971*/ OPC_CheckChild1Type, MVT::v16i8,
28271 : /* 53973*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28272 : /* 53975*/ OPC_EmitMergeInputChains1_0,
28273 : /* 53976*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v16i8), 0|OPFL_Chain,
28274 : 1/*#Ops*/, 1,
28275 : // Src: (WebAssemblyreturn V128:{ *:[v16i8] }:$val) - Complexity = 3
28276 : // Dst: (RETURN_v16i8 V128:{ *:[v16i8] }:$val)
28277 : /* 53982*/ /*Scope*/ 11, /*->53994*/
28278 : /* 53983*/ OPC_CheckChild1Type, MVT::v8i16,
28279 : /* 53985*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28280 : /* 53987*/ OPC_EmitMergeInputChains1_0,
28281 : /* 53988*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v8i16), 0|OPFL_Chain,
28282 : 1/*#Ops*/, 1,
28283 : // Src: (WebAssemblyreturn V128:{ *:[v8i16] }:$val) - Complexity = 3
28284 : // Dst: (RETURN_v8i16 V128:{ *:[v8i16] }:$val)
28285 : /* 53994*/ /*Scope*/ 11, /*->54006*/
28286 : /* 53995*/ OPC_CheckChild1Type, MVT::v4i32,
28287 : /* 53997*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28288 : /* 53999*/ OPC_EmitMergeInputChains1_0,
28289 : /* 54000*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v4i32), 0|OPFL_Chain,
28290 : 1/*#Ops*/, 1,
28291 : // Src: (WebAssemblyreturn V128:{ *:[v4i32] }:$val) - Complexity = 3
28292 : // Dst: (RETURN_v4i32 V128:{ *:[v4i32] }:$val)
28293 : /* 54006*/ /*Scope*/ 11, /*->54018*/
28294 : /* 54007*/ OPC_CheckChild1Type, MVT::v2i64,
28295 : /* 54009*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28296 : /* 54011*/ OPC_EmitMergeInputChains1_0,
28297 : /* 54012*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v2i64), 0|OPFL_Chain,
28298 : 1/*#Ops*/, 1,
28299 : // Src: (WebAssemblyreturn V128:{ *:[v2i64] }:$val) - Complexity = 3
28300 : // Dst: (RETURN_v2i64 V128:{ *:[v2i64] }:$val)
28301 : /* 54018*/ /*Scope*/ 11, /*->54030*/
28302 : /* 54019*/ OPC_CheckChild1Type, MVT::v4f32,
28303 : /* 54021*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28304 : /* 54023*/ OPC_EmitMergeInputChains1_0,
28305 : /* 54024*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v4f32), 0|OPFL_Chain,
28306 : 1/*#Ops*/, 1,
28307 : // Src: (WebAssemblyreturn V128:{ *:[v4f32] }:$val) - Complexity = 3
28308 : // Dst: (RETURN_v4f32 V128:{ *:[v4f32] }:$val)
28309 : /* 54030*/ /*Scope*/ 11, /*->54042*/
28310 : /* 54031*/ OPC_CheckChild1Type, MVT::v2f64,
28311 : /* 54033*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28312 : /* 54035*/ OPC_EmitMergeInputChains1_0,
28313 : /* 54036*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v2f64), 0|OPFL_Chain,
28314 : 1/*#Ops*/, 1,
28315 : // Src: (WebAssemblyreturn V128:{ *:[v2f64] }:$val) - Complexity = 3
28316 : // Dst: (RETURN_v2f64 V128:{ *:[v2f64] }:$val)
28317 : /* 54042*/ 0, /*End of Scope*/
28318 : /* 54043*/ /*Scope*/ 6, /*->54050*/
28319 : /* 54044*/ OPC_EmitMergeInputChains1_0,
28320 : /* 54045*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_VOID), 0|OPFL_Chain,
28321 : 0/*#Ops*/,
28322 : // Src: (WebAssemblyreturn) - Complexity = 3
28323 : // Dst: (RETURN_VOID)
28324 : /* 54050*/ 0, /*End of Scope*/
28325 : /* 54051*/ /*SwitchOpcode*/ 7, TARGET_VAL(ISD::TRAP),// ->54061
28326 : /* 54054*/ OPC_RecordNode, // #0 = 'trap' chained node
28327 : /* 54055*/ OPC_EmitMergeInputChains1_0,
28328 : /* 54056*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::UNREACHABLE), 0|OPFL_Chain,
28329 : 0/*#Ops*/,
28330 : // Src: (trap) - Complexity = 3
28331 : // Dst: (UNREACHABLE)
28332 : /* 54061*/ /*SwitchOpcode*/ 9, TARGET_VAL(ISD::CLEANUPRET),// ->54073
28333 : /* 54064*/ OPC_RecordNode, // #0 = 'cleanupret' chained node
28334 : /* 54065*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
28335 : /* 54067*/ OPC_EmitMergeInputChains1_0,
28336 : /* 54068*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CLEANUPRET), 0|OPFL_Chain,
28337 : 0/*#Ops*/,
28338 : // Src: (cleanupret) - Complexity = 3
28339 : // Dst: (CLEANUPRET)
28340 : /* 54073*/ /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CATCHRET),// ->54099
28341 : /* 54076*/ OPC_RecordNode, // #0 = 'catchret' chained node
28342 : /* 54077*/ OPC_RecordChild1, // #1 = $dst
28343 : /* 54078*/ OPC_MoveChild1,
28344 : /* 54079*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
28345 : /* 54082*/ OPC_MoveParent,
28346 : /* 54083*/ OPC_RecordChild2, // #2 = $from
28347 : /* 54084*/ OPC_MoveChild2,
28348 : /* 54085*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
28349 : /* 54088*/ OPC_MoveParent,
28350 : /* 54089*/ OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
28351 : /* 54091*/ OPC_EmitMergeInputChains1_0,
28352 : /* 54092*/ OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CATCHRET), 0|OPFL_Chain,
28353 : 2/*#Ops*/, 1, 2,
28354 : // Src: (catchret (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from) - Complexity = 3
28355 : // Dst: (CATCHRET (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from)
28356 : /* 54099*/ /*SwitchOpcode*/ 72, TARGET_VAL(ISD::ADD),// ->54174
28357 : /* 54102*/ OPC_RecordChild0, // #0 = $lhs
28358 : /* 54103*/ OPC_RecordChild1, // #1 = $rhs
28359 : /* 54104*/ OPC_SwitchType /*6 cases */, 8, MVT::i32,// ->54115
28360 : /* 54107*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I32), 0,
28361 : MVT::i32, 2/*#Ops*/, 0, 1,
28362 : // Src: (add:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28363 : // Dst: (ADD_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28364 : /* 54115*/ /*SwitchType*/ 8, MVT::i64,// ->54125
28365 : /* 54117*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I64), 0,
28366 : MVT::i64, 2/*#Ops*/, 0, 1,
28367 : // Src: (add:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28368 : // Dst: (ADD_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28369 : /* 54125*/ /*SwitchType*/ 10, MVT::v16i8,// ->54137
28370 : /* 54127*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28371 : /* 54129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v16i8), 0,
28372 : MVT::v16i8, 2/*#Ops*/, 0, 1,
28373 : // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
28374 : // Dst: (ADD_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
28375 : /* 54137*/ /*SwitchType*/ 10, MVT::v8i16,// ->54149
28376 : /* 54139*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28377 : /* 54141*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v8i16), 0,
28378 : MVT::v8i16, 2/*#Ops*/, 0, 1,
28379 : // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
28380 : // Dst: (ADD_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
28381 : /* 54149*/ /*SwitchType*/ 10, MVT::v4i32,// ->54161
28382 : /* 54151*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28383 : /* 54153*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v4i32), 0,
28384 : MVT::v4i32, 2/*#Ops*/, 0, 1,
28385 : // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
28386 : // Dst: (ADD_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
28387 : /* 54161*/ /*SwitchType*/ 10, MVT::v2i64,// ->54173
28388 : /* 54163*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28389 : /* 54165*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v2i64), 0,
28390 : MVT::v2i64, 2/*#Ops*/, 0, 1,
28391 : // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
28392 : // Dst: (ADD_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
28393 : /* 54173*/ 0, // EndSwitchType
28394 : /* 54174*/ /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(ISD::SUB),// ->54313
28395 : /* 54178*/ OPC_Scope, 24, /*->54204*/ // 3 children in Scope
28396 : /* 54180*/ OPC_RecordChild0, // #0 = $lhs
28397 : /* 54181*/ OPC_RecordChild1, // #1 = $rhs
28398 : /* 54182*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54193
28399 : /* 54185*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I32), 0,
28400 : MVT::i32, 2/*#Ops*/, 0, 1,
28401 : // Src: (sub:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28402 : // Dst: (SUB_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28403 : /* 54193*/ /*SwitchType*/ 8, MVT::i64,// ->54203
28404 : /* 54195*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I64), 0,
28405 : MVT::i64, 2/*#Ops*/, 0, 1,
28406 : // Src: (sub:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28407 : // Dst: (SUB_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28408 : /* 54203*/ 0, // EndSwitchType
28409 : /* 54204*/ /*Scope*/ 54, /*->54259*/
28410 : /* 54205*/ OPC_MoveChild0,
28411 : /* 54206*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28412 : /* 54209*/ OPC_CheckPredicate, 25, // Predicate_immAllZerosV
28413 : /* 54211*/ OPC_MoveParent,
28414 : /* 54212*/ OPC_RecordChild1, // #0 = $vec
28415 : /* 54213*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->54225
28416 : /* 54216*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28417 : /* 54218*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v16i8), 0,
28418 : MVT::v16i8, 1/*#Ops*/, 0,
28419 : // Src: (sub:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v16i8] }:$vec) - Complexity = 7
28420 : // Dst: (NEG_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
28421 : /* 54225*/ /*SwitchType*/ 9, MVT::v8i16,// ->54236
28422 : /* 54227*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28423 : /* 54229*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v8i16), 0,
28424 : MVT::v8i16, 1/*#Ops*/, 0,
28425 : // Src: (sub:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v8i16] }:$vec) - Complexity = 7
28426 : // Dst: (NEG_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
28427 : /* 54236*/ /*SwitchType*/ 9, MVT::v4i32,// ->54247
28428 : /* 54238*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28429 : /* 54240*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v4i32), 0,
28430 : MVT::v4i32, 1/*#Ops*/, 0,
28431 : // Src: (sub:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v4i32] }:$vec) - Complexity = 7
28432 : // Dst: (NEG_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
28433 : /* 54247*/ /*SwitchType*/ 9, MVT::v2i64,// ->54258
28434 : /* 54249*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28435 : /* 54251*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v2i64), 0,
28436 : MVT::v2i64, 1/*#Ops*/, 0,
28437 : // Src: (sub:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v2i64] }:$vec) - Complexity = 7
28438 : // Dst: (NEG_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
28439 : /* 54258*/ 0, // EndSwitchType
28440 : /* 54259*/ /*Scope*/ 52, /*->54312*/
28441 : /* 54260*/ OPC_RecordChild0, // #0 = $lhs
28442 : /* 54261*/ OPC_RecordChild1, // #1 = $rhs
28443 : /* 54262*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->54275
28444 : /* 54265*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28445 : /* 54267*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v16i8), 0,
28446 : MVT::v16i8, 2/*#Ops*/, 0, 1,
28447 : // Src: (sub:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
28448 : // Dst: (SUB_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
28449 : /* 54275*/ /*SwitchType*/ 10, MVT::v8i16,// ->54287
28450 : /* 54277*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28451 : /* 54279*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v8i16), 0,
28452 : MVT::v8i16, 2/*#Ops*/, 0, 1,
28453 : // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
28454 : // Dst: (SUB_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
28455 : /* 54287*/ /*SwitchType*/ 10, MVT::v4i32,// ->54299
28456 : /* 54289*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28457 : /* 54291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v4i32), 0,
28458 : MVT::v4i32, 2/*#Ops*/, 0, 1,
28459 : // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
28460 : // Dst: (SUB_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
28461 : /* 54299*/ /*SwitchType*/ 10, MVT::v2i64,// ->54311
28462 : /* 54301*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28463 : /* 54303*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v2i64), 0,
28464 : MVT::v2i64, 2/*#Ops*/, 0, 1,
28465 : // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
28466 : // Dst: (SUB_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
28467 : /* 54311*/ 0, // EndSwitchType
28468 : /* 54312*/ 0, /*End of Scope*/
28469 : /* 54313*/ /*SwitchOpcode*/ 60, TARGET_VAL(ISD::MUL),// ->54376
28470 : /* 54316*/ OPC_RecordChild0, // #0 = $lhs
28471 : /* 54317*/ OPC_RecordChild1, // #1 = $rhs
28472 : /* 54318*/ OPC_SwitchType /*5 cases */, 8, MVT::i32,// ->54329
28473 : /* 54321*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I32), 0,
28474 : MVT::i32, 2/*#Ops*/, 0, 1,
28475 : // Src: (mul:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28476 : // Dst: (MUL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28477 : /* 54329*/ /*SwitchType*/ 8, MVT::i64,// ->54339
28478 : /* 54331*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I64), 0,
28479 : MVT::i64, 2/*#Ops*/, 0, 1,
28480 : // Src: (mul:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28481 : // Dst: (MUL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28482 : /* 54339*/ /*SwitchType*/ 10, MVT::v16i8,// ->54351
28483 : /* 54341*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28484 : /* 54343*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v16i8), 0,
28485 : MVT::v16i8, 2/*#Ops*/, 0, 1,
28486 : // Src: (mul:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
28487 : // Dst: (MUL_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
28488 : /* 54351*/ /*SwitchType*/ 10, MVT::v8i16,// ->54363
28489 : /* 54353*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28490 : /* 54355*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v8i16), 0,
28491 : MVT::v8i16, 2/*#Ops*/, 0, 1,
28492 : // Src: (mul:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
28493 : // Dst: (MUL_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
28494 : /* 54363*/ /*SwitchType*/ 10, MVT::v4i32,// ->54375
28495 : /* 54365*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
28496 : /* 54367*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v4i32), 0,
28497 : MVT::v4i32, 2/*#Ops*/, 0, 1,
28498 : // Src: (mul:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
28499 : // Dst: (MUL_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
28500 : /* 54375*/ 0, // EndSwitchType
28501 : /* 54376*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SDIV),// ->54403
28502 : /* 54379*/ OPC_RecordChild0, // #0 = $lhs
28503 : /* 54380*/ OPC_RecordChild1, // #1 = $rhs
28504 : /* 54381*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54392
28505 : /* 54384*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I32), 0,
28506 : MVT::i32, 2/*#Ops*/, 0, 1,
28507 : // Src: (sdiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28508 : // Dst: (DIV_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28509 : /* 54392*/ /*SwitchType*/ 8, MVT::i64,// ->54402
28510 : /* 54394*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I64), 0,
28511 : MVT::i64, 2/*#Ops*/, 0, 1,
28512 : // Src: (sdiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28513 : // Dst: (DIV_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28514 : /* 54402*/ 0, // EndSwitchType
28515 : /* 54403*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UDIV),// ->54430
28516 : /* 54406*/ OPC_RecordChild0, // #0 = $lhs
28517 : /* 54407*/ OPC_RecordChild1, // #1 = $rhs
28518 : /* 54408*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54419
28519 : /* 54411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I32), 0,
28520 : MVT::i32, 2/*#Ops*/, 0, 1,
28521 : // Src: (udiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28522 : // Dst: (DIV_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28523 : /* 54419*/ /*SwitchType*/ 8, MVT::i64,// ->54429
28524 : /* 54421*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I64), 0,
28525 : MVT::i64, 2/*#Ops*/, 0, 1,
28526 : // Src: (udiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28527 : // Dst: (DIV_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28528 : /* 54429*/ 0, // EndSwitchType
28529 : /* 54430*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SREM),// ->54457
28530 : /* 54433*/ OPC_RecordChild0, // #0 = $lhs
28531 : /* 54434*/ OPC_RecordChild1, // #1 = $rhs
28532 : /* 54435*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54446
28533 : /* 54438*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I32), 0,
28534 : MVT::i32, 2/*#Ops*/, 0, 1,
28535 : // Src: (srem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28536 : // Dst: (REM_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28537 : /* 54446*/ /*SwitchType*/ 8, MVT::i64,// ->54456
28538 : /* 54448*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I64), 0,
28539 : MVT::i64, 2/*#Ops*/, 0, 1,
28540 : // Src: (srem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28541 : // Dst: (REM_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28542 : /* 54456*/ 0, // EndSwitchType
28543 : /* 54457*/ /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UREM),// ->54484
28544 : /* 54460*/ OPC_RecordChild0, // #0 = $lhs
28545 : /* 54461*/ OPC_RecordChild1, // #1 = $rhs
28546 : /* 54462*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54473
28547 : /* 54465*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I32), 0,
28548 : MVT::i32, 2/*#Ops*/, 0, 1,
28549 : // Src: (urem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28550 : // Dst: (REM_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28551 : /* 54473*/ /*SwitchType*/ 8, MVT::i64,// ->54483
28552 : /* 54475*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I64), 0,
28553 : MVT::i64, 2/*#Ops*/, 0, 1,
28554 : // Src: (urem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28555 : // Dst: (REM_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28556 : /* 54483*/ 0, // EndSwitchType
28557 : /* 54484*/ /*SwitchOpcode*/ 27|128,14/*1819*/, TARGET_VAL(ISD::OR),// ->56307
28558 : /* 54488*/ OPC_Scope, 24, /*->54514*/ // 3 children in Scope
28559 : /* 54490*/ OPC_RecordChild0, // #0 = $lhs
28560 : /* 54491*/ OPC_RecordChild1, // #1 = $rhs
28561 : /* 54492*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54503
28562 : /* 54495*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I32), 0,
28563 : MVT::i32, 2/*#Ops*/, 0, 1,
28564 : // Src: (or:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
28565 : // Dst: (OR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
28566 : /* 54503*/ /*SwitchType*/ 8, MVT::i64,// ->54513
28567 : /* 54505*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I64), 0,
28568 : MVT::i64, 2/*#Ops*/, 0, 1,
28569 : // Src: (or:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
28570 : // Dst: (OR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
28571 : /* 54513*/ 0, // EndSwitchType
28572 : /* 54514*/ /*Scope*/ 73|128,13/*1737*/, /*->56253*/
28573 : /* 54516*/ OPC_MoveChild0,
28574 : /* 54517*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28575 : /* 54520*/ OPC_Scope, 6|128,2/*262*/, /*->54785*/ // 9 children in Scope
28576 : /* 54523*/ OPC_RecordChild0, // #0 = $c
28577 : /* 54524*/ OPC_RecordChild1, // #1 = $v1
28578 : /* 54525*/ OPC_MoveParent,
28579 : /* 54526*/ OPC_MoveChild1,
28580 : /* 54527*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28581 : /* 54530*/ OPC_Scope, 89, /*->54621*/ // 4 children in Scope
28582 : /* 54532*/ OPC_MoveChild0,
28583 : /* 54533*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28584 : /* 54536*/ OPC_Scope, 58, /*->54596*/ // 2 children in Scope
28585 : /* 54538*/ OPC_CheckChild0Same, 0,
28586 : /* 54540*/ OPC_MoveChild1,
28587 : /* 54541*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28588 : /* 54544*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28589 : /* 54546*/ OPC_MoveParent,
28590 : /* 54547*/ OPC_MoveParent,
28591 : /* 54548*/ OPC_RecordChild1, // #2 = $v2
28592 : /* 54549*/ OPC_MoveParent,
28593 : /* 54550*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->54562
28594 : /* 54553*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28595 : MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28596 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28597 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28598 : /* 54562*/ /*SwitchType*/ 9, MVT::v8i16,// ->54573
28599 : /* 54564*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28600 : MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28601 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28602 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28603 : /* 54573*/ /*SwitchType*/ 9, MVT::v4i32,// ->54584
28604 : /* 54575*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
28605 : MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
28606 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
28607 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
28608 : /* 54584*/ /*SwitchType*/ 9, MVT::v2i64,// ->54595
28609 : /* 54586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
28610 : MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
28611 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
28612 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
28613 : /* 54595*/ 0, // EndSwitchType
28614 : /* 54596*/ /*Scope*/ 23, /*->54620*/
28615 : /* 54597*/ OPC_MoveChild0,
28616 : /* 54598*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28617 : /* 54601*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28618 : /* 54603*/ OPC_MoveParent,
28619 : /* 54604*/ OPC_CheckChild1Same, 0,
28620 : /* 54606*/ OPC_MoveParent,
28621 : /* 54607*/ OPC_RecordChild1, // #2 = $v2
28622 : /* 54608*/ OPC_MoveParent,
28623 : /* 54609*/ OPC_CheckType, MVT::v16i8,
28624 : /* 54611*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28625 : MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28626 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28627 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28628 : /* 54620*/ 0, /*End of Scope*/
28629 : /* 54621*/ /*Scope*/ 53, /*->54675*/
28630 : /* 54622*/ OPC_RecordChild0, // #2 = $v2
28631 : /* 54623*/ OPC_MoveChild1,
28632 : /* 54624*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28633 : /* 54627*/ OPC_Scope, 22, /*->54651*/ // 2 children in Scope
28634 : /* 54629*/ OPC_CheckChild0Same, 0,
28635 : /* 54631*/ OPC_MoveChild1,
28636 : /* 54632*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28637 : /* 54635*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28638 : /* 54637*/ OPC_MoveParent,
28639 : /* 54638*/ OPC_MoveParent,
28640 : /* 54639*/ OPC_MoveParent,
28641 : /* 54640*/ OPC_CheckType, MVT::v16i8,
28642 : /* 54642*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28643 : MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28644 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
28645 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28646 : /* 54651*/ /*Scope*/ 22, /*->54674*/
28647 : /* 54652*/ OPC_MoveChild0,
28648 : /* 54653*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28649 : /* 54656*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28650 : /* 54658*/ OPC_MoveParent,
28651 : /* 54659*/ OPC_CheckChild1Same, 0,
28652 : /* 54661*/ OPC_MoveParent,
28653 : /* 54662*/ OPC_MoveParent,
28654 : /* 54663*/ OPC_CheckType, MVT::v16i8,
28655 : /* 54665*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28656 : MVT::v16i8, 3/*#Ops*/, 1, 2, 0,
28657 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c))) - Complexity = 16
28658 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28659 : /* 54674*/ 0, /*End of Scope*/
28660 : /* 54675*/ /*Scope*/ 54, /*->54730*/
28661 : /* 54676*/ OPC_MoveChild0,
28662 : /* 54677*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28663 : /* 54680*/ OPC_Scope, 23, /*->54705*/ // 2 children in Scope
28664 : /* 54682*/ OPC_CheckChild0Same, 1,
28665 : /* 54684*/ OPC_MoveChild1,
28666 : /* 54685*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28667 : /* 54688*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28668 : /* 54690*/ OPC_MoveParent,
28669 : /* 54691*/ OPC_MoveParent,
28670 : /* 54692*/ OPC_RecordChild1, // #2 = $v2
28671 : /* 54693*/ OPC_MoveParent,
28672 : /* 54694*/ OPC_CheckType, MVT::v16i8,
28673 : /* 54696*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28674 : MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28675 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28676 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28677 : /* 54705*/ /*Scope*/ 23, /*->54729*/
28678 : /* 54706*/ OPC_MoveChild0,
28679 : /* 54707*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28680 : /* 54710*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28681 : /* 54712*/ OPC_MoveParent,
28682 : /* 54713*/ OPC_CheckChild1Same, 1,
28683 : /* 54715*/ OPC_MoveParent,
28684 : /* 54716*/ OPC_RecordChild1, // #2 = $v2
28685 : /* 54717*/ OPC_MoveParent,
28686 : /* 54718*/ OPC_CheckType, MVT::v16i8,
28687 : /* 54720*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28688 : MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28689 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
28690 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28691 : /* 54729*/ 0, /*End of Scope*/
28692 : /* 54730*/ /*Scope*/ 53, /*->54784*/
28693 : /* 54731*/ OPC_RecordChild0, // #2 = $v2
28694 : /* 54732*/ OPC_MoveChild1,
28695 : /* 54733*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28696 : /* 54736*/ OPC_Scope, 22, /*->54760*/ // 2 children in Scope
28697 : /* 54738*/ OPC_CheckChild0Same, 1,
28698 : /* 54740*/ OPC_MoveChild1,
28699 : /* 54741*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28700 : /* 54744*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28701 : /* 54746*/ OPC_MoveParent,
28702 : /* 54747*/ OPC_MoveParent,
28703 : /* 54748*/ OPC_MoveParent,
28704 : /* 54749*/ OPC_CheckType, MVT::v16i8,
28705 : /* 54751*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28706 : MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28707 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
28708 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28709 : /* 54760*/ /*Scope*/ 22, /*->54783*/
28710 : /* 54761*/ OPC_MoveChild0,
28711 : /* 54762*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28712 : /* 54765*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28713 : /* 54767*/ OPC_MoveParent,
28714 : /* 54768*/ OPC_CheckChild1Same, 1,
28715 : /* 54770*/ OPC_MoveParent,
28716 : /* 54771*/ OPC_MoveParent,
28717 : /* 54772*/ OPC_CheckType, MVT::v16i8,
28718 : /* 54774*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28719 : MVT::v16i8, 3/*#Ops*/, 0, 2, 1,
28720 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c))) - Complexity = 16
28721 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28722 : /* 54783*/ 0, /*End of Scope*/
28723 : /* 54784*/ 0, /*End of Scope*/
28724 : /* 54785*/ /*Scope*/ 106, /*->54892*/
28725 : /* 54786*/ OPC_MoveChild0,
28726 : /* 54787*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28727 : /* 54790*/ OPC_Scope, 49, /*->54841*/ // 2 children in Scope
28728 : /* 54792*/ OPC_RecordChild0, // #0 = $c
28729 : /* 54793*/ OPC_MoveChild1,
28730 : /* 54794*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28731 : /* 54797*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28732 : /* 54799*/ OPC_MoveParent,
28733 : /* 54800*/ OPC_MoveParent,
28734 : /* 54801*/ OPC_RecordChild1, // #1 = $v2
28735 : /* 54802*/ OPC_MoveParent,
28736 : /* 54803*/ OPC_MoveChild1,
28737 : /* 54804*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28738 : /* 54807*/ OPC_Scope, 15, /*->54824*/ // 2 children in Scope
28739 : /* 54809*/ OPC_CheckChild0Same, 0,
28740 : /* 54811*/ OPC_RecordChild1, // #2 = $v1
28741 : /* 54812*/ OPC_MoveParent,
28742 : /* 54813*/ OPC_CheckType, MVT::v16i8,
28743 : /* 54815*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28744 : MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28745 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28746 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28747 : /* 54824*/ /*Scope*/ 15, /*->54840*/
28748 : /* 54825*/ OPC_RecordChild0, // #2 = $v1
28749 : /* 54826*/ OPC_CheckChild1Same, 0,
28750 : /* 54828*/ OPC_MoveParent,
28751 : /* 54829*/ OPC_CheckType, MVT::v16i8,
28752 : /* 54831*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28753 : MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28754 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28755 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28756 : /* 54840*/ 0, /*End of Scope*/
28757 : /* 54841*/ /*Scope*/ 49, /*->54891*/
28758 : /* 54842*/ OPC_MoveChild0,
28759 : /* 54843*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28760 : /* 54846*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28761 : /* 54848*/ OPC_MoveParent,
28762 : /* 54849*/ OPC_RecordChild1, // #0 = $c
28763 : /* 54850*/ OPC_MoveParent,
28764 : /* 54851*/ OPC_RecordChild1, // #1 = $v2
28765 : /* 54852*/ OPC_MoveParent,
28766 : /* 54853*/ OPC_MoveChild1,
28767 : /* 54854*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28768 : /* 54857*/ OPC_Scope, 15, /*->54874*/ // 2 children in Scope
28769 : /* 54859*/ OPC_CheckChild0Same, 0,
28770 : /* 54861*/ OPC_RecordChild1, // #2 = $v1
28771 : /* 54862*/ OPC_MoveParent,
28772 : /* 54863*/ OPC_CheckType, MVT::v16i8,
28773 : /* 54865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28774 : MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28775 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28776 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28777 : /* 54874*/ /*Scope*/ 15, /*->54890*/
28778 : /* 54875*/ OPC_RecordChild0, // #2 = $v1
28779 : /* 54876*/ OPC_CheckChild1Same, 0,
28780 : /* 54878*/ OPC_MoveParent,
28781 : /* 54879*/ OPC_CheckType, MVT::v16i8,
28782 : /* 54881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28783 : MVT::v16i8, 3/*#Ops*/, 2, 1, 0,
28784 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28785 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28786 : /* 54890*/ 0, /*End of Scope*/
28787 : /* 54891*/ 0, /*End of Scope*/
28788 : /* 54892*/ /*Scope*/ 53|128,2/*309*/, /*->55203*/
28789 : /* 54894*/ OPC_RecordChild0, // #0 = $v2
28790 : /* 54895*/ OPC_Scope, 104, /*->55001*/ // 2 children in Scope
28791 : /* 54897*/ OPC_MoveChild1,
28792 : /* 54898*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28793 : /* 54901*/ OPC_Scope, 48, /*->54951*/ // 2 children in Scope
28794 : /* 54903*/ OPC_RecordChild0, // #1 = $c
28795 : /* 54904*/ OPC_MoveChild1,
28796 : /* 54905*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28797 : /* 54908*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28798 : /* 54910*/ OPC_MoveParent,
28799 : /* 54911*/ OPC_MoveParent,
28800 : /* 54912*/ OPC_MoveParent,
28801 : /* 54913*/ OPC_MoveChild1,
28802 : /* 54914*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28803 : /* 54917*/ OPC_Scope, 15, /*->54934*/ // 2 children in Scope
28804 : /* 54919*/ OPC_CheckChild0Same, 1,
28805 : /* 54921*/ OPC_RecordChild1, // #2 = $v1
28806 : /* 54922*/ OPC_MoveParent,
28807 : /* 54923*/ OPC_CheckType, MVT::v16i8,
28808 : /* 54925*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28809 : MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28810 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28811 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28812 : /* 54934*/ /*Scope*/ 15, /*->54950*/
28813 : /* 54935*/ OPC_RecordChild0, // #2 = $v1
28814 : /* 54936*/ OPC_CheckChild1Same, 1,
28815 : /* 54938*/ OPC_MoveParent,
28816 : /* 54939*/ OPC_CheckType, MVT::v16i8,
28817 : /* 54941*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28818 : MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28819 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28820 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28821 : /* 54950*/ 0, /*End of Scope*/
28822 : /* 54951*/ /*Scope*/ 48, /*->55000*/
28823 : /* 54952*/ OPC_MoveChild0,
28824 : /* 54953*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28825 : /* 54956*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28826 : /* 54958*/ OPC_MoveParent,
28827 : /* 54959*/ OPC_RecordChild1, // #1 = $c
28828 : /* 54960*/ OPC_MoveParent,
28829 : /* 54961*/ OPC_MoveParent,
28830 : /* 54962*/ OPC_MoveChild1,
28831 : /* 54963*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28832 : /* 54966*/ OPC_Scope, 15, /*->54983*/ // 2 children in Scope
28833 : /* 54968*/ OPC_CheckChild0Same, 1,
28834 : /* 54970*/ OPC_RecordChild1, // #2 = $v1
28835 : /* 54971*/ OPC_MoveParent,
28836 : /* 54972*/ OPC_CheckType, MVT::v16i8,
28837 : /* 54974*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28838 : MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28839 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
28840 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28841 : /* 54983*/ /*Scope*/ 15, /*->54999*/
28842 : /* 54984*/ OPC_RecordChild0, // #2 = $v1
28843 : /* 54985*/ OPC_CheckChild1Same, 1,
28844 : /* 54987*/ OPC_MoveParent,
28845 : /* 54988*/ OPC_CheckType, MVT::v16i8,
28846 : /* 54990*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
28847 : MVT::v16i8, 3/*#Ops*/, 2, 0, 1,
28848 : // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
28849 : // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
28850 : /* 54999*/ 0, /*End of Scope*/
28851 : /* 55000*/ 0, /*End of Scope*/
28852 : /* 55001*/ /*Scope*/ 71|128,1/*199*/, /*->55202*/
28853 : /* 55003*/ OPC_RecordChild1, // #1 = $v1
28854 : /* 55004*/ OPC_MoveParent,
28855 : /* 55005*/ OPC_MoveChild1,
28856 : /* 55006*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28857 : /* 55009*/ OPC_Scope, 27, /*->55038*/ // 4 children in Scope
28858 : /* 55011*/ OPC_MoveChild0,
28859 : /* 55012*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28860 : /* 55015*/ OPC_MoveChild0,
28861 : /* 55016*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28862 : /* 55019*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28863 : /* 55021*/ OPC_MoveParent,
28864 : /* 55022*/ OPC_CheckChild1Same, 0,
28865 : /* 55024*/ OPC_MoveParent,
28866 : /* 55025*/ OPC_RecordChild1, // #2 = $v2
28867 : /* 55026*/ OPC_MoveParent,
28868 : /* 55027*/ OPC_CheckType, MVT::v8i16,
28869 : /* 55029*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28870 : MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28871 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28872 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28873 : /* 55038*/ /*Scope*/ 53, /*->55092*/
28874 : /* 55039*/ OPC_RecordChild0, // #2 = $v2
28875 : /* 55040*/ OPC_MoveChild1,
28876 : /* 55041*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28877 : /* 55044*/ OPC_Scope, 22, /*->55068*/ // 2 children in Scope
28878 : /* 55046*/ OPC_CheckChild0Same, 0,
28879 : /* 55048*/ OPC_MoveChild1,
28880 : /* 55049*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28881 : /* 55052*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28882 : /* 55054*/ OPC_MoveParent,
28883 : /* 55055*/ OPC_MoveParent,
28884 : /* 55056*/ OPC_MoveParent,
28885 : /* 55057*/ OPC_CheckType, MVT::v8i16,
28886 : /* 55059*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28887 : MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28888 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
28889 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28890 : /* 55068*/ /*Scope*/ 22, /*->55091*/
28891 : /* 55069*/ OPC_MoveChild0,
28892 : /* 55070*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28893 : /* 55073*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28894 : /* 55075*/ OPC_MoveParent,
28895 : /* 55076*/ OPC_CheckChild1Same, 0,
28896 : /* 55078*/ OPC_MoveParent,
28897 : /* 55079*/ OPC_MoveParent,
28898 : /* 55080*/ OPC_CheckType, MVT::v8i16,
28899 : /* 55082*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28900 : MVT::v8i16, 3/*#Ops*/, 1, 2, 0,
28901 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c))) - Complexity = 16
28902 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28903 : /* 55091*/ 0, /*End of Scope*/
28904 : /* 55092*/ /*Scope*/ 54, /*->55147*/
28905 : /* 55093*/ OPC_MoveChild0,
28906 : /* 55094*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28907 : /* 55097*/ OPC_Scope, 23, /*->55122*/ // 2 children in Scope
28908 : /* 55099*/ OPC_CheckChild0Same, 1,
28909 : /* 55101*/ OPC_MoveChild1,
28910 : /* 55102*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28911 : /* 55105*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28912 : /* 55107*/ OPC_MoveParent,
28913 : /* 55108*/ OPC_MoveParent,
28914 : /* 55109*/ OPC_RecordChild1, // #2 = $v2
28915 : /* 55110*/ OPC_MoveParent,
28916 : /* 55111*/ OPC_CheckType, MVT::v8i16,
28917 : /* 55113*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28918 : MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28919 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28920 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28921 : /* 55122*/ /*Scope*/ 23, /*->55146*/
28922 : /* 55123*/ OPC_MoveChild0,
28923 : /* 55124*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28924 : /* 55127*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28925 : /* 55129*/ OPC_MoveParent,
28926 : /* 55130*/ OPC_CheckChild1Same, 1,
28927 : /* 55132*/ OPC_MoveParent,
28928 : /* 55133*/ OPC_RecordChild1, // #2 = $v2
28929 : /* 55134*/ OPC_MoveParent,
28930 : /* 55135*/ OPC_CheckType, MVT::v8i16,
28931 : /* 55137*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28932 : MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28933 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
28934 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28935 : /* 55146*/ 0, /*End of Scope*/
28936 : /* 55147*/ /*Scope*/ 53, /*->55201*/
28937 : /* 55148*/ OPC_RecordChild0, // #2 = $v2
28938 : /* 55149*/ OPC_MoveChild1,
28939 : /* 55150*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28940 : /* 55153*/ OPC_Scope, 22, /*->55177*/ // 2 children in Scope
28941 : /* 55155*/ OPC_CheckChild0Same, 1,
28942 : /* 55157*/ OPC_MoveChild1,
28943 : /* 55158*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28944 : /* 55161*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28945 : /* 55163*/ OPC_MoveParent,
28946 : /* 55164*/ OPC_MoveParent,
28947 : /* 55165*/ OPC_MoveParent,
28948 : /* 55166*/ OPC_CheckType, MVT::v8i16,
28949 : /* 55168*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28950 : MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28951 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
28952 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28953 : /* 55177*/ /*Scope*/ 22, /*->55200*/
28954 : /* 55178*/ OPC_MoveChild0,
28955 : /* 55179*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28956 : /* 55182*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28957 : /* 55184*/ OPC_MoveParent,
28958 : /* 55185*/ OPC_CheckChild1Same, 1,
28959 : /* 55187*/ OPC_MoveParent,
28960 : /* 55188*/ OPC_MoveParent,
28961 : /* 55189*/ OPC_CheckType, MVT::v8i16,
28962 : /* 55191*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28963 : MVT::v8i16, 3/*#Ops*/, 0, 2, 1,
28964 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c))) - Complexity = 16
28965 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28966 : /* 55200*/ 0, /*End of Scope*/
28967 : /* 55201*/ 0, /*End of Scope*/
28968 : /* 55202*/ 0, /*End of Scope*/
28969 : /* 55203*/ /*Scope*/ 106, /*->55310*/
28970 : /* 55204*/ OPC_MoveChild0,
28971 : /* 55205*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
28972 : /* 55208*/ OPC_Scope, 49, /*->55259*/ // 2 children in Scope
28973 : /* 55210*/ OPC_RecordChild0, // #0 = $c
28974 : /* 55211*/ OPC_MoveChild1,
28975 : /* 55212*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28976 : /* 55215*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
28977 : /* 55217*/ OPC_MoveParent,
28978 : /* 55218*/ OPC_MoveParent,
28979 : /* 55219*/ OPC_RecordChild1, // #1 = $v2
28980 : /* 55220*/ OPC_MoveParent,
28981 : /* 55221*/ OPC_MoveChild1,
28982 : /* 55222*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
28983 : /* 55225*/ OPC_Scope, 15, /*->55242*/ // 2 children in Scope
28984 : /* 55227*/ OPC_CheckChild0Same, 0,
28985 : /* 55229*/ OPC_RecordChild1, // #2 = $v1
28986 : /* 55230*/ OPC_MoveParent,
28987 : /* 55231*/ OPC_CheckType, MVT::v8i16,
28988 : /* 55233*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28989 : MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28990 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
28991 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
28992 : /* 55242*/ /*Scope*/ 15, /*->55258*/
28993 : /* 55243*/ OPC_RecordChild0, // #2 = $v1
28994 : /* 55244*/ OPC_CheckChild1Same, 0,
28995 : /* 55246*/ OPC_MoveParent,
28996 : /* 55247*/ OPC_CheckType, MVT::v8i16,
28997 : /* 55249*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
28998 : MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
28999 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
29000 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29001 : /* 55258*/ 0, /*End of Scope*/
29002 : /* 55259*/ /*Scope*/ 49, /*->55309*/
29003 : /* 55260*/ OPC_MoveChild0,
29004 : /* 55261*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29005 : /* 55264*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29006 : /* 55266*/ OPC_MoveParent,
29007 : /* 55267*/ OPC_RecordChild1, // #0 = $c
29008 : /* 55268*/ OPC_MoveParent,
29009 : /* 55269*/ OPC_RecordChild1, // #1 = $v2
29010 : /* 55270*/ OPC_MoveParent,
29011 : /* 55271*/ OPC_MoveChild1,
29012 : /* 55272*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29013 : /* 55275*/ OPC_Scope, 15, /*->55292*/ // 2 children in Scope
29014 : /* 55277*/ OPC_CheckChild0Same, 0,
29015 : /* 55279*/ OPC_RecordChild1, // #2 = $v1
29016 : /* 55280*/ OPC_MoveParent,
29017 : /* 55281*/ OPC_CheckType, MVT::v8i16,
29018 : /* 55283*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29019 : MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
29020 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
29021 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29022 : /* 55292*/ /*Scope*/ 15, /*->55308*/
29023 : /* 55293*/ OPC_RecordChild0, // #2 = $v1
29024 : /* 55294*/ OPC_CheckChild1Same, 0,
29025 : /* 55296*/ OPC_MoveParent,
29026 : /* 55297*/ OPC_CheckType, MVT::v8i16,
29027 : /* 55299*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29028 : MVT::v8i16, 3/*#Ops*/, 2, 1, 0,
29029 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
29030 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29031 : /* 55308*/ 0, /*End of Scope*/
29032 : /* 55309*/ 0, /*End of Scope*/
29033 : /* 55310*/ /*Scope*/ 53|128,2/*309*/, /*->55621*/
29034 : /* 55312*/ OPC_RecordChild0, // #0 = $v2
29035 : /* 55313*/ OPC_Scope, 104, /*->55419*/ // 2 children in Scope
29036 : /* 55315*/ OPC_MoveChild1,
29037 : /* 55316*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29038 : /* 55319*/ OPC_Scope, 48, /*->55369*/ // 2 children in Scope
29039 : /* 55321*/ OPC_RecordChild0, // #1 = $c
29040 : /* 55322*/ OPC_MoveChild1,
29041 : /* 55323*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29042 : /* 55326*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29043 : /* 55328*/ OPC_MoveParent,
29044 : /* 55329*/ OPC_MoveParent,
29045 : /* 55330*/ OPC_MoveParent,
29046 : /* 55331*/ OPC_MoveChild1,
29047 : /* 55332*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29048 : /* 55335*/ OPC_Scope, 15, /*->55352*/ // 2 children in Scope
29049 : /* 55337*/ OPC_CheckChild0Same, 1,
29050 : /* 55339*/ OPC_RecordChild1, // #2 = $v1
29051 : /* 55340*/ OPC_MoveParent,
29052 : /* 55341*/ OPC_CheckType, MVT::v8i16,
29053 : /* 55343*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29054 : MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
29055 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
29056 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29057 : /* 55352*/ /*Scope*/ 15, /*->55368*/
29058 : /* 55353*/ OPC_RecordChild0, // #2 = $v1
29059 : /* 55354*/ OPC_CheckChild1Same, 1,
29060 : /* 55356*/ OPC_MoveParent,
29061 : /* 55357*/ OPC_CheckType, MVT::v8i16,
29062 : /* 55359*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29063 : MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
29064 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
29065 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29066 : /* 55368*/ 0, /*End of Scope*/
29067 : /* 55369*/ /*Scope*/ 48, /*->55418*/
29068 : /* 55370*/ OPC_MoveChild0,
29069 : /* 55371*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29070 : /* 55374*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29071 : /* 55376*/ OPC_MoveParent,
29072 : /* 55377*/ OPC_RecordChild1, // #1 = $c
29073 : /* 55378*/ OPC_MoveParent,
29074 : /* 55379*/ OPC_MoveParent,
29075 : /* 55380*/ OPC_MoveChild1,
29076 : /* 55381*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29077 : /* 55384*/ OPC_Scope, 15, /*->55401*/ // 2 children in Scope
29078 : /* 55386*/ OPC_CheckChild0Same, 1,
29079 : /* 55388*/ OPC_RecordChild1, // #2 = $v1
29080 : /* 55389*/ OPC_MoveParent,
29081 : /* 55390*/ OPC_CheckType, MVT::v8i16,
29082 : /* 55392*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29083 : MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
29084 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
29085 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29086 : /* 55401*/ /*Scope*/ 15, /*->55417*/
29087 : /* 55402*/ OPC_RecordChild0, // #2 = $v1
29088 : /* 55403*/ OPC_CheckChild1Same, 1,
29089 : /* 55405*/ OPC_MoveParent,
29090 : /* 55406*/ OPC_CheckType, MVT::v8i16,
29091 : /* 55408*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
29092 : MVT::v8i16, 3/*#Ops*/, 2, 0, 1,
29093 : // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
29094 : // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
29095 : /* 55417*/ 0, /*End of Scope*/
29096 : /* 55418*/ 0, /*End of Scope*/
29097 : /* 55419*/ /*Scope*/ 71|128,1/*199*/, /*->55620*/
29098 : /* 55421*/ OPC_RecordChild1, // #1 = $v1
29099 : /* 55422*/ OPC_MoveParent,
29100 : /* 55423*/ OPC_MoveChild1,
29101 : /* 55424*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29102 : /* 55427*/ OPC_Scope, 27, /*->55456*/ // 4 children in Scope
29103 : /* 55429*/ OPC_MoveChild0,
29104 : /* 55430*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29105 : /* 55433*/ OPC_MoveChild0,
29106 : /* 55434*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29107 : /* 55437*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29108 : /* 55439*/ OPC_MoveParent,
29109 : /* 55440*/ OPC_CheckChild1Same, 0,
29110 : /* 55442*/ OPC_MoveParent,
29111 : /* 55443*/ OPC_RecordChild1, // #2 = $v2
29112 : /* 55444*/ OPC_MoveParent,
29113 : /* 55445*/ OPC_CheckType, MVT::v4i32,
29114 : /* 55447*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29115 : MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
29116 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
29117 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29118 : /* 55456*/ /*Scope*/ 53, /*->55510*/
29119 : /* 55457*/ OPC_RecordChild0, // #2 = $v2
29120 : /* 55458*/ OPC_MoveChild1,
29121 : /* 55459*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29122 : /* 55462*/ OPC_Scope, 22, /*->55486*/ // 2 children in Scope
29123 : /* 55464*/ OPC_CheckChild0Same, 0,
29124 : /* 55466*/ OPC_MoveChild1,
29125 : /* 55467*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29126 : /* 55470*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29127 : /* 55472*/ OPC_MoveParent,
29128 : /* 55473*/ OPC_MoveParent,
29129 : /* 55474*/ OPC_MoveParent,
29130 : /* 55475*/ OPC_CheckType, MVT::v4i32,
29131 : /* 55477*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29132 : MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
29133 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
29134 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29135 : /* 55486*/ /*Scope*/ 22, /*->55509*/
29136 : /* 55487*/ OPC_MoveChild0,
29137 : /* 55488*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29138 : /* 55491*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29139 : /* 55493*/ OPC_MoveParent,
29140 : /* 55494*/ OPC_CheckChild1Same, 0,
29141 : /* 55496*/ OPC_MoveParent,
29142 : /* 55497*/ OPC_MoveParent,
29143 : /* 55498*/ OPC_CheckType, MVT::v4i32,
29144 : /* 55500*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29145 : MVT::v4i32, 3/*#Ops*/, 1, 2, 0,
29146 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c))) - Complexity = 16
29147 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29148 : /* 55509*/ 0, /*End of Scope*/
29149 : /* 55510*/ /*Scope*/ 54, /*->55565*/
29150 : /* 55511*/ OPC_MoveChild0,
29151 : /* 55512*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29152 : /* 55515*/ OPC_Scope, 23, /*->55540*/ // 2 children in Scope
29153 : /* 55517*/ OPC_CheckChild0Same, 1,
29154 : /* 55519*/ OPC_MoveChild1,
29155 : /* 55520*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29156 : /* 55523*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29157 : /* 55525*/ OPC_MoveParent,
29158 : /* 55526*/ OPC_MoveParent,
29159 : /* 55527*/ OPC_RecordChild1, // #2 = $v2
29160 : /* 55528*/ OPC_MoveParent,
29161 : /* 55529*/ OPC_CheckType, MVT::v4i32,
29162 : /* 55531*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29163 : MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
29164 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
29165 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29166 : /* 55540*/ /*Scope*/ 23, /*->55564*/
29167 : /* 55541*/ OPC_MoveChild0,
29168 : /* 55542*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29169 : /* 55545*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29170 : /* 55547*/ OPC_MoveParent,
29171 : /* 55548*/ OPC_CheckChild1Same, 1,
29172 : /* 55550*/ OPC_MoveParent,
29173 : /* 55551*/ OPC_RecordChild1, // #2 = $v2
29174 : /* 55552*/ OPC_MoveParent,
29175 : /* 55553*/ OPC_CheckType, MVT::v4i32,
29176 : /* 55555*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29177 : MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
29178 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
29179 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29180 : /* 55564*/ 0, /*End of Scope*/
29181 : /* 55565*/ /*Scope*/ 53, /*->55619*/
29182 : /* 55566*/ OPC_RecordChild0, // #2 = $v2
29183 : /* 55567*/ OPC_MoveChild1,
29184 : /* 55568*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29185 : /* 55571*/ OPC_Scope, 22, /*->55595*/ // 2 children in Scope
29186 : /* 55573*/ OPC_CheckChild0Same, 1,
29187 : /* 55575*/ OPC_MoveChild1,
29188 : /* 55576*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29189 : /* 55579*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29190 : /* 55581*/ OPC_MoveParent,
29191 : /* 55582*/ OPC_MoveParent,
29192 : /* 55583*/ OPC_MoveParent,
29193 : /* 55584*/ OPC_CheckType, MVT::v4i32,
29194 : /* 55586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29195 : MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
29196 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
29197 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29198 : /* 55595*/ /*Scope*/ 22, /*->55618*/
29199 : /* 55596*/ OPC_MoveChild0,
29200 : /* 55597*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29201 : /* 55600*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29202 : /* 55602*/ OPC_MoveParent,
29203 : /* 55603*/ OPC_CheckChild1Same, 1,
29204 : /* 55605*/ OPC_MoveParent,
29205 : /* 55606*/ OPC_MoveParent,
29206 : /* 55607*/ OPC_CheckType, MVT::v4i32,
29207 : /* 55609*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29208 : MVT::v4i32, 3/*#Ops*/, 0, 2, 1,
29209 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c))) - Complexity = 16
29210 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29211 : /* 55618*/ 0, /*End of Scope*/
29212 : /* 55619*/ 0, /*End of Scope*/
29213 : /* 55620*/ 0, /*End of Scope*/
29214 : /* 55621*/ /*Scope*/ 106, /*->55728*/
29215 : /* 55622*/ OPC_MoveChild0,
29216 : /* 55623*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29217 : /* 55626*/ OPC_Scope, 49, /*->55677*/ // 2 children in Scope
29218 : /* 55628*/ OPC_RecordChild0, // #0 = $c
29219 : /* 55629*/ OPC_MoveChild1,
29220 : /* 55630*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29221 : /* 55633*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29222 : /* 55635*/ OPC_MoveParent,
29223 : /* 55636*/ OPC_MoveParent,
29224 : /* 55637*/ OPC_RecordChild1, // #1 = $v2
29225 : /* 55638*/ OPC_MoveParent,
29226 : /* 55639*/ OPC_MoveChild1,
29227 : /* 55640*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29228 : /* 55643*/ OPC_Scope, 15, /*->55660*/ // 2 children in Scope
29229 : /* 55645*/ OPC_CheckChild0Same, 0,
29230 : /* 55647*/ OPC_RecordChild1, // #2 = $v1
29231 : /* 55648*/ OPC_MoveParent,
29232 : /* 55649*/ OPC_CheckType, MVT::v4i32,
29233 : /* 55651*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29234 : MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
29235 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
29236 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29237 : /* 55660*/ /*Scope*/ 15, /*->55676*/
29238 : /* 55661*/ OPC_RecordChild0, // #2 = $v1
29239 : /* 55662*/ OPC_CheckChild1Same, 0,
29240 : /* 55664*/ OPC_MoveParent,
29241 : /* 55665*/ OPC_CheckType, MVT::v4i32,
29242 : /* 55667*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29243 : MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
29244 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
29245 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29246 : /* 55676*/ 0, /*End of Scope*/
29247 : /* 55677*/ /*Scope*/ 49, /*->55727*/
29248 : /* 55678*/ OPC_MoveChild0,
29249 : /* 55679*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29250 : /* 55682*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29251 : /* 55684*/ OPC_MoveParent,
29252 : /* 55685*/ OPC_RecordChild1, // #0 = $c
29253 : /* 55686*/ OPC_MoveParent,
29254 : /* 55687*/ OPC_RecordChild1, // #1 = $v2
29255 : /* 55688*/ OPC_MoveParent,
29256 : /* 55689*/ OPC_MoveChild1,
29257 : /* 55690*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29258 : /* 55693*/ OPC_Scope, 15, /*->55710*/ // 2 children in Scope
29259 : /* 55695*/ OPC_CheckChild0Same, 0,
29260 : /* 55697*/ OPC_RecordChild1, // #2 = $v1
29261 : /* 55698*/ OPC_MoveParent,
29262 : /* 55699*/ OPC_CheckType, MVT::v4i32,
29263 : /* 55701*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29264 : MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
29265 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
29266 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29267 : /* 55710*/ /*Scope*/ 15, /*->55726*/
29268 : /* 55711*/ OPC_RecordChild0, // #2 = $v1
29269 : /* 55712*/ OPC_CheckChild1Same, 0,
29270 : /* 55714*/ OPC_MoveParent,
29271 : /* 55715*/ OPC_CheckType, MVT::v4i32,
29272 : /* 55717*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29273 : MVT::v4i32, 3/*#Ops*/, 2, 1, 0,
29274 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
29275 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29276 : /* 55726*/ 0, /*End of Scope*/
29277 : /* 55727*/ 0, /*End of Scope*/
29278 : /* 55728*/ /*Scope*/ 53|128,2/*309*/, /*->56039*/
29279 : /* 55730*/ OPC_RecordChild0, // #0 = $v2
29280 : /* 55731*/ OPC_Scope, 104, /*->55837*/ // 2 children in Scope
29281 : /* 55733*/ OPC_MoveChild1,
29282 : /* 55734*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29283 : /* 55737*/ OPC_Scope, 48, /*->55787*/ // 2 children in Scope
29284 : /* 55739*/ OPC_RecordChild0, // #1 = $c
29285 : /* 55740*/ OPC_MoveChild1,
29286 : /* 55741*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29287 : /* 55744*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29288 : /* 55746*/ OPC_MoveParent,
29289 : /* 55747*/ OPC_MoveParent,
29290 : /* 55748*/ OPC_MoveParent,
29291 : /* 55749*/ OPC_MoveChild1,
29292 : /* 55750*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29293 : /* 55753*/ OPC_Scope, 15, /*->55770*/ // 2 children in Scope
29294 : /* 55755*/ OPC_CheckChild0Same, 1,
29295 : /* 55757*/ OPC_RecordChild1, // #2 = $v1
29296 : /* 55758*/ OPC_MoveParent,
29297 : /* 55759*/ OPC_CheckType, MVT::v4i32,
29298 : /* 55761*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29299 : MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
29300 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
29301 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29302 : /* 55770*/ /*Scope*/ 15, /*->55786*/
29303 : /* 55771*/ OPC_RecordChild0, // #2 = $v1
29304 : /* 55772*/ OPC_CheckChild1Same, 1,
29305 : /* 55774*/ OPC_MoveParent,
29306 : /* 55775*/ OPC_CheckType, MVT::v4i32,
29307 : /* 55777*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29308 : MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
29309 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
29310 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29311 : /* 55786*/ 0, /*End of Scope*/
29312 : /* 55787*/ /*Scope*/ 48, /*->55836*/
29313 : /* 55788*/ OPC_MoveChild0,
29314 : /* 55789*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29315 : /* 55792*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29316 : /* 55794*/ OPC_MoveParent,
29317 : /* 55795*/ OPC_RecordChild1, // #1 = $c
29318 : /* 55796*/ OPC_MoveParent,
29319 : /* 55797*/ OPC_MoveParent,
29320 : /* 55798*/ OPC_MoveChild1,
29321 : /* 55799*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29322 : /* 55802*/ OPC_Scope, 15, /*->55819*/ // 2 children in Scope
29323 : /* 55804*/ OPC_CheckChild0Same, 1,
29324 : /* 55806*/ OPC_RecordChild1, // #2 = $v1
29325 : /* 55807*/ OPC_MoveParent,
29326 : /* 55808*/ OPC_CheckType, MVT::v4i32,
29327 : /* 55810*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29328 : MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
29329 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
29330 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29331 : /* 55819*/ /*Scope*/ 15, /*->55835*/
29332 : /* 55820*/ OPC_RecordChild0, // #2 = $v1
29333 : /* 55821*/ OPC_CheckChild1Same, 1,
29334 : /* 55823*/ OPC_MoveParent,
29335 : /* 55824*/ OPC_CheckType, MVT::v4i32,
29336 : /* 55826*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
29337 : MVT::v4i32, 3/*#Ops*/, 2, 0, 1,
29338 : // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
29339 : // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
29340 : /* 55835*/ 0, /*End of Scope*/
29341 : /* 55836*/ 0, /*End of Scope*/
29342 : /* 55837*/ /*Scope*/ 71|128,1/*199*/, /*->56038*/
29343 : /* 55839*/ OPC_RecordChild1, // #1 = $v1
29344 : /* 55840*/ OPC_MoveParent,
29345 : /* 55841*/ OPC_MoveChild1,
29346 : /* 55842*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29347 : /* 55845*/ OPC_Scope, 27, /*->55874*/ // 4 children in Scope
29348 : /* 55847*/ OPC_MoveChild0,
29349 : /* 55848*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29350 : /* 55851*/ OPC_MoveChild0,
29351 : /* 55852*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29352 : /* 55855*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29353 : /* 55857*/ OPC_MoveParent,
29354 : /* 55858*/ OPC_CheckChild1Same, 0,
29355 : /* 55860*/ OPC_MoveParent,
29356 : /* 55861*/ OPC_RecordChild1, // #2 = $v2
29357 : /* 55862*/ OPC_MoveParent,
29358 : /* 55863*/ OPC_CheckType, MVT::v2i64,
29359 : /* 55865*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29360 : MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
29361 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
29362 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29363 : /* 55874*/ /*Scope*/ 53, /*->55928*/
29364 : /* 55875*/ OPC_RecordChild0, // #2 = $v2
29365 : /* 55876*/ OPC_MoveChild1,
29366 : /* 55877*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29367 : /* 55880*/ OPC_Scope, 22, /*->55904*/ // 2 children in Scope
29368 : /* 55882*/ OPC_CheckChild0Same, 0,
29369 : /* 55884*/ OPC_MoveChild1,
29370 : /* 55885*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29371 : /* 55888*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29372 : /* 55890*/ OPC_MoveParent,
29373 : /* 55891*/ OPC_MoveParent,
29374 : /* 55892*/ OPC_MoveParent,
29375 : /* 55893*/ OPC_CheckType, MVT::v2i64,
29376 : /* 55895*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29377 : MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
29378 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
29379 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29380 : /* 55904*/ /*Scope*/ 22, /*->55927*/
29381 : /* 55905*/ OPC_MoveChild0,
29382 : /* 55906*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29383 : /* 55909*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29384 : /* 55911*/ OPC_MoveParent,
29385 : /* 55912*/ OPC_CheckChild1Same, 0,
29386 : /* 55914*/ OPC_MoveParent,
29387 : /* 55915*/ OPC_MoveParent,
29388 : /* 55916*/ OPC_CheckType, MVT::v2i64,
29389 : /* 55918*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29390 : MVT::v2i64, 3/*#Ops*/, 1, 2, 0,
29391 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c))) - Complexity = 16
29392 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29393 : /* 55927*/ 0, /*End of Scope*/
29394 : /* 55928*/ /*Scope*/ 54, /*->55983*/
29395 : /* 55929*/ OPC_MoveChild0,
29396 : /* 55930*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29397 : /* 55933*/ OPC_Scope, 23, /*->55958*/ // 2 children in Scope
29398 : /* 55935*/ OPC_CheckChild0Same, 1,
29399 : /* 55937*/ OPC_MoveChild1,
29400 : /* 55938*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29401 : /* 55941*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29402 : /* 55943*/ OPC_MoveParent,
29403 : /* 55944*/ OPC_MoveParent,
29404 : /* 55945*/ OPC_RecordChild1, // #2 = $v2
29405 : /* 55946*/ OPC_MoveParent,
29406 : /* 55947*/ OPC_CheckType, MVT::v2i64,
29407 : /* 55949*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29408 : MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
29409 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
29410 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29411 : /* 55958*/ /*Scope*/ 23, /*->55982*/
29412 : /* 55959*/ OPC_MoveChild0,
29413 : /* 55960*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29414 : /* 55963*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29415 : /* 55965*/ OPC_MoveParent,
29416 : /* 55966*/ OPC_CheckChild1Same, 1,
29417 : /* 55968*/ OPC_MoveParent,
29418 : /* 55969*/ OPC_RecordChild1, // #2 = $v2
29419 : /* 55970*/ OPC_MoveParent,
29420 : /* 55971*/ OPC_CheckType, MVT::v2i64,
29421 : /* 55973*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29422 : MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
29423 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
29424 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29425 : /* 55982*/ 0, /*End of Scope*/
29426 : /* 55983*/ /*Scope*/ 53, /*->56037*/
29427 : /* 55984*/ OPC_RecordChild0, // #2 = $v2
29428 : /* 55985*/ OPC_MoveChild1,
29429 : /* 55986*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29430 : /* 55989*/ OPC_Scope, 22, /*->56013*/ // 2 children in Scope
29431 : /* 55991*/ OPC_CheckChild0Same, 1,
29432 : /* 55993*/ OPC_MoveChild1,
29433 : /* 55994*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29434 : /* 55997*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29435 : /* 55999*/ OPC_MoveParent,
29436 : /* 56000*/ OPC_MoveParent,
29437 : /* 56001*/ OPC_MoveParent,
29438 : /* 56002*/ OPC_CheckType, MVT::v2i64,
29439 : /* 56004*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29440 : MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
29441 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
29442 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29443 : /* 56013*/ /*Scope*/ 22, /*->56036*/
29444 : /* 56014*/ OPC_MoveChild0,
29445 : /* 56015*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29446 : /* 56018*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29447 : /* 56020*/ OPC_MoveParent,
29448 : /* 56021*/ OPC_CheckChild1Same, 1,
29449 : /* 56023*/ OPC_MoveParent,
29450 : /* 56024*/ OPC_MoveParent,
29451 : /* 56025*/ OPC_CheckType, MVT::v2i64,
29452 : /* 56027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29453 : MVT::v2i64, 3/*#Ops*/, 0, 2, 1,
29454 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c))) - Complexity = 16
29455 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29456 : /* 56036*/ 0, /*End of Scope*/
29457 : /* 56037*/ 0, /*End of Scope*/
29458 : /* 56038*/ 0, /*End of Scope*/
29459 : /* 56039*/ /*Scope*/ 106, /*->56146*/
29460 : /* 56040*/ OPC_MoveChild0,
29461 : /* 56041*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29462 : /* 56044*/ OPC_Scope, 49, /*->56095*/ // 2 children in Scope
29463 : /* 56046*/ OPC_RecordChild0, // #0 = $c
29464 : /* 56047*/ OPC_MoveChild1,
29465 : /* 56048*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29466 : /* 56051*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29467 : /* 56053*/ OPC_MoveParent,
29468 : /* 56054*/ OPC_MoveParent,
29469 : /* 56055*/ OPC_RecordChild1, // #1 = $v2
29470 : /* 56056*/ OPC_MoveParent,
29471 : /* 56057*/ OPC_MoveChild1,
29472 : /* 56058*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29473 : /* 56061*/ OPC_Scope, 15, /*->56078*/ // 2 children in Scope
29474 : /* 56063*/ OPC_CheckChild0Same, 0,
29475 : /* 56065*/ OPC_RecordChild1, // #2 = $v1
29476 : /* 56066*/ OPC_MoveParent,
29477 : /* 56067*/ OPC_CheckType, MVT::v2i64,
29478 : /* 56069*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29479 : MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
29480 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
29481 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29482 : /* 56078*/ /*Scope*/ 15, /*->56094*/
29483 : /* 56079*/ OPC_RecordChild0, // #2 = $v1
29484 : /* 56080*/ OPC_CheckChild1Same, 0,
29485 : /* 56082*/ OPC_MoveParent,
29486 : /* 56083*/ OPC_CheckType, MVT::v2i64,
29487 : /* 56085*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29488 : MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
29489 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
29490 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29491 : /* 56094*/ 0, /*End of Scope*/
29492 : /* 56095*/ /*Scope*/ 49, /*->56145*/
29493 : /* 56096*/ OPC_MoveChild0,
29494 : /* 56097*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29495 : /* 56100*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29496 : /* 56102*/ OPC_MoveParent,
29497 : /* 56103*/ OPC_RecordChild1, // #0 = $c
29498 : /* 56104*/ OPC_MoveParent,
29499 : /* 56105*/ OPC_RecordChild1, // #1 = $v2
29500 : /* 56106*/ OPC_MoveParent,
29501 : /* 56107*/ OPC_MoveChild1,
29502 : /* 56108*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29503 : /* 56111*/ OPC_Scope, 15, /*->56128*/ // 2 children in Scope
29504 : /* 56113*/ OPC_CheckChild0Same, 0,
29505 : /* 56115*/ OPC_RecordChild1, // #2 = $v1
29506 : /* 56116*/ OPC_MoveParent,
29507 : /* 56117*/ OPC_CheckType, MVT::v2i64,
29508 : /* 56119*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29509 : MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
29510 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
29511 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29512 : /* 56128*/ /*Scope*/ 15, /*->56144*/
29513 : /* 56129*/ OPC_RecordChild0, // #2 = $v1
29514 : /* 56130*/ OPC_CheckChild1Same, 0,
29515 : /* 56132*/ OPC_MoveParent,
29516 : /* 56133*/ OPC_CheckType, MVT::v2i64,
29517 : /* 56135*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29518 : MVT::v2i64, 3/*#Ops*/, 2, 1, 0,
29519 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
29520 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29521 : /* 56144*/ 0, /*End of Scope*/
29522 : /* 56145*/ 0, /*End of Scope*/
29523 : /* 56146*/ /*Scope*/ 105, /*->56252*/
29524 : /* 56147*/ OPC_RecordChild0, // #0 = $v2
29525 : /* 56148*/ OPC_MoveChild1,
29526 : /* 56149*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
29527 : /* 56152*/ OPC_Scope, 48, /*->56202*/ // 2 children in Scope
29528 : /* 56154*/ OPC_RecordChild0, // #1 = $c
29529 : /* 56155*/ OPC_MoveChild1,
29530 : /* 56156*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29531 : /* 56159*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29532 : /* 56161*/ OPC_MoveParent,
29533 : /* 56162*/ OPC_MoveParent,
29534 : /* 56163*/ OPC_MoveParent,
29535 : /* 56164*/ OPC_MoveChild1,
29536 : /* 56165*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29537 : /* 56168*/ OPC_Scope, 15, /*->56185*/ // 2 children in Scope
29538 : /* 56170*/ OPC_CheckChild0Same, 1,
29539 : /* 56172*/ OPC_RecordChild1, // #2 = $v1
29540 : /* 56173*/ OPC_MoveParent,
29541 : /* 56174*/ OPC_CheckType, MVT::v2i64,
29542 : /* 56176*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29543 : MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
29544 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
29545 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29546 : /* 56185*/ /*Scope*/ 15, /*->56201*/
29547 : /* 56186*/ OPC_RecordChild0, // #2 = $v1
29548 : /* 56187*/ OPC_CheckChild1Same, 1,
29549 : /* 56189*/ OPC_MoveParent,
29550 : /* 56190*/ OPC_CheckType, MVT::v2i64,
29551 : /* 56192*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29552 : MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
29553 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
29554 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29555 : /* 56201*/ 0, /*End of Scope*/
29556 : /* 56202*/ /*Scope*/ 48, /*->56251*/
29557 : /* 56203*/ OPC_MoveChild0,
29558 : /* 56204*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29559 : /* 56207*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29560 : /* 56209*/ OPC_MoveParent,
29561 : /* 56210*/ OPC_RecordChild1, // #1 = $c
29562 : /* 56211*/ OPC_MoveParent,
29563 : /* 56212*/ OPC_MoveParent,
29564 : /* 56213*/ OPC_MoveChild1,
29565 : /* 56214*/ OPC_CheckOpcode, TARGET_VAL(ISD::AND),
29566 : /* 56217*/ OPC_Scope, 15, /*->56234*/ // 2 children in Scope
29567 : /* 56219*/ OPC_CheckChild0Same, 1,
29568 : /* 56221*/ OPC_RecordChild1, // #2 = $v1
29569 : /* 56222*/ OPC_MoveParent,
29570 : /* 56223*/ OPC_CheckType, MVT::v2i64,
29571 : /* 56225*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29572 : MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
29573 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
29574 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29575 : /* 56234*/ /*Scope*/ 15, /*->56250*/
29576 : /* 56235*/ OPC_RecordChild0, // #2 = $v1
29577 : /* 56236*/ OPC_CheckChild1Same, 1,
29578 : /* 56238*/ OPC_MoveParent,
29579 : /* 56239*/ OPC_CheckType, MVT::v2i64,
29580 : /* 56241*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
29581 : MVT::v2i64, 3/*#Ops*/, 2, 0, 1,
29582 : // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
29583 : // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
29584 : /* 56250*/ 0, /*End of Scope*/
29585 : /* 56251*/ 0, /*End of Scope*/
29586 : /* 56252*/ 0, /*End of Scope*/
29587 : /* 56253*/ /*Scope*/ 52, /*->56306*/
29588 : /* 56254*/ OPC_RecordChild0, // #0 = $lhs
29589 : /* 56255*/ OPC_RecordChild1, // #1 = $rhs
29590 : /* 56256*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->56269
29591 : /* 56259*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29592 : /* 56261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v16i8), 0,
29593 : MVT::v16i8, 2/*#Ops*/, 0, 1,
29594 : // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
29595 : // Dst: (OR_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
29596 : /* 56269*/ /*SwitchType*/ 10, MVT::v8i16,// ->56281
29597 : /* 56271*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29598 : /* 56273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v8i16), 0,
29599 : MVT::v8i16, 2/*#Ops*/, 0, 1,
29600 : // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
29601 : // Dst: (OR_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
29602 : /* 56281*/ /*SwitchType*/ 10, MVT::v4i32,// ->56293
29603 : /* 56283*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29604 : /* 56285*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v4i32), 0,
29605 : MVT::v4i32, 2/*#Ops*/, 0, 1,
29606 : // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
29607 : // Dst: (OR_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
29608 : /* 56293*/ /*SwitchType*/ 10, MVT::v2i64,// ->56305
29609 : /* 56295*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29610 : /* 56297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v2i64), 0,
29611 : MVT::v2i64, 2/*#Ops*/, 0, 1,
29612 : // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
29613 : // Dst: (OR_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
29614 : /* 56305*/ 0, // EndSwitchType
29615 : /* 56306*/ 0, /*End of Scope*/
29616 : /* 56307*/ /*SwitchOpcode*/ 64|128,1/*192*/, TARGET_VAL(ISD::XOR),// ->56503
29617 : /* 56311*/ OPC_Scope, 81, /*->56394*/ // 3 children in Scope
29618 : /* 56313*/ OPC_RecordChild0, // #0 = $lhs
29619 : /* 56314*/ OPC_Scope, 23, /*->56339*/ // 2 children in Scope
29620 : /* 56316*/ OPC_RecordChild1, // #1 = $rhs
29621 : /* 56317*/ OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56328
29622 : /* 56320*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I32), 0,
29623 : MVT::i32, 2/*#Ops*/, 0, 1,
29624 : // Src: (xor:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29625 : // Dst: (XOR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29626 : /* 56328*/ /*SwitchType*/ 8, MVT::i64,// ->56338
29627 : /* 56330*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I64), 0,
29628 : MVT::i64, 2/*#Ops*/, 0, 1,
29629 : // Src: (xor:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29630 : // Dst: (XOR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29631 : /* 56338*/ 0, // EndSwitchType
29632 : /* 56339*/ /*Scope*/ 53, /*->56393*/
29633 : /* 56340*/ OPC_MoveChild1,
29634 : /* 56341*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29635 : /* 56344*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29636 : /* 56346*/ OPC_MoveParent,
29637 : /* 56347*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56359
29638 : /* 56350*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29639 : /* 56352*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v16i8), 0,
29640 : MVT::v16i8, 1/*#Ops*/, 0,
29641 : // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
29642 : // Dst: (NOT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
29643 : /* 56359*/ /*SwitchType*/ 9, MVT::v8i16,// ->56370
29644 : /* 56361*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29645 : /* 56363*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v8i16), 0,
29646 : MVT::v8i16, 1/*#Ops*/, 0,
29647 : // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
29648 : // Dst: (NOT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
29649 : /* 56370*/ /*SwitchType*/ 9, MVT::v4i32,// ->56381
29650 : /* 56372*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29651 : /* 56374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v4i32), 0,
29652 : MVT::v4i32, 1/*#Ops*/, 0,
29653 : // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
29654 : // Dst: (NOT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
29655 : /* 56381*/ /*SwitchType*/ 9, MVT::v2i64,// ->56392
29656 : /* 56383*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29657 : /* 56385*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v2i64), 0,
29658 : MVT::v2i64, 1/*#Ops*/, 0,
29659 : // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
29660 : // Dst: (NOT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
29661 : /* 56392*/ 0, // EndSwitchType
29662 : /* 56393*/ 0, /*End of Scope*/
29663 : /* 56394*/ /*Scope*/ 54, /*->56449*/
29664 : /* 56395*/ OPC_MoveChild0,
29665 : /* 56396*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29666 : /* 56399*/ OPC_CheckPredicate, 26, // Predicate_immAllOnesV
29667 : /* 56401*/ OPC_MoveParent,
29668 : /* 56402*/ OPC_RecordChild1, // #0 = $vec
29669 : /* 56403*/ OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56415
29670 : /* 56406*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29671 : /* 56408*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v16i8), 0,
29672 : MVT::v16i8, 1/*#Ops*/, 0,
29673 : // Src: (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$vec) - Complexity = 7
29674 : // Dst: (NOT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
29675 : /* 56415*/ /*SwitchType*/ 9, MVT::v8i16,// ->56426
29676 : /* 56417*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29677 : /* 56419*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v8i16), 0,
29678 : MVT::v8i16, 1/*#Ops*/, 0,
29679 : // Src: (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$vec) - Complexity = 7
29680 : // Dst: (NOT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
29681 : /* 56426*/ /*SwitchType*/ 9, MVT::v4i32,// ->56437
29682 : /* 56428*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29683 : /* 56430*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v4i32), 0,
29684 : MVT::v4i32, 1/*#Ops*/, 0,
29685 : // Src: (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$vec) - Complexity = 7
29686 : // Dst: (NOT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
29687 : /* 56437*/ /*SwitchType*/ 9, MVT::v2i64,// ->56448
29688 : /* 56439*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29689 : /* 56441*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v2i64), 0,
29690 : MVT::v2i64, 1/*#Ops*/, 0,
29691 : // Src: (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$vec) - Complexity = 7
29692 : // Dst: (NOT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
29693 : /* 56448*/ 0, // EndSwitchType
29694 : /* 56449*/ /*Scope*/ 52, /*->56502*/
29695 : /* 56450*/ OPC_RecordChild0, // #0 = $lhs
29696 : /* 56451*/ OPC_RecordChild1, // #1 = $rhs
29697 : /* 56452*/ OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->56465
29698 : /* 56455*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29699 : /* 56457*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v16i8), 0,
29700 : MVT::v16i8, 2/*#Ops*/, 0, 1,
29701 : // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
29702 : // Dst: (XOR_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
29703 : /* 56465*/ /*SwitchType*/ 10, MVT::v8i16,// ->56477
29704 : /* 56467*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29705 : /* 56469*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v8i16), 0,
29706 : MVT::v8i16, 2/*#Ops*/, 0, 1,
29707 : // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
29708 : // Dst: (XOR_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
29709 : /* 56477*/ /*SwitchType*/ 10, MVT::v4i32,// ->56489
29710 : /* 56479*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29711 : /* 56481*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v4i32), 0,
29712 : MVT::v4i32, 2/*#Ops*/, 0, 1,
29713 : // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
29714 : // Dst: (XOR_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
29715 : /* 56489*/ /*SwitchType*/ 10, MVT::v2i64,// ->56501
29716 : /* 56491*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29717 : /* 56493*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v2i64), 0,
29718 : MVT::v2i64, 2/*#Ops*/, 0, 1,
29719 : // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
29720 : // Dst: (XOR_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
29721 : /* 56501*/ 0, // EndSwitchType
29722 : /* 56502*/ 0, /*End of Scope*/
29723 : /* 56503*/ /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SHL),// ->56723
29724 : /* 56507*/ OPC_RecordChild0, // #0 = $lhs
29725 : /* 56508*/ OPC_Scope, 27, /*->56537*/ // 2 children in Scope
29726 : /* 56510*/ OPC_RecordChild1, // #1 = $rhs
29727 : /* 56511*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56524
29728 : /* 56514*/ OPC_CheckChild1Type, MVT::i32,
29729 : /* 56516*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I32), 0,
29730 : MVT::i32, 2/*#Ops*/, 0, 1,
29731 : // Src: (shl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29732 : // Dst: (SHL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29733 : /* 56524*/ /*SwitchType*/ 10, MVT::i64,// ->56536
29734 : /* 56526*/ OPC_CheckChild1Type, MVT::i64,
29735 : /* 56528*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I64), 0,
29736 : MVT::i64, 2/*#Ops*/, 0, 1,
29737 : // Src: (shl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29738 : // Dst: (SHL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29739 : /* 56536*/ 0, // EndSwitchType
29740 : /* 56537*/ /*Scope*/ 55|128,1/*183*/, /*->56722*/
29741 : /* 56539*/ OPC_MoveChild1,
29742 : /* 56540*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29743 : /* 56543*/ OPC_Scope, 28, /*->56573*/ // 2 children in Scope
29744 : /* 56545*/ OPC_MoveChild0,
29745 : /* 56546*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
29746 : /* 56549*/ OPC_RecordChild0, // #1 = $x
29747 : /* 56550*/ OPC_MoveParent,
29748 : /* 56551*/ OPC_MoveChild1,
29749 : /* 56552*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
29750 : /* 56555*/ OPC_CheckChild0Same, 1,
29751 : /* 56557*/ OPC_MoveParent,
29752 : /* 56558*/ OPC_CheckType, MVT::v2i64,
29753 : /* 56560*/ OPC_MoveParent,
29754 : /* 56561*/ OPC_CheckType, MVT::v2i64,
29755 : /* 56563*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29756 : /* 56565*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v2i64), 0,
29757 : MVT::v2i64, 2/*#Ops*/, 0, 1,
29758 : // Src: (shl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
29759 : // Dst: (SHL_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
29760 : /* 56573*/ /*Scope*/ 18|128,1/*146*/, /*->56721*/
29761 : /* 56575*/ OPC_RecordChild0, // #1 = $x
29762 : /* 56576*/ OPC_Scope, 117, /*->56695*/ // 2 children in Scope
29763 : /* 56578*/ OPC_CheckChild0Type, MVT::i32,
29764 : /* 56580*/ OPC_CheckChild1Same, 1,
29765 : /* 56582*/ OPC_CheckChild2Same, 1,
29766 : /* 56584*/ OPC_CheckChild3Same, 1,
29767 : /* 56586*/ OPC_Scope, 90, /*->56678*/ // 2 children in Scope
29768 : /* 56588*/ OPC_MoveChild4,
29769 : /* 56589*/ OPC_CheckSame, 1,
29770 : /* 56591*/ OPC_MoveParent,
29771 : /* 56592*/ OPC_MoveChild5,
29772 : /* 56593*/ OPC_CheckSame, 1,
29773 : /* 56595*/ OPC_MoveParent,
29774 : /* 56596*/ OPC_MoveChild6,
29775 : /* 56597*/ OPC_CheckSame, 1,
29776 : /* 56599*/ OPC_MoveParent,
29777 : /* 56600*/ OPC_MoveChild7,
29778 : /* 56601*/ OPC_CheckSame, 1,
29779 : /* 56603*/ OPC_MoveParent,
29780 : /* 56604*/ OPC_Scope, 55, /*->56661*/ // 2 children in Scope
29781 : /* 56606*/ OPC_MoveChild, 8,
29782 : /* 56608*/ OPC_CheckSame, 1,
29783 : /* 56610*/ OPC_MoveParent,
29784 : /* 56611*/ OPC_MoveChild, 9,
29785 : /* 56613*/ OPC_CheckSame, 1,
29786 : /* 56615*/ OPC_MoveParent,
29787 : /* 56616*/ OPC_MoveChild, 10,
29788 : /* 56618*/ OPC_CheckSame, 1,
29789 : /* 56620*/ OPC_MoveParent,
29790 : /* 56621*/ OPC_MoveChild, 11,
29791 : /* 56623*/ OPC_CheckSame, 1,
29792 : /* 56625*/ OPC_MoveParent,
29793 : /* 56626*/ OPC_MoveChild, 12,
29794 : /* 56628*/ OPC_CheckSame, 1,
29795 : /* 56630*/ OPC_MoveParent,
29796 : /* 56631*/ OPC_MoveChild, 13,
29797 : /* 56633*/ OPC_CheckSame, 1,
29798 : /* 56635*/ OPC_MoveParent,
29799 : /* 56636*/ OPC_MoveChild, 14,
29800 : /* 56638*/ OPC_CheckSame, 1,
29801 : /* 56640*/ OPC_MoveParent,
29802 : /* 56641*/ OPC_MoveChild, 15,
29803 : /* 56643*/ OPC_CheckSame, 1,
29804 : /* 56645*/ OPC_MoveParent,
29805 : /* 56646*/ OPC_CheckType, MVT::v16i8,
29806 : /* 56648*/ OPC_MoveParent,
29807 : /* 56649*/ OPC_CheckType, MVT::v16i8,
29808 : /* 56651*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29809 : /* 56653*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v16i8), 0,
29810 : MVT::v16i8, 2/*#Ops*/, 0, 1,
29811 : // Src: (shl:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29812 : // Dst: (SHL_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
29813 : /* 56661*/ /*Scope*/ 15, /*->56677*/
29814 : /* 56662*/ OPC_CheckType, MVT::v8i16,
29815 : /* 56664*/ OPC_MoveParent,
29816 : /* 56665*/ OPC_CheckType, MVT::v8i16,
29817 : /* 56667*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29818 : /* 56669*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v8i16), 0,
29819 : MVT::v8i16, 2/*#Ops*/, 0, 1,
29820 : // Src: (shl:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29821 : // Dst: (SHL_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
29822 : /* 56677*/ 0, /*End of Scope*/
29823 : /* 56678*/ /*Scope*/ 15, /*->56694*/
29824 : /* 56679*/ OPC_CheckType, MVT::v4i32,
29825 : /* 56681*/ OPC_MoveParent,
29826 : /* 56682*/ OPC_CheckType, MVT::v4i32,
29827 : /* 56684*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29828 : /* 56686*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v4i32), 0,
29829 : MVT::v4i32, 2/*#Ops*/, 0, 1,
29830 : // Src: (shl:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29831 : // Dst: (SHL_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
29832 : /* 56694*/ 0, /*End of Scope*/
29833 : /* 56695*/ /*Scope*/ 24, /*->56720*/
29834 : /* 56696*/ OPC_CheckChild0Type, MVT::i64,
29835 : /* 56698*/ OPC_CheckChild1Same, 1,
29836 : /* 56700*/ OPC_CheckType, MVT::v2i64,
29837 : /* 56702*/ OPC_MoveParent,
29838 : /* 56703*/ OPC_CheckType, MVT::v2i64,
29839 : /* 56705*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
29840 : MVT::i32, 1/*#Ops*/, 1, // Results = #2
29841 : /* 56712*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v2i64), 0,
29842 : MVT::v2i64, 2/*#Ops*/, 0, 2,
29843 : // Src: (shl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
29844 : // Dst: (SHL_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
29845 : /* 56720*/ 0, /*End of Scope*/
29846 : /* 56721*/ 0, /*End of Scope*/
29847 : /* 56722*/ 0, /*End of Scope*/
29848 : /* 56723*/ /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SRA),// ->56943
29849 : /* 56727*/ OPC_RecordChild0, // #0 = $lhs
29850 : /* 56728*/ OPC_Scope, 27, /*->56757*/ // 2 children in Scope
29851 : /* 56730*/ OPC_RecordChild1, // #1 = $rhs
29852 : /* 56731*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56744
29853 : /* 56734*/ OPC_CheckChild1Type, MVT::i32,
29854 : /* 56736*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I32), 0,
29855 : MVT::i32, 2/*#Ops*/, 0, 1,
29856 : // Src: (sra:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29857 : // Dst: (SHR_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29858 : /* 56744*/ /*SwitchType*/ 10, MVT::i64,// ->56756
29859 : /* 56746*/ OPC_CheckChild1Type, MVT::i64,
29860 : /* 56748*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I64), 0,
29861 : MVT::i64, 2/*#Ops*/, 0, 1,
29862 : // Src: (sra:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29863 : // Dst: (SHR_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29864 : /* 56756*/ 0, // EndSwitchType
29865 : /* 56757*/ /*Scope*/ 55|128,1/*183*/, /*->56942*/
29866 : /* 56759*/ OPC_MoveChild1,
29867 : /* 56760*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29868 : /* 56763*/ OPC_Scope, 28, /*->56793*/ // 2 children in Scope
29869 : /* 56765*/ OPC_MoveChild0,
29870 : /* 56766*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
29871 : /* 56769*/ OPC_RecordChild0, // #1 = $x
29872 : /* 56770*/ OPC_MoveParent,
29873 : /* 56771*/ OPC_MoveChild1,
29874 : /* 56772*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
29875 : /* 56775*/ OPC_CheckChild0Same, 1,
29876 : /* 56777*/ OPC_MoveParent,
29877 : /* 56778*/ OPC_CheckType, MVT::v2i64,
29878 : /* 56780*/ OPC_MoveParent,
29879 : /* 56781*/ OPC_CheckType, MVT::v2i64,
29880 : /* 56783*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29881 : /* 56785*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v2i64), 0,
29882 : MVT::v2i64, 2/*#Ops*/, 0, 1,
29883 : // Src: (sra:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
29884 : // Dst: (SHR_S_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
29885 : /* 56793*/ /*Scope*/ 18|128,1/*146*/, /*->56941*/
29886 : /* 56795*/ OPC_RecordChild0, // #1 = $x
29887 : /* 56796*/ OPC_Scope, 117, /*->56915*/ // 2 children in Scope
29888 : /* 56798*/ OPC_CheckChild0Type, MVT::i32,
29889 : /* 56800*/ OPC_CheckChild1Same, 1,
29890 : /* 56802*/ OPC_CheckChild2Same, 1,
29891 : /* 56804*/ OPC_CheckChild3Same, 1,
29892 : /* 56806*/ OPC_Scope, 90, /*->56898*/ // 2 children in Scope
29893 : /* 56808*/ OPC_MoveChild4,
29894 : /* 56809*/ OPC_CheckSame, 1,
29895 : /* 56811*/ OPC_MoveParent,
29896 : /* 56812*/ OPC_MoveChild5,
29897 : /* 56813*/ OPC_CheckSame, 1,
29898 : /* 56815*/ OPC_MoveParent,
29899 : /* 56816*/ OPC_MoveChild6,
29900 : /* 56817*/ OPC_CheckSame, 1,
29901 : /* 56819*/ OPC_MoveParent,
29902 : /* 56820*/ OPC_MoveChild7,
29903 : /* 56821*/ OPC_CheckSame, 1,
29904 : /* 56823*/ OPC_MoveParent,
29905 : /* 56824*/ OPC_Scope, 55, /*->56881*/ // 2 children in Scope
29906 : /* 56826*/ OPC_MoveChild, 8,
29907 : /* 56828*/ OPC_CheckSame, 1,
29908 : /* 56830*/ OPC_MoveParent,
29909 : /* 56831*/ OPC_MoveChild, 9,
29910 : /* 56833*/ OPC_CheckSame, 1,
29911 : /* 56835*/ OPC_MoveParent,
29912 : /* 56836*/ OPC_MoveChild, 10,
29913 : /* 56838*/ OPC_CheckSame, 1,
29914 : /* 56840*/ OPC_MoveParent,
29915 : /* 56841*/ OPC_MoveChild, 11,
29916 : /* 56843*/ OPC_CheckSame, 1,
29917 : /* 56845*/ OPC_MoveParent,
29918 : /* 56846*/ OPC_MoveChild, 12,
29919 : /* 56848*/ OPC_CheckSame, 1,
29920 : /* 56850*/ OPC_MoveParent,
29921 : /* 56851*/ OPC_MoveChild, 13,
29922 : /* 56853*/ OPC_CheckSame, 1,
29923 : /* 56855*/ OPC_MoveParent,
29924 : /* 56856*/ OPC_MoveChild, 14,
29925 : /* 56858*/ OPC_CheckSame, 1,
29926 : /* 56860*/ OPC_MoveParent,
29927 : /* 56861*/ OPC_MoveChild, 15,
29928 : /* 56863*/ OPC_CheckSame, 1,
29929 : /* 56865*/ OPC_MoveParent,
29930 : /* 56866*/ OPC_CheckType, MVT::v16i8,
29931 : /* 56868*/ OPC_MoveParent,
29932 : /* 56869*/ OPC_CheckType, MVT::v16i8,
29933 : /* 56871*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29934 : /* 56873*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v16i8), 0,
29935 : MVT::v16i8, 2/*#Ops*/, 0, 1,
29936 : // Src: (sra:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29937 : // Dst: (SHR_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
29938 : /* 56881*/ /*Scope*/ 15, /*->56897*/
29939 : /* 56882*/ OPC_CheckType, MVT::v8i16,
29940 : /* 56884*/ OPC_MoveParent,
29941 : /* 56885*/ OPC_CheckType, MVT::v8i16,
29942 : /* 56887*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29943 : /* 56889*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v8i16), 0,
29944 : MVT::v8i16, 2/*#Ops*/, 0, 1,
29945 : // Src: (sra:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29946 : // Dst: (SHR_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
29947 : /* 56897*/ 0, /*End of Scope*/
29948 : /* 56898*/ /*Scope*/ 15, /*->56914*/
29949 : /* 56899*/ OPC_CheckType, MVT::v4i32,
29950 : /* 56901*/ OPC_MoveParent,
29951 : /* 56902*/ OPC_CheckType, MVT::v4i32,
29952 : /* 56904*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
29953 : /* 56906*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v4i32), 0,
29954 : MVT::v4i32, 2/*#Ops*/, 0, 1,
29955 : // Src: (sra:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
29956 : // Dst: (SHR_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
29957 : /* 56914*/ 0, /*End of Scope*/
29958 : /* 56915*/ /*Scope*/ 24, /*->56940*/
29959 : /* 56916*/ OPC_CheckChild0Type, MVT::i64,
29960 : /* 56918*/ OPC_CheckChild1Same, 1,
29961 : /* 56920*/ OPC_CheckType, MVT::v2i64,
29962 : /* 56922*/ OPC_MoveParent,
29963 : /* 56923*/ OPC_CheckType, MVT::v2i64,
29964 : /* 56925*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
29965 : MVT::i32, 1/*#Ops*/, 1, // Results = #2
29966 : /* 56932*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v2i64), 0,
29967 : MVT::v2i64, 2/*#Ops*/, 0, 2,
29968 : // Src: (sra:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
29969 : // Dst: (SHR_S_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
29970 : /* 56940*/ 0, /*End of Scope*/
29971 : /* 56941*/ 0, /*End of Scope*/
29972 : /* 56942*/ 0, /*End of Scope*/
29973 : /* 56943*/ /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SRL),// ->57163
29974 : /* 56947*/ OPC_RecordChild0, // #0 = $lhs
29975 : /* 56948*/ OPC_Scope, 27, /*->56977*/ // 2 children in Scope
29976 : /* 56950*/ OPC_RecordChild1, // #1 = $rhs
29977 : /* 56951*/ OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56964
29978 : /* 56954*/ OPC_CheckChild1Type, MVT::i32,
29979 : /* 56956*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I32), 0,
29980 : MVT::i32, 2/*#Ops*/, 0, 1,
29981 : // Src: (srl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
29982 : // Dst: (SHR_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
29983 : /* 56964*/ /*SwitchType*/ 10, MVT::i64,// ->56976
29984 : /* 56966*/ OPC_CheckChild1Type, MVT::i64,
29985 : /* 56968*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I64), 0,
29986 : MVT::i64, 2/*#Ops*/, 0, 1,
29987 : // Src: (srl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
29988 : // Dst: (SHR_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
29989 : /* 56976*/ 0, // EndSwitchType
29990 : /* 56977*/ /*Scope*/ 55|128,1/*183*/, /*->57162*/
29991 : /* 56979*/ OPC_MoveChild1,
29992 : /* 56980*/ OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29993 : /* 56983*/ OPC_Scope, 28, /*->57013*/ // 2 children in Scope
29994 : /* 56985*/ OPC_MoveChild0,
29995 : /* 56986*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
29996 : /* 56989*/ OPC_RecordChild0, // #1 = $x
29997 : /* 56990*/ OPC_MoveParent,
29998 : /* 56991*/ OPC_MoveChild1,
29999 : /* 56992*/ OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
30000 : /* 56995*/ OPC_CheckChild0Same, 1,
30001 : /* 56997*/ OPC_MoveParent,
30002 : /* 56998*/ OPC_CheckType, MVT::v2i64,
30003 : /* 57000*/ OPC_MoveParent,
30004 : /* 57001*/ OPC_CheckType, MVT::v2i64,
30005 : /* 57003*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30006 : /* 57005*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v2i64), 0,
30007 : MVT::v2i64, 2/*#Ops*/, 0, 1,
30008 : // Src: (srl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
30009 : // Dst: (SHR_U_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
30010 : /* 57013*/ /*Scope*/ 18|128,1/*146*/, /*->57161*/
30011 : /* 57015*/ OPC_RecordChild0, // #1 = $x
30012 : /* 57016*/ OPC_Scope, 117, /*->57135*/ // 2 children in Scope
30013 : /* 57018*/ OPC_CheckChild0Type, MVT::i32,
30014 : /* 57020*/ OPC_CheckChild1Same, 1,
30015 : /* 57022*/ OPC_CheckChild2Same, 1,
30016 : /* 57024*/ OPC_CheckChild3Same, 1,
30017 : /* 57026*/ OPC_Scope, 90, /*->57118*/ // 2 children in Scope
30018 : /* 57028*/ OPC_MoveChild4,
30019 : /* 57029*/ OPC_CheckSame, 1,
30020 : /* 57031*/ OPC_MoveParent,
30021 : /* 57032*/ OPC_MoveChild5,
30022 : /* 57033*/ OPC_CheckSame, 1,
30023 : /* 57035*/ OPC_MoveParent,
30024 : /* 57036*/ OPC_MoveChild6,
30025 : /* 57037*/ OPC_CheckSame, 1,
30026 : /* 57039*/ OPC_MoveParent,
30027 : /* 57040*/ OPC_MoveChild7,
30028 : /* 57041*/ OPC_CheckSame, 1,
30029 : /* 57043*/ OPC_MoveParent,
30030 : /* 57044*/ OPC_Scope, 55, /*->57101*/ // 2 children in Scope
30031 : /* 57046*/ OPC_MoveChild, 8,
30032 : /* 57048*/ OPC_CheckSame, 1,
30033 : /* 57050*/ OPC_MoveParent,
30034 : /* 57051*/ OPC_MoveChild, 9,
30035 : /* 57053*/ OPC_CheckSame, 1,
30036 : /* 57055*/ OPC_MoveParent,
30037 : /* 57056*/ OPC_MoveChild, 10,
30038 : /* 57058*/ OPC_CheckSame, 1,
30039 : /* 57060*/ OPC_MoveParent,
30040 : /* 57061*/ OPC_MoveChild, 11,
30041 : /* 57063*/ OPC_CheckSame, 1,
30042 : /* 57065*/ OPC_MoveParent,
30043 : /* 57066*/ OPC_MoveChild, 12,
30044 : /* 57068*/ OPC_CheckSame, 1,
30045 : /* 57070*/ OPC_MoveParent,
30046 : /* 57071*/ OPC_MoveChild, 13,
30047 : /* 57073*/ OPC_CheckSame, 1,
30048 : /* 57075*/ OPC_MoveParent,
30049 : /* 57076*/ OPC_MoveChild, 14,
30050 : /* 57078*/ OPC_CheckSame, 1,
30051 : /* 57080*/ OPC_MoveParent,
30052 : /* 57081*/ OPC_MoveChild, 15,
30053 : /* 57083*/ OPC_CheckSame, 1,
30054 : /* 57085*/ OPC_MoveParent,
30055 : /* 57086*/ OPC_CheckType, MVT::v16i8,
30056 : /* 57088*/ OPC_MoveParent,
30057 : /* 57089*/ OPC_CheckType, MVT::v16i8,
30058 : /* 57091*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30059 : /* 57093*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v16i8), 0,
30060 : MVT::v16i8, 2/*#Ops*/, 0, 1,
30061 : // Src: (srl:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
30062 : // Dst: (SHR_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
30063 : /* 57101*/ /*Scope*/ 15, /*->57117*/
30064 : /* 57102*/ OPC_CheckType, MVT::v8i16,
30065 : /* 57104*/ OPC_MoveParent,
30066 : /* 57105*/ OPC_CheckType, MVT::v8i16,
30067 : /* 57107*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30068 : /* 57109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v8i16), 0,
30069 : MVT::v8i16, 2/*#Ops*/, 0, 1,
30070 : // Src: (srl:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
30071 : // Dst: (SHR_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
30072 : /* 57117*/ 0, /*End of Scope*/
30073 : /* 57118*/ /*Scope*/ 15, /*->57134*/
30074 : /* 57119*/ OPC_CheckType, MVT::v4i32,
30075 : /* 57121*/ OPC_MoveParent,
30076 : /* 57122*/ OPC_CheckType, MVT::v4i32,
30077 : /* 57124*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30078 : /* 57126*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v4i32), 0,
30079 : MVT::v4i32, 2/*#Ops*/, 0, 1,
30080 : // Src: (srl:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
30081 : // Dst: (SHR_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
30082 : /* 57134*/ 0, /*End of Scope*/
30083 : /* 57135*/ /*Scope*/ 24, /*->57160*/
30084 : /* 57136*/ OPC_CheckChild0Type, MVT::i64,
30085 : /* 57138*/ OPC_CheckChild1Same, 1,
30086 : /* 57140*/ OPC_CheckType, MVT::v2i64,
30087 : /* 57142*/ OPC_MoveParent,
30088 : /* 57143*/ OPC_CheckType, MVT::v2i64,
30089 : /* 57145*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
30090 : MVT::i32, 1/*#Ops*/, 1, // Results = #2
30091 : /* 57152*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v2i64), 0,
30092 : MVT::v2i64, 2/*#Ops*/, 0, 2,
30093 : // Src: (srl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
30094 : // Dst: (SHR_U_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
30095 : /* 57160*/ 0, /*End of Scope*/
30096 : /* 57161*/ 0, /*End of Scope*/
30097 : /* 57162*/ 0, /*End of Scope*/
30098 : /* 57163*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTLZ),// ->57187
30099 : /* 57166*/ OPC_RecordChild0, // #0 = $src
30100 : /* 57167*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57177
30101 : /* 57170*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I32), 0,
30102 : MVT::i32, 1/*#Ops*/, 0,
30103 : // Src: (ctlz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
30104 : // Dst: (CLZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
30105 : /* 57177*/ /*SwitchType*/ 7, MVT::i64,// ->57186
30106 : /* 57179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I64), 0,
30107 : MVT::i64, 1/*#Ops*/, 0,
30108 : // Src: (ctlz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
30109 : // Dst: (CLZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
30110 : /* 57186*/ 0, // EndSwitchType
30111 : /* 57187*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTTZ),// ->57211
30112 : /* 57190*/ OPC_RecordChild0, // #0 = $src
30113 : /* 57191*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57201
30114 : /* 57194*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I32), 0,
30115 : MVT::i32, 1/*#Ops*/, 0,
30116 : // Src: (cttz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
30117 : // Dst: (CTZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
30118 : /* 57201*/ /*SwitchType*/ 7, MVT::i64,// ->57210
30119 : /* 57203*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I64), 0,
30120 : MVT::i64, 1/*#Ops*/, 0,
30121 : // Src: (cttz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
30122 : // Dst: (CTZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
30123 : /* 57210*/ 0, // EndSwitchType
30124 : /* 57211*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTPOP),// ->57235
30125 : /* 57214*/ OPC_RecordChild0, // #0 = $src
30126 : /* 57215*/ OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57225
30127 : /* 57218*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I32), 0,
30128 : MVT::i32, 1/*#Ops*/, 0,
30129 : // Src: (ctpop:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
30130 : // Dst: (POPCNT_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
30131 : /* 57225*/ /*SwitchType*/ 7, MVT::i64,// ->57234
30132 : /* 57227*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I64), 0,
30133 : MVT::i64, 1/*#Ops*/, 0,
30134 : // Src: (ctpop:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
30135 : // Dst: (POPCNT_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
30136 : /* 57234*/ 0, // EndSwitchType
30137 : /* 57235*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::TRUNCATE),// ->57246
30138 : /* 57238*/ OPC_RecordChild0, // #0 = $src
30139 : /* 57239*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
30140 : MVT::i32, 1/*#Ops*/, 0,
30141 : // Src: (trunc:{ *:[i32] } I64:{ *:[i64] }:$src) - Complexity = 3
30142 : // Dst: (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
30143 : /* 57246*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::SIGN_EXTEND),// ->57257
30144 : /* 57249*/ OPC_RecordChild0, // #0 = $src
30145 : /* 57250*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32), 0,
30146 : MVT::i64, 1/*#Ops*/, 0,
30147 : // Src: (sext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
30148 : // Dst: (I64_EXTEND_S_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
30149 : /* 57257*/ /*SwitchOpcode*/ 5|128,1/*133*/, TARGET_VAL(ISD::FP_TO_SINT),// ->57394
30150 : /* 57261*/ OPC_RecordChild0, // #0 = $src
30151 : /* 57262*/ OPC_Scope, 52, /*->57316*/ // 4 children in Scope
30152 : /* 57264*/ OPC_CheckChild0Type, MVT::f32,
30153 : /* 57266*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57291
30154 : /* 57269*/ OPC_Scope, 9, /*->57280*/ // 2 children in Scope
30155 : /* 57271*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30156 : /* 57273*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
30157 : MVT::i32, 1/*#Ops*/, 0,
30158 : // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
30159 : // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
30160 : /* 57280*/ /*Scope*/ 9, /*->57290*/
30161 : /* 57281*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30162 : /* 57283*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32), 0,
30163 : MVT::i32, 1/*#Ops*/, 0,
30164 : // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
30165 : // Dst: (FP_TO_SINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
30166 : /* 57290*/ 0, /*End of Scope*/
30167 : /* 57291*/ /*SwitchType*/ 22, MVT::i64,// ->57315
30168 : /* 57293*/ OPC_Scope, 9, /*->57304*/ // 2 children in Scope
30169 : /* 57295*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30170 : /* 57297*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
30171 : MVT::i64, 1/*#Ops*/, 0,
30172 : // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
30173 : // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
30174 : /* 57304*/ /*Scope*/ 9, /*->57314*/
30175 : /* 57305*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30176 : /* 57307*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32), 0,
30177 : MVT::i64, 1/*#Ops*/, 0,
30178 : // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
30179 : // Dst: (FP_TO_SINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
30180 : /* 57314*/ 0, /*End of Scope*/
30181 : /* 57315*/ 0, // EndSwitchType
30182 : /* 57316*/ /*Scope*/ 52, /*->57369*/
30183 : /* 57317*/ OPC_CheckChild0Type, MVT::f64,
30184 : /* 57319*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57344
30185 : /* 57322*/ OPC_Scope, 9, /*->57333*/ // 2 children in Scope
30186 : /* 57324*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30187 : /* 57326*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
30188 : MVT::i32, 1/*#Ops*/, 0,
30189 : // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
30190 : // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
30191 : /* 57333*/ /*Scope*/ 9, /*->57343*/
30192 : /* 57334*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30193 : /* 57336*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64), 0,
30194 : MVT::i32, 1/*#Ops*/, 0,
30195 : // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
30196 : // Dst: (FP_TO_SINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
30197 : /* 57343*/ 0, /*End of Scope*/
30198 : /* 57344*/ /*SwitchType*/ 22, MVT::i64,// ->57368
30199 : /* 57346*/ OPC_Scope, 9, /*->57357*/ // 2 children in Scope
30200 : /* 57348*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30201 : /* 57350*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
30202 : MVT::i64, 1/*#Ops*/, 0,
30203 : // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
30204 : // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
30205 : /* 57357*/ /*Scope*/ 9, /*->57367*/
30206 : /* 57358*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30207 : /* 57360*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64), 0,
30208 : MVT::i64, 1/*#Ops*/, 0,
30209 : // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
30210 : // Dst: (FP_TO_SINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
30211 : /* 57367*/ 0, /*End of Scope*/
30212 : /* 57368*/ 0, // EndSwitchType
30213 : /* 57369*/ /*Scope*/ 11, /*->57381*/
30214 : /* 57370*/ OPC_CheckType, MVT::v4i32,
30215 : /* 57372*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30216 : /* 57374*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v4i32_v4f32), 0,
30217 : MVT::v4i32, 1/*#Ops*/, 0,
30218 : // Src: (fp_to_sint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
30219 : // Dst: (fp_to_sint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
30220 : /* 57381*/ /*Scope*/ 11, /*->57393*/
30221 : /* 57382*/ OPC_CheckType, MVT::v2i64,
30222 : /* 57384*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30223 : /* 57386*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v2i64_v2f64), 0,
30224 : MVT::v2i64, 1/*#Ops*/, 0,
30225 : // Src: (fp_to_sint:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
30226 : // Dst: (fp_to_sint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec)
30227 : /* 57393*/ 0, /*End of Scope*/
30228 : /* 57394*/ /*SwitchOpcode*/ 5|128,1/*133*/, TARGET_VAL(ISD::FP_TO_UINT),// ->57531
30229 : /* 57398*/ OPC_RecordChild0, // #0 = $src
30230 : /* 57399*/ OPC_Scope, 52, /*->57453*/ // 4 children in Scope
30231 : /* 57401*/ OPC_CheckChild0Type, MVT::f32,
30232 : /* 57403*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57428
30233 : /* 57406*/ OPC_Scope, 9, /*->57417*/ // 2 children in Scope
30234 : /* 57408*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30235 : /* 57410*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
30236 : MVT::i32, 1/*#Ops*/, 0,
30237 : // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
30238 : // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
30239 : /* 57417*/ /*Scope*/ 9, /*->57427*/
30240 : /* 57418*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30241 : /* 57420*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32), 0,
30242 : MVT::i32, 1/*#Ops*/, 0,
30243 : // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
30244 : // Dst: (FP_TO_UINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
30245 : /* 57427*/ 0, /*End of Scope*/
30246 : /* 57428*/ /*SwitchType*/ 22, MVT::i64,// ->57452
30247 : /* 57430*/ OPC_Scope, 9, /*->57441*/ // 2 children in Scope
30248 : /* 57432*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30249 : /* 57434*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
30250 : MVT::i64, 1/*#Ops*/, 0,
30251 : // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
30252 : // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
30253 : /* 57441*/ /*Scope*/ 9, /*->57451*/
30254 : /* 57442*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30255 : /* 57444*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32), 0,
30256 : MVT::i64, 1/*#Ops*/, 0,
30257 : // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
30258 : // Dst: (FP_TO_UINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
30259 : /* 57451*/ 0, /*End of Scope*/
30260 : /* 57452*/ 0, // EndSwitchType
30261 : /* 57453*/ /*Scope*/ 52, /*->57506*/
30262 : /* 57454*/ OPC_CheckChild0Type, MVT::f64,
30263 : /* 57456*/ OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57481
30264 : /* 57459*/ OPC_Scope, 9, /*->57470*/ // 2 children in Scope
30265 : /* 57461*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30266 : /* 57463*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
30267 : MVT::i32, 1/*#Ops*/, 0,
30268 : // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
30269 : // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
30270 : /* 57470*/ /*Scope*/ 9, /*->57480*/
30271 : /* 57471*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30272 : /* 57473*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64), 0,
30273 : MVT::i32, 1/*#Ops*/, 0,
30274 : // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
30275 : // Dst: (FP_TO_UINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
30276 : /* 57480*/ 0, /*End of Scope*/
30277 : /* 57481*/ /*SwitchType*/ 22, MVT::i64,// ->57505
30278 : /* 57483*/ OPC_Scope, 9, /*->57494*/ // 2 children in Scope
30279 : /* 57485*/ OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
30280 : /* 57487*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
30281 : MVT::i64, 1/*#Ops*/, 0,
30282 : // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
30283 : // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
30284 : /* 57494*/ /*Scope*/ 9, /*->57504*/
30285 : /* 57495*/ OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
30286 : /* 57497*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64), 0,
30287 : MVT::i64, 1/*#Ops*/, 0,
30288 : // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
30289 : // Dst: (FP_TO_UINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
30290 : /* 57504*/ 0, /*End of Scope*/
30291 : /* 57505*/ 0, // EndSwitchType
30292 : /* 57506*/ /*Scope*/ 11, /*->57518*/
30293 : /* 57507*/ OPC_CheckType, MVT::v4i32,
30294 : /* 57509*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30295 : /* 57511*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v4i32_v4f32), 0,
30296 : MVT::v4i32, 1/*#Ops*/, 0,
30297 : // Src: (fp_to_uint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
30298 : // Dst: (fp_to_uint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
30299 : /* 57518*/ /*Scope*/ 11, /*->57530*/
30300 : /* 57519*/ OPC_CheckType, MVT::v2i64,
30301 : /* 57521*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30302 : /* 57523*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v2i64_v2f64), 0,
30303 : MVT::v2i64, 1/*#Ops*/, 0,
30304 : // Src: (fp_to_uint:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
30305 : // Dst: (fp_to_uint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec)
30306 : /* 57530*/ 0, /*End of Scope*/
30307 : /* 57531*/ /*SwitchOpcode*/ 103|128,1/*231*/, TARGET_VAL(ISD::BITCAST),// ->57766
30308 : /* 57535*/ OPC_RecordChild0, // #0 = $src
30309 : /* 57536*/ OPC_Scope, 11, /*->57549*/ // 10 children in Scope
30310 : /* 57538*/ OPC_CheckChild0Type, MVT::f32,
30311 : /* 57540*/ OPC_CheckType, MVT::i32,
30312 : /* 57542*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32), 0,
30313 : MVT::i32, 1/*#Ops*/, 0,
30314 : // Src: (bitconvert:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
30315 : // Dst: (I32_REINTERPRET_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
30316 : /* 57549*/ /*Scope*/ 11, /*->57561*/
30317 : /* 57550*/ OPC_CheckChild0Type, MVT::f64,
30318 : /* 57552*/ OPC_CheckType, MVT::i64,
30319 : /* 57554*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64), 0,
30320 : MVT::i64, 1/*#Ops*/, 0,
30321 : // Src: (bitconvert:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
30322 : // Dst: (I64_REINTERPRET_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
30323 : /* 57561*/ /*Scope*/ 11, /*->57573*/
30324 : /* 57562*/ OPC_CheckChild0Type, MVT::i32,
30325 : /* 57564*/ OPC_CheckType, MVT::f32,
30326 : /* 57566*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32), 0,
30327 : MVT::f32, 1/*#Ops*/, 0,
30328 : // Src: (bitconvert:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
30329 : // Dst: (F32_REINTERPRET_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
30330 : /* 57573*/ /*Scope*/ 11, /*->57585*/
30331 : /* 57574*/ OPC_CheckChild0Type, MVT::i64,
30332 : /* 57576*/ OPC_CheckType, MVT::f64,
30333 : /* 57578*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64), 0,
30334 : MVT::f64, 1/*#Ops*/, 0,
30335 : // Src: (bitconvert:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
30336 : // Dst: (F64_REINTERPRET_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
30337 : /* 57585*/ /*Scope*/ 29, /*->57615*/
30338 : /* 57586*/ OPC_CheckChild0Type, MVT::v8i16,
30339 : /* 57588*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57594
30340 : /* 57591*/ OPC_CompleteMatch, 1, 0,
30341 : // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v8i16] }:$v) - Complexity = 3
30342 : // Dst: V128:{ *:[v16i8] }:$v
30343 : /* 57594*/ /*SwitchType*/ 3, MVT::v4i32,// ->57599
30344 : /* 57596*/ OPC_CompleteMatch, 1, 0,
30345 : // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
30346 : // Dst: V128:{ *:[v4i32] }:$v
30347 : /* 57599*/ /*SwitchType*/ 3, MVT::v2i64,// ->57604
30348 : /* 57601*/ OPC_CompleteMatch, 1, 0,
30349 : // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
30350 : // Dst: V128:{ *:[v2i64] }:$v
30351 : /* 57604*/ /*SwitchType*/ 3, MVT::v4f32,// ->57609
30352 : /* 57606*/ OPC_CompleteMatch, 1, 0,
30353 : // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
30354 : // Dst: V128:{ *:[v4f32] }:$v
30355 : /* 57609*/ /*SwitchType*/ 3, MVT::v2f64,// ->57614
30356 : /* 57611*/ OPC_CompleteMatch, 1, 0,
30357 : // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
30358 : // Dst: V128:{ *:[v2f64] }:$v
30359 : /* 57614*/ 0, // EndSwitchType
30360 : /* 57615*/ /*Scope*/ 29, /*->57645*/
30361 : /* 57616*/ OPC_CheckChild0Type, MVT::v4i32,
30362 : /* 57618*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57624
30363 : /* 57621*/ OPC_CompleteMatch, 1, 0,
30364 : // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4i32] }:$v) - Complexity = 3
30365 : // Dst: V128:{ *:[v16i8] }:$v
30366 : /* 57624*/ /*SwitchType*/ 3, MVT::v8i16,// ->57629
30367 : /* 57626*/ OPC_CompleteMatch, 1, 0,
30368 : // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4i32] }:$v) - Complexity = 3
30369 : // Dst: V128:{ *:[v8i16] }:$v
30370 : /* 57629*/ /*SwitchType*/ 3, MVT::v2i64,// ->57634
30371 : /* 57631*/ OPC_CompleteMatch, 1, 0,
30372 : // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
30373 : // Dst: V128:{ *:[v2i64] }:$v
30374 : /* 57634*/ /*SwitchType*/ 3, MVT::v4f32,// ->57639
30375 : /* 57636*/ OPC_CompleteMatch, 1, 0,
30376 : // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v4i32] }:$v) - Complexity = 3
30377 : // Dst: V128:{ *:[v4f32] }:$v
30378 : /* 57639*/ /*SwitchType*/ 3, MVT::v2f64,// ->57644
30379 : /* 57641*/ OPC_CompleteMatch, 1, 0,
30380 : // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
30381 : // Dst: V128:{ *:[v2f64] }:$v
30382 : /* 57644*/ 0, // EndSwitchType
30383 : /* 57645*/ /*Scope*/ 29, /*->57675*/
30384 : /* 57646*/ OPC_CheckChild0Type, MVT::v2i64,
30385 : /* 57648*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57654
30386 : /* 57651*/ OPC_CompleteMatch, 1, 0,
30387 : // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2i64] }:$v) - Complexity = 3
30388 : // Dst: V128:{ *:[v16i8] }:$v
30389 : /* 57654*/ /*SwitchType*/ 3, MVT::v8i16,// ->57659
30390 : /* 57656*/ OPC_CompleteMatch, 1, 0,
30391 : // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2i64] }:$v) - Complexity = 3
30392 : // Dst: V128:{ *:[v8i16] }:$v
30393 : /* 57659*/ /*SwitchType*/ 3, MVT::v4i32,// ->57664
30394 : /* 57661*/ OPC_CompleteMatch, 1, 0,
30395 : // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
30396 : // Dst: V128:{ *:[v4i32] }:$v
30397 : /* 57664*/ /*SwitchType*/ 3, MVT::v4f32,// ->57669
30398 : /* 57666*/ OPC_CompleteMatch, 1, 0,
30399 : // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
30400 : // Dst: V128:{ *:[v4f32] }:$v
30401 : /* 57669*/ /*SwitchType*/ 3, MVT::v2f64,// ->57674
30402 : /* 57671*/ OPC_CompleteMatch, 1, 0,
30403 : // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v2i64] }:$v) - Complexity = 3
30404 : // Dst: V128:{ *:[v2f64] }:$v
30405 : /* 57674*/ 0, // EndSwitchType
30406 : /* 57675*/ /*Scope*/ 29, /*->57705*/
30407 : /* 57676*/ OPC_CheckChild0Type, MVT::v4f32,
30408 : /* 57678*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57684
30409 : /* 57681*/ OPC_CompleteMatch, 1, 0,
30410 : // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4f32] }:$v) - Complexity = 3
30411 : // Dst: V128:{ *:[v16i8] }:$v
30412 : /* 57684*/ /*SwitchType*/ 3, MVT::v8i16,// ->57689
30413 : /* 57686*/ OPC_CompleteMatch, 1, 0,
30414 : // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4f32] }:$v) - Complexity = 3
30415 : // Dst: V128:{ *:[v8i16] }:$v
30416 : /* 57689*/ /*SwitchType*/ 3, MVT::v4i32,// ->57694
30417 : /* 57691*/ OPC_CompleteMatch, 1, 0,
30418 : // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
30419 : // Dst: V128:{ *:[v4i32] }:$v
30420 : /* 57694*/ /*SwitchType*/ 3, MVT::v2i64,// ->57699
30421 : /* 57696*/ OPC_CompleteMatch, 1, 0,
30422 : // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
30423 : // Dst: V128:{ *:[v2i64] }:$v
30424 : /* 57699*/ /*SwitchType*/ 3, MVT::v2f64,// ->57704
30425 : /* 57701*/ OPC_CompleteMatch, 1, 0,
30426 : // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
30427 : // Dst: V128:{ *:[v2f64] }:$v
30428 : /* 57704*/ 0, // EndSwitchType
30429 : /* 57705*/ /*Scope*/ 29, /*->57735*/
30430 : /* 57706*/ OPC_CheckChild0Type, MVT::v2f64,
30431 : /* 57708*/ OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57714
30432 : /* 57711*/ OPC_CompleteMatch, 1, 0,
30433 : // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2f64] }:$v) - Complexity = 3
30434 : // Dst: V128:{ *:[v16i8] }:$v
30435 : /* 57714*/ /*SwitchType*/ 3, MVT::v8i16,// ->57719
30436 : /* 57716*/ OPC_CompleteMatch, 1, 0,
30437 : // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2f64] }:$v) - Complexity = 3
30438 : // Dst: V128:{ *:[v8i16] }:$v
30439 : /* 57719*/ /*SwitchType*/ 3, MVT::v4i32,// ->57724
30440 : /* 57721*/ OPC_CompleteMatch, 1, 0,
30441 : // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
30442 : // Dst: V128:{ *:[v4i32] }:$v
30443 : /* 57724*/ /*SwitchType*/ 3, MVT::v2i64,// ->57729
30444 : /* 57726*/ OPC_CompleteMatch, 1, 0,
30445 : // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
30446 : // Dst: V128:{ *:[v2i64] }:$v
30447 : /* 57729*/ /*SwitchType*/ 3, MVT::v4f32,// ->57734
30448 : /* 57731*/ OPC_CompleteMatch, 1, 0,
30449 : // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
30450 : // Dst: V128:{ *:[v4f32] }:$v
30451 : /* 57734*/ 0, // EndSwitchType
30452 : /* 57735*/ /*Scope*/ 29, /*->57765*/
30453 : /* 57736*/ OPC_CheckChild0Type, MVT::v16i8,
30454 : /* 57738*/ OPC_SwitchType /*5 cases */, 3, MVT::v8i16,// ->57744
30455 : /* 57741*/ OPC_CompleteMatch, 1, 0,
30456 : // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v16i8] }:$v) - Complexity = 3
30457 : // Dst: V128:{ *:[v8i16] }:$v
30458 : /* 57744*/ /*SwitchType*/ 3, MVT::v4i32,// ->57749
30459 : /* 57746*/ OPC_CompleteMatch, 1, 0,
30460 : // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
30461 : // Dst: V128:{ *:[v4i32] }:$v
30462 : /* 57749*/ /*SwitchType*/ 3, MVT::v2i64,// ->57754
30463 : /* 57751*/ OPC_CompleteMatch, 1, 0,
30464 : // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
30465 : // Dst: V128:{ *:[v2i64] }:$v
30466 : /* 57754*/ /*SwitchType*/ 3, MVT::v4f32,// ->57759
30467 : /* 57756*/ OPC_CompleteMatch, 1, 0,
30468 : // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
30469 : // Dst: V128:{ *:[v4f32] }:$v
30470 : /* 57759*/ /*SwitchType*/ 3, MVT::v2f64,// ->57764
30471 : /* 57761*/ OPC_CompleteMatch, 1, 0,
30472 : // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
30473 : // Dst: V128:{ *:[v2f64] }:$v
30474 : /* 57764*/ 0, // EndSwitchType
30475 : /* 57765*/ 0, /*End of Scope*/
30476 : /* 57766*/ /*SwitchOpcode*/ 25, TARGET_VAL(ISD::ConstantFP),// ->57794
30477 : /* 57769*/ OPC_RecordNode, // #0 = $imm
30478 : /* 57770*/ OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->57782
30479 : /* 57773*/ OPC_EmitConvertToTarget, 0,
30480 : /* 57775*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F32), 0,
30481 : MVT::f32, 1/*#Ops*/, 1,
30482 : // Src: (fpimm:{ *:[f32] }):$imm - Complexity = 3
30483 : // Dst: (CONST_F32:{ *:[f32] } (fpimm:{ *:[f32] }):$imm)
30484 : /* 57782*/ /*SwitchType*/ 9, MVT::f64,// ->57793
30485 : /* 57784*/ OPC_EmitConvertToTarget, 0,
30486 : /* 57786*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F64), 0,
30487 : MVT::f64, 1/*#Ops*/, 1,
30488 : // Src: (fpimm:{ *:[f64] }):$imm - Complexity = 3
30489 : // Dst: (CONST_F64:{ *:[f64] } (fpimm:{ *:[f64] }):$imm)
30490 : /* 57793*/ 0, // EndSwitchType
30491 : /* 57794*/ /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SINT_TO_FP),// ->57870
30492 : /* 57797*/ OPC_RecordChild0, // #0 = $src
30493 : /* 57798*/ OPC_Scope, 22, /*->57822*/ // 4 children in Scope
30494 : /* 57800*/ OPC_CheckChild0Type, MVT::i32,
30495 : /* 57802*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57812
30496 : /* 57805*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32), 0,
30497 : MVT::f32, 1/*#Ops*/, 0,
30498 : // Src: (sint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
30499 : // Dst: (F32_CONVERT_S_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
30500 : /* 57812*/ /*SwitchType*/ 7, MVT::f64,// ->57821
30501 : /* 57814*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32), 0,
30502 : MVT::f64, 1/*#Ops*/, 0,
30503 : // Src: (sint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
30504 : // Dst: (F64_CONVERT_S_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
30505 : /* 57821*/ 0, // EndSwitchType
30506 : /* 57822*/ /*Scope*/ 22, /*->57845*/
30507 : /* 57823*/ OPC_CheckChild0Type, MVT::i64,
30508 : /* 57825*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57835
30509 : /* 57828*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64), 0,
30510 : MVT::f32, 1/*#Ops*/, 0,
30511 : // Src: (sint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
30512 : // Dst: (F32_CONVERT_S_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
30513 : /* 57835*/ /*SwitchType*/ 7, MVT::f64,// ->57844
30514 : /* 57837*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64), 0,
30515 : MVT::f64, 1/*#Ops*/, 0,
30516 : // Src: (sint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
30517 : // Dst: (F64_CONVERT_S_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
30518 : /* 57844*/ 0, // EndSwitchType
30519 : /* 57845*/ /*Scope*/ 11, /*->57857*/
30520 : /* 57846*/ OPC_CheckType, MVT::v4f32,
30521 : /* 57848*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30522 : /* 57850*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::sint_to_fp_v4f32_v4i32), 0,
30523 : MVT::v4f32, 1/*#Ops*/, 0,
30524 : // Src: (sint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
30525 : // Dst: (sint_to_fp_v4f32_v4i32:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
30526 : /* 57857*/ /*Scope*/ 11, /*->57869*/
30527 : /* 57858*/ OPC_CheckType, MVT::v2f64,
30528 : /* 57860*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30529 : /* 57862*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::sint_to_fp_v2f64_v2i64), 0,
30530 : MVT::v2f64, 1/*#Ops*/, 0,
30531 : // Src: (sint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec) - Complexity = 3
30532 : // Dst: (sint_to_fp_v2f64_v2i64:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec)
30533 : /* 57869*/ 0, /*End of Scope*/
30534 : /* 57870*/ /*SwitchOpcode*/ 73, TARGET_VAL(ISD::UINT_TO_FP),// ->57946
30535 : /* 57873*/ OPC_RecordChild0, // #0 = $src
30536 : /* 57874*/ OPC_Scope, 22, /*->57898*/ // 4 children in Scope
30537 : /* 57876*/ OPC_CheckChild0Type, MVT::i32,
30538 : /* 57878*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57888
30539 : /* 57881*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32), 0,
30540 : MVT::f32, 1/*#Ops*/, 0,
30541 : // Src: (uint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
30542 : // Dst: (F32_CONVERT_U_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
30543 : /* 57888*/ /*SwitchType*/ 7, MVT::f64,// ->57897
30544 : /* 57890*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32), 0,
30545 : MVT::f64, 1/*#Ops*/, 0,
30546 : // Src: (uint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
30547 : // Dst: (F64_CONVERT_U_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
30548 : /* 57897*/ 0, // EndSwitchType
30549 : /* 57898*/ /*Scope*/ 22, /*->57921*/
30550 : /* 57899*/ OPC_CheckChild0Type, MVT::i64,
30551 : /* 57901*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57911
30552 : /* 57904*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64), 0,
30553 : MVT::f32, 1/*#Ops*/, 0,
30554 : // Src: (uint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
30555 : // Dst: (F32_CONVERT_U_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
30556 : /* 57911*/ /*SwitchType*/ 7, MVT::f64,// ->57920
30557 : /* 57913*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64), 0,
30558 : MVT::f64, 1/*#Ops*/, 0,
30559 : // Src: (uint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
30560 : // Dst: (F64_CONVERT_U_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
30561 : /* 57920*/ 0, // EndSwitchType
30562 : /* 57921*/ /*Scope*/ 11, /*->57933*/
30563 : /* 57922*/ OPC_CheckType, MVT::v4f32,
30564 : /* 57924*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30565 : /* 57926*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::uint_to_fp_v4f32_v4i32), 0,
30566 : MVT::v4f32, 1/*#Ops*/, 0,
30567 : // Src: (uint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
30568 : // Dst: (uint_to_fp_v4f32_v4i32:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
30569 : /* 57933*/ /*Scope*/ 11, /*->57945*/
30570 : /* 57934*/ OPC_CheckType, MVT::v2f64,
30571 : /* 57936*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30572 : /* 57938*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::uint_to_fp_v2f64_v2i64), 0,
30573 : MVT::v2f64, 1/*#Ops*/, 0,
30574 : // Src: (uint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec) - Complexity = 3
30575 : // Dst: (uint_to_fp_v2f64_v2i64:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec)
30576 : /* 57945*/ 0, /*End of Scope*/
30577 : /* 57946*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_EXTEND),// ->57957
30578 : /* 57949*/ OPC_RecordChild0, // #0 = $src
30579 : /* 57950*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
30580 : MVT::f64, 1/*#Ops*/, 0,
30581 : // Src: (fpextend:{ *:[f64] } F32:{ *:[f32] }:$src) - Complexity = 3
30582 : // Dst: (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$src)
30583 : /* 57957*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_ROUND),// ->57968
30584 : /* 57960*/ OPC_RecordChild0, // #0 = $src
30585 : /* 57961*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
30586 : MVT::f32, 1/*#Ops*/, 0,
30587 : // Src: (fpround:{ *:[f32] } F64:{ *:[f64] }:$src) - Complexity = 3
30588 : // Dst: (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$src)
30589 : /* 57968*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FADD),// ->58019
30590 : /* 57971*/ OPC_RecordChild0, // #0 = $lhs
30591 : /* 57972*/ OPC_RecordChild1, // #1 = $rhs
30592 : /* 57973*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->57984
30593 : /* 57976*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F32), 0,
30594 : MVT::f32, 2/*#Ops*/, 0, 1,
30595 : // Src: (fadd:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30596 : // Dst: (ADD_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30597 : /* 57984*/ /*SwitchType*/ 8, MVT::f64,// ->57994
30598 : /* 57986*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F64), 0,
30599 : MVT::f64, 2/*#Ops*/, 0, 1,
30600 : // Src: (fadd:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30601 : // Dst: (ADD_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30602 : /* 57994*/ /*SwitchType*/ 10, MVT::v4f32,// ->58006
30603 : /* 57996*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30604 : /* 57998*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v4f32), 0,
30605 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30606 : // Src: (fadd:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30607 : // Dst: (ADD_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30608 : /* 58006*/ /*SwitchType*/ 10, MVT::v2f64,// ->58018
30609 : /* 58008*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30610 : /* 58010*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v2f64), 0,
30611 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30612 : // Src: (fadd:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30613 : // Dst: (ADD_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30614 : /* 58018*/ 0, // EndSwitchType
30615 : /* 58019*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FSUB),// ->58070
30616 : /* 58022*/ OPC_RecordChild0, // #0 = $lhs
30617 : /* 58023*/ OPC_RecordChild1, // #1 = $rhs
30618 : /* 58024*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58035
30619 : /* 58027*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F32), 0,
30620 : MVT::f32, 2/*#Ops*/, 0, 1,
30621 : // Src: (fsub:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30622 : // Dst: (SUB_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30623 : /* 58035*/ /*SwitchType*/ 8, MVT::f64,// ->58045
30624 : /* 58037*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F64), 0,
30625 : MVT::f64, 2/*#Ops*/, 0, 1,
30626 : // Src: (fsub:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30627 : // Dst: (SUB_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30628 : /* 58045*/ /*SwitchType*/ 10, MVT::v4f32,// ->58057
30629 : /* 58047*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30630 : /* 58049*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v4f32), 0,
30631 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30632 : // Src: (fsub:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30633 : // Dst: (SUB_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30634 : /* 58057*/ /*SwitchType*/ 10, MVT::v2f64,// ->58069
30635 : /* 58059*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30636 : /* 58061*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v2f64), 0,
30637 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30638 : // Src: (fsub:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30639 : // Dst: (SUB_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30640 : /* 58069*/ 0, // EndSwitchType
30641 : /* 58070*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMUL),// ->58121
30642 : /* 58073*/ OPC_RecordChild0, // #0 = $lhs
30643 : /* 58074*/ OPC_RecordChild1, // #1 = $rhs
30644 : /* 58075*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58086
30645 : /* 58078*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F32), 0,
30646 : MVT::f32, 2/*#Ops*/, 0, 1,
30647 : // Src: (fmul:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30648 : // Dst: (MUL_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30649 : /* 58086*/ /*SwitchType*/ 8, MVT::f64,// ->58096
30650 : /* 58088*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F64), 0,
30651 : MVT::f64, 2/*#Ops*/, 0, 1,
30652 : // Src: (fmul:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30653 : // Dst: (MUL_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30654 : /* 58096*/ /*SwitchType*/ 10, MVT::v4f32,// ->58108
30655 : /* 58098*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30656 : /* 58100*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v4f32), 0,
30657 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30658 : // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30659 : // Dst: (MUL_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30660 : /* 58108*/ /*SwitchType*/ 10, MVT::v2f64,// ->58120
30661 : /* 58110*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30662 : /* 58112*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v2f64), 0,
30663 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30664 : // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30665 : // Dst: (MUL_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30666 : /* 58120*/ 0, // EndSwitchType
30667 : /* 58121*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FDIV),// ->58172
30668 : /* 58124*/ OPC_RecordChild0, // #0 = $lhs
30669 : /* 58125*/ OPC_RecordChild1, // #1 = $rhs
30670 : /* 58126*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58137
30671 : /* 58129*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F32), 0,
30672 : MVT::f32, 2/*#Ops*/, 0, 1,
30673 : // Src: (fdiv:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30674 : // Dst: (DIV_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30675 : /* 58137*/ /*SwitchType*/ 8, MVT::f64,// ->58147
30676 : /* 58139*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F64), 0,
30677 : MVT::f64, 2/*#Ops*/, 0, 1,
30678 : // Src: (fdiv:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30679 : // Dst: (DIV_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30680 : /* 58147*/ /*SwitchType*/ 10, MVT::v4f32,// ->58159
30681 : /* 58149*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30682 : /* 58151*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_v4f32), 0,
30683 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30684 : // Src: (fdiv:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30685 : // Dst: (DIV_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30686 : /* 58159*/ /*SwitchType*/ 10, MVT::v2f64,// ->58171
30687 : /* 58161*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30688 : /* 58163*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_v2f64), 0,
30689 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30690 : // Src: (fdiv:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30691 : // Dst: (DIV_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30692 : /* 58171*/ 0, // EndSwitchType
30693 : /* 58172*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FSQRT),// ->58218
30694 : /* 58175*/ OPC_RecordChild0, // #0 = $src
30695 : /* 58176*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58186
30696 : /* 58179*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F32), 0,
30697 : MVT::f32, 1/*#Ops*/, 0,
30698 : // Src: (fsqrt:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30699 : // Dst: (SQRT_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30700 : /* 58186*/ /*SwitchType*/ 7, MVT::f64,// ->58195
30701 : /* 58188*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F64), 0,
30702 : MVT::f64, 1/*#Ops*/, 0,
30703 : // Src: (fsqrt:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30704 : // Dst: (SQRT_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30705 : /* 58195*/ /*SwitchType*/ 9, MVT::v4f32,// ->58206
30706 : /* 58197*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30707 : /* 58199*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_v4f32), 0,
30708 : MVT::v4f32, 1/*#Ops*/, 0,
30709 : // Src: (fsqrt:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
30710 : // Dst: (SQRT_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
30711 : /* 58206*/ /*SwitchType*/ 9, MVT::v2f64,// ->58217
30712 : /* 58208*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30713 : /* 58210*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_v2f64), 0,
30714 : MVT::v2f64, 1/*#Ops*/, 0,
30715 : // Src: (fsqrt:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
30716 : // Dst: (SQRT_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
30717 : /* 58217*/ 0, // EndSwitchType
30718 : /* 58218*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FABS),// ->58264
30719 : /* 58221*/ OPC_RecordChild0, // #0 = $src
30720 : /* 58222*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58232
30721 : /* 58225*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F32), 0,
30722 : MVT::f32, 1/*#Ops*/, 0,
30723 : // Src: (fabs:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30724 : // Dst: (ABS_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30725 : /* 58232*/ /*SwitchType*/ 7, MVT::f64,// ->58241
30726 : /* 58234*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F64), 0,
30727 : MVT::f64, 1/*#Ops*/, 0,
30728 : // Src: (fabs:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30729 : // Dst: (ABS_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30730 : /* 58241*/ /*SwitchType*/ 9, MVT::v4f32,// ->58252
30731 : /* 58243*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30732 : /* 58245*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_v4f32), 0,
30733 : MVT::v4f32, 1/*#Ops*/, 0,
30734 : // Src: (fabs:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
30735 : // Dst: (ABS_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
30736 : /* 58252*/ /*SwitchType*/ 9, MVT::v2f64,// ->58263
30737 : /* 58254*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30738 : /* 58256*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_v2f64), 0,
30739 : MVT::v2f64, 1/*#Ops*/, 0,
30740 : // Src: (fabs:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
30741 : // Dst: (ABS_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
30742 : /* 58263*/ 0, // EndSwitchType
30743 : /* 58264*/ /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FNEG),// ->58310
30744 : /* 58267*/ OPC_RecordChild0, // #0 = $src
30745 : /* 58268*/ OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58278
30746 : /* 58271*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F32), 0,
30747 : MVT::f32, 1/*#Ops*/, 0,
30748 : // Src: (fneg:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30749 : // Dst: (NEG_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30750 : /* 58278*/ /*SwitchType*/ 7, MVT::f64,// ->58287
30751 : /* 58280*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F64), 0,
30752 : MVT::f64, 1/*#Ops*/, 0,
30753 : // Src: (fneg:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30754 : // Dst: (NEG_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30755 : /* 58287*/ /*SwitchType*/ 9, MVT::v4f32,// ->58298
30756 : /* 58289*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30757 : /* 58291*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v4f32), 0,
30758 : MVT::v4f32, 1/*#Ops*/, 0,
30759 : // Src: (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
30760 : // Dst: (NEG_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
30761 : /* 58298*/ /*SwitchType*/ 9, MVT::v2f64,// ->58309
30762 : /* 58300*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30763 : /* 58302*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v2f64), 0,
30764 : MVT::v2f64, 1/*#Ops*/, 0,
30765 : // Src: (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
30766 : // Dst: (NEG_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
30767 : /* 58309*/ 0, // EndSwitchType
30768 : /* 58310*/ /*SwitchOpcode*/ 68, TARGET_VAL(ISD::FCOPYSIGN),// ->58381
30769 : /* 58313*/ OPC_RecordChild0, // #0 = $lhs
30770 : /* 58314*/ OPC_RecordChild1, // #1 = $rhs
30771 : /* 58315*/ OPC_Scope, 31, /*->58348*/ // 2 children in Scope
30772 : /* 58317*/ OPC_CheckChild1Type, MVT::f32,
30773 : /* 58319*/ OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->58330
30774 : /* 58322*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
30775 : MVT::f32, 2/*#Ops*/, 0, 1,
30776 : // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30777 : // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30778 : /* 58330*/ /*SwitchType*/ 15, MVT::f64,// ->58347
30779 : /* 58332*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
30780 : MVT::f64, 1/*#Ops*/, 1, // Results = #2
30781 : /* 58339*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
30782 : MVT::f64, 2/*#Ops*/, 0, 2,
30783 : // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30784 : // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$rhs))
30785 : /* 58347*/ 0, // EndSwitchType
30786 : /* 58348*/ /*Scope*/ 31, /*->58380*/
30787 : /* 58349*/ OPC_CheckChild1Type, MVT::f64,
30788 : /* 58351*/ OPC_SwitchType /*2 cases */, 8, MVT::f64,// ->58362
30789 : /* 58354*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
30790 : MVT::f64, 2/*#Ops*/, 0, 1,
30791 : // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30792 : // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30793 : /* 58362*/ /*SwitchType*/ 15, MVT::f32,// ->58379
30794 : /* 58364*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
30795 : MVT::f32, 1/*#Ops*/, 1, // Results = #2
30796 : /* 58371*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
30797 : MVT::f32, 2/*#Ops*/, 0, 2,
30798 : // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30799 : // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$rhs))
30800 : /* 58379*/ 0, // EndSwitchType
30801 : /* 58380*/ 0, /*End of Scope*/
30802 : /* 58381*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMINNAN),// ->58432
30803 : /* 58384*/ OPC_RecordChild0, // #0 = $lhs
30804 : /* 58385*/ OPC_RecordChild1, // #1 = $rhs
30805 : /* 58386*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58397
30806 : /* 58389*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F32), 0,
30807 : MVT::f32, 2/*#Ops*/, 0, 1,
30808 : // Src: (fminnan:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30809 : // Dst: (MIN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30810 : /* 58397*/ /*SwitchType*/ 8, MVT::f64,// ->58407
30811 : /* 58399*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F64), 0,
30812 : MVT::f64, 2/*#Ops*/, 0, 1,
30813 : // Src: (fminnan:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30814 : // Dst: (MIN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30815 : /* 58407*/ /*SwitchType*/ 10, MVT::v4f32,// ->58419
30816 : /* 58409*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30817 : /* 58411*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_v4f32), 0,
30818 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30819 : // Src: (fminnan:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30820 : // Dst: (MIN_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30821 : /* 58419*/ /*SwitchType*/ 10, MVT::v2f64,// ->58431
30822 : /* 58421*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30823 : /* 58423*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_v2f64), 0,
30824 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30825 : // Src: (fminnan:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30826 : // Dst: (MIN_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30827 : /* 58431*/ 0, // EndSwitchType
30828 : /* 58432*/ /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMAXNAN),// ->58483
30829 : /* 58435*/ OPC_RecordChild0, // #0 = $lhs
30830 : /* 58436*/ OPC_RecordChild1, // #1 = $rhs
30831 : /* 58437*/ OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58448
30832 : /* 58440*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F32), 0,
30833 : MVT::f32, 2/*#Ops*/, 0, 1,
30834 : // Src: (fmaxnan:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
30835 : // Dst: (MAX_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
30836 : /* 58448*/ /*SwitchType*/ 8, MVT::f64,// ->58458
30837 : /* 58450*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F64), 0,
30838 : MVT::f64, 2/*#Ops*/, 0, 1,
30839 : // Src: (fmaxnan:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
30840 : // Dst: (MAX_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
30841 : /* 58458*/ /*SwitchType*/ 10, MVT::v4f32,// ->58470
30842 : /* 58460*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30843 : /* 58462*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_v4f32), 0,
30844 : MVT::v4f32, 2/*#Ops*/, 0, 1,
30845 : // Src: (fmaxnan:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
30846 : // Dst: (MAX_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
30847 : /* 58470*/ /*SwitchType*/ 10, MVT::v2f64,// ->58482
30848 : /* 58472*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30849 : /* 58474*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_v2f64), 0,
30850 : MVT::v2f64, 2/*#Ops*/, 0, 1,
30851 : // Src: (fmaxnan:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
30852 : // Dst: (MAX_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
30853 : /* 58482*/ 0, // EndSwitchType
30854 : /* 58483*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FCEIL),// ->58507
30855 : /* 58486*/ OPC_RecordChild0, // #0 = $src
30856 : /* 58487*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58497
30857 : /* 58490*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F32), 0,
30858 : MVT::f32, 1/*#Ops*/, 0,
30859 : // Src: (fceil:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30860 : // Dst: (CEIL_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30861 : /* 58497*/ /*SwitchType*/ 7, MVT::f64,// ->58506
30862 : /* 58499*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F64), 0,
30863 : MVT::f64, 1/*#Ops*/, 0,
30864 : // Src: (fceil:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30865 : // Dst: (CEIL_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30866 : /* 58506*/ 0, // EndSwitchType
30867 : /* 58507*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FFLOOR),// ->58531
30868 : /* 58510*/ OPC_RecordChild0, // #0 = $src
30869 : /* 58511*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58521
30870 : /* 58514*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F32), 0,
30871 : MVT::f32, 1/*#Ops*/, 0,
30872 : // Src: (ffloor:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30873 : // Dst: (FLOOR_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30874 : /* 58521*/ /*SwitchType*/ 7, MVT::f64,// ->58530
30875 : /* 58523*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F64), 0,
30876 : MVT::f64, 1/*#Ops*/, 0,
30877 : // Src: (ffloor:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30878 : // Dst: (FLOOR_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30879 : /* 58530*/ 0, // EndSwitchType
30880 : /* 58531*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FTRUNC),// ->58555
30881 : /* 58534*/ OPC_RecordChild0, // #0 = $src
30882 : /* 58535*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58545
30883 : /* 58538*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F32), 0,
30884 : MVT::f32, 1/*#Ops*/, 0,
30885 : // Src: (ftrunc:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30886 : // Dst: (TRUNC_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30887 : /* 58545*/ /*SwitchType*/ 7, MVT::f64,// ->58554
30888 : /* 58547*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F64), 0,
30889 : MVT::f64, 1/*#Ops*/, 0,
30890 : // Src: (ftrunc:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30891 : // Dst: (TRUNC_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30892 : /* 58554*/ 0, // EndSwitchType
30893 : /* 58555*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FNEARBYINT),// ->58579
30894 : /* 58558*/ OPC_RecordChild0, // #0 = $src
30895 : /* 58559*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58569
30896 : /* 58562*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
30897 : MVT::f32, 1/*#Ops*/, 0,
30898 : // Src: (fnearbyint:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
30899 : // Dst: (NEAREST_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
30900 : /* 58569*/ /*SwitchType*/ 7, MVT::f64,// ->58578
30901 : /* 58571*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
30902 : MVT::f64, 1/*#Ops*/, 0,
30903 : // Src: (fnearbyint:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
30904 : // Dst: (NEAREST_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
30905 : /* 58578*/ 0, // EndSwitchType
30906 : /* 58579*/ /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FRINT),// ->58603
30907 : /* 58582*/ OPC_RecordChild0, // #0 = $src
30908 : /* 58583*/ OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58593
30909 : /* 58586*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
30910 : MVT::f32, 1/*#Ops*/, 0,
30911 : // Src: (frint:{ *:[f32] } f32:{ *:[f32] }:$src) - Complexity = 3
30912 : // Dst: (NEAREST_F32:{ *:[f32] } f32:{ *:[f32] }:$src)
30913 : /* 58593*/ /*SwitchType*/ 7, MVT::f64,// ->58602
30914 : /* 58595*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
30915 : MVT::f64, 1/*#Ops*/, 0,
30916 : // Src: (frint:{ *:[f64] } f64:{ *:[f64] }:$src) - Complexity = 3
30917 : // Dst: (NEAREST_F64:{ *:[f64] } f64:{ *:[f64] }:$src)
30918 : /* 58602*/ 0, // EndSwitchType
30919 : /* 58603*/ /*SwitchOpcode*/ 38|128,9/*1190*/, TARGET_VAL(ISD::BUILD_VECTOR),// ->59797
30920 : /* 58607*/ OPC_RecordChild0, // #0 = $x
30921 : /* 58608*/ OPC_Scope, 105, /*->58715*/ // 10 children in Scope
30922 : /* 58610*/ OPC_CheckChild0Type, MVT::i32,
30923 : /* 58612*/ OPC_CheckChild1Same, 0,
30924 : /* 58614*/ OPC_CheckChild2Same, 0,
30925 : /* 58616*/ OPC_CheckChild3Same, 0,
30926 : /* 58618*/ OPC_Scope, 82, /*->58702*/ // 2 children in Scope
30927 : /* 58620*/ OPC_MoveChild4,
30928 : /* 58621*/ OPC_CheckSame, 0,
30929 : /* 58623*/ OPC_MoveParent,
30930 : /* 58624*/ OPC_MoveChild5,
30931 : /* 58625*/ OPC_CheckSame, 0,
30932 : /* 58627*/ OPC_MoveParent,
30933 : /* 58628*/ OPC_MoveChild6,
30934 : /* 58629*/ OPC_CheckSame, 0,
30935 : /* 58631*/ OPC_MoveParent,
30936 : /* 58632*/ OPC_MoveChild7,
30937 : /* 58633*/ OPC_CheckSame, 0,
30938 : /* 58635*/ OPC_MoveParent,
30939 : /* 58636*/ OPC_Scope, 51, /*->58689*/ // 2 children in Scope
30940 : /* 58638*/ OPC_MoveChild, 8,
30941 : /* 58640*/ OPC_CheckSame, 0,
30942 : /* 58642*/ OPC_MoveParent,
30943 : /* 58643*/ OPC_MoveChild, 9,
30944 : /* 58645*/ OPC_CheckSame, 0,
30945 : /* 58647*/ OPC_MoveParent,
30946 : /* 58648*/ OPC_MoveChild, 10,
30947 : /* 58650*/ OPC_CheckSame, 0,
30948 : /* 58652*/ OPC_MoveParent,
30949 : /* 58653*/ OPC_MoveChild, 11,
30950 : /* 58655*/ OPC_CheckSame, 0,
30951 : /* 58657*/ OPC_MoveParent,
30952 : /* 58658*/ OPC_MoveChild, 12,
30953 : /* 58660*/ OPC_CheckSame, 0,
30954 : /* 58662*/ OPC_MoveParent,
30955 : /* 58663*/ OPC_MoveChild, 13,
30956 : /* 58665*/ OPC_CheckSame, 0,
30957 : /* 58667*/ OPC_MoveParent,
30958 : /* 58668*/ OPC_MoveChild, 14,
30959 : /* 58670*/ OPC_CheckSame, 0,
30960 : /* 58672*/ OPC_MoveParent,
30961 : /* 58673*/ OPC_MoveChild, 15,
30962 : /* 58675*/ OPC_CheckSame, 0,
30963 : /* 58677*/ OPC_MoveParent,
30964 : /* 58678*/ OPC_CheckType, MVT::v16i8,
30965 : /* 58680*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30966 : /* 58682*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v16i8), 0,
30967 : MVT::v16i8, 1/*#Ops*/, 0,
30968 : // Src: (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
30969 : // Dst: (SPLAT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$x)
30970 : /* 58689*/ /*Scope*/ 11, /*->58701*/
30971 : /* 58690*/ OPC_CheckType, MVT::v8i16,
30972 : /* 58692*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30973 : /* 58694*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v8i16), 0,
30974 : MVT::v8i16, 1/*#Ops*/, 0,
30975 : // Src: (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
30976 : // Dst: (SPLAT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$x)
30977 : /* 58701*/ 0, /*End of Scope*/
30978 : /* 58702*/ /*Scope*/ 11, /*->58714*/
30979 : /* 58703*/ OPC_CheckType, MVT::v4i32,
30980 : /* 58705*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30981 : /* 58707*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v4i32), 0,
30982 : MVT::v4i32, 1/*#Ops*/, 0,
30983 : // Src: (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
30984 : // Dst: (SPLAT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$x)
30985 : /* 58714*/ 0, /*End of Scope*/
30986 : /* 58715*/ /*Scope*/ 15, /*->58731*/
30987 : /* 58716*/ OPC_CheckChild0Type, MVT::i64,
30988 : /* 58718*/ OPC_CheckChild1Same, 0,
30989 : /* 58720*/ OPC_CheckType, MVT::v2i64,
30990 : /* 58722*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
30991 : /* 58724*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v2i64), 0,
30992 : MVT::v2i64, 1/*#Ops*/, 0,
30993 : // Src: (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x) - Complexity = 68
30994 : // Dst: (SPLAT_v2i64:{ *:[v2i64] } I64:{ *:[i64] }:$x)
30995 : /* 58731*/ /*Scope*/ 31|128,3/*415*/, /*->59148*/
30996 : /* 58733*/ OPC_MoveChild0,
30997 : /* 58734*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30998 : /* 58737*/ OPC_SwitchType /*2 cases */, 123|128,2/*379*/, MVT::i32,// ->59120
30999 : /* 58741*/ OPC_Scope, 91|128,1/*219*/, /*->58963*/ // 3 children in Scope
31000 : /* 58744*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31001 : /* 58746*/ OPC_MoveParent,
31002 : /* 58747*/ OPC_RecordChild1, // #1 = $i1
31003 : /* 58748*/ OPC_MoveChild1,
31004 : /* 58749*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31005 : /* 58752*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31006 : /* 58754*/ OPC_CheckType, MVT::i32,
31007 : /* 58756*/ OPC_MoveParent,
31008 : /* 58757*/ OPC_RecordChild2, // #2 = $i2
31009 : /* 58758*/ OPC_MoveChild2,
31010 : /* 58759*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31011 : /* 58762*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31012 : /* 58764*/ OPC_CheckType, MVT::i32,
31013 : /* 58766*/ OPC_MoveParent,
31014 : /* 58767*/ OPC_RecordChild3, // #3 = $i3
31015 : /* 58768*/ OPC_MoveChild3,
31016 : /* 58769*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31017 : /* 58772*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31018 : /* 58774*/ OPC_CheckType, MVT::i32,
31019 : /* 58776*/ OPC_MoveParent,
31020 : /* 58777*/ OPC_RecordChild4, // #4 = $i4
31021 : /* 58778*/ OPC_MoveChild4,
31022 : /* 58779*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31023 : /* 58782*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31024 : /* 58784*/ OPC_CheckType, MVT::i32,
31025 : /* 58786*/ OPC_MoveParent,
31026 : /* 58787*/ OPC_RecordChild5, // #5 = $i5
31027 : /* 58788*/ OPC_MoveChild5,
31028 : /* 58789*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31029 : /* 58792*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31030 : /* 58794*/ OPC_CheckType, MVT::i32,
31031 : /* 58796*/ OPC_MoveParent,
31032 : /* 58797*/ OPC_RecordChild6, // #6 = $i6
31033 : /* 58798*/ OPC_MoveChild6,
31034 : /* 58799*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31035 : /* 58802*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31036 : /* 58804*/ OPC_CheckType, MVT::i32,
31037 : /* 58806*/ OPC_MoveParent,
31038 : /* 58807*/ OPC_RecordChild7, // #7 = $i7
31039 : /* 58808*/ OPC_MoveChild7,
31040 : /* 58809*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31041 : /* 58812*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31042 : /* 58814*/ OPC_CheckType, MVT::i32,
31043 : /* 58816*/ OPC_MoveParent,
31044 : /* 58817*/ OPC_MoveChild, 8,
31045 : /* 58819*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31046 : /* 58822*/ OPC_RecordNode, // #8 = $i8
31047 : /* 58823*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31048 : /* 58825*/ OPC_CheckType, MVT::i32,
31049 : /* 58827*/ OPC_MoveParent,
31050 : /* 58828*/ OPC_MoveChild, 9,
31051 : /* 58830*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31052 : /* 58833*/ OPC_RecordNode, // #9 = $i9
31053 : /* 58834*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31054 : /* 58836*/ OPC_CheckType, MVT::i32,
31055 : /* 58838*/ OPC_MoveParent,
31056 : /* 58839*/ OPC_MoveChild, 10,
31057 : /* 58841*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31058 : /* 58844*/ OPC_RecordNode, // #10 = $iA
31059 : /* 58845*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31060 : /* 58847*/ OPC_CheckType, MVT::i32,
31061 : /* 58849*/ OPC_MoveParent,
31062 : /* 58850*/ OPC_MoveChild, 11,
31063 : /* 58852*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31064 : /* 58855*/ OPC_RecordNode, // #11 = $iB
31065 : /* 58856*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31066 : /* 58858*/ OPC_CheckType, MVT::i32,
31067 : /* 58860*/ OPC_MoveParent,
31068 : /* 58861*/ OPC_MoveChild, 12,
31069 : /* 58863*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31070 : /* 58866*/ OPC_RecordNode, // #12 = $iC
31071 : /* 58867*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31072 : /* 58869*/ OPC_CheckType, MVT::i32,
31073 : /* 58871*/ OPC_MoveParent,
31074 : /* 58872*/ OPC_MoveChild, 13,
31075 : /* 58874*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31076 : /* 58877*/ OPC_RecordNode, // #13 = $iD
31077 : /* 58878*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31078 : /* 58880*/ OPC_CheckType, MVT::i32,
31079 : /* 58882*/ OPC_MoveParent,
31080 : /* 58883*/ OPC_MoveChild, 14,
31081 : /* 58885*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31082 : /* 58888*/ OPC_RecordNode, // #14 = $iE
31083 : /* 58889*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31084 : /* 58891*/ OPC_CheckType, MVT::i32,
31085 : /* 58893*/ OPC_MoveParent,
31086 : /* 58894*/ OPC_MoveChild, 15,
31087 : /* 58896*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31088 : /* 58899*/ OPC_RecordNode, // #15 = $iF
31089 : /* 58900*/ OPC_CheckPredicate, 27, // Predicate_ImmI8
31090 : /* 58902*/ OPC_CheckType, MVT::i32,
31091 : /* 58904*/ OPC_MoveParent,
31092 : /* 58905*/ OPC_CheckType, MVT::v16i8,
31093 : /* 58907*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31094 : /* 58909*/ OPC_EmitConvertToTarget, 0,
31095 : /* 58911*/ OPC_EmitConvertToTarget, 1,
31096 : /* 58913*/ OPC_EmitConvertToTarget, 2,
31097 : /* 58915*/ OPC_EmitConvertToTarget, 3,
31098 : /* 58917*/ OPC_EmitConvertToTarget, 4,
31099 : /* 58919*/ OPC_EmitConvertToTarget, 5,
31100 : /* 58921*/ OPC_EmitConvertToTarget, 6,
31101 : /* 58923*/ OPC_EmitConvertToTarget, 7,
31102 : /* 58925*/ OPC_EmitConvertToTarget, 8,
31103 : /* 58927*/ OPC_EmitConvertToTarget, 9,
31104 : /* 58929*/ OPC_EmitConvertToTarget, 10,
31105 : /* 58931*/ OPC_EmitConvertToTarget, 11,
31106 : /* 58933*/ OPC_EmitConvertToTarget, 12,
31107 : /* 58935*/ OPC_EmitConvertToTarget, 13,
31108 : /* 58937*/ OPC_EmitConvertToTarget, 14,
31109 : /* 58939*/ OPC_EmitConvertToTarget, 15,
31110 : /* 58941*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v16i8), 0,
31111 : MVT::v16i8, 16/*#Ops*/, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
31112 : // Src: (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i7, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i8, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i9, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iA, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iB, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iC, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iD, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iE, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iF) - Complexity = 67
31113 : // Dst: (CONST_V128_v16i8:{ *:[v16i8] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7, (imm:{ *:[i32] }):$i8, (imm:{ *:[i32] }):$i9, (imm:{ *:[i32] }):$iA, (imm:{ *:[i32] }):$iB, (imm:{ *:[i32] }):$iC, (imm:{ *:[i32] }):$iD, (imm:{ *:[i32] }):$iE, (imm:{ *:[i32] }):$iF)
31114 : /* 58963*/ /*Scope*/ 107, /*->59071*/
31115 : /* 58964*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31116 : /* 58966*/ OPC_MoveParent,
31117 : /* 58967*/ OPC_RecordChild1, // #1 = $i1
31118 : /* 58968*/ OPC_MoveChild1,
31119 : /* 58969*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31120 : /* 58972*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31121 : /* 58974*/ OPC_CheckType, MVT::i32,
31122 : /* 58976*/ OPC_MoveParent,
31123 : /* 58977*/ OPC_RecordChild2, // #2 = $i2
31124 : /* 58978*/ OPC_MoveChild2,
31125 : /* 58979*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31126 : /* 58982*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31127 : /* 58984*/ OPC_CheckType, MVT::i32,
31128 : /* 58986*/ OPC_MoveParent,
31129 : /* 58987*/ OPC_RecordChild3, // #3 = $i3
31130 : /* 58988*/ OPC_MoveChild3,
31131 : /* 58989*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31132 : /* 58992*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31133 : /* 58994*/ OPC_CheckType, MVT::i32,
31134 : /* 58996*/ OPC_MoveParent,
31135 : /* 58997*/ OPC_RecordChild4, // #4 = $i4
31136 : /* 58998*/ OPC_MoveChild4,
31137 : /* 58999*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31138 : /* 59002*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31139 : /* 59004*/ OPC_CheckType, MVT::i32,
31140 : /* 59006*/ OPC_MoveParent,
31141 : /* 59007*/ OPC_RecordChild5, // #5 = $i5
31142 : /* 59008*/ OPC_MoveChild5,
31143 : /* 59009*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31144 : /* 59012*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31145 : /* 59014*/ OPC_CheckType, MVT::i32,
31146 : /* 59016*/ OPC_MoveParent,
31147 : /* 59017*/ OPC_RecordChild6, // #6 = $i6
31148 : /* 59018*/ OPC_MoveChild6,
31149 : /* 59019*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31150 : /* 59022*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31151 : /* 59024*/ OPC_CheckType, MVT::i32,
31152 : /* 59026*/ OPC_MoveParent,
31153 : /* 59027*/ OPC_RecordChild7, // #7 = $i7
31154 : /* 59028*/ OPC_MoveChild7,
31155 : /* 59029*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31156 : /* 59032*/ OPC_CheckPredicate, 28, // Predicate_ImmI16
31157 : /* 59034*/ OPC_CheckType, MVT::i32,
31158 : /* 59036*/ OPC_MoveParent,
31159 : /* 59037*/ OPC_CheckType, MVT::v8i16,
31160 : /* 59039*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31161 : /* 59041*/ OPC_EmitConvertToTarget, 0,
31162 : /* 59043*/ OPC_EmitConvertToTarget, 1,
31163 : /* 59045*/ OPC_EmitConvertToTarget, 2,
31164 : /* 59047*/ OPC_EmitConvertToTarget, 3,
31165 : /* 59049*/ OPC_EmitConvertToTarget, 4,
31166 : /* 59051*/ OPC_EmitConvertToTarget, 5,
31167 : /* 59053*/ OPC_EmitConvertToTarget, 6,
31168 : /* 59055*/ OPC_EmitConvertToTarget, 7,
31169 : /* 59057*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v8i16), 0,
31170 : MVT::v8i16, 8/*#Ops*/, 8, 9, 10, 11, 12, 13, 14, 15,
31171 : // Src: (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i7) - Complexity = 35
31172 : // Dst: (CONST_V128_v8i16:{ *:[v8i16] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7)
31173 : /* 59071*/ /*Scope*/ 47, /*->59119*/
31174 : /* 59072*/ OPC_MoveParent,
31175 : /* 59073*/ OPC_RecordChild1, // #1 = $i1
31176 : /* 59074*/ OPC_MoveChild1,
31177 : /* 59075*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31178 : /* 59078*/ OPC_CheckType, MVT::i32,
31179 : /* 59080*/ OPC_MoveParent,
31180 : /* 59081*/ OPC_RecordChild2, // #2 = $i2
31181 : /* 59082*/ OPC_MoveChild2,
31182 : /* 59083*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31183 : /* 59086*/ OPC_CheckType, MVT::i32,
31184 : /* 59088*/ OPC_MoveParent,
31185 : /* 59089*/ OPC_RecordChild3, // #3 = $i3
31186 : /* 59090*/ OPC_MoveChild3,
31187 : /* 59091*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31188 : /* 59094*/ OPC_CheckType, MVT::i32,
31189 : /* 59096*/ OPC_MoveParent,
31190 : /* 59097*/ OPC_CheckType, MVT::v4i32,
31191 : /* 59099*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31192 : /* 59101*/ OPC_EmitConvertToTarget, 0,
31193 : /* 59103*/ OPC_EmitConvertToTarget, 1,
31194 : /* 59105*/ OPC_EmitConvertToTarget, 2,
31195 : /* 59107*/ OPC_EmitConvertToTarget, 3,
31196 : /* 59109*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v4i32), 0,
31197 : MVT::v4i32, 4/*#Ops*/, 4, 5, 6, 7,
31198 : // Src: (build_vector:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3) - Complexity = 15
31199 : // Dst: (CONST_V128_v4i32:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3)
31200 : /* 59119*/ 0, /*End of Scope*/
31201 : /* 59120*/ /*SwitchType*/ 25, MVT::i64,// ->59147
31202 : /* 59122*/ OPC_MoveParent,
31203 : /* 59123*/ OPC_RecordChild1, // #1 = $i1
31204 : /* 59124*/ OPC_MoveChild1,
31205 : /* 59125*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31206 : /* 59128*/ OPC_CheckType, MVT::i64,
31207 : /* 59130*/ OPC_MoveParent,
31208 : /* 59131*/ OPC_CheckType, MVT::v2i64,
31209 : /* 59133*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31210 : /* 59135*/ OPC_EmitConvertToTarget, 0,
31211 : /* 59137*/ OPC_EmitConvertToTarget, 1,
31212 : /* 59139*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v2i64), 0,
31213 : MVT::v2i64, 2/*#Ops*/, 2, 3,
31214 : // Src: (build_vector:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1) - Complexity = 9
31215 : // Dst: (CONST_V128_v2i64:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1)
31216 : /* 59147*/ 0, // EndSwitchType
31217 : /* 59148*/ /*Scope*/ 26, /*->59175*/
31218 : /* 59149*/ OPC_CheckChild0Type, MVT::i64,
31219 : /* 59151*/ OPC_RecordChild1, // #1 = $x1
31220 : /* 59152*/ OPC_CheckChild1Type, MVT::i64,
31221 : /* 59154*/ OPC_CheckType, MVT::v2i64,
31222 : /* 59156*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v2i64), 0,
31223 : MVT::v2i64, 1/*#Ops*/, 0, // Results = #2
31224 : /* 59163*/ OPC_EmitInteger, MVT::i32, 1,
31225 : /* 59166*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2i64), 0,
31226 : MVT::v2i64, 3/*#Ops*/, 2, 3, 1,
31227 : // Src: (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x0, I64:{ *:[i64] }:$x1) - Complexity = 3
31228 : // Dst: (REPLACE_LANE_v2i64:{ *:[v2i64] } (SPLAT_v2i64:{ *:[v2i64] } I64:{ *:[i64] }:$x0), 1:{ *:[i32] }, I64:{ *:[i64] }:$x1)
31229 : /* 59175*/ /*Scope*/ 32|128,3/*416*/, /*->59593*/
31230 : /* 59177*/ OPC_CheckChild0Type, MVT::i32,
31231 : /* 59179*/ OPC_RecordChild1, // #1 = $x1
31232 : /* 59180*/ OPC_CheckChild1Type, MVT::i32,
31233 : /* 59182*/ OPC_RecordChild2, // #2 = $x2
31234 : /* 59183*/ OPC_CheckChild2Type, MVT::i32,
31235 : /* 59185*/ OPC_RecordChild3, // #3 = $x3
31236 : /* 59186*/ OPC_CheckChild3Type, MVT::i32,
31237 : /* 59188*/ OPC_Scope, 45, /*->59235*/ // 3 children in Scope
31238 : /* 59190*/ OPC_CheckType, MVT::v4i32,
31239 : /* 59192*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v4i32), 0,
31240 : MVT::v4i32, 1/*#Ops*/, 0, // Results = #4
31241 : /* 59199*/ OPC_EmitInteger, MVT::i32, 1,
31242 : /* 59202*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
31243 : MVT::v4i32, 3/*#Ops*/, 4, 5, 1, // Results = #6
31244 : /* 59211*/ OPC_EmitInteger, MVT::i32, 2,
31245 : /* 59214*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
31246 : MVT::v4i32, 3/*#Ops*/, 6, 7, 2, // Results = #8
31247 : /* 59223*/ OPC_EmitInteger, MVT::i32, 3,
31248 : /* 59226*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
31249 : MVT::v4i32, 3/*#Ops*/, 8, 9, 3,
31250 : // Src: (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3) - Complexity = 3
31251 : // Dst: (REPLACE_LANE_v4i32:{ *:[v4i32] } (REPLACE_LANE_v4i32:{ *:[v4i32] } (REPLACE_LANE_v4i32:{ *:[v4i32] } (SPLAT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3)
31252 : /* 59235*/ /*Scope*/ 105, /*->59341*/
31253 : /* 59236*/ OPC_CheckType, MVT::v8i16,
31254 : /* 59238*/ OPC_RecordChild4, // #4 = $x4
31255 : /* 59239*/ OPC_CheckChild4Type, MVT::i32,
31256 : /* 59241*/ OPC_RecordChild5, // #5 = $x5
31257 : /* 59242*/ OPC_CheckChild5Type, MVT::i32,
31258 : /* 59244*/ OPC_RecordChild6, // #6 = $x6
31259 : /* 59245*/ OPC_CheckChild6Type, MVT::i32,
31260 : /* 59247*/ OPC_RecordChild7, // #7 = $x7
31261 : /* 59248*/ OPC_CheckChild7Type, MVT::i32,
31262 : /* 59250*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v8i16), 0,
31263 : MVT::v8i16, 1/*#Ops*/, 0, // Results = #8
31264 : /* 59257*/ OPC_EmitInteger, MVT::i32, 1,
31265 : /* 59260*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31266 : MVT::v8i16, 3/*#Ops*/, 8, 9, 1, // Results = #10
31267 : /* 59269*/ OPC_EmitInteger, MVT::i32, 2,
31268 : /* 59272*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31269 : MVT::v8i16, 3/*#Ops*/, 10, 11, 2, // Results = #12
31270 : /* 59281*/ OPC_EmitInteger, MVT::i32, 3,
31271 : /* 59284*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31272 : MVT::v8i16, 3/*#Ops*/, 12, 13, 3, // Results = #14
31273 : /* 59293*/ OPC_EmitInteger, MVT::i32, 4,
31274 : /* 59296*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31275 : MVT::v8i16, 3/*#Ops*/, 14, 15, 4, // Results = #16
31276 : /* 59305*/ OPC_EmitInteger, MVT::i32, 5,
31277 : /* 59308*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31278 : MVT::v8i16, 3/*#Ops*/, 16, 17, 5, // Results = #18
31279 : /* 59317*/ OPC_EmitInteger, MVT::i32, 6,
31280 : /* 59320*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31281 : MVT::v8i16, 3/*#Ops*/, 18, 19, 6, // Results = #20
31282 : /* 59329*/ OPC_EmitInteger, MVT::i32, 7,
31283 : /* 59332*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
31284 : MVT::v8i16, 3/*#Ops*/, 20, 21, 7,
31285 : // Src: (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3, I32:{ *:[i32] }:$x4, I32:{ *:[i32] }:$x5, I32:{ *:[i32] }:$x6, I32:{ *:[i32] }:$x7) - Complexity = 3
31286 : // Dst: (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (SPLAT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3), 4:{ *:[i32] }, I32:{ *:[i32] }:$x4), 5:{ *:[i32] }, I32:{ *:[i32] }:$x5), 6:{ *:[i32] }, I32:{ *:[i32] }:$x6), 7:{ *:[i32] }, I32:{ *:[i32] }:$x7)
31287 : /* 59341*/ /*Scope*/ 121|128,1/*249*/, /*->59592*/
31288 : /* 59343*/ OPC_RecordChild4, // #4 = $x4
31289 : /* 59344*/ OPC_CheckChild4Type, MVT::i32,
31290 : /* 59346*/ OPC_RecordChild5, // #5 = $x5
31291 : /* 59347*/ OPC_CheckChild5Type, MVT::i32,
31292 : /* 59349*/ OPC_RecordChild6, // #6 = $x6
31293 : /* 59350*/ OPC_CheckChild6Type, MVT::i32,
31294 : /* 59352*/ OPC_RecordChild7, // #7 = $x7
31295 : /* 59353*/ OPC_CheckChild7Type, MVT::i32,
31296 : /* 59355*/ OPC_MoveChild, 8,
31297 : /* 59357*/ OPC_RecordNode, // #8 = $x8
31298 : /* 59358*/ OPC_CheckType, MVT::i32,
31299 : /* 59360*/ OPC_MoveParent,
31300 : /* 59361*/ OPC_MoveChild, 9,
31301 : /* 59363*/ OPC_RecordNode, // #9 = $x9
31302 : /* 59364*/ OPC_CheckType, MVT::i32,
31303 : /* 59366*/ OPC_MoveParent,
31304 : /* 59367*/ OPC_MoveChild, 10,
31305 : /* 59369*/ OPC_RecordNode, // #10 = $x10
31306 : /* 59370*/ OPC_CheckType, MVT::i32,
31307 : /* 59372*/ OPC_MoveParent,
31308 : /* 59373*/ OPC_MoveChild, 11,
31309 : /* 59375*/ OPC_RecordNode, // #11 = $x11
31310 : /* 59376*/ OPC_CheckType, MVT::i32,
31311 : /* 59378*/ OPC_MoveParent,
31312 : /* 59379*/ OPC_MoveChild, 12,
31313 : /* 59381*/ OPC_RecordNode, // #12 = $x12
31314 : /* 59382*/ OPC_CheckType, MVT::i32,
31315 : /* 59384*/ OPC_MoveParent,
31316 : /* 59385*/ OPC_MoveChild, 13,
31317 : /* 59387*/ OPC_RecordNode, // #13 = $x13
31318 : /* 59388*/ OPC_CheckType, MVT::i32,
31319 : /* 59390*/ OPC_MoveParent,
31320 : /* 59391*/ OPC_MoveChild, 14,
31321 : /* 59393*/ OPC_RecordNode, // #14 = $x14
31322 : /* 59394*/ OPC_CheckType, MVT::i32,
31323 : /* 59396*/ OPC_MoveParent,
31324 : /* 59397*/ OPC_MoveChild, 15,
31325 : /* 59399*/ OPC_RecordNode, // #15 = $x15
31326 : /* 59400*/ OPC_CheckType, MVT::i32,
31327 : /* 59402*/ OPC_MoveParent,
31328 : /* 59403*/ OPC_CheckType, MVT::v16i8,
31329 : /* 59405*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v16i8), 0,
31330 : MVT::v16i8, 1/*#Ops*/, 0, // Results = #16
31331 : /* 59412*/ OPC_EmitInteger, MVT::i32, 1,
31332 : /* 59415*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31333 : MVT::v16i8, 3/*#Ops*/, 16, 17, 1, // Results = #18
31334 : /* 59424*/ OPC_EmitInteger, MVT::i32, 2,
31335 : /* 59427*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31336 : MVT::v16i8, 3/*#Ops*/, 18, 19, 2, // Results = #20
31337 : /* 59436*/ OPC_EmitInteger, MVT::i32, 3,
31338 : /* 59439*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31339 : MVT::v16i8, 3/*#Ops*/, 20, 21, 3, // Results = #22
31340 : /* 59448*/ OPC_EmitInteger, MVT::i32, 4,
31341 : /* 59451*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31342 : MVT::v16i8, 3/*#Ops*/, 22, 23, 4, // Results = #24
31343 : /* 59460*/ OPC_EmitInteger, MVT::i32, 5,
31344 : /* 59463*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31345 : MVT::v16i8, 3/*#Ops*/, 24, 25, 5, // Results = #26
31346 : /* 59472*/ OPC_EmitInteger, MVT::i32, 6,
31347 : /* 59475*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31348 : MVT::v16i8, 3/*#Ops*/, 26, 27, 6, // Results = #28
31349 : /* 59484*/ OPC_EmitInteger, MVT::i32, 7,
31350 : /* 59487*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31351 : MVT::v16i8, 3/*#Ops*/, 28, 29, 7, // Results = #30
31352 : /* 59496*/ OPC_EmitInteger, MVT::i32, 8,
31353 : /* 59499*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31354 : MVT::v16i8, 3/*#Ops*/, 30, 31, 8, // Results = #32
31355 : /* 59508*/ OPC_EmitInteger, MVT::i32, 9,
31356 : /* 59511*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31357 : MVT::v16i8, 3/*#Ops*/, 32, 33, 9, // Results = #34
31358 : /* 59520*/ OPC_EmitInteger, MVT::i32, 10,
31359 : /* 59523*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31360 : MVT::v16i8, 3/*#Ops*/, 34, 35, 10, // Results = #36
31361 : /* 59532*/ OPC_EmitInteger, MVT::i32, 11,
31362 : /* 59535*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31363 : MVT::v16i8, 3/*#Ops*/, 36, 37, 11, // Results = #38
31364 : /* 59544*/ OPC_EmitInteger, MVT::i32, 12,
31365 : /* 59547*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31366 : MVT::v16i8, 3/*#Ops*/, 38, 39, 12, // Results = #40
31367 : /* 59556*/ OPC_EmitInteger, MVT::i32, 13,
31368 : /* 59559*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31369 : MVT::v16i8, 3/*#Ops*/, 40, 41, 13, // Results = #42
31370 : /* 59568*/ OPC_EmitInteger, MVT::i32, 14,
31371 : /* 59571*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31372 : MVT::v16i8, 3/*#Ops*/, 42, 43, 14, // Results = #44
31373 : /* 59580*/ OPC_EmitInteger, MVT::i32, 15,
31374 : /* 59583*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
31375 : MVT::v16i8, 3/*#Ops*/, 44, 45, 15,
31376 : // Src: (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3, I32:{ *:[i32] }:$x4, I32:{ *:[i32] }:$x5, I32:{ *:[i32] }:$x6, I32:{ *:[i32] }:$x7, I32:{ *:[i32] }:$x8, I32:{ *:[i32] }:$x9, I32:{ *:[i32] }:$x10, I32:{ *:[i32] }:$x11, I32:{ *:[i32] }:$x12, I32:{ *:[i32] }:$x13, I32:{ *:[i32] }:$x14, I32:{ *:[i32] }:$x15) - Complexity = 3
31377 : // Dst: (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (SPLAT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3), 4:{ *:[i32] }, I32:{ *:[i32] }:$x4), 5:{ *:[i32] }, I32:{ *:[i32] }:$x5), 6:{ *:[i32] }, I32:{ *:[i32] }:$x6), 7:{ *:[i32] }, I32:{ *:[i32] }:$x7), 8:{ *:[i32] }, I32:{ *:[i32] }:$x8), 9:{ *:[i32] }, I32:{ *:[i32] }:$x9), 10:{ *:[i32] }, I32:{ *:[i32] }:$x10), 11:{ *:[i32] }, I32:{ *:[i32] }:$x11), 12:{ *:[i32] }, I32:{ *:[i32] }:$x12), 13:{ *:[i32] }, I32:{ *:[i32] }:$x13), 14:{ *:[i32] }, I32:{ *:[i32] }:$x14), 15:{ *:[i32] }, I32:{ *:[i32] }:$x15)
31378 : /* 59592*/ 0, /*End of Scope*/
31379 : /* 59593*/ /*Scope*/ 19, /*->59613*/
31380 : /* 59594*/ OPC_CheckChild0Type, MVT::f32,
31381 : /* 59596*/ OPC_CheckChild1Same, 0,
31382 : /* 59598*/ OPC_CheckChild2Same, 0,
31383 : /* 59600*/ OPC_CheckChild3Same, 0,
31384 : /* 59602*/ OPC_CheckType, MVT::v4f32,
31385 : /* 59604*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31386 : /* 59606*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v4f32), 0,
31387 : MVT::v4f32, 1/*#Ops*/, 0,
31388 : // Src: (build_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x) - Complexity = 68
31389 : // Dst: (SPLAT_v4f32:{ *:[v4f32] } F32:{ *:[f32] }:$x)
31390 : /* 59613*/ /*Scope*/ 15, /*->59629*/
31391 : /* 59614*/ OPC_CheckChild0Type, MVT::f64,
31392 : /* 59616*/ OPC_CheckChild1Same, 0,
31393 : /* 59618*/ OPC_CheckType, MVT::v2f64,
31394 : /* 59620*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31395 : /* 59622*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v2f64), 0,
31396 : MVT::v2f64, 1/*#Ops*/, 0,
31397 : // Src: (build_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x, F64:{ *:[f64] }:$x) - Complexity = 68
31398 : // Dst: (SPLAT_v2f64:{ *:[v2f64] } F64:{ *:[f64] }:$x)
31399 : /* 59629*/ /*Scope*/ 82, /*->59712*/
31400 : /* 59630*/ OPC_MoveChild0,
31401 : /* 59631*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
31402 : /* 59634*/ OPC_SwitchType /*2 cases */, 47, MVT::f32,// ->59684
31403 : /* 59637*/ OPC_MoveParent,
31404 : /* 59638*/ OPC_RecordChild1, // #1 = $i1
31405 : /* 59639*/ OPC_MoveChild1,
31406 : /* 59640*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
31407 : /* 59643*/ OPC_CheckType, MVT::f32,
31408 : /* 59645*/ OPC_MoveParent,
31409 : /* 59646*/ OPC_RecordChild2, // #2 = $i2
31410 : /* 59647*/ OPC_MoveChild2,
31411 : /* 59648*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
31412 : /* 59651*/ OPC_CheckType, MVT::f32,
31413 : /* 59653*/ OPC_MoveParent,
31414 : /* 59654*/ OPC_RecordChild3, // #3 = $i3
31415 : /* 59655*/ OPC_MoveChild3,
31416 : /* 59656*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
31417 : /* 59659*/ OPC_CheckType, MVT::f32,
31418 : /* 59661*/ OPC_MoveParent,
31419 : /* 59662*/ OPC_CheckType, MVT::v4f32,
31420 : /* 59664*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31421 : /* 59666*/ OPC_EmitConvertToTarget, 0,
31422 : /* 59668*/ OPC_EmitConvertToTarget, 1,
31423 : /* 59670*/ OPC_EmitConvertToTarget, 2,
31424 : /* 59672*/ OPC_EmitConvertToTarget, 3,
31425 : /* 59674*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v4f32), 0,
31426 : MVT::v4f32, 4/*#Ops*/, 4, 5, 6, 7,
31427 : // Src: (build_vector:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3) - Complexity = 15
31428 : // Dst: (CONST_V128_v4f32:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3)
31429 : /* 59684*/ /*SwitchType*/ 25, MVT::f64,// ->59711
31430 : /* 59686*/ OPC_MoveParent,
31431 : /* 59687*/ OPC_RecordChild1, // #1 = $i1
31432 : /* 59688*/ OPC_MoveChild1,
31433 : /* 59689*/ OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
31434 : /* 59692*/ OPC_CheckType, MVT::f64,
31435 : /* 59694*/ OPC_MoveParent,
31436 : /* 59695*/ OPC_CheckType, MVT::v2f64,
31437 : /* 59697*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
31438 : /* 59699*/ OPC_EmitConvertToTarget, 0,
31439 : /* 59701*/ OPC_EmitConvertToTarget, 1,
31440 : /* 59703*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v2f64), 0,
31441 : MVT::v2f64, 2/*#Ops*/, 2, 3,
31442 : // Src: (build_vector:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1) - Complexity = 9
31443 : // Dst: (CONST_V128_v2f64:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1)
31444 : /* 59711*/ 0, // EndSwitchType
31445 : /* 59712*/ /*Scope*/ 26, /*->59739*/
31446 : /* 59713*/ OPC_CheckChild0Type, MVT::f64,
31447 : /* 59715*/ OPC_RecordChild1, // #1 = $x1
31448 : /* 59716*/ OPC_CheckChild1Type, MVT::f64,
31449 : /* 59718*/ OPC_CheckType, MVT::v2f64,
31450 : /* 59720*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v2f64), 0,
31451 : MVT::v2f64, 1/*#Ops*/, 0, // Results = #2
31452 : /* 59727*/ OPC_EmitInteger, MVT::i32, 1,
31453 : /* 59730*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2f64), 0,
31454 : MVT::v2f64, 3/*#Ops*/, 2, 3, 1,
31455 : // Src: (build_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x0, F64:{ *:[f64] }:$x1) - Complexity = 3
31456 : // Dst: (REPLACE_LANE_v2f64:{ *:[v2f64] } (SPLAT_v2f64:{ *:[v2f64] } F64:{ *:[f64] }:$x0), 1:{ *:[i32] }, F64:{ *:[f64] }:$x1)
31457 : /* 59739*/ /*Scope*/ 56, /*->59796*/
31458 : /* 59740*/ OPC_CheckChild0Type, MVT::f32,
31459 : /* 59742*/ OPC_RecordChild1, // #1 = $x1
31460 : /* 59743*/ OPC_CheckChild1Type, MVT::f32,
31461 : /* 59745*/ OPC_RecordChild2, // #2 = $x2
31462 : /* 59746*/ OPC_CheckChild2Type, MVT::f32,
31463 : /* 59748*/ OPC_RecordChild3, // #3 = $x3
31464 : /* 59749*/ OPC_CheckChild3Type, MVT::f32,
31465 : /* 59751*/ OPC_CheckType, MVT::v4f32,
31466 : /* 59753*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v4f32), 0,
31467 : MVT::v4f32, 1/*#Ops*/, 0, // Results = #4
31468 : /* 59760*/ OPC_EmitInteger, MVT::i32, 1,
31469 : /* 59763*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
31470 : MVT::v4f32, 3/*#Ops*/, 4, 5, 1, // Results = #6
31471 : /* 59772*/ OPC_EmitInteger, MVT::i32, 2,
31472 : /* 59775*/ OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
31473 : MVT::v4f32, 3/*#Ops*/, 6, 7, 2, // Results = #8
31474 : /* 59784*/ OPC_EmitInteger, MVT::i32, 3,
31475 : /* 59787*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
31476 : MVT::v4f32, 3/*#Ops*/, 8, 9, 3,
31477 : // Src: (build_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x0, F32:{ *:[f32] }:$x1, F32:{ *:[f32] }:$x2, F32:{ *:[f32] }:$x3) - Complexity = 3
31478 : // Dst: (REPLACE_LANE_v4f32:{ *:[v4f32] } (REPLACE_LANE_v4f32:{ *:[v4f32] } (REPLACE_LANE_v4f32:{ *:[v4f32] } (SPLAT_v4f32:{ *:[v4f32] } F32:{ *:[f32] }:$x0), 1:{ *:[i32] }, F32:{ *:[f32] }:$x1), 2:{ *:[i32] }, F32:{ *:[f32] }:$x2), 3:{ *:[i32] }, F32:{ *:[f32] }:$x3)
31479 : /* 59796*/ 0, /*End of Scope*/
31480 : /* 59797*/ /*SwitchOpcode*/ 5|128,11/*1413*/, TARGET_VAL(WebAssemblyISD::SHUFFLE),// ->61214
31481 : /* 59801*/ OPC_RecordChild0, // #0 = $x
31482 : /* 59802*/ OPC_Scope, 105|128,1/*233*/, /*->60038*/ // 6 children in Scope
31483 : /* 59805*/ OPC_CheckChild0Type, MVT::v16i8,
31484 : /* 59807*/ OPC_RecordChild1, // #1 = $y
31485 : /* 59808*/ OPC_CheckChild1Type, MVT::v16i8,
31486 : /* 59810*/ OPC_RecordChild2, // #2 = $m0
31487 : /* 59811*/ OPC_MoveChild2,
31488 : /* 59812*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31489 : /* 59815*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31490 : /* 59817*/ OPC_CheckType, MVT::i32,
31491 : /* 59819*/ OPC_MoveParent,
31492 : /* 59820*/ OPC_RecordChild3, // #3 = $m1
31493 : /* 59821*/ OPC_MoveChild3,
31494 : /* 59822*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31495 : /* 59825*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31496 : /* 59827*/ OPC_CheckType, MVT::i32,
31497 : /* 59829*/ OPC_MoveParent,
31498 : /* 59830*/ OPC_RecordChild4, // #4 = $m2
31499 : /* 59831*/ OPC_MoveChild4,
31500 : /* 59832*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31501 : /* 59835*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31502 : /* 59837*/ OPC_CheckType, MVT::i32,
31503 : /* 59839*/ OPC_MoveParent,
31504 : /* 59840*/ OPC_RecordChild5, // #5 = $m3
31505 : /* 59841*/ OPC_MoveChild5,
31506 : /* 59842*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31507 : /* 59845*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31508 : /* 59847*/ OPC_CheckType, MVT::i32,
31509 : /* 59849*/ OPC_MoveParent,
31510 : /* 59850*/ OPC_RecordChild6, // #6 = $m4
31511 : /* 59851*/ OPC_MoveChild6,
31512 : /* 59852*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31513 : /* 59855*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31514 : /* 59857*/ OPC_CheckType, MVT::i32,
31515 : /* 59859*/ OPC_MoveParent,
31516 : /* 59860*/ OPC_RecordChild7, // #7 = $m5
31517 : /* 59861*/ OPC_MoveChild7,
31518 : /* 59862*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31519 : /* 59865*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31520 : /* 59867*/ OPC_CheckType, MVT::i32,
31521 : /* 59869*/ OPC_MoveParent,
31522 : /* 59870*/ OPC_MoveChild, 8,
31523 : /* 59872*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31524 : /* 59875*/ OPC_RecordNode, // #8 = $m6
31525 : /* 59876*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31526 : /* 59878*/ OPC_CheckType, MVT::i32,
31527 : /* 59880*/ OPC_MoveParent,
31528 : /* 59881*/ OPC_MoveChild, 9,
31529 : /* 59883*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31530 : /* 59886*/ OPC_RecordNode, // #9 = $m7
31531 : /* 59887*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31532 : /* 59889*/ OPC_CheckType, MVT::i32,
31533 : /* 59891*/ OPC_MoveParent,
31534 : /* 59892*/ OPC_MoveChild, 10,
31535 : /* 59894*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31536 : /* 59897*/ OPC_RecordNode, // #10 = $m8
31537 : /* 59898*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31538 : /* 59900*/ OPC_CheckType, MVT::i32,
31539 : /* 59902*/ OPC_MoveParent,
31540 : /* 59903*/ OPC_MoveChild, 11,
31541 : /* 59905*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31542 : /* 59908*/ OPC_RecordNode, // #11 = $m9
31543 : /* 59909*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31544 : /* 59911*/ OPC_CheckType, MVT::i32,
31545 : /* 59913*/ OPC_MoveParent,
31546 : /* 59914*/ OPC_MoveChild, 12,
31547 : /* 59916*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31548 : /* 59919*/ OPC_RecordNode, // #12 = $mA
31549 : /* 59920*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31550 : /* 59922*/ OPC_CheckType, MVT::i32,
31551 : /* 59924*/ OPC_MoveParent,
31552 : /* 59925*/ OPC_MoveChild, 13,
31553 : /* 59927*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31554 : /* 59930*/ OPC_RecordNode, // #13 = $mB
31555 : /* 59931*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31556 : /* 59933*/ OPC_CheckType, MVT::i32,
31557 : /* 59935*/ OPC_MoveParent,
31558 : /* 59936*/ OPC_MoveChild, 14,
31559 : /* 59938*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31560 : /* 59941*/ OPC_RecordNode, // #14 = $mC
31561 : /* 59942*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31562 : /* 59944*/ OPC_CheckType, MVT::i32,
31563 : /* 59946*/ OPC_MoveParent,
31564 : /* 59947*/ OPC_MoveChild, 15,
31565 : /* 59949*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31566 : /* 59952*/ OPC_RecordNode, // #15 = $mD
31567 : /* 59953*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31568 : /* 59955*/ OPC_CheckType, MVT::i32,
31569 : /* 59957*/ OPC_MoveParent,
31570 : /* 59958*/ OPC_MoveChild, 16,
31571 : /* 59960*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31572 : /* 59963*/ OPC_RecordNode, // #16 = $mE
31573 : /* 59964*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31574 : /* 59966*/ OPC_CheckType, MVT::i32,
31575 : /* 59968*/ OPC_MoveParent,
31576 : /* 59969*/ OPC_MoveChild, 17,
31577 : /* 59971*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31578 : /* 59974*/ OPC_RecordNode, // #17 = $mF
31579 : /* 59975*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31580 : /* 59977*/ OPC_CheckType, MVT::i32,
31581 : /* 59979*/ OPC_MoveParent,
31582 : /* 59980*/ OPC_CheckType, MVT::v16i8,
31583 : /* 59982*/ OPC_EmitConvertToTarget, 2,
31584 : /* 59984*/ OPC_EmitConvertToTarget, 3,
31585 : /* 59986*/ OPC_EmitConvertToTarget, 4,
31586 : /* 59988*/ OPC_EmitConvertToTarget, 5,
31587 : /* 59990*/ OPC_EmitConvertToTarget, 6,
31588 : /* 59992*/ OPC_EmitConvertToTarget, 7,
31589 : /* 59994*/ OPC_EmitConvertToTarget, 8,
31590 : /* 59996*/ OPC_EmitConvertToTarget, 9,
31591 : /* 59998*/ OPC_EmitConvertToTarget, 10,
31592 : /* 60000*/ OPC_EmitConvertToTarget, 11,
31593 : /* 60002*/ OPC_EmitConvertToTarget, 12,
31594 : /* 60004*/ OPC_EmitConvertToTarget, 13,
31595 : /* 60006*/ OPC_EmitConvertToTarget, 14,
31596 : /* 60008*/ OPC_EmitConvertToTarget, 15,
31597 : /* 60010*/ OPC_EmitConvertToTarget, 16,
31598 : /* 60012*/ OPC_EmitConvertToTarget, 17,
31599 : /* 60014*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
31600 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31601 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v16i8] }:$x, V128:{ *:[v16i8] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31602 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$x, V128:{ *:[v16i8] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
31603 : /* 60038*/ /*Scope*/ 105|128,1/*233*/, /*->60273*/
31604 : /* 60040*/ OPC_CheckChild0Type, MVT::v8i16,
31605 : /* 60042*/ OPC_RecordChild1, // #1 = $y
31606 : /* 60043*/ OPC_CheckChild1Type, MVT::v8i16,
31607 : /* 60045*/ OPC_RecordChild2, // #2 = $m0
31608 : /* 60046*/ OPC_MoveChild2,
31609 : /* 60047*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31610 : /* 60050*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31611 : /* 60052*/ OPC_CheckType, MVT::i32,
31612 : /* 60054*/ OPC_MoveParent,
31613 : /* 60055*/ OPC_RecordChild3, // #3 = $m1
31614 : /* 60056*/ OPC_MoveChild3,
31615 : /* 60057*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31616 : /* 60060*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31617 : /* 60062*/ OPC_CheckType, MVT::i32,
31618 : /* 60064*/ OPC_MoveParent,
31619 : /* 60065*/ OPC_RecordChild4, // #4 = $m2
31620 : /* 60066*/ OPC_MoveChild4,
31621 : /* 60067*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31622 : /* 60070*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31623 : /* 60072*/ OPC_CheckType, MVT::i32,
31624 : /* 60074*/ OPC_MoveParent,
31625 : /* 60075*/ OPC_RecordChild5, // #5 = $m3
31626 : /* 60076*/ OPC_MoveChild5,
31627 : /* 60077*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31628 : /* 60080*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31629 : /* 60082*/ OPC_CheckType, MVT::i32,
31630 : /* 60084*/ OPC_MoveParent,
31631 : /* 60085*/ OPC_RecordChild6, // #6 = $m4
31632 : /* 60086*/ OPC_MoveChild6,
31633 : /* 60087*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31634 : /* 60090*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31635 : /* 60092*/ OPC_CheckType, MVT::i32,
31636 : /* 60094*/ OPC_MoveParent,
31637 : /* 60095*/ OPC_RecordChild7, // #7 = $m5
31638 : /* 60096*/ OPC_MoveChild7,
31639 : /* 60097*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31640 : /* 60100*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31641 : /* 60102*/ OPC_CheckType, MVT::i32,
31642 : /* 60104*/ OPC_MoveParent,
31643 : /* 60105*/ OPC_MoveChild, 8,
31644 : /* 60107*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31645 : /* 60110*/ OPC_RecordNode, // #8 = $m6
31646 : /* 60111*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31647 : /* 60113*/ OPC_CheckType, MVT::i32,
31648 : /* 60115*/ OPC_MoveParent,
31649 : /* 60116*/ OPC_MoveChild, 9,
31650 : /* 60118*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31651 : /* 60121*/ OPC_RecordNode, // #9 = $m7
31652 : /* 60122*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31653 : /* 60124*/ OPC_CheckType, MVT::i32,
31654 : /* 60126*/ OPC_MoveParent,
31655 : /* 60127*/ OPC_MoveChild, 10,
31656 : /* 60129*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31657 : /* 60132*/ OPC_RecordNode, // #10 = $m8
31658 : /* 60133*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31659 : /* 60135*/ OPC_CheckType, MVT::i32,
31660 : /* 60137*/ OPC_MoveParent,
31661 : /* 60138*/ OPC_MoveChild, 11,
31662 : /* 60140*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31663 : /* 60143*/ OPC_RecordNode, // #11 = $m9
31664 : /* 60144*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31665 : /* 60146*/ OPC_CheckType, MVT::i32,
31666 : /* 60148*/ OPC_MoveParent,
31667 : /* 60149*/ OPC_MoveChild, 12,
31668 : /* 60151*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31669 : /* 60154*/ OPC_RecordNode, // #12 = $mA
31670 : /* 60155*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31671 : /* 60157*/ OPC_CheckType, MVT::i32,
31672 : /* 60159*/ OPC_MoveParent,
31673 : /* 60160*/ OPC_MoveChild, 13,
31674 : /* 60162*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31675 : /* 60165*/ OPC_RecordNode, // #13 = $mB
31676 : /* 60166*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31677 : /* 60168*/ OPC_CheckType, MVT::i32,
31678 : /* 60170*/ OPC_MoveParent,
31679 : /* 60171*/ OPC_MoveChild, 14,
31680 : /* 60173*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31681 : /* 60176*/ OPC_RecordNode, // #14 = $mC
31682 : /* 60177*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31683 : /* 60179*/ OPC_CheckType, MVT::i32,
31684 : /* 60181*/ OPC_MoveParent,
31685 : /* 60182*/ OPC_MoveChild, 15,
31686 : /* 60184*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31687 : /* 60187*/ OPC_RecordNode, // #15 = $mD
31688 : /* 60188*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31689 : /* 60190*/ OPC_CheckType, MVT::i32,
31690 : /* 60192*/ OPC_MoveParent,
31691 : /* 60193*/ OPC_MoveChild, 16,
31692 : /* 60195*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31693 : /* 60198*/ OPC_RecordNode, // #16 = $mE
31694 : /* 60199*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31695 : /* 60201*/ OPC_CheckType, MVT::i32,
31696 : /* 60203*/ OPC_MoveParent,
31697 : /* 60204*/ OPC_MoveChild, 17,
31698 : /* 60206*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31699 : /* 60209*/ OPC_RecordNode, // #17 = $mF
31700 : /* 60210*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31701 : /* 60212*/ OPC_CheckType, MVT::i32,
31702 : /* 60214*/ OPC_MoveParent,
31703 : /* 60215*/ OPC_CheckType, MVT::v16i8,
31704 : /* 60217*/ OPC_EmitConvertToTarget, 2,
31705 : /* 60219*/ OPC_EmitConvertToTarget, 3,
31706 : /* 60221*/ OPC_EmitConvertToTarget, 4,
31707 : /* 60223*/ OPC_EmitConvertToTarget, 5,
31708 : /* 60225*/ OPC_EmitConvertToTarget, 6,
31709 : /* 60227*/ OPC_EmitConvertToTarget, 7,
31710 : /* 60229*/ OPC_EmitConvertToTarget, 8,
31711 : /* 60231*/ OPC_EmitConvertToTarget, 9,
31712 : /* 60233*/ OPC_EmitConvertToTarget, 10,
31713 : /* 60235*/ OPC_EmitConvertToTarget, 11,
31714 : /* 60237*/ OPC_EmitConvertToTarget, 12,
31715 : /* 60239*/ OPC_EmitConvertToTarget, 13,
31716 : /* 60241*/ OPC_EmitConvertToTarget, 14,
31717 : /* 60243*/ OPC_EmitConvertToTarget, 15,
31718 : /* 60245*/ OPC_EmitConvertToTarget, 16,
31719 : /* 60247*/ OPC_EmitConvertToTarget, 17,
31720 : /* 60249*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
31721 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31722 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v8i16] }:$x, V128:{ *:[v8i16] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31723 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v8i16] }:$x, V128:{ *:[v8i16] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
31724 : /* 60273*/ /*Scope*/ 105|128,1/*233*/, /*->60508*/
31725 : /* 60275*/ OPC_CheckChild0Type, MVT::v4i32,
31726 : /* 60277*/ OPC_RecordChild1, // #1 = $y
31727 : /* 60278*/ OPC_CheckChild1Type, MVT::v4i32,
31728 : /* 60280*/ OPC_RecordChild2, // #2 = $m0
31729 : /* 60281*/ OPC_MoveChild2,
31730 : /* 60282*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31731 : /* 60285*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31732 : /* 60287*/ OPC_CheckType, MVT::i32,
31733 : /* 60289*/ OPC_MoveParent,
31734 : /* 60290*/ OPC_RecordChild3, // #3 = $m1
31735 : /* 60291*/ OPC_MoveChild3,
31736 : /* 60292*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31737 : /* 60295*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31738 : /* 60297*/ OPC_CheckType, MVT::i32,
31739 : /* 60299*/ OPC_MoveParent,
31740 : /* 60300*/ OPC_RecordChild4, // #4 = $m2
31741 : /* 60301*/ OPC_MoveChild4,
31742 : /* 60302*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31743 : /* 60305*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31744 : /* 60307*/ OPC_CheckType, MVT::i32,
31745 : /* 60309*/ OPC_MoveParent,
31746 : /* 60310*/ OPC_RecordChild5, // #5 = $m3
31747 : /* 60311*/ OPC_MoveChild5,
31748 : /* 60312*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31749 : /* 60315*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31750 : /* 60317*/ OPC_CheckType, MVT::i32,
31751 : /* 60319*/ OPC_MoveParent,
31752 : /* 60320*/ OPC_RecordChild6, // #6 = $m4
31753 : /* 60321*/ OPC_MoveChild6,
31754 : /* 60322*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31755 : /* 60325*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31756 : /* 60327*/ OPC_CheckType, MVT::i32,
31757 : /* 60329*/ OPC_MoveParent,
31758 : /* 60330*/ OPC_RecordChild7, // #7 = $m5
31759 : /* 60331*/ OPC_MoveChild7,
31760 : /* 60332*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31761 : /* 60335*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31762 : /* 60337*/ OPC_CheckType, MVT::i32,
31763 : /* 60339*/ OPC_MoveParent,
31764 : /* 60340*/ OPC_MoveChild, 8,
31765 : /* 60342*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31766 : /* 60345*/ OPC_RecordNode, // #8 = $m6
31767 : /* 60346*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31768 : /* 60348*/ OPC_CheckType, MVT::i32,
31769 : /* 60350*/ OPC_MoveParent,
31770 : /* 60351*/ OPC_MoveChild, 9,
31771 : /* 60353*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31772 : /* 60356*/ OPC_RecordNode, // #9 = $m7
31773 : /* 60357*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31774 : /* 60359*/ OPC_CheckType, MVT::i32,
31775 : /* 60361*/ OPC_MoveParent,
31776 : /* 60362*/ OPC_MoveChild, 10,
31777 : /* 60364*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31778 : /* 60367*/ OPC_RecordNode, // #10 = $m8
31779 : /* 60368*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31780 : /* 60370*/ OPC_CheckType, MVT::i32,
31781 : /* 60372*/ OPC_MoveParent,
31782 : /* 60373*/ OPC_MoveChild, 11,
31783 : /* 60375*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31784 : /* 60378*/ OPC_RecordNode, // #11 = $m9
31785 : /* 60379*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31786 : /* 60381*/ OPC_CheckType, MVT::i32,
31787 : /* 60383*/ OPC_MoveParent,
31788 : /* 60384*/ OPC_MoveChild, 12,
31789 : /* 60386*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31790 : /* 60389*/ OPC_RecordNode, // #12 = $mA
31791 : /* 60390*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31792 : /* 60392*/ OPC_CheckType, MVT::i32,
31793 : /* 60394*/ OPC_MoveParent,
31794 : /* 60395*/ OPC_MoveChild, 13,
31795 : /* 60397*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31796 : /* 60400*/ OPC_RecordNode, // #13 = $mB
31797 : /* 60401*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31798 : /* 60403*/ OPC_CheckType, MVT::i32,
31799 : /* 60405*/ OPC_MoveParent,
31800 : /* 60406*/ OPC_MoveChild, 14,
31801 : /* 60408*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31802 : /* 60411*/ OPC_RecordNode, // #14 = $mC
31803 : /* 60412*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31804 : /* 60414*/ OPC_CheckType, MVT::i32,
31805 : /* 60416*/ OPC_MoveParent,
31806 : /* 60417*/ OPC_MoveChild, 15,
31807 : /* 60419*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31808 : /* 60422*/ OPC_RecordNode, // #15 = $mD
31809 : /* 60423*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31810 : /* 60425*/ OPC_CheckType, MVT::i32,
31811 : /* 60427*/ OPC_MoveParent,
31812 : /* 60428*/ OPC_MoveChild, 16,
31813 : /* 60430*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31814 : /* 60433*/ OPC_RecordNode, // #16 = $mE
31815 : /* 60434*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31816 : /* 60436*/ OPC_CheckType, MVT::i32,
31817 : /* 60438*/ OPC_MoveParent,
31818 : /* 60439*/ OPC_MoveChild, 17,
31819 : /* 60441*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31820 : /* 60444*/ OPC_RecordNode, // #17 = $mF
31821 : /* 60445*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31822 : /* 60447*/ OPC_CheckType, MVT::i32,
31823 : /* 60449*/ OPC_MoveParent,
31824 : /* 60450*/ OPC_CheckType, MVT::v16i8,
31825 : /* 60452*/ OPC_EmitConvertToTarget, 2,
31826 : /* 60454*/ OPC_EmitConvertToTarget, 3,
31827 : /* 60456*/ OPC_EmitConvertToTarget, 4,
31828 : /* 60458*/ OPC_EmitConvertToTarget, 5,
31829 : /* 60460*/ OPC_EmitConvertToTarget, 6,
31830 : /* 60462*/ OPC_EmitConvertToTarget, 7,
31831 : /* 60464*/ OPC_EmitConvertToTarget, 8,
31832 : /* 60466*/ OPC_EmitConvertToTarget, 9,
31833 : /* 60468*/ OPC_EmitConvertToTarget, 10,
31834 : /* 60470*/ OPC_EmitConvertToTarget, 11,
31835 : /* 60472*/ OPC_EmitConvertToTarget, 12,
31836 : /* 60474*/ OPC_EmitConvertToTarget, 13,
31837 : /* 60476*/ OPC_EmitConvertToTarget, 14,
31838 : /* 60478*/ OPC_EmitConvertToTarget, 15,
31839 : /* 60480*/ OPC_EmitConvertToTarget, 16,
31840 : /* 60482*/ OPC_EmitConvertToTarget, 17,
31841 : /* 60484*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
31842 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31843 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v4i32] }:$x, V128:{ *:[v4i32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31844 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v4i32] }:$x, V128:{ *:[v4i32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
31845 : /* 60508*/ /*Scope*/ 105|128,1/*233*/, /*->60743*/
31846 : /* 60510*/ OPC_CheckChild0Type, MVT::v2i64,
31847 : /* 60512*/ OPC_RecordChild1, // #1 = $y
31848 : /* 60513*/ OPC_CheckChild1Type, MVT::v2i64,
31849 : /* 60515*/ OPC_RecordChild2, // #2 = $m0
31850 : /* 60516*/ OPC_MoveChild2,
31851 : /* 60517*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31852 : /* 60520*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31853 : /* 60522*/ OPC_CheckType, MVT::i32,
31854 : /* 60524*/ OPC_MoveParent,
31855 : /* 60525*/ OPC_RecordChild3, // #3 = $m1
31856 : /* 60526*/ OPC_MoveChild3,
31857 : /* 60527*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31858 : /* 60530*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31859 : /* 60532*/ OPC_CheckType, MVT::i32,
31860 : /* 60534*/ OPC_MoveParent,
31861 : /* 60535*/ OPC_RecordChild4, // #4 = $m2
31862 : /* 60536*/ OPC_MoveChild4,
31863 : /* 60537*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31864 : /* 60540*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31865 : /* 60542*/ OPC_CheckType, MVT::i32,
31866 : /* 60544*/ OPC_MoveParent,
31867 : /* 60545*/ OPC_RecordChild5, // #5 = $m3
31868 : /* 60546*/ OPC_MoveChild5,
31869 : /* 60547*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31870 : /* 60550*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31871 : /* 60552*/ OPC_CheckType, MVT::i32,
31872 : /* 60554*/ OPC_MoveParent,
31873 : /* 60555*/ OPC_RecordChild6, // #6 = $m4
31874 : /* 60556*/ OPC_MoveChild6,
31875 : /* 60557*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31876 : /* 60560*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31877 : /* 60562*/ OPC_CheckType, MVT::i32,
31878 : /* 60564*/ OPC_MoveParent,
31879 : /* 60565*/ OPC_RecordChild7, // #7 = $m5
31880 : /* 60566*/ OPC_MoveChild7,
31881 : /* 60567*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31882 : /* 60570*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31883 : /* 60572*/ OPC_CheckType, MVT::i32,
31884 : /* 60574*/ OPC_MoveParent,
31885 : /* 60575*/ OPC_MoveChild, 8,
31886 : /* 60577*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31887 : /* 60580*/ OPC_RecordNode, // #8 = $m6
31888 : /* 60581*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31889 : /* 60583*/ OPC_CheckType, MVT::i32,
31890 : /* 60585*/ OPC_MoveParent,
31891 : /* 60586*/ OPC_MoveChild, 9,
31892 : /* 60588*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31893 : /* 60591*/ OPC_RecordNode, // #9 = $m7
31894 : /* 60592*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31895 : /* 60594*/ OPC_CheckType, MVT::i32,
31896 : /* 60596*/ OPC_MoveParent,
31897 : /* 60597*/ OPC_MoveChild, 10,
31898 : /* 60599*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31899 : /* 60602*/ OPC_RecordNode, // #10 = $m8
31900 : /* 60603*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31901 : /* 60605*/ OPC_CheckType, MVT::i32,
31902 : /* 60607*/ OPC_MoveParent,
31903 : /* 60608*/ OPC_MoveChild, 11,
31904 : /* 60610*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31905 : /* 60613*/ OPC_RecordNode, // #11 = $m9
31906 : /* 60614*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31907 : /* 60616*/ OPC_CheckType, MVT::i32,
31908 : /* 60618*/ OPC_MoveParent,
31909 : /* 60619*/ OPC_MoveChild, 12,
31910 : /* 60621*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31911 : /* 60624*/ OPC_RecordNode, // #12 = $mA
31912 : /* 60625*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31913 : /* 60627*/ OPC_CheckType, MVT::i32,
31914 : /* 60629*/ OPC_MoveParent,
31915 : /* 60630*/ OPC_MoveChild, 13,
31916 : /* 60632*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31917 : /* 60635*/ OPC_RecordNode, // #13 = $mB
31918 : /* 60636*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31919 : /* 60638*/ OPC_CheckType, MVT::i32,
31920 : /* 60640*/ OPC_MoveParent,
31921 : /* 60641*/ OPC_MoveChild, 14,
31922 : /* 60643*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31923 : /* 60646*/ OPC_RecordNode, // #14 = $mC
31924 : /* 60647*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31925 : /* 60649*/ OPC_CheckType, MVT::i32,
31926 : /* 60651*/ OPC_MoveParent,
31927 : /* 60652*/ OPC_MoveChild, 15,
31928 : /* 60654*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31929 : /* 60657*/ OPC_RecordNode, // #15 = $mD
31930 : /* 60658*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31931 : /* 60660*/ OPC_CheckType, MVT::i32,
31932 : /* 60662*/ OPC_MoveParent,
31933 : /* 60663*/ OPC_MoveChild, 16,
31934 : /* 60665*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31935 : /* 60668*/ OPC_RecordNode, // #16 = $mE
31936 : /* 60669*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31937 : /* 60671*/ OPC_CheckType, MVT::i32,
31938 : /* 60673*/ OPC_MoveParent,
31939 : /* 60674*/ OPC_MoveChild, 17,
31940 : /* 60676*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31941 : /* 60679*/ OPC_RecordNode, // #17 = $mF
31942 : /* 60680*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31943 : /* 60682*/ OPC_CheckType, MVT::i32,
31944 : /* 60684*/ OPC_MoveParent,
31945 : /* 60685*/ OPC_CheckType, MVT::v16i8,
31946 : /* 60687*/ OPC_EmitConvertToTarget, 2,
31947 : /* 60689*/ OPC_EmitConvertToTarget, 3,
31948 : /* 60691*/ OPC_EmitConvertToTarget, 4,
31949 : /* 60693*/ OPC_EmitConvertToTarget, 5,
31950 : /* 60695*/ OPC_EmitConvertToTarget, 6,
31951 : /* 60697*/ OPC_EmitConvertToTarget, 7,
31952 : /* 60699*/ OPC_EmitConvertToTarget, 8,
31953 : /* 60701*/ OPC_EmitConvertToTarget, 9,
31954 : /* 60703*/ OPC_EmitConvertToTarget, 10,
31955 : /* 60705*/ OPC_EmitConvertToTarget, 11,
31956 : /* 60707*/ OPC_EmitConvertToTarget, 12,
31957 : /* 60709*/ OPC_EmitConvertToTarget, 13,
31958 : /* 60711*/ OPC_EmitConvertToTarget, 14,
31959 : /* 60713*/ OPC_EmitConvertToTarget, 15,
31960 : /* 60715*/ OPC_EmitConvertToTarget, 16,
31961 : /* 60717*/ OPC_EmitConvertToTarget, 17,
31962 : /* 60719*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
31963 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
31964 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v2i64] }:$x, V128:{ *:[v2i64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
31965 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v2i64] }:$x, V128:{ *:[v2i64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
31966 : /* 60743*/ /*Scope*/ 105|128,1/*233*/, /*->60978*/
31967 : /* 60745*/ OPC_CheckChild0Type, MVT::v4f32,
31968 : /* 60747*/ OPC_RecordChild1, // #1 = $y
31969 : /* 60748*/ OPC_CheckChild1Type, MVT::v4f32,
31970 : /* 60750*/ OPC_RecordChild2, // #2 = $m0
31971 : /* 60751*/ OPC_MoveChild2,
31972 : /* 60752*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31973 : /* 60755*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31974 : /* 60757*/ OPC_CheckType, MVT::i32,
31975 : /* 60759*/ OPC_MoveParent,
31976 : /* 60760*/ OPC_RecordChild3, // #3 = $m1
31977 : /* 60761*/ OPC_MoveChild3,
31978 : /* 60762*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31979 : /* 60765*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31980 : /* 60767*/ OPC_CheckType, MVT::i32,
31981 : /* 60769*/ OPC_MoveParent,
31982 : /* 60770*/ OPC_RecordChild4, // #4 = $m2
31983 : /* 60771*/ OPC_MoveChild4,
31984 : /* 60772*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31985 : /* 60775*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31986 : /* 60777*/ OPC_CheckType, MVT::i32,
31987 : /* 60779*/ OPC_MoveParent,
31988 : /* 60780*/ OPC_RecordChild5, // #5 = $m3
31989 : /* 60781*/ OPC_MoveChild5,
31990 : /* 60782*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31991 : /* 60785*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31992 : /* 60787*/ OPC_CheckType, MVT::i32,
31993 : /* 60789*/ OPC_MoveParent,
31994 : /* 60790*/ OPC_RecordChild6, // #6 = $m4
31995 : /* 60791*/ OPC_MoveChild6,
31996 : /* 60792*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31997 : /* 60795*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
31998 : /* 60797*/ OPC_CheckType, MVT::i32,
31999 : /* 60799*/ OPC_MoveParent,
32000 : /* 60800*/ OPC_RecordChild7, // #7 = $m5
32001 : /* 60801*/ OPC_MoveChild7,
32002 : /* 60802*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32003 : /* 60805*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32004 : /* 60807*/ OPC_CheckType, MVT::i32,
32005 : /* 60809*/ OPC_MoveParent,
32006 : /* 60810*/ OPC_MoveChild, 8,
32007 : /* 60812*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32008 : /* 60815*/ OPC_RecordNode, // #8 = $m6
32009 : /* 60816*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32010 : /* 60818*/ OPC_CheckType, MVT::i32,
32011 : /* 60820*/ OPC_MoveParent,
32012 : /* 60821*/ OPC_MoveChild, 9,
32013 : /* 60823*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32014 : /* 60826*/ OPC_RecordNode, // #9 = $m7
32015 : /* 60827*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32016 : /* 60829*/ OPC_CheckType, MVT::i32,
32017 : /* 60831*/ OPC_MoveParent,
32018 : /* 60832*/ OPC_MoveChild, 10,
32019 : /* 60834*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32020 : /* 60837*/ OPC_RecordNode, // #10 = $m8
32021 : /* 60838*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32022 : /* 60840*/ OPC_CheckType, MVT::i32,
32023 : /* 60842*/ OPC_MoveParent,
32024 : /* 60843*/ OPC_MoveChild, 11,
32025 : /* 60845*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32026 : /* 60848*/ OPC_RecordNode, // #11 = $m9
32027 : /* 60849*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32028 : /* 60851*/ OPC_CheckType, MVT::i32,
32029 : /* 60853*/ OPC_MoveParent,
32030 : /* 60854*/ OPC_MoveChild, 12,
32031 : /* 60856*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32032 : /* 60859*/ OPC_RecordNode, // #12 = $mA
32033 : /* 60860*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32034 : /* 60862*/ OPC_CheckType, MVT::i32,
32035 : /* 60864*/ OPC_MoveParent,
32036 : /* 60865*/ OPC_MoveChild, 13,
32037 : /* 60867*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32038 : /* 60870*/ OPC_RecordNode, // #13 = $mB
32039 : /* 60871*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32040 : /* 60873*/ OPC_CheckType, MVT::i32,
32041 : /* 60875*/ OPC_MoveParent,
32042 : /* 60876*/ OPC_MoveChild, 14,
32043 : /* 60878*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32044 : /* 60881*/ OPC_RecordNode, // #14 = $mC
32045 : /* 60882*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32046 : /* 60884*/ OPC_CheckType, MVT::i32,
32047 : /* 60886*/ OPC_MoveParent,
32048 : /* 60887*/ OPC_MoveChild, 15,
32049 : /* 60889*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32050 : /* 60892*/ OPC_RecordNode, // #15 = $mD
32051 : /* 60893*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32052 : /* 60895*/ OPC_CheckType, MVT::i32,
32053 : /* 60897*/ OPC_MoveParent,
32054 : /* 60898*/ OPC_MoveChild, 16,
32055 : /* 60900*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32056 : /* 60903*/ OPC_RecordNode, // #16 = $mE
32057 : /* 60904*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32058 : /* 60906*/ OPC_CheckType, MVT::i32,
32059 : /* 60908*/ OPC_MoveParent,
32060 : /* 60909*/ OPC_MoveChild, 17,
32061 : /* 60911*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32062 : /* 60914*/ OPC_RecordNode, // #17 = $mF
32063 : /* 60915*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32064 : /* 60917*/ OPC_CheckType, MVT::i32,
32065 : /* 60919*/ OPC_MoveParent,
32066 : /* 60920*/ OPC_CheckType, MVT::v16i8,
32067 : /* 60922*/ OPC_EmitConvertToTarget, 2,
32068 : /* 60924*/ OPC_EmitConvertToTarget, 3,
32069 : /* 60926*/ OPC_EmitConvertToTarget, 4,
32070 : /* 60928*/ OPC_EmitConvertToTarget, 5,
32071 : /* 60930*/ OPC_EmitConvertToTarget, 6,
32072 : /* 60932*/ OPC_EmitConvertToTarget, 7,
32073 : /* 60934*/ OPC_EmitConvertToTarget, 8,
32074 : /* 60936*/ OPC_EmitConvertToTarget, 9,
32075 : /* 60938*/ OPC_EmitConvertToTarget, 10,
32076 : /* 60940*/ OPC_EmitConvertToTarget, 11,
32077 : /* 60942*/ OPC_EmitConvertToTarget, 12,
32078 : /* 60944*/ OPC_EmitConvertToTarget, 13,
32079 : /* 60946*/ OPC_EmitConvertToTarget, 14,
32080 : /* 60948*/ OPC_EmitConvertToTarget, 15,
32081 : /* 60950*/ OPC_EmitConvertToTarget, 16,
32082 : /* 60952*/ OPC_EmitConvertToTarget, 17,
32083 : /* 60954*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
32084 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
32085 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v4f32] }:$x, V128:{ *:[v4f32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
32086 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v4f32] }:$x, V128:{ *:[v4f32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
32087 : /* 60978*/ /*Scope*/ 105|128,1/*233*/, /*->61213*/
32088 : /* 60980*/ OPC_CheckChild0Type, MVT::v2f64,
32089 : /* 60982*/ OPC_RecordChild1, // #1 = $y
32090 : /* 60983*/ OPC_CheckChild1Type, MVT::v2f64,
32091 : /* 60985*/ OPC_RecordChild2, // #2 = $m0
32092 : /* 60986*/ OPC_MoveChild2,
32093 : /* 60987*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32094 : /* 60990*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32095 : /* 60992*/ OPC_CheckType, MVT::i32,
32096 : /* 60994*/ OPC_MoveParent,
32097 : /* 60995*/ OPC_RecordChild3, // #3 = $m1
32098 : /* 60996*/ OPC_MoveChild3,
32099 : /* 60997*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32100 : /* 61000*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32101 : /* 61002*/ OPC_CheckType, MVT::i32,
32102 : /* 61004*/ OPC_MoveParent,
32103 : /* 61005*/ OPC_RecordChild4, // #4 = $m2
32104 : /* 61006*/ OPC_MoveChild4,
32105 : /* 61007*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32106 : /* 61010*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32107 : /* 61012*/ OPC_CheckType, MVT::i32,
32108 : /* 61014*/ OPC_MoveParent,
32109 : /* 61015*/ OPC_RecordChild5, // #5 = $m3
32110 : /* 61016*/ OPC_MoveChild5,
32111 : /* 61017*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32112 : /* 61020*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32113 : /* 61022*/ OPC_CheckType, MVT::i32,
32114 : /* 61024*/ OPC_MoveParent,
32115 : /* 61025*/ OPC_RecordChild6, // #6 = $m4
32116 : /* 61026*/ OPC_MoveChild6,
32117 : /* 61027*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32118 : /* 61030*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32119 : /* 61032*/ OPC_CheckType, MVT::i32,
32120 : /* 61034*/ OPC_MoveParent,
32121 : /* 61035*/ OPC_RecordChild7, // #7 = $m5
32122 : /* 61036*/ OPC_MoveChild7,
32123 : /* 61037*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32124 : /* 61040*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32125 : /* 61042*/ OPC_CheckType, MVT::i32,
32126 : /* 61044*/ OPC_MoveParent,
32127 : /* 61045*/ OPC_MoveChild, 8,
32128 : /* 61047*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32129 : /* 61050*/ OPC_RecordNode, // #8 = $m6
32130 : /* 61051*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32131 : /* 61053*/ OPC_CheckType, MVT::i32,
32132 : /* 61055*/ OPC_MoveParent,
32133 : /* 61056*/ OPC_MoveChild, 9,
32134 : /* 61058*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32135 : /* 61061*/ OPC_RecordNode, // #9 = $m7
32136 : /* 61062*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32137 : /* 61064*/ OPC_CheckType, MVT::i32,
32138 : /* 61066*/ OPC_MoveParent,
32139 : /* 61067*/ OPC_MoveChild, 10,
32140 : /* 61069*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32141 : /* 61072*/ OPC_RecordNode, // #10 = $m8
32142 : /* 61073*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32143 : /* 61075*/ OPC_CheckType, MVT::i32,
32144 : /* 61077*/ OPC_MoveParent,
32145 : /* 61078*/ OPC_MoveChild, 11,
32146 : /* 61080*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32147 : /* 61083*/ OPC_RecordNode, // #11 = $m9
32148 : /* 61084*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32149 : /* 61086*/ OPC_CheckType, MVT::i32,
32150 : /* 61088*/ OPC_MoveParent,
32151 : /* 61089*/ OPC_MoveChild, 12,
32152 : /* 61091*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32153 : /* 61094*/ OPC_RecordNode, // #12 = $mA
32154 : /* 61095*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32155 : /* 61097*/ OPC_CheckType, MVT::i32,
32156 : /* 61099*/ OPC_MoveParent,
32157 : /* 61100*/ OPC_MoveChild, 13,
32158 : /* 61102*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32159 : /* 61105*/ OPC_RecordNode, // #13 = $mB
32160 : /* 61106*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32161 : /* 61108*/ OPC_CheckType, MVT::i32,
32162 : /* 61110*/ OPC_MoveParent,
32163 : /* 61111*/ OPC_MoveChild, 14,
32164 : /* 61113*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32165 : /* 61116*/ OPC_RecordNode, // #14 = $mC
32166 : /* 61117*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32167 : /* 61119*/ OPC_CheckType, MVT::i32,
32168 : /* 61121*/ OPC_MoveParent,
32169 : /* 61122*/ OPC_MoveChild, 15,
32170 : /* 61124*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32171 : /* 61127*/ OPC_RecordNode, // #15 = $mD
32172 : /* 61128*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32173 : /* 61130*/ OPC_CheckType, MVT::i32,
32174 : /* 61132*/ OPC_MoveParent,
32175 : /* 61133*/ OPC_MoveChild, 16,
32176 : /* 61135*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32177 : /* 61138*/ OPC_RecordNode, // #16 = $mE
32178 : /* 61139*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32179 : /* 61141*/ OPC_CheckType, MVT::i32,
32180 : /* 61143*/ OPC_MoveParent,
32181 : /* 61144*/ OPC_MoveChild, 17,
32182 : /* 61146*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32183 : /* 61149*/ OPC_RecordNode, // #17 = $mF
32184 : /* 61150*/ OPC_CheckPredicate, 29, // Predicate_LaneIdx32
32185 : /* 61152*/ OPC_CheckType, MVT::i32,
32186 : /* 61154*/ OPC_MoveParent,
32187 : /* 61155*/ OPC_CheckType, MVT::v16i8,
32188 : /* 61157*/ OPC_EmitConvertToTarget, 2,
32189 : /* 61159*/ OPC_EmitConvertToTarget, 3,
32190 : /* 61161*/ OPC_EmitConvertToTarget, 4,
32191 : /* 61163*/ OPC_EmitConvertToTarget, 5,
32192 : /* 61165*/ OPC_EmitConvertToTarget, 6,
32193 : /* 61167*/ OPC_EmitConvertToTarget, 7,
32194 : /* 61169*/ OPC_EmitConvertToTarget, 8,
32195 : /* 61171*/ OPC_EmitConvertToTarget, 9,
32196 : /* 61173*/ OPC_EmitConvertToTarget, 10,
32197 : /* 61175*/ OPC_EmitConvertToTarget, 11,
32198 : /* 61177*/ OPC_EmitConvertToTarget, 12,
32199 : /* 61179*/ OPC_EmitConvertToTarget, 13,
32200 : /* 61181*/ OPC_EmitConvertToTarget, 14,
32201 : /* 61183*/ OPC_EmitConvertToTarget, 15,
32202 : /* 61185*/ OPC_EmitConvertToTarget, 16,
32203 : /* 61187*/ OPC_EmitConvertToTarget, 17,
32204 : /* 61189*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
32205 : MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
32206 : // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v2f64] }:$x, V128:{ *:[v2f64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
32207 : // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v2f64] }:$x, V128:{ *:[v2f64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
32208 : /* 61213*/ 0, /*End of Scope*/
32209 : /* 61214*/ /*SwitchOpcode*/ 29|128,1/*157*/, TARGET_VAL(ISD::INSERT_VECTOR_ELT),// ->61375
32210 : /* 61218*/ OPC_RecordChild0, // #0 = $vec
32211 : /* 61219*/ OPC_RecordChild1, // #1 = $x
32212 : /* 61220*/ OPC_Scope, 68, /*->61290*/ // 4 children in Scope
32213 : /* 61222*/ OPC_CheckChild1Type, MVT::i32,
32214 : /* 61224*/ OPC_RecordChild2, // #2 = $idx
32215 : /* 61225*/ OPC_MoveChild2,
32216 : /* 61226*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32217 : /* 61229*/ OPC_CheckType, MVT::i32,
32218 : /* 61231*/ OPC_Scope, 18, /*->61251*/ // 3 children in Scope
32219 : /* 61233*/ OPC_CheckPredicate, 5, // Predicate_LaneIdx16
32220 : /* 61235*/ OPC_MoveParent,
32221 : /* 61236*/ OPC_CheckType, MVT::v16i8,
32222 : /* 61238*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32223 : /* 61240*/ OPC_EmitConvertToTarget, 2,
32224 : /* 61242*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
32225 : MVT::v16i8, 3/*#Ops*/, 0, 3, 1,
32226 : // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
32227 : // Dst: (REPLACE_LANE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
32228 : /* 61251*/ /*Scope*/ 18, /*->61270*/
32229 : /* 61252*/ OPC_CheckPredicate, 6, // Predicate_LaneIdx8
32230 : /* 61254*/ OPC_MoveParent,
32231 : /* 61255*/ OPC_CheckType, MVT::v8i16,
32232 : /* 61257*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32233 : /* 61259*/ OPC_EmitConvertToTarget, 2,
32234 : /* 61261*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
32235 : MVT::v8i16, 3/*#Ops*/, 0, 3, 1,
32236 : // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
32237 : // Dst: (REPLACE_LANE_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
32238 : /* 61270*/ /*Scope*/ 18, /*->61289*/
32239 : /* 61271*/ OPC_CheckPredicate, 23, // Predicate_LaneIdx4
32240 : /* 61273*/ OPC_MoveParent,
32241 : /* 61274*/ OPC_CheckType, MVT::v4i32,
32242 : /* 61276*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32243 : /* 61278*/ OPC_EmitConvertToTarget, 2,
32244 : /* 61280*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
32245 : MVT::v4i32, 3/*#Ops*/, 0, 3, 1,
32246 : // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
32247 : // Dst: (REPLACE_LANE_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
32248 : /* 61289*/ 0, /*End of Scope*/
32249 : /* 61290*/ /*Scope*/ 27, /*->61318*/
32250 : /* 61291*/ OPC_CheckChild1Type, MVT::i64,
32251 : /* 61293*/ OPC_RecordChild2, // #2 = $idx
32252 : /* 61294*/ OPC_MoveChild2,
32253 : /* 61295*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32254 : /* 61298*/ OPC_CheckPredicate, 24, // Predicate_LaneIdx2
32255 : /* 61300*/ OPC_CheckType, MVT::i32,
32256 : /* 61302*/ OPC_MoveParent,
32257 : /* 61303*/ OPC_CheckType, MVT::v2i64,
32258 : /* 61305*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32259 : /* 61307*/ OPC_EmitConvertToTarget, 2,
32260 : /* 61309*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2i64), 0,
32261 : MVT::v2i64, 3/*#Ops*/, 0, 3, 1,
32262 : // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I64:{ *:[i64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
32263 : // Dst: (REPLACE_LANE_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx, I64:{ *:[i64] }:$x)
32264 : /* 61318*/ /*Scope*/ 27, /*->61346*/
32265 : /* 61319*/ OPC_CheckChild1Type, MVT::f32,
32266 : /* 61321*/ OPC_RecordChild2, // #2 = $idx
32267 : /* 61322*/ OPC_MoveChild2,
32268 : /* 61323*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32269 : /* 61326*/ OPC_CheckPredicate, 23, // Predicate_LaneIdx4
32270 : /* 61328*/ OPC_CheckType, MVT::i32,
32271 : /* 61330*/ OPC_MoveParent,
32272 : /* 61331*/ OPC_CheckType, MVT::v4f32,
32273 : /* 61333*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32274 : /* 61335*/ OPC_EmitConvertToTarget, 2,
32275 : /* 61337*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
32276 : MVT::v4f32, 3/*#Ops*/, 0, 3, 1,
32277 : // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, F32:{ *:[f32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
32278 : // Dst: (REPLACE_LANE_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx, F32:{ *:[f32] }:$x)
32279 : /* 61346*/ /*Scope*/ 27, /*->61374*/
32280 : /* 61347*/ OPC_CheckChild1Type, MVT::f64,
32281 : /* 61349*/ OPC_RecordChild2, // #2 = $idx
32282 : /* 61350*/ OPC_MoveChild2,
32283 : /* 61351*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32284 : /* 61354*/ OPC_CheckPredicate, 24, // Predicate_LaneIdx2
32285 : /* 61356*/ OPC_CheckType, MVT::i32,
32286 : /* 61358*/ OPC_MoveParent,
32287 : /* 61359*/ OPC_CheckType, MVT::v2f64,
32288 : /* 61361*/ OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
32289 : /* 61363*/ OPC_EmitConvertToTarget, 2,
32290 : /* 61365*/ OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2f64), 0,
32291 : MVT::v2f64, 3/*#Ops*/, 0, 3, 1,
32292 : // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, F64:{ *:[f64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
32293 : // Dst: (REPLACE_LANE_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx, F64:{ *:[f64] }:$x)
32294 : /* 61374*/ 0, /*End of Scope*/
32295 : /* 61375*/ 0, // EndSwitchOpcode
32296 : 0
32297 : }; // Total Array size is 61377 bytes
32298 :
32299 : // Opcode Histogram:
32300 : // #OPC_Scope = 529
32301 : // #OPC_RecordNode = 423
32302 : // #OPC_RecordChild = 2079
32303 : // #OPC_RecordMemRef = 331
32304 : // #OPC_CaptureGlueInput = 1
32305 : // #OPC_MoveChild = 2315
32306 : // #OPC_MoveParent = 3169
32307 : // #OPC_CheckSame = 48
32308 : // #OPC_CheckChildSame = 84
32309 : // #OPC_CheckPatternPredicate = 1204
32310 : // #OPC_CheckPredicate = 2027
32311 : // #OPC_CheckOpcode = 2145
32312 : // #OPC_SwitchOpcode = 96
32313 : // #OPC_CheckType = 1113
32314 : // #OPC_SwitchType = 227
32315 : // #OPC_CheckChildType = 281
32316 : // #OPC_CheckInteger = 0
32317 : // #OPC_CheckChildInteger = 31
32318 : // #OPC_CheckCondCode = 100
32319 : // #OPC_CheckValueType = 5
32320 : // #OPC_CheckComplexPat = 0
32321 : // #OPC_CheckAndImm = 306
32322 : // #OPC_CheckOrImm = 0
32323 : // #OPC_CheckFoldableChainNode = 302
32324 : // #OPC_EmitInteger = 1963
32325 : // #OPC_EmitStringInteger = 0
32326 : // #OPC_EmitRegister = 0
32327 : // #OPC_EmitConvertToTarget = 586
32328 : // #OPC_EmitMergeInputChains = 1460
32329 : // #OPC_EmitCopyToReg = 0
32330 : // #OPC_EmitNode = 449
32331 : // #OPC_EmitNodeXForm = 0
32332 : // #OPC_CompleteMatch = 30
32333 : // #OPC_MorphNodeTo = 1909
32334 :
32335 : #undef TARGET_VAL
32336 42603 : SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
32337 : }
32338 : #endif // GET_DAGISEL_BODY
32339 :
32340 : #ifdef GET_DAGISEL_DECL
32341 : bool CheckPatternPredicate(unsigned PredNo) const override;
32342 : #endif
32343 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
32344 1879 : bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
32345 : #if DAGISEL_INLINE
32346 : override
32347 : #endif
32348 : {
32349 1879 : switch (PredNo) {
32350 0 : default: llvm_unreachable("Invalid predicate in table?");
32351 296 : case 0: return (Subtarget->hasAtomics());
32352 1236 : case 1: return (Subtarget->hasSIMD128());
32353 4 : case 2: return (!Subtarget->hasAddr64());
32354 29 : case 3: return (Subtarget->hasExceptionHandling());
32355 258 : case 4: return (Subtarget->hasSignExt());
32356 32 : case 5: return (Subtarget->hasNontrappingFPToInt());
32357 24 : case 6: return (!Subtarget->hasNontrappingFPToInt());
32358 : }
32359 : }
32360 : #endif // GET_DAGISEL_BODY
32361 :
32362 : #ifdef GET_DAGISEL_DECL
32363 : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
32364 : #endif
32365 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
32366 16006 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
32367 : #if DAGISEL_INLINE
32368 : override
32369 : #endif
32370 : {
32371 16006 : switch (PredNo) {
32372 0 : default: llvm_unreachable("Invalid predicate in table?");
32373 22 : case 0: {
32374 : // Predicate_regPlusGA
32375 : SDNode *N = Node;
32376 :
32377 22 : return N->getFlags().hasNoUnsignedWrap();
32378 :
32379 : }
32380 117 : case 1: {
32381 : // Predicate_atomic_load_add_8
32382 : // Predicate_atomic_load_sub_8
32383 : // Predicate_atomic_load_and_8
32384 : // Predicate_atomic_load_or_8
32385 : // Predicate_atomic_load_xor_8
32386 : // Predicate_atomic_swap_8
32387 : // Predicate_atomic_load_8
32388 : // Predicate_atomic_cmp_swap_8
32389 : // Predicate_atomic_store_8
32390 : SDNode *N = Node;
32391 : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i8) return false;
32392 : return true;
32393 :
32394 : }
32395 63 : case 2: {
32396 : // Predicate_atomic_load_add_16
32397 : // Predicate_atomic_load_sub_16
32398 : // Predicate_atomic_load_and_16
32399 : // Predicate_atomic_load_or_16
32400 : // Predicate_atomic_load_xor_16
32401 : // Predicate_atomic_swap_16
32402 : // Predicate_atomic_load_16
32403 : // Predicate_atomic_cmp_swap_16
32404 : // Predicate_atomic_store_16
32405 : SDNode *N = Node;
32406 : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i16) return false;
32407 : return true;
32408 :
32409 : }
32410 2181 : case 3: {
32411 : // Predicate_regPlusImm
32412 : SDNode *N = Node;
32413 2181 : return N->getFlags().hasNoUnsignedWrap();
32414 : }
32415 23 : case 4: {
32416 : // Predicate_or_is_add
32417 : SDNode *N = Node;
32418 :
32419 23 : if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1)))
32420 46 : return CurDAG->MaskedValueIsZero(N->getOperand(0), CN->getAPIntValue());
32421 :
32422 0 : KnownBits Known0;
32423 0 : CurDAG->computeKnownBits(N->getOperand(0), Known0, 0);
32424 0 : KnownBits Known1;
32425 0 : CurDAG->computeKnownBits(N->getOperand(1), Known1, 0);
32426 0 : return (~Known0.Zero & ~Known1.Zero) == 0;
32427 :
32428 : }
32429 : case 5: {
32430 : // Predicate_LaneIdx16
32431 12 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32432 12 : return 0 <= Imm && Imm < 16;
32433 : }
32434 : case 6: {
32435 : // Predicate_LaneIdx8
32436 10 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32437 10 : return 0 <= Imm && Imm < 8;
32438 : }
32439 157 : case 7: {
32440 : // Predicate_atomic_cmp_swap_32
32441 : // Predicate_atomic_load_add_32
32442 : // Predicate_atomic_load_sub_32
32443 : // Predicate_atomic_load_and_32
32444 : // Predicate_atomic_load_or_32
32445 : // Predicate_atomic_load_xor_32
32446 : // Predicate_atomic_swap_32
32447 : // Predicate_atomic_store_32
32448 : // Predicate_atomic_load_32
32449 : SDNode *N = Node;
32450 : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i32) return false;
32451 : return true;
32452 :
32453 : }
32454 41 : case 8: {
32455 : // Predicate_atomic_store_64
32456 : // Predicate_atomic_load_64
32457 : // Predicate_atomic_load_add_64
32458 : // Predicate_atomic_load_sub_64
32459 : // Predicate_atomic_load_and_64
32460 : // Predicate_atomic_load_or_64
32461 : // Predicate_atomic_load_xor_64
32462 : // Predicate_atomic_swap_64
32463 : // Predicate_atomic_cmp_swap_64
32464 : SDNode *N = Node;
32465 : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i64) return false;
32466 : return true;
32467 :
32468 : }
32469 1110 : case 9: {
32470 : // Predicate_unindexedload
32471 : SDNode *N = Node;
32472 1110 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
32473 : return true;
32474 :
32475 : }
32476 1110 : case 10: {
32477 : // Predicate_load
32478 : SDNode *N = Node;
32479 1110 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
32480 : return true;
32481 :
32482 : }
32483 1229 : case 11: {
32484 : // Predicate_sextload
32485 : SDNode *N = Node;
32486 1229 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
32487 : return true;
32488 :
32489 : }
32490 102 : case 12: {
32491 : // Predicate_sextloadi8
32492 : // Predicate_zextloadi8
32493 : // Predicate_extloadi8
32494 : SDNode *N = Node;
32495 : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
32496 : return true;
32497 :
32498 : }
32499 1215 : case 13: {
32500 : // Predicate_zextload
32501 : SDNode *N = Node;
32502 1215 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
32503 : return true;
32504 :
32505 : }
32506 58 : case 14: {
32507 : // Predicate_sextloadi16
32508 : // Predicate_zextloadi16
32509 : // Predicate_extloadi16
32510 : SDNode *N = Node;
32511 : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
32512 : return true;
32513 :
32514 : }
32515 8 : case 15: {
32516 : // Predicate_sextloadi32
32517 : // Predicate_zextloadi32
32518 : // Predicate_extloadi32
32519 : SDNode *N = Node;
32520 : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
32521 : return true;
32522 :
32523 : }
32524 223 : case 16: {
32525 : // Predicate_extload
32526 : SDNode *N = Node;
32527 223 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
32528 : return true;
32529 :
32530 : }
32531 2607 : case 17: {
32532 : // Predicate_unindexedstore
32533 : SDNode *N = Node;
32534 2607 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
32535 : return true;
32536 :
32537 : }
32538 2607 : case 18: {
32539 : // Predicate_store
32540 : SDNode *N = Node;
32541 2607 : if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
32542 : return true;
32543 :
32544 : }
32545 1196 : case 19: {
32546 : // Predicate_truncstore
32547 : SDNode *N = Node;
32548 1196 : if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
32549 : return true;
32550 :
32551 : }
32552 1196 : case 20: {
32553 : // Predicate_truncstorei8
32554 : SDNode *N = Node;
32555 : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
32556 : return true;
32557 :
32558 : }
32559 378 : case 21: {
32560 : // Predicate_truncstorei16
32561 : SDNode *N = Node;
32562 : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
32563 : return true;
32564 :
32565 : }
32566 6 : case 22: {
32567 : // Predicate_truncstorei32
32568 : SDNode *N = Node;
32569 : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i32) return false;
32570 : return true;
32571 :
32572 : }
32573 : case 23: {
32574 : // Predicate_LaneIdx4
32575 8 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32576 8 : return 0 <= Imm && Imm < 4;
32577 : }
32578 : case 24: {
32579 : // Predicate_LaneIdx2
32580 20 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32581 20 : return 0 <= Imm && Imm < 2;
32582 : }
32583 22 : case 25: {
32584 : // Predicate_immAllZerosV
32585 : SDNode *N = Node;
32586 :
32587 22 : return ISD::isBuildVectorAllZeros(N);
32588 :
32589 : }
32590 71 : case 26: {
32591 : // Predicate_immAllOnesV
32592 : SDNode *N = Node;
32593 :
32594 71 : return ISD::isBuildVectorAllOnes(N);
32595 :
32596 : }
32597 : case 27: {
32598 : // Predicate_ImmI8
32599 36 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32600 36 : return ((uint64_t)Imm & ((1UL << 8) - 1)) == (uint64_t)Imm;
32601 : }
32602 : case 28: {
32603 : // Predicate_ImmI16
32604 18 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32605 18 : return ((uint64_t)Imm & ((1UL << 16) - 1)) == (uint64_t)Imm;
32606 : }
32607 : case 29: {
32608 : // Predicate_LaneIdx32
32609 160 : int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
32610 160 : return 0 <= Imm && Imm < 32;
32611 : }
32612 : }
32613 : }
32614 : #endif // GET_DAGISEL_BODY
32615 :
32616 :
32617 : #ifdef DAGISEL_INLINE
32618 : #undef DAGISEL_INLINE
32619 : #endif
32620 : #ifdef DAGISEL_CLASS_COLONCOLON
32621 : #undef DAGISEL_CLASS_COLONCOLON
32622 : #endif
32623 : #ifdef GET_DAGISEL_DECL
32624 : #undef GET_DAGISEL_DECL
32625 : #endif
32626 : #ifdef GET_DAGISEL_BODY
32627 : #undef GET_DAGISEL_BODY
32628 : #endif
|