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

Reply via email to