From 99a1b0844ad0b3dc179f2a11a684a81caea6e63b Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 9 Apr 2012 09:24:06 +0000 Subject: 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 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/lib/target-supports.exp | 30 ++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 6 deletions(-) (limited to 'gcc') 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 + + * 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 * 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 } -- cgit v1.1