This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/71762] [5/6/7 Regression] ~X & Y to X < Y doesn't work for uninitialized values
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 09 Nov 2016 15:04:08 +0000
- Subject: [Bug middle-end/71762] [5/6/7 Regression] ~X & Y to X < Y doesn't work for uninitialized values
- Auto-submitted: auto-generated
- References: <bug-71762-4@http.gcc.gnu.org/bugzilla/>
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.