]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibMmx/X64/SetMem.asm
1. Updated function headers for all assembly function
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / X64 / SetMem.asm
index 9688c3d65bb30cea4f3a53733af223b6c86705c3..923beef6c18486f11e025e0a6d82b60459b8e78d 100644 (file)
 \r
     .code\r
 \r
+;------------------------------------------------------------------------------\r
+; VOID *\r
+; EFIAPI\r
+; InternalMemSetMem (\r
+;   OUT     VOID                      *Buffer,\r
+;   IN      UINTN                     Length,\r
+;   IN      UINT8                     Value\r
+;   );\r
+;------------------------------------------------------------------------------\r
 InternalMemSetMem   PROC    USES    rdi\r
     mov     rax, r8\r
     mov     ah, al\r
-    DB      48h, 0fh, 6eh, 0c0h        ;  movq    mm0, rax\r
+    DB      48h, 0fh, 6eh, 0c0h         ; movd mm0, rax\r
     mov     r8, rcx\r
-    mov     rdi, r8\r
+    mov     rdi, r8                     ; rdi <- Buffer\r
     mov     rcx, rdx\r
+    and     edx, 7\r
     shr     rcx, 3\r
     jz      @SetBytes\r
-    DB      0fh, 70h, 0C0h, 00h        ;  pshufw  mm0, mm0, 0h\r
-@@: \r
-    DB      48h, 0fh, 0e7h, 07h        ;  movntq  [rdi], mm0\r
+    DB      0fh, 70h, 0C0h, 00h         ; pshufw mm0, mm0, 0h\r
+@@:\r
+    DB      0fh, 0e7h, 07h              ; movntq [rdi], mm0\r
     add     rdi, 8\r
     loop    @B\r
     mfence\r
 @SetBytes:\r
-    and     rdx, 7\r
-    mov     rcx, rdx\r
+    mov     ecx, edx\r
     rep     stosb\r
     mov     rax, r8\r
     ret\r