https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117169
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- as mentioned GCC is able to handle: ``` int f2(signed char x) { return (x&0x30) || (x & 0x03); } ``` in ifcombine. Just we don't treat `<0` like the check on the sign bit.