https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125104
--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <[email protected]>: https://gcc.gnu.org/g:365e5618bc6fcb62560450677e0fe4f5ba96345e commit r17-705-g365e5618bc6fcb62560450677e0fe4f5ba96345e Author: Raven Hallsby <[email protected]> Date: Sat May 23 21:09:16 2026 -0500 match: Optimize `(~y & x) ^ y` into (y | x) [PR125104] Despite a similar rule existing earlier in match.pd, this simplify rule is needed because the front-end (before pass 006.original) performs trivial constant optimizations, such as ~1 -> -2 on integers (at least those defined as `int`). PR tree-optimization/125104 gcc/ChangeLog: * match.pd (`(~y & x) ^ y`): New Pattern. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/pr125104.c: New test.
