* regmove.c (regmove_optimize): Use lowpart_subreg instead of
gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
From-SVN: r90762
+2004-11-16 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regmove.c (regmove_optimize): Use lowpart_subreg instead of
+ gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
+
2004-11-16 Devang Patel <dpatel@apple.com>
* tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
&& GET_MODE_SIZE (GET_MODE (dst))
>= GET_MODE_SIZE (GET_MODE (SUBREG_REG (dst))))
{
- src_subreg
- = gen_rtx_SUBREG (GET_MODE (SUBREG_REG (dst)),
- src, SUBREG_BYTE (dst));
dst = SUBREG_REG (dst);
+ src_subreg = lowpart_subreg (GET_MODE (dst),
+ src, GET_MODE (src));
+ if (!src_subreg)
+ continue;
}
if (!REG_P (dst)
|| REGNO (dst) < FIRST_PSEUDO_REGISTER)