From 1760cf81e4b1847c6823ea3514a78dd120e19b6e Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Thu, 22 Dec 2016 15:57:14 +0800 Subject: MdePkg: Move to new location Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- .../Library/BaseMemoryLibOptPei/X64/ScanMem16.S | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Core/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S (limited to 'Core/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S') diff --git a/Core/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S b/Core/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S new file mode 100644 index 0000000000..282dc3cd12 --- /dev/null +++ b/Core/MdePkg/Library/BaseMemoryLibOptPei/X64/ScanMem16.S @@ -0,0 +1,56 @@ +# +# ConvertAsm.py: Automatically generated from ScanMem16.asm +# +#------------------------------------------------------------------------------ +# +# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.
+# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Module Name: +# +# ScanMem16.S +# +# Abstract: +# +# ScanMem16 function +# +# Notes: +# +# The following BaseMemoryLib instances contain the same copy of this file: +# +# BaseMemoryLibRepStr +# BaseMemoryLibMmx +# BaseMemoryLibSse2 +# BaseMemoryLibOptDxe +# BaseMemoryLibOptPei +# +#------------------------------------------------------------------------------ + + +#------------------------------------------------------------------------------ +# CONST VOID * +# EFIAPI +# InternalMemScanMem16 ( +# IN CONST VOID *Buffer, +# IN UINTN Length, +# IN UINT16 Value +# ); +#------------------------------------------------------------------------------ +ASM_GLOBAL ASM_PFX(InternalMemScanMem16) +ASM_PFX(InternalMemScanMem16): + pushq %rdi + movq %rcx, %rdi + movq %rdx, %rcx + movq %r8, %rax + repne scasw + leaq -2(%rdi), %rax + cmovnz %rcx, %rax # set rax to 0 if not found + popq %rdi + ret + -- cgit v1.2.3