[llvm-branch-commits] [llvm] [AArch64] Support FP atomic stores with memory hints (PR #231495)

Kerry McLaughlin via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Oct 14 01:49:01 PDT 2026


================
@@ -331,3 +331,76 @@ define hidden void @test_extract_store_2xi64(ptr nocapture noundef writeonly %a,
   store i64 %1, ptr %a, align 8
   ret void
 }
+
+define void @test_atomic_store_hint_release_bfloat(ptr %ptr, bfloat %val) nounwind {
+; RCPC3-LABEL: test_atomic_store_hint_release_bfloat:
+; RCPC3:       // %bb.0:
+; RCPC3-NEXT:    stshh keep
+; RCPC3-NEXT:    stlur h0, [x0]
+; RCPC3-NEXT:    ret
+;
+; NO-RCPC3-LABEL: test_atomic_store_hint_release_bfloat:
+; NO-RCPC3:       // %bb.0:
+; NO-RCPC3-NEXT:    // kill: def $h0 killed $h0 def $s0
+; NO-RCPC3-NEXT:    fmov w8, s0
+; NO-RCPC3-NEXT:    stshh keep
+; NO-RCPC3-NEXT:    stlrh w8, [x0]
+; NO-RCPC3-NEXT:    ret
----------------
kmclaughlin-arm wrote:

> But, isn't it the case that without rcpc3 there is no FP store instruction that satisfies the ordering requirements for a release store?

Yes, sorry that was my mistake!

https://github.com/llvm/llvm-project/pull/231495


More information about the llvm-branch-commits mailing list