https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92618
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Testcase in C and with fewer casts, plus portable between -m32/-m64: typedef long long __m128i __attribute__((__may_alias__, __vector_size__(2 * sizeof (long long)))); void foo (__m128i *x) { __m128i a; *x = a; } void bar (__m128i *x) { foo (x); foo (x + 1); } unsigned long long b[4]; void baz (long long *x) { bar ((__m128i *) b); *x = b[0] + b[1] + b[2] + b[3]; }