This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/8599: [3.2 regression] loop unroll bug with -march=k6-3
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Cc: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 2 Dec 2002 11:48:39 +0100
- Subject: Re: optimization/8599: [3.2 regression] loop unroll bug with -march=k6-3
- References: <20021128122933.25461.qmail@sources.redhat.com> <200212012238.53957.ebotcazou@libertysurf.fr> <200212012328.27694@enzo.bigblue.local>
> 1. revert the regression-causing patch on the branch and apply Richards
> patch only instead (if you can confirm that's enough to fix the K6 bug)
Doing so indeed causes the K6 bug to vanish, because the loop is now properly
unrolled 4 times and GCC doesn't need to do a runtime calculation of the
number of iterations anymore. Moreover constructs like:
for (i=0; i <n; i++)
array[i] = 0;
seem to be properly unrolled too.
> 2. apply Richard's and Dale's patch on the branch
>
> Currently I'm leaning towards #2 as we are still very early in the 3.2.2
> phase.
Seems like unavoidable, if the code quality is as bad as that of the
K6-compiled testcase.
--
Eric Botcazou