aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Carrez <Stephane.Carrez@sun.com>2001-12-07 21:51:04 +0000
committerStephane Carrez <ciceron@gcc.gnu.org>2001-12-07 22:51:04 +0100
commitecd7009474cb8d7886039484d073d907497c15eb (patch)
tree5f77397d713d60a3e0eea8a8fe122b483ffd6fc6
parent09ebda1bc45f8bd87d687cb9983e0d950b9f85c6 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/sparc-ret.c27
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" } } */
+