@@ -746,20 +746,20 @@ define i8 @atomicrmw_xchg_i8(ptr %ptr, i8 %rhs) {
746746 ; CHECK-NEXT: successors: %bb.1(0x80000000)
747747 ; CHECK-NEXT: liveins: $w1, $x0
748748 ; CHECK-NEXT: {{ $}}
749- ; CHECK-NEXT: $x8 = ORRXrs $xzr, $x0, 0
749+ ; CHECK-NEXT: renamable $w1 = KILL $w1, implicit-def $x1
750750 ; CHECK-NEXT: {{ $}}
751751 ; CHECK-NEXT: bb.1.atomicrmw.start:
752752 ; CHECK-NEXT: successors: %bb.1(0x7c000000), %bb.2(0x04000000)
753- ; CHECK-NEXT: liveins: $w1 , $x8
753+ ; CHECK-NEXT: liveins: $x0 , $x1
754754 ; CHECK-NEXT: {{ $}}
755- ; CHECK-NEXT: renamable $w0 = LDXRB renamable $x8 , implicit-def $x0 , pcsections !0 :: (volatile load (s8) from %ir.ptr)
756- ; CHECK-NEXT: early-clobber renamable $w9 = STXRB renamable $w1, renamable $x8 , pcsections !0 :: (volatile store (s8) into %ir.ptr)
755+ ; CHECK-NEXT: renamable $w8 = LDXRB renamable $x0 , implicit-def $x8 , pcsections !0 :: (volatile load (s8) from %ir.ptr)
756+ ; CHECK-NEXT: early-clobber renamable $w9 = STXRB renamable $w1, renamable $x0 , pcsections !0 :: (volatile store (s8) into %ir.ptr)
757757 ; CHECK-NEXT: CBNZW killed renamable $w9, %bb.1, pcsections !0
758758 ; CHECK-NEXT: {{ $}}
759759 ; CHECK-NEXT: bb.2.atomicrmw.end:
760- ; CHECK-NEXT: liveins: $x0
760+ ; CHECK-NEXT: liveins: $x8
761761 ; CHECK-NEXT: {{ $}}
762- ; CHECK-NEXT: $w0 = KILL renamable $w0, implicit killed $x0
762+ ; CHECK-NEXT: $w0 = ORRWrs $wzr, $w8, 0, implicit killed $x8
763763 ; CHECK-NEXT: RET undef $lr, implicit $w0
764764 %res = atomicrmw xchg ptr %ptr , i8 %rhs monotonic , !pcsections !0
765765 ret i8 %res
@@ -999,20 +999,20 @@ define i16 @atomicrmw_xchg_i16(ptr %ptr, i16 %rhs) {
999999 ; CHECK-NEXT: successors: %bb.1(0x80000000)
10001000 ; CHECK-NEXT: liveins: $w1, $x0
10011001 ; CHECK-NEXT: {{ $}}
1002- ; CHECK-NEXT: $x8 = ORRXrs $xzr, $x0, 0
1002+ ; CHECK-NEXT: renamable $w1 = KILL $w1, implicit-def $x1
10031003 ; CHECK-NEXT: {{ $}}
10041004 ; CHECK-NEXT: bb.1.atomicrmw.start:
10051005 ; CHECK-NEXT: successors: %bb.1(0x7c000000), %bb.2(0x04000000)
1006- ; CHECK-NEXT: liveins: $w1 , $x8
1006+ ; CHECK-NEXT: liveins: $x0 , $x1
10071007 ; CHECK-NEXT: {{ $}}
1008- ; CHECK-NEXT: renamable $w0 = LDXRH renamable $x8 , implicit-def $x0 , pcsections !0 :: (volatile load (s16) from %ir.ptr)
1009- ; CHECK-NEXT: early-clobber renamable $w9 = STXRH renamable $w1, renamable $x8 , pcsections !0 :: (volatile store (s16) into %ir.ptr)
1008+ ; CHECK-NEXT: renamable $w8 = LDXRH renamable $x0 , implicit-def $x8 , pcsections !0 :: (volatile load (s16) from %ir.ptr)
1009+ ; CHECK-NEXT: early-clobber renamable $w9 = STXRH renamable $w1, renamable $x0 , pcsections !0 :: (volatile store (s16) into %ir.ptr)
10101010 ; CHECK-NEXT: CBNZW killed renamable $w9, %bb.1, pcsections !0
10111011 ; CHECK-NEXT: {{ $}}
10121012 ; CHECK-NEXT: bb.2.atomicrmw.end:
1013- ; CHECK-NEXT: liveins: $x0
1013+ ; CHECK-NEXT: liveins: $x8
10141014 ; CHECK-NEXT: {{ $}}
1015- ; CHECK-NEXT: $w0 = KILL renamable $w0, implicit killed $x0
1015+ ; CHECK-NEXT: $w0 = ORRWrs $wzr, $w8, 0, implicit killed $x8
10161016 ; CHECK-NEXT: RET undef $lr, implicit $w0
10171017 %res = atomicrmw xchg ptr %ptr , i16 %rhs monotonic , !pcsections !0
10181018 ret i16 %res
@@ -1229,10 +1229,11 @@ define { i8, i1 } @cmpxchg_i8(ptr %ptr, i8 %desired, i8 %new) {
12291229 ; CHECK-NEXT: liveins: $w1, $w2, $x0
12301230 ; CHECK-NEXT: {{ $}}
12311231 ; CHECK-NEXT: $x8 = ORRXrs $xzr, $x0, 0
1232+ ; CHECK-NEXT: renamable $w2 = KILL $w2, implicit-def $x2
12321233 ; CHECK-NEXT: {{ $}}
12331234 ; CHECK-NEXT: bb.1.cmpxchg.start:
12341235 ; CHECK-NEXT: successors: %bb.2(0x7c000000), %bb.4(0x04000000)
1235- ; CHECK-NEXT: liveins: $w1, $w2 , $x8
1236+ ; CHECK-NEXT: liveins: $w1, $x2 , $x8
12361237 ; CHECK-NEXT: {{ $}}
12371238 ; CHECK-NEXT: renamable $w0 = LDXRB renamable $x8, implicit-def $x0, pcsections !0 :: (volatile load (s8) from %ir.ptr)
12381239 ; CHECK-NEXT: renamable $w9 = ANDWri renamable $w0, 7, pcsections !0
@@ -1241,7 +1242,7 @@ define { i8, i1 } @cmpxchg_i8(ptr %ptr, i8 %desired, i8 %new) {
12411242 ; CHECK-NEXT: {{ $}}
12421243 ; CHECK-NEXT: bb.2.cmpxchg.trystore:
12431244 ; CHECK-NEXT: successors: %bb.3(0x04000000), %bb.1(0x7c000000)
1244- ; CHECK-NEXT: liveins: $w1, $w2 , $x0 , $x8
1245+ ; CHECK-NEXT: liveins: $w1, $x0 , $x2 , $x8
12451246 ; CHECK-NEXT: {{ $}}
12461247 ; CHECK-NEXT: early-clobber renamable $w9 = STXRB renamable $w2, renamable $x8, pcsections !0 :: (volatile store (s8) into %ir.ptr)
12471248 ; CHECK-NEXT: CBNZW killed renamable $w9, %bb.1
@@ -1271,10 +1272,11 @@ define { i16, i1 } @cmpxchg_i16(ptr %ptr, i16 %desired, i16 %new) {
12711272 ; CHECK-NEXT: liveins: $w1, $w2, $x0
12721273 ; CHECK-NEXT: {{ $}}
12731274 ; CHECK-NEXT: $x8 = ORRXrs $xzr, $x0, 0
1275+ ; CHECK-NEXT: renamable $w2 = KILL $w2, implicit-def $x2
12741276 ; CHECK-NEXT: {{ $}}
12751277 ; CHECK-NEXT: bb.1.cmpxchg.start:
12761278 ; CHECK-NEXT: successors: %bb.2(0x7c000000), %bb.4(0x04000000)
1277- ; CHECK-NEXT: liveins: $w1, $w2 , $x8
1279+ ; CHECK-NEXT: liveins: $w1, $x2 , $x8
12781280 ; CHECK-NEXT: {{ $}}
12791281 ; CHECK-NEXT: renamable $w0 = LDXRH renamable $x8, implicit-def $x0, pcsections !0 :: (volatile load (s16) from %ir.ptr)
12801282 ; CHECK-NEXT: renamable $w9 = ANDWri renamable $w0, 15, pcsections !0
@@ -1283,7 +1285,7 @@ define { i16, i1 } @cmpxchg_i16(ptr %ptr, i16 %desired, i16 %new) {
12831285 ; CHECK-NEXT: {{ $}}
12841286 ; CHECK-NEXT: bb.2.cmpxchg.trystore:
12851287 ; CHECK-NEXT: successors: %bb.3(0x04000000), %bb.1(0x7c000000)
1286- ; CHECK-NEXT: liveins: $w1, $w2 , $x0 , $x8
1288+ ; CHECK-NEXT: liveins: $w1, $x0 , $x2 , $x8
12871289 ; CHECK-NEXT: {{ $}}
12881290 ; CHECK-NEXT: early-clobber renamable $w9 = STXRH renamable $w2, renamable $x8, pcsections !0 :: (volatile store (s16) into %ir.ptr)
12891291 ; CHECK-NEXT: CBNZW killed renamable $w9, %bb.1
0 commit comments