[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