aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2017-07-09 23:01:42 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-07-09 23:01:42 +0200
commit5920ba1553e64052ef7e60c08d6a7388ad755f9c (patch)
tree86e38907531f62bd22cbb8975d7de61e98f53d2d /gcc
parentba71a2a62c63f77f4a21c460738dc8795b0f6eac (diff)
downloadgcc-5920ba1553e64052ef7e60c08d6a7388ad755f9c.zip
gcc-5920ba1553e64052ef7e60c08d6a7388ad755f9c.tar.gz
gcc-5920ba1553e64052ef7e60c08d6a7388ad755f9c.tar.bz2
re PR target/81313 (Bad stack realignment code with -mno-accumulate-outgoing-args)
PR target/81313 * gcc.dg/stack-layout-dynamic-1.c (bar): Add 4 additional integer argumets to bypass x86_64 outgoing args optimization. From-SVN: r250086
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c8
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 19c9b0a..846d79c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,4 +1,10 @@
-2017-06-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+2017-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/81313
+ * gcc.dg/stack-layout-dynamic-1.c (bar): Add 4 additional
+ integer argumets to bypass x86_64 outgoing args optimization.
+
+2017-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/eoshift_4.f90: New test.
* gfortran.dg/eoshift_5.f90: New test.
diff --git a/gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c b/gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c
index 9f2d37d..7e59f28 100644
--- a/gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c
+++ b/gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c
@@ -1,15 +1,15 @@
-/* Verify that run time aligned local variables are aloocated in the prologue
+/* Verify that run time aligned local variables are allocated in the prologue
in one pass together with normal local variables. */
/* { dg-do compile } */
/* { dg-options "-O0 -fomit-frame-pointer" } */
/* { dg-require-effective-target ptr32plus } */
-extern void bar (void *, void *, void *);
+extern void bar (void *, void *, void *, void *, void *, void *, void *);
void foo (void)
{
- int i;
+ int i, j, k, l, m;
__attribute__ ((aligned(65536))) char runtime_aligned_1[512];
__attribute__ ((aligned(32768))) char runtime_aligned_2[1024];
- bar (&i, &runtime_aligned_1, &runtime_aligned_2);
+ bar (&i, &j, &k, &l, &m, &runtime_aligned_1, &runtime_aligned_2);
}
/* { dg-final { scan-assembler-not "cfi_def_cfa_register" } } */