From f4fa514cef05ad55c919fb7195cf2bfefb7aa75b Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Mon, 9 Apr 2012 09:24:22 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@186242 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/lib/target-supports.exp | 30 ++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6420f44e078..d16e035652c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2012-04-09 Eric Botcazou + + * 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-07 Thomas Koenig PR fortran/52893 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 7741f91cf30..53e88ee31bb 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2576,7 +2576,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*-*-*] } { @@ -3755,7 +3770,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 @@ -3800,6 +3816,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 } @@ -3825,8 +3845,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 } @@ -3855,8 +3874,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 } -- 2.11.0