aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-02-09 13:49:14 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-02-09 13:49:14 +0000
commit7fc564b7d1d0b7650abae9e0609fb659bcbcb2d3 (patch)
treec2840bcce3ffec5b05e0550aa1361096ffbe6da6
parent10e96df47c9067b69bde01f173a3869896ab388e (diff)
downloadgcc-7fc564b7d1d0b7650abae9e0609fb659bcbcb2d3.zip
gcc-7fc564b7d1d0b7650abae9e0609fb659bcbcb2d3.tar.gz
gcc-7fc564b7d1d0b7650abae9e0609fb659bcbcb2d3.tar.bz2
target-supports.exp (check_effective_target_coldfire_fpu): New procedure.
gcc/testsuite/ * lib/target-supports.exp (check_effective_target_coldfire_fpu): New procedure. * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on m68k targets if check_effective_target_coldfire_fpu returns true. From-SVN: r121744
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x5
-rw-r--r--gcc/testsuite/lib/target-supports.exp10
3 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8575ad5..4870ee4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2007-02-09 Richard Sandiford <richard@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_coldfire_fpu): New
+ procedure.
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on
+ m68k targets if check_effective_target_coldfire_fpu returns true.
+
2007-02-09 Zdenek Dvorak <dvorakz@suse.cz>
Richard Guenther <rguenther@suse.de>
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x
index 8e3b5f1..bb8aa07 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/mul-subnormal-single-1.x
@@ -3,4 +3,9 @@ if [istarget "mips-sgi-irix6*"] {
# isn't expected to work for n32 and n64 on MIPS IV targets.
return 1
}
+if {[istarget "m68k-*-linux-gnu*"] && [check_effective_target_coldfire_fpu]} {
+ # ColdFire FPUs require software handling of subnormals. Linux 2.6.10
+ # does not have this.
+ set torture_execute_xfail "m68k-*-linux-gnu*"
+}
return 0
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 2c9d3c4..7c4d4b5 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2024,6 +2024,16 @@ proc check_effective_target_sync_char_short { } {
return $et_sync_char_short_saved
}
+# Return 1 if the target uses a ColdFire FPU.
+
+proc check_effective_target_coldfire_fpu { } {
+ return [check_no_compiler_messages coldfire_fpu assembly {
+ #ifndef __mcffpu__
+ #error FOO
+ #endif
+ }]
+}
+
# Return 1 if the target matches the effective target 'arg', 0 otherwise.
# This can be used with any check_* proc that takes no argument and
# returns only 1 or 0. It could be used with check_* procs that take