https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83843
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Status|UNCONFIRMED |NEW Last reconfirmed| |2018-01-15 CC| |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- -fno-store-merging fixes it. test (unsigned char * buf, unsigned char * tab) { ... _6 = _2 ^ _5; bswapsrc_18 = (short unsigned int) _6; _19 = bswapsrc_18 r>> 8; MEM[(unsigned char *)buf_15(D)] = _19; looks suspicious.