aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2009-08-29 19:58:52 +0200
committerKai Tietz <ktietz@gcc.gnu.org>2009-08-29 19:58:52 +0200
commitce557b7481a3ea06c7b481ba73692079d06b7f5d (patch)
tree7ee0875d38a4b4a7497acc49533ecb3140ad3b49
parent6d83cb32b9a2803cd927f6a86fca4448dc33790a (diff)
downloadgcc-ce557b7481a3ea06c7b481ba73692079d06b7f5d.zip
gcc-ce557b7481a3ea06c7b481ba73692079d06b7f5d.tar.gz
gcc-ce557b7481a3ea06c7b481ba73692079d06b7f5d.tar.bz2
re PR c/41184 (wrong optimise code, epilogue code adjust wrong rsp before pop)
2009-08-29 Kai Tietz<kai.tietz@onevision.com> PR/41184 * config/i386.c (ix86_expand_epilogue): Correct stack adjustment for padding. From-SVN: r151204
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 89ccac0..c2f7d4d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-08-29 Kai Tietz<kai.tietz@onevision.com>
+
+ PR/41184
+ * config/i386.c (ix86_expand_epilogue): Correct stack adjustment for
+ padding.
+
2009-08-29 Douglas B Rupp <rupp@gnat.com>
* crtstuff.c (__do_global_dtors_aux): Use atexit if no
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3a12c27..0316b36 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -8949,7 +8949,7 @@ ix86_expand_epilogue (int style)
frame.to_allocate, red_offset,
style == 2);
pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
- GEN_INT (frame.nsseregs * 16),
+ GEN_INT (frame.nsseregs * 16 + frame.padding0),
style, false);
}
else if (frame.to_allocate || frame.nsseregs)