Lines Matching refs:Pat
77 def : Pat<(i32 (load I32:$addr)), (LOAD_I32 0, $addr, 0)>;
78 def : Pat<(i64 (load I32:$addr)), (LOAD_I64 0, $addr, 0)>;
79 def : Pat<(f32 (load I32:$addr)), (LOAD_F32 0, $addr, 0)>;
80 def : Pat<(f64 (load I32:$addr)), (LOAD_F64 0, $addr, 0)>;
83 def : Pat<(i32 (load (regPlusImm I32:$addr, imm:$off))),
85 def : Pat<(i64 (load (regPlusImm I32:$addr, imm:$off))),
87 def : Pat<(f32 (load (regPlusImm I32:$addr, imm:$off))),
89 def : Pat<(f64 (load (regPlusImm I32:$addr, imm:$off))),
91 def : Pat<(i32 (load (or_is_add I32:$addr, imm:$off))),
93 def : Pat<(i64 (load (or_is_add I32:$addr, imm:$off))),
95 def : Pat<(f32 (load (or_is_add I32:$addr, imm:$off))),
97 def : Pat<(f64 (load (or_is_add I32:$addr, imm:$off))),
99 def : Pat<(i32 (load (regPlusGA I32:$addr,
102 def : Pat<(i64 (load (regPlusGA I32:$addr,
105 def : Pat<(f32 (load (regPlusGA I32:$addr,
108 def : Pat<(f64 (load (regPlusGA I32:$addr,
111 def : Pat<(i32 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
113 def : Pat<(i64 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
115 def : Pat<(f32 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
117 def : Pat<(f64 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
121 def : Pat<(i32 (load imm:$off)), (LOAD_I32 imm:$off, (CONST_I32 0), 0)>;
122 def : Pat<(i64 (load imm:$off)), (LOAD_I64 imm:$off, (CONST_I32 0), 0)>;
123 def : Pat<(f32 (load imm:$off)), (LOAD_F32 imm:$off, (CONST_I32 0), 0)>;
124 def : Pat<(f64 (load imm:$off)), (LOAD_F64 imm:$off, (CONST_I32 0), 0)>;
125 def : Pat<(i32 (load (WebAssemblywrapper tglobaladdr:$off))),
127 def : Pat<(i64 (load (WebAssemblywrapper tglobaladdr:$off))),
129 def : Pat<(f32 (load (WebAssemblywrapper tglobaladdr:$off))),
131 def : Pat<(f64 (load (WebAssemblywrapper tglobaladdr:$off))),
133 def : Pat<(i32 (load (WebAssemblywrapper texternalsym:$off))),
135 def : Pat<(i64 (load (WebAssemblywrapper texternalsym:$off))),
137 def : Pat<(f32 (load (WebAssemblywrapper texternalsym:$off))),
139 def : Pat<(f64 (load (WebAssemblywrapper texternalsym:$off))),
179 def : Pat<(i32 (sextloadi8 I32:$addr)), (LOAD8_S_I32 0, $addr, 0)>;
180 def : Pat<(i32 (zextloadi8 I32:$addr)), (LOAD8_U_I32 0, $addr, 0)>;
181 def : Pat<(i32 (sextloadi16 I32:$addr)), (LOAD16_S_I32 0, $addr, 0)>;
182 def : Pat<(i32 (zextloadi16 I32:$addr)), (LOAD16_U_I32 0, $addr, 0)>;
183 def : Pat<(i64 (sextloadi8 I32:$addr)), (LOAD8_S_I64 0, $addr, 0)>;
184 def : Pat<(i64 (zextloadi8 I32:$addr)), (LOAD8_U_I64 0, $addr, 0)>;
185 def : Pat<(i64 (sextloadi16 I32:$addr)), (LOAD16_S_I64 0, $addr, 0)>;
186 def : Pat<(i64 (zextloadi16 I32:$addr)), (LOAD16_U_I64 0, $addr, 0)>;
187 def : Pat<(i64 (sextloadi32 I32:$addr)), (LOAD32_S_I64 0, $addr, 0)>;
188 def : Pat<(i64 (zextloadi32 I32:$addr)), (LOAD32_U_I64 0, $addr, 0)>;
191 def : Pat<(i32 (sextloadi8 (regPlusImm I32:$addr, imm:$off))),
193 def : Pat<(i32 (zextloadi8 (regPlusImm I32:$addr, imm:$off))),
195 def : Pat<(i32 (sextloadi16 (regPlusImm I32:$addr, imm:$off))),
197 def : Pat<(i32 (zextloadi16 (regPlusImm I32:$addr, imm:$off))),
199 def : Pat<(i64 (sextloadi8 (regPlusImm I32:$addr, imm:$off))),
201 def : Pat<(i64 (zextloadi8 (regPlusImm I32:$addr, imm:$off))),
203 def : Pat<(i64 (sextloadi16 (regPlusImm I32:$addr, imm:$off))),
205 def : Pat<(i64 (zextloadi16 (regPlusImm I32:$addr, imm:$off))),
207 def : Pat<(i64 (sextloadi32 (regPlusImm I32:$addr, imm:$off))),
209 def : Pat<(i64 (zextloadi32 (regPlusImm I32:$addr, imm:$off))),
211 def : Pat<(i32 (sextloadi8 (or_is_add I32:$addr, imm:$off))),
213 def : Pat<(i32 (zextloadi8 (or_is_add I32:$addr, imm:$off))),
215 def : Pat<(i32 (sextloadi16 (or_is_add I32:$addr, imm:$off))),
217 def : Pat<(i32 (zextloadi16 (or_is_add I32:$addr, imm:$off))),
219 def : Pat<(i64 (sextloadi8 (or_is_add I32:$addr, imm:$off))),
221 def : Pat<(i64 (zextloadi8 (or_is_add I32:$addr, imm:$off))),
223 def : Pat<(i64 (sextloadi16 (or_is_add I32:$addr, imm:$off))),
225 def : Pat<(i64 (zextloadi16 (or_is_add I32:$addr, imm:$off))),
227 def : Pat<(i64 (sextloadi32 (or_is_add I32:$addr, imm:$off))),
229 def : Pat<(i64 (zextloadi32 (or_is_add I32:$addr, imm:$off))),
231 def : Pat<(i32 (sextloadi8 (regPlusGA I32:$addr,
234 def : Pat<(i32 (zextloadi8 (regPlusGA I32:$addr,
237 def : Pat<(i32 (sextloadi16 (regPlusGA I32:$addr,
240 def : Pat<(i32 (zextloadi16 (regPlusGA I32:$addr,
243 def : Pat<(i64 (sextloadi8 (regPlusGA I32:$addr,
246 def : Pat<(i64 (zextloadi8 (regPlusGA I32:$addr,
249 def : Pat<(i64 (sextloadi16 (regPlusGA I32:$addr,
252 def : Pat<(i64 (zextloadi16 (regPlusGA I32:$addr,
255 def : Pat<(i64 (sextloadi32 (regPlusGA I32:$addr,
258 def : Pat<(i64 (zextloadi32 (regPlusGA I32:$addr,
261 def : Pat<(i32 (sextloadi8 (add I32:$addr,
264 def : Pat<(i32 (zextloadi8 (add I32:$addr,
267 def : Pat<(i32 (sextloadi16 (add I32:$addr,
270 def : Pat<(i32 (zextloadi16 (add I32:$addr,
273 def : Pat<(i64 (sextloadi8 (add I32:$addr,
276 def : Pat<(i64 (zextloadi8 (add I32:$addr,
279 def : Pat<(i64 (sextloadi16 (add I32:$addr,
282 def : Pat<(i64 (zextloadi16 (add I32:$addr,
285 def : Pat<(i64 (sextloadi32 (add I32:$addr,
288 def : Pat<(i64 (zextloadi32 (add I32:$addr,
293 def : Pat<(i32 (sextloadi8 imm:$off)),
295 def : Pat<(i32 (zextloadi8 imm:$off)),
297 def : Pat<(i32 (sextloadi16 imm:$off)),
299 def : Pat<(i32 (zextloadi16 imm:$off)),
301 def : Pat<(i64 (sextloadi8 imm:$off)),
303 def : Pat<(i64 (zextloadi8 imm:$off)),
305 def : Pat<(i64 (sextloadi16 imm:$off)),
307 def : Pat<(i64 (zextloadi16 imm:$off)),
309 def : Pat<(i64 (sextloadi32 imm:$off)),
311 def : Pat<(i64 (zextloadi32 imm:$off)),
313 def : Pat<(i32 (sextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
315 def : Pat<(i32 (zextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
317 def : Pat<(i32 (sextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
319 def : Pat<(i32 (zextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
321 def : Pat<(i64 (sextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
323 def : Pat<(i64 (zextloadi8 (WebAssemblywrapper tglobaladdr:$off))),
325 def : Pat<(i64 (sextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
327 def : Pat<(i64 (zextloadi16 (WebAssemblywrapper tglobaladdr:$off))),
329 def : Pat<(i64 (sextloadi32 (WebAssemblywrapper tglobaladdr:$off))),
331 def : Pat<(i64 (zextloadi32 (WebAssemblywrapper tglobaladdr:$off))),
333 def : Pat<(i32 (sextloadi8 (WebAssemblywrapper texternalsym:$off))),
335 def : Pat<(i32 (zextloadi8 (WebAssemblywrapper texternalsym:$off))),
337 def : Pat<(i32 (sextloadi16 (WebAssemblywrapper texternalsym:$off))),
339 def : Pat<(i32 (zextloadi16 (WebAssemblywrapper texternalsym:$off))),
341 def : Pat<(i64 (sextloadi8 (WebAssemblywrapper texternalsym:$off))),
343 def : Pat<(i64 (zextloadi8 (WebAssemblywrapper texternalsym:$off))),
345 def : Pat<(i64 (sextloadi16 (WebAssemblywrapper texternalsym:$off))),
347 def : Pat<(i64 (zextloadi16 (WebAssemblywrapper texternalsym:$off))),
349 def : Pat<(i64 (sextloadi32 (WebAssemblywrapper texternalsym:$off))),
351 def : Pat<(i64 (zextloadi32 (WebAssemblywrapper texternalsym:$off))),
358 def : Pat<(i32 (extloadi8 I32:$addr)), (LOAD8_U_I32 0, $addr, 0)>;
359 def : Pat<(i32 (extloadi16 I32:$addr)), (LOAD16_U_I32 0, $addr, 0)>;
360 def : Pat<(i64 (extloadi8 I32:$addr)), (LOAD8_U_I64 0, $addr, 0)>;
361 def : Pat<(i64 (extloadi16 I32:$addr)), (LOAD16_U_I64 0, $addr, 0)>;
362 def : Pat<(i64 (extloadi32 I32:$addr)), (LOAD32_U_I64 0, $addr, 0)>;
365 def : Pat<(i32 (extloadi8 (regPlusImm I32:$addr, imm:$off))),
367 def : Pat<(i32 (extloadi16 (regPlusImm I32:$addr, imm:$off))),
369 def : Pat<(i64 (extloadi8 (regPlusImm I32:$addr, imm:$off))),
371 def : Pat<(i64 (extloadi16 (regPlusImm I32:$addr, imm:$off))),
373 def : Pat<(i64 (extloadi32 (regPlusImm I32:$addr, imm:$off))),
375 def : Pat<(i32 (extloadi8 (or_is_add I32:$addr, imm:$off))),
377 def : Pat<(i32 (extloadi16 (or_is_add I32:$addr, imm:$off))),
379 def : Pat<(i64 (extloadi8 (or_is_add I32:$addr, imm:$off))),
381 def : Pat<(i64 (extloadi16 (or_is_add I32:$addr, imm:$off))),
383 def : Pat<(i64 (extloadi32 (or_is_add I32:$addr, imm:$off))),
385 def : Pat<(i32 (extloadi8 (regPlusGA I32:$addr,
388 def : Pat<(i32 (extloadi16 (regPlusGA I32:$addr,
391 def : Pat<(i64 (extloadi8 (regPlusGA I32:$addr,
394 def : Pat<(i64 (extloadi16 (regPlusGA I32:$addr,
397 def : Pat<(i64 (extloadi32 (regPlusGA I32:$addr,
400 def : Pat<(i32 (extloadi8 (add I32:$addr,
403 def : Pat<(i32 (extloadi16 (add I32:$addr,
406 def : Pat<(i64 (extloadi8 (add I32:$addr,
409 def : Pat<(i64 (extloadi16 (add I32:$addr,
412 def : Pat<(i64 (extloadi32 (add I32:$addr,
417 def : Pat<(i32 (extloadi8 imm:$off)),
419 def : Pat<(i32 (extloadi16 imm:$off)),
421 def : Pat<(i64 (extloadi8 imm:$off)),
423 def : Pat<(i64 (extloadi16 imm:$off)),
425 def : Pat<(i64 (extloadi32 imm:$off)),
427 def : Pat<(i32 (extloadi8 (WebAssemblywrapper tglobaladdr:$off))),
429 def : Pat<(i32 (extloadi16 (WebAssemblywrapper tglobaladdr:$off))),
431 def : Pat<(i64 (extloadi8 (WebAssemblywrapper tglobaladdr:$off))),
433 def : Pat<(i64 (extloadi16 (WebAssemblywrapper tglobaladdr:$off))),
435 def : Pat<(i64 (extloadi32 (WebAssemblywrapper tglobaladdr:$off))),
437 def : Pat<(i32 (extloadi8 (WebAssemblywrapper texternalsym:$off))),
439 def : Pat<(i32 (extloadi16 (WebAssemblywrapper texternalsym:$off))),
441 def : Pat<(i64 (extloadi8 (WebAssemblywrapper texternalsym:$off))),
443 def : Pat<(i64 (extloadi16 (WebAssemblywrapper texternalsym:$off))),
445 def : Pat<(i64 (extloadi32 (WebAssemblywrapper texternalsym:$off))),
472 def : Pat<(store I32:$val, I32:$addr), (STORE_I32 0, I32:$addr, 0, I32:$val)>;
473 def : Pat<(store I64:$val, I32:$addr), (STORE_I64 0, I32:$addr, 0, I64:$val)>;
474 def : Pat<(store F32:$val, I32:$addr), (STORE_F32 0, I32:$addr, 0, F32:$val)>;
475 def : Pat<(store F64:$val, I32:$addr), (STORE_F64 0, I32:$addr, 0, F64:$val)>;
478 def : Pat<(store I32:$val, (regPlusImm I32:$addr, imm:$off)),
480 def : Pat<(store I64:$val, (regPlusImm I32:$addr, imm:$off)),
482 def : Pat<(store F32:$val, (regPlusImm I32:$addr, imm:$off)),
484 def : Pat<(store F64:$val, (regPlusImm I32:$addr, imm:$off)),
486 def : Pat<(store I32:$val, (or_is_add I32:$addr, imm:$off)),
488 def : Pat<(store I64:$val, (or_is_add I32:$addr, imm:$off)),
490 def : Pat<(store F32:$val, (or_is_add I32:$addr, imm:$off)),
492 def : Pat<(store F64:$val, (or_is_add I32:$addr, imm:$off)),
494 def : Pat<(store I32:$val, (regPlusGA I32:$addr,
497 def : Pat<(store I64:$val, (regPlusGA I32:$addr,
500 def : Pat<(store F32:$val, (regPlusGA I32:$addr,
503 def : Pat<(store F64:$val, (regPlusGA I32:$addr,
506 def : Pat<(store I32:$val, (add I32:$addr,
509 def : Pat<(store I64:$val, (add I32:$addr,
512 def : Pat<(store F32:$val, (add I32:$addr,
515 def : Pat<(store F64:$val, (add I32:$addr,
520 def : Pat<(store I32:$val, imm:$off),
522 def : Pat<(store I64:$val, imm:$off),
524 def : Pat<(store F32:$val, imm:$off),
526 def : Pat<(store F64:$val, imm:$off),
528 def : Pat<(store I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
530 def : Pat<(store I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
532 def : Pat<(store F32:$val, (WebAssemblywrapper tglobaladdr:$off)),
534 def : Pat<(store F64:$val, (WebAssemblywrapper tglobaladdr:$off)),
536 def : Pat<(store I32:$val, (WebAssemblywrapper texternalsym:$off)),
538 def : Pat<(store I64:$val, (WebAssemblywrapper texternalsym:$off)),
540 def : Pat<(store F32:$val, (WebAssemblywrapper texternalsym:$off)),
542 def : Pat<(store F64:$val, (WebAssemblywrapper texternalsym:$off)),
567 def : Pat<(truncstorei8 I32:$val, I32:$addr),
569 def : Pat<(truncstorei16 I32:$val, I32:$addr),
571 def : Pat<(truncstorei8 I64:$val, I32:$addr),
573 def : Pat<(truncstorei16 I64:$val, I32:$addr),
575 def : Pat<(truncstorei32 I64:$val, I32:$addr),
579 def : Pat<(truncstorei8 I32:$val, (regPlusImm I32:$addr, imm:$off)),
581 def : Pat<(truncstorei16 I32:$val, (regPlusImm I32:$addr, imm:$off)),
583 def : Pat<(truncstorei8 I64:$val, (regPlusImm I32:$addr, imm:$off)),
585 def : Pat<(truncstorei16 I64:$val, (regPlusImm I32:$addr, imm:$off)),
587 def : Pat<(truncstorei32 I64:$val, (regPlusImm I32:$addr, imm:$off)),
589 def : Pat<(truncstorei8 I32:$val, (or_is_add I32:$addr, imm:$off)),
591 def : Pat<(truncstorei16 I32:$val, (or_is_add I32:$addr, imm:$off)),
593 def : Pat<(truncstorei8 I64:$val, (or_is_add I32:$addr, imm:$off)),
595 def : Pat<(truncstorei16 I64:$val, (or_is_add I32:$addr, imm:$off)),
597 def : Pat<(truncstorei32 I64:$val, (or_is_add I32:$addr, imm:$off)),
599 def : Pat<(truncstorei8 I32:$val,
603 def : Pat<(truncstorei16 I32:$val,
607 def : Pat<(truncstorei8 I64:$val,
611 def : Pat<(truncstorei16 I64:$val,
615 def : Pat<(truncstorei32 I64:$val,
619 def : Pat<(truncstorei8 I32:$val, (add I32:$addr,
622 def : Pat<(truncstorei16 I32:$val,
626 def : Pat<(truncstorei8 I64:$val,
630 def : Pat<(truncstorei16 I64:$val,
634 def : Pat<(truncstorei32 I64:$val,
640 def : Pat<(truncstorei8 I32:$val, imm:$off),
642 def : Pat<(truncstorei16 I32:$val, imm:$off),
644 def : Pat<(truncstorei8 I64:$val, imm:$off),
646 def : Pat<(truncstorei16 I64:$val, imm:$off),
648 def : Pat<(truncstorei32 I64:$val, imm:$off),
650 def : Pat<(truncstorei8 I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
652 def : Pat<(truncstorei16 I32:$val, (WebAssemblywrapper tglobaladdr:$off)),
654 def : Pat<(truncstorei8 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
656 def : Pat<(truncstorei16 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
658 def : Pat<(truncstorei32 I64:$val, (WebAssemblywrapper tglobaladdr:$off)),
660 def : Pat<(truncstorei8 I32:$val, (WebAssemblywrapper texternalsym:$off)),
662 def : Pat<(truncstorei16 I32:$val, (WebAssemblywrapper texternalsym:$off)),
664 def : Pat<(truncstorei8 I64:$val, (WebAssemblywrapper texternalsym:$off)),
666 def : Pat<(truncstorei16 I64:$val, (WebAssemblywrapper texternalsym:$off)),
668 def : Pat<(truncstorei32 I64:$val, (WebAssemblywrapper texternalsym:$off)),