]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibMmx/X64/CopyMem.asm
Revised GetPowerOfTwo32() and GetPowerOfTwo64() to be more efficient.
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / X64 / CopyMem.asm
index 372c36520381d00f9b176a5e66fbec5aced90f94..801cf92750aee136041032719d38fcf64ae64039 100644 (file)
@@ -46,6 +46,7 @@ InternalMemCopyMem  PROC    USES    rsi rdi
     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
@@ -53,6 +54,7 @@ InternalMemCopyMem  PROC    USES    rsi rdi
     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