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: Richard Guenther <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org, Andrew Pinski <pinskia at gmail dot com>, Roger Sayle <roger at eyesopen dot com>, Ulrich Weigand <Ulrich dot Weigand at de dot ibm dot com>
- Date: Sun, 3 Dec 2006 22:50:12 +0200
- Subject: Re: [PATCH][PING] Add vectorization of builtin functions
Richard Guenther <email@example.com> wrote on 30/11/2006 16:22:14:
> > > This is OK for mainline, assuming that the vectorization folks have
> > > 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
> > > valid) or adding the x86 backend support. Is there anyone
> > > 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
> > near future; the question is - do the library functions have to be
> > with GCC, like Richard Guenther's implementation for AMD, or could we
> > on the library to be present as an external package?
> If libgcc-math works out it would be a natural place to stick these
> parts. This eases gcc configuration and usage.
but only for cases in which you can make the library code available with
Andrew, do you know if that's going to be the case with the "SIMD Math
library for the Cell BEA"
(as you mention in -
> My fallback plan is to support target/OS dependent vector libraries
> similar to fortran -fexternal-blas, let's call it -fvecmath. At
> configure time the system provider could choose a kind of vector
> library he wants to support (like Intel MKL or AMD MKL) with
> --enable-vecmath=intel-mkl which the target/OS config could then
> use for enabling the right set of transformations (sin -> __sse2_sinv
> in case of Intel MKL, other symbols in other cases). We could even
> try to support multiple libraries, but then automatically linking
> both with -fvecmath could create symbol conflicts. Or allow
> configuring for multiple libraries but only enable one with
> -fvecmath=intel-mkl and let the target sort out things.
> The problem is really while for -fexternal-blas the ABI to the
> library is well-defined it differs for the different vector
> libraries (there's even PR22226 requesting support for IBM MASSV
> or Intel VML libraries).
> But before I start working on the infrastructure part of such
> change I'd rather have a decision on libgcc-math (to not waste
> my time twice).
sounds like there's room for both approaches?
> > On the PPU/powerpc side, would be nice to use some Altivec math library
> > (e.g. something like http://www.freevec.org/ ?)?
on second look - freevec doesn't look so relevant - it's not a vector-API
math lib, but
rather a vectorized implementation of standard GLIBC memory/string
Anyone knows a non proprietary math library for Altivec that we could make
available with gcc, using the libgcc-math scheme?