https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118550
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Simple workaround: ``` unsigned short readle(const unsigned char* data, TYPE offset) { const unsigned char *t = &data[offset]; unsigned char b0 = t[0], b1 = t[1]; return b0 | (b1 << 8); } ```