## @file
#  Instance of Base Memory Library using SSE2 registers.
#
#  Base Memory Library that uses SSE2 registers for high performance.
#
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseMemoryLibSse2
  MODULE_UNI_FILE                = BaseMemoryLibSse2.uni
  FILE_GUID                      = 65a18235-5096-4032-8c63-214f0249ce8d
  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

