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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-05-13
             Status|UNCONFIRMED                 |NEW
           Severity|normal                      |enhancement
          Component|rtl-optimization            |middle-end
           Keywords|                            |missed-optimization
     Ever confirmed|0                           |1

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So the difference between good1 and bad1 at the gimple level is the order of
operands of the bit_ior:
good1:

  ov_8 = _13 != 0;
  _9 = x_2(D) != 0;
  _10 = ov_8 | _9;
  if (_10 != 0)

bad1:
  ov_7 = _13 != 0;
  _1 = x_8(D) != 0;
  _2 = _1 | ov_7;
  if (_2 != 0)

Reply via email to