https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125189
--- Comment #3 from vincenzo Innocente <vincenzo.innocente at cern dot ch> ---
Btw
just for reference intrinsic vectors do work for the example
#include<cstring>
typedef int v16i __attribute__ ((vector_size (16*sizeof(int))));
typedef float v16f __attribute__ ((vector_size (16*sizeof(float))));
extern v16i vy;
void kernel3(v16f const * a, v16f * x) {
v16i ai;
for (int i=0;i<2048/16; i++) {
memcpy(&ai,a+i,sizeof(ai)); // ok different than original (just an
example)
v16i j = ai%16;
x[i] = __builtin_shuffle(vy[i],j)*a[i];
}
}