[llvm] Intrinsic: Fix minnum and introduce minimumnum (PR #93373)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue May 28 08:23:44 PDT 2024


================
@@ -1422,9 +1422,19 @@ inline APFloat maxnum(const APFloat &A, const APFloat &B) {
 LLVM_READONLY
 inline APFloat minimum(const APFloat &A, const APFloat &B) {
   if (A.isNaN())
-    return A;
+    return A.makeQuiet();
   if (B.isNaN())
-    return B;
+    return B.makeQuiet();
+  if (A.isZero() && B.isZero() && (A.isNegative() != B.isNegative()))
+    return A.isNegative() ? A : B;
+  return B < A ? B : A;
----------------
arsenm wrote:

Changing minimum and maximum constant folding should be a separate PR with InstSImplify tests showing constant folding of signaling nan 

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


More information about the llvm-commits mailing list