diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/loop-iv.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49812f2..5565815 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-08-31 Dale Johannesen <dalej@apple.com> + + * loop-iv.c (iv_number_of_iterations): Fix overflow check for + loops that count down. + 2005-08-31 Richard Henderson <rth@redhat.com> PR rtl-opt/23601 diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index 7c7a5de..8e915a0 100644 --- a/gcc/loop-iv.c +++ b/gcc/loop-iv.c @@ -2417,7 +2417,7 @@ iv_number_of_iterations (struct loop *loop, rtx insn, rtx condition, tmp0 = lowpart_subreg (mode, iv0.base, comp_mode); tmp1 = lowpart_subreg (mode, iv1.base, comp_mode); - bound = simplify_gen_binary (MINUS, mode, mode_mmin, + bound = simplify_gen_binary (PLUS, mode, mode_mmin, lowpart_subreg (mode, step, comp_mode)); if (step_is_pow2) { |