[llvm-branch-commits] [llvm] ValueTracking: Improve handling for fma/fmuladd (PR #175614)
Yingwei Zheng via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Jan 13 08:50:45 PST 2026
================
@@ -332,6 +332,19 @@ KnownFPClass KnownFPClass::fmul(const KnownFPClass &KnownLHS,
return Known;
}
+KnownFPClass KnownFPClass::fma(const KnownFPClass &KnownLHS,
+ const KnownFPClass &KnownRHS,
+ const KnownFPClass &KnownAddend,
+ DenormalMode Mode) {
+ return fadd(fmul(KnownLHS, KnownRHS, Mode), KnownAddend, Mode);
----------------
dtcxzyw wrote:
Does it really work for fused-mul-add? I cannot prove/disprove this. I'd suggest passing DenormalMode::Dynamic() to fmul/square since fma doesn't round the intermediate result (I assume FTZ/DAZ don't apply either).
https://github.com/llvm/llvm-project/pull/175614
More information about the llvm-branch-commits
mailing list