diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8946a18500b..613c2bf4dd0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Dec 18 18:30:20 1999 J"orn Rennecke + + * unroll.c (copy_loop_body): Don't treat a REG like a PLUS. + 1999-12-18 10:42 -0800 Zack Weinberg * objc/objc-parse.c: Regenerate. This file must be rebuilt diff --git a/gcc/unroll.c b/gcc/unroll.c index 94451e1717b..6135b858ca7 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1812,11 +1812,14 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, value = plus_constant (tv->dest_reg, tv->const_adjust); - /* The constant could be too large for an add - immediate, so can't directly emit an insn - here. */ - emit_unrolled_add (dest_reg, XEXP (value, 0), - XEXP (value, 1)); + if (GET_CODE (value) == PLUS) + { + /* The constant could be too large for an add + immediate, so can't directly emit an insn + here. */ + emit_unrolled_add (dest_reg, XEXP (value, 0), + XEXP (value, 1)); + } } /* Reset the giv to be just the register again, in case