This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, testsuite]: Prevent spurious failure for gcc.c-torture/execute/990127-2.c for i386 targets
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 21 May 2007 22:37:38 +0200
- Subject: [PATCH, testsuite]: Prevent spurious failure for gcc.c-torture/execute/990127-2.c for i386 targets
Hello!
This spurious failure is due to excess precision of 80387. Attached
patch prevents this failure by adding -mpc64 on targets, where -mpcX is
supported.
Patch was tested on i686-pc-linux-gnu.
2007-05-21 Uros Bizjak <ubizjak@gmail.com>
* gcc.c-torture/execute/990127-2.x: New file.
Uros.
Index: gcc.c-torture/execute/990127-2.x
===================================================================
--- gcc.c-torture/execute/990127-2.x (revision 0)
+++ gcc.c-torture/execute/990127-2.x (revision 0)
@@ -0,0 +1,15 @@
+# On x86 targets, two floating-point double values can't be reliably
compared
+# for inequality due to excess precision of 80387 floating-point
coprocessor.
+# Use -mpc64 to force 80387 floating-point precision to 64 bits. This
option
+# has no effect on SSE, but it is needed in case of -m32 on x86_64 targets.
+
+if { [istarget i?86-*-linux*]
+ || [istarget i?86-*-kfreebsd*-gnu]
+ || [istarget i?86-*-knetbsd*-gnu]
+ || [istarget x86_64-*-linux*]
+ || [istarget x86_64-*-kfreebsd*-gnu]
+ || [istarget x86_64-*-knetbsd*-gnu] } {
+ set additional_flags "-mpc64"
+}
+
+return 0