summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arm
diff options
context:
space:
mode:
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-27 09:34:08 +0000
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>2010-04-27 09:34:08 +0000
commitf2df60270980b4c0cb98a64b4bfbc36eb3358c79 (patch)
tree590b6fcd87fdd36bc035f67a23648f0756834d8a /gcc/testsuite/gcc.target/arm
parent86689d78bf39258773f86b15937a1d294e1b65ee (diff)
downloadgcc-f2df60270980b4c0cb98a64b4bfbc36eb3358c79.tar.gz
PR target/40657
* config/arm/arm.c (thumb1_extra_regs_pushed): New function. (thumb1_expand_prologue, thumb1_output_function_prologue): Call it here to determine which regs to push and how much stack to reserve. PR target/40657 * gcc.target/arm/thumb-stackframe.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158771 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.target/arm')
-rw-r--r--gcc/testsuite/gcc.target/arm/thumb-stackframe.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/arm/thumb-stackframe.c b/gcc/testsuite/gcc.target/arm/thumb-stackframe.c
new file mode 100644
index 00000000000..f6c78804e91
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/thumb-stackframe.c
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-mthumb -Os" } */
+/* { dg-require-effective-target arm_thumb1_ok } */
+
+extern void bar(int*);
+int foo()
+{
+ int x;
+ bar(&x);
+ return x;
+}
+
+/* { dg-final { scan-assembler-not "sub\[\\t \]*sp,\[\\t \]*sp," } } */