PR testsuite/20772
* g++.dg/abi/bitfield3.C, g++.dg/abi/bitfield8.C,
g++.dg/abi/bitfield9.C, g++.dg/abi/dtor1.C, g++.dg/abi/empty10.C,
g++.dg/abi/empty7.C, g++.dg/abi/empty9.C, g++.dg/abi/layout3.C,
g++.dg/abi/layout4.C, g++.dg/abi/thunk1.C, g++.dg/abi/thunk2.C,
g++.dg/abi/vbase11.C, g++.dg/abi/vthunk2.C, g++.dg/abi/vthunk3.C,
g++.dg/eh/simd-1.C, g++.dg/eh/simd-2.C, g++.dg/ext/attrib8.C,
g++.dg/opt/cse2.C, g++.dg/opt/inline9.C, g++.dg/opt/life1.C,
g++.dg/opt/longbranch2.C, g++.dg/opt/mmx1.C,
g++.dg/opt/reg-stack4.C, g++.dg/other/big-struct.C,
g++.old-deja/g++.abi/aggregates.C, g++.old-deja/g++.abi/align.C,
g++.old-deja/g++.abi/bitfields.C, g++.old-deja/g++.eh/tmpl2.C,
g++.old-deja/g++.ext/asmspec1.C, g++.old-deja/g++.ext/attrib1.C,
g++.old-deja/g++.ext/attrib2.C, g++.old-deja/g++.ext/attrib3.C,
g++.old-deja/g++.law/weak.C, g++.old-deja/g++.other/regstack.C,
g++.old-deja/g++.other/store-expr1.C,
g++.old-deja/g++.other/store-expr2.C, g++.old-deja/g++.pt/asm1.C,
g++.old-deja/g++.pt/asm2.C, g77.dg/
20010216-1.f,
gcc.c-torture/compile/
20000804-1.c,
gcc.c-torture/execute/990413-2.x, gcc.dg/
20000609-1.c,
gcc.dg/
20000614-1.c, gcc.dg/
20000720-1.c, gcc.dg/
20000724-1.c,
gcc.dg/
20000807-1.c, gcc.dg/
20000904-1.c, gcc.dg/
20001127-1.c,
gcc.dg/
20010202-1.c, gcc.dg/
20010520-1.c, gcc.dg/
20011009-1.c,
gcc.dg/
20011029-2.c, gcc.dg/
20011107-1.c, gcc.dg/
20011119-1.c,
gcc.dg/
20020108-1.c, gcc.dg/
20020122-2.c, gcc.dg/
20020122-3.c,
gcc.dg/
20020201-3.c, gcc.dg/
20020206-1.c, gcc.dg/
20020218-1.c,
gcc.dg/
20020224-1.c, gcc.dg/
20020310-1.c, gcc.dg/
20020411-1.c,
gcc.dg/
20020418-1.c, gcc.dg/
20020418-2.c, gcc.dg/
20020426-1.c,
gcc.dg/
20020426-2.c, gcc.dg/
20020517-1.c, gcc.dg/
20020523-1.c,
gcc.dg/
20020523-2.c, gcc.dg/
20020531-1.c, gcc.dg/
20020616-1.c,
gcc.dg/
20020729-1.c, gcc.dg/
20030204-1.c, gcc.dg/
20030826-2.c,
gcc.dg/
20030926-1.c, gcc.dg/
20031102-1.c, gcc.dg/
20031202-1.c,
gcc.dg/980226-1.c, gcc.dg/980312-1.c, gcc.dg/980313-1.c,
gcc.dg/980414-1.c, gcc.dg/980520-1.c, gcc.dg/980709-1.c,
gcc.dg/990117-1.c, gcc.dg/990130-1.c, gcc.dg/990213-2.c,
gcc.dg/990214-1.c, gcc.dg/990424-1.c, gcc.dg/990524-1.c,
gcc.dg/991129-1.c, gcc.dg/991209-1.c, gcc.dg/991214-1.c,
gcc.dg/991230-1.c, gcc.dg/asm-1.c, gcc.dg/clobbers.c,
gcc.dg/i386-387-1.c, gcc.dg/i386-387-2.c, gcc.dg/i386-387-3.c,
gcc.dg/i386-387-4.c, gcc.dg/i386-387-5.c, gcc.dg/i386-387-6.c,
gcc.dg/i386-asm-1.c, gcc.dg/i386-asm-2.c, gcc.dg/i386-bitfield1.c,
gcc.dg/i386-bitfield2.c, gcc.dg/i386-bitfield3.c,
gcc.dg/i386-call-1.c, gcc.dg/i386-local.c, gcc.dg/i386-loop-1.c,
gcc.dg/i386-loop-2.c, gcc.dg/i386-loop-3.c,
gcc.dg/i386-memset-1.c, gcc.dg/i386-pentium4-not-mull.c,
gcc.dg/i386-pic-1.c, gcc.dg/i386-regparm.c,
gcc.dg/i386-signbit-1.c, gcc.dg/i386-signbit-2.c,
gcc.dg/i386-signbit-3.c, gcc.dg/i386-sse-5.c, gcc.dg/i386-sse-8.c,
gcc.dg/i386-ssetype-3.c, gcc.dg/i386-ssetype-5.c,
gcc.dg/i386-unroll-1.c, gcc.dg/i386-volatile-1.c, gcc.dg/loop-3.c,
gcc.dg/pr12092-1.c, gcc.dg/pr14289-1.c, gcc.dg/pr14289-2.c,
gcc.dg/pr14289-3.c, gcc.dg/pr9771-1.c, gcc.dg/setjmp-2.c,
gcc.dg/short-compare-1.c, gcc.dg/short-compare-2.c,
gcc.dg/sibcall-5.c, gcc.dg/sibcall-6.c, gcc.dg/tls/opt-1.c,
gcc.dg/tls/opt-2.c, gcc.dg/tls/opt-3.c,
gcc.dg/torture/pr18582-1.c, gcc.dg/unroll-1.c,
gcc.misc-tests/i386-pf-3dnow-1.c,
gcc.misc-tests/i386-pf-athlon-1.c,
gcc.misc-tests/i386-pf-none-1.c, gcc.misc-tests/i386-pf-sse-1.c:
Backport portions of testcases.
From-SVN: r108942
+2005-12-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR testsuite/20772
+ * g++.dg/abi/bitfield3.C, g++.dg/abi/bitfield8.C,
+ g++.dg/abi/bitfield9.C, g++.dg/abi/dtor1.C, g++.dg/abi/empty10.C,
+ g++.dg/abi/empty7.C, g++.dg/abi/empty9.C, g++.dg/abi/layout3.C,
+ g++.dg/abi/layout4.C, g++.dg/abi/thunk1.C, g++.dg/abi/thunk2.C,
+ g++.dg/abi/vbase11.C, g++.dg/abi/vthunk2.C, g++.dg/abi/vthunk3.C,
+ g++.dg/eh/simd-1.C, g++.dg/eh/simd-2.C, g++.dg/ext/attrib8.C,
+ g++.dg/opt/cse2.C, g++.dg/opt/inline9.C, g++.dg/opt/life1.C,
+ g++.dg/opt/longbranch2.C, g++.dg/opt/mmx1.C,
+ g++.dg/opt/reg-stack4.C, g++.dg/other/big-struct.C,
+ g++.old-deja/g++.abi/aggregates.C, g++.old-deja/g++.abi/align.C,
+ g++.old-deja/g++.abi/bitfields.C, g++.old-deja/g++.eh/tmpl2.C,
+ g++.old-deja/g++.ext/asmspec1.C, g++.old-deja/g++.ext/attrib1.C,
+ g++.old-deja/g++.ext/attrib2.C, g++.old-deja/g++.ext/attrib3.C,
+ g++.old-deja/g++.law/weak.C, g++.old-deja/g++.other/regstack.C,
+ g++.old-deja/g++.other/store-expr1.C,
+ g++.old-deja/g++.other/store-expr2.C, g++.old-deja/g++.pt/asm1.C,
+ g++.old-deja/g++.pt/asm2.C, g77.dg/20010216-1.f,
+ gcc.c-torture/compile/20000804-1.c,
+ gcc.c-torture/execute/990413-2.x, gcc.dg/20000609-1.c,
+ gcc.dg/20000614-1.c, gcc.dg/20000720-1.c, gcc.dg/20000724-1.c,
+ gcc.dg/20000807-1.c, gcc.dg/20000904-1.c, gcc.dg/20001127-1.c,
+ gcc.dg/20010202-1.c, gcc.dg/20010520-1.c, gcc.dg/20011009-1.c,
+ gcc.dg/20011029-2.c, gcc.dg/20011107-1.c, gcc.dg/20011119-1.c,
+ gcc.dg/20020108-1.c, gcc.dg/20020122-2.c, gcc.dg/20020122-3.c,
+ gcc.dg/20020201-3.c, gcc.dg/20020206-1.c, gcc.dg/20020218-1.c,
+ gcc.dg/20020224-1.c, gcc.dg/20020310-1.c, gcc.dg/20020411-1.c,
+ gcc.dg/20020418-1.c, gcc.dg/20020418-2.c, gcc.dg/20020426-1.c,
+ gcc.dg/20020426-2.c, gcc.dg/20020517-1.c, gcc.dg/20020523-1.c,
+ gcc.dg/20020523-2.c, gcc.dg/20020531-1.c, gcc.dg/20020616-1.c,
+ gcc.dg/20020729-1.c, gcc.dg/20030204-1.c, gcc.dg/20030826-2.c,
+ gcc.dg/20030926-1.c, gcc.dg/20031102-1.c, gcc.dg/20031202-1.c,
+ gcc.dg/980226-1.c, gcc.dg/980312-1.c, gcc.dg/980313-1.c,
+ gcc.dg/980414-1.c, gcc.dg/980520-1.c, gcc.dg/980709-1.c,
+ gcc.dg/990117-1.c, gcc.dg/990130-1.c, gcc.dg/990213-2.c,
+ gcc.dg/990214-1.c, gcc.dg/990424-1.c, gcc.dg/990524-1.c,
+ gcc.dg/991129-1.c, gcc.dg/991209-1.c, gcc.dg/991214-1.c,
+ gcc.dg/991230-1.c, gcc.dg/asm-1.c, gcc.dg/clobbers.c,
+ gcc.dg/i386-387-1.c, gcc.dg/i386-387-2.c, gcc.dg/i386-387-3.c,
+ gcc.dg/i386-387-4.c, gcc.dg/i386-387-5.c, gcc.dg/i386-387-6.c,
+ gcc.dg/i386-asm-1.c, gcc.dg/i386-asm-2.c, gcc.dg/i386-bitfield1.c,
+ gcc.dg/i386-bitfield2.c, gcc.dg/i386-bitfield3.c,
+ gcc.dg/i386-call-1.c, gcc.dg/i386-local.c, gcc.dg/i386-loop-1.c,
+ gcc.dg/i386-loop-2.c, gcc.dg/i386-loop-3.c,
+ gcc.dg/i386-memset-1.c, gcc.dg/i386-pentium4-not-mull.c,
+ gcc.dg/i386-pic-1.c, gcc.dg/i386-regparm.c,
+ gcc.dg/i386-signbit-1.c, gcc.dg/i386-signbit-2.c,
+ gcc.dg/i386-signbit-3.c, gcc.dg/i386-sse-5.c, gcc.dg/i386-sse-8.c,
+ gcc.dg/i386-ssetype-3.c, gcc.dg/i386-ssetype-5.c,
+ gcc.dg/i386-unroll-1.c, gcc.dg/i386-volatile-1.c, gcc.dg/loop-3.c,
+ gcc.dg/pr12092-1.c, gcc.dg/pr14289-1.c, gcc.dg/pr14289-2.c,
+ gcc.dg/pr14289-3.c, gcc.dg/pr9771-1.c, gcc.dg/setjmp-2.c,
+ gcc.dg/short-compare-1.c, gcc.dg/short-compare-2.c,
+ gcc.dg/sibcall-5.c, gcc.dg/sibcall-6.c, gcc.dg/tls/opt-1.c,
+ gcc.dg/tls/opt-2.c, gcc.dg/tls/opt-3.c,
+ gcc.dg/torture/pr18582-1.c, gcc.dg/unroll-1.c,
+ gcc.misc-tests/i386-pf-3dnow-1.c,
+ gcc.misc-tests/i386-pf-athlon-1.c,
+ gcc.misc-tests/i386-pf-none-1.c, gcc.misc-tests/i386-pf-sse-1.c:
+ Backport portions of testcases.
+
2005-12-21 Janis Johnson <janis187@us.ibm.com>
Backport:
// Test for oversized bitfield alignment in structs on IA-32
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-options "-O2" }
+// { dg-require-effective-target ilp32 }
struct A
{
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-options "-fabi-version=0" }
+// { dg-require-effective-target ilp32 }
+
struct A {
virtual void f() {}
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options -w }
struct X {
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0" }
struct A {
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0 -w" }
struct E {};
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0" }
struct S1 {};
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-w -fabi-version=0" }
struct E1 {};
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0 -w" }
struct S {
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=1" }
struct C4
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
+
struct A {
virtual void f ();
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options -w }
struct A {
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0" }
struct A { virtual void f(); char c1; };
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-*} }
+// { dg-require-effective-target ilp32 }
struct c0 {
virtual void f ();
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-fabi-version=0" }
struct A {
// Test EH when V2SI SIMD registers are involved.
// Contributed by Aldy Hernandez (aldy@quesejoda.com).
// { dg-options "-O" }
-// { dg-options "-O -w" { target i?86-*-* } }
+// { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
// { dg-do run }
// { dg-error "" "PR target/12916" { target sparc*-*-* } 0 }
// Test EH when V4SI SIMD registers are involved.
// Contributed by Aldy Hernandez (aldy@quesejoda.com).
// { dg-options "-O" }
-// { dg-options "-O -w" { target i?86-*-* } }
+// { dg-options "-O -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
// { dg-options "-O -w -maltivec" { target powerpc64-*-linux* } }
// { dg-do run { xfail "powerpc64-*-linux*"} }
// { dg-error "" "PR target/12916" { target sparc*-*-* } 0 }
// PR 8656
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
extern int * (__attribute__((stdcall)) *fooPtr)( void);
int * __attribute__((stdcall)) myFn01( void) { return 0; }
// This testcase caused ICE on IA-32 in simplify_unary_operation
// CSE did not assume SUBREGs changing mode from integral to floating.
-// { dg-do run { target i?86-*-* sparc*-*-* } }
+// { dg-do run { target i?86-*-* sparc*-*-* x86_64-*-* } }
// { dg-options "-O2" }
struct A
// Testcase by Alan Modra <amodra@bigpond.net.au>
// { dg-do run }
// { dg-options "-O" }
-// { dg-options "-O -mtune=i686" { target i?86-*-* } }
+// { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
struct thread_info
{
// This testcase did not set up the pic register on IA-32 due
// to bug in calculate_global_regs_live EH edge handling.
-// { dg-do compile { target i?86-*-linux* } }
+// { dg-do compile { target i?86-*-linux* x86_64-*-linux* } }
+// { dg-require-effective-target ilp32 }
+// { dg-require-effective-target fpic }
// { dg-options "-O2 -fPIC" }
struct A { };
// Originator: thor@math.tu-berlin.de
// { dg-do compile }
-// { dg-options "-O3 -funroll-loops -mtune=k6 -fomit-frame-pointer" { target i?86-*-* } }
+// { dg-options "-O3 -funroll-loops -mtune=k6 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
+
// This used to fail to assemble because of an out-of-range 'loop' instructions.
// mmx -> mmx register moves.
// { dg-do compile }
// { dg-options "-O2" }
-// { dg-options "-fno-exceptions -O2 -mmmx -fPIC" { target i?86-*-* } }
+// { dg-options "-fno-exceptions -O2 -mmmx -fPIC" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
struct A {
unsigned a0;
// deleted a valid edge.
// { dg-do compile }
-// { dg-options "-mtune=i586 -O2" { target i?86-*-* } }
+// { dg-options "-mtune=i586 -O2" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
struct array {
double data;
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
struct A
{
-// { dg-do run { target i?86-*-linux* i?86-*-freebsd* } }
+// { dg-do run { target i?86-*-linux* x86_64-*-linux* i?86-*-freebsd* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-malign-double" }
// Origin: Alex Samuel <samuel@codesourcery.com>
-// { dg-do run { target i?86-*-linux* i?86-*-freebsd* } }
+// { dg-do run { target i?86-*-linux* x86_64-*-linux* i?86-*-freebsd* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-malign-double" }
// Origin: Alex Samuel <samuel@codesourcery.com>
-// { dg-do run { target i?86-*-linux* i?86-*-freebsd* } }
+// { dg-do run { target i?86-*-linux* x86_64-*-linux* i?86-*-freebsd* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-malign-double" }
// Origin: Alex Samuel <samuel@codesourcery.com>
-// { dg-do assemble { xfail i*86-*-linux* } }
+// { dg-do assemble }
// { dg-options "-O" }
// Posted by H. J. Lu <hjl@lucon.org>
-// { dg-do assemble { target i?86-*-* } }
+// { dg-do assemble { target i?86-*-* x86_64-*-* } }
// Origin: Anthony Green <green@cygnus.com>
void foo ()
-// { dg-do assemble { target i?86-*-* } }
+// { dg-do assemble { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// Test for using prefix attributes in a parameter decl.
// Contributed by Jason Merrill <jason@cygnus.com>
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// Test that stdcall doesn't prevent us from using op delete.
// Contributed by Jason Merrill <jason@cygnus.com>
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// Test for proper handling of attributes in template instantiation.
// Contributed by Jason Merrill <jason@cygnus.com>
-// { dg-do link { target i?86-*-linux* } }
+// { dg-do link { target i?86-*-linux* x86_64-*-linux* } }
// { dg-options "-static" }
// Bug: g++ fails to instantiate operator<<.
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-options "-O2" }
inline double foo (double x)
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-mtune=i686 -O2 -fpic" }
class G {};
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-*} }
+// { dg-require-effective-target ilp32 }
// { dg-options "-mtune=i686 -O2" }
class G {};
// { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
// We'd use ebx with -fpic/-fPIC, so skip.
-// { dg-skip-if "" { i?86-*-* } { "-fpic" "-fPIC" } { "" } }
+// { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } }
// Origin: "Weidmann, Nicholas" <nicholas.weidmann@swx.ch>
template<int i> int foo(int v)
-// { dg-do assemble { target i?86-*-linux* } }
+// { dg-do assemble { target i?86-*-linux* x86_64-*-linux* } }
+// { dg-require-effective-target ilp32 }
// We'd use ebx with -fpic/-fPIC, so skip.
-// { dg-skip-if "" { i?86-*-* } { "-fpic" "-fPIC" } { "" } }
+// { dg-skip-if "" { *-*-* } { "-fpic" "-fPIC" } { "" } }
// Origin: "Weidmann, Nicholas" <nicholas.weidmann@swx.ch>
typedef void (function_ptr)(int);
C Test for bug in reg-stack handling conditional moves.
C Reported by Tim Prince <tprince@computer.org>
C
-C { dg-do run { target "i[6789]86-*-*" } }
+C { dg-do run { target { { i[6789]86-*-* x86_64-*-* } && ilp32 } } }
C { dg-options "-ffast-math -march=pentiumpro" }
double precision function foo(x, y)
/* This does not work on m68hc11 or h8300 due to the use of an asm
statement to force a 'long long' (64-bits) to go in a register. */
/* { dg-do assemble { xfail m6811-*-* m6812-*-* h8300-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */
/* Copyright (C) 2000, 2003 Free Software Foundation */
__complex__ long long f ()
# This test is x86 specific.
-if { ! [istarget "i?86-*-*"] } { return 1 }
-return 0
+if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { return 0 }
+return 1
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O1 -ffast-math -march=i686" } */
+
/* Sanity check for fp_jcc_* with TARGET_CMOVE. */
extern void abort (void);
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
void bar(char *p)
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mpreferred-stack-boundary=2 -march=i586 -O2 -fomit-frame-pointer" } */
extern void *foo(void *a, const void *b, unsigned c);
-/* { dg-do run { target i?86-*-linux* } } */
+/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
+/* { dg-require-effective-target ilp32 } */
extern void abort (void);
extern void exit (int);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-Os -fpic" } */
#include <string.h>
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0 -fpic" } */
static struct {
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
extern inline float bar (float x)
-/* { dg-do compile { target i?86-*-* sparc*-*-* } } */
+/* { dg-do compile { target i?86-*-* sparc*-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
typedef enum { false, true } __attribute__ ((packed)) boolean;
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-w" } */
void f ()
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
extern void abort (void);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
int foo (int s)
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -mtune=k6" } */
void
/* Test for reload failing to eliminate from argp to sp. */
-/* { dg-do run { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" "-fpic" "-fPIC" } { "" } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-skip-if "" { "*-*-*" } { "-fpic" "-fPIC" } { "" } } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
static int ustrsize (const char *s);
is not valid general_operand in HImode. */
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
void
foo (unsigned short *cp)
/* { dg-do compile } */
/* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
-/* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target i?86-*-* } } */
+/* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern int access( char* );
extern int a();
/* { dg-do compile } */
/* { dg-options "-Os -fprefetch-loop-arrays -w" } */
-/* { dg-options "-Os -fprefetch-loop-arrays -mtune=pentium3 -w" { target i?86-*-* } } */
+/* { dg-options "-Os -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
int foo (int *p, int n)
{
/* This testcase ICEd because a SFmode variable was given a MMX register
for which there is no movsf exists. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=i686 -mmmx -fno-strict-aliasing" } */
struct A { unsigned int a, b; };
/* { dg-do run } */
/* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
-/* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target i?86-*-* } } */
+/* { dg-options "-O2 -fprefetch-loop-arrays -mtune=pentium3 -w" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
struct reload
{
/* Verify that X86-64 only SSE registers aren't restored on IA-32. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -msse" } */
/* { dg-final { scan-assembler-not "xmm8" } } */
expected the callee to pop up the hidden return structure pointer,
while callee was actually not poping it up (as the hidden argument
was passed in register). */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
extern void abort (void);
This testcase was miscompiled because of an rtx sharing bug. */
/* { dg-do run } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mtune=i586" { target i?86-*-* } } */
+/* { dg-options "-O2 -mtune=i586" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
struct A
{
for its mode. */
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -march=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
#if __INT_MAX__ > 32767
/* PR optimization/5887 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* } } */
+/* { dg-options "-O2 -msse -ffast-math" { target i?86-*-* x86_64-*-* } } */
void bar (float *a, float *b);
/* PR optimization/6010 */
/* { dg-do compile } */
/* { dg-options "-O2 -funroll-all-loops" } */
-/* { dg-options "-O2 -funroll-all-loops -march=pentium3" { target i?86-*-* } } */
+/* { dg-options "-O2 -funroll-all-loops -march=pentium3" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
void bar (float);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-msoft-float -mfp-ret-in-387" } */
void f() {
Distilled from zlib sources. */
/* { dg-do run } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -frename-registers -fomit-frame-pointer -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
typedef struct
{
was not sign-extended for QImode. */
/* { dg-do run } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
#include <limits.h>
/* PR target/6753
This testcase was miscompiled because sse_mov?fcc_const0*
patterns were missing earlyclobber. */
-/* { dg-do run { target i386-*-* } } */
+/* { dg-do run { target i386-*-* x86_64-*-* } } */
+/* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
extern void abort (void);
/* PR target/6753
This testcase was miscompiled because sse_mov?fcc_const0*
patterns were missing earlyclobber. */
-/* { dg-do run { target i386-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-march=pentium3 -msse -ffast-math -O2" } */
#include "i386-cpuid.h"
/* PR optimization/6842
This testcase caused ICE when trying to optimize V8QI subreg of VOIDmode
CONST_DOUBLE. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -mmmx" } */
typedef int __v8qi __attribute__ ((__mode__ (__V8QI__)));
/* PR opt/6722 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */
register int k asm("%ebx");
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=k6" } */
static inline void *
/* PR optimization/8555 */
/* { dg-do compile } */
/* { dg-options "-O -ffast-math -funroll-loops" } */
-/* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target i?86-*-* } } */
+/* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
float foo (float *a, int i)
{
/* { dg-do run } */
/* { dg-options "-O2 -fomit-frame-pointer" } */
-/* { dg-options "-O2 -fomit-frame-pointer -march=i386" { target i?86-*-* } } */
+/* { dg-options "-O2 -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern void abort (void);
extern void exit (int);
/* PR optimization/11741 */
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -minline-all-stringops" } */
-/* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target i?86-*-* } } */
+/* { dg-options "-O2 -minline-all-stringops -march=pentium4" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+
+extern void *memcpy (void *, const void *, __SIZE_TYPE__);
+extern __SIZE_TYPE__ strlen (const char *);
void
foo (char *p)
/* { dg-do run } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -march=i686" { target i686-*-* } } */
+/* { dg-options "-O2 -march=i686" { target { { i686-*-* x86_64-*-* } && ilp32 } } } */
/* Verify that reload_cse_move2add doesn't add unexpected CLOBBERs. */
/* { dg-do run } */
/* { dg-options "-O2" } */
-/* { dg-options "-O2 -mtune=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern void abort (void);
extern void exit (int);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options -O2 } */
extern double bar (double);
-/* { dg-do link { target i?86-*-* } } */
+/* { dg-do link { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=pentiumpro" } */
extern __inline double
-/* { dg-do link { target i?86-*-* } } */
+/* { dg-do link { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=pentiumpro" } */
extern __inline double
/* Test double on x86. */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options -O2 } */
extern void abort (void);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options -O2 } */
int bug(void)
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options -O2 } */
extern __inline__ int test_and_set_bit(int nr, volatile void * addr)
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=pentiumpro" } */
extern __inline double
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options -O0 } */
typedef int SItype __attribute__ ((mode (SI)));
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-fPIC" } */
struct normal_encoding {};
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-fPIC" } */
typedef int int64_t __attribute__ ((__mode__ ( __DI__ ))) ;
/* Test that stack alignment is preserved with pending_stack_adjust
with stdcall functions. */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options -mpreferred-stack-boundary=4 } */
void __attribute__((stdcall)) foo(int a, int b, int c);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=pentiumpro" } */
typedef struct t_anim_info {
/* Test against a problem in push_reload. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-O2" } */
unsigned long foo (unsigned long long x, unsigned long y)
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
int foo ()
{
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
/* { dg-options "-O2" } */
/* Test against a problem with the combiner substituting explicit hard reg
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O -ffast-math -mtune=i486" } */
/* Test that floating point greater-than tests are compiled correctly with
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile } */
struct x {
int selector;
/* Test asm clobbers on x86. */
-/* { dg-do run { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-skip-if "" { ilp32 } { "-fpic" "-fPIC" } { "" } } */
extern void abort (void);
/* Verify that -mno-fancy-math-387 works. */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */
/* { dg-final { scan-assembler "call\t_?sin" } } */
/* { dg-final { scan-assembler "call\t_?cos" } } */
/* Verify that -march overrides -mno-fancy-math-387. */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */
/* { dg-final { scan-assembler "fsin" } } */
/* { dg-final { scan-assembler "fcos" } } */
/* Verify that 387 mathematical constants are recognized. */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=i686" } */
/* { dg-final { scan-assembler "fldpi" } } */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -march=i686" } */
/* { dg-final { scan-assembler "fldpi" } } */
/* Verify that -mno-fancy-math-387 works. */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O -ffast-math -mfpmath=387 -mno-fancy-math-387 -march=i386" } */
/* { dg-final { scan-assembler "call\t_?atan" } } */
double f1(double x) { return __builtin_atan(x); }
-
/* Verify that -march overrides -mno-fancy-math-387. */
-/* { dg-do compile { target "i?86-*-*" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O -ffast-math -mfpmath=387 -march=i686 -mno-fancy-math-387" } */
/* { dg-final { scan-assembler "fpatan" } } */
/* PR inline-asm/11676 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2" } */
+extern void abort (void);
static int bar(int x) __asm__("bar") __attribute__((regparm(1)));
static int __attribute__((regparm(1), noinline, used))
bar(int x)
/* PR opt/13862 */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O" } */
typedef struct _fame_syntax_t_ {
// Test for bitfield alignment in structs on IA-32
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-O2" }
-// { dg-options "-mno-align-double -mno-ms-bitfields" { target *-*-interix* } }
+// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} }
extern void abort (void);
extern void exit (int);
// Test for bitfield alignment in structs on IA-32
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
// { dg-options "-O2" }
-// { dg-options "-mno-align-double -mno-ms-bitfields" { target *-*-interix* } }
+// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } }
extern void abort (void);
extern void exit (int);
// Test for bitfield alignment in structs on IA-32
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-options "-O2" }
// { dg-options "-mno-align-double -mno-ms-bitfields" { target *-*-interix* } }
/* PR optimization/11304 */
/* Originator: <manuel.serrano@sophia.inria.fr> */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fomit-frame-pointer" } */
/* Verify that %eax is always restored after a call. */
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -funit-at-a-time" } */
-/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target i?86-*-* } } } */
-/* { dg-final { scan-assembler "magic\[^\\n\]*edi" { target x86_64-*-* } } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
-/* { dg-skip-if "" { x86_64-*-* } { "-m32" } { "" } } */
+/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ilp32 } } } */
+/* { dg-final { scan-assembler "magic\[^\\n\]*edi" { target lp64 } } } */
/* Verify that local calling convention is used. */
static t(int) __attribute__ ((noinline));
/* PR optimization/9888 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mtune=k6 -O3" } */
/* Verify that GCC doesn't emit out of range 'loop' instructions. */
/* PR optimization/9888 */
/* Originator: Jim Bray <jb@as220.org> */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mtune=k6 -Os" } */
enum reload_type
/* PR target/11044 */
/* Originator: Tim McGrath <misty-@charter.net> */
/* Testcase contributed by Eric Botcazou <ebotcazou@libertysurf.fr> */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mtune=k6 -O3 -ffast-math -funroll-loops" } */
+extern void *memset (void *, int, __SIZE_TYPE__);
+extern void abort (void);
+
typedef struct
{
unsigned char colormod;
-/* Copyright (C) 2002 Free Software Foundation.
+/* Copyright (C) 2002, 2005 Free Software Foundation.
Test -minline-all-stringops memset with various combinations of pointer
alignments and lengths to make sure builtin optimizations are correct.
Written by Michael Meissner, March 9, 2002.
Target by Roger Sayle, April 25, 2002. */
-/* { dg-do run { target "i?86-*-*" } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -minline-all-stringops" } */
#ifndef MAX_OFFSET
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O2 -march=pentium4" { target i?86-*-* } } */
-/* { dg-options "-O2 -march=pentium4 -m32" { target x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
+/* { dg-options "-O2 -march=pentium4" } */
/* { dg-final { scan-assembler-not "imull" } } */
/* Should be done not using imull. */
/* PR target/8340 */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-fPIC" } */
int foo ()
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-W -Wall" } */
/* Verify that GCC correctly detects non-matching regparm attributes. */
/* PR optimization/8746 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O1 -mtune=i586" } */
extern void abort (void);
/* PR optimization/8746 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O1 -mtune=i586" } */
extern void abort (void);
/* PR optimization/8746 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O1 -mtune=i586" } */
extern void abort (void);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-Winline -O2 -march=i386" } */
+
typedef float v2df __attribute__ ((mode(V2DF)));
v2df p;
q(v2df t)
-/* PR target/14313 */
+/* PR target/14343 */
/* Origin: <Pawe Sikora <pluto@ds14.agh.edu.pl> */
/* { dg-do compile } */
-/* { dg-options "-march=pentium3" { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-options "" } */
+/* { dg-options "-march=pentium3" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
int main()
{
#include <xmmintrin.h>
-__m128 magic_a, magic_b;
+static __m128 magic_a, magic_b;
__m128
t1(void)
{
/* Verify that we generate proper instruction with memory operand. */
#include <xmmintrin.h>
-__m128i magic_a, magic_b;
+static __m128i magic_a, magic_b;
__m128i
t1(void)
{
/* PR optimization/8599 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-mtune=k6 -O2 -funroll-loops" } */
extern void exit (int);
/* PR optimization/11381 */
/* Originator: <tobias@ringstrom.mine.nu> */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O" } */
/* Verify that the comparison is not optimized away. */
/* { dg-do compile } */
/* { dg-options "-O3" } */
-/* { dg-options "-O3 -mtune=i386" { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-options "-O3 -mtune=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
#if defined(STACK_SIZE) && (STACK_SIZE < 65536)
# define BYTEMEM_SIZE 10000L
/* PR rtl-optimization/12092 */
/* Test case reduced by Andrew Pinski <pinskia@physics.uc.edu> */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -mtune=i486 -march=pentium4 -fprefetch-loop-arrays" } */
void DecodeAC(int index,int *matrix)
/* PR middle-end/14289 */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0" } */
register int a[2] asm("ebx");
/* PR middle-end/14289 */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0" } */
static register int a[2] asm("ebx"); /* { dg-error "multiple storage" } */
/* PR middle-end/14289 */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0" } */
extern register int a[2] asm("ebx"); /* { dg-error "multiple storage" } */
/* PR rtl-optimization/9771 */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2 -fomit-frame-pointer -ffixed-ebp" } */
extern void abort(void);
/* PR middle-end/17813 */
/* Origin: Tom Hughes <tom@compton.nu> */
/* { dg-do run { target i?86-*-linux* x86_64-*-linux* } } */
-/* { dg-options "-O -fomit-frame-pointer -march=i386" { target i?86-*-linux* } } */
-/* { dg-options "-O -fomit-frame-pointer -m32 -march=i386" { target x86_64-*-linux* } } */
+/* { dg-options "-O -fomit-frame-pointer" } */
+/* { dg-options "-O -fomit-frame-pointer -march=i386" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
#include <setjmp.h>
#include <signal.h>
/* { dg-do run } */
/* { dg-options "-O" } */
-/* { dg-options "-O -mtune=i686" { target i?86-*-* } } */
-/* { dg-options "-O -m32 -mtune=i686" { target x86_64-*-* } } */
+/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern void abort(void);
/* { dg-do run } */
/* { dg-options "-O" } */
-/* { dg-options "-O -mtune=i686" { target i?86-*-* } } */
-/* { dg-options "-O -m32 -mtune=i686" { target x86_64-*-* } } */
+/* { dg-options "-O -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern void abort();
/* Check that indirect sibcalls understand regparm. */
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
/* { dg-options "-O2" } */
int (*f)(int, int) __attribute__((regparm(2)));
Contributed by Andreas Bauer <baueran@in.tum.de> */
/* { dg-do run { target i?86-*-* x86_64-*-*} } */
+/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */
/* { dg-options "-O2 -foptimize-sibling-calls" } */
int foo (int);
/* { dg-do compile } */
/* { dg-options "-O2 -fPIC" } */
-/* { dg-options "-O2 -fPIC -mtune=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -fPIC -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
+/* { dg-require-effective-target fpic } */
extern __thread int thr;
on IA-32. */
/* { dg-do link } */
/* { dg-options "-O2 -ftls-model=initial-exec" } */
-/* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target i?86-*-* } } */
+/* { dg-options "-O2 -ftls-model=initial-exec -march=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
__thread int thr;
/* { dg-do compile } */
/* { dg-options "-O2 -fpic" } */
-/* { dg-options "-O2 -fpic -mregparm=3" { target i?86-*-* } } */
+/* { dg-options "-O2 -fpic -mregparm=3" { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target fpic } */
extern __thread int i, j, k;
extern void bar(int *, int *, int *);
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-msse3" } */
typedef char v16qi __attribute__((vector_size (16)));
typedef int v4si __attribute__((vector_size (16)));
/* PR optimization/8599 */
/* { dg-do run } */
/* { dg-options "-O2 -funroll-loops" } */
-/* { dg-options "-mtune=k6 -O2 -funroll-loops" { target i?86-*-* } } */
+/* { dg-options "-mtune=k6 -O2 -funroll-loops" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
extern void abort (void);
/* Test that the correct data prefetch instructions are generated for i386
variants that use 3DNow! prefetch instructions. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-*} } */
+/* { dg-require-effective-target ilp32 } */
+
+extern void exit (int);
char *msg = "howdy there";
variants that use 3DNow! prefetchw or SSE prefetch instructions with
locality hints. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
+
+extern void exit (int);
char *msg = "howdy there";
/* Test that data prefetch instructions are not generated for i386 variants
that do not support those instructions. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
+
+extern void exit (int);
char *msg = "howdy there";
/* Test that the correct data prefetch instructions are generated for i386
variants that use SSE prefetch instructions. */
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
+
+extern void exit (int);
char *msg = "howdy there";