re PR target/48723 (ICE on function returning structure with -fstack-check on corei7...
authorUros Bizjak <uros@gcc.gnu.org>
Fri, 22 Apr 2011 18:40:23 +0000 (20:40 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Fri, 22 Apr 2011 18:40:23 +0000 (20:40 +0200)
PR target/48723
* config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
after the call to ix86_adjust_stack_and_probe.

testsuite/ChangeLog:

PR target/48723
* gcc.target/i386/pr48723.c: New test.

From-SVN: r172866

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr48723.c [new file with mode: 0644]

index a97896299e137dd5b3fb2176297dd028f41cd9cd..d57499df0010561b92b868cf1a0ab775e60c4d82 100644 (file)
@@ -1,3 +1,9 @@
+2011-04-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/48723
+       * config/i386/i386.c (ix86_expand_prologue): Update m->fs.sp_offset
+       after the call to ix86_adjust_stack_and_probe.
+
 2011-04-22  Joseph Myers  <joseph@codesourcery.com>
 
        * config/bfin/bfin-protos.h (Mmode): Don't define.  Expand
@@ -12,8 +18,7 @@
 2011-04-22  Martin Jambor  <mjambor@suse.cz>
 
        PR middle-end/48585
-       * tree-inline.c (copy_bb): Create new edges only for analyzed
-       nodes.
+       * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
 
 2011-04-22  Alexander Monakov  <amonakov@ispras.ru>
 
@@ -89,8 +94,7 @@
        (expand_stack_vars): ...and here.
        (stack_var_cmp): Sort by descending order of size.
        (partition_stack_vars): Change heuristic.
-       (union_stack_vars): Fix to reflect changes in
-       partition_stack_vars.
+       (union_stack_vars): Fix to reflect changes in partition_stack_vars.
        (dump_stack_var_partition): Add newline after each partition.
 
 2011-04-21  Dimitrios Apostolou  <jimis@gmx.net>
 2011-04-21  Richard Guenther  <rguenther@suse.de>
 
        PR lto/48703
-       * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of
-       DECL_NAME.
+       * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
 
 2011-04-21  Eric Botcazou  <ebotcazou@adacore.com>
 
index 558eff119367211f1ce21671d26214e7be478bfb..75927eeef50f07b3cb7460848d5fb223d427bc46 100644 (file)
@@ -10628,6 +10628,7 @@ ix86_expand_prologue (void)
       if (STACK_CHECK_MOVING_SP)
        {
          ix86_adjust_stack_and_probe (allocate);
+         m->fs.sp_offset += allocate;
          allocate = 0;
        }
       else
index cbdd47c35403e8268d1027129451865e85a0210a..d3383a55532f0a72c24e475037dfb7cd0dc249a2 100644 (file)
@@ -1,3 +1,8 @@
+2011-04-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/48723
+       * gcc.target/i386/pr48723.c: New test.
+
 2011-04-22  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/48716
diff --git a/gcc/testsuite/gcc.target/i386/pr48723.c b/gcc/testsuite/gcc.target/i386/pr48723.c
new file mode 100644 (file)
index 0000000..ad10209
--- /dev/null
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+/* { dg-options "-fstack-check -mavx" } */
+
+struct S0
+{
+  int f0, f1, f2, f3;
+} g_106;
+
+struct S0
+func_99 ()
+{
+  return (g_106);
+}