(movstrsi): Take alignment into account.
authorSteve Chamberlain <sac@gnu.org>
Mon, 10 May 1993 15:59:02 +0000 (15:59 +0000)
committerSteve Chamberlain <sac@gnu.org>
Mon, 10 May 1993 15:59:02 +0000 (15:59 +0000)
From-SVN: r4410

gcc/config/sh/sh.md

index e7c52ee1385fb7f75670e21ebffbaa46a01eee80..2c8f66109051473cd53b6cf3d250968b81ac2d6e 100644 (file)
 {
   rtx src_ptr = copy_to_mode_reg(Pmode,XEXP(operands[1], 0));
   rtx dst_ptr = copy_to_mode_reg(Pmode,XEXP(operands[0], 0));
-
+  int maxsize = GET_CODE (operands[2]) == CONST_INT    
+       ? MAX (INTVAL (operands[2]), INTVAL (operands[3])) : 1;
   enum machine_mode mode = 
-     (INTVAL(operands[3]) >=4)  ? SImode :
-       (INTVAL(operands[3]) >=2) ? HImode :
-        QImode;
+     (maxsize >= 4) ? SImode :
+       (maxsize >= 2) ? HImode :
+         QImode;
 
   rtx tmpreg = gen_reg_rtx(mode);
   rtx increment =  GEN_INT(GET_MODE_SIZE(mode));