https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114666
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note fixing the `!A ? B : C` pattern generates worse code in this case but that is a different issue where we don't convert `a <= 2` into `a == 1` if we know only 1 could be the value that works (I have a patch which I need to work on for GCC 15).