This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] PR libgcc/59714 complex division is surprising on aarch64
- From: vladimir dot mezentsev at oracle dot com
- To: gcc-patches at gcc dot gnu dot org
- Cc: vladimir dot mezentsev at oracle dot com
- Date: Wed, 18 Oct 2017 15:58:54 -0500
- Subject: [PATCH] PR libgcc/59714 complex division is surprising on aarch64
- Authentication-results: sourceware.org; auth=none
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 --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.
--
1.7.1