[PATCH][4.6] Fix builtin_conversion target-hook for AVX

Uros Bizjak ubizjak@gmail.com
Thu Mar 4 10:03:00 GMT 2010


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).

Uros.



More information about the Gcc-patches mailing list