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

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Sep 22 21:18:00 GMT 2017


--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to prathamesh3492 from comment #2)
> 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.

Hmm, I thought ifcombine should do the "right thing" here ...

More information about the Gcc-bugs mailing list