This is the mail archive of the
mailing list for the GCC project.
Re: Vector shuffling
On 08/15/2010 08:54 PM, Steven Bosscher wrote:
On Sun, Aug 15, 2010 at 6:07 PM, Chris Lattner<firstname.lastname@example.org>
On Aug 15, 2010, at 7:30 AM, Artem Shinkarov wrote:
The patch implements vector shuffling according to the OpenCL
standard. The patch introduces builtin function
__builtin_shuffle which accepts two or three parameters:
__builtin_shuffle (vec, mask) or __builtin_shuffle (vec0, vec1,
mask) and returns a shuffled vector.
Function is trying to dispatch shuffling to the
hardware-specific shuffling instructions via new target hooks. If
this attempt fails, function expands shuffling piecewise.
Great, thanks for working on this. In the effort to make free
software compilers agree with each other in this case, could you
consider implementing the same extension that Clang provides?
The major difference is the naming of the builtin and that the
index list is taken as a series of variadic arguments.
It seems to me that the focus should first be on implementing the
standard, and only look at extensions later. But perhaps you can
file an enhancement request in Bugzilla when the patch is on the GCC
In fact, it would be even better if the three-argument variable was
named shuffle2, which is coherent with OpenCL C.