This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH]: PR29335 use MPFR for builtins fma, fmin and fmax
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 email@example.com