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,
......
...@@ -509,7 +509,7 @@ proc check_profiling_available { test_what } { ...@@ -509,7 +509,7 @@ proc check_profiling_available { test_what } {
if {![info exists profiling_available_saved]} { if {![info exists profiling_available_saved]} {
# Some targets don't have any implementation of __bb_init_func or are # Some targets don't have any implementation of __bb_init_func or are
# missing other needed machinery. # missing other needed machinery.
if { [istarget aarch64*-*-elf] if {[istarget aarch64*-*-elf]
|| [istarget am3*-*-linux*] || [istarget am3*-*-linux*]
|| [istarget arm*-*-eabi*] || [istarget arm*-*-eabi*]
|| [istarget arm*-*-elf] || [istarget arm*-*-elf]
...@@ -2097,11 +2097,10 @@ proc check_effective_target_vect_int { } { ...@@ -2097,11 +2097,10 @@ proc check_effective_target_vect_int { } {
verbose "check_effective_target_vect_int: using cached result" 2 verbose "check_effective_target_vect_int: using cached result" 2
} else { } else {
set et_vect_int_saved 0 set et_vect_int_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] || ([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget x86_64-*-*]
|| [istarget sparc*-*-*] || [istarget sparc*-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
...@@ -2127,10 +2126,9 @@ proc check_effective_target_vect_intfloat_cvt { } { ...@@ -2127,10 +2126,9 @@ proc check_effective_target_vect_intfloat_cvt { } {
verbose "check_effective_target_vect_intfloat_cvt: using cached result" 2 verbose "check_effective_target_vect_intfloat_cvt: using cached result" 2
} else { } else {
set et_vect_intfloat_cvt_saved 0 set et_vect_intfloat_cvt_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] || ([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
|| [istarget x86_64-*-*]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_neon_ok])} { && [check_effective_target_arm_neon_ok])} {
set et_vect_intfloat_cvt_saved 1 set et_vect_intfloat_cvt_saved 1
...@@ -2165,10 +2163,9 @@ proc check_effective_target_vect_uintfloat_cvt { } { ...@@ -2165,10 +2163,9 @@ proc check_effective_target_vect_uintfloat_cvt { } {
verbose "check_effective_target_vect_uintfloat_cvt: using cached result" 2 verbose "check_effective_target_vect_uintfloat_cvt: using cached result" 2
} else { } else {
set et_vect_uintfloat_cvt_saved 0 set et_vect_uintfloat_cvt_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] || ([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
|| [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_neon_ok])} { && [check_effective_target_arm_neon_ok])} {
...@@ -2191,10 +2188,9 @@ proc check_effective_target_vect_floatint_cvt { } { ...@@ -2191,10 +2188,9 @@ proc check_effective_target_vect_floatint_cvt { } {
verbose "check_effective_target_vect_floatint_cvt: using cached result" 2 verbose "check_effective_target_vect_floatint_cvt: using cached result" 2
} else { } else {
set et_vect_floatint_cvt_saved 0 set et_vect_floatint_cvt_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] || ([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
|| [istarget x86_64-*-*]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_neon_ok])} { && [check_effective_target_arm_neon_ok])} {
set et_vect_floatint_cvt_saved 1 set et_vect_floatint_cvt_saved 1
...@@ -3323,8 +3319,7 @@ proc check_effective_target_vect_shift { } { ...@@ -3323,8 +3319,7 @@ proc check_effective_target_vect_shift { } {
if { ([istarget powerpc*-*-*] if { ([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [check_effective_target_arm32] || [check_effective_target_arm32]
|| ([istarget mips*-*-*] || ([istarget mips*-*-*]
...@@ -3338,7 +3333,7 @@ proc check_effective_target_vect_shift { } { ...@@ -3338,7 +3333,7 @@ proc check_effective_target_vect_shift { } {
} }
proc check_effective_target_whole_vector_shift { } { proc check_effective_target_whole_vector_shift { } {
if { [istarget x86_64-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| ([check_effective_target_arm32] || ([check_effective_target_arm32]
&& [check_effective_target_arm_little_endian]) && [check_effective_target_arm_little_endian])
...@@ -3399,11 +3394,10 @@ proc check_effective_target_vect_shift_char { } { ...@@ -3399,11 +3394,10 @@ proc check_effective_target_vect_shift_char { } {
# This can change for different subtargets so do not cache the result. # This can change for different subtargets so do not cache the result.
proc check_effective_target_vect_long { } { proc check_effective_target_vect_long { } {
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| (([istarget powerpc*-*-*] || (([istarget powerpc*-*-*]
&& ![istarget powerpc-*-linux*paired*]) && ![istarget powerpc-*-linux*paired*])
&& [check_effective_target_ilp32]) && [check_effective_target_ilp32])
|| [istarget x86_64-*-*]
|| [check_effective_target_arm32] || [check_effective_target_arm32]
|| ([istarget sparc*-*-*] && [check_effective_target_ilp32]) } { || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) } {
set answer 1 set answer 1
...@@ -3426,12 +3420,11 @@ proc check_effective_target_vect_float { } { ...@@ -3426,12 +3420,11 @@ proc check_effective_target_vect_float { } {
verbose "check_effective_target_vect_float: using cached result" 2 verbose "check_effective_target_vect_float: using cached result" 2
} else { } else {
set et_vect_float_saved 0 set et_vect_float_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget mips-sde-elf] || [istarget mips-sde-elf]
|| [istarget mipsisa64*-*-*] || [istarget mipsisa64*-*-*]
|| [istarget x86_64-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [check_effective_target_arm32] } { || [check_effective_target_arm32] } {
...@@ -3454,9 +3447,8 @@ proc check_effective_target_vect_double { } { ...@@ -3454,9 +3447,8 @@ proc check_effective_target_vect_double { } {
verbose "check_effective_target_vect_double: using cached result" 2 verbose "check_effective_target_vect_double: using cached result" 2
} else { } else {
set et_vect_double_saved 0 set et_vect_double_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*] } {
|| [istarget x86_64-*-*] } {
if { [check_no_compiler_messages vect_double assembly { if { [check_no_compiler_messages vect_double assembly {
#ifdef __tune_atom__ #ifdef __tune_atom__
# error No double vectorizer support. # error No double vectorizer support.
...@@ -3486,8 +3478,7 @@ proc check_effective_target_vect_long_long { } { ...@@ -3486,8 +3478,7 @@ proc check_effective_target_vect_long_long { } {
verbose "check_effective_target_vect_long_long: using cached result" 2 verbose "check_effective_target_vect_long_long: using cached result" 2
} else { } else {
set et_vect_long_long_saved 0 set et_vect_long_long_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*] } {
|| [istarget x86_64-*-*] } {
set et_vect_long_long_saved 1 set et_vect_long_long_saved 1
} }
} }
...@@ -3575,8 +3566,7 @@ proc check_effective_target_vect_perm { } { ...@@ -3575,8 +3566,7 @@ proc check_effective_target_vect_perm { } {
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| ([istarget mips*-*-*] || ([istarget mips*-*-*]
&& [check_effective_target_mpaired_single]) } { && [check_effective_target_mpaired_single]) } {
set et_vect_perm_saved 1 set et_vect_perm_saved 1
...@@ -3780,8 +3770,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si { } { ...@@ -3780,8 +3770,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si { } {
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } { || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
set et_vect_widen_mult_hi_to_si_saved 1 set et_vect_widen_mult_hi_to_si_saved 1
} }
...@@ -3828,8 +3817,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si_pattern { } { ...@@ -3828,8 +3817,7 @@ proc check_effective_target_vect_widen_mult_hi_to_si_pattern { } {
if { [istarget powerpc*-*-*] if { [istarget powerpc*-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| ([istarget arm*-*-*] || ([istarget arm*-*-*]
&& [check_effective_target_arm_neon_ok] && [check_effective_target_arm_neon_ok]
&& [check_effective_target_arm_little_endian]) } { && [check_effective_target_arm_little_endian]) } {
...@@ -3853,8 +3841,7 @@ proc check_effective_target_vect_widen_mult_si_to_di_pattern { } { ...@@ -3853,8 +3841,7 @@ proc check_effective_target_vect_widen_mult_si_to_di_pattern { } {
} else { } else {
set et_vect_widen_mult_si_to_di_pattern_saved 0 set et_vect_widen_mult_si_to_di_pattern_saved 0
if {[istarget ia64-*-*] if {[istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*] } {
|| [istarget x86_64-*-*] } {
set et_vect_widen_mult_si_to_di_pattern_saved 1 set et_vect_widen_mult_si_to_di_pattern_saved 1
} }
} }
...@@ -3937,8 +3924,7 @@ proc check_effective_target_vect_sdot_hi { } { ...@@ -3937,8 +3924,7 @@ proc check_effective_target_vect_sdot_hi { } {
set et_vect_sdot_hi_saved 0 set et_vect_sdot_hi_saved 0
if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*]) if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*])
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*] } {
|| [istarget x86_64-*-*] } {
set et_vect_sdot_hi_saved 1 set et_vect_sdot_hi_saved 1
} }
} }
...@@ -3978,8 +3964,7 @@ proc check_effective_target_vect_usad_char { } { ...@@ -3978,8 +3964,7 @@ proc check_effective_target_vect_usad_char { } {
verbose "check_effective_target_vect_usad_char: using cached result" 2 verbose "check_effective_target_vect_usad_char: using cached result" 2
} else { } else {
set et_vect_usad_char_saved 0 set et_vect_usad_char_saved 0
if { ([istarget i?86-*-*] if { ([istarget i?86-*-*] || [istarget x86_64-*-*]) } {
|| [istarget x86_64-*-*]) } {
set et_vect_usad_char_saved 1 set et_vect_usad_char_saved 1
} }
} }
...@@ -4001,8 +3986,7 @@ proc check_effective_target_vect_pack_trunc { } { ...@@ -4001,8 +3986,7 @@ proc check_effective_target_vect_pack_trunc { } {
} else { } else {
set et_vect_pack_trunc_saved 0 set et_vect_pack_trunc_saved 0
if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*]) if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*])
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok] || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]
...@@ -4027,8 +4011,7 @@ proc check_effective_target_vect_unpack { } { ...@@ -4027,8 +4011,7 @@ proc check_effective_target_vect_unpack { } {
} else { } else {
set et_vect_unpack_saved 0 set et_vect_unpack_saved 0
if { ([istarget powerpc*-*-*] && ![istarget powerpc-*paired*]) if { ([istarget powerpc*-*-*] && ![istarget powerpc-*paired*])
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
...@@ -4095,9 +4078,8 @@ proc check_effective_target_vect_hw_misalign { } { ...@@ -4095,9 +4078,8 @@ proc check_effective_target_vect_hw_misalign { } {
verbose "check_effective_target_vect_hw_misalign: using cached result" 2 verbose "check_effective_target_vect_hw_misalign: using cached result" 2
} else { } else {
set et_vect_hw_misalign_saved 0 set et_vect_hw_misalign_saved 0
if { ([istarget x86_64-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*] } {
|| [istarget i?86-*-*]) } {
set et_vect_hw_misalign_saved 1 set et_vect_hw_misalign_saved 1
} }
} }
...@@ -4269,9 +4251,8 @@ proc check_effective_target_vect_condition { } { ...@@ -4269,9 +4251,8 @@ proc check_effective_target_vect_condition { } {
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget x86_64-*-*]
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } { || ([istarget arm*-*-*] && [check_effective_target_arm_neon_ok]) } {
set et_vect_cond_saved 1 set et_vect_cond_saved 1
} }
...@@ -4291,8 +4272,7 @@ proc check_effective_target_vect_cond_mixed { } { ...@@ -4291,8 +4272,7 @@ proc check_effective_target_vect_cond_mixed { } {
verbose "check_effective_target_vect_cond_mixed: using cached result" 2 verbose "check_effective_target_vect_cond_mixed: using cached result" 2
} else { } else {
set et_vect_cond_mixed_saved 0 set et_vect_cond_mixed_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget powerpc*-*-*] } { || [istarget powerpc*-*-*] } {
set et_vect_cond_mixed_saved 1 set et_vect_cond_mixed_saved 1
} }
...@@ -4313,8 +4293,7 @@ proc check_effective_target_vect_char_mult { } { ...@@ -4313,8 +4293,7 @@ proc check_effective_target_vect_char_mult { } {
set et_vect_char_mult_saved 0 set et_vect_char_mult_saved 0
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [check_effective_target_arm32] } { || [check_effective_target_arm32] } {
set et_vect_char_mult_saved 1 set et_vect_char_mult_saved 1
} }
...@@ -4335,8 +4314,7 @@ proc check_effective_target_vect_short_mult { } { ...@@ -4335,8 +4314,7 @@ proc check_effective_target_vect_short_mult { } {
set et_vect_short_mult_saved 0 set et_vect_short_mult_saved 0
if { [istarget ia64-*-*] if { [istarget ia64-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [check_effective_target_arm32] || [check_effective_target_arm32]
...@@ -4361,8 +4339,7 @@ proc check_effective_target_vect_int_mult { } { ...@@ -4361,8 +4339,7 @@ proc check_effective_target_vect_int_mult { } {
set et_vect_int_mult_saved 0 set et_vect_int_mult_saved 0
if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*]) if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*])
|| [istarget spu-*-*] || [istarget spu-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [check_effective_target_arm32] } { || [check_effective_target_arm32] } {
...@@ -4386,8 +4363,7 @@ proc check_effective_target_vect_extract_even_odd { } { ...@@ -4386,8 +4363,7 @@ proc check_effective_target_vect_extract_even_odd { } {
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [is-effective-target arm_neon_ok] || [is-effective-target arm_neon_ok]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| ([istarget mips*-*-*] || ([istarget mips*-*-*]
...@@ -4412,8 +4388,7 @@ proc check_effective_target_vect_interleave { } { ...@@ -4412,8 +4388,7 @@ proc check_effective_target_vect_interleave { } {
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [is-effective-target arm_neon_ok] || [is-effective-target arm_neon_ok]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget spu-*-*] || [istarget spu-*-*]
|| ([istarget mips*-*-*] || ([istarget mips*-*-*]
...@@ -4502,8 +4477,7 @@ proc check_effective_target_vect_call_copysignf { } { ...@@ -4502,8 +4477,7 @@ proc check_effective_target_vect_call_copysignf { } {
verbose "check_effective_target_vect_call_copysignf: using cached result" 2 verbose "check_effective_target_vect_call_copysignf: using cached result" 2
} else { } else {
set et_vect_call_copysignf_saved 0 set et_vect_call_copysignf_saved 0
if { [istarget i?86-*-*] if { [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget powerpc*-*-*] } { || [istarget powerpc*-*-*] } {
set et_vect_call_copysignf_saved 1 set et_vect_call_copysignf_saved 1
} }
...@@ -4523,8 +4497,7 @@ proc check_effective_target_vect_call_sqrtf { } { ...@@ -4523,8 +4497,7 @@ proc check_effective_target_vect_call_sqrtf { } {
} else { } else {
set et_vect_call_sqrtf_saved 0 set et_vect_call_sqrtf_saved 0
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| ([istarget powerpc*-*-*] && [check_vsx_hw_available]) } { || ([istarget powerpc*-*-*] && [check_vsx_hw_available]) } {
set et_vect_call_sqrtf_saved 1 set et_vect_call_sqrtf_saved 1
} }
...@@ -4538,7 +4511,8 @@ proc check_effective_target_vect_call_sqrtf { } { ...@@ -4538,7 +4511,8 @@ proc check_effective_target_vect_call_sqrtf { } {
proc check_effective_target_vect_call_lrint { } { proc check_effective_target_vect_call_lrint { } {
set et_vect_call_lrint 0 set et_vect_call_lrint 0
if { ([istarget i?86-*-*] || [istarget x86_64-*-*]) && [check_effective_target_ilp32] } { if { ([istarget i?86-*-*] || [istarget x86_64-*-*])
&& [check_effective_target_ilp32] } {
set et_vect_call_lrint 1 set et_vect_call_lrint 1
} }
...@@ -4820,8 +4794,7 @@ proc check_effective_target_sync_int_128_runtime { } { ...@@ -4820,8 +4794,7 @@ proc check_effective_target_sync_int_128_runtime { } {
# Note: 32bit x86 targets require -march=pentium in dg-options. # Note: 32bit x86 targets require -march=pentium in dg-options.
proc check_effective_target_sync_long_long { } { proc check_effective_target_sync_long_long { } {
if { [istarget x86_64-*-*] if { [istarget x86_64-*-*] || [istarget i?86-*-*])
|| [istarget i?86-*-*])
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget arm*-*-*] || [istarget arm*-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
...@@ -4838,8 +4811,7 @@ proc check_effective_target_sync_long_long { } { ...@@ -4838,8 +4811,7 @@ proc check_effective_target_sync_long_long { } {
# Note: 32bit x86 targets require -march=pentium in dg-options. # Note: 32bit x86 targets require -march=pentium in dg-options.
proc check_effective_target_sync_long_long_runtime { } { proc check_effective_target_sync_long_long_runtime { } {
if { [istarget x86_64-*-*] if { [istarget x86_64-*-*] || [istarget i?86-*-*] } {
|| [istarget i?86-*-*] } {
return [check_cached_effective_target sync_long_long_available { return [check_cached_effective_target sync_long_long_available {
check_runtime_nocache sync_long_long_available { check_runtime_nocache sync_long_long_available {
#include "cpuid.h" #include "cpuid.h"
...@@ -4895,12 +4867,11 @@ proc check_effective_target_bswap { } { ...@@ -4895,12 +4867,11 @@ proc check_effective_target_bswap { } {
if { [istarget aarch64-*-*] if { [istarget aarch64-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget arm*-*-*] || [istarget arm*-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget m68k-*-*] || [istarget m68k-*-*]
|| [istarget powerpc*-*-*] || [istarget powerpc*-*-*]
|| [istarget rs6000-*-*] || [istarget rs6000-*-*]
|| [istarget s390*-*-*] || [istarget s390*-*-*] } {
|| [istarget x86_64-*-*] } {
set et_bswap_saved 1 set et_bswap_saved 1
} }
} }
...@@ -4920,8 +4891,7 @@ proc check_effective_target_bswap16 { } { ...@@ -4920,8 +4891,7 @@ proc check_effective_target_bswap16 { } {
set et_bswap16_saved 0 set et_bswap16_saved 0
if { [is-effective-target bswap] if { [is-effective-target bswap]
&& ![istarget alpha*-*-*] && ![istarget alpha*-*-*]
&& ![istarget i?86-*-*] && !([istarget i?86-*-*] || [istarget x86_64-*-*]) } {
&& ![istarget x86_64-*-*] } {
set et_bswap16_saved 1 set et_bswap16_saved 1
} }
} }
...@@ -4979,8 +4949,7 @@ proc check_effective_target_sync_int_long { } { ...@@ -4979,8 +4949,7 @@ proc check_effective_target_sync_int_long { } {
# This is intentionally powerpc but not rs6000, rs6000 doesn't have the # This is intentionally powerpc but not rs6000, rs6000 doesn't have the
# load-reserved/store-conditional instructions. # load-reserved/store-conditional instructions.
if { [istarget ia64-*-*] if { [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget aarch64*-*-*] || [istarget aarch64*-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*] || [istarget arm*-*-linux-*]
...@@ -5012,8 +4981,7 @@ proc check_effective_target_sync_char_short { } { ...@@ -5012,8 +4981,7 @@ proc check_effective_target_sync_char_short { } {
# load-reserved/store-conditional instructions. # load-reserved/store-conditional instructions.
if { [istarget aarch64*-*-*] if { [istarget aarch64*-*-*]
|| [istarget ia64-*-*] || [istarget ia64-*-*]
|| [istarget i?86-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*]
|| [istarget x86_64-*-*]
|| [istarget alpha*-*-*] || [istarget alpha*-*-*]
|| [istarget arm*-*-linux-*] || [istarget arm*-*-linux-*]
|| [istarget hppa*-*linux*] || [istarget hppa*-*linux*]
......
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