target-supports.exp (check_effective_target_sparc_v9): New.
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 9 Apr 2012 09:24:06 +0000 (09:24 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Mon, 9 Apr 2012 09:24:06 +0000 (09:24 +0000)
* 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

gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp

index 49f0eb38433f282837601d4c5be788cd997546db..0cdf06f6ebb420d229c60dfe8d6e053d4c9ea072 100644 (file)
@@ -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 ...
index 23b6ea9440690932de649d21ce0c8e4ed529c841..1a253247f959f4ae9f9c8e5bd6b18b42ff73dd47 100644 (file)
@@ -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
         }