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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed,
ivcannon is turning the loops into:
  <bb 2> [local count: 79093198]:
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 357878150]:
  a_8 = a_11 + 1;
  c_14 = c_3 + 2;
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 79093198]:
  # _5 = PHI <123(6)>
  return _5;

  <bb 6> [local count: 375401868]:
  # c_3 = PHI <1(2), c_14(4)>
  # a_11 = PHI <0(2), a_8(4)>
  # ivtmp_20 = PHI <2(2), ivtmp_1(4)>
  c_6 = c_3 + 1;
  ivtmp_1 = ivtmp_20 - 1;
  if (ivtmp_1 == 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 4>; [94.50%]

Removing all of the if conditions on c < a and turning it into true ...

Reply via email to