2005-04-16 Alexandre Oliva <aoliva@redhat.com>
+ PR target/20126
+ * loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
+ (const)).
+
* tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
comment.
loop_insn_emit_before (loop, 0, v->insn,
gen_move_insn (*v->location,
v->new_reg));
+ else if (GET_CODE (*v->location) == PLUS
+ && REG_P (XEXP (*v->location, 0))
+ && CONSTANT_P (XEXP (*v->location, 1)))
+ loop_insn_emit_before (loop, 0, v->insn,
+ gen_move_insn (XEXP (*v->location, 0),
+ gen_rtx_MINUS
+ (GET_MODE (*v->location),
+ v->new_reg,
+ XEXP (*v->location, 1))));
else
{
/* If it wasn't a reg, create a pseudo and use that. */