diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/expmed.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0426f63..9683347 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Jun 28 04:07:27 1999 David Edelsohn <edelsohn@gnu.org> + + * expmed.c (expand_divmod): Ensure unsigned value fits in reg_note. + Sun Jun 27 02:39:08 1999 Richard Henderson <rth@cygnus.com> * jump.c (jump_optimize_1): Validate the cmov copy to a temporary. diff --git a/gcc/expmed.c b/gcc/expmed.c index dc6382c..ffe16fe 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3246,7 +3246,9 @@ expand_divmod (rem_flag, code, mode, op0, op1, target, unsignedp) insn = get_last_insn (); if (insn != last && (set = single_set (insn)) != 0 - && SET_DEST (set) == quotient) + && SET_DEST (set) == quotient + && abs_d < ((unsigned HOST_WIDE_INT) 1 + << (HOST_BITS_PER_WIDE_INT - 1))) set_unique_reg_note (insn, REG_EQUAL, gen_rtx_DIV (compute_mode, |