Scheduling an early complete loop unrolling pass?

Jan Hubicka hubicka@ucw.cz
Tue Feb 6 15:13:00 GMT 2007


> Richard Guenther <rguenther@suse.de> wrote on 05/02/2007 18:16:05:
> 
> > On Mon, 5 Feb 2007, Jan Hubicka wrote:
> ...
> > > Did you run some benchmarks?
> >
> > Not yet - I'm looking at the C++ SPEC 2006 benchmarks at the moment
> > and using vectorization there seems to do a lot of collateral damage
> > (maybe not measurable though).
> >
> 
> Interesting. In SPEC 2000 there is also a hot small loop in the only C++
> benchmark (eon), which get vectorized, and as a result degrades
> performance. We really should not vectorize such loops, and the solution
> is:
> 1. FORNOW: use --param min-vect-loop-bound=2 (or some value greater than
> 0).

Well, if Tomas manage to post his patch, I think the eon case is dealt
with there too (the loop is just internal loop to zero tiny vector or
something like that as long as I can remember)

Honza
> 2. SOON: rely on the vectorizer to do the cost analysis and decide not to
> vectorize such loops, using a cost model - this is in the works.
> 
> dorit
> 
> > Richard.
> >
> > --
> > Richard Guenther <rguenther@suse.de>
> > Novell / SUSE Labs



More information about the Gcc mailing list