diff options
author | Uros Bizjak <uros@gcc.gnu.org> | 2017-07-09 23:01:42 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-07-09 23:01:42 +0200 |
commit | 5920ba1553e64052ef7e60c08d6a7388ad755f9c (patch) | |
tree | 86e38907531f62bd22cbb8975d7de61e98f53d2d | |
parent | ba71a2a62c63f77f4a21c460738dc8795b0f6eac (diff) | |
download | gcc-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
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/stack-layout-dynamic-1.c | 8 |
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" } } */ |