[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