https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113072
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note this applies to `|` instead of `&` too: ``` int foo1(int a, int b) { return (a ^ 4) | (~a ^ 4); } ``` This should be optimized to `-1`. Though this does NOT get optimized to `-1` on the RTL level ...