https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107455
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note GCC does this optimization at the gimple level some of the times when it comes to the same type. Witness: int x (int t) { if (t & 256) return -26; return 0; }