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_mov_b64 s[4:5], 0x400
340 ; GFX6-NEXT: v_mov_b32_e32 v2, s4
341 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
342 ; GFX6-NEXT: v_add_i32_e32 v0, vcc, v0, v2
343 ; GFX6-NEXT: v_mov_b32_e32 v3, s5
344 ; GFX6-NEXT: v_addc_u32_e32 v1, vcc, v1, v3, vcc
345 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
346 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
347 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
348 ; GFX6-NEXT: s_mov_b32 s2, s5
349 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
350 ; GFX6-NEXT: s_endpgm
373 ; GFX6-LABEL: mubuf_store_sgpr_ptr_vgpr_offset:
374 ; GFX6: ; %bb.0:
375 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
376 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
377 ; GFX6-NEXT: s_mov_b32 s0, s2
378 ; GFX6-NEXT: s_mov_b32 s1, s3
379 ; GFX6-NEXT: s_mov_b32 s2, 0
380 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
381 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
382 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
383 ; GFX6-NEXT: s_endpgm
402 ; GFX6-LABEL: mubuf_store_sgpr_ptr_vgpr_offset_offset4095:
403 ; GFX6: ; %bb.0:
404 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
405 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
406 ; GFX6-NEXT: s_mov_b32 s0, s2
407 ; GFX6-NEXT: s_mov_b32 s1, s3
408 ; GFX6-NEXT: s_mov_b32 s2, 0
409 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
410 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
411 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
412 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], s4 addr64
413 ; GFX6-NEXT: s_endpgm
433 ; GFX6-LABEL: mubuf_store_sgpr_ptr_offset4095_vgpr_offset:
434 ; GFX6: ; %bb.0:
435 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
436 ; GFX6-NEXT: s_add_u32 s0, s2, 0x3ffc
437 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
438 ; GFX6-NEXT: s_addc_u32 s1, s3, 0
439 ; GFX6-NEXT: s_mov_b32 s2, 0
440 ; GFX6-NEXT: v_mov_b32_e32 v2, 0
441 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
442 ; GFX6-NEXT: buffer_store_dword v2, v[0:1], s[0:3], 0 addr64
443 ; GFX6-NEXT: s_endpgm
463 ; GFX6-LABEL: mubuf_load_sgpr_ptr:
464 ; GFX6: ; %bb.0:
465 ; GFX6-NEXT: s_mov_b32 s0, s2
466 ; GFX6-NEXT: s_mov_b32 s1, s3
467 ; GFX6-NEXT: s_mov_b32 s2, -1
468 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
469 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], 0 glc
470 ; GFX6-NEXT: s_waitcnt vmcnt(0)
471 ; GFX6-NEXT: ; return to shader part epilog
487 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4095:
488 ; GFX6: ; %bb.0:
489 ; GFX6-NEXT: s_mov_b32 s0, s2
490 ; GFX6-NEXT: s_mov_b32 s1, s3
491 ; GFX6-NEXT: s_mov_b32 s2, -1
492 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
493 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
494 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], s4 glc
495 ; GFX6-NEXT: s_waitcnt vmcnt(0)
496 ; GFX6-NEXT: ; return to shader part epilog
514 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4294967296:
515 ; GFX6: ; %bb.0:
516 ; GFX6-NEXT: s_mov_b32 s4, 0
517 ; GFX6-NEXT: s_mov_b32 s5, 4
518 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
519 ; GFX6-NEXT: s_mov_b32 s0, s2
520 ; GFX6-NEXT: s_mov_b32 s1, s3
521 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
522 ; GFX6-NEXT: s_mov_b32 s2, s4
523 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
524 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
525 ; GFX6-NEXT: s_waitcnt vmcnt(0)
526 ; GFX6-NEXT: ; return to shader part epilog
547 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4294967297:
548 ; GFX6: ; %bb.0:
549 ; GFX6-NEXT: s_mov_b32 s4, 4
550 ; GFX6-NEXT: s_mov_b32 s5, s4
551 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
552 ; GFX6-NEXT: s_mov_b32 s0, s2
553 ; GFX6-NEXT: s_mov_b32 s1, s3
554 ; GFX6-NEXT: s_mov_b32 s2, 0
555 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
556 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
557 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
558 ; GFX6-NEXT: s_waitcnt vmcnt(0)
559 ; GFX6-NEXT: ; return to shader part epilog
580 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4096:
581 ; GFX6: ; %bb.0:
582 ; GFX6-NEXT: s_mov_b32 s0, s2
583 ; GFX6-NEXT: s_mov_b32 s1, s3
584 ; GFX6-NEXT: s_mov_b32 s2, -1
585 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
586 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
587 ; GFX6-NEXT: buffer_load_dword v0, off, s[0:3], s4 glc
588 ; GFX6-NEXT: s_waitcnt vmcnt(0)
589 ; GFX6-NEXT: ; return to shader part epilog
607 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4095:
608 ; GFX6: ; %bb.0:
609 ; GFX6-NEXT: s_mov_b32 s2, 0
610 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
611 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
612 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
613 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
614 ; GFX6-NEXT: s_waitcnt vmcnt(0)
615 ; GFX6-NEXT: ; return to shader part epilog
632 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4294967296:
633 ; GFX6: ; %bb.0:
634 ; GFX6-NEXT: s_mov_b32 s0, 0
635 ; GFX6-NEXT: s_mov_b32 s1, 4
636 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
637 ; GFX6-NEXT: s_mov_b32 s2, s0
638 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
639 ; GFX6-NEXT: s_waitcnt vmcnt(0)
640 ; GFX6-NEXT: ; return to shader part epilog
657 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4294967297:
658 ; GFX6: ; %bb.0:
659 ; GFX6-NEXT: s_mov_b32 s0, 4
660 ; GFX6-NEXT: s_mov_b32 s1, s0
661 ; GFX6-NEXT: s_mov_b32 s2, 0
662 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
663 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
664 ; GFX6-NEXT: s_waitcnt vmcnt(0)
665 ; GFX6-NEXT: ; return to shader part epilog
682 ; GFX6-LABEL: mubuf_load_vgpr_ptr_offset4096:
683 ; GFX6: ; %bb.0:
684 ; GFX6-NEXT: s_mov_b32 s2, 0
685 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
686 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
687 ; GFX6-NEXT: s_movk_i32 s4, 0x4000
688 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
689 ; GFX6-NEXT: s_waitcnt vmcnt(0)
690 ; GFX6-NEXT: ; return to shader part epilog
707 ; GFX6-LABEL: mubuf_load_sgpr_ptr_sgpr_offset:
708 ; GFX6: ; %bb.0:
709 ; GFX6-NEXT: s_mov_b32 s0, s2
710 ; GFX6-NEXT: s_mov_b32 s1, s3
711 ; GFX6-NEXT: s_bfe_i64 s[2:3], s[4:5], 0x200000
712 ; GFX6-NEXT: s_lshl_b64 s[4:5], s[2:3], 2
713 ; GFX6-NEXT: v_mov_b32_e32 v0, s4
714 ; GFX6-NEXT: s_mov_b32 s2, 0
715 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
716 ; GFX6-NEXT: v_mov_b32_e32 v1, s5
717 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
718 ; GFX6-NEXT: s_waitcnt vmcnt(0)
719 ; GFX6-NEXT: ; return to shader part epilog
740 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset:
741 ; GFX6: ; %bb.0:
742 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
743 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
744 ; GFX6-NEXT: s_mov_b32 s2, 0
745 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
746 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
747 ; GFX6-NEXT: s_waitcnt vmcnt(0)
748 ; GFX6-NEXT: ; return to shader part epilog
765 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset_offset256:
766 ; GFX6: ; %bb.0:
767 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
768 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
769 ; GFX6-NEXT: s_mov_b32 s2, 0
770 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
771 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 offset:1024 glc
772 ; GFX6-NEXT: s_waitcnt vmcnt(0)
773 ; GFX6-NEXT: ; return to shader part epilog
791 ; GFX6-LABEL: mubuf_load_vgpr_ptr_sgpr_offset256_offset:
792 ; GFX6: ; %bb.0:
793 ; GFX6-NEXT: s_mov_b64 s[4:5], 0x400
794 ; GFX6-NEXT: v_mov_b32_e32 v2, s4
795 ; GFX6-NEXT: s_bfe_i64 s[0:1], s[2:3], 0x200000
796 ; GFX6-NEXT: v_mov_b32_e32 v3, s5
797 ; GFX6-NEXT: v_add_i32_e32 v0, vcc, v0, v2
798 ; GFX6-NEXT: v_addc_u32_e32 v1, vcc, v1, v3, vcc
799 ; GFX6-NEXT: s_lshl_b64 s[0:1], s[0:1], 2
800 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
801 ; GFX6-NEXT: s_mov_b32 s2, s5
802 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
803 ; GFX6-NEXT: s_waitcnt vmcnt(0)
804 ; GFX6-NEXT: ; return to shader part epilog
827 ; GFX6-LABEL: mubuf_load_sgpr_ptr_vgpr_offset:
828 ; GFX6: ; %bb.0:
829 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
830 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
831 ; GFX6-NEXT: s_mov_b32 s0, s2
832 ; GFX6-NEXT: s_mov_b32 s1, s3
833 ; GFX6-NEXT: s_mov_b32 s2, 0
834 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
835 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], 0 addr64 glc
836 ; GFX6-NEXT: s_waitcnt vmcnt(0)
837 ; GFX6-NEXT: ; return to shader part epilog
856 ; GFX6-LABEL: mubuf_load_sgpr_ptr_vgpr_offset_offset4095:
857 ; GFX6: ; %bb.0:
858 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
859 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
860 ; GFX6-NEXT: s_mov_b32 s0, s2
861 ; GFX6-NEXT: s_mov_b32 s1, s3
862 ; GFX6-NEXT: s_mov_b32 s2, 0
863 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
864 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
865 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[0:3], s4 addr64 glc
866 ; GFX6-NEXT: s_waitcnt vmcnt(0)
867 ; GFX6-NEXT: ; return to shader part epilog
887 ; GFX6-LABEL: mubuf_load_sgpr_ptr_offset4095_vgpr_offset:
888 ; GFX6: ; %bb.0:
889 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
890 ; GFX6-NEXT: s_add_u32 s4, s2, 0x3ffc
891 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
892 ; GFX6-NEXT: s_mov_b32 s6, 0
893 ; GFX6-NEXT: s_addc_u32 s5, s3, 0
894 ; GFX6-NEXT: s_mov_b32 s7, 0xf000
895 ; GFX6-NEXT: buffer_load_dword v0, v[0:1], s[4:7], 0 addr64 glc
896 ; GFX6-NEXT: s_waitcnt vmcnt(0)
897 ; GFX6-NEXT: ; return to shader part epilog
917 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_offset4095:
918 ; GFX6: ; %bb.0:
919 ; GFX6-NEXT: s_mov_b32 s0, s2
920 ; GFX6-NEXT: s_mov_b32 s1, s3
921 ; GFX6-NEXT: v_mov_b32_e32 v0, 2
922 ; GFX6-NEXT: s_mov_b32 s2, -1
923 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
924 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
925 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
926 ; GFX6-NEXT: buffer_atomic_add v0, off, s[0:3], s4 glc
927 ; GFX6-NEXT: s_waitcnt vmcnt(0)
928 ; GFX6-NEXT: buffer_wbinvl1
929 ; GFX6-NEXT: s_waitcnt expcnt(0)
930 ; GFX6-NEXT: ; return to shader part epilog
952 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_offset4294967296:
953 ; GFX6: ; %bb.0:
954 ; GFX6-NEXT: s_mov_b32 s4, 0
955 ; GFX6-NEXT: s_mov_b32 s5, 4
956 ; GFX6-NEXT: v_mov_b32_e32 v1, s4
957 ; GFX6-NEXT: s_mov_b32 s0, s2
958 ; GFX6-NEXT: s_mov_b32 s1, s3
959 ; GFX6-NEXT: v_mov_b32_e32 v0, 2
960 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
961 ; GFX6-NEXT: s_mov_b32 s2, s4
962 ; GFX6-NEXT: v_mov_b32_e32 v2, s5
963 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
964 ; GFX6-NEXT: buffer_atomic_add v0, v[1:2], s[0:3], 0 addr64 glc
965 ; GFX6-NEXT: s_waitcnt vmcnt(0)
966 ; GFX6-NEXT: buffer_wbinvl1
967 ; GFX6-NEXT: s_waitcnt expcnt(0)
968 ; GFX6-NEXT: ; return to shader part epilog
993 ; GFX6-LABEL: mubuf_atomicrmw_vgpr_ptr_offset4095:
994 ; GFX6: ; %bb.0:
995 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
996 ; GFX6-NEXT: s_mov_b32 s2, 0
997 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
998 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
999 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1000 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1001 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], s4 addr64 glc
1002 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1003 ; GFX6-NEXT: buffer_wbinvl1
1004 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1005 ; GFX6-NEXT: s_waitcnt expcnt(0)
1006 ; GFX6-NEXT: ; return to shader part epilog
1028 ; GFX6-LABEL: mubuf_atomicrmw_vgpr_ptr_offset4294967296:
1029 ; GFX6: ; %bb.0:
1030 ; GFX6-NEXT: s_mov_b32 s0, 0
1031 ; GFX6-NEXT: s_mov_b32 s1, 4
1032 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
1033 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1034 ; GFX6-NEXT: s_mov_b32 s2, s0
1035 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1036 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], 0 addr64 glc
1037 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1038 ; GFX6-NEXT: buffer_wbinvl1
1039 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1040 ; GFX6-NEXT: s_waitcnt expcnt(0)
1041 ; GFX6-NEXT: ; return to shader part epilog
1063 ; GFX6-LABEL: mubuf_atomicrmw_sgpr_ptr_vgpr_offset:
1064 ; GFX6: ; %bb.0:
1065 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
1066 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
1067 ; GFX6-NEXT: s_mov_b32 s0, s2
1068 ; GFX6-NEXT: s_mov_b32 s1, s3
1069 ; GFX6-NEXT: v_mov_b32_e32 v2, 2
1070 ; GFX6-NEXT: s_mov_b32 s2, 0
1071 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1072 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1073 ; GFX6-NEXT: buffer_atomic_add v2, v[0:1], s[0:3], 0 addr64 glc
1074 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1075 ; GFX6-NEXT: buffer_wbinvl1
1076 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1077 ; GFX6-NEXT: s_waitcnt expcnt(0)
1078 ; GFX6-NEXT: ; return to shader part epilog
1102 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_offset4095:
1103 ; GFX6: ; %bb.0:
1104 ; GFX6-NEXT: s_mov_b32 s0, s2
1105 ; GFX6-NEXT: s_mov_b32 s1, s3
1106 ; GFX6-NEXT: v_mov_b32_e32 v2, v0
1107 ; GFX6-NEXT: s_mov_b32 s2, -1
1108 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1109 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1110 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1111 ; GFX6-NEXT: buffer_atomic_cmpswap v[1:2], off, s[0:3], s4 glc
1112 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1113 ; GFX6-NEXT: buffer_wbinvl1
1114 ; GFX6-NEXT: v_mov_b32_e32 v0, v1
1115 ; GFX6-NEXT: s_waitcnt expcnt(0)
1116 ; GFX6-NEXT: ; return to shader part epilog
1140 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_offset4294967296:
1141 ; GFX6: ; %bb.0:
1142 ; GFX6-NEXT: s_mov_b32 s4, 0
1143 ; GFX6-NEXT: s_mov_b32 s5, 4
1144 ; GFX6-NEXT: v_mov_b32_e32 v3, s4
1145 ; GFX6-NEXT: s_mov_b32 s0, s2
1146 ; GFX6-NEXT: s_mov_b32 s1, s3
1147 ; GFX6-NEXT: v_mov_b32_e32 v2, v0
1148 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1149 ; GFX6-NEXT: s_mov_b32 s2, s4
1150 ; GFX6-NEXT: v_mov_b32_e32 v4, s5
1151 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1152 ; GFX6-NEXT: buffer_atomic_cmpswap v[1:2], v[3:4], s[0:3], 0 addr64 glc
1153 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1154 ; GFX6-NEXT: buffer_wbinvl1
1155 ; GFX6-NEXT: v_mov_b32_e32 v0, v1
1156 ; GFX6-NEXT: s_waitcnt expcnt(0)
1157 ; GFX6-NEXT: ; return to shader part epilog
1184 ; GFX6-LABEL: mubuf_cmpxchg_vgpr_ptr_offset4095:
1185 ; GFX6: ; %bb.0:
1186 ; GFX6-NEXT: v_mov_b32_e32 v4, v2
1187 ; GFX6-NEXT: s_mov_b32 s2, 0
1188 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1189 ; GFX6-NEXT: s_mov_b64 s[0:1], 0
1190 ; GFX6-NEXT: s_movk_i32 s4, 0x3ffc
1191 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1192 ; GFX6-NEXT: buffer_atomic_cmpswap v[3:4], v[0:1], s[0:3], s4 addr64 glc
1193 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1194 ; GFX6-NEXT: buffer_wbinvl1
1195 ; GFX6-NEXT: v_mov_b32_e32 v0, v3
1196 ; GFX6-NEXT: s_waitcnt expcnt(0)
1197 ; GFX6-NEXT: ; return to shader part epilog
1220 ; GFX6-LABEL: mubuf_cmpxchg_vgpr_ptr_offset4294967296:
1221 ; GFX6: ; %bb.0:
1222 ; GFX6-NEXT: s_mov_b32 s0, 0
1223 ; GFX6-NEXT: v_mov_b32_e32 v4, v2
1224 ; GFX6-NEXT: s_mov_b32 s1, 4
1225 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1226 ; GFX6-NEXT: s_mov_b32 s2, s0
1227 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1228 ; GFX6-NEXT: buffer_atomic_cmpswap v[3:4], v[0:1], s[0:3], 0 addr64 glc
1229 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1230 ; GFX6-NEXT: buffer_wbinvl1
1231 ; GFX6-NEXT: v_mov_b32_e32 v0, v3
1232 ; GFX6-NEXT: s_waitcnt expcnt(0)
1233 ; GFX6-NEXT: ; return to shader part epilog
1256 ; GFX6-LABEL: mubuf_cmpxchg_sgpr_ptr_vgpr_offset:
1257 ; GFX6: ; %bb.0:
1258 ; GFX6-NEXT: v_mov_b32_e32 v3, v1
1259 ; GFX6-NEXT: v_ashrrev_i32_e32 v1, 31, v0
1260 ; GFX6-NEXT: v_lshl_b64 v[0:1], v[0:1], 2
1261 ; GFX6-NEXT: s_mov_b32 s0, s2
1262 ; GFX6-NEXT: s_mov_b32 s1, s3
1263 ; GFX6-NEXT: s_mov_b32 s2, 0
1264 ; GFX6-NEXT: s_mov_b32 s3, 0xf000
1265 ; GFX6-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1266 ; GFX6-NEXT: buffer_atomic_cmpswap v[2:3], v[0:1], s[0:3], 0 addr64 glc
1267 ; GFX6-NEXT: s_waitcnt vmcnt(0)
1268 ; GFX6-NEXT: buffer_wbinvl1
1269 ; GFX6-NEXT: v_mov_b32_e32 v0, v2
1270 ; GFX6-NEXT: s_waitcnt expcnt(0)
1271 ; GFX6-NEXT: ; return to shader part epilog