http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59409
--- Comment #15 from H.J. Lu <hjl.tools at gmail dot com> --- This char * my_bcopy(register char *from,register char *to,register I32 len) { char *retval = to; if (from - to >= 0) { while (len--) *to++ = *from++; } else { to += len; from += len; while (len--) *(--to) = *(--from); } return retval; } may be miscompiled.