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

--- Comment #10 from Maxim Kuvyrkov <mkuvyrkov at gcc dot gnu.org> ---
(In reply to Maxim Kuvyrkov from comment #9)
> which then becomes for aarch64:
> .L4:
>       ld2     {v0.2d - v1.2d}, [x1]
>       add     w2, w2, 1
>       cmp     w2, w7
>       eor     v0.16b, v2.16b, v0.16b
>       umov    x4, v0.d[1]
>       st1     {v0.d}[0], [x1]
>       add     x1, x1, 32
>       str     x4, [x1, -16]
>       bcc     .L4

IIUC,
        umov    x4, v0.d[1]
        st1     {v0.d}[0], [x1]
        str     x4, [x1, -16]
could become just
        st2     {v0.d - v1.2d}, [x1]

Reply via email to