summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-07 21:51:04 +0000
committerciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-07 21:51:04 +0000
commitc6c66ebede2a3180fe1c03d665ccc41110327426 (patch)
tree5f77397d713d60a3e0eea8a8fe122b483ffd6fc6
parentd815c7518b8d20fcc5aa6bc4e60b799c37cae6d6 (diff)
downloadppe42-gcc-c6c66ebede2a3180fe1c03d665ccc41110327426.tar.gz
ppe42-gcc-c6c66ebede2a3180fe1c03d665ccc41110327426.zip
* gcc.dg/sparc-ret.c: New file, test return corruption bug for
ultrasparc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47773 138bc75d-0d04-0410-961f-82ee72b054a4
-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 abdaa5672b0..e3e3046cff6 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 00000000000..629bbb155ef
--- /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" } } */
+
OpenPOWER on IntegriCloud