https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111146
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <pins...@gcc.gnu.org>: https://gcc.gnu.org/g:cbde03abe5dbba13b992a3b610efe43aefc0e234 commit r14-3527-gcbde03abe5dbba13b992a3b610efe43aefc0e234 Author: Andrew Pinski <apin...@marvell.com> Date: Sun Aug 27 17:04:04 2023 -0700 MATCH: Remove redundant pattern for `(x | y) & ~x` After r14-2885-gb9237226fdc938, this pattern becomes redundant as we match it using bitwise_inverted_equal_p. There is already a testcase (gcc.dg/nand.c) for this pattern and it still passes after the removal. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. gcc/ChangeLog: PR tree-optimization/111146 * match.pd (`(x | y) & ~x`, `(x & y) | ~x`): Remove redundant pattern.