The gcc.target/i386/amd64-abi-3.c test case fails at -m64 on i686-apple-darwin9 as follows... Executing on host: /sw/src/fink.build/gcc44-4.3.999-20081116/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc44-4.3.999-20081116/darwin_objdir/gcc/ /sw/src/fink.build/gcc44-4.3.999-20081116/gcc-4.4-20081116/gcc/testsuite/gcc.target/i386/amd64-abi-3.c -O2 -mno-sse -S -m64 -o amd64-abi-3.s (timeout = 300) PASS: gcc.target/i386/amd64-abi-3.c (test for excess errors) FAIL: gcc.target/i386/amd64-abi-3.c scan-assembler subq[\\t ]*\\$88,[\\t ]*%rsp PASS: gcc.target/i386/amd64-abi-3.c scan-assembler-not subq[\\t ]*\\$216,[\\t ]*%rsp
Created attachment 16703 [details] assembly file for gcc.target/i386/amd64-abi-3.c at -m64 on i686-apple-darwin9
Just add -fomit-frame-pointer to dg-options.
> Just add -fomit-frame-pointer to dg-options. Indeed with the following patch: --- gcc/testsuite/gcc.target/i386/amd64-abi-3.c 2008-09-02 22:05:08.000000000 +0200 +++ /opt/gcc/gcc-4.4-work/gcc/testsuite/gcc.target/i386/amd64-abi-3.c 2009-02-19 23:20:19.000000000 +0100 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target lp64 } */ -/* { dg-options "-O2 -mno-sse" } */ +/* { dg-options "-O2 -mno-sse -fomit-frame-pointer" } */ /* { dg-final { scan-assembler "subq\[\\t \]*\\\$88,\[\\t \]*%rsp" } } */ /* { dg-final { scan-assembler-not "subq\[\\t \]*\\\$216,\[\\t \]*%rsp" } } */ the tests pass: PASS: gcc.target/i386/amd64-abi-3.c (test for excess errors) PASS: gcc.target/i386/amd64-abi-3.c scan-assembler subq[\\t ]*\\$88,[\\t ]*%rsp PASS: gcc.target/i386/amd64-abi-3.c scan-assembler-not subq[\\t ]*\\$216,[\\t ]*%rsp
Subject: Bug 38164 Author: uros Date: Fri Feb 20 11:25:42 2009 New Revision: 144318 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144318 Log: PR testsuite/38164 * gcc.target/i386/amd64-abi-3.c: Add -fomit-frame-pointer to dg-options. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/i386/amd64-abi-3.c
Fixed.