This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][4.6] Fix builtin_conversion target-hook for AVX
- From: Laurent GUERBY <laurent at guerby dot net>
- To: Richard Guenther <rguenther at suse dot de>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 09 Apr 2010 14:08:40 +0200
- Subject: Re: [PATCH][4.6] Fix builtin_conversion target-hook for AVX
- References: <5787cf471003040200w7cb15aceob9495fc4abe8f64d@mail.gmail.com> <alpine.LNX.2.00.1004091351050.5522@zhemvz.fhfr.qr>
On Fri, 2010-04-09 at 13:52 +0200, Richard Guenther wrote:
> On Thu, 4 Mar 2010, Uros Bizjak wrote:
>
> > Hello!
> >
> > > With different vector sizes in AVX the builtin_conversion signature is
> > > not enough to distinguish all handled cases. Fixed with the following,
> > > queued for 4.6.
> > >
> > > 2010-03-03 Richard Guenther <rguenther@suse.de>
> > >
> > > * target.h (builtin_conversion): Pass in input and output types.
> > > * targhooks.c (default_builtin_vectorized_conversion): Adjust.
> > > * targhooks.h (default_builtin_vectorized_conversion): Likewise.
> > > * tree-vect-stmts.c (vectorizable_conversion): Adjust.
> > >
> > > * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
> > > Handle AVX modes.
> > > * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
> >
> > x86 parts are OK.
> >
> > (BTW: There is also ix86_builtin_vectorized_function that checks for
> > number of in and out elements of a vectorized builtin function. ATM,
> > this function handles SSE builtins only, so many generic vectorizer
> > failures are due to missing AVX handling there).
>
> Re-bootstrapped and tested on x86_64-unknown-linux-gnu, bootstrap
> and regtest on powerpc64 in progress (I had to re-start with
> --disable-werror, otherwise bootstrap is currently broken). Will
> commit to trunk if the latter looks sane.
You will likely need a patch to libgomp which does not honor
--disable-werror:
http://gcc.gnu.org/ml/gcc/2009-12/msg00373.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42519
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32193
I couldn't get any answer from libgomp maintainers
at the time.
Sincerely,
Laurent