[PATCH, testsuite]: Prevent spurious failure for gcc.c-torture/execute/990127-2.c for i386 targets
Uros Bizjak
ubizjak@gmail.com
Mon May 21 20:42:00 GMT 2007
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
More information about the Gcc-patches
mailing list