Vector shuffling

Chris Lattner clattner@apple.com
Sun Aug 15 16:12:00 GMT 2010


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?
http://clang.llvm.org/docs/LanguageExtensions.html#__builtin_shufflevector

The major difference is the naming of the builtin and that the index list is taken as a series of variadic arguments.

-Chris



More information about the Gcc-patches mailing list