MIPS patch: extendsidi2

Gavin Koch gavin@cygnus.com
Wed Feb 11 10:25:00 GMT 1998


OK to push?


	* mips.md (extendsidi2): Allow extension to/from a non-mips16 
	register.

Index: mips.md
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/mips/mips.md,v
retrieving revision 1.95
diff -c -r1.95 mips.md
*** mips.md	1998/01/23 07:20:09	1.95
--- mips.md	1998/02/06 20:07:02
***************
*** 3697,3709 ****
  ;; 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")))]
    "TARGET_64BIT"
    "* return mips_move_1word (operands, insn, FALSE);"
!   [(set_attr "type"	"move,hilo,load,load")
     (set_attr "mode"	"DI")
!    (set_attr "length"	"1,1,1,2")])
  
  ;; These patterns originally accepted general_operands, however, slightly
  ;; better code is generated by only accepting register_operands, and then
--- 3697,3709 ----
  ;; doing a move.
  
  (define_insn "extendsidi2"
!   [(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,move,move,hilo,load,load")
     (set_attr "mode"	"DI")
!    (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




More information about the Gcc mailing list