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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |7.4.0
           Keywords|                            |wrong-code
   Last reconfirmed|                            |2019-11-12
                 CC|                            |glisse at gcc dot gnu.org
     Ever confirmed|0                           |1
            Summary|incorrect code with         |[8/9/10 Regression]
                   |optimization                |incorrect code with
                   |                            |optimization
      Known to fail|                            |10.0, 8.3.0, 9.2.0

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Started with r248447:

 Move "(A & C) == D is false when D & ~C != 0" to match.pd

 2017-05-25  Marc Glisse

         * fold-const.c (fold_binary_loc) [(A & C) == D]: Remove
transformation.
         * match.pd (X == C): Rewrite it here.
         (with_possible_nonzero_bits, with_possible_nonzero_bits2,
         with_certain_nonzero_bits2): New predicates.
         * tree-ssanames.c (get_nonzero_bits): Handle INTEGER_CST.

Reply via email to