Lines Matching refs:Pat

46 def : Pat<(i32 (load I32:$addr)), (LOAD_I32 0, $addr)>;
47 def : Pat<(i64 (load I32:$addr)), (LOAD_I64 0, $addr)>;
48 def : Pat<(f32 (load I32:$addr)), (LOAD_F32 0, $addr)>;
49 def : Pat<(f64 (load I32:$addr)), (LOAD_F64 0, $addr)>;
52 def : Pat<(i32 (load (regPlusImm imm:$off, I32:$addr))),
54 def : Pat<(i64 (load (regPlusImm imm:$off, I32:$addr))),
56 def : Pat<(f32 (load (regPlusImm imm:$off, I32:$addr))),
58 def : Pat<(f64 (load (regPlusImm imm:$off, I32:$addr))),
60 def : Pat<(i32 (load (regPlusImm tglobaladdr:$off, I32:$addr))),
62 def : Pat<(i64 (load (regPlusImm tglobaladdr:$off, I32:$addr))),
64 def : Pat<(f32 (load (regPlusImm tglobaladdr:$off, I32:$addr))),
66 def : Pat<(f64 (load (regPlusImm tglobaladdr:$off, I32:$addr))),
68 def : Pat<(i32 (load (regPlusImm texternalsym:$off, I32:$addr))),
70 def : Pat<(i64 (load (regPlusImm texternalsym:$off, I32:$addr))),
72 def : Pat<(f32 (load (regPlusImm texternalsym:$off, I32:$addr))),
74 def : Pat<(f64 (load (regPlusImm texternalsym:$off, I32:$addr))),
78 def : Pat<(i32 (load imm:$off)), (LOAD_I32 imm:$off, (CONST_I32 0))>;
79 def : Pat<(i64 (load imm:$off)), (LOAD_I64 imm:$off, (CONST_I32 0))>;
80 def : Pat<(f32 (load imm:$off)), (LOAD_F32 imm:$off, (CONST_I32 0))>;
81 def : Pat<(f64 (load imm:$off)), (LOAD_F64 imm:$off, (CONST_I32 0))>;
82 def : Pat<(i32 (load (WebAssemblywrapper tglobaladdr:$off))),
84 def : Pat<(i64 (load (WebAssemblywrapper tglobaladdr:$off))),
86 def : Pat<(f32 (load (WebAssemblywrapper tglobaladdr:$off))),
88 def : Pat<(f64 (load (WebAssemblywrapper tglobaladdr:$off))),
90 def : Pat<(i32 (load (WebAssemblywrapper texternalsym:$off))),
92 def : Pat<(i64 (load (WebAssemblywrapper texternalsym:$off))),
94 def : Pat<(f32 (load (WebAssemblywrapper texternalsym:$off))),
96 def : Pat<(f64 (load (WebAssemblywrapper texternalsym:$off))),
126 def : Pat<(i32 (sextloadi8 I32:$addr)), (LOAD8_S_I32 0, $addr)>;
127 def : Pat<(i32 (zextloadi8 I32:$addr)), (LOAD8_U_I32 0, $addr)>;
128 def : Pat<(i32 (sextloadi16 I32:$addr)), (LOAD16_S_I32 0, $addr)>;
129 def : Pat<(i32 (zextloadi16 I32:$addr)), (LOAD16_U_I32 0, $addr)>;
130 def : Pat<(i64 (sextloadi8 I32:$addr)), (LOAD8_S_I64 0, $addr)>;
131 def : Pat<(i64 (zextloadi8 I32:$addr)), (LOAD8_U_I64 0, $addr)>;
132 def : Pat<(i64 (sextloadi16 I32:$addr)), (LOAD16_S_I64 0, $addr)>;
133 def : Pat<(i64 (zextloadi16 I32:$addr)), (LOAD16_U_I64 0, $addr)>;
134 def : Pat<(i64 (sextloadi32 I32:$addr)), (LOAD32_S_I64 0, $addr)>;
135 def : Pat<(i64 (zextloadi32 I32:$addr)), (LOAD32_U_I64 0, $addr)>;
138 def : Pat<(i32 (sextloadi8 (regPlusImm imm:$off, I32:$addr))),
140 def : Pat<(i32 (zextloadi8 (regPlusImm imm:$off, I32:$addr))),
142 def : Pat<(i32 (sextloadi16 (regPlusImm imm:$off, I32:$addr))),
144 def : Pat<(i32 (zextloadi16 (regPlusImm imm:$off, I32:$addr))),
146 def : Pat<(i64 (sextloadi8 (regPlusImm imm:$off, I32:$addr))),
148 def : Pat<(i64 (zextloadi8 (regPlusImm imm:$off, I32:$addr))),
150 def : Pat<(i64 (sextloadi16 (regPlusImm imm:$off, I32:$addr))),
152 def : Pat<(i64 (zextloadi16 (regPlusImm imm:$off, I32:$addr))),
154 def : Pat<(i64 (sextloadi32 (regPlusImm imm:$off, I32:$addr))),
156 def : Pat<(i64 (zextloadi32 (regPlusImm imm:$off, I32:$addr))),
158 def : Pat<(i32 (sextloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
160 def : Pat<(i32 (zextloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
162 def : Pat<(i32 (sextloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
164 def : Pat<(i32 (zextloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
166 def : Pat<(i64 (sextloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
168 def : Pat<(i64 (zextloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
170 def : Pat<(i64 (sextloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
172 def : Pat<(i64 (zextloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
174 def : Pat<(i64 (sextloadi32 (regPlusImm tglobaladdr:$off, I32:$addr))),
176 def : Pat<(i64 (zextloadi32 (regPlusImm tglobaladdr:$off, I32:$addr))),
178 def : Pat<(i32 (sextloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
180 def : Pat<(i32 (zextloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
182 def : Pat<(i32 (sextloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
184 def : Pat<(i32 (zextloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
186 def : Pat<(i64 (sextloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
188 def : Pat<(i64 (zextloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
190 def : Pat<(i64 (sextloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
192 def : Pat<(i64 (zextloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
194 def : Pat<(i64 (sextloadi32 (regPlusImm texternalsym:$off, I32:$addr))),
196 def : Pat<(i64 (zextloadi32 (regPlusImm texternalsym:$off, I32:$addr))),
200 def : Pat<(i32 (sextloadi8 imm:$off)), (LOAD8_S_I32 imm:$off, (CONST_I32 0))>;
201 def : Pat<(i32 (zextloadi8 imm:$off)), (LOAD8_U_I32 imm:$off, (CONST_I32 0))>;
202 def : Pat<(i32 (sextloadi16 imm:$off)), (LOAD16_S_I32 imm:$off, (CONST_I32 0))>;
203 def : Pat<(i32 (zextloadi16 imm:$off)), (LOAD16_U_I32 imm:$off, (CONST_I32 0))>;
204 def : Pat<(i64 (sextloadi8 imm:$off)), (LOAD8_S_I64 imm:$off, (CONST_I32 0))>;
205 def : Pat<(i64 (zextloadi8 imm:$off)), (LOAD8_U_I64 imm:$off, (CONST_I32 0))>;
206 def : Pat<(i64 (sextloadi16 imm:$off)), (LOAD16_S_I64 imm:$off, (CONST_I32 0))>;
207 def : Pat<(i64 (zextloadi16 imm:$off)), (LOAD16_U_I64 imm:$off, (CONST_I32 0))>;
208 def : Pat<(i64 (sextloadi32 imm:$off)), (LOAD32_S_I64 imm:$off, (CONST_I32 0))>;
209 def : Pat<(i64 (zextloadi32 imm:$off)), (LOAD32_U_I64 imm:$off, (CONST_I32 0))>;
210 def : Pat<(i32 (sextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
212 def : Pat<(i32 (zextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
214 def : Pat<(i32 (sextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
216 def : Pat<(i32 (zextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
218 def : Pat<(i64 (sextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
220 def : Pat<(i64 (zextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
222 def : Pat<(i64 (sextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
224 def : Pat<(i64 (zextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
226 def : Pat<(i64 (sextloadi32 (WebAssemblywrapper tglobaladdr:$off))),
228 def : Pat<(i64 (zextloadi32 (WebAssemblywrapper tglobaladdr:$off))),
230 def : Pat<(i32 (sextloadi8 (WebAssemblywrapper texternalsym:$off))),
232 def : Pat<(i32 (zextloadi8 (WebAssemblywrapper texternalsym:$off))),
234 def : Pat<(i32 (sextloadi16 (WebAssemblywrapper texternalsym:$off))),
236 def : Pat<(i32 (zextloadi16 (WebAssemblywrapper texternalsym:$off))),
238 def : Pat<(i64 (sextloadi8 (WebAssemblywrapper texternalsym:$off))),
240 def : Pat<(i64 (zextloadi8 (WebAssemblywrapper texternalsym:$off))),
242 def : Pat<(i64 (sextloadi16 (WebAssemblywrapper texternalsym:$off))),
244 def : Pat<(i64 (zextloadi16 (WebAssemblywrapper texternalsym:$off))),
246 def : Pat<(i64 (sextloadi32 (WebAssemblywrapper texternalsym:$off))),
248 def : Pat<(i64 (zextloadi32 (WebAssemblywrapper texternalsym:$off))),
255 def : Pat<(i32 (extloadi8 I32:$addr)), (LOAD8_U_I32 0, $addr)>;
256 def : Pat<(i32 (extloadi16 I32:$addr)), (LOAD16_U_I32 0, $addr)>;
257 def : Pat<(i64 (extloadi8 I32:$addr)), (LOAD8_U_I64 0, $addr)>;
258 def : Pat<(i64 (extloadi16 I32:$addr)), (LOAD16_U_I64 0, $addr)>;
259 def : Pat<(i64 (extloadi32 I32:$addr)), (LOAD32_U_I64 0, $addr)>;
262 def : Pat<(i32 (extloadi8 (regPlusImm imm:$off, I32:$addr))),
264 def : Pat<(i32 (extloadi16 (regPlusImm imm:$off, I32:$addr))),
266 def : Pat<(i64 (extloadi8 (regPlusImm imm:$off, I32:$addr))),
268 def : Pat<(i64 (extloadi16 (regPlusImm imm:$off, I32:$addr))),
270 def : Pat<(i64 (extloadi32 (regPlusImm imm:$off, I32:$addr))),
272 def : Pat<(i32 (extloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
274 def : Pat<(i32 (extloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
276 def : Pat<(i64 (extloadi8 (regPlusImm tglobaladdr:$off, I32:$addr))),
278 def : Pat<(i64 (extloadi16 (regPlusImm tglobaladdr:$off, I32:$addr))),
280 def : Pat<(i64 (extloadi32 (regPlusImm tglobaladdr:$off, I32:$addr))),
282 def : Pat<(i32 (extloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
284 def : Pat<(i32 (extloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
286 def : Pat<(i64 (extloadi8 (regPlusImm texternalsym:$off, I32:$addr))),
288 def : Pat<(i64 (extloadi16 (regPlusImm texternalsym:$off, I32:$addr))),
290 def : Pat<(i64 (extloadi32 (regPlusImm texternalsym:$off, I32:$addr))),
294 def : Pat<(i32 (extloadi8 imm:$off)), (LOAD8_U_I32 imm:$off, (CONST_I32 0))>;
295 def : Pat<(i32 (extloadi16 imm:$off)), (LOAD16_U_I32 imm:$off, (CONST_I32 0))>;
296 def : Pat<(i64 (extloadi8 imm:$off)), (LOAD8_U_I64 imm:$off, (CONST_I32 0))>;
297 def : Pat<(i64 (extloadi16 imm:$off)), (LOAD16_U_I64 imm:$off, (CONST_I32 0))>;
298 def : Pat<(i64 (extloadi32 imm:$off)), (LOAD32_U_I64 imm:$off, (CONST_I32 0))>;
299 def : Pat<(i32 (extloadi8 (WebAssemblywrapper tglobaladdr:$off))),
301 def : Pat<(i32 (extloadi16 (WebAssemblywrapper tglobaladdr:$off))),
303 def : Pat<(i64 (extloadi8 (WebAssemblywrapper tglobaladdr:$off))),
305 def : Pat<(i64 (extloadi16 (WebAssemblywrapper tglobaladdr:$off))),
307 def : Pat<(i64 (extloadi32 (WebAssemblywrapper tglobaladdr:$off))),
309 def : Pat<(i32 (extloadi8 (WebAssemblywrapper texternalsym:$off))),
311 def : Pat<(i32 (extloadi16 (WebAssemblywrapper texternalsym:$off))),
313 def : Pat<(i64 (extloadi8 (WebAssemblywrapper texternalsym:$off))),
315 def : Pat<(i64 (extloadi16 (WebAssemblywrapper texternalsym:$off))),
317 def : Pat<(i64 (extloadi32 (WebAssemblywrapper texternalsym:$off))),
340 def : Pat<(store I32:$val, I32:$addr), (STORE_I32 0, I32:$addr, I32:$val)>;
341 def : Pat<(store I64:$val, I32:$addr), (STORE_I64 0, I32:$addr, I64:$val)>;
342 def : Pat<(store F32:$val, I32:$addr), (STORE_F32 0, I32:$addr, F32:$val)>;
343 def : Pat<(store F64:$val, I32:$addr), (STORE_F64 0, I32:$addr, F64:$val)>;
346 def : Pat<(store I32:$val, (regPlusImm imm:$off, I32:$addr)),
348 def : Pat<(store I64:$val, (regPlusImm imm:$off, I32:$addr)),
350 def : Pat<(store F32:$val, (regPlusImm imm:$off, I32:$addr)),
352 def : Pat<(store F64:$val, (regPlusImm imm:$off, I32:$addr)),
354 def : Pat<(store I32:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
356 def : Pat<(store I64:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
358 def : Pat<(store F32:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
360 def : Pat<(store F64:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
362 def : Pat<(store I32:$val, (regPlusImm texternalsym:$off, I32:$addr)),
364 def : Pat<(store I64:$val, (regPlusImm texternalsym:$off, I32:$addr)),
366 def : Pat<(store F32:$val, (regPlusImm texternalsym:$off, I32:$addr)),
368 def : Pat<(store F64:$val, (regPlusImm texternalsym:$off, I32:$addr)),
372 def : Pat<(store I32:$val, imm:$off),
374 def : Pat<(store I64:$val, imm:$off),
376 def : Pat<(store F32:$val, imm:$off),
378 def : Pat<(store F64:$val, imm:$off),
380 def : Pat<(store I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
382 def : Pat<(store I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
384 def : Pat<(store F32:$val, (WebAssemblywrapper tglobaladdr:$off)),
386 def : Pat<(store F64:$val, (WebAssemblywrapper tglobaladdr:$off)),
388 def : Pat<(store I32:$val, (WebAssemblywrapper texternalsym:$off)),
390 def : Pat<(store I64:$val, (WebAssemblywrapper texternalsym:$off)),
392 def : Pat<(store F32:$val, (WebAssemblywrapper texternalsym:$off)),
394 def : Pat<(store F64:$val, (WebAssemblywrapper texternalsym:$off)),
414 def : Pat<(truncstorei8 I32:$val, I32:$addr),
416 def : Pat<(truncstorei16 I32:$val, I32:$addr),
418 def : Pat<(truncstorei8 I64:$val, I32:$addr),
420 def : Pat<(truncstorei16 I64:$val, I32:$addr),
422 def : Pat<(truncstorei32 I64:$val, I32:$addr),
426 def : Pat<(truncstorei8 I32:$val, (regPlusImm imm:$off, I32:$addr)),
428 def : Pat<(truncstorei16 I32:$val, (regPlusImm imm:$off, I32:$addr)),
430 def : Pat<(truncstorei8 I64:$val, (regPlusImm imm:$off, I32:$addr)),
432 def : Pat<(truncstorei16 I64:$val, (regPlusImm imm:$off, I32:$addr)),
434 def : Pat<(truncstorei32 I64:$val, (regPlusImm imm:$off, I32:$addr)),
436 def : Pat<(truncstorei8 I32:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
438 def : Pat<(truncstorei16 I32:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
440 def : Pat<(truncstorei8 I64:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
442 def : Pat<(truncstorei16 I64:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
444 def : Pat<(truncstorei32 I64:$val, (regPlusImm tglobaladdr:$off, I32:$addr)),
446 def : Pat<(truncstorei8 I32:$val, (regPlusImm texternalsym:$off, I32:$addr)),
448 def : Pat<(truncstorei16 I32:$val, (regPlusImm texternalsym:$off, I32:$addr)),
450 def : Pat<(truncstorei8 I64:$val, (regPlusImm texternalsym:$off, I32:$addr)),
452 def : Pat<(truncstorei16 I64:$val, (regPlusImm texternalsym:$off, I32:$addr)),
454 def : Pat<(truncstorei32 I64:$val, (regPlusImm texternalsym:$off, I32:$addr)),
458 def : Pat<(truncstorei8 I32:$val, imm:$off),
460 def : Pat<(truncstorei16 I32:$val, imm:$off),
462 def : Pat<(truncstorei8 I64:$val, imm:$off),
464 def : Pat<(truncstorei16 I64:$val, imm:$off),
466 def : Pat<(truncstorei32 I64:$val, imm:$off),
468 def : Pat<(truncstorei8 I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
470 def : Pat<(truncstorei16 I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
472 def : Pat<(truncstorei8 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
474 def : Pat<(truncstorei16 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
476 def : Pat<(truncstorei32 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
478 def : Pat<(truncstorei8 I32:$val, (WebAssemblywrapper texternalsym:$off)),
480 def : Pat<(truncstorei16 I32:$val, (WebAssemblywrapper texternalsym:$off)),
482 def : Pat<(truncstorei8 I64:$val, (WebAssemblywrapper texternalsym:$off)),
484 def : Pat<(truncstorei16 I64:$val, (WebAssemblywrapper texternalsym:$off)),
486 def : Pat<(truncstorei32 I64:$val, (WebAssemblywrapper texternalsym:$off)),