From 31ff3e0b7728ede11862345df0347fc3403a5259 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Fri, 5 Sep 2003 18:28:48 +0000 Subject: [PATCH] re PR rtl-optimization/1823 (-ftrapv aborts with pointer difference due to division optimization) PR optimization/1823 * expmed.c (expand_divmod ): Use an unsigned multiplication to implement division by constant integer. Co-Authored-By: Richard Henderson From-SVN: r71116 --- gcc/ChangeLog | 7 +++++++ gcc/expmed.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe1f21b424b..c0b2e2bdfd9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-09-05 Roger Sayle + Richard Henderson + + PR optimization/1823 + * expmed.c (expand_divmod ): Use an unsigned + multiplication to implement division by constant integer. + Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka * opts.c (decode_options): Enable unit-at-a-time at -O2. diff --git a/gcc/expmed.c b/gcc/expmed.c index 8ccd23804f6..c59f8651b7b 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3824,7 +3824,7 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, build_int_2 (pre_shift, 0), NULL_RTX, unsignedp); quotient = expand_mult (compute_mode, t1, gen_int_mode (ml, compute_mode), - NULL_RTX, 0); + NULL_RTX, 1); insn = get_last_insn (); set_unique_reg_note (insn,