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] Backport and fix various x86_64 failures


I'm getting the following errors when running the 3.4 testsuite on
x86_64-unknown-linux-gnu:

FAIL: gcc.dg/20020103-1.c scan-assembler-not LC
FAIL: gcc.dg/i386-local.c scan-assembler magic[^\\\\n]*eax
FAIL: gcc.dg/i386-sse-8.c (test for excess errors)
FAIL: gcc.dg/loop-3.c (test for excess errors)

as shown here:
http://gcc.gnu.org/ml/gcc-testresults/2005-12/msg00083.html

These are all due to problems with the testcases that have been
addressed in later versions of gcc.  So I backported the testcases
from 4.0 and/or mainline.  In a couple of situations, the testcases
used the effective-target infrastructure to detect ilp32 or lp64.
Since AFAICT the effective target stuff hasn't been backported to 3.4,
in those cases I used dg-dkip-if to avoid the problematic cases of
i686 -m64 or x86_64 -m32 and restricted the testcases to the
appropriate cpu.

Tested on i686-unknown-linux-gnu and x86_64-unknown-linux-gnu via
"make check".  The patched testcases no longer fail.

Okay for 3.4?

		Thanks,
		--Kaveh


2005-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc.dg/loop-3.c: Skip if ix86 and -m64.
	* gcc.dg/i386-local.c: Likewise.  Also skip if x86_64 and -m32.
	
	Backport:
	
	2005-08-25  Alan Modra  <amodra@bigpond.net.au>
        * gcc.dg/20020103-1.c: Scan for LC[0-9], not LC.

	2004-12-09  Richard Henderson  <rth@redhat.com>
        * gcc.dg/loop-3.c: Don't use i386 tuning for amd64.

	2004-11-17  Janis Johnson  <janis187@us.ibm.com>
	* gcc.dg/i386-sse-8.c: Use dg-skip-if i?86 -m64.

	2004-04-06  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.

diff -rup orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/20020103-1.c egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/20020103-1.c
--- orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/20020103-1.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/20020103-1.c	2005-12-03 09:55:52.000000000 -0500
@@ -1,8 +1,8 @@
 /* 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-final { scan-assembler-not "LC" } } */
+/* { dg-options "-O2 -fpic -fno-omit-frame-pointer -fno-asynchronous-unwind-tables" } */
+/* { dg-final { scan-assembler-not "LC\[0-9\]" } } */
 
 /* Clobber all call-saved registers that can hold a pointer value.  */
 #if defined(__i386__)
diff -rup orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-local.c egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-local.c
--- orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-local.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-local.c	2005-12-03 09:46:26.000000000 -0500
@@ -1,6 +1,9 @@
 /* { 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-*-* } } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-skip-if "" { x86_64-*-* } { "-m32" } { "" } } */
 
 /* Verify that local calling convention is used.  */
 static t(int) __attribute__ ((noinline));
diff -rup orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-sse-8.c egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-sse-8.c
--- orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-sse-8.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/i386-sse-8.c	2005-12-03 08:51:28.000000000 -0500
@@ -2,7 +2,8 @@
 /* Origin: <Pawe Sikora <pluto@ds14.agh.edu.pl> */
 
 /* { dg-do compile } */
-/* { dg-options "-march=pentium3" { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-march=pentium3" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 int main() 
 { 
diff -rup orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/loop-3.c egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/loop-3.c
--- orig/egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/loop-3.c	2005-11-03 11:01:07.000000000 -0500
+++ egcc-3.4-SVN20051202/gcc/testsuite/gcc.dg/loop-3.c	2005-12-03 09:11:05.000000000 -0500
@@ -3,7 +3,8 @@
 
 /* { dg-do compile } */
 /* { dg-options "-O3" } */
-/* { dg-options "-O3 -mtune=i386" { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O3 -mtune=i386" { target i?86-*-* } } */
+/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 #if defined(STACK_SIZE) && (STACK_SIZE < 65536)
 # define BYTEMEM_SIZE 10000L


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