]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - MdePkg/Library/BaseMemoryLibMmx/X64/ZeroMem.S
Minor grammatical work--mostly adding periods. Items with ONLY period added did...
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / X64 / ZeroMem.S
... / ...
CommitLineData
1#\r
2# ConvertAsm.py: Automatically generated from ZeroMem.asm\r
3#\r
4#------------------------------------------------------------------------------\r
5#\r
6# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
7# This program and the accompanying materials\r
8# are licensed and made available under the terms and conditions of the BSD License\r
9# which accompanies this distribution. The full text of the license may be found at\r
10# http://opensource.org/licenses/bsd-license.php.\r
11#\r
12# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
13# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
14#\r
15# Module Name:\r
16#\r
17# ZeroMem.S\r
18#\r
19# Abstract:\r
20#\r
21# ZeroMem function\r
22#\r
23# Notes:\r
24#\r
25#------------------------------------------------------------------------------\r
26\r
27\r
28#------------------------------------------------------------------------------\r
29# VOID *\r
30# InternalMemZeroMem (\r
31# IN VOID *Buffer,\r
32# IN UINTN Count\r
33# );\r
34#------------------------------------------------------------------------------\r
35ASM_GLOBAL ASM_PFX(InternalMemZeroMem)\r
36ASM_PFX(InternalMemZeroMem):\r
37 pushq %rdi\r
38 movq %rcx, %rdi\r
39 movq %rdx, %rcx\r
40 movq %rdi, %r8\r
41 andq $7, %rdx\r
42 shrq $3, %rcx\r
43 jz L_ZeroBytes\r
44 pxor %mm0, %mm0\r
45L0:\r
46 movntq %mm0, (%rdi)\r
47 addq $8, %rdi\r
48 loop L0\r
49 mfence\r
50L_ZeroBytes:\r
51 xorl %eax, %eax\r
52 movl %edx, %ecx\r
53 rep stosb\r
54 movq %r8, %rax\r
55 popq %rdi\r
56 ret\r
57\r