[llvm] [AtomicExpand][NVPTX] Fix integer vector cmpxchg loops and partword atomicrmw (PR #211497)

Yonah Goldberg via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 4 14:49:01 PDT 2026


================
@@ -1089,8 +1101,9 @@ void AtomicExpandImpl::expandPartwordAtomicRMW(
                        AI->getAlign(), TLI->getMinCmpXchgSizeInBits() / 8);
 
   Value *ValOperand_Shifted = nullptr;
-  if (Op == AtomicRMWInst::Xchg || Op == AtomicRMWInst::Add ||
-      Op == AtomicRMWInst::Sub || Op == AtomicRMWInst::Nand) {
+  if (Op == AtomicRMWInst::Xchg || Op == AtomicRMWInst::Nand ||
----------------
YonahGoldberg wrote:

Yeah, this is intentional, for vector Add, Sub, we don't use Valoperand_Shifted because in `performMaskedAtomicOp` we take the path where we extract out the sub-word type and perform the op on the sub-word. It's not used.

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


More information about the llvm-commits mailing list