diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 171d2eaebd55156ec1d2e045f82e31839045a069..e9d1c4f26a2ea2811aa50fce20d1c56f1da1d33e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Mar 10 00:01:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload1.c (reload_combine_note_store): Fix calculation of number + of affected registers. + Tue Mar 9 15:48:15 1999 Richard Henderson <rth@cygnus.com> * flow.c (tidy_fallthru_edge): Be more careful finding the last diff --git a/gcc/reload1.c b/gcc/reload1.c index 97bc9988fa30b39febcbca2e8b2a45b7d83714ac..df62341c2cf2d22493e0ea089303c3c769c1a694 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -9748,7 +9748,7 @@ reload_combine_note_store (dst, set) || GET_CODE (SET_DEST (set)) == SIGN_EXTRACT || GET_CODE (SET_DEST (set)) == STRICT_LOW_PART) { - for (i = size / UNITS_PER_WORD - 1 + regno; i >= regno; i--) + for (i = (size - 1) / UNITS_PER_WORD + regno; i >= regno; i--) { reg_state[i].use_index = -1; reg_state[i].store_ruid = reload_combine_ruid; @@ -9756,7 +9756,7 @@ reload_combine_note_store (dst, set) } else { - for (i = size / UNITS_PER_WORD - 1 + regno; i >= regno; i--) + for (i = (size - 1) / UNITS_PER_WORD + regno; i >= regno; i--) { reg_state[i].store_ruid = reload_combine_ruid; reg_state[i].use_index = RELOAD_COMBINE_MAX_USES;