[Bug middle-end/35691] Missed (a == 0) && (b == 0) into (a|(typeof(a)(b)) == 0 when the types don't match

prathamesh3492 at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 9 09:52:00 GMT 2016


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

prathamesh3492 at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |prathamesh3492 at gcc dot gnu.org

--- Comment #2 from prathamesh3492 at gcc dot gnu.org ---
Fixed on targets when LOGICAL_OP_NON_SHORT_CIRCUIT is true.
When LOGICAL_OP_NON_SHORT_CIRCUIT is false, the conversion of truth_andif_expr
to bit_and_expr doesn't happen and the pattern added in r241915 doesn't get
matched.


More information about the Gcc-bugs mailing list