* 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: r62737
+2003-02-11 Bob Wilson <bob.wilson@acm.org>
+
+ Backport following patch:
+
+ 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-10 Eric Botcazou <ebotcazou@libertysurf.fr>
Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
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;
;; 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))]
""
"*
{
;; 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)]
"")