]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/Arm/lasr.S
ArmPkg/CompilerIntrinsicsLib: Add lasr ARM assembly source for GCC
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / lasr.S
CommitLineData
d039044b
PB
1#------------------------------------------------------------------------------\r
2#\r
3# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
4#\r
5# SPDX-License-Identifier: BSD-2-Clause-Patent\r
6#\r
7#------------------------------------------------------------------------------\r
8\r
9#include <AsmMacroIoLib.h>\r
10\r
11#\r
12#UINT64\r
13#EFIAPI\r
14#__aeabi_lasr (\r
15# IN UINT64 Value\r
16# IN UINT32 Shift\r
17# );\r
18#\r
19ASM_FUNC(__aeabi_lasr)\r
20 subs r3,r2,#0x20\r
21 bpl L_Test\r
22 rsb r3,r2,#0x20\r
23 lsr r0,r0,r2\r
24 orr r0,r0,r1,LSL r3\r
25 asr r1,r1,r2\r
26 bx lr\r
27L_Test:\r
28 asr r0,r1,r3\r
29 asr r1,r1,#31\r
30 bx lr\r