aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86/fpu/fix-fp-int-compare-invalid.h8
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 4448c3d..265524f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-24 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/x86/fpu/fix-fp-int-compare-invalid.h
+ (FIX_COMPARE_INVALID): Define to 0 if [__GNUC_PREREQ (8, 0)].
+
2017-10-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* sysdeps/unix/sysv/linux/spawni.c (__spawnix): Use 0 instead of
diff --git a/sysdeps/x86/fpu/fix-fp-int-compare-invalid.h b/sysdeps/x86/fpu/fix-fp-int-compare-invalid.h
index bda247d..842c945 100644
--- a/sysdeps/x86/fpu/fix-fp-int-compare-invalid.h
+++ b/sysdeps/x86/fpu/fix-fp-int-compare-invalid.h
@@ -20,9 +20,13 @@
#ifndef FIX_FP_INT_COMPARE_INVALID_H
#define FIX_FP_INT_COMPARE_INVALID_H 1
-/* As of GCC 5, both x87 and SSE comparisons use unordered comparison
+/* Before GCC 8, both x87 and SSE comparisons use unordered comparison
instructions when they should use ordered comparisons
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52451>. */
-#define FIX_COMPARE_INVALID 1
+#if __GNUC_PREREQ (8, 0)
+# define FIX_COMPARE_INVALID 0
+#else
+# define FIX_COMPARE_INVALID 1
+#endif
#endif /* fix-fp-int-compare-invalid.h */