https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92080
Hongtao Liu <liuhongt at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |liuhongt at gcc dot gnu.org --- Comment #7 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- Another simple case is typedef int v4si __attribute__((vector_size(16))); typedef short v8hi __attribute__((vector_size(16))); v8hi a; v4si b; void foo () { b = __extension__(v4si){0, 0, 0, 0}; a = __extension__(v8hi){0, 0, 0, 0, 0, 0, 0, 0}; } GCC generates 2 pxor foo(): vpxor xmm0, xmm0, xmm0 vmovdqa XMMWORD PTR b[rip], xmm0 vpxor xmm0, xmm0, xmm0 vmovdqa XMMWORD PTR a[rip], xmm0 ret