summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/BaseMemoryLibSse2/X64
diff options
context:
space:
mode:
authorShenglei Zhang <shenglei.zhang@intel.com>2019-03-07 09:10:26 +0800
committerLiming Gao <liming.gao@intel.com>2019-04-03 13:27:44 +0800
commit94cf7d235a484f34cc112f92e91ff7540980eb03 (patch)
tree23ace809f5dd8a85d035dec2d2d8f90f79bfd225 /MdePkg/Library/BaseMemoryLibSse2/X64
parent42b7b15d2798ebd59bdd5192554ca636ed734122 (diff)
downloadedk2-94cf7d235a484f34cc112f92e91ff7540980eb03.tar.gz
edk2-94cf7d235a484f34cc112f92e91ff7540980eb03.tar.bz2
edk2-94cf7d235a484f34cc112f92e91ff7540980eb03.zip
MdePkg/BaseMemoryLibSse2: Remove .S files for IA32 and X64 arch
.nasm file has been added for X86 arch. .S assembly code is not required any more. https://bugzilla.tianocore.org/show_bug.cgi?id=1594 Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibSse2/X64')
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S59
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S83
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S56
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S72
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S70
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S69
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S60
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S65
11 files changed, 0 insertions, 702 deletions
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S b/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
deleted file mode 100644
index 26ed8dd866..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/CompareMem.S
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from CompareMem.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# CompareMem.S
-#
-# Abstract:
-#
-# CompareMem function
-#
-# Notes:
-#
-# The following BaseMemoryLib instances contain the same copy of this file:
-#
-# BaseMemoryLibRepStr
-# BaseMemoryLibMmx
-# BaseMemoryLibSse2
-# BaseMemoryLibOptDxe
-# BaseMemoryLibOptPei
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# INTN
-# EFIAPI
-# InternalMemCompareMem (
-# IN CONST VOID *DestinationBuffer,
-# IN CONST VOID *SourceBuffer,
-# IN UINTN Length
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemCompareMem)
-ASM_PFX(InternalMemCompareMem):
- pushq %rsi
- pushq %rdi
- movq %rcx, %rsi
- movq %rdx, %rdi
- movq %r8, %rcx
- repe cmpsb
- movzbq -1(%rsi) , %rax
- movzbq -1(%rdi) , %rdx
- subq %rdx, %rax
- popq %rdi
- popq %rsi
- ret
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S b/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
deleted file mode 100644
index bbe433d360..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/CopyMem.S
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from CopyMem.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# CopyMem.S
-#
-# Abstract:
-#
-# CopyMem function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# EFIAPI
-# InternalMemCopyMem (
-# IN VOID *Destination,
-# IN VOID *Source,
-# IN UINTN Count
-# )
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemCopyMem)
-ASM_PFX(InternalMemCopyMem):
- pushq %rsi
- pushq %rdi
- movq %rdx, %rsi # rsi <- Source
- movq %rcx, %rdi # rdi <- Destination
- leaq -1(%rsi, %r8,), %r9 # r9 <- Last byte of Source
- cmpq %rdi, %rsi
- movq %rdi, %rax # rax <- Destination as return value
- jae L0 # Copy forward if Source > Destination
- cmpq %rdi, %r9 # Overlapped?
- jae L_CopyBackward # Copy backward if overlapped
-L0:
- xorq %rcx, %rcx
- subq %rdi, %rcx # rcx <- -rdi
- andq $15, %rcx # rcx + rsi should be 16 bytes aligned
- jz L1 # skip if rcx == 0
- cmpq %r8, %rcx
- cmova %r8, %rcx
- subq %rcx, %r8
- rep movsb
-L1:
- movq %r8, %rcx
- andq $15, %r8
- shrq $4, %rcx # rcx <- # of DQwords to copy
- jz L_CopyBytes
- movdqa %xmm0, 0x18(%rsp) # save xmm0 on stack
-L2:
- movdqu (%rsi), %xmm0 # rsi may not be 16-byte aligned
- movntdq %xmm0, (%rdi) # rdi should be 16-byte aligned
- addq $16, %rsi
- addq $16, %rdi
- loop L2
- mfence
- movdqa 0x18(%rsp), %xmm0 # restore xmm0
- jmp L_CopyBytes # copy remaining bytes
-L_CopyBackward:
- movq %r9, %rsi # rsi <- Last byte of Source
- leaq -1(%rdi, %r8,), %rdi # rdi <- Last byte of Destination
- std
-L_CopyBytes:
- movq %r8, %rcx
- rep movsb
- cld
- popq %rdi
- popq %rsi
- ret
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
deleted file mode 100644
index 282dc3cd12..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem16.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from ScanMem16.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
deleted file mode 100644
index eb91dafb85..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem32.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from ScanMem32.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# ScanMem32.S
-#
-# Abstract:
-#
-# ScanMem32 function
-#
-# Notes:
-#
-# The following BaseMemoryLib instances contain the same copy of this file:
-#
-# BaseMemoryLibRepStr
-# BaseMemoryLibMmx
-# BaseMemoryLibSse2
-# BaseMemoryLibOptDxe
-# BaseMemoryLibOptPei
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# CONST VOID *
-# EFIAPI
-# InternalMemScanMem32 (
-# IN CONST VOID *Buffer,
-# IN UINTN Length,
-# IN UINT32 Value
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemScanMem32)
-ASM_PFX(InternalMemScanMem32):
- pushq %rdi
- movq %rcx, %rdi
- movq %rdx, %rcx
- movq %r8, %rax
- repne scasl
- leaq -4(%rdi), %rax
- cmovnz %rcx, %rax # set rax to 0 if not found
- popq %rdi
- ret
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
deleted file mode 100644
index 20d20aa3c3..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem64.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from ScanMem64.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# ScanMem64.S
-#
-# Abstract:
-#
-# ScanMem64 function
-#
-# Notes:
-#
-# The following BaseMemoryLib instances contain the same copy of this file:
-#
-# BaseMemoryLibRepStr
-# BaseMemoryLibMmx
-# BaseMemoryLibSse2
-# BaseMemoryLibOptDxe
-# BaseMemoryLibOptPei
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# CONST VOID *
-# EFIAPI
-# InternalMemScanMem64 (
-# IN CONST VOID *Buffer,
-# IN UINTN Length,
-# IN UINT64 Value
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemScanMem64)
-ASM_PFX(InternalMemScanMem64):
- pushq %rdi
- movq %rcx, %rdi
- movq %rdx, %rcx
- movq %r8, %rax
- repne scasq
- leaq -8(%rdi), %rax
- cmovnz %rcx, %rax # set rax to 0 if not found
- popq %rdi
- ret
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S b/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
deleted file mode 100644
index b1715ea728..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ScanMem8.S
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from ScanMem8.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# ScanMem8.S
-#
-# Abstract:
-#
-# ScanMem8 function
-#
-# Notes:
-#
-# The following BaseMemoryLib instances contain the same copy of this file:
-#
-# BaseMemoryLibRepStr
-# BaseMemoryLibMmx
-# BaseMemoryLibSse2
-# BaseMemoryLibOptDxe
-# BaseMemoryLibOptPei
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# CONST VOID *
-# EFIAPI
-# InternalMemScanMem8 (
-# IN CONST VOID *Buffer,
-# IN UINTN Length,
-# IN UINT8 Value
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemScanMem8)
-ASM_PFX(InternalMemScanMem8):
- pushq %rdi
- movq %rcx, %rdi
- movq %rdx, %rcx
- movq %r8, %rax
- repne scasb
- leaq -1(%rdi), %rax
- cmovnz %rcx, %rax # set rax to 0 if not found
- popq %rdi
- ret
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
deleted file mode 100644
index eb4ce80e1e..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem.S
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from SetMem.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# SetMem.S
-#
-# Abstract:
-#
-# SetMem function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# EFIAPI
-# InternalMemSetMem (
-# IN VOID *Buffer,
-# IN UINTN Count,
-# IN UINT8 Value
-# )
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemSetMem)
-ASM_PFX(InternalMemSetMem):
- pushq %rdi
- movq %rcx, %rdi # rdi <- Buffer
- movb %r8b, %al # al <- Value
- movq %rdi, %r9 # r9 <- Buffer as return value
- xorq %rcx, %rcx
- subq %rdi, %rcx
- andq $15, %rcx # rcx + rdi aligns on 16-byte boundary
- jz L0
- cmpq %rdx, %rcx
- cmova %rdx, %rcx
- subq %rcx, %rdx
- rep stosb
-L0:
- movq %rdx, %rcx
- andq $15, %rdx
- shrq $4, %rcx
- jz L_SetBytes
- movb %al, %ah # ax <- Value repeats twice
- movdqa %xmm0, 0x10(%rsp) # save xmm0
- movd %eax, %xmm0 # xmm0[0..16] <- Value repeats twice
- pshuflw $0, %xmm0, %xmm0 # xmm0[0..63] <- Value repeats 8 times
- movlhps %xmm0, %xmm0 # xmm0 <- Value repeats 16 times
-L1:
- movntdq %xmm0, (%rdi) # rdi should be 16-byte aligned
- add $16, %rdi
- loop L1
- mfence
- movdqa 0x10(%rsp), %xmm0 # restore xmm0
-L_SetBytes:
- movl %edx, %ecx # high 32 bits of rcx are always zero
- rep stosb
- movq %r9, %rax # rax <- Return value
- popq %rdi
- ret
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
deleted file mode 100644
index 74fef09255..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem16.S
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from SetMem16.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# SetMem16.S
-#
-# Abstract:
-#
-# SetMem16 function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# EFIAPI
-# InternalMemSetMem16 (
-# IN VOID *Buffer,
-# IN UINTN Count,
-# IN UINT16 Value
-# )
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemSetMem16)
-ASM_PFX(InternalMemSetMem16):
- pushq %rdi
- movq %rcx, %rdi
- movq %rdi, %r9
- xorq %rcx, %rcx
- subq %rdi, %rcx
- andq $15, %rcx
- movq %r8, %rax
- jz L0
- shrq $1, %rcx
- cmpq %rdx, %rcx
- cmova %rdx, %rcx
- subq %rcx, %rdx
- rep stosw
-L0:
- movq %rdx, %rcx
- andl $7, %edx
- shrq $3, %rcx
- jz L_SetWords
- movd %eax, %xmm0
- pshuflw $0, %xmm0, %xmm0
- movlhps %xmm0, %xmm0
-L1:
- movntdq %xmm0, (%rdi)
- addq $16, %rdi
- loop L1
- mfence
-L_SetWords:
- movl %edx, %ecx
- rep stosw
- movq %r9, %rax
- popq %rdi
- ret
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
deleted file mode 100644
index 24103cf509..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem32.S
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from SetMem32.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# SetMem32.S
-#
-# Abstract:
-#
-# SetMem32 function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# EFIAPI
-# InternalMemSetMem32 (
-# IN VOID *Buffer,
-# IN UINTN Count,
-# IN UINT32 Value
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemSetMem32)
-ASM_PFX(InternalMemSetMem32):
- pushq %rdi
- movq %rcx, %rdi
- movq %rdi, %r9
- xorq %rcx, %rcx
- subq %rdi, %rcx
- andq $15, %rcx
- movq %r8, %rax
- jz L0
- shrq $2, %rcx
- cmpq %rdx, %rcx
- cmova %rdx, %rcx
- subq %rcx, %rdx
- rep stosl
-L0:
- movq %rdx, %rcx
- andl $3, %edx
- shrq $2, %rcx
- jz L_SetDwords
- movd %eax, %xmm0
- pshufd $0, %xmm0, %xmm0
-L1:
- movntdq %xmm0, (%rdi)
- addq $16, %rdi
- loop L1
- mfence
-L_SetDwords:
- movl %edx, %ecx
- rep stosl
- movq %r9, %rax
- popq %rdi
- ret
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S b/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
deleted file mode 100644
index c44ec08ae6..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/SetMem64.S
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from SetMem64.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# SetMem64.S
-#
-# Abstract:
-#
-# SetMem64 function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# InternalMemSetMem64 (
-# IN VOID *Buffer,
-# IN UINTN Count,
-# IN UINT64 Value
-# )
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemSetMem64)
-ASM_PFX(InternalMemSetMem64):
- movq %rcx, %rax # rax <- Buffer
- xchgq %rdx, %rcx # rcx <- Count & rdx <- Buffer
- testb $8, %dl
- movd %r8, %xmm0
- jz L0
- movq %r8, (%rdx)
- addq $8, %rdx
- decq %rcx
-L0:
- shrq $1, %rcx
- jz L_SetQwords
- movlhps %xmm0, %xmm0
-L1:
- movntdq %xmm0, (%rdx)
- leaq 16(%rdx), %rdx
- loop L1
- mfence
-L_SetQwords:
- jnc L2
- movq %r8, (%rdx)
-L2:
- ret
-
diff --git a/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S b/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S
deleted file mode 100644
index 3b00ce7309..0000000000
--- a/MdePkg/Library/BaseMemoryLibSse2/X64/ZeroMem.S
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# ConvertAsm.py: Automatically generated from ZeroMem.asm
-#
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
-# 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:
-#
-# ZeroMem.S
-#
-# Abstract:
-#
-# ZeroMem function
-#
-# Notes:
-#
-#------------------------------------------------------------------------------
-
-
-#------------------------------------------------------------------------------
-# VOID *
-# InternalMemZeroMem (
-# IN VOID *Buffer,
-# IN UINTN Count
-# );
-#------------------------------------------------------------------------------
-ASM_GLOBAL ASM_PFX(InternalMemZeroMem)
-ASM_PFX(InternalMemZeroMem):
- pushq %rdi
- movq %rcx, %rdi
- xorq %rcx, %rcx
- xorl %eax, %eax
- subq %rdi, %rcx
- andq $15, %rcx
- movq %rdi, %r8
- jz L0
- cmpq %rdx, %rcx
- cmova %rdx, %rcx
- subq %rcx, %rdx
- rep stosb
-L0:
- movq %rdx, %rcx
- andl $15, %edx
- shrq $4, %rcx
- jz L_ZeroBytes
- pxor %xmm0, %xmm0
-L1:
- movntdq %xmm0, (%rdi) # rdi should be 16-byte aligned
- addq $16, %rdi
- loop L1
- mfence
-L_ZeroBytes:
- movl %edx, %ecx
- rep stosb
- movq %r8, %rax
- popq %rdi
- ret