diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2004-08-24 19:53:32 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2004-08-24 19:53:32 +0000 |
commit | be659abd840dffa23f750638381ab0f1251b735d (patch) | |
tree | d029945d2f6954af512c28767ae700f3f8591e41 /gcc | |
parent | 92dcb88270268c66c7394e2254ebfa0872fcfe7f (diff) | |
download | gcc-be659abd840dffa23f750638381ab0f1251b735d.zip gcc-be659abd840dffa23f750638381ab0f1251b735d.tar.gz gcc-be659abd840dffa23f750638381ab0f1251b735d.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.md | 26 |
2 files changed, 13 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2c252f..4af8dcf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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 of internal patterns. (indirect_jump[sd]i): Renamed from indirect_jump_internal[12]. diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 739307c..251ec68 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -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. |