[Bug middle-end/71762] [5/6/7 Regression] ~X & Y to X < Y doesn't work for uninitialized values

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 9 15:04:00 GMT 2016


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
The easiest "fix" might be to expand X < Y of 1-bit entities back to and-not...

Or to remove these patterns from match.pd again, because if expansion needs
to insert truncations for them to be valid that's never going to be a win.

Jeff, you added those initially:

2013-06-19  Jeff Law  <law@redhat.com>

        * tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): Fix typo
        in comment.

        * tree-ssa-forwprop.c (simplify_bitwise_binary_boolean): New function.
        (simplify_bitwise_binary): Use it to simpify certain binary ops on
        booleans.

any preference?  I'd rip them out and maybe teach the transform to
combine/simplify-rtx which could check known-zero-bits to make sure the
upper bits are not undefined.


More information about the Gcc-bugs mailing list