https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99918
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu.org
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Martin Sebor from comment #2)
> Bisection points to r225825 as the revision where GCC started to fail to
> fold the code in g().
the fold-const didn't check `types_match (type, TREE_TYPE (@0))` but rather
just did the equivalent to:
(simplify
(ne @0 integer_zerop@1)
(if (TREE_CODE (TREE_TYPE (@0)) == BOOLEAN_TYPE)
(non_lvalue (convert @0))))
While match now does not do the convert and checks the types_match check
instead.