Hello, For the targets that support vectors, we can write the following code:
typedef short V4H __attribute__ ((vector_size (8))); V4H tst(V4H a, V4H b){ return a + b; } Other operators such as -, *, |, &, ^ etc are also supported. However, vector shift is not supported by frontend, including both scalar and vector second operands. V4H tst(V4H a, V4H b){ return a << 3; } V4H tst(V4H a, V4H b){ return a << b; } 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. Greetings, Bingfeng Mei Broadcom UK