[clang] [llvm] [mlir] [clang][NVPTX][MLIR][NVVM] Add overloaded fadd intrinsics (PR #217336)

Durgadoss R via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 21 06:06:09 PDT 2026


================
@@ -594,45 +595,48 @@ inline DenormalMode GetNVVMDenormMode(bool ShouldFTZ) {
 
 inline bool FAddShouldFTZ(Intrinsic::ID IntrinsicID) {
   switch (IntrinsicID) {
-  case Intrinsic::nvvm_add_rm_ftz_f:
-  case Intrinsic::nvvm_add_rn_ftz_f:
-  case Intrinsic::nvvm_add_rp_ftz_f:
-  case Intrinsic::nvvm_add_rz_ftz_f:
+  case Intrinsic::nvvm_fadd_ftz:
+  case Intrinsic::nvvm_fadd_sat_ftz:
     return true;
 
-  case Intrinsic::nvvm_add_rm_f:
-  case Intrinsic::nvvm_add_rn_f:
-  case Intrinsic::nvvm_add_rp_f:
-  case Intrinsic::nvvm_add_rz_f:
-  case Intrinsic::nvvm_add_rm_d:
-  case Intrinsic::nvvm_add_rn_d:
-  case Intrinsic::nvvm_add_rp_d:
-  case Intrinsic::nvvm_add_rz_d:
+  case Intrinsic::nvvm_fadd:
+  case Intrinsic::nvvm_fadd_sat:
     return false;
   }
   llvm_unreachable("Checking FTZ flag for invalid NVVM add intrinsic");
----------------
durga4github wrote:

I feel this function is called from places where the IID is already in switch-case (i.e. checked in some form).
So, wondering if we should just simplify it as:
```
return IID == fadd_ftz || IID == fadd_sat_ftz
```

(Please double-check this before applying)

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


More information about the cfe-commits mailing list