• Home
  • Raw
  • Download

Lines Matching refs:INV

5 …-skip-cache-invalidations -verify-machineinstrs < %s | FileCheck --check-prefixes=SKIP-CACHE-INV %s
47 ; SKIP-CACHE-INV-LABEL: flat_system_unordered_load:
48 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
49 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
50 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
51 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
52 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
53 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1]
54 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
55 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
56 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
57 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
58 ; SKIP-CACHE-INV-NEXT: s_endpgm
106 ; SKIP-CACHE-INV-LABEL: flat_system_monotonic_load:
107 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
108 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
109 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
110 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
111 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
112 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
113 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
114 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
115 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
116 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
117 ; SKIP-CACHE-INV-NEXT: s_endpgm
173 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_load:
174 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
175 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
176 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
177 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
178 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
179 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
180 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
181 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
182 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
183 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
184 ; SKIP-CACHE-INV-NEXT: s_endpgm
245 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_load:
246 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
247 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
248 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
249 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
250 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
251 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
252 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
253 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
254 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
255 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
256 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
257 ; SKIP-CACHE-INV-NEXT: s_endpgm
301 ; SKIP-CACHE-INV-LABEL: flat_system_unordered_store:
302 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
303 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
304 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
305 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
306 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
307 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
308 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
309 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
310 ; SKIP-CACHE-INV-NEXT: s_endpgm
353 ; SKIP-CACHE-INV-LABEL: flat_system_monotonic_store:
354 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
355 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
356 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
357 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
358 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
359 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
360 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
361 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
362 ; SKIP-CACHE-INV-NEXT: s_endpgm
410 ; SKIP-CACHE-INV-LABEL: flat_system_release_store:
411 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
412 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
413 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
414 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
415 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
416 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
417 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
418 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
419 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
420 ; SKIP-CACHE-INV-NEXT: s_endpgm
468 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_store:
469 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
470 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
471 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
472 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
473 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
474 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
475 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
476 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
477 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
478 ; SKIP-CACHE-INV-NEXT: s_endpgm
521 ; SKIP-CACHE-INV-LABEL: flat_system_monotonic_atomicrmw:
522 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
523 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
524 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
525 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
526 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
527 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
528 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
529 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
530 ; SKIP-CACHE-INV-NEXT: s_endpgm
583 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_atomicrmw:
584 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
585 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
586 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
587 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
588 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
589 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
590 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
591 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
592 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
593 ; SKIP-CACHE-INV-NEXT: s_endpgm
641 ; SKIP-CACHE-INV-LABEL: flat_system_release_atomicrmw:
642 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
643 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
644 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
645 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
646 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
647 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
648 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
649 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
650 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
651 ; SKIP-CACHE-INV-NEXT: s_endpgm
709 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_atomicrmw:
710 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
711 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
712 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
713 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
714 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
715 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
716 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
717 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
718 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
719 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
720 ; SKIP-CACHE-INV-NEXT: s_endpgm
778 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_atomicrmw:
779 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
780 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
781 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
782 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
783 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
784 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
785 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
786 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
787 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
788 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
789 ; SKIP-CACHE-INV-NEXT: s_endpgm
846 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_ret_atomicrmw:
847 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
848 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
849 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
850 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
851 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
852 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
853 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
854 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
855 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
856 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
857 ; SKIP-CACHE-INV-NEXT: s_endpgm
920 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_ret_atomicrmw:
921 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
922 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
923 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
924 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
925 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
926 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
927 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
928 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
929 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
930 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
931 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
932 ; SKIP-CACHE-INV-NEXT: s_endpgm
995 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_ret_atomicrmw:
996 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
997 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
998 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
999 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1000 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1001 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1002 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1003 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1004 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
1005 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1006 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
1007 ; SKIP-CACHE-INV-NEXT: s_endpgm
1060 ; SKIP-CACHE-INV-LABEL: flat_system_monotonic_monotonic_cmpxchg:
1061 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1062 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1063 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1064 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1065 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1066 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1067 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1068 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1069 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1070 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1071 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1072 ; SKIP-CACHE-INV-NEXT: s_endpgm
1135 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_monotonic_cmpxchg:
1136 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1137 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1138 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1139 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1140 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1141 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1142 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1143 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1144 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1145 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1146 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1147 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1148 ; SKIP-CACHE-INV-NEXT: s_endpgm
1206 ; SKIP-CACHE-INV-LABEL: flat_system_release_monotonic_cmpxchg:
1207 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1208 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1209 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1210 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1211 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1212 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1213 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1214 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1215 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1216 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1217 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1218 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1219 ; SKIP-CACHE-INV-NEXT: s_endpgm
1287 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_monotonic_cmpxchg:
1288 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1289 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1290 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1291 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1292 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1293 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1294 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1295 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1296 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1297 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1298 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1299 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1300 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1301 ; SKIP-CACHE-INV-NEXT: s_endpgm
1369 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_monotonic_cmpxchg:
1370 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1371 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1372 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1373 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1374 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1375 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1376 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1377 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1378 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1379 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1380 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1381 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1382 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1383 ; SKIP-CACHE-INV-NEXT: s_endpgm
1446 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_acquire_cmpxchg:
1447 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1448 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1449 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1450 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1451 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1452 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1453 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1454 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1455 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1456 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1457 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1458 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1459 ; SKIP-CACHE-INV-NEXT: s_endpgm
1527 ; SKIP-CACHE-INV-LABEL: flat_system_release_acquire_cmpxchg:
1528 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1529 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1530 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1531 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1532 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1533 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1534 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1535 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1536 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1537 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1538 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1539 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1540 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1541 ; SKIP-CACHE-INV-NEXT: s_endpgm
1609 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_acquire_cmpxchg:
1610 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1611 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1612 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1613 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1614 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1615 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1616 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1617 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1618 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1619 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1620 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1621 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1622 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1623 ; SKIP-CACHE-INV-NEXT: s_endpgm
1691 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_acquire_cmpxchg:
1692 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1693 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1694 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1695 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1696 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1697 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1698 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1699 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1700 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1701 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1702 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1703 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1704 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1705 ; SKIP-CACHE-INV-NEXT: s_endpgm
1773 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_seq_cst_cmpxchg:
1774 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1775 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1776 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1777 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1778 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
1779 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
1780 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1781 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1782 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1783 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1784 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1785 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
1786 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1787 ; SKIP-CACHE-INV-NEXT: s_endpgm
1860 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_monotonic_ret_cmpxchg:
1861 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1862 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1863 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1864 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1865 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
1866 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
1867 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
1868 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1869 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
1870 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1871 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
1872 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1873 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1874 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1875 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
1876 ; SKIP-CACHE-INV-NEXT: s_endpgm
1956 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_monotonic_ret_cmpxchg:
1957 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
1958 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
1959 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
1960 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
1961 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
1962 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
1963 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
1964 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
1965 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
1966 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
1967 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1968 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
1969 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
1970 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
1971 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
1972 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
1973 ; SKIP-CACHE-INV-NEXT: s_endpgm
2053 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_monotonic_ret_cmpxchg:
2054 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2055 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2056 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2057 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2058 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2059 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2060 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2061 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2062 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2063 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2064 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2065 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2066 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2067 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2068 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2069 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2070 ; SKIP-CACHE-INV-NEXT: s_endpgm
2145 ; SKIP-CACHE-INV-LABEL: flat_system_acquire_acquire_ret_cmpxchg:
2146 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2147 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2148 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2149 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2150 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2151 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2152 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2153 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2154 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2155 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2156 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2157 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2158 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2159 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2160 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2161 ; SKIP-CACHE-INV-NEXT: s_endpgm
2241 ; SKIP-CACHE-INV-LABEL: flat_system_release_acquire_ret_cmpxchg:
2242 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2243 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2244 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2245 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2246 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2247 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2248 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2249 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2250 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2251 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2252 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2253 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2254 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2255 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2256 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2257 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2258 ; SKIP-CACHE-INV-NEXT: s_endpgm
2338 ; SKIP-CACHE-INV-LABEL: flat_system_acq_rel_acquire_ret_cmpxchg:
2339 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2340 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2341 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2342 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2343 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2344 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2345 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2346 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2347 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2348 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2349 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2350 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2351 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2352 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2353 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2354 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2355 ; SKIP-CACHE-INV-NEXT: s_endpgm
2435 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_acquire_ret_cmpxchg:
2436 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2437 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2438 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2439 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2440 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2441 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2442 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2443 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2444 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2445 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2446 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2447 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2448 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2449 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2450 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2451 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2452 ; SKIP-CACHE-INV-NEXT: s_endpgm
2532 ; SKIP-CACHE-INV-LABEL: flat_system_seq_cst_seq_cst_ret_cmpxchg:
2533 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2534 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
2535 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2536 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2537 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
2538 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
2539 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
2540 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
2541 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
2542 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
2543 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2544 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
2545 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2546 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
2547 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
2548 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2549 ; SKIP-CACHE-INV-NEXT: s_endpgm
2599 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_unordered_load:
2600 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2601 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
2602 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2603 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2604 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2605 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1]
2606 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2607 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
2608 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2609 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
2610 ; SKIP-CACHE-INV-NEXT: s_endpgm
2658 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_monotonic_load:
2659 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2660 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
2661 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2662 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2663 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2664 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
2665 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2666 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
2667 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
2668 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
2669 ; SKIP-CACHE-INV-NEXT: s_endpgm
2725 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_load:
2726 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2727 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
2728 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2729 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2730 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2731 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
2732 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
2733 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2734 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
2735 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2736 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
2737 ; SKIP-CACHE-INV-NEXT: s_endpgm
2798 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_load:
2799 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2800 ; SKIP-CACHE-INV-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x9
2801 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2802 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2803 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2804 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
2805 ; SKIP-CACHE-INV-NEXT: flat_load_dword v0, v[0:1] glc
2806 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
2807 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2808 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s3
2809 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2810 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[2:3], v0
2811 ; SKIP-CACHE-INV-NEXT: s_endpgm
2855 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_unordered_store:
2856 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2857 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
2858 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2859 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2860 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2861 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2862 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2863 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2864 ; SKIP-CACHE-INV-NEXT: s_endpgm
2907 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_monotonic_store:
2908 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2909 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
2910 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2911 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2912 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2913 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2914 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2915 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2916 ; SKIP-CACHE-INV-NEXT: s_endpgm
2964 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_release_store:
2965 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
2966 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
2967 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
2968 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
2969 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
2970 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
2971 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
2972 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
2973 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
2974 ; SKIP-CACHE-INV-NEXT: s_endpgm
3022 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_store:
3023 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3024 ; SKIP-CACHE-INV-NEXT: s_load_dword s2, s[0:1], 0x9
3025 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3026 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3027 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s2
3028 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s0
3029 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s1
3030 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3031 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
3032 ; SKIP-CACHE-INV-NEXT: s_endpgm
3075 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_monotonic_atomicrmw:
3076 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3077 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3078 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3079 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3080 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3081 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3082 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3083 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
3084 ; SKIP-CACHE-INV-NEXT: s_endpgm
3135 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_atomicrmw:
3136 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3137 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3138 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3139 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3140 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3141 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3142 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3143 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
3144 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3145 ; SKIP-CACHE-INV-NEXT: s_endpgm
3193 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_release_atomicrmw:
3194 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3195 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3196 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3197 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3198 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3199 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3200 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3201 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3202 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
3203 ; SKIP-CACHE-INV-NEXT: s_endpgm
3259 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_atomicrmw:
3260 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3261 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3262 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3263 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3264 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3265 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3266 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3267 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3268 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
3269 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3270 ; SKIP-CACHE-INV-NEXT: s_endpgm
3326 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_atomicrmw:
3327 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3328 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3329 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3330 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3331 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3332 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3333 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3334 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3335 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v[0:1], v2
3336 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3337 ; SKIP-CACHE-INV-NEXT: s_endpgm
3394 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_ret_atomicrmw:
3395 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3396 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3397 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3398 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3399 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3400 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3401 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3402 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
3403 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
3404 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
3405 ; SKIP-CACHE-INV-NEXT: s_endpgm
3468 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_ret_atomicrmw:
3469 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3470 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3471 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3472 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3473 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3474 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3475 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3476 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3477 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
3478 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
3479 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
3480 ; SKIP-CACHE-INV-NEXT: s_endpgm
3543 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_ret_atomicrmw:
3544 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3545 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3546 ; SKIP-CACHE-INV-NEXT: s_load_dword s0, s[0:1], 0xb
3547 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3548 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3549 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3550 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3551 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3552 ; SKIP-CACHE-INV-NEXT: flat_atomic_swap v2, v[0:1], v2 glc
3553 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0)
3554 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
3555 ; SKIP-CACHE-INV-NEXT: s_endpgm
3608 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_monotonic_monotonic_cmpxchg:
3609 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3610 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3611 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3612 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3613 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3614 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3615 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3616 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3617 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3618 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3619 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3620 ; SKIP-CACHE-INV-NEXT: s_endpgm
3681 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_monotonic_cmpxchg:
3682 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3683 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3684 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3685 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3686 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3687 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3688 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3689 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3690 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3691 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3692 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3693 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3694 ; SKIP-CACHE-INV-NEXT: s_endpgm
3752 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_release_monotonic_cmpxchg:
3753 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3754 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3755 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3756 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3757 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3758 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3759 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3760 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3761 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3762 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3763 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3764 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3765 ; SKIP-CACHE-INV-NEXT: s_endpgm
3831 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_monotonic_cmpxchg:
3832 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3833 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3834 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3835 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3836 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3837 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3838 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3839 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3840 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3841 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3842 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3843 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3844 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3845 ; SKIP-CACHE-INV-NEXT: s_endpgm
3911 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_monotonic_cmpxchg:
3912 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3913 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3914 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3915 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3916 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3917 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3918 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3919 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3920 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3921 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3922 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3923 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3924 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3925 ; SKIP-CACHE-INV-NEXT: s_endpgm
3986 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_acquire_cmpxchg:
3987 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
3988 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
3989 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
3990 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
3991 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
3992 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
3993 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
3994 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
3995 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
3996 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
3997 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
3998 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
3999 ; SKIP-CACHE-INV-NEXT: s_endpgm
4065 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_release_acquire_cmpxchg:
4066 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4067 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4068 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4069 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4070 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
4071 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
4072 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4073 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4074 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4075 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4076 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4077 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
4078 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4079 ; SKIP-CACHE-INV-NEXT: s_endpgm
4145 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_acquire_cmpxchg:
4146 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4147 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4148 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4149 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4150 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
4151 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
4152 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4153 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4154 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4155 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4156 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4157 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
4158 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4159 ; SKIP-CACHE-INV-NEXT: s_endpgm
4225 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_acquire_cmpxchg:
4226 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4227 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4228 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4229 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4230 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
4231 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
4232 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4233 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4234 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4235 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4236 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4237 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
4238 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4239 ; SKIP-CACHE-INV-NEXT: s_endpgm
4305 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_seq_cst_cmpxchg:
4306 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4307 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4308 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4309 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4310 ; SKIP-CACHE-INV-NEXT: s_add_u32 s2, s2, 16
4311 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s3, s3, 0
4312 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4313 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4314 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4315 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4316 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4317 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v[0:1], v[2:3]
4318 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4319 ; SKIP-CACHE-INV-NEXT: s_endpgm
4392 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_monotonic_ret_cmpxchg:
4393 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4394 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4395 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4396 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4397 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4398 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4399 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4400 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4401 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4402 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4403 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4404 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4405 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4406 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4407 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4408 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4409 ; SKIP-CACHE-INV-NEXT: s_endpgm
4489 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_monotonic_ret_cmpxchg:
4490 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4491 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4492 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4493 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4494 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4495 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4496 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4497 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4498 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4499 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4500 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4501 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4502 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4503 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4504 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4505 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4506 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4507 ; SKIP-CACHE-INV-NEXT: s_endpgm
4587 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_monotonic_ret_cmpxchg:
4588 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4589 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4590 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4591 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4592 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4593 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4594 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4595 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4596 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4597 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4598 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4599 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4600 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4601 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4602 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4603 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4604 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4605 ; SKIP-CACHE-INV-NEXT: s_endpgm
4680 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acquire_acquire_ret_cmpxchg:
4681 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4682 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4683 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4684 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4685 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4686 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4687 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4688 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4689 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4690 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4691 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4692 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4693 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4694 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4695 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4696 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4697 ; SKIP-CACHE-INV-NEXT: s_endpgm
4777 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_release_acquire_ret_cmpxchg:
4778 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4779 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4780 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4781 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4782 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4783 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4784 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4785 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4786 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4787 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4788 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4789 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4790 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4791 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4792 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4793 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4794 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4795 ; SKIP-CACHE-INV-NEXT: s_endpgm
4875 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_acq_rel_acquire_ret_cmpxchg:
4876 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4877 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4878 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4879 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4880 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4881 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4882 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4883 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4884 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4885 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4886 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4887 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4888 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4889 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4890 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4891 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4892 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4893 ; SKIP-CACHE-INV-NEXT: s_endpgm
4973 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_acquire_ret_cmpxchg:
4974 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
4975 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
4976 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
4977 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4978 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
4979 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
4980 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
4981 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
4982 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
4983 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
4984 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4985 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
4986 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
4987 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
4988 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
4989 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
4990 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
4991 ; SKIP-CACHE-INV-NEXT: s_endpgm
5071 ; SKIP-CACHE-INV-LABEL: flat_system_one_as_seq_cst_seq_cst_ret_cmpxchg:
5072 ; SKIP-CACHE-INV: ; %bb.0: ; %entry
5073 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[2:3], s[0:1], 0x9
5074 ; SKIP-CACHE-INV-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0xb
5075 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
5076 ; SKIP-CACHE-INV-NEXT: s_add_u32 s4, s2, 16
5077 ; SKIP-CACHE-INV-NEXT: s_addc_u32 s5, s3, 0
5078 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s4
5079 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v3, s1
5080 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s5
5081 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v2, s0
5082 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
5083 ; SKIP-CACHE-INV-NEXT: flat_atomic_cmpswap v2, v[0:1], v[2:3] glc
5084 ; SKIP-CACHE-INV-NEXT: s_waitcnt vmcnt(0)
5085 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v0, s2
5086 ; SKIP-CACHE-INV-NEXT: v_mov_b32_e32 v1, s3
5087 ; SKIP-CACHE-INV-NEXT: s_waitcnt lgkmcnt(0)
5088 ; SKIP-CACHE-INV-NEXT: flat_store_dword v[0:1], v2
5089 ; SKIP-CACHE-INV-NEXT: s_endpgm