Auto-vectorizer and (mis-)alignment support assumptions

Jakub Jelinek
Thu Sep 12 09:32:00 GMT 2013

On Thu, Sep 12, 2013 at 11:25:31AM +0200, Richard Biener wrote:
> On Thu, Sep 12, 2013 at 10:40 AM, Frederic Riss <> wrote:
> > Thus I'm wondering if the vectorizer makes the assumption that a
> > target must be able to load/store vectors aligned on any element size
> > boundary. If it's the case, how can a target determine that a specific
> > access might not be fully aligned (and handle it specifically)?

Are you sure the vectorizer doesn't insert a runtime condition whether
it is aligned?  I mean, perhaps attempts to align the store by peeling a few
first iterations for alignment, and then check at runtime if the remaining
accesses are aligned?


More information about the Gcc mailing list