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

Joshua Cranmer via llvm-commits llvm-commits at lists.llvm.org
Tue May 28 13:42:21 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;
+}
+LLVM_READONLY
+inline APFloat minimumnum(const APFloat &A, const APFloat &B) {
----------------
jcranmer-intel wrote:

The APFloat changes need unittests.

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


More information about the llvm-commits mailing list