Commit e1e835dc by Eric Botcazou Committed by Eric Botcazou

sparc.md (setjmp): Rewrite.

	* config/sparc/sparc.md (setjmp): Rewrite.
	(setjmp_32): Delete.
	(setjmp_64): Likewise.

From-SVN: r111154
parent 6b9ac6fc
2006-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.md (setjmp): Rewrite.
(setjmp_32): Delete.
(setjmp_64): Likewise.
2006-02-16 Daniel Berlin <dberlin@dberlin.org> 2006-02-16 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-operands.c (access_can_touch_variable): Fix typo in * tree-ssa-operands.c (access_can_touch_variable): Fix typo in
......
...@@ -7244,24 +7244,19 @@ ...@@ -7244,24 +7244,19 @@
[(const_int 0)] [(const_int 0)]
"" ""
{ {
if (TARGET_ARCH64) rtx mem;
emit_insn (gen_setjmp_64 ());
else
emit_insn (gen_setjmp_32 ());
DONE;
})
(define_expand "setjmp_32" mem = gen_rtx_MEM (Pmode,
[(set (mem:SI (plus:SI (reg:SI 14) (const_int 56))) (match_dup 0)) plus_constant (stack_pointer_rtx,
(set (mem:SI (plus:SI (reg:SI 14) (const_int 60))) (reg:SI 31))] SPARC_STACK_BIAS + 14 * UNITS_PER_WORD));
"" emit_insn (gen_rtx_SET (VOIDmode, mem, frame_pointer_rtx));
{ operands[0] = frame_pointer_rtx; })
(define_expand "setjmp_64" mem = gen_rtx_MEM (Pmode,
[(set (mem:DI (plus:DI (reg:DI 14) (const_int 112))) (match_dup 0)) plus_constant (stack_pointer_rtx,
(set (mem:DI (plus:DI (reg:DI 14) (const_int 120))) (reg:DI 31))] SPARC_STACK_BIAS + 15 * UNITS_PER_WORD));
"" emit_insn (gen_rtx_SET (VOIDmode, mem, gen_rtx_REG (Pmode, 31)));
{ operands[0] = frame_pointer_rtx; }) DONE;
})
;; Special pattern for the FLUSH instruction. ;; Special pattern for the FLUSH instruction.
......
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