OSDN Git Service

* config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
authordenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Sep 2002 18:20:45 +0000 (18:20 +0000)
committerdenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Sep 2002 18:20:45 +0000 (18:20 +0000)
right conversion of operands[1].

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56975 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/avr/avr.md

index a0ac3d0..c37f1f8 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-09  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
+       right conversion of operands[1].
+
 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
index a285fef..0c050b7 100644 (file)
   "{
   rtx addr0, addr1;
   int cnt8;
+  enum machine_mode mode;
 
   if (GET_CODE (operands[2]) != CONST_INT)
     FAIL;
-  cnt8 = byte_immediate_operand (operands[2], GET_MODE (operands[2]));
-  operands[2] = copy_to_mode_reg (cnt8 ? QImode : HImode, operands[2]);
-  operands[4] = operands[2];
-
+  cnt8 = byte_immediate_operand (operands[1], GET_MODE (operands[1]));
+  mode = cnt8 ? QImode : HImode;
+  operands[1] = copy_to_mode_reg (mode,
+                                  gen_int_mode (INTVAL (operands[1]), mode));
   addr0 = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
   addr1 = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
 
   "{
   rtx addr0;
   int cnt8;
+  enum machine_mode mode;
 
   if (GET_CODE (operands[1]) != CONST_INT)
     FAIL;
 
   cnt8 = byte_immediate_operand (operands[1], GET_MODE (operands[1]));
-  operands[1] = copy_to_mode_reg (cnt8 ? QImode : HImode, operands[1]);
+  mode = cnt8 ? QImode : HImode;
+  operands[1] = copy_to_mode_reg (mode,
+                                  gen_int_mode (INTVAL (operands[1]), mode));
   operands[3] = operands[1];
 
   addr0 = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));