mips.md (load_call<mode>): Allow any general register.
authorRichard Sandiford <richard@codesourcery.com>
Thu, 12 Apr 2007 17:44:57 +0000 (17:44 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 12 Apr 2007 17:44:57 +0000 (17:44 +0000)
gcc/
* config/mips/mips.md (load_call<mode>): Allow any general register.
destination.
(sibcall_value_internal, sibcall_value_multiple_internal)
(call_value_internal, call_value_split, call_value_multiple_internal)
(call_value_multiple_split): Remove constraints from operand 0.

From-SVN: r123756

gcc/ChangeLog
gcc/config/mips/mips.md

index e98422669bf47396b6444e896dc695103ff33733..aff318411cbda392e30fb72acaf770bcec196688 100644 (file)
@@ -1,3 +1,11 @@
+2007-04-12  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/mips.md (load_call<mode>): Allow any general register.
+       destination.
+       (sibcall_value_internal, sibcall_value_multiple_internal)
+       (call_value_internal, call_value_split, call_value_multiple_internal)
+       (call_value_multiple_split): Remove constraints from operand 0.
+
 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
 
        * config/mips/mips-protos.h: In comments, refer to loadgp_absolute
index 28fb5022eb781655fcb65123112dd69160ceb3a9..8fb78ca90ff307b767e43c729f7befaafe650b2e 100644 (file)
 ;; we tell the target-independent code that the address could be changed
 ;; by any call insn.
 (define_insn "load_call<mode>"
-  [(set (match_operand:P 0 "register_operand" "=c")
+  [(set (match_operand:P 0 "register_operand" "=d")
        (unspec:P [(match_operand:P 1 "register_operand" "r")
                   (match_operand:P 2 "immediate_operand" "")
                   (reg:P FAKE_CALL_REGNO)]
 })
 
 (define_insn "sibcall_value_internal"
-  [(set (match_operand 0 "register_operand" "=df,df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "j,S"))
               (match_operand 2 "" "")))]
   "TARGET_SIBCALLS && SIBLING_CALL_P (insn)"
   [(set_attr "type" "call")])
 
 (define_insn "sibcall_value_multiple_internal"
-  [(set (match_operand 0 "register_operand" "=df,df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "j,S"))
               (match_operand 2 "" "")))
-   (set (match_operand 3 "register_operand" "=df,df")
+   (set (match_operand 3 "register_operand" "")
        (call (mem:SI (match_dup 1))
              (match_dup 2)))]
   "TARGET_SIBCALLS && SIBLING_CALL_P (insn)"
 
 ;; See comment for call_internal.
 (define_insn_and_split "call_value_internal"
-  [(set (match_operand 0 "register_operand" "=df,df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "c,S"))
               (match_operand 2 "" "")))
    (clobber (reg:SI 31))]
    (set_attr "extended_mips16" "no,yes")])
 
 (define_insn "call_value_split"
-  [(set (match_operand 0 "register_operand" "=df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "cS"))
               (match_operand 2 "" "")))
    (clobber (reg:SI 31))
 
 ;; See comment for call_internal.
 (define_insn_and_split "call_value_multiple_internal"
-  [(set (match_operand 0 "register_operand" "=df,df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "c,S"))
               (match_operand 2 "" "")))
-   (set (match_operand 3 "register_operand" "=df,df")
+   (set (match_operand 3 "register_operand" "")
        (call (mem:SI (match_dup 1))
              (match_dup 2)))
    (clobber (reg:SI 31))]
    (set_attr "extended_mips16" "no,yes")])
 
 (define_insn "call_value_multiple_split"
-  [(set (match_operand 0 "register_operand" "=df")
+  [(set (match_operand 0 "register_operand" "")
         (call (mem:SI (match_operand 1 "call_insn_operand" "cS"))
               (match_operand 2 "" "")))
-   (set (match_operand 3 "register_operand" "=df")
+   (set (match_operand 3 "register_operand" "")
        (call (mem:SI (match_dup 1))
              (match_dup 2)))
    (clobber (reg:SI 31))