@@ -1857,6 +1857,7 @@ define void @cmpxchg_i8_seq_cst_seq_cst(ptr %ptr, i8 %cmp, i8 %val) nounwind {
18571857;
18581858; RV64IA-WMO-ZABHA-LABEL: cmpxchg_i8_seq_cst_seq_cst:
18591859; RV64IA-WMO-ZABHA: # %bb.0:
1860+ ; RV64IA-WMO-ZABHA-NEXT: fence rw, rw
18601861; RV64IA-WMO-ZABHA-NEXT: amocas.b.aqrl a1, a2, (a0)
18611862; RV64IA-WMO-ZABHA-NEXT: ret
18621863;
@@ -1885,6 +1886,7 @@ define void @cmpxchg_i8_seq_cst_seq_cst(ptr %ptr, i8 %cmp, i8 %val) nounwind {
18851886;
18861887; RV64IA-TSO-ZABHA-LABEL: cmpxchg_i8_seq_cst_seq_cst:
18871888; RV64IA-TSO-ZABHA: # %bb.0:
1889+ ; RV64IA-TSO-ZABHA-NEXT: fence rw, rw
18881890; RV64IA-TSO-ZABHA-NEXT: amocas.b a1, a2, (a0)
18891891; RV64IA-TSO-ZABHA-NEXT: ret
18901892 %res = cmpxchg ptr %ptr , i8 %cmp , i8 %val seq_cst seq_cst
@@ -3787,6 +3789,7 @@ define void @cmpxchg_i16_seq_cst_seq_cst(ptr %ptr, i16 %cmp, i16 %val) nounwind
37873789;
37883790; RV64IA-WMO-ZABHA-LABEL: cmpxchg_i16_seq_cst_seq_cst:
37893791; RV64IA-WMO-ZABHA: # %bb.0:
3792+ ; RV64IA-WMO-ZABHA-NEXT: fence rw, rw
37903793; RV64IA-WMO-ZABHA-NEXT: amocas.h.aqrl a1, a2, (a0)
37913794; RV64IA-WMO-ZABHA-NEXT: ret
37923795;
@@ -3816,6 +3819,7 @@ define void @cmpxchg_i16_seq_cst_seq_cst(ptr %ptr, i16 %cmp, i16 %val) nounwind
38163819;
38173820; RV64IA-TSO-ZABHA-LABEL: cmpxchg_i16_seq_cst_seq_cst:
38183821; RV64IA-TSO-ZABHA: # %bb.0:
3822+ ; RV64IA-TSO-ZABHA-NEXT: fence rw, rw
38193823; RV64IA-TSO-ZABHA-NEXT: amocas.h a1, a2, (a0)
38203824; RV64IA-TSO-ZABHA-NEXT: ret
38213825 %res = cmpxchg ptr %ptr , i16 %cmp , i16 %val seq_cst seq_cst
@@ -4788,6 +4792,7 @@ define void @cmpxchg_i32_seq_cst_seq_cst(ptr %ptr, i32 %cmp, i32 %val) nounwind
47884792;
47894793; RV32IA-WMO-ZACAS-LABEL: cmpxchg_i32_seq_cst_seq_cst:
47904794; RV32IA-WMO-ZACAS: # %bb.0:
4795+ ; RV32IA-WMO-ZACAS-NEXT: fence rw, rw
47914796; RV32IA-WMO-ZACAS-NEXT: amocas.w.aqrl a1, a2, (a0)
47924797; RV32IA-WMO-ZACAS-NEXT: ret
47934798;
@@ -4804,6 +4809,7 @@ define void @cmpxchg_i32_seq_cst_seq_cst(ptr %ptr, i32 %cmp, i32 %val) nounwind
48044809;
48054810; RV32IA-TSO-ZACAS-LABEL: cmpxchg_i32_seq_cst_seq_cst:
48064811; RV32IA-TSO-ZACAS: # %bb.0:
4812+ ; RV32IA-TSO-ZACAS-NEXT: fence rw, rw
48074813; RV32IA-TSO-ZACAS-NEXT: amocas.w a1, a2, (a0)
48084814; RV32IA-TSO-ZACAS-NEXT: ret
48094815;
@@ -4834,11 +4840,13 @@ define void @cmpxchg_i32_seq_cst_seq_cst(ptr %ptr, i32 %cmp, i32 %val) nounwind
48344840;
48354841; RV64IA-WMO-ZACAS-LABEL: cmpxchg_i32_seq_cst_seq_cst:
48364842; RV64IA-WMO-ZACAS: # %bb.0:
4843+ ; RV64IA-WMO-ZACAS-NEXT: fence rw, rw
48374844; RV64IA-WMO-ZACAS-NEXT: amocas.w.aqrl a1, a2, (a0)
48384845; RV64IA-WMO-ZACAS-NEXT: ret
48394846;
48404847; RV64IA-WMO-ZABHA-LABEL: cmpxchg_i32_seq_cst_seq_cst:
48414848; RV64IA-WMO-ZABHA: # %bb.0:
4849+ ; RV64IA-WMO-ZABHA-NEXT: fence rw, rw
48424850; RV64IA-WMO-ZABHA-NEXT: amocas.w.aqrl a1, a2, (a0)
48434851; RV64IA-WMO-ZABHA-NEXT: ret
48444852;
@@ -4856,11 +4864,13 @@ define void @cmpxchg_i32_seq_cst_seq_cst(ptr %ptr, i32 %cmp, i32 %val) nounwind
48564864;
48574865; RV64IA-TSO-ZACAS-LABEL: cmpxchg_i32_seq_cst_seq_cst:
48584866; RV64IA-TSO-ZACAS: # %bb.0:
4867+ ; RV64IA-TSO-ZACAS-NEXT: fence rw, rw
48594868; RV64IA-TSO-ZACAS-NEXT: amocas.w a1, a2, (a0)
48604869; RV64IA-TSO-ZACAS-NEXT: ret
48614870;
48624871; RV64IA-TSO-ZABHA-LABEL: cmpxchg_i32_seq_cst_seq_cst:
48634872; RV64IA-TSO-ZABHA: # %bb.0:
4873+ ; RV64IA-TSO-ZABHA-NEXT: fence rw, rw
48644874; RV64IA-TSO-ZABHA-NEXT: amocas.w a1, a2, (a0)
48654875; RV64IA-TSO-ZABHA-NEXT: ret
48664876 %res = cmpxchg ptr %ptr , i32 %cmp , i32 %val seq_cst seq_cst
@@ -5753,11 +5763,13 @@ define void @cmpxchg_i64_seq_cst_seq_cst(ptr %ptr, i64 %cmp, i64 %val) nounwind
57535763;
57545764; RV64IA-WMO-ZACAS-LABEL: cmpxchg_i64_seq_cst_seq_cst:
57555765; RV64IA-WMO-ZACAS: # %bb.0:
5766+ ; RV64IA-WMO-ZACAS-NEXT: fence rw, rw
57565767; RV64IA-WMO-ZACAS-NEXT: amocas.d.aqrl a1, a2, (a0)
57575768; RV64IA-WMO-ZACAS-NEXT: ret
57585769;
57595770; RV64IA-WMO-ZABHA-LABEL: cmpxchg_i64_seq_cst_seq_cst:
57605771; RV64IA-WMO-ZABHA: # %bb.0:
5772+ ; RV64IA-WMO-ZABHA-NEXT: fence rw, rw
57615773; RV64IA-WMO-ZABHA-NEXT: amocas.d.aqrl a1, a2, (a0)
57625774; RV64IA-WMO-ZABHA-NEXT: ret
57635775;
@@ -5774,11 +5786,13 @@ define void @cmpxchg_i64_seq_cst_seq_cst(ptr %ptr, i64 %cmp, i64 %val) nounwind
57745786;
57755787; RV64IA-TSO-ZACAS-LABEL: cmpxchg_i64_seq_cst_seq_cst:
57765788; RV64IA-TSO-ZACAS: # %bb.0:
5789+ ; RV64IA-TSO-ZACAS-NEXT: fence rw, rw
57775790; RV64IA-TSO-ZACAS-NEXT: amocas.d a1, a2, (a0)
57785791; RV64IA-TSO-ZACAS-NEXT: ret
57795792;
57805793; RV64IA-TSO-ZABHA-LABEL: cmpxchg_i64_seq_cst_seq_cst:
57815794; RV64IA-TSO-ZABHA: # %bb.0:
5795+ ; RV64IA-TSO-ZABHA-NEXT: fence rw, rw
57825796; RV64IA-TSO-ZABHA-NEXT: amocas.d a1, a2, (a0)
57835797; RV64IA-TSO-ZABHA-NEXT: ret
57845798 %res = cmpxchg ptr %ptr , i64 %cmp , i64 %val seq_cst seq_cst
0 commit comments