diff options
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/RShiftU64.S')
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/RShiftU64.S | 25 |
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 |