From: Steve Chamberlain Date: Mon, 10 May 1993 15:59:02 +0000 (+0000) Subject: (movstrsi): Take alignment into account. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b2358eb12c5bde86168813302ab889c1d5739817;p=gcc.git (movstrsi): Take alignment into account. From-SVN: r4410 --- diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index e7c52ee1385..2c8f6610905 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -1176,11 +1176,12 @@ { 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));