From 7fc564b7d1d0b7650abae9e0609fb659bcbcb2d3 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 9 Feb 2007 13:49:14 +0000 Subject: 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 --- gcc/testsuite/ChangeLog | 7 +++++++ .../gcc.c-torture/execute/ieee/mul-subnormal-single-1.x | 5 +++++ gcc/testsuite/lib/target-supports.exp | 10 ++++++++++ 3 files changed, 22 insertions(+) (limited to 'gcc') 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 + + * 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 Richard Guenther 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 -- cgit v1.1