]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibSse2 / X64 / SetMem.S
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
deleted file mode 100644 (file)
index eb4ce80..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#\r
-# ConvertAsm.py: Automatically generated from SetMem.asm\r
-#\r
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php.\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   SetMem.S\r
-#\r
-# Abstract:\r
-#\r
-#   SetMem function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-\r
-\r
-#------------------------------------------------------------------------------\r
-#  VOID *\r
-#  EFIAPI\r
-#  InternalMemSetMem (\r
-#    IN VOID   *Buffer,\r
-#    IN UINTN  Count,\r
-#    IN UINT8  Value\r
-#    )\r
-#------------------------------------------------------------------------------\r
-ASM_GLOBAL ASM_PFX(InternalMemSetMem)\r
-ASM_PFX(InternalMemSetMem):\r
-    pushq   %rdi\r
-    movq    %rcx, %rdi                  # rdi <- Buffer\r
-    movb    %r8b, %al                   # al <- Value\r
-    movq    %rdi, %r9                   # r9 <- Buffer as return value\r
-    xorq    %rcx, %rcx\r
-    subq    %rdi, %rcx\r
-    andq    $15, %rcx                   # rcx + rdi aligns on 16-byte boundary\r
-    jz      L0\r
-    cmpq    %rdx, %rcx\r
-    cmova   %rdx, %rcx\r
-    subq    %rcx, %rdx\r
-    rep     stosb\r
-L0:\r
-    movq    %rdx, %rcx\r
-    andq    $15, %rdx\r
-    shrq    $4, %rcx\r
-    jz      L_SetBytes\r
-    movb    %al, %ah                    # ax <- Value repeats twice\r
-    movdqa  %xmm0, 0x10(%rsp)           # save xmm0\r
-    movd    %eax, %xmm0                 # xmm0[0..16] <- Value repeats twice\r
-    pshuflw $0, %xmm0, %xmm0            # xmm0[0..63] <- Value repeats 8 times\r
-    movlhps %xmm0, %xmm0                # xmm0 <- Value repeats 16 times\r
-L1:\r
-    movntdq %xmm0, (%rdi)               # rdi should be 16-byte aligned\r
-    add     $16, %rdi\r
-    loop    L1\r
-    mfence\r
-    movdqa  0x10(%rsp), %xmm0           # restore xmm0\r
-L_SetBytes:\r
-    movl    %edx, %ecx                  # high 32 bits of rcx are always zero\r
-    rep     stosb\r
-    movq    %r9, %rax                   # rax <- Return value\r
-    popq    %rdi\r
-    ret\r