[llvm] [IR][AtomicExpand] Add elementwise modifier to atomicrmw; automatically expand for all targets (PR #189517)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 31 13:05:10 PDT 2026


================
@@ -4762,25 +4762,35 @@ void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
         "atomicrmw instructions cannot be unordered.", &RMWI);
   auto Op = RMWI.getOperation();
   Type *ElTy = RMWI.getOperand(1)->getType();
+  Type *ScalarTy = ElTy;
+  if (RMWI.isElementwise()) {
+    auto *VecTy = dyn_cast<FixedVectorType>(ElTy);
+    Check(VecTy, "atomicrmw elementwise operand must have fixed vector type!",
----------------
arsenm wrote:

Missing verifier test, this is an annoying case that overlaps with the assembler error 

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


More information about the llvm-commits mailing list