https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115841
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- <bb 8> [local count: 955630228]: # sfn11s_17 = PHI <sfn11s_156(69), 0.0(7)> # sfn12s_2 = PHI <sfn12s_133(69), 0.0(7)> # kr_4 = PHI <kr_118(69), 1(7)> # ivtmp_966 = PHI <ivtmp_965(69), 32(7)> _420 = kr_4 + -1; _205 = (long int) _420; fk_206 = MEM <float[0:D.7142]> [(float[0:D.7057] *)&A.170][_205]; _171 = MEM <float[0:D.7166]> [(float[0:D.7061] *)&xl][_205]; _266 = _171 * fk_206; fun_163 = _266 * 6.93149983882904052734375e-1; b11_164 = MEM <float[0:D.7145]> [(float[0:D.7067] *)&A.166][_205]; b12_161 = MEM <float[0:D.7148]> [(float[0:D.7071] *)&A.167][_205]; _162 = fun_163 * b11_164; sfn11s_156 = sfn11s_17 + _162; _152 = b12_161 * fun_163; sfn12s_133 = sfn12s_2 + _152; kr_118 = kr_4 + 1; ivtmp_965 = ivtmp_966 - 1; if (ivtmp_965 == 0) goto <bb 9>; [12.36%] else goto <bb 69>; [87.64%] <bb 69> [local count: 837518626]: goto <bb 8>; [100.00%] <bb 9> [local count: 118111601]: # sfn12s_990 = PHI <sfn12s_133(8)> # sfn11s_989 = PHI <sfn11s_156(8)> is the loop vectorized where we somehow peel the prologue and the main vect loop (which isn't masked) vectorized epilog has a broken prologue (continuing the vect reduction with the vector defs) and that epilogue is masked.