X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseLib%2FIa32%2FRShiftU64.S;h=0bf9292281ab8c8a076b7580808a44d1d2cf7c21;hp=17cdedb212efddd3f9eb2428dacb10e69df3b04a;hb=88a75d260cadc67cc0edf6ad5f57241ed89a7d4b;hpb=881813d7a93d9009c873515b043c41c4554779e4 diff --git a/MdePkg/Library/BaseLib/Ia32/RShiftU64.S b/MdePkg/Library/BaseLib/Ia32/RShiftU64.S index 17cdedb212..0bf9292281 100644 --- a/MdePkg/Library/BaseLib/Ia32/RShiftU64.S +++ b/MdePkg/Library/BaseLib/Ia32/RShiftU64.S @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ # -# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2015, 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 @@ -37,8 +37,10 @@ ASM_PFX(InternalMathRShiftU64): xorl %edx, %edx movl 8(%esp), %eax testb $32, %cl # Count >= 32? - cmovz %eax, %edx - cmovz 0x4(%esp), %eax + jnz L0 + movl %eax, %edx + movl 0x4(%esp), %eax +L0: shrdl %cl, %edx, %eax shr %cl, %edx ret