## @file
#  Instance of Base Memory Library optimized for use in PEI phase.
#
#  Base Memory Library that is optimized for use in PEI phase.
#  Uses REP, MMX, XMM registers as required for best performance.
#
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseMemoryLibOptPei
  MODULE_UNI_FILE                = BaseMemoryLibOptPei.uni
  FILE_GUID                      = D6F43B1B-0F21-462b-B8B7-A033C3EB4261
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseMemoryLib


#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  MemLibInternals.h
  ScanMem64Wrapper.c
  ScanMem32Wrapper.c
  ScanMem16Wrapper.c
  ScanMem8Wrapper.c
  ZeroMemWrapper.c
  CompareMemWrapper.c
  SetMemNWrapper.c
  SetMem64Wrapper.c
  SetMem32Wrapper.c
  SetMem16Wrapper.c
  SetMemWrapper.c
  CopyMemWrapper.c
  IsZeroBufferWrapper.c
  MemLibGuid.c

[Sources.Ia32]
  Ia32/ScanMem64.nasm
  Ia32/ScanMem32.nasm
  Ia32/ScanMem16.nasm
  Ia32/ScanMem8.nasm
  Ia32/CompareMem.nasm
  Ia32/ZeroMem.nasm
  Ia32/SetMem64.nasm
  Ia32/SetMem32.nasm
  Ia32/SetMem16.nasm
  Ia32/SetMem.nasm
  Ia32/CopyMem.nasm
  Ia32/IsZeroBuffer.nasm

[Sources.X64]
  X64/ScanMem64.nasm
  X64/ScanMem32.nasm
  X64/ScanMem16.nasm
  X64/ScanMem8.nasm
  X64/CompareMem.nasm
  X64/ZeroMem.nasm
  X64/SetMem64.nasm
  X64/SetMem32.nasm
  X64/SetMem16.nasm
  X64/SetMem.nasm
  X64/CopyMem.nasm
  X64/IsZeroBuffer.nasm

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  DebugLib
  BaseLib

