https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77964
--- Comment #14 from Jiri Slaby <jirislaby at gmail dot com> --- (In reply to Andrew Pinski from comment #10) > (In reply to Markus Trippelsdorf from comment #9) > > Is subtracting undefined, too? > Yes. Comparing two unrelated arrays or subtracting them is undefined. But they are not unrelated arrays. So what from the C standard actually makes (and allows) gcc think they are unrelated? And given gcc 7 is to be released yet, can we have a switch to disable this optimization?