https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98954
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Created attachment 50271 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50271&action=edit partial patch This is the partial patch (and still need a testcase added too). It fixes: _Bool f(unsigned m) { return !((m << 1) & 0xFF); }