This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

XFAIL some IEEE tests for ARM kernels


As explained in the patch, the ARM VxWorks kernel's comparison routines
do not handle NaNs correctly.  This patch XFAILs some ieee tests accordingly.
I checked that the tests still run and that the RTP tests still pass.

Tested on arm-wrs-vxworks.  OK to install?

Richard


gcc/testsuite/
	* gcc.c-torture/execute/ieee/compare-fp-4.x: Add an XFAIL for ARM
	VxWorks kernels.
	* gcc.c-torture/execute/ieee/fp-cmp-1.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-2.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-3.x: Likewise.
	* gcc.c-torture/execute/ieee/fp-cmp-6.x: Likewise.

Index: gcc/testsuite/gcc.c-torture/execute/ieee/compare-fp-4.x
===================================================================
--- gcc/testsuite/gcc.c-torture/execute/ieee/compare-fp-4.x	2007-07-04 02:07:24.000000000 -0700
+++ gcc/testsuite/gcc.c-torture/execute/ieee/compare-fp-4.x	2007-07-04 02:37:10.000000000 -0700
@@ -1,2 +1,17 @@
+# The ARM VxWorks kernel uses an external floating-point library in
+# which routines like __ledf2 are just aliases for __cmpdf2.  These
+# routines therefore don't handle NaNs correctly.
+if [istarget "arm*-*-vxworks*"] {
+    set torture_eval_before_execute {
+	global compiler_conditional_xfail_data
+	set compiler_conditional_xfail_data {
+	    "The ARM kernel uses a flawed floating-point library."
+	    { "*-*-*" }
+	    {}
+	    { "-mrtp" }
+	}
+    }
+}
+
 lappend additional_flags "-fno-trapping-math"
 return 0
Index: gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.x
===================================================================
--- /dev/null	2007-04-22 10:31:05.567569208 -0700
+++ gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-1.x	2007-07-04 02:37:10.000000000 -0700
@@ -0,0 +1,16 @@
+# The ARM VxWorks kernel uses an external floating-point library in
+# which routines like __ledf2 are just aliases for __cmpdf2.  These
+# routines therefore don't handle NaNs correctly.
+if [istarget "arm*-*-vxworks*"] {
+    set torture_eval_before_execute {
+	global compiler_conditional_xfail_data
+	set compiler_conditional_xfail_data {
+	    "The ARM kernel uses a flawed floating-point library."
+	    { "*-*-*" }
+	    {}
+	    { "-mrtp" }
+	}
+    }
+}
+
+return 0
Index: gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.x
===================================================================
--- /dev/null	2007-04-22 10:31:05.567569208 -0700
+++ gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-2.x	2007-07-04 02:37:10.000000000 -0700
@@ -0,0 +1,16 @@
+# The ARM VxWorks kernel uses an external floating-point library in
+# which routines like __ledf2 are just aliases for __cmpdf2.  These
+# routines therefore don't handle NaNs correctly.
+if [istarget "arm*-*-vxworks*"] {
+    set torture_eval_before_execute {
+	global compiler_conditional_xfail_data
+	set compiler_conditional_xfail_data {
+	    "The ARM kernel uses a flawed floating-point library."
+	    { "*-*-*" }
+	    {}
+	    { "-mrtp" }
+	}
+    }
+}
+
+return 0
Index: gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.x
===================================================================
--- /dev/null	2007-04-22 10:31:05.567569208 -0700
+++ gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-3.x	2007-07-04 02:37:10.000000000 -0700
@@ -0,0 +1,16 @@
+# The ARM VxWorks kernel uses an external floating-point library in
+# which routines like __ledf2 are just aliases for __cmpdf2.  These
+# routines therefore don't handle NaNs correctly.
+if [istarget "arm*-*-vxworks*"] {
+    set torture_eval_before_execute {
+	global compiler_conditional_xfail_data
+	set compiler_conditional_xfail_data {
+	    "The ARM kernel uses a flawed floating-point library."
+	    { "*-*-*" }
+	    {}
+	    { "-mrtp" }
+	}
+    }
+}
+
+return 0
Index: gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.x
===================================================================
--- /dev/null	2007-04-22 10:31:05.567569208 -0700
+++ gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-6.x	2007-07-04 02:37:10.000000000 -0700
@@ -0,0 +1,16 @@
+# The ARM VxWorks kernel uses an external floating-point library in
+# which routines like __ledf2 are just aliases for __cmpdf2.  These
+# routines therefore don't handle NaNs correctly.
+if [istarget "arm*-*-vxworks*"] {
+    set torture_eval_before_execute {
+	global compiler_conditional_xfail_data
+	set compiler_conditional_xfail_data {
+	    "The ARM kernel uses a flawed floating-point library."
+	    { "*-*-*" }
+	    { "-O0" }
+	    { "-mrtp" }
+	}
+    }
+}
+
+return 0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]