[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
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