summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-28 03:09:43 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-28 03:09:43 +0000
commitdd192c2d7f5087a66d64fa65413a050e5e7260a8 (patch)
tree3615061d92b2f48261f61ecaf23eb95316cc7279
parent8f9a06e602751cb690c03c0f2046dfd3ca1926f6 (diff)
downloadppe42-gcc-dd192c2d7f5087a66d64fa65413a050e5e7260a8.tar.gz
ppe42-gcc-dd192c2d7f5087a66d64fa65413a050e5e7260a8.zip
* expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27796 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/expmed.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0426f63c87a..968334700e7 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 dc6382c296d..ffe16fedaf4 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,
OpenPOWER on IntegriCloud