[llvm] AMDGPU: Add codegen for atomicrmw operations usub_cond and usub_sat (PR #141068)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu May 22 07:18:44 PDT 2025


================
@@ -1089,7 +1089,34 @@ multiclass DSAtomicRetNoRetPat_mc<DS_Pseudo inst, DS_Pseudo noRetInst,
   }
 }
 
+multiclass DSAtomicRetNoRetPatCondSub_mc<DS_Pseudo inst, DS_Pseudo noRetInst,
+                                         ValueType vt, string frag> {
+  let OtherPredicates = [LDSRequiresM0Init] in {
+    def : DSAtomicRetPat<inst, vt,
+                         !cast<PatFrag>(frag#"_local_m0_"#vt)>;
+    let OtherPredicates = [HasAtomicCSubNoRtnInsts] in
----------------
jayfoad wrote:

This looks wrong. "CSub" refers to `*_atomic_csub` instructions which is the old name for `*_atomic_sub_clamp` not `*_atomic_cond_sub`.

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


More information about the llvm-commits mailing list