On Nov 22, 2011, at 3:44 PM, Chuck Guzis wrote:
Someone wrote:
*dst++ = *src++; // Copy a word of src to dst while incrementing
both
If I were looking at the code, I'd wonder why a memory move intrinsic
wasn't used (memcpy/memmove) and would have appreciated commentary as
to why it wasn't done.
Well, yeah, there's that. The only time I've ever *really* needed to do that was
in situations where memcpy/memmove were not well-optimized (it happens). My specific
example was a PowerPC screen blitter long ago where you could move memory a lot faster if
you moved it as floating-point doubles (memcpy/memmove only used the integer registers in
that implementation for some reason). I eventually ended up rewriting it as assembler
anyway.
- Dave