https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82731
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note you can reproduce the same issue with SSE2 (and not just AVX): ``` #define vect16 __attribute__((vector_size(16))) vect16 char gather(char *array, unsigned short *offset) { return (vect16 char){array[offset[0]], array[offset[1]], array[offset[2]], array[offset[3]], array[offset[4]], array[offset[5]], array[offset[6]], array[offset[7]], array[offset[8]],array[offset[9]],array[offset[10]],array[offset[11]], array[offset[12]], array[offset[13]], array[offset[14]]}; } ```