summaryrefslogtreecommitdiff
path: root/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
diff options
context:
space:
mode:
authorGuo Mang <mang.guo@intel.com>2016-12-22 16:04:07 +0800
committerGuo Mang <mang.guo@intel.com>2016-12-26 19:14:43 +0800
commita7761b860e8b8f77caa1c220e684a228988faa1c (patch)
treed5fc8e714d9d4bd60f02b2143ce3538b1649a3eb /CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
parent08b9f4f8ea456e32f3286eb59aaa87f7f42c16d3 (diff)
downloadedk2-platforms-a7761b860e8b8f77caa1c220e684a228988faa1c.tar.xz
CryptoPkg: Move to new location
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S')
-rw-r--r--CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S66
1 files changed, 0 insertions, 66 deletions
diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S b/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
deleted file mode 100644
index 24142b088e..0000000000
--- a/CryptoPkg/Library/IntrinsicLib/Ia32/MathRShiftU64.S
+++ /dev/null
@@ -1,66 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# Copyright (c) 2014, 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
-# http://opensource.org/licenses/bsd-license.php.
-#
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-#
-# Module Name:
-#
-# MathRShiftU64.S
-#
-# Abstract:
-#
-# 64-bit Math Worker Function.
-# Shifts a 64-bit unsigned value right by a certain number of bits.
-#
-#------------------------------------------------------------------------------
-
-
- .686:
- .code:
-
-ASM_GLOBAL ASM_PFX(__ashrdi3)
-
-#------------------------------------------------------------------------------
-#
-# void __cdecl __ashrdi3 (void)
-#
-#------------------------------------------------------------------------------
-ASM_PFX(__ashrdi3):
- #
- # Checking: Only handle 64bit shifting or more
- #
- cmpb $64, %cl
- jae _Exit
-
- #
- # Handle shifting between 0 and 31 bits
- #
- cmpb $32, %cl
- jae More32
- shrd %cl, %edx, %eax
- shr %cl, %edx
- ret
-
- #
- # Handle shifting of 32-63 bits
- #
-More32:
- movl %edx, %eax
- xor %edx, %edx
- and $31, %cl
- shr %cl, %eax
- ret
-
- #
- # Invalid number (less then 32bits), return 0
- #
-_Exit:
- xor %eax, %eax
- xor %edx, %edx
- ret