This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH rs6000] (small C++ patch) Add intrinsics for the new vec_* specified by the C/C++ Language Extension for the CBEA
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: Andrew Pinski <Andrew_Pinski at playstation dot sony dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Trevor_Smigiel <Trevor_Smigiel at playstation dot sony dot com>, David Edelsohn <dje dot gcc at gmail dot com>
- Date: Wed, 01 Oct 2008 13:05:36 +0200
- Subject: Re: [PATCH rs6000] (small C++ patch) Add intrinsics for the new vec_* specified by the C/C++ Language Extension for the CBEA
- References: <firstname.lastname@example.org>
Andrew Pinski wrote:
> This adds the four new intrinsics that are specified by the C/C++
> Language Extension for the CBEA; vec_extract, vec_insert, vec_promote,
> and vec_splats. These intrinsics do not correspond to any one
> instruction but they are useful for extracting and inserting into a
> vector. They were designed to correspond to the SPU intrinsics that
> are name similar.
> I implemented so they get translated early on to trees so the tree
> level optimizers can maybe do some optimizations on them. Currently
> the tree level optimizers don't do much but later on they could, I
> have some ideas of implementing some optimizations for vectors.
> I had to add some small support for C++ to support
> COMPOUND_LITERAL_EXPR to say it is a lvalue.
> OK? Bootstraped and tested on powerpc64-linux-gnu with no regressions.
It would be cool to provide these on every machine. It is 4.5 material
of course though. Can you create a PR and CC me?