]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/Ia32/RShiftU64.c
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EdkIIGlueLib / Library / BaseLib / Ia32 / RShiftU64.c
1 /*++
2
3 Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12
13 Module Name:
14
15 RShiftU64.c
16
17 Abstract:
18
19
20
21 --*/
22
23 #include "BaseLibInternals.h"
24
25 UINT64
26 EFIAPI
27 InternalMathRShiftU64 (
28 IN UINT64 Operand,
29 IN UINTN Count
30 )
31 {
32 _asm {
33 mov cl, byte ptr [Count]
34 xor edx, edx
35 mov eax, dword ptr [Operand + 4]
36 test cl, 32
37 cmovz edx, eax
38 cmovz eax, dword ptr [Operand + 0]
39 shrd eax, edx, cl
40 shr edx, cl
41 }
42 }
43