This is the mail archive of the
mailing list for the GCC project.
Re: Loop unrolling-related SPEC regressions?
> Honza writes:
> > THe base/peak flags are not supposed to bring best performance,
> > but be good for testing majority of gcc features.
> gcc's competition, though, tends to use them that way (choosing options
> that meet the criteria but give best performance).
> Not that I want to get into a war on that front, but ...
Hmm, perhaps we can try to make kind of "official" SPEC results when 3.1 release
is out. Andreas did some experimentation with the various options (it is
linked from the page), and as I remember the loop unrolling -funroll-loops
had neutral effect overal, while -funroll-all-loops caused slight performance
Thinks may've changed, as I tried to investigate some of the regressions and
address some of code size issues. THe code produced by 3.1 should be
considerably smaller than code produced by 3.0.
Anyway I would like to see the recent regressions solved. Some of them
appears to be due to patch:
2001-11-17 Corey Minyard <email@example.com>
Richard Henderson <firstname.lastname@example.org>
* unroll.c (loop_iterations): Detect one situation in which we
overestimate the number of iterations.
2001-11-30 Zoltan Hidvegi <email@example.com>
* unroll.c (unroll_loop): Correct special exit cases.
I tried to investigate these but lacking simple testcase I found it quite
dificult. I fixed some defects but still the overall resutls does not
improve. FOr 3.2 we hope to have ready new loop unroller code, but for
3.1 this apepars to be important issue.