Lines Matching refs:GFX10
3 …c -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx1010 -o - %s | FileCheck -check-prefix=GFX10 %s
20 ; GFX10-LABEL: atomic_swap_i32_1d:
21 ; GFX10: ; %bb.0: ; %main_body
22 ; GFX10-NEXT: s_mov_b32 s0, s2
23 ; GFX10-NEXT: s_mov_b32 s1, s3
24 ; GFX10-NEXT: s_mov_b32 s2, s4
25 ; GFX10-NEXT: s_mov_b32 s3, s5
26 ; GFX10-NEXT: s_mov_b32 s4, s6
27 ; GFX10-NEXT: s_mov_b32 s5, s7
28 ; GFX10-NEXT: s_mov_b32 s6, s8
29 ; GFX10-NEXT: s_mov_b32 s7, s9
30 ; GFX10-NEXT: image_atomic_swap v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
31 ; GFX10-NEXT: s_waitcnt vmcnt(0)
32 ; GFX10-NEXT: ; return to shader part epilog
54 ; GFX10-LABEL: atomic_add_i32_1d:
55 ; GFX10: ; %bb.0: ; %main_body
56 ; GFX10-NEXT: s_mov_b32 s0, s2
57 ; GFX10-NEXT: s_mov_b32 s1, s3
58 ; GFX10-NEXT: s_mov_b32 s2, s4
59 ; GFX10-NEXT: s_mov_b32 s3, s5
60 ; GFX10-NEXT: s_mov_b32 s4, s6
61 ; GFX10-NEXT: s_mov_b32 s5, s7
62 ; GFX10-NEXT: s_mov_b32 s6, s8
63 ; GFX10-NEXT: s_mov_b32 s7, s9
64 ; GFX10-NEXT: image_atomic_add v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
65 ; GFX10-NEXT: s_waitcnt vmcnt(0)
66 ; GFX10-NEXT: ; return to shader part epilog
88 ; GFX10-LABEL: atomic_sub_i32_1d:
89 ; GFX10: ; %bb.0: ; %main_body
90 ; GFX10-NEXT: s_mov_b32 s0, s2
91 ; GFX10-NEXT: s_mov_b32 s1, s3
92 ; GFX10-NEXT: s_mov_b32 s2, s4
93 ; GFX10-NEXT: s_mov_b32 s3, s5
94 ; GFX10-NEXT: s_mov_b32 s4, s6
95 ; GFX10-NEXT: s_mov_b32 s5, s7
96 ; GFX10-NEXT: s_mov_b32 s6, s8
97 ; GFX10-NEXT: s_mov_b32 s7, s9
98 ; GFX10-NEXT: image_atomic_sub v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
99 ; GFX10-NEXT: s_waitcnt vmcnt(0)
100 ; GFX10-NEXT: ; return to shader part epilog
122 ; GFX10-LABEL: atomic_smin_i32_1d:
123 ; GFX10: ; %bb.0: ; %main_body
124 ; GFX10-NEXT: s_mov_b32 s0, s2
125 ; GFX10-NEXT: s_mov_b32 s1, s3
126 ; GFX10-NEXT: s_mov_b32 s2, s4
127 ; GFX10-NEXT: s_mov_b32 s3, s5
128 ; GFX10-NEXT: s_mov_b32 s4, s6
129 ; GFX10-NEXT: s_mov_b32 s5, s7
130 ; GFX10-NEXT: s_mov_b32 s6, s8
131 ; GFX10-NEXT: s_mov_b32 s7, s9
132 ; GFX10-NEXT: image_atomic_smin v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
133 ; GFX10-NEXT: s_waitcnt vmcnt(0)
134 ; GFX10-NEXT: ; return to shader part epilog
156 ; GFX10-LABEL: atomic_umin_i32_1d:
157 ; GFX10: ; %bb.0: ; %main_body
158 ; GFX10-NEXT: s_mov_b32 s0, s2
159 ; GFX10-NEXT: s_mov_b32 s1, s3
160 ; GFX10-NEXT: s_mov_b32 s2, s4
161 ; GFX10-NEXT: s_mov_b32 s3, s5
162 ; GFX10-NEXT: s_mov_b32 s4, s6
163 ; GFX10-NEXT: s_mov_b32 s5, s7
164 ; GFX10-NEXT: s_mov_b32 s6, s8
165 ; GFX10-NEXT: s_mov_b32 s7, s9
166 ; GFX10-NEXT: image_atomic_umin v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
167 ; GFX10-NEXT: s_waitcnt vmcnt(0)
168 ; GFX10-NEXT: ; return to shader part epilog
190 ; GFX10-LABEL: atomic_smax_i32_1d:
191 ; GFX10: ; %bb.0: ; %main_body
192 ; GFX10-NEXT: s_mov_b32 s0, s2
193 ; GFX10-NEXT: s_mov_b32 s1, s3
194 ; GFX10-NEXT: s_mov_b32 s2, s4
195 ; GFX10-NEXT: s_mov_b32 s3, s5
196 ; GFX10-NEXT: s_mov_b32 s4, s6
197 ; GFX10-NEXT: s_mov_b32 s5, s7
198 ; GFX10-NEXT: s_mov_b32 s6, s8
199 ; GFX10-NEXT: s_mov_b32 s7, s9
200 ; GFX10-NEXT: image_atomic_smax v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
201 ; GFX10-NEXT: s_waitcnt vmcnt(0)
202 ; GFX10-NEXT: ; return to shader part epilog
224 ; GFX10-LABEL: atomic_umax_i32_1d:
225 ; GFX10: ; %bb.0: ; %main_body
226 ; GFX10-NEXT: s_mov_b32 s0, s2
227 ; GFX10-NEXT: s_mov_b32 s1, s3
228 ; GFX10-NEXT: s_mov_b32 s2, s4
229 ; GFX10-NEXT: s_mov_b32 s3, s5
230 ; GFX10-NEXT: s_mov_b32 s4, s6
231 ; GFX10-NEXT: s_mov_b32 s5, s7
232 ; GFX10-NEXT: s_mov_b32 s6, s8
233 ; GFX10-NEXT: s_mov_b32 s7, s9
234 ; GFX10-NEXT: image_atomic_umax v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
235 ; GFX10-NEXT: s_waitcnt vmcnt(0)
236 ; GFX10-NEXT: ; return to shader part epilog
258 ; GFX10-LABEL: atomic_and_i321d:
259 ; GFX10: ; %bb.0: ; %main_body
260 ; GFX10-NEXT: s_mov_b32 s0, s2
261 ; GFX10-NEXT: s_mov_b32 s1, s3
262 ; GFX10-NEXT: s_mov_b32 s2, s4
263 ; GFX10-NEXT: s_mov_b32 s3, s5
264 ; GFX10-NEXT: s_mov_b32 s4, s6
265 ; GFX10-NEXT: s_mov_b32 s5, s7
266 ; GFX10-NEXT: s_mov_b32 s6, s8
267 ; GFX10-NEXT: s_mov_b32 s7, s9
268 ; GFX10-NEXT: image_atomic_and v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
269 ; GFX10-NEXT: s_waitcnt vmcnt(0)
270 ; GFX10-NEXT: ; return to shader part epilog
292 ; GFX10-LABEL: atomic_or_i32_1d:
293 ; GFX10: ; %bb.0: ; %main_body
294 ; GFX10-NEXT: s_mov_b32 s0, s2
295 ; GFX10-NEXT: s_mov_b32 s1, s3
296 ; GFX10-NEXT: s_mov_b32 s2, s4
297 ; GFX10-NEXT: s_mov_b32 s3, s5
298 ; GFX10-NEXT: s_mov_b32 s4, s6
299 ; GFX10-NEXT: s_mov_b32 s5, s7
300 ; GFX10-NEXT: s_mov_b32 s6, s8
301 ; GFX10-NEXT: s_mov_b32 s7, s9
302 ; GFX10-NEXT: image_atomic_or v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
303 ; GFX10-NEXT: s_waitcnt vmcnt(0)
304 ; GFX10-NEXT: ; return to shader part epilog
326 ; GFX10-LABEL: atomic_xor_i32_1d:
327 ; GFX10: ; %bb.0: ; %main_body
328 ; GFX10-NEXT: s_mov_b32 s0, s2
329 ; GFX10-NEXT: s_mov_b32 s1, s3
330 ; GFX10-NEXT: s_mov_b32 s2, s4
331 ; GFX10-NEXT: s_mov_b32 s3, s5
332 ; GFX10-NEXT: s_mov_b32 s4, s6
333 ; GFX10-NEXT: s_mov_b32 s5, s7
334 ; GFX10-NEXT: s_mov_b32 s6, s8
335 ; GFX10-NEXT: s_mov_b32 s7, s9
336 ; GFX10-NEXT: image_atomic_xor v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
337 ; GFX10-NEXT: s_waitcnt vmcnt(0)
338 ; GFX10-NEXT: ; return to shader part epilog
360 ; GFX10-LABEL: atomic_inc_i32_1d:
361 ; GFX10: ; %bb.0: ; %main_body
362 ; GFX10-NEXT: s_mov_b32 s0, s2
363 ; GFX10-NEXT: s_mov_b32 s1, s3
364 ; GFX10-NEXT: s_mov_b32 s2, s4
365 ; GFX10-NEXT: s_mov_b32 s3, s5
366 ; GFX10-NEXT: s_mov_b32 s4, s6
367 ; GFX10-NEXT: s_mov_b32 s5, s7
368 ; GFX10-NEXT: s_mov_b32 s6, s8
369 ; GFX10-NEXT: s_mov_b32 s7, s9
370 ; GFX10-NEXT: image_atomic_inc v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
371 ; GFX10-NEXT: s_waitcnt vmcnt(0)
372 ; GFX10-NEXT: ; return to shader part epilog
394 ; GFX10-LABEL: atomic_dec_i32_1d:
395 ; GFX10: ; %bb.0: ; %main_body
396 ; GFX10-NEXT: s_mov_b32 s0, s2
397 ; GFX10-NEXT: s_mov_b32 s1, s3
398 ; GFX10-NEXT: s_mov_b32 s2, s4
399 ; GFX10-NEXT: s_mov_b32 s3, s5
400 ; GFX10-NEXT: s_mov_b32 s4, s6
401 ; GFX10-NEXT: s_mov_b32 s5, s7
402 ; GFX10-NEXT: s_mov_b32 s6, s8
403 ; GFX10-NEXT: s_mov_b32 s7, s9
404 ; GFX10-NEXT: image_atomic_dec v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc a16
405 ; GFX10-NEXT: s_waitcnt vmcnt(0)
406 ; GFX10-NEXT: ; return to shader part epilog
428 ; GFX10-LABEL: atomic_cmpswap_i32_1d:
429 ; GFX10: ; %bb.0: ; %main_body
430 ; GFX10-NEXT: s_mov_b32 s0, s2
431 ; GFX10-NEXT: s_mov_b32 s1, s3
432 ; GFX10-NEXT: s_mov_b32 s2, s4
433 ; GFX10-NEXT: s_mov_b32 s3, s5
434 ; GFX10-NEXT: s_mov_b32 s4, s6
435 ; GFX10-NEXT: s_mov_b32 s5, s7
436 ; GFX10-NEXT: s_mov_b32 s6, s8
437 ; GFX10-NEXT: s_mov_b32 s7, s9
438 ; GFX10-NEXT: image_atomic_cmpswap v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
439 ; GFX10-NEXT: s_waitcnt vmcnt(0)
440 ; GFX10-NEXT: ; return to shader part epilog
465 ; GFX10-LABEL: atomic_add_i32_2d:
466 ; GFX10: ; %bb.0: ; %main_body
467 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
468 ; GFX10-NEXT: s_mov_b32 s0, s2
469 ; GFX10-NEXT: s_mov_b32 s1, s3
470 ; GFX10-NEXT: s_mov_b32 s2, s4
471 ; GFX10-NEXT: s_mov_b32 s3, s5
472 ; GFX10-NEXT: v_and_or_b32 v1, v1, 0xffff, v2
473 ; GFX10-NEXT: s_mov_b32 s4, s6
474 ; GFX10-NEXT: s_mov_b32 s5, s7
475 ; GFX10-NEXT: s_mov_b32 s6, s8
476 ; GFX10-NEXT: s_mov_b32 s7, s9
477 ; GFX10-NEXT: image_atomic_add v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_2D unorm glc a16
478 ; GFX10-NEXT: s_waitcnt vmcnt(0)
479 ; GFX10-NEXT: ; return to shader part epilog
506 ; GFX10-LABEL: atomic_add_i32_3d:
507 ; GFX10: ; %bb.0: ; %main_body
508 ; GFX10-NEXT: v_mov_b32_e32 v4, 0xffff
509 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
510 ; GFX10-NEXT: s_mov_b32 s0, s2
511 ; GFX10-NEXT: s_mov_b32 s2, s4
512 ; GFX10-NEXT: s_mov_b32 s4, s6
513 ; GFX10-NEXT: s_mov_b32 s6, s8
514 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
515 ; GFX10-NEXT: v_and_or_b32 v1, v1, v4, v2
516 ; GFX10-NEXT: v_and_or_b32 v2, v3, v4, s8
517 ; GFX10-NEXT: s_mov_b32 s1, s3
518 ; GFX10-NEXT: s_mov_b32 s3, s5
519 ; GFX10-NEXT: s_mov_b32 s5, s7
520 ; GFX10-NEXT: s_mov_b32 s7, s9
521 ; GFX10-NEXT: image_atomic_add v0, v[1:2], s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_3D unorm glc a16
522 ; GFX10-NEXT: s_waitcnt vmcnt(0)
523 ; GFX10-NEXT: ; return to shader part epilog
550 ; GFX10-LABEL: atomic_add_i32_cube:
551 ; GFX10: ; %bb.0: ; %main_body
552 ; GFX10-NEXT: v_mov_b32_e32 v4, 0xffff
553 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
554 ; GFX10-NEXT: s_mov_b32 s0, s2
555 ; GFX10-NEXT: s_mov_b32 s2, s4
556 ; GFX10-NEXT: s_mov_b32 s4, s6
557 ; GFX10-NEXT: s_mov_b32 s6, s8
558 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
559 ; GFX10-NEXT: v_and_or_b32 v1, v1, v4, v2
560 ; GFX10-NEXT: v_and_or_b32 v2, v3, v4, s8
561 ; GFX10-NEXT: s_mov_b32 s1, s3
562 ; GFX10-NEXT: s_mov_b32 s3, s5
563 ; GFX10-NEXT: s_mov_b32 s5, s7
564 ; GFX10-NEXT: s_mov_b32 s7, s9
565 ; GFX10-NEXT: image_atomic_add v0, v[1:2], s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_CUBE unorm glc a16
566 ; GFX10-NEXT: s_waitcnt vmcnt(0)
567 ; GFX10-NEXT: ; return to shader part epilog
592 ; GFX10-LABEL: atomic_add_i32_1darray:
593 ; GFX10: ; %bb.0: ; %main_body
594 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
595 ; GFX10-NEXT: s_mov_b32 s0, s2
596 ; GFX10-NEXT: s_mov_b32 s1, s3
597 ; GFX10-NEXT: s_mov_b32 s2, s4
598 ; GFX10-NEXT: s_mov_b32 s3, s5
599 ; GFX10-NEXT: v_and_or_b32 v1, v1, 0xffff, v2
600 ; GFX10-NEXT: s_mov_b32 s4, s6
601 ; GFX10-NEXT: s_mov_b32 s5, s7
602 ; GFX10-NEXT: s_mov_b32 s6, s8
603 ; GFX10-NEXT: s_mov_b32 s7, s9
604 ; GFX10-NEXT: image_atomic_add v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D_ARRAY unorm glc a16
605 ; GFX10-NEXT: s_waitcnt vmcnt(0)
606 ; GFX10-NEXT: ; return to shader part epilog
633 ; GFX10-LABEL: atomic_add_i32_2darray:
634 ; GFX10: ; %bb.0: ; %main_body
635 ; GFX10-NEXT: v_mov_b32_e32 v4, 0xffff
636 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
637 ; GFX10-NEXT: s_mov_b32 s0, s2
638 ; GFX10-NEXT: s_mov_b32 s2, s4
639 ; GFX10-NEXT: s_mov_b32 s4, s6
640 ; GFX10-NEXT: s_mov_b32 s6, s8
641 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
642 ; GFX10-NEXT: v_and_or_b32 v1, v1, v4, v2
643 ; GFX10-NEXT: v_and_or_b32 v2, v3, v4, s8
644 ; GFX10-NEXT: s_mov_b32 s1, s3
645 ; GFX10-NEXT: s_mov_b32 s3, s5
646 ; GFX10-NEXT: s_mov_b32 s5, s7
647 ; GFX10-NEXT: s_mov_b32 s7, s9
648 ; GFX10-NEXT: image_atomic_add v0, v[1:2], s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_2D_ARRAY unorm glc a…
649 ; GFX10-NEXT: s_waitcnt vmcnt(0)
650 ; GFX10-NEXT: ; return to shader part epilog
677 ; GFX10-LABEL: atomic_add_i32_2dmsaa:
678 ; GFX10: ; %bb.0: ; %main_body
679 ; GFX10-NEXT: v_mov_b32_e32 v4, 0xffff
680 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
681 ; GFX10-NEXT: s_mov_b32 s0, s2
682 ; GFX10-NEXT: s_mov_b32 s2, s4
683 ; GFX10-NEXT: s_mov_b32 s4, s6
684 ; GFX10-NEXT: s_mov_b32 s6, s8
685 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
686 ; GFX10-NEXT: v_and_or_b32 v1, v1, v4, v2
687 ; GFX10-NEXT: v_and_or_b32 v2, v3, v4, s8
688 ; GFX10-NEXT: s_mov_b32 s1, s3
689 ; GFX10-NEXT: s_mov_b32 s3, s5
690 ; GFX10-NEXT: s_mov_b32 s5, s7
691 ; GFX10-NEXT: s_mov_b32 s7, s9
692 ; GFX10-NEXT: image_atomic_add v0, v[1:2], s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_2D_MSAA unorm glc a16
693 ; GFX10-NEXT: s_waitcnt vmcnt(0)
694 ; GFX10-NEXT: ; return to shader part epilog
721 ; GFX10-LABEL: atomic_add_i32_2darraymsaa:
722 ; GFX10: ; %bb.0: ; %main_body
723 ; GFX10-NEXT: v_mov_b32_e32 v5, 0xffff
724 ; GFX10-NEXT: v_lshlrev_b32_e32 v2, 16, v2
725 ; GFX10-NEXT: v_lshlrev_b32_e32 v4, 16, v4
726 ; GFX10-NEXT: s_mov_b32 s0, s2
727 ; GFX10-NEXT: s_mov_b32 s1, s3
728 ; GFX10-NEXT: s_mov_b32 s2, s4
729 ; GFX10-NEXT: v_and_or_b32 v1, v1, v5, v2
730 ; GFX10-NEXT: v_and_or_b32 v2, v3, v5, v4
731 ; GFX10-NEXT: s_mov_b32 s3, s5
732 ; GFX10-NEXT: s_mov_b32 s4, s6
733 ; GFX10-NEXT: s_mov_b32 s5, s7
734 ; GFX10-NEXT: s_mov_b32 s6, s8
735 ; GFX10-NEXT: s_mov_b32 s7, s9
736 ; GFX10-NEXT: image_atomic_add v0, v[1:2], s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_2D_MSAA_ARRAY unorm …
737 ; GFX10-NEXT: s_waitcnt vmcnt(0)
738 ; GFX10-NEXT: ; return to shader part epilog
760 ; GFX10-LABEL: atomic_add_i32_1d_slc:
761 ; GFX10: ; %bb.0: ; %main_body
762 ; GFX10-NEXT: s_mov_b32 s0, s2
763 ; GFX10-NEXT: s_mov_b32 s1, s3
764 ; GFX10-NEXT: s_mov_b32 s2, s4
765 ; GFX10-NEXT: s_mov_b32 s3, s5
766 ; GFX10-NEXT: s_mov_b32 s4, s6
767 ; GFX10-NEXT: s_mov_b32 s5, s7
768 ; GFX10-NEXT: s_mov_b32 s6, s8
769 ; GFX10-NEXT: s_mov_b32 s7, s9
770 ; GFX10-NEXT: image_atomic_add v0, v1, s[0:7] dmask:0x1 dim:SQ_RSRC_IMG_1D unorm glc slc a16
771 ; GFX10-NEXT: s_waitcnt vmcnt(0)
772 ; GFX10-NEXT: ; return to shader part epilog
794 ; GFX10-LABEL: atomic_swap_i64_1d:
795 ; GFX10: ; %bb.0: ; %main_body
796 ; GFX10-NEXT: s_mov_b32 s0, s2
797 ; GFX10-NEXT: s_mov_b32 s1, s3
798 ; GFX10-NEXT: s_mov_b32 s2, s4
799 ; GFX10-NEXT: s_mov_b32 s3, s5
800 ; GFX10-NEXT: s_mov_b32 s4, s6
801 ; GFX10-NEXT: s_mov_b32 s5, s7
802 ; GFX10-NEXT: s_mov_b32 s6, s8
803 ; GFX10-NEXT: s_mov_b32 s7, s9
804 ; GFX10-NEXT: image_atomic_swap v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
805 ; GFX10-NEXT: s_waitcnt vmcnt(0)
806 ; GFX10-NEXT: ; return to shader part epilog
828 ; GFX10-LABEL: atomic_add_i64_1d:
829 ; GFX10: ; %bb.0: ; %main_body
830 ; GFX10-NEXT: s_mov_b32 s0, s2
831 ; GFX10-NEXT: s_mov_b32 s1, s3
832 ; GFX10-NEXT: s_mov_b32 s2, s4
833 ; GFX10-NEXT: s_mov_b32 s3, s5
834 ; GFX10-NEXT: s_mov_b32 s4, s6
835 ; GFX10-NEXT: s_mov_b32 s5, s7
836 ; GFX10-NEXT: s_mov_b32 s6, s8
837 ; GFX10-NEXT: s_mov_b32 s7, s9
838 ; GFX10-NEXT: image_atomic_add v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
839 ; GFX10-NEXT: s_waitcnt vmcnt(0)
840 ; GFX10-NEXT: ; return to shader part epilog
862 ; GFX10-LABEL: atomic_sub_i64_1d:
863 ; GFX10: ; %bb.0: ; %main_body
864 ; GFX10-NEXT: s_mov_b32 s0, s2
865 ; GFX10-NEXT: s_mov_b32 s1, s3
866 ; GFX10-NEXT: s_mov_b32 s2, s4
867 ; GFX10-NEXT: s_mov_b32 s3, s5
868 ; GFX10-NEXT: s_mov_b32 s4, s6
869 ; GFX10-NEXT: s_mov_b32 s5, s7
870 ; GFX10-NEXT: s_mov_b32 s6, s8
871 ; GFX10-NEXT: s_mov_b32 s7, s9
872 ; GFX10-NEXT: image_atomic_sub v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
873 ; GFX10-NEXT: s_waitcnt vmcnt(0)
874 ; GFX10-NEXT: ; return to shader part epilog
896 ; GFX10-LABEL: atomic_smin_i64_1d:
897 ; GFX10: ; %bb.0: ; %main_body
898 ; GFX10-NEXT: s_mov_b32 s0, s2
899 ; GFX10-NEXT: s_mov_b32 s1, s3
900 ; GFX10-NEXT: s_mov_b32 s2, s4
901 ; GFX10-NEXT: s_mov_b32 s3, s5
902 ; GFX10-NEXT: s_mov_b32 s4, s6
903 ; GFX10-NEXT: s_mov_b32 s5, s7
904 ; GFX10-NEXT: s_mov_b32 s6, s8
905 ; GFX10-NEXT: s_mov_b32 s7, s9
906 ; GFX10-NEXT: image_atomic_smin v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
907 ; GFX10-NEXT: s_waitcnt vmcnt(0)
908 ; GFX10-NEXT: ; return to shader part epilog
930 ; GFX10-LABEL: atomic_umin_i64_1d:
931 ; GFX10: ; %bb.0: ; %main_body
932 ; GFX10-NEXT: s_mov_b32 s0, s2
933 ; GFX10-NEXT: s_mov_b32 s1, s3
934 ; GFX10-NEXT: s_mov_b32 s2, s4
935 ; GFX10-NEXT: s_mov_b32 s3, s5
936 ; GFX10-NEXT: s_mov_b32 s4, s6
937 ; GFX10-NEXT: s_mov_b32 s5, s7
938 ; GFX10-NEXT: s_mov_b32 s6, s8
939 ; GFX10-NEXT: s_mov_b32 s7, s9
940 ; GFX10-NEXT: image_atomic_umin v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
941 ; GFX10-NEXT: s_waitcnt vmcnt(0)
942 ; GFX10-NEXT: ; return to shader part epilog
964 ; GFX10-LABEL: atomic_smax_i64_1d:
965 ; GFX10: ; %bb.0: ; %main_body
966 ; GFX10-NEXT: s_mov_b32 s0, s2
967 ; GFX10-NEXT: s_mov_b32 s1, s3
968 ; GFX10-NEXT: s_mov_b32 s2, s4
969 ; GFX10-NEXT: s_mov_b32 s3, s5
970 ; GFX10-NEXT: s_mov_b32 s4, s6
971 ; GFX10-NEXT: s_mov_b32 s5, s7
972 ; GFX10-NEXT: s_mov_b32 s6, s8
973 ; GFX10-NEXT: s_mov_b32 s7, s9
974 ; GFX10-NEXT: image_atomic_smax v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
975 ; GFX10-NEXT: s_waitcnt vmcnt(0)
976 ; GFX10-NEXT: ; return to shader part epilog
998 ; GFX10-LABEL: atomic_umax_i64_1d:
999 ; GFX10: ; %bb.0: ; %main_body
1000 ; GFX10-NEXT: s_mov_b32 s0, s2
1001 ; GFX10-NEXT: s_mov_b32 s1, s3
1002 ; GFX10-NEXT: s_mov_b32 s2, s4
1003 ; GFX10-NEXT: s_mov_b32 s3, s5
1004 ; GFX10-NEXT: s_mov_b32 s4, s6
1005 ; GFX10-NEXT: s_mov_b32 s5, s7
1006 ; GFX10-NEXT: s_mov_b32 s6, s8
1007 ; GFX10-NEXT: s_mov_b32 s7, s9
1008 ; GFX10-NEXT: image_atomic_umax v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1009 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1010 ; GFX10-NEXT: ; return to shader part epilog
1032 ; GFX10-LABEL: atomic_and_i64_1d:
1033 ; GFX10: ; %bb.0: ; %main_body
1034 ; GFX10-NEXT: s_mov_b32 s0, s2
1035 ; GFX10-NEXT: s_mov_b32 s1, s3
1036 ; GFX10-NEXT: s_mov_b32 s2, s4
1037 ; GFX10-NEXT: s_mov_b32 s3, s5
1038 ; GFX10-NEXT: s_mov_b32 s4, s6
1039 ; GFX10-NEXT: s_mov_b32 s5, s7
1040 ; GFX10-NEXT: s_mov_b32 s6, s8
1041 ; GFX10-NEXT: s_mov_b32 s7, s9
1042 ; GFX10-NEXT: image_atomic_and v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1043 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1044 ; GFX10-NEXT: ; return to shader part epilog
1066 ; GFX10-LABEL: atomic_or_i64_1d:
1067 ; GFX10: ; %bb.0: ; %main_body
1068 ; GFX10-NEXT: s_mov_b32 s0, s2
1069 ; GFX10-NEXT: s_mov_b32 s1, s3
1070 ; GFX10-NEXT: s_mov_b32 s2, s4
1071 ; GFX10-NEXT: s_mov_b32 s3, s5
1072 ; GFX10-NEXT: s_mov_b32 s4, s6
1073 ; GFX10-NEXT: s_mov_b32 s5, s7
1074 ; GFX10-NEXT: s_mov_b32 s6, s8
1075 ; GFX10-NEXT: s_mov_b32 s7, s9
1076 ; GFX10-NEXT: image_atomic_or v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1077 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1078 ; GFX10-NEXT: ; return to shader part epilog
1100 ; GFX10-LABEL: atomic_xor_i64_1d:
1101 ; GFX10: ; %bb.0: ; %main_body
1102 ; GFX10-NEXT: s_mov_b32 s0, s2
1103 ; GFX10-NEXT: s_mov_b32 s1, s3
1104 ; GFX10-NEXT: s_mov_b32 s2, s4
1105 ; GFX10-NEXT: s_mov_b32 s3, s5
1106 ; GFX10-NEXT: s_mov_b32 s4, s6
1107 ; GFX10-NEXT: s_mov_b32 s5, s7
1108 ; GFX10-NEXT: s_mov_b32 s6, s8
1109 ; GFX10-NEXT: s_mov_b32 s7, s9
1110 ; GFX10-NEXT: image_atomic_xor v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1111 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1112 ; GFX10-NEXT: ; return to shader part epilog
1134 ; GFX10-LABEL: atomic_inc_i64_1d:
1135 ; GFX10: ; %bb.0: ; %main_body
1136 ; GFX10-NEXT: s_mov_b32 s0, s2
1137 ; GFX10-NEXT: s_mov_b32 s1, s3
1138 ; GFX10-NEXT: s_mov_b32 s2, s4
1139 ; GFX10-NEXT: s_mov_b32 s3, s5
1140 ; GFX10-NEXT: s_mov_b32 s4, s6
1141 ; GFX10-NEXT: s_mov_b32 s5, s7
1142 ; GFX10-NEXT: s_mov_b32 s6, s8
1143 ; GFX10-NEXT: s_mov_b32 s7, s9
1144 ; GFX10-NEXT: image_atomic_inc v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1145 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1146 ; GFX10-NEXT: ; return to shader part epilog
1168 ; GFX10-LABEL: atomic_dec_i64_1d:
1169 ; GFX10: ; %bb.0: ; %main_body
1170 ; GFX10-NEXT: s_mov_b32 s0, s2
1171 ; GFX10-NEXT: s_mov_b32 s1, s3
1172 ; GFX10-NEXT: s_mov_b32 s2, s4
1173 ; GFX10-NEXT: s_mov_b32 s3, s5
1174 ; GFX10-NEXT: s_mov_b32 s4, s6
1175 ; GFX10-NEXT: s_mov_b32 s5, s7
1176 ; GFX10-NEXT: s_mov_b32 s6, s8
1177 ; GFX10-NEXT: s_mov_b32 s7, s9
1178 ; GFX10-NEXT: image_atomic_dec v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc a16
1179 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1180 ; GFX10-NEXT: ; return to shader part epilog
1202 ; GFX10-LABEL: atomic_cmpswap_i64_1d:
1203 ; GFX10: ; %bb.0: ; %main_body
1204 ; GFX10-NEXT: s_mov_b32 s0, s2
1205 ; GFX10-NEXT: s_mov_b32 s1, s3
1206 ; GFX10-NEXT: s_mov_b32 s2, s4
1207 ; GFX10-NEXT: s_mov_b32 s3, s5
1208 ; GFX10-NEXT: s_mov_b32 s4, s6
1209 ; GFX10-NEXT: s_mov_b32 s5, s7
1210 ; GFX10-NEXT: s_mov_b32 s6, s8
1211 ; GFX10-NEXT: s_mov_b32 s7, s9
1212 ; GFX10-NEXT: image_atomic_cmpswap v[0:3], v4, s[0:7] dmask:0xf dim:SQ_RSRC_IMG_1D unorm glc a16
1213 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1214 ; GFX10-NEXT: ; return to shader part epilog
1239 ; GFX10-LABEL: atomic_add_i64_2d:
1240 ; GFX10: ; %bb.0: ; %main_body
1241 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1242 ; GFX10-NEXT: s_mov_b32 s0, s2
1243 ; GFX10-NEXT: s_mov_b32 s1, s3
1244 ; GFX10-NEXT: s_mov_b32 s2, s4
1245 ; GFX10-NEXT: s_mov_b32 s3, s5
1246 ; GFX10-NEXT: v_and_or_b32 v2, v2, 0xffff, v3
1247 ; GFX10-NEXT: s_mov_b32 s4, s6
1248 ; GFX10-NEXT: s_mov_b32 s5, s7
1249 ; GFX10-NEXT: s_mov_b32 s6, s8
1250 ; GFX10-NEXT: s_mov_b32 s7, s9
1251 ; GFX10-NEXT: image_atomic_add v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_2D unorm glc a16
1252 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1253 ; GFX10-NEXT: ; return to shader part epilog
1280 ; GFX10-LABEL: atomic_add_i64_3d:
1281 ; GFX10: ; %bb.0: ; %main_body
1282 ; GFX10-NEXT: v_mov_b32_e32 v5, 0xffff
1283 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1284 ; GFX10-NEXT: s_mov_b32 s0, s2
1285 ; GFX10-NEXT: s_mov_b32 s2, s4
1286 ; GFX10-NEXT: s_mov_b32 s4, s6
1287 ; GFX10-NEXT: s_mov_b32 s6, s8
1288 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
1289 ; GFX10-NEXT: v_and_or_b32 v2, v2, v5, v3
1290 ; GFX10-NEXT: v_and_or_b32 v3, v4, v5, s8
1291 ; GFX10-NEXT: s_mov_b32 s1, s3
1292 ; GFX10-NEXT: s_mov_b32 s3, s5
1293 ; GFX10-NEXT: s_mov_b32 s5, s7
1294 ; GFX10-NEXT: s_mov_b32 s7, s9
1295 ; GFX10-NEXT: image_atomic_add v[0:1], v[2:3], s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_3D unorm glc a16
1296 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1297 ; GFX10-NEXT: ; return to shader part epilog
1324 ; GFX10-LABEL: atomic_add_i64_cube:
1325 ; GFX10: ; %bb.0: ; %main_body
1326 ; GFX10-NEXT: v_mov_b32_e32 v5, 0xffff
1327 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1328 ; GFX10-NEXT: s_mov_b32 s0, s2
1329 ; GFX10-NEXT: s_mov_b32 s2, s4
1330 ; GFX10-NEXT: s_mov_b32 s4, s6
1331 ; GFX10-NEXT: s_mov_b32 s6, s8
1332 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
1333 ; GFX10-NEXT: v_and_or_b32 v2, v2, v5, v3
1334 ; GFX10-NEXT: v_and_or_b32 v3, v4, v5, s8
1335 ; GFX10-NEXT: s_mov_b32 s1, s3
1336 ; GFX10-NEXT: s_mov_b32 s3, s5
1337 ; GFX10-NEXT: s_mov_b32 s5, s7
1338 ; GFX10-NEXT: s_mov_b32 s7, s9
1339 ; GFX10-NEXT: image_atomic_add v[0:1], v[2:3], s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_CUBE unorm glc a…
1340 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1341 ; GFX10-NEXT: ; return to shader part epilog
1366 ; GFX10-LABEL: atomic_add_i64_1darray:
1367 ; GFX10: ; %bb.0: ; %main_body
1368 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1369 ; GFX10-NEXT: s_mov_b32 s0, s2
1370 ; GFX10-NEXT: s_mov_b32 s1, s3
1371 ; GFX10-NEXT: s_mov_b32 s2, s4
1372 ; GFX10-NEXT: s_mov_b32 s3, s5
1373 ; GFX10-NEXT: v_and_or_b32 v2, v2, 0xffff, v3
1374 ; GFX10-NEXT: s_mov_b32 s4, s6
1375 ; GFX10-NEXT: s_mov_b32 s5, s7
1376 ; GFX10-NEXT: s_mov_b32 s6, s8
1377 ; GFX10-NEXT: s_mov_b32 s7, s9
1378 ; GFX10-NEXT: image_atomic_add v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D_ARRAY unorm glc a…
1379 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1380 ; GFX10-NEXT: ; return to shader part epilog
1407 ; GFX10-LABEL: atomic_add_i64_2darray:
1408 ; GFX10: ; %bb.0: ; %main_body
1409 ; GFX10-NEXT: v_mov_b32_e32 v5, 0xffff
1410 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1411 ; GFX10-NEXT: s_mov_b32 s0, s2
1412 ; GFX10-NEXT: s_mov_b32 s2, s4
1413 ; GFX10-NEXT: s_mov_b32 s4, s6
1414 ; GFX10-NEXT: s_mov_b32 s6, s8
1415 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
1416 ; GFX10-NEXT: v_and_or_b32 v2, v2, v5, v3
1417 ; GFX10-NEXT: v_and_or_b32 v3, v4, v5, s8
1418 ; GFX10-NEXT: s_mov_b32 s1, s3
1419 ; GFX10-NEXT: s_mov_b32 s3, s5
1420 ; GFX10-NEXT: s_mov_b32 s5, s7
1421 ; GFX10-NEXT: s_mov_b32 s7, s9
1422 ; GFX10-NEXT: image_atomic_add v[0:1], v[2:3], s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_2D_ARRAY unorm g…
1423 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1424 ; GFX10-NEXT: ; return to shader part epilog
1451 ; GFX10-LABEL: atomic_add_i64_2dmsaa:
1452 ; GFX10: ; %bb.0: ; %main_body
1453 ; GFX10-NEXT: v_mov_b32_e32 v5, 0xffff
1454 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1455 ; GFX10-NEXT: s_mov_b32 s0, s2
1456 ; GFX10-NEXT: s_mov_b32 s2, s4
1457 ; GFX10-NEXT: s_mov_b32 s4, s6
1458 ; GFX10-NEXT: s_mov_b32 s6, s8
1459 ; GFX10-NEXT: s_lshl_b32 s8, s0, 16
1460 ; GFX10-NEXT: v_and_or_b32 v2, v2, v5, v3
1461 ; GFX10-NEXT: v_and_or_b32 v3, v4, v5, s8
1462 ; GFX10-NEXT: s_mov_b32 s1, s3
1463 ; GFX10-NEXT: s_mov_b32 s3, s5
1464 ; GFX10-NEXT: s_mov_b32 s5, s7
1465 ; GFX10-NEXT: s_mov_b32 s7, s9
1466 ; GFX10-NEXT: image_atomic_add v[0:1], v[2:3], s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_2D_MSAA unorm gl…
1467 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1468 ; GFX10-NEXT: ; return to shader part epilog
1495 ; GFX10-LABEL: atomic_add_i64_2darraymsaa:
1496 ; GFX10: ; %bb.0: ; %main_body
1497 ; GFX10-NEXT: v_mov_b32_e32 v6, 0xffff
1498 ; GFX10-NEXT: v_lshlrev_b32_e32 v3, 16, v3
1499 ; GFX10-NEXT: v_lshlrev_b32_e32 v5, 16, v5
1500 ; GFX10-NEXT: s_mov_b32 s0, s2
1501 ; GFX10-NEXT: s_mov_b32 s1, s3
1502 ; GFX10-NEXT: s_mov_b32 s2, s4
1503 ; GFX10-NEXT: v_and_or_b32 v2, v2, v6, v3
1504 ; GFX10-NEXT: v_and_or_b32 v3, v4, v6, v5
1505 ; GFX10-NEXT: s_mov_b32 s3, s5
1506 ; GFX10-NEXT: s_mov_b32 s4, s6
1507 ; GFX10-NEXT: s_mov_b32 s5, s7
1508 ; GFX10-NEXT: s_mov_b32 s6, s8
1509 ; GFX10-NEXT: s_mov_b32 s7, s9
1510 ; GFX10-NEXT: image_atomic_add v[0:1], v[2:3], s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_2D_MSAA_ARRAY un…
1511 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1512 ; GFX10-NEXT: ; return to shader part epilog
1534 ; GFX10-LABEL: atomic_add_i64_1d_slc:
1535 ; GFX10: ; %bb.0: ; %main_body
1536 ; GFX10-NEXT: s_mov_b32 s0, s2
1537 ; GFX10-NEXT: s_mov_b32 s1, s3
1538 ; GFX10-NEXT: s_mov_b32 s2, s4
1539 ; GFX10-NEXT: s_mov_b32 s3, s5
1540 ; GFX10-NEXT: s_mov_b32 s4, s6
1541 ; GFX10-NEXT: s_mov_b32 s5, s7
1542 ; GFX10-NEXT: s_mov_b32 s6, s8
1543 ; GFX10-NEXT: s_mov_b32 s7, s9
1544 ; GFX10-NEXT: image_atomic_add v[0:1], v2, s[0:7] dmask:0x3 dim:SQ_RSRC_IMG_1D unorm glc slc a16
1545 ; GFX10-NEXT: s_waitcnt vmcnt(0)
1546 ; GFX10-NEXT: ; return to shader part epilog