diff options
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/ARShiftU64.S')
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/ARShiftU64.S | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S index 426ce5bd26..a41cfdb65c 100644 --- a/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S +++ b/MdePkg/Library/BaseLib/Ia32/ARShiftU64.S @@ -19,21 +19,23 @@ #
#------------------------------------------------------------------------------
-
-
-
-
.global _InternalMathARShiftU64
-_InternalMathARShiftU64:
- movb 12(%esp),%cl
- movl 8(%esp),%eax
+
+#------------------------------------------------------------------------------
+# UINT64
+# EFIAPI
+# InternalMathARShiftU64 (
+# IN UINT64 Operand,
+# IN UINTN Count
+# );
+#------------------------------------------------------------------------------
+_InternalMathARShiftU64:
+ movb 12(%esp), %cl
+ movl 8(%esp), %eax
cltd
- testb $32,%cl
+ testb $32, %cl
cmovz %eax, %edx
cmovz 4(%esp), %eax
- shrdl %cl,%edx,%eax
- sar %cl,%edx
+ shrdl %cl, %edx, %eax
+ sar %cl, %edx
ret
-
-
-
|