On Thu, Jul 12, 2012 at 07:37:43PM +0200, Paul B Mahol wrote: > + while (count--) > + *d++ = *s; Also applies to the previous one, but doesn't make the compiler a complete mess out of this? It has no way of knowing that d != s always, so it should end up re-reading s for every single loop iteration.