Commit 100a5180 by Uros Bizjak Committed by Uros Bizjak

re PR target/24188 (WRITE(6,*) causes an ICE with -mcmodel=medium)

	* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
	* g++.dg/abi/no-weak1.C: Ditto.
	* g++.dg/opt/pr44919.C: Ditto.
	* g++.dg/opt/pr46640.C: Ditto.
	* g++.dg/opt/pr46649.C: Ditto.
	* g++.dg/opt/pr47036.C: Ditto.
	* g++.dg/opt/pr48273.C: Ditto.
	* g++.dg/opt/pr48302.C: Ditto.
	* g++.dg/opt/pr45788.C: Ditto.
	* g++.dg/opt/pr57662.C: Ditto.
	* gcc.dg/20031102-1.c: Ditto.
	* gcc.dg/builtin-bswap-7.c: Ditto.
	* gcc.dg/builtin-bswap-7a.c: Ditto.
	* gcc.dg/builtin-bswap-9.c: Ditto.
	* gcc.dg/combine_ashiftrt_1.c: Ditto.
	* gcc.dg/guality/bswaptest.c: Ditto.
	* gcc.dg/guality/clztest.c: Ditto.
	* gcc.dg/guality/ctztest.c: Ditto.
	* gcc.dg/guality/pr45003-1.c: Ditto.
	* gcc.dg/guality/pr45003-2.c: Ditto.
	* gcc.dg/guality/pr45003-3.c: Ditto.
	* gcc.dg/guality/pr58791-4.c: Ditto.
	* gcc.dg/guality/rotatetest.c:Ditto.
	* gcc.dg/ifcvt-fabs-1.c: Ditto.
	* gcc.dg/ira-loop-pressure.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
	* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
	* gcc.dg/lto/pr47259_0.c: Ditto.
	* gcc.dg/memcpy-5.c: Ditto.
	* gcc.dg/pr10474.c: Ditto.
	* gcc.dg/pr37438.c: Ditto.
	* gcc.dg/pr39453.c: Ditto.
	* gcc.dg/pr40501.c: Ditto.
	* gcc.dg/pr42245-2.c: Ditto.
	* gcc.dg/pr42245.c: Ditto.
	* gcc.dg/pr42246.c: Ditto.
	* gcc.dg/pr42249.c: Ditto.
	* gcc.dg/pr42388.c: Ditto.
	* gcc.dg/pr42389.c: Ditto.
	* gcc.dg/pr45352-1.c: Ditto.
	* gcc.dg/pr45352-2.c: Ditto.
	* gcc.dg/pr45352-3.c: Ditto.
	* gcc.dg/pr45352.c: Ditto.
	* gcc.dg/pr45472.c: Ditto.
	* gcc.dg/pr45652.c: Ditto.
	* gcc.dg/pr46212.c: Ditto.
	* gcc.dg/pr46521.c: Ditto.
	* gcc.dg/pr46522.c: Ditto.
	* gcc.dg/pr46875.c: Ditto.
	* gcc.dg/pr48374.c: Ditto.
	* gcc.dg/pr50251.c: Ditto.
	* gcc.dg/pr54472.c: Ditto.
	* gcc.dg/pr55702.c: Ditto.
	* gcc.dg/pr56990.c: Ditto.
	* gcc.dg/pr57104.c: Ditto.
	* gcc.dg/pr57662.c: Ditto.
	* gcc.dg/pr60866.c: Ditto.
	* gcc.dg/shrink-wrap-loop.c: Ditto.
	* gcc.dg/tm/memopt-15.c: Ditto.
	* gcc.dg/torture/pr52720.c: Ditto.
	* gcc.dg/torture/pr56778.c: Ditto.
	* gcc.dg/tree-prof/pr45354.c: Ditto.
	* gcc.dg/tree-prof/pr50907.c: Ditto.
	* gcc.dg/tree-ssa/loop-16.c: Ditto.
	* gcc.dg/tree-ssa/loop-18.c: Ditto.
	* gcc.dg/tree-ssa/pr44423.c: Ditto.
	* gcc.dg/misc-tests/godump-1.c: Ditto.
	* gfortran.dg/PR24188.f: Ditto.
	* gfortran.dg/errnocheck_1.f90: Ditto.
	* gfortran.dg/g77/20010216-1.f: Ditto.
	* gfortran.dg/pr42246-2.f: Ditto.
	* gfortran.dg/pr42294.f: Ditto.
	* gfortran.dg/pr44691.f: Ditto.
	* gfortran.dg/vect/pr45714-a.f: Ditto.
	* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
	* gcc.misc-tests/linkage.exp: Ditto.
	* lib/target-supports.exp: Reformat x86 tagets.
	(check_effective_target_whole_vector_shift): Add i?86-*-* target.

From-SVN: r217015
parent 9b227e35
2014-11-02 Uros Bizjak <ubizjak@gmail.com>
* c-c++-common/ubsan/float-cast-overflow-6.c: Add i?86-*-* target.
* g++.dg/abi/no-weak1.C: Ditto.
* g++.dg/opt/pr44919.C: Ditto.
* g++.dg/opt/pr46640.C: Ditto.
* g++.dg/opt/pr46649.C: Ditto.
* g++.dg/opt/pr47036.C: Ditto.
* g++.dg/opt/pr48273.C: Ditto.
* g++.dg/opt/pr48302.C: Ditto.
* g++.dg/opt/pr45788.C: Ditto.
* g++.dg/opt/pr57662.C: Ditto.
* gcc.dg/20031102-1.c: Ditto.
* gcc.dg/builtin-bswap-7.c: Ditto.
* gcc.dg/builtin-bswap-7a.c: Ditto.
* gcc.dg/builtin-bswap-9.c: Ditto.
* gcc.dg/combine_ashiftrt_1.c: Ditto.
* gcc.dg/guality/bswaptest.c: Ditto.
* gcc.dg/guality/clztest.c: Ditto.
* gcc.dg/guality/ctztest.c: Ditto.
* gcc.dg/guality/pr45003-1.c: Ditto.
* gcc.dg/guality/pr45003-2.c: Ditto.
* gcc.dg/guality/pr45003-3.c: Ditto.
* gcc.dg/guality/pr58791-4.c: Ditto.
* gcc.dg/guality/rotatetest.c:Ditto.
* gcc.dg/ifcvt-fabs-1.c: Ditto.
* gcc.dg/ira-loop-pressure.c: Ditto.
* gcc.dg/ira-shrinkwrap-prep-1.c: Ditto.
* gcc.dg/ira-shrinkwrap-prep-2.c: Ditto.
* gcc.dg/lto/pr47259_0.c: Ditto.
* gcc.dg/memcpy-5.c: Ditto.
* gcc.dg/pr10474.c: Ditto.
* gcc.dg/pr37438.c: Ditto.
* gcc.dg/pr39453.c: Ditto.
* gcc.dg/pr40501.c: Ditto.
* gcc.dg/pr42245-2.c: Ditto.
* gcc.dg/pr42245.c: Ditto.
* gcc.dg/pr42246.c: Ditto.
* gcc.dg/pr42249.c: Ditto.
* gcc.dg/pr42388.c: Ditto.
* gcc.dg/pr42389.c: Ditto.
* gcc.dg/pr45352-1.c: Ditto.
* gcc.dg/pr45352-2.c: Ditto.
* gcc.dg/pr45352-3.c: Ditto.
* gcc.dg/pr45352.c: Ditto.
* gcc.dg/pr45472.c: Ditto.
* gcc.dg/pr45652.c: Ditto.
* gcc.dg/pr46212.c: Ditto.
* gcc.dg/pr46521.c: Ditto.
* gcc.dg/pr46522.c: Ditto.
* gcc.dg/pr46875.c: Ditto.
* gcc.dg/pr48374.c: Ditto.
* gcc.dg/pr50251.c: Ditto.
* gcc.dg/pr54472.c: Ditto.
* gcc.dg/pr55702.c: Ditto.
* gcc.dg/pr56990.c: Ditto.
* gcc.dg/pr57104.c: Ditto.
* gcc.dg/pr57662.c: Ditto.
* gcc.dg/pr60866.c: Ditto.
* gcc.dg/shrink-wrap-loop.c: Ditto.
* gcc.dg/tm/memopt-15.c: Ditto.
* gcc.dg/torture/pr52720.c: Ditto.
* gcc.dg/torture/pr56778.c: Ditto.
* gcc.dg/tree-prof/pr45354.c: Ditto.
* gcc.dg/tree-prof/pr50907.c: Ditto.
* gcc.dg/tree-ssa/loop-16.c: Ditto.
* gcc.dg/tree-ssa/loop-18.c: Ditto.
* gcc.dg/tree-ssa/pr44423.c: Ditto.
* gcc.dg/misc-tests/godump-1.c: Ditto.
* gfortran.dg/PR24188.f: Ditto.
* gfortran.dg/errnocheck_1.f90: Ditto.
* gfortran.dg/g77/20010216-1.f: Ditto.
* gfortran.dg/pr42246-2.f: Ditto.
* gfortran.dg/pr42294.f: Ditto.
* gfortran.dg/pr44691.f: Ditto.
* gfortran.dg/vect/pr45714-a.f: Ditto.
* gcc.c-torture/execute/ieee/ieee.exp: Ditto.
* gcc.misc-tests/linkage.exp: Ditto.
* lib/target-supports.exp: Reformat x86 tagets.
(check_effective_target_whole_vector_shift): Add i?86-*-* target.
2014-11-02 Paolo Carlini <paolo.carlini@oracle.com> 2014-11-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57694 PR c++/57694
......
/* { dg-do run { target { { x86_64-*-* ia64-*-* } && { ! { ia32 } } } } } */ /* { dg-do run { target { { { i?86-*-* x86_64-*-* } && { ! { ia32 } } || { ia64-*-* } } } } } */
/* { dg-options "-fsanitize=float-cast-overflow" } */ /* { dg-options "-fsanitize=float-cast-overflow" } */
#include <limits.h> #include <limits.h>
......
// { dg-options "-fno-weak" } // { dg-options "-fno-weak" }
// { dg-final { scan-assembler "local\[ \t\]*_ZZL1fvE1i" { target x86_64-*-*gnu } } } // { dg-final { scan-assembler "local\[ \t\]*_ZZL1fvE1i" { target i?86-*-gnu* x86_64-*-gnu* } } }
// { dg-final { scan-assembler "local\[ \t\]*_ZZ1gIiEvvE1i" { target x86_64-*-*gnu } } } // { dg-final { scan-assembler "local\[ \t\]*_ZZ1gIiEvvE1i" { target i?86-*-gnu* x86_64-*-gnu* } } }
static inline void f() static inline void f()
{ {
......
// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
// { dg-options "-O3 -fselective-scheduling2" } // { dg-options "-O3 -fselective-scheduling2" }
namespace std { namespace std {
......
// { dg-do compile { target x86_64-*-* } } // { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -fno-exceptions -O" } // { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -fno-exceptions -O" }
struct QBasicAtomicInt struct QBasicAtomicInt
......
// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
// { dg-options "-fschedule-insns -fselective-scheduling" } // { dg-options "-fschedule-insns -fselective-scheduling" }
void foo () void foo ()
......
// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
// { dg-options "-fschedule-insns -fselective-scheduling -fno-dce" } // { dg-options "-fschedule-insns -fselective-scheduling -fno-dce" }
......
// { dg-do compile { target x86_64-*-* } } // { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -funroll-all-loops -march=core2" } // { dg-options "-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -funroll-all-loops -march=core2" }
void bar (); void bar ();
......
// { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } // { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
// { dg-options "-O -fcrossjumping -fgcse -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param lim-expensive=320 --param min-crossjump-insns=1" } // { dg-options "-O -fcrossjumping -fgcse -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param lim-expensive=320 --param min-crossjump-insns=1" }
struct S struct S
......
// { dg-do compile { target x86_64-*-* } } // { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-O3 -fwhole-program -msse2" } // { dg-options "-O3 -fwhole-program -msse2" }
typedef long unsigned int __darwin_size_t; typedef long unsigned int __darwin_size_t;
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining" } */ /* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining" } */
extern "C" { extern "C" {
......
...@@ -41,10 +41,8 @@ set additional_flags "-fno-inline" ...@@ -41,10 +41,8 @@ set additional_flags "-fno-inline"
# We must use -ffloat-store/-mieee to ensure that excess precision on some # We must use -ffloat-store/-mieee to ensure that excess precision on some
# machines does not cause problems # machines does not cause problems
if [istarget "i\[34567\]86-*-*"] then { if { ([istarget "i?86-*-*"] || [istarget "x86_64-*-*"])
lappend additional_flags "-ffloat-store" && [check_effective_target_ia32] } then {
}
if { [istarget "x86_64-*-*"] && [check_effective_target_ia32] } then {
lappend additional_flags "-ffloat-store" lappend additional_flags "-ffloat-store"
} }
if [istarget "m68k-*-*"] then { if [istarget "m68k-*-*"] then {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
/* { dg-options "-O2 -march=i686" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ /* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* Verify that reload_cse_move2add doesn't add unexpected CLOBBERs. */ /* Verify that reload_cse_move2add doesn't add unexpected CLOBBERs. */
......
/* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */ /* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* i?86-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */
/* { dg-require-effective-target stdint_types } */ /* { dg-require-effective-target stdint_types } */
/* { dg-require-effective-target lp64 } */ /* { dg-require-effective-target lp64 } */
/* { dg-options "-O -fdump-rtl-combine" } */ /* { dg-options "-O -fdump-rtl-combine" } */
......
/* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */ /* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* i?86-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */
/* { dg-require-effective-target stdint_types } */ /* { dg-require-effective-target stdint_types } */
/* { dg-require-effective-target lp64 } */ /* { dg-require-effective-target lp64 } */
/* { dg-options "-O2 -fdump-rtl-combine" } */ /* { dg-options "-O2 -fdump-rtl-combine" } */
......
/* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */ /* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* i?86-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */
/* { dg-require-effective-target stdint_types } */ /* { dg-require-effective-target stdint_types } */
/* { dg-require-effective-target lp64 } */ /* { dg-require-effective-target lp64 } */
/* { dg-options "-O2 -fdump-rtl-combine" } */ /* { dg-options "-O2 -fdump-rtl-combine" } */
......
/* { dg-do compile {target sparc64*-*-* aarch64*-*-* x86_64-*-* powerpc64*-*-*} } */ /* { dg-do compile {target sparc64*-*-* aarch64*-*-* i?86-*-* x86_64-*-* powerpc64*-*-*} } */
/* { dg-require-effective-target lp64 } */
/* { dg-options "-O2 -fdump-rtl-combine-all" } */ /* { dg-options "-O2 -fdump-rtl-combine-all" } */
typedef long long int int64_t; typedef long long int int64_t;
......
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
volatile int vv; volatile int vv;
......
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
volatile int vv; volatile int vv;
......
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
volatile int vv; volatile int vv;
......
/* PR debug/45003 */ /* PR debug/45003 */
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
int __attribute__((noinline)) int __attribute__((noinline))
......
/* PR debug/45003 */ /* PR debug/45003 */
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
int __attribute__((noinline)) int __attribute__((noinline))
......
/* PR debug/45003 */ /* PR debug/45003 */
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
int __attribute__((noinline)) int __attribute__((noinline))
......
...@@ -11,8 +11,8 @@ foo (float a, float b, float c, float d, float l, double u) ...@@ -11,8 +11,8 @@ foo (float a, float b, float c, float d, float l, double u)
float f = d * e; float f = d * e;
double g = (double) f; double g = (double) f;
double h = (double) b; double h = (double) b;
double i = g * h; /* { dg-final { gdb-test pr58791-4.c:32 "i" "486" { target { x86_64-*-* && lp64 } } } } */ double i = g * h; /* { dg-final { gdb-test pr58791-4.c:32 "i" "486" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */
double i2 = i + 1.0; /* { dg-final { gdb-test pr58791-4.c:32 "i2" "487" { target { x86_64-*-* && lp64 } } } } */ double i2 = i + 1.0; /* { dg-final { gdb-test pr58791-4.c:32 "i2" "487" { target { { i?86-*-* x86_64-*-* } && lp64 } } } } */
double j = i * 3.25; double j = i * 3.25;
double k = h + j; double k = h + j;
float m = l * 8.75; float m = l * 8.75;
......
/* { dg-do run { target { x86_64-*-* && lp64 } } } */ /* { dg-do run { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-g" } */ /* { dg-options "-g" } */
volatile int vv; volatile int vv;
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O" } */ /* { dg-options "-O" } */
/* { dg-options "-O -march=i686" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ /* { dg-options "-O -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
extern void abort(void); extern void abort(void);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
register classes. In this case, register pressue of INT is high. But register classes. In this case, register pressue of INT is high. But
we can still move the FP invariant out of the loop. */ we can still move the FP invariant out of the loop. */
/* { dg-do compile { target { x86_64-*-* && lp64 } } } */ /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
/* { dg-options "-O2 -fira-loop-pressure -fdump-rtl-loop2_invariant " } */ /* { dg-options "-O2 -fira-loop-pressure -fdump-rtl-loop2_invariant " } */
float tt; float tt;
......
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */ /* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */ /* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */
long __attribute__((noinline, noclone)) long __attribute__((noinline, noclone))
......
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */ /* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */
/* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */ /* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-use-caller-save" } */
long __attribute__((noinline, noclone)) long __attribute__((noinline, noclone))
......
/* { dg-lto-do link } */ /* { dg-lto-do link } */
/* { dg-skip-if "" { ! { x86_64-*-* } } { "*" } { "" } } */ /* { dg-skip-if "" { ! { i?86-*-* x86_64-*-* } } { "*" } { "" } } */
/* { dg-lto-options { { -O2 -flto -w } } } */ /* { dg-lto-options { { -O2 -flto -w } } } */
register int r asm("esi"); register int r asm("esi");
......
...@@ -24,5 +24,5 @@ TEST (d32d, double __attribute__((vector_size (32)))); ...@@ -24,5 +24,5 @@ TEST (d32d, double __attribute__((vector_size (32))));
TEST (d64d, double __attribute__((vector_size (64)))); TEST (d64d, double __attribute__((vector_size (64))));
TEST (d128d, double __attribute__((vector_size (128)))); TEST (d128d, double __attribute__((vector_size (128))));
/* { dg-final { scan-tree-dump-not "memcpy" "optimized" { target x86_64-*-* } } } */ /* { dg-final { scan-tree-dump-not "memcpy" "optimized" { target i?86-*-* x86_64-*-* } } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */ /* { dg-final { cleanup-tree-dump "optimized" } } */
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */ /* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */
/* { dg-options "-O3 -fdump-rtl-pro_and_epilogue" } */ /* { dg-options "-O3 -fdump-rtl-pro_and_epilogue" } */
void f(int *i) void f(int *i)
......
/* PR target/37438 */ /* PR target/37438 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-Os" } */ /* { dg-options "-Os" } */
/* { dg-options "-Os -march=i486" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ /* { dg-options "-Os -march=i486" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
extern int bar (unsigned long long int); extern int bar (unsigned long long int);
extern int baz (const char *, unsigned int, unsigned short); extern int baz (const char *, unsigned int, unsigned short);
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" } */ /* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" } */
int foo(int k, int n) int foo(int k, int n)
......
/* { dg-do compile { target alpha*-*-* ia64*-*-* x86_64-*-* s390x-*-* } } */ /* { dg-do compile { target alpha*-*-* ia64*-*-* i?86-*-* x86_64-*-* s390x-*-* } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
/* { dg-require-effective-target lp64 } */ /* { dg-require-effective-target lp64 } */
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */ /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */
int int
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */ /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */
extern int N_words; extern int N_words;
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" } */ /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" } */
typedef enum typedef enum
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */ /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining" } */
typedef struct TypHeader typedef struct TypHeader
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fmodulo-sched" } */ /* { dg-options "-O2 -fselective-scheduling -fmodulo-sched" } */
enum rtx_code enum rtx_code
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsched-pressure" } */ /* { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsched-pressure" } */
struct s_linked_f_pointer struct s_linked_f_pointer
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O3 -fschedule-insns -fschedule-insns2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-loops -fprefetch-loop-arrays" } */ /* { dg-options "-O3 -fschedule-insns -fschedule-insns2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-loops -fprefetch-loop-arrays" } */
void main1 (float *pa, float *pc) void main1 (float *pa, float *pc)
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O1 -freorder-blocks -fschedule-insns2 -funswitch-loops -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" } */ /* { dg-options "-O1 -freorder-blocks -fschedule-insns2 -funswitch-loops -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" } */
void void
foo1 (int *s) foo1 (int *s)
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fprofile-generate -fgcse -fno-gcse-lm -fgcse-sm -fno-ivopts -fno-tree-loop-im -ftree-pre -funroll-loops -fno-web -fschedule-insns2 -fselective-scheduling2 -fsel-sched-pipelining" } */ /* { dg-options "-O -fprofile-generate -fgcse -fno-gcse-lm -fgcse-sm -fno-ivopts -fno-tree-loop-im -ftree-pre -funroll-loops -fno-web -fschedule-insns2 -fselective-scheduling2 -fsel-sched-pipelining" } */
extern volatile float f[]; extern volatile float f[];
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-Os -fselective-scheduling2 -fsel-sched-pipelining -fprofile-generate" } */ /* { dg-options "-Os -fselective-scheduling2 -fsel-sched-pipelining -fprofile-generate" } */
static inline void static inline void
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fschedule-insns2 -fselective-scheduling2" } */ /* { dg-options "-O -fschedule-insns2 -fselective-scheduling2" } */
struct S struct S
......
/* { dg-do run { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do run { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fselective-scheduling2" } */ /* { dg-options "-O2 -fselective-scheduling2" } */
struct S { struct S {
......
/* PR rtl-optimization/46212 */ /* PR rtl-optimization/46212 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O3 -funroll-loops" } */ /* { dg-options "-O3 -funroll-loops" } */
/* { dg-options "-O3 -funroll-loops -march=i386" { target { { i686-*-* x86_64-*-* } && ia32 } } } */ /* { dg-options "-O3 -funroll-loops -march=i386" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
/* { dg-require-effective-target int32plus } */ /* { dg-require-effective-target int32plus } */
static inline unsigned static inline unsigned
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-Os -fselective-scheduling2 -fsel-sched-pipelining -fprofile-generate -fno-early-inlining" } */ /* { dg-options "-Os -fselective-scheduling2 -fsel-sched-pipelining -fprofile-generate -fno-early-inlining" } */
static void bmp_iter_next (int *bi) static void bmp_iter_next (int *bi)
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O3 -fkeep-inline-functions -fsel-sched-pipelining -fselective-scheduling2 -funroll-loops" } */ /* { dg-options "-O3 -fkeep-inline-functions -fsel-sched-pipelining -fselective-scheduling2 -funroll-loops" } */
struct S struct S
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-Os -fselective-scheduling2" } */ /* { dg-options "-Os -fselective-scheduling2" } */
long long
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param max-sched-extend-regions-iters=2" } */ /* { dg-options "-O -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 --param max-sched-extend-regions-iters=2" } */
void foo (int y) void foo (int y)
......
/* { dg-do compile { target { ! { x86_64-*-mingw* } } } } */ /* { dg-do compile { target { ! { x86_64-*-mingw* } } } } */
/* { dg-options "-O2" } */ /* { dg-options "-O2" } */
/* { dg-additional-options "-mpreferred-stack-boundary=12" { target x86_64-*-* } } */ /* { dg-additional-options "-mpreferred-stack-boundary=12" { target { { i?86-*-* x86_64-*-* } && lp64 } } } */
extern void bar (int*); extern void bar (int*);
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fschedule-insns -fselective-scheduling" } */ /* { dg-options "-O -fschedule-insns -fselective-scheduling" } */
int main () int main ()
......
/* PR sanitizer/55702 */ /* PR sanitizer/55702 */
/* { dg-do compile { target { x86_64-*-linux* && lp64 } } } */ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-fsanitize=thread" } */ /* { dg-options "-fsanitize=thread" } */
void void
......
/* PR sanitizer/56990 */ /* PR sanitizer/56990 */
/* { dg-do compile { target { x86_64-*-linux* && lp64 } } } */ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-fsanitize=thread" } */ /* { dg-options "-fsanitize=thread" } */
struct S{}; struct S{};
......
/* PR tree-optimization/57104 */ /* PR tree-optimization/57104 */
/* { dg-do compile { target { x86_64-*-linux* && lp64 } } } */ /* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */
/* { dg-options "-fsanitize=thread" } */ /* { dg-options "-fsanitize=thread" } */
register int r asm ("r14"); register int r asm ("r14");
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options " -O -fno-guess-branch-probability -fpeel-loops -freorder-blocks-and-partition -fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -ftree-pre" } */ /* { dg-options " -O -fno-guess-branch-probability -fpeel-loops -freorder-blocks-and-partition -fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -ftree-pre" } */
struct intC struct intC
......
/* { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fselective-scheduling -fno-if-conversion -fschedule-insns" } */ /* { dg-options "-O -fselective-scheduling -fno-if-conversion -fschedule-insns" } */
int n; int n;
......
/* { dg-do compile { target { { x86_64-*-* && lp64 } || { arm_thumb2 } } } } */ /* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && lp64 } || { arm_thumb2 } } } } */
/* { dg-options "-O2 -fdump-rtl-pro_and_epilogue" } */ /* { dg-options "-O2 -fdump-rtl-pro_and_epilogue" } */
int foo (int *p1, int *p2); int foo (int *p1, int *p2);
......
/* { dg-do compile { target { x86_64-*-linux* } } } */ /* { dg-do compile { target { i?86-*-linux* x86_64-*-linux* } } } */
/* { dg-options "-fgnu-tm -O" } */ /* { dg-options "-fgnu-tm -O" } */
/* Test the TM vector logging functions. */ /* Test the TM vector logging functions. */
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-march=k8-sse3" { target x86_64-*-* } } */ /* { dg-options "-march=k8-sse3" { target i?86-*-* x86_64-*-* } } */
struct alu_bank_swizzle { struct alu_bank_swizzle {
int hw_gpr[3][4]; int hw_gpr[3][4];
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-march=core-avx2" { target x86_64-*-* } } */ /* { dg-options "-march=core-avx2" { target i?86-*-* x86_64-*-* } } */
typedef struct { typedef struct {
float a,b,c; float a,b,c;
......
/* { dg-require-effective-target freorder } */ /* { dg-require-effective-target freorder } */
/* { dg-options "-O2 -freorder-blocks-and-partition -fschedule-insns -fselective-scheduling" { target powerpc*-*-* ia64-*-* x86_64-*-* } } */ /* { dg-options "-O2 -freorder-blocks-and-partition -fschedule-insns -fselective-scheduling" { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
extern void abort (void); extern void abort (void);
......
/* PR middle-end/50907 */ /* PR middle-end/50907 */
/* { dg-require-effective-target freorder } */ /* { dg-require-effective-target freorder } */
/* { dg-options "-O2 -freorder-blocks-and-partition -fschedule-insns -fselective-scheduling -fpic" { target { { powerpc*-*-* ia64-*-* x86_64-*-* } && fpic } } } */ /* { dg-options "-O2 -freorder-blocks-and-partition -fschedule-insns -fselective-scheduling -fpic" { target { { powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } && fpic } } } */
#include "pr45354.c" #include "pr45354.c"
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
and we may use 64-bit variable to represent them. */ and we may use 64-bit variable to represent them. */
/* { dg-options "-O2 -fdump-tree-optimized" } */ /* { dg-options "-O2 -fdump-tree-optimized" } */
/* { dg-do compile { target x86_64-*-* } } */ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
unsigned a[100]; unsigned a[100];
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
i is first extended to 64-bit type). */ i is first extended to 64-bit type). */
/* { dg-options "-O2 -fdump-tree-optimized" } */ /* { dg-options "-O2 -fdump-tree-optimized" } */
/* { dg-do compile { target x86_64-*-* } } */ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
unsigned bar(void); unsigned bar(void);
......
/* { dg-do compile { target x86_64-*-* } } */ /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fdump-tree-esra-details" } */ /* { dg-options "-msse -O2 -fdump-tree-esra-details" } */
#include "xmmintrin.h" #include "xmmintrin.h"
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* { dg-options "-c -fdump-go-spec=godump-1.out" } */ /* { dg-options "-c -fdump-go-spec=godump-1.out" } */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-skip-if "not supported for target" { ! "s390*-*-* x86_64-*-*" } } */ /* { dg-skip-if "not supported for target" { ! "s390*-*-* i?86-*-* x86_64-*-*" } } */
/* { dg-skip-if "not supported for target" { ! lp64 } } */ /* { dg-skip-if "not supported for target" { ! lp64 } } */
#include <stdint.h> #include <stdint.h>
......
...@@ -44,8 +44,7 @@ if { [isnative] && ![is_remote host] } then { ...@@ -44,8 +44,7 @@ if { [isnative] && ![is_remote host] } then {
set native_cflags "-xarch=v9" set native_cflags "-xarch=v9"
} }
} }
if {[istarget "i?86*-*-solaris2*"] if {[istarget "i?86*-*-solaris2*"] || [istarget "x86_64-*-solaris2.1\[0-9\]*"]} {
|| [istarget "x86_64-*-solaris2.1\[0-9\]*"]} {
set file_string [exec file "linkage-x.o"] set file_string [exec file "linkage-x.o"]
if [ string match "*64*" $file_string ] { if [ string match "*64*" $file_string ] {
set native_cflags "-xarch=amd64" set native_cflags "-xarch=amd64"
...@@ -59,9 +58,8 @@ if { [isnative] && ![is_remote host] } then { ...@@ -59,9 +58,8 @@ if { [isnative] && ![is_remote host] } then {
if [ string match "*64-bit*" $file_string ] { if [ string match "*64-bit*" $file_string ] {
set native_cflags "-m64" set native_cflags "-m64"
} }
} elseif {[istarget "i*86-*-linux*"] } elseif {[istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"]
|| [istarget "i*86-*-gnu*"] || [istarget "i?86-*-gnu*"] || [istarget "x86_64-*-gnu*"] } then {
|| [istarget "x86_64-*-linux*"]} then {
set file_string [exec file "linkage-x.o"] set file_string [exec file "linkage-x.o"]
if [ string match "*32-bit*" $file_string ] { if [ string match "*32-bit*" $file_string ] {
set native_cflags "-m32" set native_cflags "-m32"
......
C PR target/24188 C PR target/24188
C { dg-do compile } C { dg-do compile }
C { dg-options "-O2" } C { dg-options "-O2" }
C { dg-options "-O2 -mcmodel=medium" { target { x86_64-*-* && lp64 } } } C { dg-options "-O2 -mcmodel=medium" { target { { i?86-*-* x86_64-*-* } && lp64 } } }
C { dg-options "-O2 -mcmodel=medium" { target { i?86-*-* && lp64 } } }
WRITE(6,*) '' WRITE(6,*) ''
END END
! { dg-do compile { target x86_64-*-* } } ! { dg-do compile { target i?86-*-* x86_64-*-* } }
! Fortran should default to -fno-math-errno ! Fortran should default to -fno-math-errno
! and thus no call to sqrt in asm ! and thus no call to sqrt in asm
subroutine mysqrt(a) subroutine mysqrt(a)
......
C Test for bug in reg-stack handling conditional moves. C Test for bug in reg-stack handling conditional moves.
C Reported by Tim Prince <tprince@computer.org> C Reported by Tim Prince <tprince@computer.org>
C C
C { dg-do run { target { { i[6789]86-*-* x86_64-*-* } && ia32 } } } C { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } }
C { dg-options "-ffast-math -march=pentiumpro" } C { dg-options "-ffast-math -march=pentiumpro" }
double precision function foo(x, y) double precision function foo(x, y)
......
C PR rtl-optimization/42246 C PR rtl-optimization/42246
C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } C { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
C { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" } C { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" }
subroutine distance(x,clo) subroutine distance(x,clo)
......
C PR rtl-optimization/42294 C PR rtl-optimization/42294
C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } C { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
C { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" } C { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -funroll-all-loops" }
SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T) SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T)
......
C PR rtl-optimization/44691 C PR rtl-optimization/44691
C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } } C { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
C { dg-options "-O2 -fselective-scheduling2" } C { dg-options "-O2 -fselective-scheduling2" }
SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T) SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T)
......
! { dg-do compile { target x86_64-*-* } } ! { dg-do compile { target i?86-*-* x86_64-*-* } }
! { dg-options "-O3 -march=core2 -mavx -ffast-math -mveclibabi=svml" } ! { dg-options "-O3 -march=core2 -mavx -ffast-math -mveclibabi=svml" }
integer index(18),i,j,k,l,ipiv(18),info,ichange,neq,lda,ldb, integer index(18),i,j,k,l,ipiv(18),info,ichange,neq,lda,ldb,
......
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