This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: libgo patch committed: Compile math library with -ffp-contract=off
- From: Michael Hudson-Doyle <michael dot hudson at linaro dot org>
- To: Ian Lance Taylor <iant at google dot com>, gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Fri, 14 Mar 2014 14:27:48 +1300
- Subject: Re: libgo patch committed: Compile math library with -ffp-contract=off
- Authentication-results: sourceware.org; auth=none
- References: <mcrob1cc9pc dot fsf at iant-glaptop dot roam dot corp dot google dot com>
Ian Lance Taylor <iant@google.com> writes:
> The bug report http://golang.org/issue/7074 shows that math.Log2(1)
> produces the wrong result on Aarch64, because the Go math package is
> compiled to use a fused multiply-add instruction. This patch to the
> libgo configure script will use -ffp-contract=off when compiling the
> math package on processors other than x86. Bootstrapped and ran Go
> testsuite on x86_64-unknown-linux-gnu, not that that tests much.
> Committed to mainline.
Thanks for this! If you are willing to go into battle enough to argue
that libgcc should also be compiled with -ffp-contract=off (I did not
have the stomach for that fight) then we'll be down to 1 check-go
failure on aarch64 (which is peano -- due to the absence of
split/copyable stacks and should probably xfail).
Cheers,
mwh
> Ian
>
> diff -r 76dbb6f77e3d libgo/configure.ac
> --- a/libgo/configure.ac Tue Mar 11 12:53:06 2014 -0700
> +++ b/libgo/configure.ac Tue Mar 11 21:26:35 2014 -0700
> @@ -620,6 +620,8 @@
> MATH_FLAG=
> if test "$libgo_cv_c_fancymath" = yes; then
> MATH_FLAG="-mfancy-math-387 -funsafe-math-optimizations"
> +else
> + MATH_FLAG="-ffp-contract=off"
> fi
> AC_SUBST(MATH_FLAG)
>