mips.md (extendsidi2): Allow extension to/from a non-mips16 register.
authorGavin Koch <gavin@cygnus.com>
Thu, 12 Feb 1998 08:21:38 +0000 (08:21 +0000)
committerGavin Romig-Koch <gavin@gcc.gnu.org>
Thu, 12 Feb 1998 08:21:38 +0000 (08:21 +0000)
* mips.md (extendsidi2): Allow extension to/from a non-mips16
register.

From-SVN: r17866

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

index 1dc02d3..f72266e 100644 (file)
@@ -1,3 +1,8 @@
+Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
+
+       * mips.md (extendsidi2): Allow extension to/from a non-mips16 
+       register.
+
 Thu Feb 12 00:04:16 1998  Marc Lehmann <pcg@goof.com>
 
        * i386.c: Conditionally include <stdlib.h>, <string.h>, and
index 67e8ee4..76e0d43 100644 (file)
@@ -3584,13 +3584,13 @@ move\\t%0,%z4\\n\\
 ;; doing a move.
 
 (define_insn "extendsidi2"
-  [(set (match_operand:DI 0 "register_operand" "=d,*d,d,d")
-       (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,*x,R,m")))]
+  [(set (match_operand:DI 0 "register_operand" "=d,y,d,*d,d,d")
+       (sign_extend:DI (match_operand:SI 1 "nonimmediate_operand" "d,d,y,*x,R,m")))]
   "TARGET_64BIT"
   "* return mips_move_1word (operands, insn, FALSE);"
-  [(set_attr "type"    "move,hilo,load,load")
+  [(set_attr "type"    "move,move,move,hilo,load,load")
    (set_attr "mode"    "DI")
-   (set_attr "length"  "1,1,1,2")])
+   (set_attr "length"  "1,1,1,1,1,2")])
 
 ;; These patterns originally accepted general_operands, however, slightly
 ;; better code is generated by only accepting register_operands, and then