X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=StdLib%2FLibC%2FCRT%2FIa32%2Fllshl.c;fp=StdLib%2FLibC%2FCRT%2FIa32%2Fllshl.c;h=0000000000000000000000000000000000000000;hp=835fd042e78aee12f2df4243edadf82903c736a8;hb=964f432b9b0afe103c41c7613fade3e699118afe;hpb=e2d3a25f1a3135221a9c8061e1b8f90245d727eb diff --git a/StdLib/LibC/CRT/Ia32/llshl.c b/StdLib/LibC/CRT/Ia32/llshl.c deleted file mode 100644 index 835fd042e7..0000000000 --- a/StdLib/LibC/CRT/Ia32/llshl.c +++ /dev/null @@ -1,54 +0,0 @@ -/** @file - 64-bit Math Worker Function. - The 32-bit versions of C compiler generate calls to library routines - to handle 64-bit math. These functions use non-standard calling conventions. - - Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
- 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. - -**/ - - -/* - * Shifts a 64-bit signed value left by a particular number of bits. - */ -__declspec(naked) void __cdecl _allshl (void) -{ - _asm { - ; - ; Handle shifting of 64 or more bits (return 0) - ; - cmp cl, 64 - jae short ReturnZero - - ; - ; Handle shifting of between 0 and 31 bits - ; - cmp cl, 32 - jae short More32 - shld edx, eax, cl - shl eax, cl - ret - - ; - ; Handle shifting of between 32 and 63 bits - ; -More32: - mov edx, eax - xor eax, eax - and cl, 31 - shl edx, cl - ret - -ReturnZero: - xor eax,eax - xor edx,edx - ret - } -}