Lines Matching refs:GFX6

2 …N: llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti < %s | FileCheck -check-prefix=GFX6 %s
9 ; GFX6-LABEL: mubuf_store_sgpr_ptr:
10 ; GFX6: ; %bb.0:
11 ; GFX6-NEXT: s_mov_b32 s0, s2
12 ; GFX6-NEXT: s_mov_b32 s1, s3
13 ; GFX6-NEXT: v_mov_b32_e32 v0, 0
14 ; GFX6-NEXT: s_mov_b32 s2, -1
15 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
16 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], 0
17 ; GFX6-NEXT: s_endpgm
33 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4095:
34 ; GFX6: ; %bb.0:
35 ; GFX6-NEXT: s_mov_b32 s0, s2
36 ; GFX6-NEXT: s_mov_b32 s1, s3
37 ; GFX6-NEXT: v_mov_b32_e32 v0, 0
38 ; GFX6-NEXT: s_mov_b32 s2, -1
39 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
40 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
41 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], s4
42 ; GFX6-NEXT: s_endpgm
60 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4294967296:
61 ; GFX6: ; %bb.0:
62 ; GFX6-NEXT: s_mov_b32 s4, 0
63 ; GFX6-NEXT: s_mov_b32 s5, 4
64 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
65 ; GFX6-NEXT: s_mov_b32 s0, s2
66 ; GFX6-NEXT: s_mov_b32 s1, s3
67 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
68 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
69 ; GFX6-NEXT: s_mov_b32 s2, s4
70 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
71 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
72 ; GFX6-NEXT: s_endpgm
93 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4294967297:
94 ; GFX6: ; %bb.0:
95 ; GFX6-NEXT: s_mov_b32 s4, 4
96 ; GFX6-NEXT: s_mov_b32 s5, s4
97 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
98 ; GFX6-NEXT: s_mov_b32 s0, s2
99 ; GFX6-NEXT: s_mov_b32 s1, s3
100 ; GFX6-NEXT: s_mov_b32 s2, 0
101 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
102 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
103 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
104 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
105 ; GFX6-NEXT: s_endpgm
126 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4096:
127 ; GFX6: ; %bb.0:
128 ; GFX6-NEXT: s_mov_b32 s0, s2
129 ; GFX6-NEXT: s_mov_b32 s1, s3
130 ; GFX6-NEXT: v_mov_b32_e32 v0, 0
131 ; GFX6-NEXT: s_mov_b32 s2, -1
132 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
133 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
134 ; GFX6-NEXT: buffer_store_dword v0, off, s[0:3], s4
135 ; GFX6-NEXT: s_endpgm
153 ; GFX6-LABEL: mubuf_store_vgpr_ptr_offset4095:
154 ; GFX6: ; %bb.0:
155 ; GFX6-NEXT: s_mov_b32 s2, 0
156 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
157 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
158 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
159 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
160 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], s4 addr64
161 ; GFX6-NEXT: s_endpgm
178 ; GFX6-LABEL: mubuf_store_vgpr_ptr_offset4294967296:
179 ; GFX6: ; %bb.0:
180 ; GFX6-NEXT: s_mov_b32 s0, 0
181 ; GFX6-NEXT: s_mov_b32 s1, 4
182 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
183 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
184 ; GFX6-NEXT: s_mov_b32 s2, s0
185 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
186 ; GFX6-NEXT: s_endpgm
203 ; GFX6-LABEL: mubuf_store_vgpr_ptr_offset4294967297:
204 ; GFX6: ; %bb.0:
205 ; GFX6-NEXT: s_mov_b32 s0, 4
206 ; GFX6-NEXT: s_mov_b32 s1, s0
207 ; GFX6-NEXT: s_mov_b32 s2, 0
208 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
209 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
210 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
211 ; GFX6-NEXT: s_endpgm
228 ; GFX6-LABEL: mubuf_store_vgpr_ptr_offset4096:
229 ; GFX6: ; %bb.0:
230 ; GFX6-NEXT: s_mov_b32 s2, 0
231 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
232 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
233 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
234 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
235 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], s4 addr64
236 ; GFX6-NEXT: s_endpgm
253 ; GFX6-LABEL: mubuf_store_sgpr_ptr_sgpr_offset:
254 ; GFX6: ; %bb.0:
255 ; GFX6-NEXT: s_mov_b32 s0, s2
256 ; GFX6-NEXT: s_mov_b32 s1, s3
257 ; GFX6-NEXT: s_bfe_i64 s[2:3], s[4:5], 0x200000
258 ; GFX6-NEXT: s_lshl_b64 s[4:5], s[2:3], 2
259 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
260 ; GFX6-NEXT: s_mov_b32 s2, 0
261 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
262 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
263 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
264 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
265 ; GFX6-NEXT: s_endpgm
286 ; GFX6-LABEL: mubuf_store_vgpr_ptr_sgpr_offset:
287 ; GFX6: ; %bb.0:
288 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
289 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
290 ; GFX6-NEXT: s_mov_b32 s2, 0
291 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
292 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
293 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
294 ; GFX6-NEXT: s_endpgm
311 ; GFX6-LABEL: mubuf_store_vgpr_ptr_sgpr_offset_offset256:
312 ; GFX6: ; %bb.0:
313 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
314 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
315 ; GFX6-NEXT: s_mov_b32 s2, 0
316 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
317 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
318 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64 offset:1024
319 ; GFX6-NEXT: s_endpgm
337 ; GFX6-LABEL: mubuf_store_vgpr_ptr_sgpr_offset256_offset:
338 ; GFX6: ; %bb.0:
339 ; GFX6-NEXT: s_movk_i32 s4, 0x400
340 ; GFX6-NEXT: s_mov_b32 s5, 0
341 ; GFX6-NEXT: v_mov_b32_e32 v2, s4
342 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
343 ; GFX6-NEXT: v_add_i32_e32 v0, vcc, v0, v2
344 ; GFX6-NEXT: v_mov_b32_e32 v3, s5
345 ; GFX6-NEXT: v_addc_u32_e32 v1, vcc, v1, v3, vcc
346 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
347 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
348 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
349 ; GFX6-NEXT: s_mov_b32 s2, s5
350 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
351 ; GFX6-NEXT: s_endpgm
375 ; GFX6-LABEL: mubuf_store_sgpr_ptr_vgpr_offset:
376 ; GFX6: ; %bb.0:
377 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
378 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
379 ; GFX6-NEXT: s_mov_b32 s0, s2
380 ; GFX6-NEXT: s_mov_b32 s1, s3
381 ; GFX6-NEXT: s_mov_b32 s2, 0
382 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
383 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
384 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
385 ; GFX6-NEXT: s_endpgm
404 ; GFX6-LABEL: mubuf_store_sgpr_ptr_vgpr_offset_offset4095:
405 ; GFX6: ; %bb.0:
406 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
407 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
408 ; GFX6-NEXT: s_mov_b32 s0, s2
409 ; GFX6-NEXT: s_mov_b32 s1, s3
410 ; GFX6-NEXT: s_mov_b32 s2, 0
411 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
412 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
413 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
414 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], s4 addr64
415 ; GFX6-NEXT: s_endpgm
435 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4095_vgpr_offset:
436 ; GFX6: ; %bb.0:
437 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
438 ; GFX6-NEXT: s_add_u32 s0, s2, 0x3ffc
439 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
440 ; GFX6-NEXT: s_addc_u32 s1, s3, 0
441 ; GFX6-NEXT: s_mov_b32 s2, 0
442 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
443 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
444 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
445 ; GFX6-NEXT: s_endpgm
465 ; GFX6-LABEL: mubuf_load_sgpr_ptr:
466 ; GFX6: ; %bb.0:
467 ; GFX6-NEXT: s_mov_b32 s0, s2
468 ; GFX6-NEXT: s_mov_b32 s1, s3
469 ; GFX6-NEXT: s_mov_b32 s2, -1
470 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
471 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], 0 glc
472 ; GFX6-NEXT: s_waitcnt vmcnt(0)
473 ; GFX6-NEXT: ; return to shader part epilog
489 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4095:
490 ; GFX6: ; %bb.0:
491 ; GFX6-NEXT: s_mov_b32 s0, s2
492 ; GFX6-NEXT: s_mov_b32 s1, s3
493 ; GFX6-NEXT: s_mov_b32 s2, -1
494 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
495 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
496 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], s4 glc
497 ; GFX6-NEXT: s_waitcnt vmcnt(0)
498 ; GFX6-NEXT: ; return to shader part epilog
516 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4294967296:
517 ; GFX6: ; %bb.0:
518 ; GFX6-NEXT: s_mov_b32 s4, 0
519 ; GFX6-NEXT: s_mov_b32 s5, 4
520 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
521 ; GFX6-NEXT: s_mov_b32 s0, s2
522 ; GFX6-NEXT: s_mov_b32 s1, s3
523 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
524 ; GFX6-NEXT: s_mov_b32 s2, s4
525 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
526 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
527 ; GFX6-NEXT: s_waitcnt vmcnt(0)
528 ; GFX6-NEXT: ; return to shader part epilog
549 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4294967297:
550 ; GFX6: ; %bb.0:
551 ; GFX6-NEXT: s_mov_b32 s4, 4
552 ; GFX6-NEXT: s_mov_b32 s5, s4
553 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
554 ; GFX6-NEXT: s_mov_b32 s0, s2
555 ; GFX6-NEXT: s_mov_b32 s1, s3
556 ; GFX6-NEXT: s_mov_b32 s2, 0
557 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
558 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
559 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
560 ; GFX6-NEXT: s_waitcnt vmcnt(0)
561 ; GFX6-NEXT: ; return to shader part epilog
582 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4096:
583 ; GFX6: ; %bb.0:
584 ; GFX6-NEXT: s_mov_b32 s0, s2
585 ; GFX6-NEXT: s_mov_b32 s1, s3
586 ; GFX6-NEXT: s_mov_b32 s2, -1
587 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
588 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
589 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], s4 glc
590 ; GFX6-NEXT: s_waitcnt vmcnt(0)
591 ; GFX6-NEXT: ; return to shader part epilog
609 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4095:
610 ; GFX6: ; %bb.0:
611 ; GFX6-NEXT: s_mov_b32 s2, 0
612 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
613 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
614 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
615 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
616 ; GFX6-NEXT: s_waitcnt vmcnt(0)
617 ; GFX6-NEXT: ; return to shader part epilog
634 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4294967296:
635 ; GFX6: ; %bb.0:
636 ; GFX6-NEXT: s_mov_b32 s0, 0
637 ; GFX6-NEXT: s_mov_b32 s1, 4
638 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
639 ; GFX6-NEXT: s_mov_b32 s2, s0
640 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
641 ; GFX6-NEXT: s_waitcnt vmcnt(0)
642 ; GFX6-NEXT: ; return to shader part epilog
659 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4294967297:
660 ; GFX6: ; %bb.0:
661 ; GFX6-NEXT: s_mov_b32 s0, 4
662 ; GFX6-NEXT: s_mov_b32 s1, s0
663 ; GFX6-NEXT: s_mov_b32 s2, 0
664 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
665 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
666 ; GFX6-NEXT: s_waitcnt vmcnt(0)
667 ; GFX6-NEXT: ; return to shader part epilog
684 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4096:
685 ; GFX6: ; %bb.0:
686 ; GFX6-NEXT: s_mov_b32 s2, 0
687 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
688 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
689 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
690 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
691 ; GFX6-NEXT: s_waitcnt vmcnt(0)
692 ; GFX6-NEXT: ; return to shader part epilog
709 ; GFX6-LABEL: mubuf_load_sgpr_ptr_sgpr_offset:
710 ; GFX6: ; %bb.0:
711 ; GFX6-NEXT: s_mov_b32 s0, s2
712 ; GFX6-NEXT: s_mov_b32 s1, s3
713 ; GFX6-NEXT: s_bfe_i64 s[2:3], s[4:5], 0x200000
714 ; GFX6-NEXT: s_lshl_b64 s[4:5], s[2:3], 2
715 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
716 ; GFX6-NEXT: s_mov_b32 s2, 0
717 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
718 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
719 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
720 ; GFX6-NEXT: s_waitcnt vmcnt(0)
721 ; GFX6-NEXT: ; return to shader part epilog
742 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset:
743 ; GFX6: ; %bb.0:
744 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
745 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
746 ; GFX6-NEXT: s_mov_b32 s2, 0
747 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
748 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
749 ; GFX6-NEXT: s_waitcnt vmcnt(0)
750 ; GFX6-NEXT: ; return to shader part epilog
767 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset_offset256:
768 ; GFX6: ; %bb.0:
769 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
770 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
771 ; GFX6-NEXT: s_mov_b32 s2, 0
772 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
773 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 offset:1024 glc
774 ; GFX6-NEXT: s_waitcnt vmcnt(0)
775 ; GFX6-NEXT: ; return to shader part epilog
793 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset256_offset:
794 ; GFX6: ; %bb.0:
795 ; GFX6-NEXT: s_movk_i32 s4, 0x400
796 ; GFX6-NEXT: s_mov_b32 s5, 0
797 ; GFX6-NEXT: v_mov_b32_e32 v2, s4
798 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
799 ; GFX6-NEXT: v_mov_b32_e32 v3, s5
800 ; GFX6-NEXT: v_add_i32_e32 v0, vcc, v0, v2
801 ; GFX6-NEXT: v_addc_u32_e32 v1, vcc, v1, v3, vcc
802 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
803 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
804 ; GFX6-NEXT: s_mov_b32 s2, s5
805 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
806 ; GFX6-NEXT: s_waitcnt vmcnt(0)
807 ; GFX6-NEXT: ; return to shader part epilog
831 ; GFX6-LABEL: mubuf_load_sgpr_ptr_vgpr_offset:
832 ; GFX6: ; %bb.0:
833 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
834 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
835 ; GFX6-NEXT: s_mov_b32 s0, s2
836 ; GFX6-NEXT: s_mov_b32 s1, s3
837 ; GFX6-NEXT: s_mov_b32 s2, 0
838 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
839 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
840 ; GFX6-NEXT: s_waitcnt vmcnt(0)
841 ; GFX6-NEXT: ; return to shader part epilog
860 ; GFX6-LABEL: mubuf_load_sgpr_ptr_vgpr_offset_offset4095:
861 ; GFX6: ; %bb.0:
862 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
863 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
864 ; GFX6-NEXT: s_mov_b32 s0, s2
865 ; GFX6-NEXT: s_mov_b32 s1, s3
866 ; GFX6-NEXT: s_mov_b32 s2, 0
867 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
868 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
869 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
870 ; GFX6-NEXT: s_waitcnt vmcnt(0)
871 ; GFX6-NEXT: ; return to shader part epilog
891 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4095_vgpr_offset:
892 ; GFX6: ; %bb.0:
893 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
894 ; GFX6-NEXT: s_add_u32 s4, s2, 0x3ffc
895 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
896 ; GFX6-NEXT: s_mov_b32 s6, 0
897 ; GFX6-NEXT: s_addc_u32 s5, s3, 0
898 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
899 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[4:7], 0 addr64 glc
900 ; GFX6-NEXT: s_waitcnt vmcnt(0)
901 ; GFX6-NEXT: ; return to shader part epilog
921 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_offset4095:
922 ; GFX6: ; %bb.0:
923 ; GFX6-NEXT: s_mov_b32 s0, s2
924 ; GFX6-NEXT: s_mov_b32 s1, s3
925 ; GFX6-NEXT: v_mov_b32_e32 v0, 2
926 ; GFX6-NEXT: s_mov_b32 s2, -1
927 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
928 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
929 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
930 ; GFX6-NEXT: buffer_atomic_add v0, off, s[0:3], s4 glc
931 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
932 ; GFX6-NEXT: buffer_wbinvl1
933 ; GFX6-NEXT: s_waitcnt expcnt(0)
934 ; GFX6-NEXT: ; return to shader part epilog
956 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_offset4294967296:
957 ; GFX6: ; %bb.0:
958 ; GFX6-NEXT: s_mov_b32 s4, 0
959 ; GFX6-NEXT: s_mov_b32 s5, 4
960 ; GFX6-NEXT: v_mov_b32_e32 v1, s4
961 ; GFX6-NEXT: s_mov_b32 s0, s2
962 ; GFX6-NEXT: s_mov_b32 s1, s3
963 ; GFX6-NEXT: v_mov_b32_e32 v0, 2
964 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
965 ; GFX6-NEXT: s_mov_b32 s2, s4
966 ; GFX6-NEXT: v_mov_b32_e32 v2, s5
967 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
968 ; GFX6-NEXT: buffer_atomic_add v0, v[1:2], s[0:3], 0 addr64 glc
969 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
970 ; GFX6-NEXT: buffer_wbinvl1
971 ; GFX6-NEXT: s_waitcnt expcnt(0)
972 ; GFX6-NEXT: ; return to shader part epilog
997 ; GFX6-LABEL: mubuf_atomicrmw_vgpr_ptr_offset4095:
998 ; GFX6: ; %bb.0:
999 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
1000 ; GFX6-NEXT: s_mov_b32 s2, 0
1001 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1002 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
1003 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1004 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1005 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], s4 addr64 glc
1006 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1007 ; GFX6-NEXT: buffer_wbinvl1
1008 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1009 ; GFX6-NEXT: s_waitcnt expcnt(0)
1010 ; GFX6-NEXT: ; return to shader part epilog
1032 ; GFX6-LABEL: mubuf_atomicrmw_vgpr_ptr_offset4294967296:
1033 ; GFX6: ; %bb.0:
1034 ; GFX6-NEXT: s_mov_b32 s0, 0
1035 ; GFX6-NEXT: s_mov_b32 s1, 4
1036 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
1037 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1038 ; GFX6-NEXT: s_mov_b32 s2, s0
1039 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1040 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], 0 addr64 glc
1041 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1042 ; GFX6-NEXT: buffer_wbinvl1
1043 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1044 ; GFX6-NEXT: s_waitcnt expcnt(0)
1045 ; GFX6-NEXT: ; return to shader part epilog
1067 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_vgpr_offset:
1068 ; GFX6: ; %bb.0:
1069 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
1070 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
1071 ; GFX6-NEXT: s_mov_b32 s0, s2
1072 ; GFX6-NEXT: s_mov_b32 s1, s3
1073 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
1074 ; GFX6-NEXT: s_mov_b32 s2, 0
1075 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1076 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1077 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], 0 addr64 glc
1078 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1079 ; GFX6-NEXT: buffer_wbinvl1
1080 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1081 ; GFX6-NEXT: s_waitcnt expcnt(0)
1082 ; GFX6-NEXT: ; return to shader part epilog
1106 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_offset4095:
1107 ; GFX6: ; %bb.0:
1108 ; GFX6-NEXT: s_mov_b32 s0, s2
1109 ; GFX6-NEXT: s_mov_b32 s1, s3
1110 ; GFX6-NEXT: v_mov_b32_e32 v2, v0
1111 ; GFX6-NEXT: s_mov_b32 s2, -1
1112 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1113 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1114 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1115 ; GFX6-NEXT: buffer_atomic_cmpswap v[1:2], off, s[0:3], s4 glc
1116 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1117 ; GFX6-NEXT: buffer_wbinvl1
1118 ; GFX6-NEXT: v_mov_b32_e32 v0, v1
1119 ; GFX6-NEXT: s_waitcnt expcnt(0)
1120 ; GFX6-NEXT: ; return to shader part epilog
1144 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_offset4294967296:
1145 ; GFX6: ; %bb.0:
1146 ; GFX6-NEXT: s_mov_b32 s4, 0
1147 ; GFX6-NEXT: s_mov_b32 s5, 4
1148 ; GFX6-NEXT: v_mov_b32_e32 v3, s4
1149 ; GFX6-NEXT: s_mov_b32 s0, s2
1150 ; GFX6-NEXT: s_mov_b32 s1, s3
1151 ; GFX6-NEXT: v_mov_b32_e32 v2, v0
1152 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1153 ; GFX6-NEXT: s_mov_b32 s2, s4
1154 ; GFX6-NEXT: v_mov_b32_e32 v4, s5
1155 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1156 ; GFX6-NEXT: buffer_atomic_cmpswap v[1:2], v[3:4], s[0:3], 0 addr64 glc
1157 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1158 ; GFX6-NEXT: buffer_wbinvl1
1159 ; GFX6-NEXT: v_mov_b32_e32 v0, v1
1160 ; GFX6-NEXT: s_waitcnt expcnt(0)
1161 ; GFX6-NEXT: ; return to shader part epilog
1188 ; GFX6-LABEL: mubuf_cmpxchg_vgpr_ptr_offset4095:
1189 ; GFX6: ; %bb.0:
1190 ; GFX6-NEXT: v_mov_b32_e32 v4, v2
1191 ; GFX6-NEXT: s_mov_b32 s2, 0
1192 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1193 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
1194 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1195 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1196 ; GFX6-NEXT: buffer_atomic_cmpswap v[3:4], v[0:1], s[0:3], s4 addr64 glc
1197 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1198 ; GFX6-NEXT: buffer_wbinvl1
1199 ; GFX6-NEXT: v_mov_b32_e32 v0, v3
1200 ; GFX6-NEXT: s_waitcnt expcnt(0)
1201 ; GFX6-NEXT: ; return to shader part epilog
1224 ; GFX6-LABEL: mubuf_cmpxchg_vgpr_ptr_offset4294967296:
1225 ; GFX6: ; %bb.0:
1226 ; GFX6-NEXT: s_mov_b32 s0, 0
1227 ; GFX6-NEXT: v_mov_b32_e32 v4, v2
1228 ; GFX6-NEXT: s_mov_b32 s1, 4
1229 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1230 ; GFX6-NEXT: s_mov_b32 s2, s0
1231 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1232 ; GFX6-NEXT: buffer_atomic_cmpswap v[3:4], v[0:1], s[0:3], 0 addr64 glc
1233 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1234 ; GFX6-NEXT: buffer_wbinvl1
1235 ; GFX6-NEXT: v_mov_b32_e32 v0, v3
1236 ; GFX6-NEXT: s_waitcnt expcnt(0)
1237 ; GFX6-NEXT: ; return to shader part epilog
1260 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_vgpr_offset:
1261 ; GFX6: ; %bb.0:
1262 ; GFX6-NEXT: v_mov_b32_e32 v3, v1
1263 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
1264 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
1265 ; GFX6-NEXT: s_mov_b32 s0, s2
1266 ; GFX6-NEXT: s_mov_b32 s1, s3
1267 ; GFX6-NEXT: s_mov_b32 s2, 0
1268 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1269 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1270 ; GFX6-NEXT: buffer_atomic_cmpswap v[2:3], v[0:1], s[0:3], 0 addr64 glc
1271 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1272 ; GFX6-NEXT: buffer_wbinvl1
1273 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1274 ; GFX6-NEXT: s_waitcnt expcnt(0)
1275 ; GFX6-NEXT: ; return to shader part epilog