[Bug middle-end/82004] [8 Regression] SPEC CPU2017 628.pop2_s miscompare
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Tue Sep 12 12:44:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004
--- Comment #11 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 11 Sep 2017, wilco at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82004
>
> Wilco <wilco at gcc dot gnu.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |wilco at gcc dot gnu.org
>
> --- Comment #10 from Wilco <wilco at gcc dot gnu.org> ---
> Using latest GLIBC, exp(log(10),-3) is only 3ULP different from 0.001. Since
> (double)0.001 is rounded up, any <1ULP POW implementation could round down and
> fail the test. So yes the first element in chlcnc really needs to be fixed to
> 0.00099999999999999 to allow for a few ULP of error in POW.
>
> > As a last resort we can always choose to not touch 10**x
>
> Unfortunately almost all useful cases are 10**x... So it would be great if we
> can allow use of exp10 and exp2 to get more accurate results. This requires a
> real implementation in GLIBC, and a way to disable it. Would it be feasible to
> add a exp10 symbol to libgcc/libgfortran in case the math libraries don't
> support it?
Not sure, it depends on whether we can make sure libm is prefered over
libgfortran. Maybe we have existing cases in libgfortran already.
More information about the Gcc-bugs
mailing list