Commit 55b324a6 by Richard Henderson Committed by Richard Henderson

re PR target/45189 (New stack alignment test failures)

PR target/45189
Fix unwind for i386 stack re-alignment.

From-SVN: r162919
parent 29e9efdf
2010-08-05 Richard Henderson <rth@redhat.com>
PR target/45189
* config/i386/i386.c (ix86_emit_save_reg_using_mov): Make sure
the alignment constant is properly sign-extended.
2010-08-05 Richard Guenther <rguenther@suse.de> 2010-08-05 Richard Guenther <rguenther@suse.de>
* expr.c (store_expr): Use emit_block_move only if both * expr.c (store_expr): Use emit_block_move only if both
...@@ -6,7 +12,7 @@ ...@@ -6,7 +12,7 @@
2010-08-05 Richard Henderson <rth@redhat.com> 2010-08-05 Richard Henderson <rth@redhat.com>
PR 45189 PR debug/45188
* dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition. * dwarf2out.c (DWARF2_UNWIND_INFO): Provide default definition.
(INCOMING_RETURN_ADDR_RTX): Likewise. (INCOMING_RETURN_ADDR_RTX): Likewise.
(dwarf2out_do_frame): Remove conditional compilation. (dwarf2out_do_frame): Remove conditional compilation.
......
...@@ -8639,7 +8639,8 @@ ix86_emit_save_reg_using_mov (enum machine_mode mode, unsigned int regno, ...@@ -8639,7 +8639,8 @@ ix86_emit_save_reg_using_mov (enum machine_mode mode, unsigned int regno,
reference to the locations within the frame. Instead, reference to the locations within the frame. Instead,
simply compute the location of the aligned frame from simply compute the location of the aligned frame from
the frame pointer. */ the frame pointer. */
addr = GEN_INT (-crtl->stack_alignment_needed / BITS_PER_UNIT); addr = GEN_INT (-(HOST_WIDE_INT)crtl->stack_alignment_needed
/ BITS_PER_UNIT);
addr = gen_rtx_AND (Pmode, hard_frame_pointer_rtx, addr); addr = gen_rtx_AND (Pmode, hard_frame_pointer_rtx, addr);
addr = plus_constant (addr, -cfa_offset); addr = plus_constant (addr, -cfa_offset);
mem = gen_rtx_MEM (mode, addr); mem = gen_rtx_MEM (mode, addr);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment