From: sje Date: Tue, 24 Nov 2015 22:11:27 +0000 (+0000) Subject: 2015-11-24 Steve Ellcey X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c12da453708e50f64d592beaaf3d2b18d921a316;p=thirdparty%2Fgcc.git 2015-11-24 Steve Ellcey * gcc.target/mips/frame-header-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230846 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5c229ceb4f2f..5b2404824575 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-11-24 Steve Ellcey + + * gcc.target/mips/frame-header-4.c: New test. + 2015-11-24 Steven G. Kargl PR fortran/68486 diff --git a/gcc/testsuite/gcc.target/mips/frame-header-4.c b/gcc/testsuite/gcc.target/mips/frame-header-4.c new file mode 100644 index 000000000000..3cddba14de58 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/frame-header-4.c @@ -0,0 +1,20 @@ +/* Verify that we can optimize away the frame header allocation in bar + by having it use its frame header to store $31 in before calling foo. */ + +/* { dg-do compile } */ +/* { dg-options "-mframe-header-opt -mabi=32" } */ +/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ +/* { dg-final { scan-assembler-not "\taddiu\t\\\$sp" } } */ + +int __attribute__ ((noinline)) +foo (int a, int b) +{ + return a + b; +} + +int __attribute__ ((noinline)) +bar (int a, int b) +{ + return 1 + foo(a,b); +} +