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