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];
   }
}

Reply via email to