This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[3.4 patch installed] backport fixes for PR testsuite/20772, etc


Now that the testsuite infrastructure has stablized on 3.4, I've
checked in the testsuite backports, most of which relied on the
infrastructure stuff from Janis.  (Thanks Janis!)

These backports to 3.4 were preapproved here:
http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01278.html

Tested on i686-unknown-linux-gnu and x86_64-unknown-linux-gnu via
"make check" and installed on 3.4.

		--Kaveh


2005-12-20  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.

diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield3.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield3.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield3.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield3.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 // 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
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield8.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield8.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield8.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield8.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,7 @@
-// { 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() {}
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield9.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield9.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield9.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/bitfield9.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options -w }
 
 struct X {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/dtor1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/dtor1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/dtor1.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/dtor1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty10.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty10.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty10.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty10.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {};
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty7.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty7.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty7.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty7.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {};
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty9.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty9.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty9.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/empty9.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {};
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout3.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout3.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout3.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout3.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout4.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout4.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout4.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/layout4.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk1.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,6 @@
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
+
 
 struct A {
   virtual void f ();
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk2.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/thunk2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options -w }
 
 struct A {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vbase11.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vbase11.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vbase11.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vbase11.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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; };
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk2.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-*} }
+// { dg-require-effective-target ilp32 }
 
 struct c0 {
   virtual void f ();
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk3.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk3.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk3.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/abi/vthunk3.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-1.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 // 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 }
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-2.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/eh/simd-2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 // 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 }
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/ext/attrib8.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/ext/attrib8.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/ext/attrib8.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/ext/attrib8.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 // 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; }
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/cse2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/cse2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/cse2.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/cse2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 // 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/inline9.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/inline9.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/inline9.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/inline9.C	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
 // 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
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/life1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/life1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/life1.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/life1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,8 @@
 // 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 { };
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/longbranch2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/longbranch2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/longbranch2.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/longbranch2.C	2005-12-20 14:35:16.000000000 -0500
@@ -2,7 +2,8 @@
 // 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.
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/mmx1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/mmx1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/mmx1.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/mmx1.C	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
 // 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;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/reg-stack4.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/reg-stack4.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/reg-stack4.C	2005-11-03 11:01:44.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/opt/reg-stack4.C	2005-12-20 14:35:16.000000000 -0500
@@ -5,7 +5,7 @@
 // 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;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/other/big-struct.C egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/other/big-struct.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/other/big-struct.C	2005-11-03 11:01:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.dg/other/big-struct.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 
 struct A
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/aggregates.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/aggregates.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/aggregates.C	2005-11-03 11:01:41.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/aggregates.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/align.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/align.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/align.C	2005-11-03 11:01:41.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/align.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/bitfields.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/bitfields.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/bitfields.C	2005-11-03 11:01:41.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.abi/bitfields.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-// { dg-do assemble { xfail i*86-*-linux* } }
+// { dg-do assemble }
 // { dg-options "-O" }
 
 // Posted by H. J. Lu <hjl@lucon.org>
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-// { dg-do assemble { target i?86-*-* } }
+// { dg-do assemble { target i?86-*-* x86_64-*-* } }
 // Origin: Anthony Green  <green@cygnus.com>
 
 void foo ()
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.ext/attrib3.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.law/weak.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.law/weak.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.law/weak.C	2005-11-03 11:01:34.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.law/weak.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-// { 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<<.
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/regstack.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/regstack.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/regstack.C	2005-11-03 11:01:33.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/regstack.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
 // { dg-options "-O2" }
 
 inline double foo (double x)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C	2005-11-03 11:01:34.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {};
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr2.C	2005-11-03 11:01:34.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.other/store-expr2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-// { 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 {};
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm1.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm1.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm1.C	2005-11-30 19:03:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm1.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 // { 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm2.C egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm2.C
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm2.C	2005-11-30 19:03:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g++.old-deja/g++.pt/asm2.C	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
-// { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/g77.dg/20010216-1.f egcc-3.4-SVN20051220/gcc/testsuite/g77.dg/20010216-1.f
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/g77.dg/20010216-1.f	2005-11-03 11:01:42.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/g77.dg/20010216-1.f	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/compile/20000804-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/compile/20000804-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/compile/20000804-1.c	2005-11-30 19:03:17.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/compile/20000804-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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 ()
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/execute/990413-2.x egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/execute/990413-2.x
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/execute/990413-2.x	2005-11-03 11:00:43.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.c-torture/execute/990413-2.x	2005-12-20 14:35:16.000000000 -0500
@@ -1,3 +1,3 @@
 # This test is x86 specific.
-if { ! [istarget "i?86-*-*"] } { return 1 }
-return 0
+if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { return 0 }
+return 1
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000609-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000609-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000609-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000609-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,8 @@
-/* { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000614-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000614-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000614-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000614-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2" } */
 
 void bar(char *p)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000720-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000720-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000720-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000720-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000724-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000724-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000724-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000724-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
-/* { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000807-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000807-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000807-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000807-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-Os -fpic" } */
 
 #include <string.h>
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000904-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000904-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000904-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20000904-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O0 -fpic" } */
 
 static struct {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20001127-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20001127-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20001127-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20001127-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2" } */
 
 extern inline float bar (float x)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010202-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010202-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010202-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010202-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { 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;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010520-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010520-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010520-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20010520-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-w" } */
 
 void f ()
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011009-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011009-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011009-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011009-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do run { target i?86-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2" } */
 
 extern void abort (void);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011029-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011029-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011029-2.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011029-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2" } */
 
 int foo (int s)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011107-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011107-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011107-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011107-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011119-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011119-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011119-1.c	2005-11-30 19:03:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20011119-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020108-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020108-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020108-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020108-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -5,7 +5,8 @@
    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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
   
 /* { 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();
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020122-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -4,7 +4,7 @@
 
 /* { 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)
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020201-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020201-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020201-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020201-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* 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; };
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020206-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020206-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020206-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020206-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -4,7 +4,8 @@
 
 /* { 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
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020218-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020218-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020218-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020218-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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" } } */
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020224-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020224-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020224-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020224-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
    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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020310-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020310-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020310-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020310-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -2,7 +2,7 @@
    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
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020411-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020411-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020411-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020411-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
    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
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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);
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020418-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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);
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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() {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020426-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -2,7 +2,7 @@
    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
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020517-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020517-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020517-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020517-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -2,7 +2,7 @@
    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>
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,9 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020523-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,8 @@
 /* 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"
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020531-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020531-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020531-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020531-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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__)));
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020616-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020616-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020616-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020616-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 /* 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");
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020729-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020729-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020729-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20020729-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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 *
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030204-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030204-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030204-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030204-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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)
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030826-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030826-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030826-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030826-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030926-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030926-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030926-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20030926-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,10 @@
 /* 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031102-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031102-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031102-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031102-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,7 +3,7 @@
 
 /* { 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. */
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031202-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031202-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031202-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/20031202-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* { 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980226-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980226-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980226-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980226-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options -O2 } */
 
 extern double bar (double);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980312-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980312-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980312-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980312-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980313-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980313-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980313-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980313-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980414-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980414-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980414-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980414-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980520-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980520-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980520-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980520-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options -O2 } */
 
 int bug(void)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980709-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980709-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980709-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/980709-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990117-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990117-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990117-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990117-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990130-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990130-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990130-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990130-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options -O0 } */
 
 typedef 	 int SItype	__attribute__ ((mode (SI)));
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990213-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990213-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990213-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990213-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-fPIC" } */
 
 struct normal_encoding {};
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990214-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990214-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990214-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990214-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-fPIC" } */
 
 typedef int int64_t __attribute__ ((__mode__ (  __DI__ ))) ;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990424-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990424-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990424-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990424-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,8 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990524-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990524-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990524-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/990524-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991129-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991129-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991129-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991129-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991209-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991209-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991209-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991209-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
 
 int foo ()
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991214-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991214-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991214-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991214-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991230-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991230-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991230-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/991230-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/asm-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/asm-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/asm-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/asm-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile } */
 
 struct x {
   int selector;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/clobbers.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/clobbers.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/clobbers.c	2005-11-30 19:03:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/clobbers.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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);
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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" } } */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-2.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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" } } */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-3.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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" } } */
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-4.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-4.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-4.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-4.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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" } } */
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-5.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-5.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-5.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-5.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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); }
-
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-6.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-6.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-6.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-387-6.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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" } } */
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,9 @@
 /* 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-asm-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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_ {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,8 @@
 // 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,8 @@
 // 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield3.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-bitfield3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 // 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* } }
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-call-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-call-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-call-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-call-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* 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.  */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-local.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-local.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-local.c	2005-12-03 11:46:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-local.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,9 +1,7 @@
 /* { 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));
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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.  */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-loop-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,9 +1,13 @@
 /* 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;
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-memset-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-memset-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-memset-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-memset-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* 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.
@@ -7,7 +7,7 @@
    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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* { 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.  */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pic-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pic-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pic-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-pic-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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 ()
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-regparm.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-regparm.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-regparm.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-regparm.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,5 @@
-/* { 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.  */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-signbit-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-5.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-5.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-5.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-5.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,7 @@
-/* { 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-8.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-8.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-8.c	2005-12-03 11:46:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-sse-8.c	2005-12-20 14:36:30.000000000 -0500
@@ -1,9 +1,9 @@
-/* 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() 
 { 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-3.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -11,7 +11,7 @@
 
 #include <xmmintrin.h>
 
-__m128 magic_a, magic_b;
+static __m128 magic_a, magic_b;
 __m128
 t1(void)
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-5.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-5.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-5.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-ssetype-5.c	2005-12-20 14:35:16.000000000 -0500
@@ -10,7 +10,7 @@
 /* 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)
 {
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-unroll-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-unroll-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-unroll-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-unroll-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-volatile-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-volatile-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-volatile-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/i386-volatile-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,6 @@
 /* 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. */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/loop-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/loop-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/loop-3.c	2005-12-03 11:46:18.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/loop-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,8 +3,7 @@
 
 /* { 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
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr12092-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr12092-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr12092-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr12092-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* 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)
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 /* 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");
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 /* 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" } */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr14289-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,5 @@
 /* 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" } */
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr9771-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr9771-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr9771-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/pr9771-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/setjmp-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/setjmp-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/setjmp-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/setjmp-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,8 +1,8 @@
 /* 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>
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-1.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -3,8 +3,7 @@
 
 /* { 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);
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-2.c	2005-11-03 11:01:08.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/short-compare-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -4,8 +4,7 @@
 
 /* { 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();
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-5.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-5.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-5.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-5.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,5 +1,6 @@
 /* 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)));
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-6.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-6.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-6.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/sibcall-6.c	2005-12-20 14:35:16.000000000 -0500
@@ -7,6 +7,7 @@
    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);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* { 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;
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-2.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-2.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-2.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-2.c	2005-12-20 14:35:16.000000000 -0500
@@ -4,7 +4,7 @@
    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;
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-3.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-3.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/tls/opt-3.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,6 +1,7 @@
 /* { 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 *);
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/torture/pr18582-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/torture/pr18582-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/torture/pr18582-1.c	2005-11-03 11:01:04.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/torture/pr18582-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,4 +1,4 @@
-/* { 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)));
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/unroll-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/unroll-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/unroll-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.dg/unroll-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,7 @@
 /* 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);
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c	2005-11-03 11:01:19.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,10 @@
 /* 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";
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c	2005-11-03 11:01:19.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -2,7 +2,10 @@
    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";
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c	2005-11-03 11:01:19.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,10 @@
 /* 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";
 
diff -rup orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
--- orig/egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c	2005-11-03 11:01:19.000000000 -0500
+++ egcc-3.4-SVN20051220/gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c	2005-12-20 14:35:16.000000000 -0500
@@ -1,7 +1,10 @@
 /* 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";
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]