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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-11-13
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note another testcase:
signed char  f(signed char a)
{
    if (a < 0)
      return 1u<<7;
    return 0;
}

PHIOPT does convert it to:
  _4 = a_2(D) < 0;
  _5 = (signed char) _4;
  _6 = _5 << 7;

But then nothing converts it into:
  _6 = a_2(D) & 128;


Let me see what I can do.

Reply via email to