aboutsummaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-04-12 03:41:36 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-04-12 03:41:36 +0000
commit691073076ba2bdceb294db095293a0453489ab0f (patch)
tree943b9fe0140e410d24c23703edfa24a7154c671e /gcc/unroll.c
parent001643af8038ea54c0fdf32ce0cc570fafed0c2c (diff)
downloadgcc-691073076ba2bdceb294db095293a0453489ab0f.zip
gcc-691073076ba2bdceb294db095293a0453489ab0f.tar.gz
gcc-691073076ba2bdceb294db095293a0453489ab0f.tar.bz2
expmed.c (store_bit_field): Truncate CONST_INTs.
* expmed.c (store_bit_field): Truncate CONST_INTs. (expand_mult_highpart, expand_divmod): Likewise. * expr.c (convert_modes, store_field): Likewise. * integrate.c (expand_inline_function): Use promote_mode() to determine whether to convert_modes() an argument as signed or unsigned. * optabs.c (expand_binop): Get CONST_INT operands sign-extended for their appropriate modes. * stmt.c (emit_case_nodes): Convert node values to the appropriate mode. (expand_end_case): Convert minval and range to the appropriate mode. * unroll.c (loop_iterations): Truncate abs_diff to the mode of the iteration variable. * varasm.c (immed_double_const): Don't require words to be narrower than host wide ints to properly sign-extend CONST_INTs. From-SVN: r41285
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 0d39276..52de499 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3962,6 +3962,8 @@ loop_iterations (loop)
else
abort ();
+ abs_diff = trunc_int_for_mode (abs_diff, GET_MODE (iteration_var));
+
/* For NE tests, make sure that the iteration variable won't miss
the final value. If abs_diff mod abs_incr is not zero, then the
iteration variable will overflow before the loop exits, and we