annotate gcc/testsuite/g++.dg/vect/vect.exp @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1 # Copyright (C) 2004-2018 Free Software Foundation, Inc.
111
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 # This program is free software; you can redistribute it and/or modify
kono
parents:
diff changeset
4 # it under the terms of the GNU General Public License as published by
kono
parents:
diff changeset
5 # the Free Software Foundation; either version 3 of the License, or
kono
parents:
diff changeset
6 # (at your option) any later version.
kono
parents:
diff changeset
7 #
kono
parents:
diff changeset
8 # This program is distributed in the hope that it will be useful,
kono
parents:
diff changeset
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
kono
parents:
diff changeset
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
kono
parents:
diff changeset
11 # GNU General Public License for more details.
kono
parents:
diff changeset
12 #
kono
parents:
diff changeset
13 # You should have received a copy of the GNU General Public License
kono
parents:
diff changeset
14 # along with GCC; see the file COPYING3. If not see
kono
parents:
diff changeset
15 # <http://www.gnu.org/licenses/>.
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 # GCC testsuite that uses the 'dg.exp' driver.
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 # There's a bunch of headers we need.
kono
parents:
diff changeset
20 if [is_remote host] {
kono
parents:
diff changeset
21 foreach header [glob -nocomplain $srcdir/$subdir/*.{h,def} ] {
kono
parents:
diff changeset
22 remote_download host $header
kono
parents:
diff changeset
23 }
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 # Load support procs.
kono
parents:
diff changeset
27 load_lib g++-dg.exp
kono
parents:
diff changeset
28 load_lib target-supports.exp
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 # If the target system supports vector instructions, the default action
kono
parents:
diff changeset
31 # for a test is 'run', otherwise it's 'compile'. Save current default.
kono
parents:
diff changeset
32 # Executing vector instructions on a system without hardware vector support
kono
parents:
diff changeset
33 # is also disabled by a call to check_vect, but disabling execution here is
kono
parents:
diff changeset
34 # more efficient.
kono
parents:
diff changeset
35 global dg-do-what-default
kono
parents:
diff changeset
36 set save-dg-do-what-default ${dg-do-what-default}
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 # Set up flags used for tests that don't specify options.
kono
parents:
diff changeset
39 global DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
40 set DEFAULT_VECTCFLAGS ""
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 # Set up a list of effective targets to run vector tests for all supported
kono
parents:
diff changeset
43 # targets.
kono
parents:
diff changeset
44 global EFFECTIVE_TARGETS
kono
parents:
diff changeset
45 set EFFECTIVE_TARGETS ""
kono
parents:
diff changeset
46
kono
parents:
diff changeset
47 # These flags are used for all targets.
kono
parents:
diff changeset
48 lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" "-fno-vect-cost-model"
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 # Skip these tests for targets that do not support generating vector
kono
parents:
diff changeset
51 # code. Set additional target-dependent vector flags, which can be
kono
parents:
diff changeset
52 # overridden by using dg-options in individual tests.
kono
parents:
diff changeset
53 if ![check_vect_support_and_set_flags] {
kono
parents:
diff changeset
54 return
kono
parents:
diff changeset
55 }
kono
parents:
diff changeset
56
kono
parents:
diff changeset
57 set VECT_SLP_CFLAGS $DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
58
kono
parents:
diff changeset
59 lappend DEFAULT_VECTCFLAGS "-fdump-tree-vect-details"
kono
parents:
diff changeset
60 lappend VECT_SLP_CFLAGS "-fdump-tree-slp-details"
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62 # Initialize `dg'.
kono
parents:
diff changeset
63 dg-init
kono
parents:
diff changeset
64
kono
parents:
diff changeset
65 # Main loop.
kono
parents:
diff changeset
66 et-dg-runtest g++-dg-runtest [lsort [glob -nocomplain \
kono
parents:
diff changeset
67 $srcdir/$subdir/{pr,simd}*.{c,cc,S} ]] "" $DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
68 et-dg-runtest g++-dg-runtest [lsort [glob -nocomplain \
kono
parents:
diff changeset
69 $srcdir/$subdir/slp-pr*.{c,cc,S} ]] "" $VECT_SLP_CFLAGS
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 #### Tests with special options
kono
parents:
diff changeset
72 global SAVED_DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
73 set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
74
kono
parents:
diff changeset
75 # --param max-aliased-vops=0
kono
parents:
diff changeset
76 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
77 lappend DEFAULT_VECTCFLAGS "--param max-aliased-vops=0"
kono
parents:
diff changeset
78 et-dg-runtest g++-dg-runtest [lsort [glob -nocomplain \
kono
parents:
diff changeset
79 $srcdir/$subdir/param-max-aliased*.\[cS\]]] "" $DEFAULT_VECTCFLAGS
kono
parents:
diff changeset
80
kono
parents:
diff changeset
81 # Clean up.
kono
parents:
diff changeset
82 set dg-do-what-default ${save-dg-do-what-default}
kono
parents:
diff changeset
83
kono
parents:
diff changeset
84 # All done.
kono
parents:
diff changeset
85 dg-finish