[PATCH] Compile dbl-64/e_sqrt.c with -ffp-contract=off

Marcus Shawcroft marcus.shawcroft@linaro.org
Tue Dec 17 18:30:00 GMT 2013


This is a re-spin of a patch I posted earlier on libc-ports.  The
patch fixes the numerical errors observed in aarch64 sqrt() due to the
compilers use of fnmsub (negated fused multiply-subtract).

Previous thread:
https://sourceware.org/ml/libc-alpha/2013-12/msg00473.html

Previous patch on libc-ports:
https://sourceware.org/ml/libc-ports/2013-12/msg00024.html

Ok?

Cheers
/Marcus
-------------- next part --------------
diff --git a/ChangeLog b/ChangeLog
index ad32031..9b19dda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-12-17  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
+
+	* sysdeps/ieee754/dbl-64/Makefile (CFLAGS-e_sqrt.c): Add
+	$(config-cflags-nofma).
+
 2013-12-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	[BZ #13304]
diff --git a/sysdeps/ieee754/dbl-64/Makefile b/sysdeps/ieee754/dbl-64/Makefile
index 1a7b311..35f545f 100644
--- a/sysdeps/ieee754/dbl-64/Makefile
+++ b/sysdeps/ieee754/dbl-64/Makefile
@@ -1,4 +1,5 @@
 ifeq ($(subdir),math)
 # branred depends on precise IEEE double rounding
 CFLAGS-branred.c = $(config-cflags-nofma)
+CFLAGS-e_sqrt.c = $(config-cflags-nofma)
 endif


More information about the Libc-alpha mailing list