From 2e72fa6af1d3d3a808b2f0d3d951d35163c11d11 Mon Sep 17 00:00:00 2001 From: Gavin Koch Date: Thu, 12 Feb 1998 08:21:38 +0000 Subject: [PATCH] mips.md (extendsidi2): Allow extension to/from a non-mips16 register. * mips.md (extendsidi2): Allow extension to/from a non-mips16 register. From-SVN: r17866 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.md | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1dc02d36e323..f72266e006a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 12 11:18:37 1998 Gavin Koch + + * mips.md (extendsidi2): Allow extension to/from a non-mips16 + register. + Thu Feb 12 00:04:16 1998 Marc Lehmann * i386.c: Conditionally include , , and diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index 67e8ee4f7230..76e0d43bceac 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -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 -- 2.43.5