diff options
author | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-31 06:23:32 +0000 |
---|---|---|
committer | eric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-07-31 06:23:32 +0000 |
commit | 85c25283ed338da9485e16918e6e21d8212efa76 (patch) | |
tree | ecc48e76f050b7c314e25a7232d6f58ed00c0bf9 /MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S | |
parent | 5f87392966e8bb14b6486408b60521dfc61bd58f (diff) | |
download | edk2-platforms-85c25283ed338da9485e16918e6e21d8212efa76.tar.xz |
Gcc cleanup for baselib & basememorylib in mdepkg/library/
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5587 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S')
-rw-r--r-- | MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S index 6f19826956..5621f7ee5b 100644 --- a/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S +++ b/MdePkg/Library/BaseMemoryLibOptPei/Ia32/CopyMem.S @@ -21,7 +21,7 @@ # #------------------------------------------------------------------------------ -.globl _InternalMemCopyMem +.globl ASM_PFX(InternalMemCopyMem) #------------------------------------------------------------------------------ # VOID * @@ -32,30 +32,30 @@ # IN UINTN Count # ); #------------------------------------------------------------------------------ -_InternalMemCopyMem: +ASM_PFX(InternalMemCopyMem): push %esi push %edi movl 16(%esp), %esi # esi <- Source movl 12(%esp), %edi # edi <- Destination movl 20(%esp), %edx # edx <- Count - cmpl %esi, %edi
- je L_CopyDone
+ cmpl %esi, %edi + je L_CopyDone cmpl $0, %edx - je L_CopyDone
+ je L_CopyDone leal -1(%esi, %edx), %eax # eax <- End of Source - cmpl %esi, %edi
- jae L_CopyBytes
- cmpl %eax, %edi
- jb L_CopyBytes # Copy backward if overlapped
- movl %esi, %eax # esi <- End of Source
+ cmpl %edi, %esi + jae L_CopyBytes + cmpl %edi, %eax + jb L_CopyBytes # Copy backward if overlapped + movl %eax, %esi # esi <- End of Source leal -1(%edi, %edx), %edi # edi <- End of Destination - std
-L_CopyBytes:
- movl %ecx, %edx
+ std +L_CopyBytes: + movl %edx, %ecx rep movsb # Copy bytes backward cld -L_CopyDone:
+L_CopyDone: movl 12(%esp), %eax # eax <- Destination as return value pop %edi pop %esi |