https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121027

--- Comment #4 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Interestingly the codegen seems to have regressed significantly after that
change, too.  We used to get:

foo:
        mov     z2.h, #0
        uzp1    z0.h, z0.h, z1.h
        zip2    z0.h, z2.h, z0.h
        ret

in GCC 13, but in GCC 15 we now get:

foo:
        ptrue   p3.b, vl32
        adrp    x0, .LANCHOR0
        movi    d30, #0
        add     x0, x0, :lo12:.LANCHOR0
        ld1h    z31.h, p3/z, [x0]
        tbl     z30.h, {z30.h}, z31.h
        sub     z31.h, z31.h, #16
        tbl     z0.h, {z1.h}, z31.h
        orr     z0.d, z30.d, z0.d
        ret

Reply via email to