void * memcpy_sse_a( void *dest, const void *src, size_t sz ){
__asm{
mov edi, dest
mov esi, src
mov ecx, sz
shr ecx, 4
lab_1:movaps xmm0, [esi]
movaps [edi], xmm0
add edi, 16
add esi, 16
dec ecx
jnz lab_1
}
return dest;
}

void * memcpy_sse_b( void *dest, const void *src, size_t sz ){
__asm{
mov edi, dest
mov esi, src
mov ecx, sz
xor eax, eax
shr ecx, 4
lab_1:movaps xmm0, [esi + eax]
movaps [edi + eax], xmm0
add eax, 16
dec ecx
jnz lab_1
}
return dest;
}