This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Kirill Yukhin <kirill dot yukhin at gmail dot com>, gcc-patches at gcc dot gnu dot org, Uros Bizjak <ubizjak at gmail dot com>, Richard Henderson <rth at redhat dot com>, Jakub Jelinek <jakub at redhat dot com>
- Date: Thu, 2 Jan 2014 23:16:32 +0100
- Subject: Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.
- Authentication-results: sourceware.org; auth=none
- References: <20131112123633 dot GC34333 at msticlxl57 dot ims dot intel dot com> <201401021612 dot 15008 dot ebotcazou at adacore dot com> <20140102195046 dot GA20377 at atrey dot karlin dot mff dot cuni dot cz> <201401022256 dot 42675 dot ebotcazou at adacore dot com>
> > x86-64 ABI has clause about aligning static vars to 128bit boundary at a
> > given size. This was introduced to aid compiler to generate aligned
> > vector store/load even if the object may bind to other object file.
> > This is set to stone and can not be changed for AVX/SSE.
>
> Yes, but that's irrelevant in 32-bit mode.
>
> > For other objects that are fully under local control we can bump up
> > alignment more. I remember this code was originally supposed to bump up
> > to 128bits since it was written long before AVX. I suppose it would make
> > sense to do so when AVX is enabled and we anticipate to use it.
>
> So the same unexpected side-effect (decreasing the alignment) probably happened
> when the maximum alignment was bumped from 128 to 256.
Yes, that code was written with only one vector mode in mind.
It would be nice to have some data if the code helps at all though, but I guess
it would be sanner to bump alignment up to largest enabled vector mode that
is smaller than object size instead of what we do now.
Honza