1 # Copyright
(C
) 2004 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
2 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with this
program; if not
, write to the Free Software
15 # Foundation
, Inc.
, 51 Franklin Street
, Fifth Floor
, Boston
, MA
02110-1301, USA.
17 # GCC testsuite that uses the
'dg.exp' driver.
19 # There
's a bunch of headers we need.
21 foreach header [glob -nocomplain $srcdir/$subdir/*.{h,def} ] {
22 remote_download host $header
28 load_lib target-supports.exp
30 # If the target system supports vector instructions, the default action
31 # for a test is 'run
', otherwise it's
'compile'. Save current default.
32 # Executing vector instructions
on a
system without hardware vector support
33 # is also disabled by a
call to check_vect
, but disabling execution here is
35 global dg
-do-what
-default
36 set save
-dg
-do-what
-default $
{dg
-do-what
-default
}
38 #
Set up flags used
for tests that don
't specify options.
39 set DEFAULT_VECTCFLAGS ""
41 # These flags are used for all targets.
42 lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" \
43 "-ftree-vectorizer-verbose=4" "-fdump-tree-vect-stats"
45 # Skip these tests for targets that do not support generating vector
46 # code. Set additional target-dependent vector flags, which can be
47 # overridden by using dg-options in individual tests.
48 if [istarget "powerpc*-*-*"] {
49 # Skip targets not supporting -maltivec.
50 if ![is-effective-target powerpc_altivec_ok] {
54 lappend DEFAULT_VECTCFLAGS "-maltivec"
55 if [check_vmx_hw_available] {
56 set dg-do-what-default run
58 if [is-effective-target ilp32] {
59 # Specify a cpu that supports VMX for compile-only tests.
60 lappend DEFAULT_VECTCFLAGS "-mcpu=7400"
62 set dg-do-what-default compile
64 } elseif { [istarget "spu-*-*"] } {
65 set dg-do-what-default run
66 } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
67 lappend DEFAULT_VECTCFLAGS "-msse2"
68 set dg-do-what-default run
69 } elseif { [istarget "mipsisa64*-*-*"]
70 && [check_effective_target_mpaired_single] } {
71 lappend DEFAULT_VECTCFLAGS "-mpaired-single"
72 set dg-do-what-default run
73 } elseif [istarget "sparc*-*-*"] {
74 lappend DEFAULT_VECTCFLAGS "-mcpu=ultrasparc" "-mvis"
75 set dg-do-what-default run
76 } elseif [istarget "alpha*-*-*"] {
77 lappend DEFAULT_VECTCFLAGS "-mmax"
78 if [check_alpha_max_hw_available] {
79 set dg-do-what-default run
81 set dg-do-what-default compile
83 } elseif [istarget "ia64-*-*"] {
84 set dg-do-what-default run
94 dg
-runtest
[lsort
[glob
-nocomplain $srcdir
/$subdir
/*.
{c
,cc
,S
} ]] \
95 "" $DEFAULT_VECTCFLAGS
97 #### Tests with special options
98 global SAVED_DEFAULT_VECTCFLAGS
99 set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VECTCFLAGS
101 #
--param
max-aliased
-vops
=0
102 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
103 lappend DEFAULT_VECTCFLAGS
"--param max-aliased-vops=0"
104 dg
-runtest
[lsort
[glob
-nocomplain $srcdir
/$subdir
/param
-max-aliased
*.\
[cS\
]]] \
105 "" $DEFAULT_VECTCFLAGS
108 set dg
-do-what
-default $
{save
-dg
-do-what
-default
}