fix for loop-4 on a 32-bit -> 64-bit crosscompile
Geoff Keating
geoffk@cygnus.com
Sat Jul 15 20:24:00 GMT 2000
This patch fixes the loop-4 regression when a 32-bit host is being
used for a 64-bit target.
Bootstrap & test on alpha running; it was originally tested on an
older egcs version (+cygnus hacks) on AIX32 and AIX64.
OK to commit (assuming no test failures)?
--
- Geoffrey Keating <geoffk@cygnus.com>
===File ~/patches/cygnus/rs6000-loop4.patch=================
2000-07-08 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.
Index: unroll.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/unroll.c,v
retrieving revision 1.123
retrieving revision 1.123.8.1
diff -u -p -r1.123 -r1.123.8.1
--- unroll.c 2000/01/11 15:00:02 1.123
+++ unroll.c 2000/07/09 20:55:57 1.123.8.1
@@ -1922,8 +1922,9 @@ copy_loop_body (copy_start, copy_end, ma
#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
============================================================
More information about the Gcc-patches
mailing list