summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/Ia32/RShiftU64.S
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/RShiftU64.S')
-rw-r--r--MdePkg/Library/BaseLib/Ia32/RShiftU64.S25
1 files changed, 17 insertions, 8 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/RShiftU64.S b/MdePkg/Library/BaseLib/Ia32/RShiftU64.S
index f6c28dee96..3aea31b7ef 100644
--- a/MdePkg/Library/BaseLib/Ia32/RShiftU64.S
+++ b/MdePkg/Library/BaseLib/Ia32/RShiftU64.S
@@ -19,17 +19,26 @@
#
#------------------------------------------------------------------------------
- .686:
- .code:
+ .686:
+ .code:
.global _InternalMathRShiftU64
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathRShiftU64 (
+# IN UINT64 Operand,
+# IN UINTN Count
+# );
+#------------------------------------------------------------------------------
_InternalMathRShiftU64:
- movb 12(%esp),%cl
- xorl %edx,%edx
- movl 8(%esp),%eax
- testb $32,%cl
+ movb 12(%esp), %cl
+ xorl %edx, %edx
+ movl 8(%esp), %eax
+ testb $32, %cl
cmovz %eax, %edx
cmovz 0x4(%esp), %eax
- shrdl %cl,%edx,%eax
- shr %cl,%edx
+ shrdl %cl, %edx, %eax
+ shr %cl, %edx
ret