X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseLib%2FIa32%2FARShiftU64.S;h=372a4d83551266b6e2e3ef067e581db141013dc4;hp=d6af974d0f9bb77252367c7090b6f86069ecb253;hb=bb817c56c51fabe92915fe30b168b4833cb2aed9;hpb=975201130c7223ef29be7a28500ed107623fc4be diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S index d6af974d0f..372a4d8355 100644 --- a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S +++ b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S @@ -1,7 +1,7 @@ #------------------------------------------------------------------------------ # -# Copyright (c) 2006, Intel Corporation -# All rights reserved. This program and the accompanying materials +# Copyright (c) 2006 - 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 @@ -11,7 +11,7 @@ # # Module Name: # -# ARShiftU64.asm +# ARShiftU64.S # # Abstract: # @@ -19,23 +19,23 @@ # #------------------------------------------------------------------------------ +ASM_GLOBAL ASM_PFX(InternalMathARShiftU64) - - - -.global _ARShiftU64 -_ARShiftU64: - movb 12(%esp),%cl - movl 8(%esp),%eax +#------------------------------------------------------------------------------ +# UINT64 +# EFIAPI +# InternalMathARShiftU64 ( +# IN UINT64 Operand, +# IN UINTN Count +# ); +#------------------------------------------------------------------------------ +ASM_PFX(InternalMathARShiftU64): + movb 12(%esp), %cl + movl 8(%esp), %eax cltd - testb $32,%cl -# MISMATCH: " cmovz edx, eax" + testb $32, %cl cmovz %eax, %edx -# MISMATCH: " cmovz eax, [esp + 4]" cmovz 4(%esp), %eax - shrdl %cl,%edx,%eax - sar %cl,%edx + shrdl %cl, %edx, %eax + sar %cl, %edx ret - - -