diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37737bcabd990f8757fb7fe716fc3eb6df51f17b..660d354e49abf1cd1d1b9a4677b415ed9bb69f82 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> + Alan Hayward <alan.hayward@arm.com> + David Sherwood <david.sherwood@arm.com> + + * auto-inc-dec.c (set_inc_state): Take the mode size as a poly_int64 + rather than an int. + 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c index db1bd5bba2cee9fbf24d6d522505ac292688aab9..93d97f0cd52f4fd1ad136082053b39ad7170e23c 100644 --- a/gcc/auto-inc-dec.c +++ b/gcc/auto-inc-dec.c @@ -152,14 +152,14 @@ enum gen_form static rtx mem_tmp; static enum inc_state -set_inc_state (HOST_WIDE_INT val, int size) +set_inc_state (HOST_WIDE_INT val, poly_int64 size) { if (val == 0) return INC_ZERO; if (val < 0) - return (val == -size) ? INC_NEG_SIZE : INC_NEG_ANY; + return known_eq (val, -size) ? INC_NEG_SIZE : INC_NEG_ANY; else - return (val == size) ? INC_POS_SIZE : INC_POS_ANY; + return known_eq (val, size) ? INC_POS_SIZE : INC_POS_ANY; } /* The DECISION_TABLE that describes what form, if any, the increment