mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-23 12:04:28 +08:00
mips.md (load_call[sd]i): Redefine using :P.
* config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode attribute. From-SVN: r86510
This commit is contained in:
parent
92dcb88270
commit
be659abd84
@ -1,3 +1,8 @@
|
||||
2004-08-24 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
|
||||
attribute.
|
||||
|
||||
2004-08-24 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
|
||||
|
@ -5720,26 +5720,16 @@ beq\t%2,%.,1b\;\
|
||||
;; acts like a GOT version number. By making the register call-clobbered,
|
||||
;; we tell the target-independent code that the address could be changed
|
||||
;; by any call insn.
|
||||
(define_insn "load_callsi"
|
||||
[(set (match_operand:SI 0 "register_operand" "=c")
|
||||
(unspec:SI [(match_operand:SI 1 "register_operand" "r")
|
||||
(match_operand:SI 2 "immediate_operand" "")
|
||||
(reg:SI FAKE_CALL_REGNO)]
|
||||
UNSPEC_LOAD_CALL))]
|
||||
(define_insn "load_call<mode>"
|
||||
[(set (match_operand:P 0 "register_operand" "=c")
|
||||
(unspec:P [(match_operand:P 1 "register_operand" "r")
|
||||
(match_operand:P 2 "immediate_operand" "")
|
||||
(reg:P FAKE_CALL_REGNO)]
|
||||
UNSPEC_LOAD_CALL))]
|
||||
"TARGET_ABICALLS"
|
||||
"lw\t%0,%R2(%1)"
|
||||
[(set_attr "type" "load")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
(define_insn "load_calldi"
|
||||
[(set (match_operand:DI 0 "register_operand" "=c")
|
||||
(unspec:DI [(match_operand:DI 1 "register_operand" "r")
|
||||
(match_operand:DI 2 "immediate_operand" "")
|
||||
(reg:DI FAKE_CALL_REGNO)]
|
||||
UNSPEC_LOAD_CALL))]
|
||||
"TARGET_ABICALLS"
|
||||
"ld\t%0,%R2(%1)"
|
||||
"<load>\t%0,%R2(%1)"
|
||||
[(set_attr "type" "load")
|
||||
(set_attr "mode" "<MODE>")
|
||||
(set_attr "length" "4")])
|
||||
|
||||
;; Sibling calls. All these patterns use jump instructions.
|
||||
|
Loading…
Reference in New Issue
Block a user