aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2009-04-09 16:07:43 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2009-04-09 16:07:43 +0000
commitb45f0e58d72a6ea2f54d007152b55fc44311359f (patch)
treed12ca0de4241fd0f950beabe6b910ba0a883eabd /gcc/expmed.c
parent9332c6ebd1b4ce843ddf9be3d9abdf6abeb3dfcd (diff)
downloadgcc-b45f0e58d72a6ea2f54d007152b55fc44311359f.zip
gcc-b45f0e58d72a6ea2f54d007152b55fc44311359f.tar.gz
gcc-b45f0e58d72a6ea2f54d007152b55fc44311359f.tar.bz2
expmed.c (expand_divmod): Always use a comparison for a division by a large unsigned integer.
2009-04-09 Paolo Bonzini <bonzini@gnu.org> * expmed.c (expand_divmod): Always use a comparison for a division by a large unsigned integer. * fold-const.c (tree_single_nonzero_warnv_p): Always treat decls for things others than variables or functions as nonzero. testsuite: 2009-04-09 Paolo Bonzini <bonzini@gnu.org> * gcc.dg/pr27150-1.c: Change to a link test. From-SVN: r145846
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index da0db3b..165bcae 100644
--- a/gcc/expmed.c
+++ b/gcc/expmed.c
@@ -3998,10 +3998,8 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode,
{
/* Most significant bit of divisor is set; emit an scc
insn. */
- quotient = emit_store_flag (tquotient, GEU, op0, op1,
- compute_mode, 1, 1);
- if (quotient == 0)
- goto fail1;
+ quotient = emit_store_flag_force (tquotient, GEU, op0, op1,
+ compute_mode, 1, 1);
}
else
{