summaryrefslogtreecommitdiff
path: root/gcc/loop-unroll.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-20 23:01:12 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-09-20 23:01:12 +0000
commite1dfbe3090ccf6cfbc7275cfdfa38f71647de3ed (patch)
tree8c98991ecdce73acfe22e53e466031d83b2524c1 /gcc/loop-unroll.c
parent6f44b17da48973c9fe4f7b690879dd90bf8a8c90 (diff)
parent1b2bf75690af8115739ebba710a44d05388c7a1a (diff)
downloadgcc-e1dfbe3090ccf6cfbc7275cfdfa38f71647de3ed.tar.gz
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@202802 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop-unroll.c')
-rw-r--r--gcc/loop-unroll.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c
index 0b46f1d8399..b2587bb6aee 100644
--- a/gcc/loop-unroll.c
+++ b/gcc/loop-unroll.c
@@ -1160,8 +1160,7 @@ unroll_loop_runtime_iterations (struct loop *loop)
the number of unrollings is a power of two, and thus this is correct
even if there is overflow in the computation. */
niter = expand_simple_binop (desc->mode, AND,
- niter,
- GEN_INT (max_unroll),
+ niter, gen_int_mode (max_unroll, desc->mode),
NULL_RTX, 0, OPTAB_LIB_WIDEN);
init_code = get_insns ();
@@ -1304,7 +1303,7 @@ unroll_loop_runtime_iterations (struct loop *loop)
gcc_assert (!desc->const_iter);
desc->niter_expr =
simplify_gen_binary (UDIV, desc->mode, old_niter,
- GEN_INT (max_unroll + 1));
+ gen_int_mode (max_unroll + 1, desc->mode));
loop->nb_iterations_upper_bound
= wi::udiv_trunc (loop->nb_iterations_upper_bound, max_unroll + 1);
if (loop->any_estimate)