[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