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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Doesn't ICE for me, but SLP during vectorization goes wild, for very short
*.ifcvt
  <bb 2> [local count: 12199019]:
  b_lsm.4_24 = b;

  <bb 3> [local count: 97603136]:
  # d_69 = PHI <2(2), d_9(5)>
  # b_lsm.4_17 = PHI <b_lsm.4_24(2), _79(5)>
  # ivtmp_76 = PHI <8(2), ivtmp_73(5)>
  _14 = a[d_69][5];
  _16 = _14 + b_lsm.4_17;
  _23 = _14 + _16;
  _30 = _14 + _23;
  _37 = _14 + _30;
  _44 = _14 + _37;
  _51 = _14 + _44;
  _58 = _14 + _51;
  _65 = _14 + _58;
  _72 = _14 + _65;
  _79 = _14 + _72;
  d_9 = d_69 + 1;
  ivtmp_73 = ivtmp_76 - 1;
  if (ivtmp_73 != 0)
    goto <bb 5>; [87.50%]
  else
    goto <bb 4>; [12.50%]

  <bb 5> [local count: 85404116]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 12199019]:
  # _80 = PHI <_79(3)>
  b = _80;
  return;
it creates a *.vect dump with 1860297 lines, with:
  vect__14.10_5 = MEM <vector(8) int> [(int *)vectp_a.8_7];
  vectp_a.8_4 = vectp_a.8_7 + 32;
  vect__14.11_3 = MEM <vector(8) int> [(int *)vectp_a.8_4];
  vectp_a.8_2 = vectp_a.8_4 + 32;
  vect__14.12_1 = MEM <vector(8) int> [(int *)vectp_a.8_2];
  vectp_a.8_10 = vectp_a.8_2 + 32;
  vect__14.13_15 = MEM <vector(8) int> [(int *)vectp_a.8_10];
  vectp_a.8_31 = vectp_a.8_10 + 32;
...
where there are 620046 those MEM loads that nothing consumes and 620046
additions of 32.

Reply via email to