aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2009-08-21 22:13:56 +0000
committerMaciej W. Rozycki <macro@gcc.gnu.org>2009-08-21 22:13:56 +0000
commit5399093be27221fc1dace508233bb244fc28571c (patch)
tree51ca1ebe5b5cdb50ca0f95eb37fa8b088b0e69f1
parent08ffd640dbdd4f3462b1cee5489e9f1b1bf1b793 (diff)
downloadgcc-5399093be27221fc1dace508233bb244fc28571c.zip
gcc-5399093be27221fc1dace508233bb244fc28571c.tar.gz
gcc-5399093be27221fc1dace508233bb244fc28571c.tar.bz2
* lib/target-supports.exp
(check_effective_target_arm_iwmmxt_ok): New procedure. * gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok. Remove the exclusions for -mfloat-abi=softfp and -mfloat-abi=hard. From-SVN: r151003
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.target/arm/mmx-1.c3
-rw-r--r--gcc/testsuite/lib/target-supports.exp13
3 files changed, 21 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1dada40..90308c9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-21 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_iwmmxt_ok): New procedure.
+ * gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok. Remove the
+ exclusions for -mfloat-abi=softfp and -mfloat-abi=hard.
+
2009-08-21 Uros Bizjak <ubizjak@gmail.com>
* gfortran.dg/boz_9.f90: Do not generate denormal floating
diff --git a/gcc/testsuite/gcc.target/arm/mmx-1.c b/gcc/testsuite/gcc.target/arm/mmx-1.c
index 5d51bd7..c2eca7f 100644
--- a/gcc/testsuite/gcc.target/arm/mmx-1.c
+++ b/gcc/testsuite/gcc.target/arm/mmx-1.c
@@ -3,11 +3,10 @@
/* { dg-do compile } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mcpu=*" } { "-mcpu=iwmmxt" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mabi=*" } { "-mabi=iwmmxt" } } */
-/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mfloat-abi=softfp" } { "" } } */
-/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-mfloat-abi=hard" } { "" } } */
/* { dg-skip-if "Test is specific to the iWMMXt" { arm*-*-* } { "-march=*" } { "-march=iwmmxt" } } */
/* { dg-options "-O -mno-apcs-frame -mcpu=iwmmxt -mabi=iwmmxt" } */
/* { dg-require-effective-target arm32 } */
+/* { dg-require-effective-target arm_iwmmxt_ok } */
/* { dg-final { scan-assembler "ldmfd\[ ]sp!.*ip,\[ ]*pc" } } */
/* This function uses all the call-saved registers, namely r4, r5, r6,
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index f361acc..76624ad 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1620,6 +1620,19 @@ proc check_effective_target_arm_eabi { } {
}]
}
+# Return 1 if this is an ARM target supporting -mcpu=iwmmxt.
+# Some multilibs may be incompatible with this option.
+
+proc check_effective_target_arm_iwmmxt_ok { } {
+ if { [check_effective_target_arm32] } {
+ return [check_no_compiler_messages arm_iwmmxt_ok object {
+ int dummy;
+ } "-mcpu=iwmmxt"]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if this is a PowerPC target with floating-point registers.
proc check_effective_target_powerpc_fprs { } {