This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Teach the vectorizer about multiple sizes
Richard Henderson <firstname.lastname@example.org> wrote on 06/10/2010 11:09:35 PM:
> On 10/06/2010 01:54 PM, Richard Guenther wrote:
> > I think we also want to consider larger sizes if the target prefers
> > the smaller one but only the larger one can actually vectorize things.
> I'm going to go out on a limb and suggest that the target will
> always prefer the largest available mode. Certainly that's
> the case with all of the prefered_vector_mode hooks that you
> wrote in the other patch.
> If we wind up with a current_vector_size < max_vector_size,
> it'll be because we vectorized a type that we don't support
> at max_vector_size. Therefore if we try again with a larger
> vector size we'll simply fail again.
I think it is possible that a larger vector size is less profitable because
of outside of loop overheads (peeling, reduction epilogue, etc.). So, if
vectorizer cost model is enabled, we can fail for the larger size and
succeed for the smaller one for small loop bounds.