OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [testsuite/] [gfortran.dg/] [vect/] [vect.exp] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
# Copyright (C) 1997, 2004 Free Software Foundation, Inc.
2
 
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.
7
#
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.
12
#
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.
16
 
17
# GCC testsuite that uses the `dg.exp' driver.
18
 
19
# Load support procs.
20
load_lib gfortran-dg.exp
21
load_lib target-supports.exp
22
 
23
# Set up flags used for tests that don't specify options.
24
set DEFAULT_VECTCFLAGS ""
25
 
26
# These flags are used for all targets.
27
lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" \
28
  "-ftree-vectorizer-verbose=4" "-fdump-tree-vect-stats"
29
 
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
34
# more efficient.
35
global dg-do-what-default
36
set save-dg-do-what-default ${dg-do-what-default}
37
 
38
# Skip these tests for targets that do not support generating vector
39
# code.  Set additional target-dependent vector flags, which can be
40
# overridden by using dg-options in individual tests.
41
if [istarget "powerpc*-*-*"] {
42
    # If there are powerpc targets to skip, do it here.
43
 
44
    lappend DEFAULT_VECTCFLAGS "-maltivec"
45
    if [check_vmx_hw_available] {
46
        set dg-do-what-default run
47
    } else {
48
        if [is-effective-target ilp32] {
49
            # Specify a cpu that supports VMX for compile-only tests.
50
            lappend DEFAULT_VECTCFLAGS "-mcpu=7400"
51
        }
52
        set dg-do-what-default compile
53
    }
54
} elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
55
    lappend DEFAULT_VECTCFLAGS "-msse2"
56
    set dg-do-what-default run
57
} elseif [istarget "mipsisa64*-*-*"] {
58
    lappend DEFAULT_VECTCFLAGS "-mpaired-single"
59
    set dg-do-what-default run
60
} elseif [istarget "sparc*-*-*"] {
61
    lappend DEFAULT_VECTCFLAGS "-mcpu=ultrasparc" "-mvis"
62
    set dg-do-what-default run
63
} elseif [istarget "alpha*-*-*"] {
64
    lappend DEFAULT_VECTCFLAGS "-mmax"
65
    if [check_alpha_max_hw_available] {
66
        set dg-do-what-default run
67
    } else {
68
        set dg-do-what-default compile
69
    }
70
} elseif [istarget "ia64-*-*"] {
71
    set dg-do-what-default run
72
} else {
73
    return
74
}
75
 
76
# Return 1 if the effective target is LP64 or if the effective target
77
# does not support a vector alignment mechanism.
78
 
79
proc check_effective_target_lp64_or_vect_no_align { } {
80
    if { [is-effective-target lp64]
81
          || [is-effective-target vect_no_align] } {
82
        set answer 1
83
    } else {
84
        set answer 0
85
    }
86
    return $answer
87
}
88
 
89
# Initialize `dg'.
90
dg-init
91
 
92
# Main loop.
93
gfortran-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95} ]] $DEFAULT_VECTCFLAGS
94
 
95
# Clean up.
96
set dg-do-what-default ${save-dg-do-what-default}
97
 
98
# All done.
99
dg-finish

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.