aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-11-09 05:23:02 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2011-11-08 21:23:02 -0800
commit65c5ced37b600fb1d247e63ec9117676de79f07d (patch)
tree1ac831c8e83bfdef37f9ab6ab8acf69c53035efa
parent425006751bbedc2928d0bddac0de2e5953075ac9 (diff)
downloadgcc-65c5ced37b600fb1d247e63ec9117676de79f07d.zip
gcc-65c5ced37b600fb1d247e63ec9117676de79f07d.tar.gz
gcc-65c5ced37b600fb1d247e63ec9117676de79f07d.tar.bz2
Implement vect_cmdline_needed properly on sparc.
* lib/target-supports.exp (check_effective_target_sparc_vis): New. (check_effective_target_vect_cmdline_needed): Use it when sparc*-*-* From-SVN: r181190
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/lib/target-supports.exp17
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1e46164..0b7167b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-08 David S. Miller <davem@davemloft.net>
+
+ * lib/target-supports.exp (check_effective_target_sparc_vis): New.
+ (check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*
+
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/50404
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 437e181..6e30233 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1775,6 +1775,7 @@ proc check_effective_target_vect_cmdline_needed { } {
|| ([istarget powerpc*-*-*]
&& ([check_effective_target_powerpc_spe]
|| [check_effective_target_powerpc_altivec]))
+ || ([istarget sparc*-*-*] && [check_effective_target_sparc_vis])
|| [istarget spu-*-*]
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon]) } {
set et_vect_cmdline_needed_saved 0
@@ -2489,6 +2490,22 @@ proc check_effective_target_ultrasparc_vis3_hw { } {
} "-mcpu=niagara3"]
}
+# Return 1 if this is a Sparc target with VIS enabled.
+
+proc check_effective_target_sparc_vis { } {
+ if { [istarget sparc*-*-*] } {
+ return [check_no_compiler_messages sparc_vis object {
+ #ifndef __VIS__
+ #error not VIS
+ #else
+ int dummy;
+ #endif
+ }]
+ } else {
+ return 0
+ }
+}
+
# Return 1 if the target supports hardware vector shift operation.
proc check_effective_target_vect_shift { } {