Lines Matching full:ci

2 …d-amdhsa -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=CI %s
20 ; CI-LABEL: lds_atomic_dec_ret_i32:
21 ; CI: ; %bb.0:
22 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
23 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
24 ; CI-NEXT: v_mov_b32_e32 v0, 42
25 ; CI-NEXT: s_mov_b32 m0, -1
26 ; CI-NEXT: s_waitcnt lgkmcnt(0)
27 ; CI-NEXT: v_mov_b32_e32 v1, s2
28 ; CI-NEXT: ds_dec_rtn_u32 v2, v1, v0
29 ; CI-NEXT: v_mov_b32_e32 v0, s0
30 ; CI-NEXT: v_mov_b32_e32 v1, s1
31 ; CI-NEXT: s_waitcnt lgkmcnt(0)
32 ; CI-NEXT: flat_store_dword v[0:1], v2
33 ; CI-NEXT: s_endpgm
68 ; CI-LABEL: lds_atomic_dec_ret_i32_offset:
69 ; CI: ; %bb.0:
70 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
71 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
72 ; CI-NEXT: v_mov_b32_e32 v0, 42
73 ; CI-NEXT: s_mov_b32 m0, -1
74 ; CI-NEXT: s_waitcnt lgkmcnt(0)
75 ; CI-NEXT: v_mov_b32_e32 v1, s2
76 ; CI-NEXT: ds_dec_rtn_u32 v2, v1, v0 offset:16
77 ; CI-NEXT: v_mov_b32_e32 v0, s0
78 ; CI-NEXT: v_mov_b32_e32 v1, s1
79 ; CI-NEXT: s_waitcnt lgkmcnt(0)
80 ; CI-NEXT: flat_store_dword v[0:1], v2
81 ; CI-NEXT: s_endpgm
135 ; CI-LABEL: lds_atomic_dec_noret_i32:
136 ; CI: ; %bb.0:
137 ; CI-NEXT: s_load_dword s0, s[4:5], 0x0
138 ; CI-NEXT: v_mov_b32_e32 v0, 42
139 ; CI-NEXT: s_mov_b32 m0, -1
140 ; CI-NEXT: s_waitcnt lgkmcnt(0)
141 ; CI-NEXT: v_mov_b32_e32 v1, s0
142 ; CI-NEXT: ds_dec_rtn_u32 v0, v1, v0
143 ; CI-NEXT: s_endpgm
159 ; CI-LABEL: lds_atomic_dec_noret_i32_offset:
160 ; CI: ; %bb.0:
161 ; CI-NEXT: s_load_dword s0, s[4:5], 0x0
162 ; CI-NEXT: v_mov_b32_e32 v0, 42
163 ; CI-NEXT: s_mov_b32 m0, -1
164 ; CI-NEXT: s_waitcnt lgkmcnt(0)
165 ; CI-NEXT: v_mov_b32_e32 v1, s0
166 ; CI-NEXT: ds_dec_rtn_u32 v0, v1, v0 offset:16
167 ; CI-NEXT: s_endpgm
193 ; CI-LABEL: global_atomic_dec_ret_i32:
194 ; CI: ; %bb.0:
195 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
196 ; CI-NEXT: v_mov_b32_e32 v2, 42
197 ; CI-NEXT: s_waitcnt lgkmcnt(0)
198 ; CI-NEXT: v_mov_b32_e32 v0, s2
199 ; CI-NEXT: v_mov_b32_e32 v1, s3
200 ; CI-NEXT: flat_atomic_dec v2, v[0:1], v2 glc
201 ; CI-NEXT: v_mov_b32_e32 v0, s0
202 ; CI-NEXT: v_mov_b32_e32 v1, s1
203 ; CI-NEXT: s_waitcnt vmcnt(0)
204 ; CI-NEXT: flat_store_dword v[0:1], v2
205 ; CI-NEXT: s_endpgm
239 ; CI-LABEL: global_atomic_dec_ret_i32_offset:
240 ; CI: ; %bb.0:
241 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
242 ; CI-NEXT: v_mov_b32_e32 v2, 42
243 ; CI-NEXT: s_waitcnt lgkmcnt(0)
244 ; CI-NEXT: s_add_u32 s2, s2, 16
245 ; CI-NEXT: s_addc_u32 s3, s3, 0
246 ; CI-NEXT: v_mov_b32_e32 v0, s2
247 ; CI-NEXT: v_mov_b32_e32 v1, s3
248 ; CI-NEXT: flat_atomic_dec v2, v[0:1], v2 glc
249 ; CI-NEXT: v_mov_b32_e32 v0, s0
250 ; CI-NEXT: v_mov_b32_e32 v1, s1
251 ; CI-NEXT: s_waitcnt vmcnt(0)
252 ; CI-NEXT: flat_store_dword v[0:1], v2
253 ; CI-NEXT: s_endpgm
292 ; CI-LABEL: global_atomic_dec_noret_i32:
293 ; CI: ; %bb.0:
294 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
295 ; CI-NEXT: v_mov_b32_e32 v2, 42
296 ; CI-NEXT: s_waitcnt lgkmcnt(0)
297 ; CI-NEXT: v_mov_b32_e32 v0, s0
298 ; CI-NEXT: v_mov_b32_e32 v1, s1
299 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
300 ; CI-NEXT: s_endpgm
325 ; CI-LABEL: global_atomic_dec_noret_i32_offset:
326 ; CI: ; %bb.0:
327 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
328 ; CI-NEXT: v_mov_b32_e32 v2, 42
329 ; CI-NEXT: s_waitcnt lgkmcnt(0)
330 ; CI-NEXT: s_add_u32 s0, s0, 16
331 ; CI-NEXT: s_addc_u32 s1, s1, 0
332 ; CI-NEXT: v_mov_b32_e32 v0, s0
333 ; CI-NEXT: v_mov_b32_e32 v1, s1
334 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
335 ; CI-NEXT: s_endpgm
365 ; CI-LABEL: global_atomic_dec_ret_i32_offset_addr64:
366 ; CI: ; %bb.0:
367 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
368 ; CI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
369 ; CI-NEXT: s_waitcnt lgkmcnt(0)
370 ; CI-NEXT: v_mov_b32_e32 v0, s2
371 ; CI-NEXT: v_mov_b32_e32 v1, s3
372 ; CI-NEXT: v_add_i32_e32 v3, vcc, v0, v2
373 ; CI-NEXT: v_addc_u32_e32 v4, vcc, 0, v1, vcc
374 ; CI-NEXT: v_mov_b32_e32 v0, s0
375 ; CI-NEXT: v_mov_b32_e32 v1, s1
376 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
377 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
378 ; CI-NEXT: v_add_i32_e32 v2, vcc, 20, v3
379 ; CI-NEXT: v_addc_u32_e32 v3, vcc, 0, v4, vcc
380 ; CI-NEXT: v_mov_b32_e32 v4, 42
381 ; CI-NEXT: flat_atomic_dec v2, v[2:3], v4 glc
382 ; CI-NEXT: s_waitcnt vmcnt(0)
383 ; CI-NEXT: flat_store_dword v[0:1], v2
384 ; CI-NEXT: s_endpgm
440 ; CI-LABEL: global_atomic_dec_noret_i32_offset_addr64:
441 ; CI: ; %bb.0:
442 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
443 ; CI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
444 ; CI-NEXT: s_waitcnt lgkmcnt(0)
445 ; CI-NEXT: v_mov_b32_e32 v0, s0
446 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
447 ; CI-NEXT: v_mov_b32_e32 v1, s1
448 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
449 ; CI-NEXT: v_add_i32_e32 v0, vcc, 20, v0
450 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
451 ; CI-NEXT: v_mov_b32_e32 v2, 42
452 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
453 ; CI-NEXT: s_endpgm
496 ; CI-LABEL: flat_atomic_dec_ret_i32:
497 ; CI: ; %bb.0:
498 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
499 ; CI-NEXT: v_mov_b32_e32 v2, 42
500 ; CI-NEXT: s_waitcnt lgkmcnt(0)
501 ; CI-NEXT: v_mov_b32_e32 v0, s2
502 ; CI-NEXT: v_mov_b32_e32 v1, s3
503 ; CI-NEXT: flat_atomic_dec v2, v[0:1], v2 glc
504 ; CI-NEXT: v_mov_b32_e32 v0, s0
505 ; CI-NEXT: v_mov_b32_e32 v1, s1
506 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
507 ; CI-NEXT: flat_store_dword v[0:1], v2
508 ; CI-NEXT: s_endpgm
542 ; CI-LABEL: flat_atomic_dec_ret_i32_offset:
543 ; CI: ; %bb.0:
544 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
545 ; CI-NEXT: v_mov_b32_e32 v2, 42
546 ; CI-NEXT: s_waitcnt lgkmcnt(0)
547 ; CI-NEXT: s_add_u32 s2, s2, 16
548 ; CI-NEXT: s_addc_u32 s3, s3, 0
549 ; CI-NEXT: v_mov_b32_e32 v0, s2
550 ; CI-NEXT: v_mov_b32_e32 v1, s3
551 ; CI-NEXT: flat_atomic_dec v2, v[0:1], v2 glc
552 ; CI-NEXT: v_mov_b32_e32 v0, s0
553 ; CI-NEXT: v_mov_b32_e32 v1, s1
554 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
555 ; CI-NEXT: flat_store_dword v[0:1], v2
556 ; CI-NEXT: s_endpgm
595 ; CI-LABEL: flat_atomic_dec_noret_i32:
596 ; CI: ; %bb.0:
597 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
598 ; CI-NEXT: v_mov_b32_e32 v2, 42
599 ; CI-NEXT: s_waitcnt lgkmcnt(0)
600 ; CI-NEXT: v_mov_b32_e32 v0, s0
601 ; CI-NEXT: v_mov_b32_e32 v1, s1
602 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
603 ; CI-NEXT: s_endpgm
628 ; CI-LABEL: flat_atomic_dec_noret_i32_offset:
629 ; CI: ; %bb.0:
630 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
631 ; CI-NEXT: v_mov_b32_e32 v2, 42
632 ; CI-NEXT: s_waitcnt lgkmcnt(0)
633 ; CI-NEXT: s_add_u32 s0, s0, 16
634 ; CI-NEXT: s_addc_u32 s1, s1, 0
635 ; CI-NEXT: v_mov_b32_e32 v0, s0
636 ; CI-NEXT: v_mov_b32_e32 v1, s1
637 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
638 ; CI-NEXT: s_endpgm
668 ; CI-LABEL: flat_atomic_dec_ret_i32_offset_addr64:
669 ; CI: ; %bb.0:
670 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
671 ; CI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
672 ; CI-NEXT: s_waitcnt lgkmcnt(0)
673 ; CI-NEXT: v_mov_b32_e32 v0, s2
674 ; CI-NEXT: v_mov_b32_e32 v1, s3
675 ; CI-NEXT: v_add_i32_e32 v3, vcc, v0, v2
676 ; CI-NEXT: v_addc_u32_e32 v4, vcc, 0, v1, vcc
677 ; CI-NEXT: v_mov_b32_e32 v0, s0
678 ; CI-NEXT: v_mov_b32_e32 v1, s1
679 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
680 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
681 ; CI-NEXT: v_add_i32_e32 v2, vcc, 20, v3
682 ; CI-NEXT: v_addc_u32_e32 v3, vcc, 0, v4, vcc
683 ; CI-NEXT: v_mov_b32_e32 v4, 42
684 ; CI-NEXT: flat_atomic_dec v2, v[2:3], v4 glc
685 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
686 ; CI-NEXT: flat_store_dword v[0:1], v2
687 ; CI-NEXT: s_endpgm
743 ; CI-LABEL: flat_atomic_dec_noret_i32_offset_addr64:
744 ; CI: ; %bb.0:
745 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
746 ; CI-NEXT: v_lshlrev_b32_e32 v2, 2, v0
747 ; CI-NEXT: s_waitcnt lgkmcnt(0)
748 ; CI-NEXT: v_mov_b32_e32 v0, s0
749 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
750 ; CI-NEXT: v_mov_b32_e32 v1, s1
751 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
752 ; CI-NEXT: v_add_i32_e32 v0, vcc, 20, v0
753 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
754 ; CI-NEXT: v_mov_b32_e32 v2, 42
755 ; CI-NEXT: flat_atomic_dec v0, v[0:1], v2 glc
756 ; CI-NEXT: s_endpgm
799 ; CI-LABEL: flat_atomic_dec_ret_i64:
800 ; CI: ; %bb.0:
801 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
802 ; CI-NEXT: v_mov_b32_e32 v2, 42
803 ; CI-NEXT: v_mov_b32_e32 v3, 0
804 ; CI-NEXT: s_waitcnt lgkmcnt(0)
805 ; CI-NEXT: v_mov_b32_e32 v0, s2
806 ; CI-NEXT: v_mov_b32_e32 v1, s3
807 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
808 ; CI-NEXT: v_mov_b32_e32 v3, s1
809 ; CI-NEXT: v_mov_b32_e32 v2, s0
810 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
811 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
812 ; CI-NEXT: s_endpgm
848 ; CI-LABEL: flat_atomic_dec_ret_i64_offset:
849 ; CI: ; %bb.0:
850 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
851 ; CI-NEXT: v_mov_b32_e32 v2, 42
852 ; CI-NEXT: v_mov_b32_e32 v3, 0
853 ; CI-NEXT: s_waitcnt lgkmcnt(0)
854 ; CI-NEXT: s_add_u32 s2, s2, 32
855 ; CI-NEXT: s_addc_u32 s3, s3, 0
856 ; CI-NEXT: v_mov_b32_e32 v0, s2
857 ; CI-NEXT: v_mov_b32_e32 v1, s3
858 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
859 ; CI-NEXT: v_mov_b32_e32 v3, s1
860 ; CI-NEXT: v_mov_b32_e32 v2, s0
861 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
862 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
863 ; CI-NEXT: s_endpgm
904 ; CI-LABEL: flat_atomic_dec_noret_i64:
905 ; CI: ; %bb.0:
906 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
907 ; CI-NEXT: v_mov_b32_e32 v2, 42
908 ; CI-NEXT: v_mov_b32_e32 v3, 0
909 ; CI-NEXT: s_waitcnt lgkmcnt(0)
910 ; CI-NEXT: v_mov_b32_e32 v0, s0
911 ; CI-NEXT: v_mov_b32_e32 v1, s1
912 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
913 ; CI-NEXT: s_endpgm
940 ; CI-LABEL: flat_atomic_dec_noret_i64_offset:
941 ; CI: ; %bb.0:
942 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
943 ; CI-NEXT: v_mov_b32_e32 v2, 42
944 ; CI-NEXT: v_mov_b32_e32 v3, 0
945 ; CI-NEXT: s_waitcnt lgkmcnt(0)
946 ; CI-NEXT: s_add_u32 s0, s0, 32
947 ; CI-NEXT: s_addc_u32 s1, s1, 0
948 ; CI-NEXT: v_mov_b32_e32 v0, s0
949 ; CI-NEXT: v_mov_b32_e32 v1, s1
950 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
951 ; CI-NEXT: s_endpgm
983 ; CI-LABEL: flat_atomic_dec_ret_i64_offset_addr64:
984 ; CI: ; %bb.0:
985 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
986 ; CI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
987 ; CI-NEXT: s_waitcnt lgkmcnt(0)
988 ; CI-NEXT: v_mov_b32_e32 v0, s2
989 ; CI-NEXT: v_mov_b32_e32 v1, s3
990 ; CI-NEXT: v_add_i32_e32 v3, vcc, v0, v2
991 ; CI-NEXT: v_addc_u32_e32 v4, vcc, 0, v1, vcc
992 ; CI-NEXT: v_mov_b32_e32 v0, s0
993 ; CI-NEXT: v_mov_b32_e32 v1, s1
994 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
995 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
996 ; CI-NEXT: v_add_i32_e32 v2, vcc, 40, v3
997 ; CI-NEXT: v_addc_u32_e32 v3, vcc, 0, v4, vcc
998 ; CI-NEXT: v_mov_b32_e32 v4, 42
999 ; CI-NEXT: v_mov_b32_e32 v5, 0
1000 ; CI-NEXT: flat_atomic_dec_x2 v[2:3], v[2:3], v[4:5] glc
1001 ; CI-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1002 ; CI-NEXT: flat_store_dwordx2 v[0:1], v[2:3]
1003 ; CI-NEXT: s_endpgm
1061 ; CI-LABEL: flat_atomic_dec_noret_i64_offset_addr64:
1062 ; CI: ; %bb.0:
1063 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1064 ; CI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
1065 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1066 ; CI-NEXT: v_mov_b32_e32 v0, s0
1067 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
1068 ; CI-NEXT: v_mov_b32_e32 v1, s1
1069 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
1070 ; CI-NEXT: v_add_i32_e32 v0, vcc, 40, v0
1071 ; CI-NEXT: v_mov_b32_e32 v2, 42
1072 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
1073 ; CI-NEXT: v_mov_b32_e32 v3, 0
1074 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1075 ; CI-NEXT: s_endpgm
1122 ; CI-LABEL: atomic_dec_shl_base_lds_0:
1123 ; CI: ; %bb.0:
1124 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1125 ; CI-NEXT: v_add_i32_e32 v2, vcc, 2, v0
1126 ; CI-NEXT: v_lshlrev_b32_e32 v0, 2, v0
1127 ; CI-NEXT: v_mov_b32_e32 v1, 9
1128 ; CI-NEXT: s_mov_b32 m0, -1
1129 ; CI-NEXT: ds_dec_rtn_u32 v3, v0, v1 offset:8
1130 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1131 ; CI-NEXT: v_mov_b32_e32 v0, s2
1132 ; CI-NEXT: v_mov_b32_e32 v1, s3
1133 ; CI-NEXT: flat_store_dword v[0:1], v2
1134 ; CI-NEXT: v_mov_b32_e32 v0, s0
1135 ; CI-NEXT: v_mov_b32_e32 v1, s1
1136 ; CI-NEXT: flat_store_dword v[0:1], v3
1137 ; CI-NEXT: s_endpgm
1182 ; CI-LABEL: lds_atomic_dec_ret_i64:
1183 ; CI: ; %bb.0:
1184 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1185 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
1186 ; CI-NEXT: v_mov_b32_e32 v0, 42
1187 ; CI-NEXT: v_mov_b32_e32 v1, 0
1188 ; CI-NEXT: s_mov_b32 m0, -1
1189 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1190 ; CI-NEXT: v_mov_b32_e32 v2, s2
1191 ; CI-NEXT: ds_dec_rtn_u64 v[0:1], v2, v[0:1]
1192 ; CI-NEXT: v_mov_b32_e32 v3, s1
1193 ; CI-NEXT: v_mov_b32_e32 v2, s0
1194 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1195 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1196 ; CI-NEXT: s_endpgm
1233 ; CI-LABEL: lds_atomic_dec_ret_i64_offset:
1234 ; CI: ; %bb.0:
1235 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1236 ; CI-NEXT: s_load_dword s2, s[4:5], 0x2
1237 ; CI-NEXT: v_mov_b32_e32 v0, 42
1238 ; CI-NEXT: v_mov_b32_e32 v1, 0
1239 ; CI-NEXT: s_mov_b32 m0, -1
1240 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1241 ; CI-NEXT: v_mov_b32_e32 v2, s2
1242 ; CI-NEXT: ds_dec_rtn_u64 v[0:1], v2, v[0:1] offset:32
1243 ; CI-NEXT: v_mov_b32_e32 v3, s1
1244 ; CI-NEXT: v_mov_b32_e32 v2, s0
1245 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1246 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1247 ; CI-NEXT: s_endpgm
1286 ; CI-LABEL: lds_atomic_dec_noret_i64:
1287 ; CI: ; %bb.0:
1288 ; CI-NEXT: s_load_dword s0, s[4:5], 0x0
1289 ; CI-NEXT: v_mov_b32_e32 v0, 42
1290 ; CI-NEXT: v_mov_b32_e32 v1, 0
1291 ; CI-NEXT: s_mov_b32 m0, -1
1292 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1293 ; CI-NEXT: v_mov_b32_e32 v2, s0
1294 ; CI-NEXT: ds_dec_rtn_u64 v[0:1], v2, v[0:1]
1295 ; CI-NEXT: s_endpgm
1321 ; CI-LABEL: lds_atomic_dec_noret_i64_offset:
1322 ; CI: ; %bb.0:
1323 ; CI-NEXT: s_load_dword s0, s[4:5], 0x0
1324 ; CI-NEXT: v_mov_b32_e32 v0, 42
1325 ; CI-NEXT: v_mov_b32_e32 v1, 0
1326 ; CI-NEXT: s_mov_b32 m0, -1
1327 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1328 ; CI-NEXT: v_mov_b32_e32 v2, s0
1329 ; CI-NEXT: ds_dec_rtn_u64 v[0:1], v2, v[0:1] offset:32
1330 ; CI-NEXT: s_endpgm
1358 ; CI-LABEL: global_atomic_dec_ret_i64:
1359 ; CI: ; %bb.0:
1360 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1361 ; CI-NEXT: v_mov_b32_e32 v2, 42
1362 ; CI-NEXT: v_mov_b32_e32 v3, 0
1363 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1364 ; CI-NEXT: v_mov_b32_e32 v0, s2
1365 ; CI-NEXT: v_mov_b32_e32 v1, s3
1366 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1367 ; CI-NEXT: v_mov_b32_e32 v3, s1
1368 ; CI-NEXT: v_mov_b32_e32 v2, s0
1369 ; CI-NEXT: s_waitcnt vmcnt(0)
1370 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1371 ; CI-NEXT: s_endpgm
1407 ; CI-LABEL: global_atomic_dec_ret_i64_offset:
1408 ; CI: ; %bb.0:
1409 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1410 ; CI-NEXT: v_mov_b32_e32 v2, 42
1411 ; CI-NEXT: v_mov_b32_e32 v3, 0
1412 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1413 ; CI-NEXT: s_add_u32 s2, s2, 32
1414 ; CI-NEXT: s_addc_u32 s3, s3, 0
1415 ; CI-NEXT: v_mov_b32_e32 v0, s2
1416 ; CI-NEXT: v_mov_b32_e32 v1, s3
1417 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1418 ; CI-NEXT: v_mov_b32_e32 v3, s1
1419 ; CI-NEXT: v_mov_b32_e32 v2, s0
1420 ; CI-NEXT: s_waitcnt vmcnt(0)
1421 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1422 ; CI-NEXT: s_endpgm
1463 ; CI-LABEL: global_atomic_dec_noret_i64:
1464 ; CI: ; %bb.0:
1465 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1466 ; CI-NEXT: v_mov_b32_e32 v2, 42
1467 ; CI-NEXT: v_mov_b32_e32 v3, 0
1468 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1469 ; CI-NEXT: v_mov_b32_e32 v0, s0
1470 ; CI-NEXT: v_mov_b32_e32 v1, s1
1471 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1472 ; CI-NEXT: s_endpgm
1499 ; CI-LABEL: global_atomic_dec_noret_i64_offset:
1500 ; CI: ; %bb.0:
1501 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1502 ; CI-NEXT: v_mov_b32_e32 v2, 42
1503 ; CI-NEXT: v_mov_b32_e32 v3, 0
1504 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1505 ; CI-NEXT: s_add_u32 s0, s0, 32
1506 ; CI-NEXT: s_addc_u32 s1, s1, 0
1507 ; CI-NEXT: v_mov_b32_e32 v0, s0
1508 ; CI-NEXT: v_mov_b32_e32 v1, s1
1509 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1510 ; CI-NEXT: s_endpgm
1542 ; CI-LABEL: global_atomic_dec_ret_i64_offset_addr64:
1543 ; CI: ; %bb.0:
1544 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1545 ; CI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
1546 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1547 ; CI-NEXT: v_mov_b32_e32 v0, s2
1548 ; CI-NEXT: v_mov_b32_e32 v1, s3
1549 ; CI-NEXT: v_add_i32_e32 v3, vcc, v0, v2
1550 ; CI-NEXT: v_addc_u32_e32 v4, vcc, 0, v1, vcc
1551 ; CI-NEXT: v_mov_b32_e32 v0, s0
1552 ; CI-NEXT: v_mov_b32_e32 v1, s1
1553 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
1554 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
1555 ; CI-NEXT: v_add_i32_e32 v2, vcc, 40, v3
1556 ; CI-NEXT: v_addc_u32_e32 v3, vcc, 0, v4, vcc
1557 ; CI-NEXT: v_mov_b32_e32 v4, 42
1558 ; CI-NEXT: v_mov_b32_e32 v5, 0
1559 ; CI-NEXT: flat_atomic_dec_x2 v[2:3], v[2:3], v[4:5] glc
1560 ; CI-NEXT: s_waitcnt vmcnt(0)
1561 ; CI-NEXT: flat_store_dwordx2 v[0:1], v[2:3]
1562 ; CI-NEXT: s_endpgm
1620 ; CI-LABEL: global_atomic_dec_noret_i64_offset_addr64:
1621 ; CI: ; %bb.0:
1622 ; CI-NEXT: s_load_dwordx2 s[0:1], s[4:5], 0x0
1623 ; CI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
1624 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1625 ; CI-NEXT: v_mov_b32_e32 v0, s0
1626 ; CI-NEXT: v_add_i32_e32 v0, vcc, v0, v2
1627 ; CI-NEXT: v_mov_b32_e32 v1, s1
1628 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
1629 ; CI-NEXT: v_add_i32_e32 v0, vcc, 40, v0
1630 ; CI-NEXT: v_mov_b32_e32 v2, 42
1631 ; CI-NEXT: v_addc_u32_e32 v1, vcc, 0, v1, vcc
1632 ; CI-NEXT: v_mov_b32_e32 v3, 0
1633 ; CI-NEXT: flat_atomic_dec_x2 v[0:1], v[0:1], v[2:3] glc
1634 ; CI-NEXT: s_endpgm
1681 ; CI-LABEL: atomic_dec_shl_base_lds_0_i64:
1682 ; CI: ; %bb.0:
1683 ; CI-NEXT: s_load_dwordx4 s[0:3], s[4:5], 0x0
1684 ; CI-NEXT: v_add_i32_e32 v4, vcc, 2, v0
1685 ; CI-NEXT: v_lshlrev_b32_e32 v2, 3, v0
1686 ; CI-NEXT: v_mov_b32_e32 v0, 9
1687 ; CI-NEXT: v_mov_b32_e32 v1, 0
1688 ; CI-NEXT: s_mov_b32 m0, -1
1689 ; CI-NEXT: ds_dec_rtn_u64 v[0:1], v2, v[0:1] offset:16
1690 ; CI-NEXT: s_waitcnt lgkmcnt(0)
1691 ; CI-NEXT: v_mov_b32_e32 v2, s2
1692 ; CI-NEXT: v_mov_b32_e32 v3, s3
1693 ; CI-NEXT: flat_store_dword v[2:3], v4
1694 ; CI-NEXT: v_mov_b32_e32 v3, s1
1695 ; CI-NEXT: v_mov_b32_e32 v2, s0
1696 ; CI-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
1697 ; CI-NEXT: s_endpgm