+2017-10-31 Daniel Santos <daniel.santos@pobox.com>
+
+ config/i386/i386.c (ix86_expand_epilogue): Correct stack
+ calculation.
+
2017-10-31 Martin Jambor <mjambor@suse.cz>
PR c++/81702
the stack pointer, if we will restore SSE regs via sp. */
if (TARGET_64BIT
&& m->fs.sp_offset > 0x7fffffff
- && sp_valid_at (frame.stack_realign_offset)
+ && sp_valid_at (frame.stack_realign_offset + 1)
&& (frame.nsseregs + frame.nregs) != 0)
{
pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
+2017-10-31 Daniel Santos <daniel.santos@pobox.com>
+
+ gcc.target/i386/pr82002-1.c: New test.
+ gcc.target/i386/pr82002-2a.c: New xfail test.
+ gcc.target/i386/pr82002-2b.c: New xfail test.
+
2017-10-31 Martin Jambor <mjambor@suse.cz>
PR c++/81702
--- /dev/null
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-Ofast -mstackrealign -mabi=ms" } */
+
+void a (char *);
+void
+b ()
+{
+ char c[10000000000];
+ c[1099511627776] = 'b';
+ a (c);
+ a (c);
+}
--- /dev/null
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-Ofast -mstackrealign -mabi=ms" } */
+/* { dg-xfail-if "" { *-*-* } } */
+/* { dg-xfail-run-if "" { *-*-* } } */
+
+void __attribute__((sysv_abi)) a (char *);
+void
+b ()
+{
+ char c[10000000000];
+ c[1099511627776] = 'b';
+ a (c);
+ a (c);
+}
--- /dev/null
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-Ofast -mstackrealign -mabi=ms -mcall-ms2sysv-xlogues" } */
+/* { dg-xfail-if "" { *-*-* } } */
+/* { dg-xfail-run-if "" { *-*-* } } */
+
+void __attribute__((sysv_abi)) a (char *);
+void
+b ()
+{
+ char c[10000000000];
+ c[1099511627776] = 'b';
+ a (c);
+ a (c);
+}