This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: libgo patch committed: Compile math library with -ffp-contract=off


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)
>  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]