[llvm] DAG: Skip 0 sign handling in minimum/maximum lowering for _ieee case (PR #91326)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed May 8 09:36:42 PDT 2024
================
@@ -8400,8 +8400,14 @@ SDValue TargetLowering::expandFMINIMUM_FMAXIMUM(SDNode *N,
SDValue MinMax;
unsigned CompOpcIeee = IsMax ? ISD::FMAXNUM_IEEE : ISD::FMINNUM_IEEE;
unsigned CompOpc = IsMax ? ISD::FMAXNUM : ISD::FMINNUM;
+
+ // FIXME: We should probably define fminnum/fmaxnum variants with correct
----------------
arsenm wrote:
I mean where -0 is definitely ordered less than +0. I mean add even more opcode variants. Really what we should have is:
fmin/fmax = libm behavior, uncertain signed zero handling and no sNaN quieting
minnum_ieee_2008 = ieee behavior, uncertain signed zero handling and inverted sNaN handling
minnum_ieee_2019 = ieee behavior, certain signed zero handling with inverted sNaN handling
<something I don't know what to call> = fmin snan handling with defined signed zero handling. This is the case the comment most directly refers to
https://github.com/llvm/llvm-project/pull/91326
More information about the llvm-commits
mailing list