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