================
@@ -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);
----------------
kmclaughlin-arm wrote:

```suggestion
    Check(cast<ConstantInt>(Call.getArgOperand(3))->getZExtValue() < 2,
          "policy argument to llvm.aarch64.stshh.atomic.store must be 0 or 1",
          Call);
```

https://github.com/llvm/llvm-project/pull/181386
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to