and r8, 7\r
shr rcx, 3 ; rcx <- # of Qwords to copy\r
jz @CopyBytes\r
+ DB 49h, 0fh, 7eh, 0c2h ; movq r10, mm0 ; save mm0\r
@@:\r
DB 48h, 0fh, 6fh, 06h ; movq mm0, [rsi]\r
DB 48h, 0fh, 0e7h, 07h ; movntq [rdi], mm0\r
add rdi, 8\r
loop @B\r
mfence\r
+ DB 49h, 0fh, 6eh, 0c2h ; movq mm0, r10 ; restore mm0\r
jmp @CopyBytes\r
@CopyBackward:\r
mov rdi, r9 ; rdi <- End of Destination\r