[llvm-branch-commits] [llvm] [ConstantFolding] Non-constrained functions in strictfp (PR #190478)

Eli Friedman via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Apr 5 13:35:39 PDT 2026


================
@@ -3960,6 +3994,9 @@ static Constant *ConstantFoldScalarCall3(StringRef Name,
         }
         case Intrinsic::fma:
         case Intrinsic::fmuladd: {
+          if (isCalledFromStrictFPFunction(Call).value_or(true) &&
+              (C1.isSignaling() || C2.isSignaling() || C3.isSignaling()))
+            return nullptr;
----------------
efriedma-quic wrote:

Can RM be something other than `RoundingMode::Dynamic` or `RoundingMode::NearestTiesToEven` here?  I'm confused why there's a bunch of handling for rounding modes for the one-operand intrinsics that doesn't exist for intrinsics with more than one operand.

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


More information about the llvm-branch-commits mailing list