summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm
diff options
context:
space:
mode:
authorbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-28 07:28:19 +0000
committerbxing <bxing@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-28 07:28:19 +0000
commiteb227e96bd06a5b0f2f933187a679e7fb3382cd9 (patch)
treeb16e46f494d8d9d8552d8d0e882ad78019934071 /MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm
parent27169a56e67556796ab0410c8917436dc9aa2abf (diff)
downloadedk2-platforms-eb227e96bd06a5b0f2f933187a679e7fb3382cd9.tar.xz
1. Updated function headers for all assembly function
2. Optimized register usage in SetMemXX functions in all lib instances 3. Fixed a logical error in CopyMem for all lib instances git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1139 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm')
-rw-r--r--MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm6
1 files changed, 3 insertions, 3 deletions
diff --git a/MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm b/MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm
index ef94c562b5..a26b9412d4 100644
--- a/MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm
+++ b/MdePkg/Library/BaseMemoryLibSse2/x64/SetMem64.asm
@@ -32,9 +32,10 @@
; )
;------------------------------------------------------------------------------
InternalMemSetMem64 PROC
- mov rax, rcx
+ mov rax, rcx ; rax <- Buffer
+ xchg rcx, rdx ; rcx <- Count & rdx <- Buffer
test dl, 8
- xchg rcx, rdx
+ movd xmm0, r8
jz @F
mov [rdx], r8
add rdx, 8
@@ -42,7 +43,6 @@ InternalMemSetMem64 PROC
@@:
shr rcx, 1
jz @SetQwords
- movd xmm0, r8
movlhps xmm0, xmm0
@@:
movntdq [rdx], xmm0