URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/gcc-4.2.2/gcc/testsuite/g++.dg/vect
- from Rev 154 to Rev 816
- ↔ Reverse comparison
Rev 154 → Rev 816
/param-max-aliased-pr26197.cc
0,0 → 1,24
/* { dg-do compile } */ |
|
void g(const void*); |
struct B |
{ |
int* x[2]; |
int *p; |
B() |
{ |
for (int** p=x; p<x+4; ++p) |
*p = 0; |
} |
~B() |
{ |
g(p); |
} |
}; |
void bar() |
{ |
const B &b = B(); |
g(&b); |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |
/pr21218.cc
0,0 → 1,18
/* { dg-do compile } */ |
|
struct A |
{ |
double d[2]; |
double foo(int i) { return d[i]; } |
}; |
|
struct B : public A {}; |
|
void bar(B& b) |
{ |
for (int i=0; i<2; ++i) |
b.d[i] = b.foo(i); |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |
|
/pr22543.cc
0,0 → 1,38
/* { dg-do compile } */ |
|
struct A |
{ |
int i, j; |
|
A() : i(), j() {} |
~A() {} |
|
operator int() { return 0; } |
}; |
|
struct B |
{ |
A foo() const { return A(); } |
}; |
|
struct X { ~X(); }; |
|
struct C |
{ |
C(); |
|
int z[4]; |
}; |
|
C::C() |
{ |
for (int i=0; i<4; ++i) |
z[i]=0; |
|
X x; |
|
for (int i=0; i<4; ++i) |
int j = B().foo(); |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |
/pr21734_1.cc
0,0 → 1,20
/* { dg-do compile } */ |
|
struct A |
{ |
int a[4]; |
int& operator[](int i) { return a[i]; } |
}; |
|
struct B : public A |
{ |
int& operator[](int i) { return A::operator[](i); } |
}; |
|
void foo(B &b) |
{ |
for (int i=0; i<4; ++i) |
b[i] = 0; |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |
/pr21734_2.cc
0,0 → 1,16
/* { dg-do compile } */ |
|
struct A |
{ |
int a[4]; |
int* operator[](int i) { return &a[i]; } |
}; |
|
void foo(A a1, A &a2) |
{ |
a1[1][1]=0; |
for (int i=0; i<4; ++i) |
a2.a[i]=0; |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |
/vect.exp
0,0 → 1,109
# Copyright (C) 2004, 2007 Free Software Foundation, Inc. |
|
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with GCC; see the file COPYING3. If not see |
# <http://www.gnu.org/licenses/>. |
|
# GCC testsuite that uses the 'dg.exp' driver. |
|
# There's a bunch of headers we need. |
if [is_remote host] { |
foreach header [glob -nocomplain $srcdir/$subdir/*.{h,def} ] { |
remote_download host $header |
} |
} |
|
# Load support procs. |
load_lib g++-dg.exp |
load_lib target-supports.exp |
|
# If the target system supports vector instructions, the default action |
# for a test is 'run', otherwise it's 'compile'. Save current default. |
# Executing vector instructions on a system without hardware vector support |
# is also disabled by a call to check_vect, but disabling execution here is |
# more efficient. |
global dg-do-what-default |
set save-dg-do-what-default ${dg-do-what-default} |
|
# Set up flags used for tests that don't specify options. |
set DEFAULT_VECTCFLAGS "" |
|
# These flags are used for all targets. |
lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" \ |
"-ftree-vectorizer-verbose=4" "-fdump-tree-vect-stats" |
|
# Skip these tests for targets that do not support generating vector |
# code. Set additional target-dependent vector flags, which can be |
# overridden by using dg-options in individual tests. |
if [istarget "powerpc*-*-*"] { |
# Skip targets not supporting -maltivec. |
if ![is-effective-target powerpc_altivec_ok] { |
return |
} |
|
lappend DEFAULT_VECTCFLAGS "-maltivec" |
if [check_vmx_hw_available] { |
set dg-do-what-default run |
} else { |
if [is-effective-target ilp32] { |
# Specify a cpu that supports VMX for compile-only tests. |
lappend DEFAULT_VECTCFLAGS "-mcpu=7400" |
} |
set dg-do-what-default compile |
} |
} elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { |
lappend DEFAULT_VECTCFLAGS "-msse2" |
set dg-do-what-default run |
} elseif { [istarget "mipsisa64*-*-*"] |
&& [check_effective_target_mpaired_single] } { |
lappend DEFAULT_VECTCFLAGS "-mpaired-single" |
set dg-do-what-default run |
} elseif [istarget "sparc*-*-*"] { |
lappend DEFAULT_VECTCFLAGS "-mcpu=ultrasparc" "-mvis" |
set dg-do-what-default run |
} elseif [istarget "alpha*-*-*"] { |
lappend DEFAULT_VECTCFLAGS "-mmax" |
if [check_alpha_max_hw_available] { |
set dg-do-what-default run |
} else { |
set dg-do-what-default compile |
} |
} elseif [istarget "ia64-*-*"] { |
set dg-do-what-default run |
} else { |
return |
} |
|
|
# Initialize `dg'. |
dg-init |
|
# Main loop. |
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.{c,cc,S} ]] \ |
"" $DEFAULT_VECTCFLAGS |
|
#### Tests with special options |
global SAVED_DEFAULT_VECTCFLAGS |
set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VECTCFLAGS |
|
# --param max-aliased-vops=0 |
set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS |
lappend DEFAULT_VECTCFLAGS "--param max-aliased-vops=0" |
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/param-max-aliased*.\[cS\]]] \ |
"" $DEFAULT_VECTCFLAGS |
|
# Clean up. |
set dg-do-what-default ${save-dg-do-what-default} |
|
# All done. |
dg-finish |
/pr19951.cc
0,0 → 1,19
/* { dg-do compile } */ |
|
struct A |
{ |
~A(); |
}; |
|
void foo(); |
|
void bar() |
{ |
A a; |
|
foo(); |
for (;;) |
foo(); |
} |
|
/* { dg-final { cleanup-tree-dump "vect" } } */ |