OpenCores
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" } } */

powered by: WebSVN 2.1.0

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