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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2025-09-15
     Ever confirmed|0                           |1
             Status|RESOLVED                    |NEW
         Resolution|INVALID                     |---
   Target Milestone|10.0                        |---

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
  <bb 3> [local count: 955630224]:
  # ivtmp.11_30 = PHI <ivtmp.11_11(8), ivtmp.11_9(7)>
  _3 = 1 - t.0_1;
  _4 = (bool) _3;
  _5 = (unsigned long) &ac;
  _21 = (bool) _5;
  _2 = _4 - _21;
  _31 = (bool) ivtmp.11_30;
  _32 = _2 + _31;
  _6 = _32;
  _33 = (void *) ivtmp.11_30;
  MEM[(bool *)_33 + 1B] = _6;
  ivtmp.11_11 = ivtmp.11_30 + 1;
  if (ivtmp.11_11 != _39)
    goto <bb 8>; [89.00%]
  else
    goto <bb 9>; [11.00%]

I am going to reopen this because IV-OPTS does something interesting to the IR.
  _2 = _4 - _21;
Where _2 and _4 are boolean types.

I think is is trying to do ((n - i + 1) % 2) in a boolean way.

Reply via email to