summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm/stack-red-zone.c
diff options
context:
space:
mode:
authorjye2 <jye2@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-04 16:50:04 +0000
committerjye2 <jye2@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-04 16:50:04 +0000
commitb2377df472e5b44041051abb415c553a444b098a (patch)
treeceaffa105c789fb7507175295cf5c3c25f297eaf /gcc/testsuite/gcc.target/arm/stack-red-zone.c
parentff84b8d6e6fcee5519336582630df74cfa5abcde (diff)
downloadgcc-b2377df472e5b44041051abb415c553a444b098a.tar.gz
2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
PR rtl-optimization/38644 * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier for epilogue having stack adjustment. testcase: * gcc.target/arm/stack-red-zone.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180964 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.target/arm/stack-red-zone.c')
-rw-r--r--gcc/testsuite/gcc.target/arm/stack-red-zone.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/arm/stack-red-zone.c b/gcc/testsuite/gcc.target/arm/stack-red-zone.c
new file mode 100644
index 00000000000..b9f0f99371e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/stack-red-zone.c
@@ -0,0 +1,12 @@
+/* No stack red zone. PR38644. */
+/* { dg-options "-mthumb -O2" } */
+/* { dg-final { scan-assembler "ldrb\[^\n\]*\\n\[\t \]*add\[\t \]*sp" } } */
+
+extern int doStreamReadBlock (int *, char *, int size, int);
+
+char readStream (int *s)
+{
+ char c = 0;
+ doStreamReadBlock (s, &c, 1, *s);
+ return c;
+}