https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113736
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- struct S { int a[4]; }; struct T { struct S b[16]; }; void foo (__seg_gs struct T *p, int q) { for (int i = 0; i < 16; ++i) { p->b[i].a[0] = q; p->b[i].a[1] = q; p->b[i].a[2] = q; p->b[i].a[3] = q; } } is vectorized right though (uses <address-space-2> vector(4) int * vectp_p.4).