[Bug middle-end/30816] gfortran.dg/g77/intrinsic-unix-erf.f tests fail with optimization
kargl at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Feb 16 03:53:00 GMT 2007
------- Comment #4 from kargl at gcc dot gnu dot org 2007-02-16 03:53 -------
(In reply to comment #3)
> I'll try to help but I don't think this has anything to do with my patches.
> Fortran was using mpfr for evaluating intrinsics way before I touched anything,
> and I believe it uses it's own historical mechanism from it's frontend for
> accessing mpfr, unrelated to the middle-end builtins which I added.
gfortran doesn't constant fold erf. This is due to your patch and
the fact that Tobi is using darwin.
> 1. I don't see the error on sparc-sun-solaris2.10 (as of yesterday), and I
> can't find any other recent testresults that have the problem besides
> ppc-darwin. It may be darwin-specific.
This is my best guess. Consider
program j
x = erf(1.5)
end program j
With a 4.2 gfortran prior to your patches, -fdump-tree-original gives
MAIN__ ()
{
real4 x;
_gfortran_set_std (70, 127, 0);
x = __builtin_erff (1.5e+0);
}
With a fairly up to date trunk with your patch, I get
MAIN__ ()
{
real4 x;
_gfortran_set_std (70, 127, 0, 0);
x = 9.66105163097381591796875e-1;
}
--
kargl at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kargl at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30816
More information about the Gcc-bugs
mailing list