[PATCH][4.6] [2/2] Handle multiple vector sizes with AVX

H.J. Lu hjl.tools@gmail.com
Wed Mar 3 14:13:00 GMT 2010


n Wed, Mar 3, 2010 at 5:54 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> This adjusts the vectorizer to handle multiple vector sizes as
> supported by AVX.
>
> The main parts of this patch are
>
>  1) Separate analysis of datarefs and stmts from committing to
>    vector types
>
>  2) Fixup remaining calls to get_vectype_for_scalar_type to get
>    the correct vector type
>
> I mostly concentrated on loop vectorization and only made SLP
> work as far as the testsuite or SPEC is concerned.  Also the
> pattern recognizer commits to vector types too early.  Thus likely
> I will have to dissect the analysis phase some more.
>
> The patch series passes the vectorization testsuites on x86_64
> and has the following missed optimizations with -mavx, most due
> to the i386 backend missing AVX support for almost all vectorizer
> specific expanders - one of the reason to post this preliminary
> patch, to get target maintainers the chance to have a look here
> and help me fix things.
>

Thanks for doing this. I didn't add AVX pattens since vectorizer
didn't generate them. I will add them after your patch is checked
in.


H.J.



More information about the Gcc-patches mailing list