[PATCH] x86-64 gcc.dg testsuite fixes

Jakub Jelinek jakub@redhat.com
Fri Apr 2 20:37:00 GMT 2004


Hi!

-march=pentium3 on x86_64 results in
i386-sse-8.c:0: error: CPU you selected does not support x86-64 instruction set
error.
x86_64 calling convention passes first argument in %rdi, so expect the
argument there, not in %eax (where it is supposed to be on i?86 because of
the regparm calling convention for local function).
Lastly, labels for -fasynchronous-unwind-tables which is the default on
x86_64 are .LCFI[0-9]*, so we need to avoid them.
Ok to commit?
For 3.4 too (or 3.4.1)?

2004-04-02  Jakub Jelinek  <jakub@redhat.com>

	* gcc.dg/i386-sse-8.c: Don't use -march=pentium3 on x86_64.
	* gcc.dg/i386-local.c: Expect %edi, not %eax register on x86_64.
	* gcc.dg/20020103-1.c: Add -fno-asynchronous-unwind-tables to
	options.

--- gcc/testsuite/gcc.dg/i386-sse-8.c.jj	2004-03-22 16:25:04.000000000 +0100
+++ gcc/testsuite/gcc.dg/i386-sse-8.c	2004-04-02 22:31:08.248716798 +0200
@@ -3,7 +3,7 @@
 
 /* { dg-do compile } */
 /* { dg-options "" } */
-/* { dg-options "-march=pentium3" { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-march=pentium3" { target i?86-*-* } } */
 
 int main() 
 { 
--- gcc/testsuite/gcc.dg/i386-local.c.jj	2003-06-10 15:49:04.000000000 +0200
+++ gcc/testsuite/gcc.dg/i386-local.c	2004-04-02 22:30:21.539087772 +0200
@@ -1,6 +1,7 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2 -funit-at-a-time" } */
-/* { dg-final { scan-assembler "magic\[^\\n\]*eax" } } */
+/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target i?86-*-* } } } */
+/* { dg-final { scan-assembler "magic\[^\\n\]*edi" { target x86_64-*-* } } } */
 
 /* Verify that local calling convention is used.  */
 static t(int) __attribute__ ((noinline));
--- gcc/testsuite/gcc.dg/20020103-1.c.jj	2002-10-02 16:48:53.000000000 +0200
+++ gcc/testsuite/gcc.dg/20020103-1.c	2004-04-02 22:30:21.559084188 +0200
@@ -1,7 +1,7 @@
 /* Verify that constant equivalences get reloaded properly, either by being
    spilled to the stack, or regenerated, but not dropped to memory.  */
 /* { dg-do compile { target i?86-*-* powerpc-*-* rs6000-*-* alpha*-*-* x86_64-*-*} } */
-/* { dg-options "-O2 -fpic -fno-omit-frame-pointer" } */
+/* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */
 /* { dg-final { scan-assembler-not "LC" } } */
 
 /* Clobber all call-saved registers that can hold a pointer value.  */

	Jakub



More information about the Gcc-patches mailing list