OSDN Git Service

* unroll.c (copy_loop_body): Fix one instance of using host
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2000 00:16:59 +0000 (00:16 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Jul 2000 00:16:59 +0000 (00:16 +0000)
arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
cross-compile.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35109 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/unroll.c

index 4d8f88a..8597b35 100644 (file)
@@ -1,5 +1,9 @@
 2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
 
+       * unroll.c (copy_loop_body): Fix one instance of using host
+       arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
+       cross-compile.
+
        * tlink.c (scan_linker_output): Tweak for output of AIX ld.
 
 2000-07-17  Richard Henderson  <rth@cygnus.com>
index f8dfc03..3197053 100644 (file)
@@ -1940,8 +1940,9 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration,
 #endif
 
                  splittable_regs[regno]
-                   = GEN_INT (INTVAL (giv_inc)
-                              + INTVAL (splittable_regs[src_regno]));
+                   = simplify_gen_binary (PLUS, GET_MODE (giv_src_reg),
+                                          giv_inc,
+                                          splittable_regs[src_regno]);
                  giv_inc = splittable_regs[regno];
 
                  /* Now split the induction variable by changing the dest