xtensa.md (set_frame_ptr): Change rtl to set reg a7.

* config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
        * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
        as a SET pattern.

From-SVN: r62730
This commit is contained in:
Bob Wilson 2003-02-11 21:42:31 +00:00 committed by Bob Wilson
parent 16ddb59931
commit a3259be8e3
3 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2003-02-11 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
* config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
as a SET pattern.
2003-02-11 Roger Sayle <roger@eyesopen.com>
* builtins.c: Fix failure caused by commiting wrong patch.

View File

@ -2241,8 +2241,9 @@ xtensa_reorg (first)
continue;
pat = PATTERN (insn);
if (GET_CODE (pat) == UNSPEC_VOLATILE
&& (XINT (pat, 1) == UNSPECV_SET_FP))
if (GET_CODE (pat) == SET
&& GET_CODE (SET_SRC (pat)) == UNSPEC_VOLATILE
&& (XINT (SET_SRC (pat), 1) == UNSPECV_SET_FP))
{
set_frame_ptr_insn = insn;
break;

View File

@ -2387,7 +2387,7 @@
;; to set up the frame pointer.
(define_insn "set_frame_ptr"
[(unspec_volatile [(const_int 0)] UNSPECV_SET_FP)]
[(set (reg:SI A7_REG) (unspec_volatile [(const_int 0)] UNSPECV_SET_FP))]
""
"*
{
@ -2401,7 +2401,7 @@
;; Post-reload splitter to remove fp assignment when it's not needed.
(define_split
[(unspec_volatile [(const_int 0)] UNSPECV_SET_FP)]
[(set (reg:SI A7_REG) (unspec_volatile [(const_int 0)] UNSPECV_SET_FP))]
"reload_completed && !frame_pointer_needed"
[(unspec [(const_int 0)] UNSPEC_NOP)]
"")