aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-04-09 09:24:06 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-04-09 09:24:06 +0000
commit99a1b0844ad0b3dc179f2a11a684a81caea6e63b (patch)
tree0a6f5fa2fc35d3da07157d27d336587a5a5e4851 /gcc
parent5ff5b41ca3bbb8cc659d6ccb7b4dcebfa7678a6e (diff)
downloadgcc-99a1b0844ad0b3dc179f2a11a684a81caea6e63b.zip
gcc-99a1b0844ad0b3dc179f2a11a684a81caea6e63b.tar.gz
gcc-99a1b0844ad0b3dc179f2a11a684a81caea6e63b.tar.bz2
target-supports.exp (check_effective_target_sparc_v9): New.
* lib/target-supports.exp (check_effective_target_sparc_v9): New. (check_effective_target_sync_long_long): Add SPARC case. (check_effective_target_sync_long_long_runtime): Likewise. (check_effective_target_sync_int_long): Adjust SPARC case. (check_effective_target_sync_char_short): Likewise. From-SVN: r186241
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/lib/target-supports.exp30
2 files changed, 32 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 49f0eb3..0cdf06f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2012-04-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lib/target-supports.exp (check_effective_target_sparc_v9): New.
+ (check_effective_target_sync_long_long): Add SPARC case.
+ (check_effective_target_sync_long_long_runtime): Likewise.
+ (check_effective_target_sync_int_long): Adjust SPARC case.
+ (check_effective_target_sync_char_short): Likewise.
+
2012-04-08 Oleg Endo <olegendo@gcc.gnu.org>
* gcc.target/sh/sh2a-prefetch.c: Rename to ...
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 23b6ea9..1a25324 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2551,7 +2551,22 @@ proc check_effective_target_ultrasparc_vis3_hw { } {
} "-mcpu=niagara3"]
}
-# Return 1 if this is a Sparc target with VIS enabled.
+# Return 1 if this is a SPARC-V9 target.
+
+proc check_effective_target_sparc_v9 { } {
+ if { [istarget sparc*-*-*] } {
+ return [check_no_compiler_messages sparc_v9 object {
+ int main (void) {
+ asm volatile ("return %i7+8");
+ return 0;
+ }
+ }]
+ } else {
+ return 0
+ }
+}
+
+# Return 1 if this is a SPARC target with VIS enabled.
proc check_effective_target_sparc_vis { } {
if { [istarget sparc*-*-*] } {
@@ -3730,7 +3745,8 @@ proc check_effective_target_sync_long_long { } {
if { [istarget x86_64-*-*]
|| [istarget i?86-*-*])
|| [istarget arm*-*-*]
- || [istarget alpha*-*-*] } {
+ || [istarget alpha*-*-*]
+ || ([istarget sparc*-*-*] && [check_effective_target_lp64]) } {
return 1
} else {
return 0
@@ -3775,6 +3791,10 @@ proc check_effective_target_sync_long_long_runtime { } {
} "" ]
} elseif { [istarget alpha*-*-*] } {
return 1
+ } elseif { ([istarget sparc*-*-*]
+ && [check_effective_target_lp64]
+ && [check_effective_target_ultrasparc_hw]) } {
+ return 1
} else {
return 0
}
@@ -3800,8 +3820,7 @@ proc check_effective_target_sync_int_long { } {
|| [istarget hppa*-*linux*]
|| [istarget s390*-*-*]
|| [istarget powerpc*-*-*]
- || [istarget sparc64-*-*]
- || [istarget sparcv9-*-*]
+ || ([istarget sparc*-*-*] && [check_effective_target_sparc_v9])
|| [check_effective_target_mips_llsc] } {
set et_sync_int_long_saved 1
}
@@ -3830,8 +3849,7 @@ proc check_effective_target_sync_char_short { } {
|| [istarget hppa*-*linux*]
|| [istarget s390*-*-*]
|| [istarget powerpc*-*-*]
- || [istarget sparc64-*-*]
- || [istarget sparcv9-*-*]
+ || ([istarget sparc*-*-*] && [check_effective_target_sparc_v9])
|| [check_effective_target_mips_llsc] } {
set et_sync_char_short_saved 1
}