Fix IA-64 abort compiling ping.
authorJim Wilson <wilson@cygnus.com>
Mon, 18 Sep 2000 23:19:53 +0000 (23:19 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 18 Sep 2000 23:19:53 +0000 (16:19 -0700)
* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
before passing it to fold_rtx_mult_add.

From-SVN: r36518

gcc/ChangeLog
gcc/unroll.c

index bc0633231bf23348fc8777685e48d7d097275540..7ac43774bd9d0a06cdbec1f234a3afae1553ec6e 100644 (file)
@@ -1,5 +1,8 @@
 2000-09-18  Jim Wilson  <wilson@cygnus.com>
 
+       * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
+       before passing it to fold_rtx_mult_add.
+
        * unroll.c (final_giv_value): Pass increment through
        extend_value_for_giv before passing it to emit_iv_add_mult.
 
index 9d9b2eaa966ae8ce52ed96cc72e274480f3ea610..115aded220e8bd3f72932a6e1d8650323d889d17 100644 (file)
@@ -3686,8 +3686,9 @@ loop_iterations (loop)
        {
          struct induction *biv_inc;
 
-         increment
-           = fold_rtx_mult_add (v->mult_val, increment, const0_rtx, v->mode);
+         increment = fold_rtx_mult_add (v->mult_val,
+                                        extend_value_for_giv (v, increment),
+                                        const0_rtx, v->mode);
          /* The caller assumes that one full increment has occured at the
             first loop test.  But that's not true when the biv is incremented
             after the giv is set (which is the usual case), e.g.: