This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][PING] Add vectorization of builtin functions
- From: Dorit Nuzman <DORIT at il dot ibm dot com>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Guenther <rguenther at suse dot de>, Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>, Andrew Pinski <pinskia at gmail dot com>
- Date: Tue, 28 Nov 2006 15:01:33 +0200
- Subject: Re: [PATCH][PING] Add vectorization of builtin functions
> On Sun, 26 Nov 2006, Richard Guenther wrote:
> > 2006-11-16 Richard Guenther <email@example.com>
> > Zdenek Dvorak <firstname.lastname@example.org>
> > * target.h (struct gcc_target): Add builtin_vectorized_function
> > target hook.
> > * target-def.h (TARGET_VECTORIZE): Likewise.
> > * targhooks.h (default_builtin_vectorized_function): Declare.
> > * targhooks.c (default_builtin_vectorized_function): Define.
> > * tree-vectorizer.h (stmt_vec_info_type): Add call_vec_info_type.
> > (vectorizable_call): Declare.
> > * tree-vect-analyze.c (vect_analyze_operations): Call
> > vectorizable_call.
> > * tree-vect-transform.c (vectorizable_function): New static
> > (build_vectorized_function_call): Likewise.
> > (vectorizable_call): New function.
> > (vect_transform_stmt): Handle vectorizable calls.
> This is OK for mainline, assuming that the vectorization folks have no
> objections. This infrastructure looks to be independent of the other
> pieces, so presumably can be committed before resurecting libgcc-math
> library (though my vote is that your exisiting maintainership is still
> valid) or adding the x86 backend support. Is there anyone investigating
> vectorized math support for the other backends?
We'd probably want to exploit this feature for the Cell backend.
On the SPU side, a simd math lib would probably be made available in the
near future; the question is - do the library functions have to be provided
with GCC, like Richard Guenther's implementation for AMD, or could we rely
on the library to be present as an external package?
On the PPU/powerpc side, would be nice to use some Altivec math library
(e.g. something like http://www.freevec.org/ ?)?