This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
XFAIL some IEEE tests for ARM kernels
- From: Richard Sandiford <richard at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: paul at codesourcery dot com, nathan at codesourcery dot com
- Date: Wed, 04 Jul 2007 10:47:28 +0100
- Subject: 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