Lines Matching refs:addr
27 def regPlusImm : PatFrag<(ops node:$addr, node:$off),
28 (add node:$addr, node:$off),
45 def regPlusGA : PatFrag<(ops node:$addr, node:$off),
46 (add node:$addr, node:$off),
61 def LOAD_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
63 "i32.load\t$dst, ${off}(${addr})${p2align}">;
64 def LOAD_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
66 "i64.load\t$dst, ${off}(${addr})${p2align}">;
67 def LOAD_F32 : I<(outs F32:$dst), (ins i32imm:$off, I32:$addr,
69 "f32.load\t$dst, ${off}(${addr})${p2align}">;
70 def LOAD_F64 : I<(outs F64:$dst), (ins i32imm:$off, I32:$addr,
72 "f64.load\t$dst, ${off}(${addr})${p2align}">;
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))),
84 (LOAD_I32 imm:$off, $addr, 0)>;
85 def : Pat<(i64 (load (regPlusImm I32:$addr, imm:$off))),
86 (LOAD_I64 imm:$off, $addr, 0)>;
87 def : Pat<(f32 (load (regPlusImm I32:$addr, imm:$off))),
88 (LOAD_F32 imm:$off, $addr, 0)>;
89 def : Pat<(f64 (load (regPlusImm I32:$addr, imm:$off))),
90 (LOAD_F64 imm:$off, $addr, 0)>;
91 def : Pat<(i32 (load (or_is_add I32:$addr, imm:$off))),
92 (LOAD_I32 imm:$off, $addr, 0)>;
93 def : Pat<(i64 (load (or_is_add I32:$addr, imm:$off))),
94 (LOAD_I64 imm:$off, $addr, 0)>;
95 def : Pat<(f32 (load (or_is_add I32:$addr, imm:$off))),
96 (LOAD_F32 imm:$off, $addr, 0)>;
97 def : Pat<(f64 (load (or_is_add I32:$addr, imm:$off))),
98 (LOAD_F64 imm:$off, $addr, 0)>;
99 def : Pat<(i32 (load (regPlusGA I32:$addr,
101 (LOAD_I32 tglobaladdr:$off, $addr, 0)>;
102 def : Pat<(i64 (load (regPlusGA I32:$addr,
104 (LOAD_I64 tglobaladdr:$off, $addr, 0)>;
105 def : Pat<(f32 (load (regPlusGA I32:$addr,
107 (LOAD_F32 tglobaladdr:$off, $addr, 0)>;
108 def : Pat<(f64 (load (regPlusGA I32:$addr,
110 (LOAD_F64 tglobaladdr:$off, $addr, 0)>;
111 def : Pat<(i32 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
112 (LOAD_I32 texternalsym:$off, $addr, 0)>;
113 def : Pat<(i64 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
114 (LOAD_I64 texternalsym:$off, $addr, 0)>;
115 def : Pat<(f32 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
116 (LOAD_F32 texternalsym:$off, $addr, 0)>;
117 def : Pat<(f64 (load (add I32:$addr, (WebAssemblywrapper texternalsym:$off)))),
118 (LOAD_F64 texternalsym:$off, $addr, 0)>;
145 def LOAD8_S_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
147 "i32.load8_s\t$dst, ${off}(${addr})${p2align}">;
148 def LOAD8_U_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
150 "i32.load8_u\t$dst, ${off}(${addr})${p2align}">;
151 def LOAD16_S_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
153 "i32.load16_s\t$dst, ${off}(${addr})${p2align}">;
154 def LOAD16_U_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
156 "i32.load16_u\t$dst, ${off}(${addr})${p2align}">;
157 def LOAD8_S_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
159 "i64.load8_s\t$dst, ${off}(${addr})${p2align}">;
160 def LOAD8_U_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
162 "i64.load8_u\t$dst, ${off}(${addr})${p2align}">;
163 def LOAD16_S_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
165 "i64.load16_s\t$dst, ${off}(${addr})${p2align}">;
166 def LOAD16_U_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
168 "i64.load16_u\t$dst, ${off}(${addr})${p2align}">;
169 def LOAD32_S_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
171 "i64.load32_s\t$dst, ${off}(${addr})${p2align}">;
172 def LOAD32_U_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
174 "i64.load32_u\t$dst, ${off}(${addr})${p2align}">;
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))),
192 (LOAD8_S_I32 imm:$off, $addr, 0)>;
193 def : Pat<(i32 (zextloadi8 (regPlusImm I32:$addr, imm:$off))),
194 (LOAD8_U_I32 imm:$off, $addr, 0)>;
195 def : Pat<(i32 (sextloadi16 (regPlusImm I32:$addr, imm:$off))),
196 (LOAD16_S_I32 imm:$off, $addr, 0)>;
197 def : Pat<(i32 (zextloadi16 (regPlusImm I32:$addr, imm:$off))),
198 (LOAD16_U_I32 imm:$off, $addr, 0)>;
199 def : Pat<(i64 (sextloadi8 (regPlusImm I32:$addr, imm:$off))),
200 (LOAD8_S_I64 imm:$off, $addr, 0)>;
201 def : Pat<(i64 (zextloadi8 (regPlusImm I32:$addr, imm:$off))),
202 (LOAD8_U_I64 imm:$off, $addr, 0)>;
203 def : Pat<(i64 (sextloadi16 (regPlusImm I32:$addr, imm:$off))),
204 (LOAD16_S_I64 imm:$off, $addr, 0)>;
205 def : Pat<(i64 (zextloadi16 (regPlusImm I32:$addr, imm:$off))),
206 (LOAD16_U_I64 imm:$off, $addr, 0)>;
207 def : Pat<(i64 (sextloadi32 (regPlusImm I32:$addr, imm:$off))),
208 (LOAD32_S_I64 imm:$off, $addr, 0)>;
209 def : Pat<(i64 (zextloadi32 (regPlusImm I32:$addr, imm:$off))),
210 (LOAD32_U_I64 imm:$off, $addr, 0)>;
211 def : Pat<(i32 (sextloadi8 (or_is_add I32:$addr, imm:$off))),
212 (LOAD8_S_I32 imm:$off, $addr, 0)>;
213 def : Pat<(i32 (zextloadi8 (or_is_add I32:$addr, imm:$off))),
214 (LOAD8_U_I32 imm:$off, $addr, 0)>;
215 def : Pat<(i32 (sextloadi16 (or_is_add I32:$addr, imm:$off))),
216 (LOAD16_S_I32 imm:$off, $addr, 0)>;
217 def : Pat<(i32 (zextloadi16 (or_is_add I32:$addr, imm:$off))),
218 (LOAD16_U_I32 imm:$off, $addr, 0)>;
219 def : Pat<(i64 (sextloadi8 (or_is_add I32:$addr, imm:$off))),
220 (LOAD8_S_I64 imm:$off, $addr, 0)>;
221 def : Pat<(i64 (zextloadi8 (or_is_add I32:$addr, imm:$off))),
222 (LOAD8_U_I64 imm:$off, $addr, 0)>;
223 def : Pat<(i64 (sextloadi16 (or_is_add I32:$addr, imm:$off))),
224 (LOAD16_S_I64 imm:$off, $addr, 0)>;
225 def : Pat<(i64 (zextloadi16 (or_is_add I32:$addr, imm:$off))),
226 (LOAD16_U_I64 imm:$off, $addr, 0)>;
227 def : Pat<(i64 (sextloadi32 (or_is_add I32:$addr, imm:$off))),
228 (LOAD32_S_I64 imm:$off, $addr, 0)>;
229 def : Pat<(i64 (zextloadi32 (or_is_add I32:$addr, imm:$off))),
230 (LOAD32_U_I64 imm:$off, $addr, 0)>;
231 def : Pat<(i32 (sextloadi8 (regPlusGA I32:$addr,
233 (LOAD8_S_I32 tglobaladdr:$off, $addr, 0)>;
234 def : Pat<(i32 (zextloadi8 (regPlusGA I32:$addr,
236 (LOAD8_U_I32 tglobaladdr:$off, $addr, 0)>;
237 def : Pat<(i32 (sextloadi16 (regPlusGA I32:$addr,
239 (LOAD16_S_I32 tglobaladdr:$off, $addr, 0)>;
240 def : Pat<(i32 (zextloadi16 (regPlusGA I32:$addr,
242 (LOAD16_U_I32 tglobaladdr:$off, $addr, 0)>;
243 def : Pat<(i64 (sextloadi8 (regPlusGA I32:$addr,
245 (LOAD8_S_I64 tglobaladdr:$off, $addr, 0)>;
246 def : Pat<(i64 (zextloadi8 (regPlusGA I32:$addr,
248 (LOAD8_U_I64 tglobaladdr:$off, $addr, 0)>;
249 def : Pat<(i64 (sextloadi16 (regPlusGA I32:$addr,
251 (LOAD16_S_I64 tglobaladdr:$off, $addr, 0)>;
252 def : Pat<(i64 (zextloadi16 (regPlusGA I32:$addr,
254 (LOAD16_U_I64 tglobaladdr:$off, $addr, 0)>;
255 def : Pat<(i64 (sextloadi32 (regPlusGA I32:$addr,
257 (LOAD32_S_I64 tglobaladdr:$off, $addr, 0)>;
258 def : Pat<(i64 (zextloadi32 (regPlusGA I32:$addr,
260 (LOAD32_U_I64 tglobaladdr:$off, $addr, 0)>;
261 def : Pat<(i32 (sextloadi8 (add I32:$addr,
263 (LOAD8_S_I32 texternalsym:$off, $addr, 0)>;
264 def : Pat<(i32 (zextloadi8 (add I32:$addr,
266 (LOAD8_U_I32 texternalsym:$off, $addr, 0)>;
267 def : Pat<(i32 (sextloadi16 (add I32:$addr,
269 (LOAD16_S_I32 texternalsym:$off, $addr, 0)>;
270 def : Pat<(i32 (zextloadi16 (add I32:$addr,
272 (LOAD16_U_I32 texternalsym:$off, $addr, 0)>;
273 def : Pat<(i64 (sextloadi8 (add I32:$addr,
275 (LOAD8_S_I64 texternalsym:$off, $addr, 0)>;
276 def : Pat<(i64 (zextloadi8 (add I32:$addr,
278 (LOAD8_U_I64 texternalsym:$off, $addr, 0)>;
279 def : Pat<(i64 (sextloadi16 (add I32:$addr,
281 (LOAD16_S_I64 texternalsym:$off, $addr, 0)>;
282 def : Pat<(i64 (zextloadi16 (add I32:$addr,
284 (LOAD16_U_I64 texternalsym:$off, $addr, 0)>;
285 def : Pat<(i64 (sextloadi32 (add I32:$addr,
287 (LOAD32_S_I64 texternalsym:$off, $addr, 0)>;
288 def : Pat<(i64 (zextloadi32 (add I32:$addr,
290 (LOAD32_U_I64 texternalsym:$off, $addr, 0)>;
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))),
366 (LOAD8_U_I32 imm:$off, $addr, 0)>;
367 def : Pat<(i32 (extloadi16 (regPlusImm I32:$addr, imm:$off))),
368 (LOAD16_U_I32 imm:$off, $addr, 0)>;
369 def : Pat<(i64 (extloadi8 (regPlusImm I32:$addr, imm:$off))),
370 (LOAD8_U_I64 imm:$off, $addr, 0)>;
371 def : Pat<(i64 (extloadi16 (regPlusImm I32:$addr, imm:$off))),
372 (LOAD16_U_I64 imm:$off, $addr, 0)>;
373 def : Pat<(i64 (extloadi32 (regPlusImm I32:$addr, imm:$off))),
374 (LOAD32_U_I64 imm:$off, $addr, 0)>;
375 def : Pat<(i32 (extloadi8 (or_is_add I32:$addr, imm:$off))),
376 (LOAD8_U_I32 imm:$off, $addr, 0)>;
377 def : Pat<(i32 (extloadi16 (or_is_add I32:$addr, imm:$off))),
378 (LOAD16_U_I32 imm:$off, $addr, 0)>;
379 def : Pat<(i64 (extloadi8 (or_is_add I32:$addr, imm:$off))),
380 (LOAD8_U_I64 imm:$off, $addr, 0)>;
381 def : Pat<(i64 (extloadi16 (or_is_add I32:$addr, imm:$off))),
382 (LOAD16_U_I64 imm:$off, $addr, 0)>;
383 def : Pat<(i64 (extloadi32 (or_is_add I32:$addr, imm:$off))),
384 (LOAD32_U_I64 imm:$off, $addr, 0)>;
385 def : Pat<(i32 (extloadi8 (regPlusGA I32:$addr,
387 (LOAD8_U_I32 tglobaladdr:$off, $addr, 0)>;
388 def : Pat<(i32 (extloadi16 (regPlusGA I32:$addr,
390 (LOAD16_U_I32 tglobaladdr:$off, $addr, 0)>;
391 def : Pat<(i64 (extloadi8 (regPlusGA I32:$addr,
393 (LOAD8_U_I64 tglobaladdr:$off, $addr, 0)>;
394 def : Pat<(i64 (extloadi16 (regPlusGA I32:$addr,
396 (LOAD16_U_I64 tglobaladdr:$off, $addr, 0)>;
397 def : Pat<(i64 (extloadi32 (regPlusGA I32:$addr,
399 (LOAD32_U_I64 tglobaladdr:$off, $addr, 0)>;
400 def : Pat<(i32 (extloadi8 (add I32:$addr,
402 (LOAD8_U_I32 texternalsym:$off, $addr, 0)>;
403 def : Pat<(i32 (extloadi16 (add I32:$addr,
405 (LOAD16_U_I32 texternalsym:$off, $addr, 0)>;
406 def : Pat<(i64 (extloadi8 (add I32:$addr,
408 (LOAD8_U_I64 texternalsym:$off, $addr, 0)>;
409 def : Pat<(i64 (extloadi16 (add I32:$addr,
411 (LOAD16_U_I64 texternalsym:$off, $addr, 0)>;
412 def : Pat<(i64 (extloadi32 (add I32:$addr,
414 (LOAD32_U_I64 texternalsym:$off, $addr, 0)>;
456 def STORE_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
458 "i32.store\t$dst, ${off}(${addr})${p2align}, $val">;
459 def STORE_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
461 "i64.store\t$dst, ${off}(${addr})${p2align}, $val">;
462 def STORE_F32 : I<(outs F32:$dst), (ins i32imm:$off, I32:$addr,
464 "f32.store\t$dst, ${off}(${addr})${p2align}, $val">;
465 def STORE_F64 : I<(outs F64:$dst), (ins i32imm:$off, I32:$addr,
467 "f64.store\t$dst, ${off}(${addr})${p2align}, $val">;
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)),
479 (STORE_I32 imm:$off, I32:$addr, 0, I32:$val)>;
480 def : Pat<(store I64:$val, (regPlusImm I32:$addr, imm:$off)),
481 (STORE_I64 imm:$off, I32:$addr, 0, I64:$val)>;
482 def : Pat<(store F32:$val, (regPlusImm I32:$addr, imm:$off)),
483 (STORE_F32 imm:$off, I32:$addr, 0, F32:$val)>;
484 def : Pat<(store F64:$val, (regPlusImm I32:$addr, imm:$off)),
485 (STORE_F64 imm:$off, I32:$addr, 0, F64:$val)>;
486 def : Pat<(store I32:$val, (or_is_add I32:$addr, imm:$off)),
487 (STORE_I32 imm:$off, I32:$addr, 0, I32:$val)>;
488 def : Pat<(store I64:$val, (or_is_add I32:$addr, imm:$off)),
489 (STORE_I64 imm:$off, I32:$addr, 0, I64:$val)>;
490 def : Pat<(store F32:$val, (or_is_add I32:$addr, imm:$off)),
491 (STORE_F32 imm:$off, I32:$addr, 0, F32:$val)>;
492 def : Pat<(store F64:$val, (or_is_add I32:$addr, imm:$off)),
493 (STORE_F64 imm:$off, I32:$addr, 0, F64:$val)>;
494 def : Pat<(store I32:$val, (regPlusGA I32:$addr,
496 (STORE_I32 tglobaladdr:$off, I32:$addr, 0, I32:$val)>;
497 def : Pat<(store I64:$val, (regPlusGA I32:$addr,
499 (STORE_I64 tglobaladdr:$off, I32:$addr, 0, I64:$val)>;
500 def : Pat<(store F32:$val, (regPlusGA I32:$addr,
502 (STORE_F32 tglobaladdr:$off, I32:$addr, 0, F32:$val)>;
503 def : Pat<(store F64:$val, (regPlusGA I32:$addr,
505 (STORE_F64 tglobaladdr:$off, I32:$addr, 0, F64:$val)>;
506 def : Pat<(store I32:$val, (add I32:$addr,
508 (STORE_I32 texternalsym:$off, I32:$addr, 0, I32:$val)>;
509 def : Pat<(store I64:$val, (add I32:$addr,
511 (STORE_I64 texternalsym:$off, I32:$addr, 0, I64:$val)>;
512 def : Pat<(store F32:$val, (add I32:$addr,
514 (STORE_F32 texternalsym:$off, I32:$addr, 0, F32:$val)>;
515 def : Pat<(store F64:$val, (add I32:$addr,
517 (STORE_F64 texternalsym:$off, I32:$addr, 0, F64:$val)>;
548 def STORE8_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
550 "i32.store8\t$dst, ${off}(${addr})${p2align}, $val">;
551 def STORE16_I32 : I<(outs I32:$dst), (ins i32imm:$off, I32:$addr,
553 "i32.store16\t$dst, ${off}(${addr})${p2align}, $val">;
554 def STORE8_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
556 "i64.store8\t$dst, ${off}(${addr})${p2align}, $val">;
557 def STORE16_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
559 "i64.store16\t$dst, ${off}(${addr})${p2align}, $val">;
560 def STORE32_I64 : I<(outs I64:$dst), (ins i32imm:$off, I32:$addr,
562 "i64.store32\t$dst, ${off}(${addr})${p2align}, $val">;
567 def : Pat<(truncstorei8 I32:$val, I32:$addr),
568 (STORE8_I32 0, I32:$addr, 0, I32:$val)>;
569 def : Pat<(truncstorei16 I32:$val, I32:$addr),
570 (STORE16_I32 0, I32:$addr, 0, I32:$val)>;
571 def : Pat<(truncstorei8 I64:$val, I32:$addr),
572 (STORE8_I64 0, I32:$addr, 0, I64:$val)>;
573 def : Pat<(truncstorei16 I64:$val, I32:$addr),
574 (STORE16_I64 0, I32:$addr, 0, I64:$val)>;
575 def : Pat<(truncstorei32 I64:$val, I32:$addr),
576 (STORE32_I64 0, I32:$addr, 0, I64:$val)>;
579 def : Pat<(truncstorei8 I32:$val, (regPlusImm I32:$addr, imm:$off)),
580 (STORE8_I32 imm:$off, I32:$addr, 0, I32:$val)>;
581 def : Pat<(truncstorei16 I32:$val, (regPlusImm I32:$addr, imm:$off)),
582 (STORE16_I32 imm:$off, I32:$addr, 0, I32:$val)>;
583 def : Pat<(truncstorei8 I64:$val, (regPlusImm I32:$addr, imm:$off)),
584 (STORE8_I64 imm:$off, I32:$addr, 0, I64:$val)>;
585 def : Pat<(truncstorei16 I64:$val, (regPlusImm I32:$addr, imm:$off)),
586 (STORE16_I64 imm:$off, I32:$addr, 0, I64:$val)>;
587 def : Pat<(truncstorei32 I64:$val, (regPlusImm I32:$addr, imm:$off)),
588 (STORE32_I64 imm:$off, I32:$addr, 0, I64:$val)>;
589 def : Pat<(truncstorei8 I32:$val, (or_is_add I32:$addr, imm:$off)),
590 (STORE8_I32 imm:$off, I32:$addr, 0, I32:$val)>;
591 def : Pat<(truncstorei16 I32:$val, (or_is_add I32:$addr, imm:$off)),
592 (STORE16_I32 imm:$off, I32:$addr, 0, I32:$val)>;
593 def : Pat<(truncstorei8 I64:$val, (or_is_add I32:$addr, imm:$off)),
594 (STORE8_I64 imm:$off, I32:$addr, 0, I64:$val)>;
595 def : Pat<(truncstorei16 I64:$val, (or_is_add I32:$addr, imm:$off)),
596 (STORE16_I64 imm:$off, I32:$addr, 0, I64:$val)>;
597 def : Pat<(truncstorei32 I64:$val, (or_is_add I32:$addr, imm:$off)),
598 (STORE32_I64 imm:$off, I32:$addr, 0, I64:$val)>;
600 (regPlusGA I32:$addr,
602 (STORE8_I32 tglobaladdr:$off, I32:$addr, 0, I32:$val)>;
604 (regPlusGA I32:$addr,
606 (STORE16_I32 tglobaladdr:$off, I32:$addr, 0, I32:$val)>;
608 (regPlusGA I32:$addr,
610 (STORE8_I64 tglobaladdr:$off, I32:$addr, 0, I64:$val)>;
612 (regPlusGA I32:$addr,
614 (STORE16_I64 tglobaladdr:$off, I32:$addr, 0, I64:$val)>;
616 (regPlusGA I32:$addr,
618 (STORE32_I64 tglobaladdr:$off, I32:$addr, 0, I64:$val)>;
619 def : Pat<(truncstorei8 I32:$val, (add I32:$addr,
621 (STORE8_I32 texternalsym:$off, I32:$addr, 0, I32:$val)>;
623 (add I32:$addr,
625 (STORE16_I32 texternalsym:$off, I32:$addr, 0, I32:$val)>;
627 (add I32:$addr,
629 (STORE8_I64 texternalsym:$off, I32:$addr, 0, I64:$val)>;
631 (add I32:$addr,
633 (STORE16_I64 texternalsym:$off, I32:$addr, 0, I64:$val)>;
635 (add I32:$addr,
637 (STORE32_I64 texternalsym:$off, I32:$addr, 0, I64:$val)>;