Commit 25cd9afb by Wilco Dijkstra Committed by John David Anglin

re PR target/90963 (FAIL: gcc.c-torture/execute/built-in-setjmp.c execution test)

	PR target/90963
	* config/pa/pa.md (builtin_longjmp): Restore hard_frame_pointer_rtx
	using saved frame pointer.


Co-Authored-By: John David Anglin <danglin@gcc.gnu.org>

From-SVN: r272891
parent 8ad81803
2019-07-01 Wilco Dijkstra <wdijkstr@arm.com>
John David Anglin <danglin@gcc.gnu.org>
PR target/90963
* config/pa/pa.md (builtin_longjmp): Restore hard_frame_pointer_rtx
using saved frame pointer.
2019-07-01 Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/64242
......
......@@ -8700,9 +8700,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
restoring the gp. */
emit_move_insn (pv, lab);
/* Restore the stack and frame pointers. The virtual_stack_vars_rtx
is saved instead of the hard_frame_pointer_rtx in the save area.
We need to adjust for the offset between these two values. */
/* Restore the stack and frame pointers. */
fp = copy_to_reg (fp);
emit_stack_restore (SAVE_NONLOCAL, stack);
......@@ -8710,7 +8708,7 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
emit_insn (gen_blockage ());
emit_clobber (hard_frame_pointer_rtx);
emit_clobber (frame_pointer_rtx);
emit_move_insn (hard_frame_pointer_rtx, plus_constant (Pmode, fp, -8));
emit_move_insn (hard_frame_pointer_rtx, fp);
emit_use (hard_frame_pointer_rtx);
emit_use (stack_pointer_rtx);
......
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