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

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
GCC can now vectorize this.

For AArch64 I get:

.L46:
        cmeq    v30.16b, v30.16b, v27.16b
        umaxp   v30.4s, v30.4s, v30.4s
        fmov    x2, d30
        cbnz    x2, .L10
        add     v31.2d, v31.2d, v26.2d
        add     x0, x0, 1
        cmp     x3, x0
        bls     .L45
.L15:
        lsl     x2, x0, 4
        ldr     q30, [x4, x2]
        cmeq    v29.16b, v30.16b, v28.16b
        umaxp   v29.4s, v29.4s, v29.4s
        fmov    x2, d29
        cbz     x2, .L46
.L10:
        fmov    x0, d31
        b       .L17

Reply via email to