> Currently, we have to use intrinsics to support such shift. Isn't syntax of 
> vector
> shift intuitive enough to be supported natively? Someone may argue it breaks 
> the
> C language. But vector is a GCC extension anyway. Support for vector 
> add/sub/etc
> already break C syntax. Any thought? Sorry if this issue had been raised in 
> past.

I see no reason why this could not be added provided that it is 1)
adequately documented 2) implemented when not supported in hardware too
(tree-ssa-vect-generic.c) 3) possibly implemented for both C and C++.

Regarding 2, note that this

> V4H tst(V4H a, V4H b){
>   return a << b;
> }

would have to be emulated on all x86 targets prior to SSE5.

Another much desired feature would be OpenCL C-style masking and swizzling.

Paolo

Reply via email to