https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94787
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Created attachment 59026 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59026&action=edit The (pop cmp 1) |& (a cmp 0) testcase This is the full one. Note `a ? 1 : b` is also reduced down to `a | b` (etc.) So I am still deciding on how to handle this in a reasonable fashion.