This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][4.6] [2/2] Handle multiple vector sizes with AVX
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org, irar at il dot ibm dot com
- Date: Wed, 3 Mar 2010 06:13:39 -0800
- Subject: Re: [PATCH][4.6] [2/2] Handle multiple vector sizes with AVX
- References: <alpine.LNX.2.00.1003031434530.4650@zhemvz.fhfr.qr>
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.