@@ -95,13 +95,13 @@ define void @global_atomic_cmpxchg_i32_ret_a_a__a(ptr addrspace(1) %ptr) #0 {
9595; CHECK: ; %bb.0:
9696; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
9797; CHECK-NEXT: ;;#ASMSTART
98- ; CHECK-NEXT: ; def a0
98+ ; CHECK-NEXT: ; def a1
9999; CHECK-NEXT: ;;#ASMEND
100100; CHECK-NEXT: ;;#ASMSTART
101- ; CHECK-NEXT: ; def a1
101+ ; CHECK-NEXT: ; def a0
102102; CHECK-NEXT: ;;#ASMEND
103- ; CHECK-NEXT: v_accvgpr_read_b32 v2 , a1
104- ; CHECK-NEXT: v_accvgpr_read_b32 v3 , a0
103+ ; CHECK-NEXT: v_accvgpr_read_b32 v3 , a1
104+ ; CHECK-NEXT: v_accvgpr_read_b32 v2 , a0
105105; CHECK-NEXT: buffer_wbl2
106106; CHECK-NEXT: global_atomic_cmpswap v0, v[0:1], v[2:3], off offset:40 glc
107107; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -126,13 +126,13 @@ define void @global_atomic_cmpxchg_i32_ret_a_a__v(ptr addrspace(1) %ptr) #0 {
126126; CHECK: ; %bb.0:
127127; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
128128; CHECK-NEXT: ;;#ASMSTART
129- ; CHECK-NEXT: ; def a0
129+ ; CHECK-NEXT: ; def a1
130130; CHECK-NEXT: ;;#ASMEND
131131; CHECK-NEXT: ;;#ASMSTART
132- ; CHECK-NEXT: ; def a1
132+ ; CHECK-NEXT: ; def a0
133133; CHECK-NEXT: ;;#ASMEND
134- ; CHECK-NEXT: v_accvgpr_read_b32 v2 , a1
135- ; CHECK-NEXT: v_accvgpr_read_b32 v3 , a0
134+ ; CHECK-NEXT: v_accvgpr_read_b32 v3 , a1
135+ ; CHECK-NEXT: v_accvgpr_read_b32 v2 , a0
136136; CHECK-NEXT: buffer_wbl2
137137; CHECK-NEXT: global_atomic_cmpswap v0, v[0:1], v[2:3], off offset:40 glc
138138; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -156,12 +156,14 @@ define void @global_atomic_cmpxchg_i32_ret_v_a__v(ptr addrspace(1) %ptr) #0 {
156156; CHECK: ; %bb.0:
157157; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
158158; CHECK-NEXT: ;;#ASMSTART
159- ; CHECK-NEXT: ; def a0
159+ ; CHECK-NEXT: ; def v2
160160; CHECK-NEXT: ;;#ASMEND
161- ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
161+ ; CHECK-NEXT: v_accvgpr_write_b32 a1, v2
162162; CHECK-NEXT: ;;#ASMSTART
163- ; CHECK-NEXT: ; def v3
163+ ; CHECK-NEXT: ; def a0
164164; CHECK-NEXT: ;;#ASMEND
165+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
166+ ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
165167; CHECK-NEXT: buffer_wbl2
166168; CHECK-NEXT: global_atomic_cmpswap v0, v[0:1], v[2:3], off offset:40 glc
167169; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -299,12 +301,13 @@ define void @global_atomic_cmpxchg_i32_ret_av_a__av(ptr addrspace(1) %ptr) #0 {
299301; CHECK: ; %bb.0:
300302; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
301303; CHECK-NEXT: ;;#ASMSTART
302- ; CHECK-NEXT: ; def a0
304+ ; CHECK-NEXT: ; def a1
303305; CHECK-NEXT: ;;#ASMEND
304- ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
305306; CHECK-NEXT: ;;#ASMSTART
306- ; CHECK-NEXT: ; def v3
307+ ; CHECK-NEXT: ; def a0
307308; CHECK-NEXT: ;;#ASMEND
309+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
310+ ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
308311; CHECK-NEXT: buffer_wbl2
309312; CHECK-NEXT: global_atomic_cmpswap v0, v[0:1], v[2:3], off offset:40 glc
310313; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -328,12 +331,13 @@ define void @global_atomic_cmpxchg_i32_ret_a_av__av(ptr addrspace(1) %ptr) #0 {
328331; CHECK: ; %bb.0:
329332; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
330333; CHECK-NEXT: ;;#ASMSTART
331- ; CHECK-NEXT: ; def a0
334+ ; CHECK-NEXT: ; def a1
332335; CHECK-NEXT: ;;#ASMEND
333- ; CHECK-NEXT: v_accvgpr_read_b32 v3, a0
334336; CHECK-NEXT: ;;#ASMSTART
335- ; CHECK-NEXT: ; def v2
337+ ; CHECK-NEXT: ; def a0
336338; CHECK-NEXT: ;;#ASMEND
339+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
340+ ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
337341; CHECK-NEXT: buffer_wbl2
338342; CHECK-NEXT: global_atomic_cmpswap v0, v[0:1], v[2:3], off offset:40 glc
339343; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -449,13 +453,13 @@ define void @global_atomic_cmpxchg_i64_ret_a_a__a(ptr addrspace(1) %ptr) #0 {
449453; CHECK-NEXT: ;;#ASMSTART
450454; CHECK-NEXT: ; def a[0:1]
451455; CHECK-NEXT: ;;#ASMEND
452- ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
453- ; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
454456; CHECK-NEXT: ;;#ASMSTART
455- ; CHECK-NEXT: ; def a[0:1 ]
457+ ; CHECK-NEXT: ; def a[2:3 ]
456458; CHECK-NEXT: ;;#ASMEND
457- ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
458- ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
459+ ; CHECK-NEXT: v_accvgpr_read_b32 v2, a2
460+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a3
461+ ; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
462+ ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
459463; CHECK-NEXT: buffer_wbl2
460464; CHECK-NEXT: global_atomic_cmpswap_x2 v[0:1], v[0:1], v[2:5], off offset:80 glc
461465; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -483,13 +487,13 @@ define void @global_atomic_cmpxchg_i64_ret_a_a__v(ptr addrspace(1) %ptr) #0 {
483487; CHECK-NEXT: ;;#ASMSTART
484488; CHECK-NEXT: ; def a[0:1]
485489; CHECK-NEXT: ;;#ASMEND
486- ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
487- ; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
488490; CHECK-NEXT: ;;#ASMSTART
489- ; CHECK-NEXT: ; def a[0:1 ]
491+ ; CHECK-NEXT: ; def a[2:3 ]
490492; CHECK-NEXT: ;;#ASMEND
491- ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
492- ; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
493+ ; CHECK-NEXT: v_accvgpr_read_b32 v2, a2
494+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a3
495+ ; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
496+ ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
493497; CHECK-NEXT: buffer_wbl2
494498; CHECK-NEXT: global_atomic_cmpswap_x2 v[0:1], v[0:1], v[2:5], off offset:80 glc
495499; CHECK-NEXT: s_waitcnt vmcnt(0)
@@ -515,8 +519,8 @@ define void @global_atomic_cmpxchg_i64_ret_v_a__v(ptr addrspace(1) %ptr) #0 {
515519; CHECK-NEXT: ;;#ASMSTART
516520; CHECK-NEXT: ; def a[0:1]
517521; CHECK-NEXT: ;;#ASMEND
518- ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
519522; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
523+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
520524; CHECK-NEXT: ;;#ASMSTART
521525; CHECK-NEXT: ; def v[4:5]
522526; CHECK-NEXT: ;;#ASMEND
@@ -545,8 +549,8 @@ define void @global_atomic_cmpxchg_i64_ret_a_v__v(ptr addrspace(1) %ptr) #0 {
545549; CHECK-NEXT: ;;#ASMSTART
546550; CHECK-NEXT: ; def a[0:1]
547551; CHECK-NEXT: ;;#ASMEND
548- ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
549552; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
553+ ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
550554; CHECK-NEXT: ;;#ASMSTART
551555; CHECK-NEXT: ; def v[2:3]
552556; CHECK-NEXT: ;;#ASMEND
@@ -661,8 +665,8 @@ define void @global_atomic_cmpxchg_i64_ret_av_a__av(ptr addrspace(1) %ptr) #0 {
661665; CHECK-NEXT: ;;#ASMSTART
662666; CHECK-NEXT: ; def a[0:1]
663667; CHECK-NEXT: ;;#ASMEND
664- ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
665668; CHECK-NEXT: v_accvgpr_read_b32 v2, a0
669+ ; CHECK-NEXT: v_accvgpr_read_b32 v3, a1
666670; CHECK-NEXT: ;;#ASMSTART
667671; CHECK-NEXT: ; def v[4:5]
668672; CHECK-NEXT: ;;#ASMEND
@@ -691,8 +695,8 @@ define void @global_atomic_cmpxchg_i64_ret_a_av__av(ptr addrspace(1) %ptr) #0 {
691695; CHECK-NEXT: ;;#ASMSTART
692696; CHECK-NEXT: ; def a[0:1]
693697; CHECK-NEXT: ;;#ASMEND
694- ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
695698; CHECK-NEXT: v_accvgpr_read_b32 v4, a0
699+ ; CHECK-NEXT: v_accvgpr_read_b32 v5, a1
696700; CHECK-NEXT: ;;#ASMSTART
697701; CHECK-NEXT: ; def v[2:3]
698702; CHECK-NEXT: ;;#ASMEND
0 commit comments