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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
On trunk with SVE I see the loop vectorized:

 <bb 4> [local count: 212600882]:
  # i_37 = PHI <i_21(11), 0(34)>
  # vectp_poly.12_88 = PHI <vectp_poly.12_89(11), vectp_poly.13_87(34)>
  # ivtmp_95 = PHI <ivtmp_96(11), 0(34)>
  # loop_mask_90 = PHI <next_mask_99(11), max_mask_98(34)>
  vect_array.14 = .MASK_LOAD_LANES (vectp_poly.12_88, 32B, loop_mask_90, { 0.0,
... });
  vect_pretmp_4.16_91 = vect_array.14[0];
  vect_pretmp_4.18_92 = vect_array.14[1];
  vect_array.14 ={v} {CLOBBER};
  pretmp_4 = poly_13(D)->v[i_37].y;
  _46 = poly_13(D)->v[0].x;
  _36 = poly_13(D)->v[0].y;
  i_21 = i_37 + 1;
  vectp_poly.12_89 = vectp_poly.12_88 + POLY_INT_CST [32, 32];
  ivtmp_96 = ivtmp_95 + POLY_INT_CST [4, 4];
  _97 = (unsigned int) ivtmp_96;
  next_mask_99 = .WHILE_ULT (_97, ni_gap.10_84, { 0, ... });
  if (next_mask_99 != { 0, ... })

without SVE it's not vectorized at all.  On x86-64 AVX512 and --param
vect-partial-vector-usage=2 doesn't help either.

What taget were you testing?

What do you mean by "manualy peeling"?

Reply via email to