Ken,
(I am working with Fred, but on the software side ...)
For 32bit transfers, we just use a hand-made loop with 32bit pointers (see below).
With 8bit pointers (=8bit xfer), we get the same throughput as with memcpy(), so it seems there is no optimisation in memcpy().
Bruno.
---------------
static void
myMemcpyLong(const char *src, char *dest, int taille)
{
/* This code will fail when buffers or size are not properly aligned,
* so it is not a plug-to-plug replacement for memcpy().
* (anyway 'src' and 'dest' parameters are swapped ...) */
register const long *mySrc = src;
register long *myDest = dest;
while (taille > 0) {
*myDest++ = *mySrc++;
taille -= sizeof(*mySrc);
}
} /* myMemcpyLong */