https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71428
--- Comment #2 from Zdenek Sojka <zsojka at seznam dot cz> --- I cannot upload any attachment to bugzilla (requests just time out), so here it is as a plain text: $ cat testcase.c typedef unsigned short v64u16 __attribute__ ((vector_size (64))); v64u16 foo (v64u16 p1) { p1[31] |= p1[1]; return p1; } int main () { v64u16 x = foo ((v64u16){ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }); // __builtin_printf ("%04x\n", x[31]); if (x[31] != 1) __builtin_abort(); return 0; }