Commit a3927ffb by Martin Liska Committed by Martin Liska

Come up with gcc/testsuite/g++.target/i386/i386.dg and move there some tests.

2018-10-08  Martin Liska  <mliska@suse.cz>

	* gcc.target/i386/i386.exp: Move procedures to
	target-supports.exp.
	* g++.target/i386/i386.exp: New file.
	* gcc.target/i386/mv*.C: Move here tests and remove
	target filter in these tests.

From-SVN: r264929
parent ed9984a0
2018-10-08 Martin Liska <mliska@suse.cz>
* gcc.target/i386/i386.exp: Move procedures to
target-supports.exp.
* g++.target/i386/i386.exp: New file.
* gcc.target/i386/mv*.C: Move here tests and remove
target filter in these tests.
2018-10-08 Cesar Philippidis <cesar@codesourcery.com>
* gfortran.dg/contiguous_4.f90: Adjust.
......
# Copyright (C) 2018 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 `g++.exp' driver.
# Exit immediately if this isn't a x86 target.
if { ![istarget i?86*-*-*] && ![istarget x86_64-*-*] } then {
return
}
# Load support procs.
load_lib g++-dg.exp
load_lib clearcap.exp
global DEFAULT_CXXFLAGS
if ![info exists DEFAULT_CXXFLAGS] then {
set DEFAULT_CXXFLAGS " -pedantic-errors"
}
# Initialize `dg'.
dg-init
clearcap-init
# Main loop.
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C]] \
"" $DEFAULT_CXXFLAGS
# All done.
clearcap-finish
dg-finish
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2 -fPIC" } */
......
// { dg-do assemble { target i?86-*-* x86_64-*-* } }
// { dg-do assemble }
// { dg-options "" }
__attribute__((target ("popcnt"), used))
......
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
// { dg-options "-msse2" }
int foo () __attribute__ ((target("default")));
......
// Test case to check if multiversioning works as expected when the versions
// are defined in different files.
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-do run }
// { dg-require-ifunc "" }
// { dg-options "-O2" }
// { dg-additional-sources "mv12-aux.cc" }
......
// Test case to check if multiversioning functions that are extern "C"
// generates errors.
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
extern "C"
__attribute__ ((target ("default")))
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2 -fPIC -march=x86-64" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2 -fPIC -march=x86-64" } */
......
......@@ -2,7 +2,7 @@
// for Intel CPUs with the same internal GCC processor id
// but slighly different sets of x86 extensions.
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-do run }
// { dg-require-ifunc "" }
// { dg-options "-O2" }
......
// Test case to check if Multiversioning works for BMI and BMI2.
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-do run }
// { dg-require-ifunc "" }
// { dg-options "-O2" }
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target pie } */
/* { dg-options "-O2 -fPIE -pie" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target pie } */
/* { dg-options "-O2 -fPIE -pie -march=x86-64" } */
......
/* Test case to check if Multiversioning chooses the correct
dispatching order when versions are for various ISAs. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target pie } */
/* { dg-options "-O2 -fPIE -pie -march=x86-64" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target static } */
/* { dg-options "-O2 -static" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target static } */
/* { dg-options "-O2 -static -march=x86-64" } */
......
/* Test case to check if Multiversioning works. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-require-effective-target static } */
/* { dg-options "-O2 -static -march=x86-64" } */
......
// Test case to check if Multiversioning works for AES
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-do run }
// { dg-require-ifunc "" }
// { dg-options "-O2" }
......
// Test case to check if Multiversioning works for PCLMUL
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-do run }
// { dg-require-ifunc "" }
// { dg-options "-O2" }
......
// PR c++/84059
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
// { dg-require-ifunc "" }
template <typename> struct a
......
// PR c++/83911
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
// { dg-require-ifunc "" }
class SimdFloat
......
......@@ -9,7 +9,7 @@
with a direct call to the popcnt version of foo. Hence, this
test should pass. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-options "-O2" } */
......
......@@ -2,7 +2,7 @@
when the default version of a multiversioned function is absent
and its pointer is taken. */
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2" } */
......
/* Test case to check if multiversioned functions are still generated if they are
marked comdat with inline keyword. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-O2" } */
......
/* Test to check if member version multiversioning works correctly. */
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run } */
/* { dg-require-ifunc "" } */
/* { dg-options "-march=x86-64" } */
......
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
// { dg-options "" }
__attribute__((target ("default")))
......
// { dg-do compile { target i?86-*-* x86_64-*-* powerpc*-*-* aarch64*-*-* } }
// { dg-do compile }
// { dg-options "" }
__attribute__((target (11,12)))
......
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-do compile }
// { dg-options "" }
void foo ();
......
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-do run} */
/* { dg-require-ifunc "" } */
__attribute__((target_clones("avx","arch=slm","arch=core-avx2","default")))
......
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
__attribute__((target_clones("avx","arch=slm","default")))
......
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
__attribute__((target("avx")))
......
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
/* { dg-options "-mavx" } */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment