From 624168de91614862f409aa3757343c6bbdeb512f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 1 Jan 2007 12:56:08 +0000 Subject: [PATCH] target-supports.exp (check_effective_target_powerpc_spe): New. * lib/target-supports.exp (check_effective_target_powerpc_spe): New. (check_effective_target_vect_cmdline_needed): Use it. From-SVN: r120308 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/lib/target-supports.exp | 22 ++++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7b2dbcdc626..6c18b36ccd5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-01-01 Joseph Myers + + * lib/target-supports.exp (check_effective_target_powerpc_spe): + New. + (check_effective_target_vect_cmdline_needed): Use it. + 2006-12-31 Richard Guenther PR middle-end/30137 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index e64a523d3af..11850ae76e1 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006 +# Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify @@ -1240,7 +1240,9 @@ proc check_effective_target_vect_cmdline_needed { } { set et_vect_cmdline_needed_saved 1 if { [istarget ia64-*-*] || (([istarget x86_64-*-*] || [istarget i?86-*-*]) - && [check_effective_target_lp64])} { + && [check_effective_target_lp64]) + || ([istarget powerpc*-*-*] + && [check_effective_target_powerpc_spe])} { set et_vect_cmdline_needed_saved 0 } } @@ -1360,6 +1362,22 @@ proc check_effective_target_powerpc_altivec_ok { } { } } +# Return 1 if this is a PowerPC target with SPE enabled. + +proc check_effective_target_powerpc_spe { } { + if { [istarget powerpc*-*-*] } { + return [check_no_compiler_messages powerpc_spe object { + #ifndef __SPE__ + #error not SPE + #else + int dummy; + #endif + }] + } else { + return 0 + } +} + # Return 1 if the target supports hardware vector shift operation. proc check_effective_target_vect_shift { } {