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

Kerry McLaughlin via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 3 03:04:30 PST 2026


================
@@ -5274,6 +5274,38 @@ Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID,
     return Builder.CreateCall(F, Args);
   }
 
+  if (BuiltinID == clang::AArch64::BI__builtin_arm_atomic_store_with_stshh) {
+    Value *StoreAddr = EmitScalarExpr(E->getArg(0));
+    Value *StoreValue = EmitScalarExpr(E->getArg(1));
+    Value *Order = EmitScalarExpr(E->getArg(2));
+    Value *Policy = EmitScalarExpr(E->getArg(3));
+
+    auto *OrderC = cast<llvm::ConstantInt>(Order);
+    auto *PolicyC = cast<llvm::ConstantInt>(Policy);
----------------
kmclaughlin-arm wrote:

```suggestion
    auto *Order = cast<ConstantInt>(EmitScalarExpr(E->getArg(2)));
    auto *Policy = cast<ConstantInt>(EmitScalarExpr(E->getArg(3)));
```

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


More information about the cfe-commits mailing list