]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/X64/EfiCopyMemRep1.S
Fixed issues compiling for Apple gcc on IA-32
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EfiCommonLib / X64 / EfiCopyMemRep1.S
index efd184e1f6fd28f2964673699079f3f7c3642310..91ff872bb5465c1b78c54808e78606d58281e2dc 100644 (file)
@@ -1,66 +1,66 @@
-#------------------------------------------------------------------------------\r
-#\r
-# Copyright (c) 2008, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution.  The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#\r
-# Module Name:\r
-#\r
-#   EfiCopyMemRep1.S\r
-#\r
-# Abstract:\r
-#\r
-#   CopyMem function\r
-#\r
-# Notes:\r
-#\r
-#------------------------------------------------------------------------------\r
-#include <EfiBind.h>\r
-\r
-    .code: \r
-\r
-.global ASM_PFX(EfiCommonLibCopyMem)\r
-\r
-#------------------------------------------------------------------------------\r
-# VOID\r
-# EfiCommonLibCopyMem (\r
-#   OUT     VOID                      *Destination,\r
-#   IN      VOID                      *Source,\r
-#   IN      UINTN                     Count\r
-#   );\r
-#------------------------------------------------------------------------------\r
-ASM_PFX(EfiCommonLibCopyMem):\r
-      push   %rsi\r
-      push   %rdi\r
-      cmp    %rcx,%rdx\r
-      je     CopyMemDone\r
-      cmp    $0x0,%r8\r
-      je     CopyMemDone\r
-      mov    %rdx,%rsi\r
-      mov    %rcx,%rdi\r
-      lea    -1(%r8,%rsi,1),%r9\r
-      cmp    %rdi,%rsi\r
-      jae    CopyBytes\r
-      cmp    %rdi,%r9\r
-      jb     CopyBytes\r
-      mov    %r9,%rsi\r
-      lea    -1(%r8,%rdi,1),%rdi\r
-      std    \r
-\r
-CopyBytes:\r
-      mov    %r8,%rcx\r
-      rep movsb %ds:(%rsi),%es:(%rdi)\r
-      cld    \r
-\r
-CopyMemDone:\r
-      pop    %rdi\r
-      pop    %rsi\r
-      retq   \r
-\r
-\r
-\r
+#------------------------------------------------------------------------------
+#
+# Copyright (c) 2008, Intel Corporation
+# All rights reserved. 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:
+#
+#   EfiCopyMemRep1.S
+#
+# Abstract:
+#
+#   CopyMem function
+#
+# Notes:
+#
+#------------------------------------------------------------------------------
+#include <EfiBind.h>
+
+    .code: 
+
+.globl ASM_PFX(EfiCommonLibCopyMem)
+
+#------------------------------------------------------------------------------
+# VOID
+# EfiCommonLibCopyMem (
+#   OUT     VOID                      *Destination,
+#   IN      VOID                      *Source,
+#   IN      UINTN                     Count
+#   );
+#------------------------------------------------------------------------------
+ASM_PFX(EfiCommonLibCopyMem):
+      push   %rsi
+      push   %rdi
+      cmp    %rcx,%rdx
+      je     CopyMemDone
+      cmp    $0x0,%r8
+      je     CopyMemDone
+      mov    %rdx,%rsi
+      mov    %rcx,%rdi
+      lea    -1(%r8,%rsi,1),%r9
+      cmp    %rdi,%rsi
+      jae    CopyBytes
+      cmp    %rdi,%r9
+      jb     CopyBytes
+      mov    %r9,%rsi
+      lea    -1(%r8,%rdi,1),%rdi
+      std    
+
+CopyBytes:
+      mov    %r8,%rcx
+      rep movsb %ds:(%rsi),%es:(%rdi)
+      cld    
+
+CopyMemDone:
+      pop    %rdi
+      pop    %rsi
+      retq   
+
+
+