On Sun, Mar 22, 2015 at 10:36 AM, David Miller <davem@xxxxxxxxxxxxx> wrote: > > And they end up using that byte-at-a-time code, since SLAB and SLUB > do mmemove() calls of the form: > > memmove(X + N, X, LEN); Actually, the common case in slab is overlapping but of the form memmove(p, p+x, len); which goes to memcpy. It's basically re-compacting the array at the beginning. Which was why I was asking how sure you are that memcpy *always* copies from low to high. I don't even know which version of memcpy ends up being used on M7. Some of them do things like use VIS. I can follow some regular sparc asm, there's no way I'm even *looking* at that. Is it really ok to use VIS registers in random contexts? Linus -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html