[clang] [llvm] [AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin (PR #181386)

Jonathan Thackray via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 3 03:49:54 PST 2026


================
@@ -6871,6 +6871,26 @@ void Verifier::visitIntrinsicCall(Intrinsic::ID ID, CallBase &Call) {
           Call);
     break;
   }
+  case Intrinsic::aarch64_stshh_atomic_store: {
+    uint64_t Order = cast<ConstantInt>(Call.getArgOperand(2))->getZExtValue();
+    Check(Order == static_cast<uint64_t>(AtomicOrderingCABI::relaxed) ||
+              Order == static_cast<uint64_t>(AtomicOrderingCABI::release) ||
+              Order == static_cast<uint64_t>(AtomicOrderingCABI::seq_cst),
+          "order argument to llvm.aarch64.stshh.atomic.store must be 0, 3 or 5",
+          Call);
+
+    uint64_t Policy = cast<ConstantInt>(Call.getArgOperand(3))->getZExtValue();
+    Check(Policy < 2,
+          "policy argument to llvm.aarch64.stshh.atomic.store must be 0 or 1",
+          Call);
----------------
jthackray wrote:

Thanks, done.

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


More information about the cfe-commits mailing list