[PATCH]: PR29335 use MPFR for builtins fma, fmin and fmax

Kaveh R. GHAZI ghazi@caip.rutgers.edu
Fri Nov 10 15:18:00 GMT 2006

On Fri, 10 Nov 2006, Richard Guenther wrote:

> > Right.  I wish MIN/MAX_EXPR were suitable for fmin/fmax replacements.
> > There are a lot of optimizations in the middle-end for these EXPRs that
> > I'd rather not duplicate in the builtins.  Instead I'd like to be able to
> > lower the builtins into these codes like we do for fabs->ABS_EXPR.  But
> > that would require work to change all the backends to honor the new
> > behaviors for -0.0 and/or NaN.
> >
> > Actually, I'm not sure if fmin/fmax care about -0.0, but I think they do
> > care about NaN vs a normal number.  Anyone got the standard handy?
> In the ISO/IEC 9899 appendix of the C99 standard it says
> 'If just one argument is NaN, the fmax functions return the other
> argument (if both
> arguments are NaNs, the functions return NaN).
> "Ideally, fmax would be sensitive to the sign of zero, for example
> fmax (-0.0, 0.0)
> would return 0; however, implementation in software might be impractical."

Thanks for checking.  So I guess if we have -ffinite-math-only set, which
presupposes no NaNs, we can in fact transform fmin/fmax into the EXPRs

Kaveh R. Ghazi			ghazi@caip.rutgers.edu

More information about the Gcc-patches mailing list