diff options
author | Stephane Carrez <Stephane.Carrez@sun.com> | 2001-12-07 21:51:04 +0000 |
---|---|---|
committer | Stephane Carrez <ciceron@gcc.gnu.org> | 2001-12-07 22:51:04 +0100 |
commit | ecd7009474cb8d7886039484d073d907497c15eb (patch) | |
tree | 5f77397d713d60a3e0eea8a8fe122b483ffd6fc6 | |
parent | 09ebda1bc45f8bd87d687cb9983e0d950b9f85c6 (diff) | |
download | gcc-ecd7009474cb8d7886039484d073d907497c15eb.zip gcc-ecd7009474cb8d7886039484d073d907497c15eb.tar.gz gcc-ecd7009474cb8d7886039484d073d907497c15eb.tar.bz2 |
sparc-ret.c: New file, test return corruption bug for ultrasparc.
* gcc.dg/sparc-ret.c: New file, test return corruption bug for
ultrasparc.
From-SVN: r47773
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sparc-ret.c | 27 |
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index abdaa56..e3e3046 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com> + + * gcc.dg/sparc-ret.c: New file, test return corruption bug for + ultrasparc. + Fri Dec 7 06:29:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * g++-old.deja/g++.robertl/eb101.C: Deleted. diff --git a/gcc/testsuite/gcc.dg/sparc-ret.c b/gcc/testsuite/gcc.dg/sparc-ret.c new file mode 100644 index 0000000..629bbb1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/sparc-ret.c @@ -0,0 +1,27 @@ +/* Copyright (C) 2001 Free Software Foundation. + + Making sure that Ultrasparc return instructions do not read + below the stack. */ + +/* { dg-do compile { target sparc*-*-* } } */ +/* { dg-options "-mcpu=ultrasparc -O -m32" } */ + + +int bar (int a, int b, int c, int d, int e, int f, int g, int h) +{ + int res; + + toto (&res); + return h; +} +/* { dg-final { scan-assembler "return\[ \t\]*%i7\\+8\n\[^\n\]*ld\[ \t\]*\\\[%sp\\+96\\\]" } } */ + +int bar2 () +{ + int res; + + toto (&res); + return res; +} +/* { dg-final { scan-assembler "return\[ \t\]*%i7\\+8\n\[^\n\]*nop" } } */ + |