summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/ARShiftU64.S')
-rw-r--r--MdePkg/Library/BaseLib/Ia32/ARShiftU64.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
index 8f73ed4f69..9138c423fc 100644
--- a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
+++ b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
# 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
@@ -34,8 +34,10 @@ ASM_PFX(InternalMathARShiftU64):
movl 8(%esp), %eax
cltd
testb $32, %cl
- cmovz %eax, %edx
- cmovz 4(%esp), %eax
+ jnz L0
+ movl %eax, %edx
+ movl 4(%esp), %eax
+L0:
shrdl %cl, %edx, %eax
sar %cl, %edx
ret