https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97619
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> --- Reduced code is: char a; char *b; int c; void f(void) { char *d = f; int e; for(;e;e++) { d[4*e] = a*(256-c) + b[4*e]*c >> 8; d[4*e+1] = a*(256-c) + b[4*e+1]*c >> 8; d[4*e+2] = a*(256-c) + b[4*e+2]*c >> 8; d[4*e+3] = a*(256-c) + b[4*e+3]*c >> 8; } }