Run some more tests on x86_64 with -m32

Andreas Jaeger aj@suse.de
Thu May 26 16:52:00 GMT 2005


We have a number of testcases that only run on i?86 platforms - but
x86_64 platforms using -m32 are the same.  I've changed the testcase
so that the tests are now run there as well.

Tested on Linux/x86-64 with/without -m32 runs.  Ok to commit?

This one fixes partially PR 20772.

Andreas

2005-05-26  Andreas Jaeger  <aj@suse.de>

        PR testsuite/20772
	* gfortran.dg/promotion.f90, 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,
	g++.dg/opt/mmx1.C, g++.dg/other/big-struct.C,
	g++.dg/abi/bitfield3.C, g++.dg/abi/bitfield8.C,
	g++.dg/abi/bitfield9.C, g++.dg/abi/empty7.C, g++.dg/abi/empty9.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/ext/attrib8.C: Run also on x86_64 compiling 32-bit x86
	programs.

	* g++.dg/opt/reg-stack4.C,g++.dg/eh/simd-1.C, g++.dg/eh/simd-1.C,
	gcc.dg/setjmp-2.c, gcc.dg/short-compare-1.c,
	gcc.dg/short-compare-2.c, gcc.target/i386/asm-1.c: Handle 32-bit
	x86-64 compilation.

	* g++.dg/warn/register-var-1.C, g++.dg/charset/asm2.c: Run also on
	x86_64.

	* gcc.dg/i386-pentium4-not-mull.c: Change option handling to use
	effective-target ilp32.

============================================================
Index: gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
--- gcc.misc-tests/i386-pf-sse-1.c	17 Nov 2004 17:21:46 -0000	1.4
+++ gcc.misc-tests/i386-pf-sse-1.c	26 May 2005 15:12:56 -0000
@@ -1,8 +1,8 @@
 /* Test that the correct data prefetch instructions are generated for i386
    variants that use SSE prefetch instructions.  */
 
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
 
 extern void exit (int);
 
============================================================
Index: gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
--- gcc.misc-tests/i386-pf-none-1.c	17 Nov 2004 17:21:46 -0000	1.4
+++ gcc.misc-tests/i386-pf-none-1.c	26 May 2005 15:12:56 -0000
@@ -1,8 +1,8 @@
 /* Test that data prefetch instructions are not generated for i386 variants
    that do not support those instructions.  */
 
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
 
 extern void exit (int);
 
============================================================
Index: gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
--- gcc.misc-tests/i386-pf-athlon-1.c	17 Nov 2004 17:21:45 -0000	1.4
+++ gcc.misc-tests/i386-pf-athlon-1.c	26 May 2005 15:12:56 -0000
@@ -2,8 +2,8 @@
    variants that use 3DNow! prefetchw or SSE prefetch instructions with
    locality hints.  */
 
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-require-effective-target ilp32 } */
 
 extern void exit (int);
 
============================================================
Index: gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
--- gcc.misc-tests/i386-pf-3dnow-1.c	17 Nov 2004 17:21:45 -0000	1.4
+++ gcc.misc-tests/i386-pf-3dnow-1.c	26 May 2005 15:12:56 -0000
@@ -1,8 +1,8 @@
 /* Test that the correct data prefetch instructions are generated for i386
    variants that use 3DNow! prefetch instructions.  */
 
-/* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-*} } */
+/* { dg-require-effective-target ilp32 } */
 
 extern void exit (int);
 
============================================================
Index: gcc/testsuite/g++.dg/abi/bitfield3.C
--- g++.dg/abi/bitfield3.C	17 Nov 2004 17:21:41 -0000	1.6
+++ g++.dg/abi/bitfield3.C	26 May 2005 15:12:56 -0000
@@ -1,10 +1,10 @@
 // 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" }
 // Cygwin and mingw32 default to MASK_ALIGN_DOUBLE. Override to ensure
 // 4-byte alignment.
 // { dg-options "-mno-align-double" { target i?86-*-cygwin* i?86-*-mingw* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-require-effective-target ilp32 }
 
 struct A
 {
============================================================
Index: gcc/testsuite/g++.dg/abi/bitfield8.C
--- g++.dg/abi/bitfield8.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/bitfield8.C	26 May 2005 15:12:56 -0000
@@ -1,6 +1,7 @@
-// { dg-do run { target i?86-*-* } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
 // { dg-options "-fabi-version=0" }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-require-effective-target ilp32 }
+
 
 struct A { 
   virtual void f() {}
============================================================
Index: gcc/testsuite/g++.dg/abi/bitfield9.C
--- g++.dg/abi/bitfield9.C	7 Jan 2003 01:33:53 -0000	1.1
+++ g++.dg/abi/bitfield9.C	26 May 2005 15:12:56 -0000
@@ -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 {
============================================================
Index: gcc/testsuite/g++.dg/abi/dtor1.C
--- g++.dg/abi/dtor1.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/dtor1.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=0" }
 
 struct A {
============================================================
Index: gcc/testsuite/g++.dg/abi/empty10.C
--- g++.dg/abi/empty10.C	17 Nov 2004 17:21:41 -0000	1.4
+++ g++.dg/abi/empty10.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=0 -w" }
 
 struct E {};
============================================================
Index: gcc/testsuite/g++.dg/abi/empty7.C
--- g++.dg/abi/empty7.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/empty7.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=0" }
 
 struct S1 {};
============================================================
Index: gcc/testsuite/g++.dg/abi/empty9.C
--- g++.dg/abi/empty9.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/empty9.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-w -fabi-version=0" }
 
 struct E1 {};
============================================================
Index: gcc/testsuite/g++.dg/abi/layout3.C
--- g++.dg/abi/layout3.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/layout3.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=0 -w" }
 
 struct S {
============================================================
Index: gcc/testsuite/g++.dg/abi/layout4.C
--- g++.dg/abi/layout4.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/layout4.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do run { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=1" }
 
 struct C4
============================================================
Index: gcc/testsuite/g++.dg/abi/thunk1.C
--- g++.dg/abi/thunk1.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/thunk1.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,6 @@
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
+
 
 struct A {
   virtual void f ();
============================================================
Index: gcc/testsuite/g++.dg/abi/thunk2.C
--- g++.dg/abi/thunk2.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/thunk2.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options -w }
 
 struct A {
============================================================
Index: gcc/testsuite/g++.dg/abi/vbase11.C
--- g++.dg/abi/vbase11.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/vbase11.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do run { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { 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; };
============================================================
Index: gcc/testsuite/g++.dg/abi/vthunk2.C
--- g++.dg/abi/vthunk2.C	17 Nov 2004 17:21:41 -0000	1.3
+++ g++.dg/abi/vthunk2.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do compile { target i?86-*-* x86_64-*-*} }
+// { dg-require-effective-target ilp32 }
 
 struct c0 {
   virtual void f ();
============================================================
Index: gcc/testsuite/g++.dg/abi/vthunk3.C
--- g++.dg/abi/vthunk3.C	17 Nov 2004 17:21:41 -0000	1.4
+++ g++.dg/abi/vthunk3.C	26 May 2005 15:12:56 -0000
@@ -1,5 +1,5 @@
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-do compile { target i?86-*-* x86_64-*-* } }
+// { dg-require-effective-target ilp32 }
 // { dg-options "-fabi-version=0" }
 
 struct A {
============================================================
Index: gcc/testsuite/g++.dg/charset/asm2.c
--- g++.dg/charset/asm2.c	22 Feb 2005 11:36:36 -0000	1.3
+++ g++.dg/charset/asm2.c	26 May 2005 15:12:56 -0000
@@ -1,6 +1,6 @@
 /* Test for complex asm statements. Make sure it compiles
    then test for some of the asm statements not being translated.  */
-/* { dg-do compile { target i?86-*-* } }
+/* { dg-do compile { target i?86-*-* x86_64-*-* } }
    { dg-require-iconv "IBM1047" }
    { dg-final { scan-assembler "std" } }
    { dg-final { scan-assembler "cld" } }
============================================================
Index: gcc/testsuite/g++.dg/ext/attrib8.C
--- g++.dg/ext/attrib8.C	17 Nov 2004 17:21:42 -0000	1.5
+++ g++.dg/ext/attrib8.C	26 May 2005 15:12:56 -0000
@@ -1,6 +1,6 @@
 // PR 8656
-// { dg-do compile { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { 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; }
============================================================
Index: gcc/testsuite/g++.dg/opt/mmx1.C
--- g++.dg/opt/mmx1.C	21 Feb 2002 21:16:22 -0000	1.1
+++ g++.dg/opt/mmx1.C	26 May 2005 15:12:56 -0000
@@ -4,6 +4,7 @@
 // { dg-do compile }
 // { dg-options "-O2" }
 // { dg-options "-fno-exceptions -O2 -mmmx -fPIC" { target i?86-*-*  } }
+// { dg-options "-fno-exceptions -O2 -mmmx -fPIC" { target { x86_64-*-* && ilp32 } } }
 
 struct A {
   unsigned a0;
============================================================
Index: gcc/testsuite/g++.dg/opt/reg-stack4.C
--- g++.dg/opt/reg-stack4.C	17 Nov 2004 17:21:43 -0000	1.3
+++ g++.dg/opt/reg-stack4.C	26 May 2005 15:12:56 -0000
@@ -5,8 +5,8 @@
 // deleted a valid edge.
 
 // { dg-do compile }
-// { dg-options "-mtune=i586 -O2" { target i?86-*-* } }
-// { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } }
+// { dg-options "-mtune=i586 -O2" { target { i?86-*-* && ilp32 } } }
+// { dg-options "-mtune=i586 -O2" { target { x86_64-*-* && ilp32 } } }
 
 struct array {
   double data;
============================================================
Index: gcc/testsuite/g++.dg/other/big-struct.C
--- g++.dg/other/big-struct.C	14 Apr 2002 20:55:48 -0000	1.2
+++ g++.dg/other/big-struct.C	26 May 2005 15:12:56 -0000
@@ -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
 {
============================================================
Index: gcc/testsuite/g++.dg/warn/register-var-1.C
--- g++.dg/warn/register-var-1.C	10 Nov 2004 21:09:58 -0000	1.1
+++ g++.dg/warn/register-var-1.C	26 May 2005 15:12:56 -0000
@@ -1,6 +1,6 @@
 /* PR/18160 */
 
-/* { dg-do compile { target i?86-*-* } } */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 
 /* This should yield an error even without -pedantic.  */
 /* { dg-options "-ansi" } */

============================================================
Index: gcc/testsuite/g++.dg/eh/simd-1.C
--- g++.dg/eh/simd-1.C	16 Mar 2004 20:37:28 -0000	1.7
+++ g++.dg/eh/simd-1.C	26 May 2005 15:52:55 -0000
@@ -2,6 +2,7 @@
 // Contributed by Aldy Hernandez (aldy@quesejoda.com).
 // { dg-options "-O" }
 // { dg-options "-O -w" { target i?86-*-* } }
+// { dg-options "-O -w" { target { x86_64-*-* && ilp32 } } }
 // { dg-do run }
 
 typedef int __attribute__((vector_size (8))) vecint;
============================================================
Index: gcc/testsuite/g++.dg/eh/simd-2.C
--- g++.dg/eh/simd-2.C	1 Feb 2005 21:33:28 -0000	1.10
+++ g++.dg/eh/simd-2.C	26 May 2005 15:52:55 -0000
@@ -2,6 +2,7 @@
 // Contributed by Aldy Hernandez (aldy@quesejoda.com).
 // { dg-options "-O" }
 // { dg-options "-O -w" { target i?86-*-* } }
+// { dg-options "-O -w" { target { x86_64-*-* && ilp32 } } }
 // { dg-options "-O -w -maltivec" { target powerpc*-*-linux* } }
 // { dg-do run }
 
============================================================
Index: gcc/testsuite/./gcc.dg/setjmp-2.c
--- ./gcc.dg/setjmp-2.c	23 Nov 2004 13:08:32 -0000	1.1
+++ ./gcc.dg/setjmp-2.c	26 May 2005 16:29:28 -0000
@@ -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 -march=i386" { target { i?86-*-linux* && ilp32 } } } */
+/* { dg-options "-O -fomit-frame-pointer -march=i386" { target { x86_64-*-linux* && ilp32 } } } */
 
 #include <setjmp.h>
 #include <signal.h>
============================================================
Index: gcc/testsuite/./gcc.dg/short-compare-1.c
--- ./gcc.dg/short-compare-1.c	6 Apr 2005 17:07:07 -0000	1.2
+++ ./gcc.dg/short-compare-1.c	26 May 2005 16:29:28 -0000
@@ -4,7 +4,7 @@
 /* { dg-do run } */
 /* { dg-options "-O" } */
 /* { dg-options "-O -mtune=i686" { target { i?86-*-* && ilp32 } } } */
-/* { dg-options "-O -m32 -mtune=i686" { target x86_64-*-* } } */
+/* { dg-options "-O -mtune=i686" { target { x86_64-*-* && ilp32 } } } */
 
 extern void abort(void);
 
============================================================
Index: gcc/testsuite/./gcc.dg/short-compare-2.c
--- ./gcc.dg/short-compare-2.c	6 Apr 2005 17:07:07 -0000	1.2
+++ ./gcc.dg/short-compare-2.c	26 May 2005 16:29:28 -0000
@@ -5,7 +5,7 @@
 /* { dg-do run } */
 /* { dg-options "-O" } */
 /* { dg-options "-O -mtune=i686" { target { i?86-*-* && ilp32 } } } */
-/* { dg-options "-O -m32 -mtune=i686" { target x86_64-*-* } } */
+/* { dg-options "-O -mtune=i686" { target { x86_64-*-* && ilp32 } } } */
 
 extern void abort();
 
============================================================
Index: gcc/testsuite/gcc.target/i386/asm-1.c
--- gcc.target/i386/asm-1.c	3 May 2005 17:00:59 -0000	1.2
+++ gcc.target/i386/asm-1.c	26 May 2005 16:34:23 -0000
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-m32" } */
+/* { dg-require-effective-target ilp32 } */
 
 register unsigned int EAX asm ("r14"); /* { dg-error "register name" } */
 
============================================================
Index: gcc/testsuite/./gcc.dg/i386-pentium4-not-mull.c
--- ./gcc.dg/i386-pentium4-not-mull.c	17 Nov 2004 17:21:44 -0000	1.4
+++ ./gcc.dg/i386-pentium4-not-mull.c	26 May 2005 16:37:12 -0000
@@ -1,7 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
-/* { dg-options "-O2 -march=pentium4" { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
-/* { 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.  */

-- 
 Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
  SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
   GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050526/e8554f06/attachment.sig>


More information about the Gcc-patches mailing list