diff mbox series

PR libgcc/59714 complex division is surprising on aarch64

Message ID 1508360334-117000-1-git-send-email-vladimir.mezentsev@oracle.com
State New
Headers show
Series PR libgcc/59714 complex division is surprising on aarch64 | expand

Commit Message

Vladimir Mezentsev Oct. 18, 2017, 8:58 p.m. UTC
From: Vladimir Mezentsev <vladimir.mezentsev@oracle.com>

FMA (floating-point multiply-add) instructions are supported on aarch64.
These instructions can produce different result if two operations executed separately.
-ffp-contract=off doesn't allow the FMA instructions.

Tested on two platforms:
  aarch64-unknown-linux-gnu: No regression. Two failed tests now passed.
  sparc64-unknown-linux-gnu: No regression.

ChangeLog:
2017-10-18  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR libgcc/59714
* libgcc/Makefile.in: Add -ffp-contract=off
---
 libgcc/Makefile.in |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff mbox series

Patch

diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index a1a392d..b771875 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -237,12 +237,16 @@  else
 DECNUMINC =
 endif
 
+# Disable floating-point expression contraction
+LIBGCC2_FFP_CONTRAST_CFLAGS = -ffp-contract=off
+
 # Options to use when compiling libgcc2.a.
 #
 LIBGCC2_DEBUG_CFLAGS = -g
 LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
 		 $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
 		 -fbuilding-libgcc -fno-stack-protector \
+		 $(LIBGCC2_FFP_CONTRAST_CFLAGS) \
 		 $(INHIBIT_LIBC_CFLAGS)
 
 # Additional options to use when compiling libgcc2.a.