#\r
#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation\r
+# Copyright (c) 2006 - 2009, 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
# INTN\r
# EFIAPI\r
# InternalMemCompareMem (\r
-# IN CONST VOID *DestinationBuffer,\r
-# IN CONST VOID *SourceBuffer,\r
+# IN CONST VOID *DestinationBuffer,\r
+# IN CONST VOID *SourceBuffer,\r
# IN UINTN Length\r
# );\r
#------------------------------------------------------------------------------\r
-.intel_syntax noprefix\r
ASM_GLOBAL ASM_PFX(InternalMemCompareMem)\r
ASM_PFX(InternalMemCompareMem):\r
- push rsi\r
- push rdi\r
- mov rsi, rcx\r
- mov rdi, rdx\r
- mov rcx, r8\r
+ pushq %rsi\r
+ pushq %rdi\r
+ movq %rcx, %rsi\r
+ movq %rdx, %rdi\r
+ movq %r8, %rcx\r
repe cmpsb\r
- movzx rax, byte ptr [rsi - 1]\r
- movzx rdx, byte ptr [rdi - 1]\r
- sub rax, rdx\r
- pop rdi\r
- pop rsi\r
+ movzbq -1(%rsi) , %rax\r
+ movzbq -1(%rdi) , %rdx\r
+ subq %rdx, %rax\r
+ popq %rdi\r
+ popq %rsi\r
ret\r
\r