[llvm] [KnownFPClass] Improve known class deductions for exp/exp2/exp10 (PR #217526)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 03:12:30 PDT 2026


================
@@ -520,16 +520,19 @@ KnownFPClass KnownFPClass::exp(const KnownFPClass &KnownSrc) {
 
   Known.propagateNonNaN(KnownSrc);
 
-  if (KnownSrc.cannotBeOrderedLessThanZero()) {
-    // If the source is positive this cannot underflow.
+  // Only a negative normal or negative infinity can produce positive zero.
+  // A negative subnormal input is too small to produce positive zero.
----------------
arsenm wrote:

This seems like it's a property of the specific floating point format? Ideally you would derive the exact conditions required for this to be true 

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


More information about the llvm-commits mailing list