https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98625
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- > only >> 4 and << 8 shifts going on there. The thing is here that -1 is being shifted. That's undefined, you likely want to do shifting in an unsigned type and later cast to an unsigned type.