https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87914
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2018-11-07 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. You are expecting the outer loop to be vectorized but outer loop vectorization fails due to t.C:18:27: note: Analyze phi: x_24 = PHI <_4(3), x_23(8)> t.C:18:27: missed: reduction value used in loop. t.C:18:27: missed: Unknown def-use cycle pattern. t.C:18:27: note: Analyze phi: mask_26 = PHI <4294967295(3), mask_17(8)> t.C:18:27: missed: reduction value used in loop. t.C:18:27: missed: Unknown def-use cycle pattern. t.C:18:27: note: Analyze phi: s_7 = PHI <16(3), s_14(8)> t.C:18:27: missed: reduction value used in loop. t.C:18:27: missed: Unknown def-use cycle pattern. but for the inner loop those are just internal defs so I'm not sure why the vectorizer backs off here... (at least mask and s should be simple vect_nested_cycle, IMHO x as well)