mirror of https://github.com/acidanthera/audk.git
ArmPkg/CompilerIntrinsicsLib: Add lasr ARM assembly source for GCC
The new source is a port of the RVCT version. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
parent
482704df27
commit
d039044be4
|
@ -0,0 +1,30 @@
|
|||
#------------------------------------------------------------------------------
|
||||
#
|
||||
# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
#
|
||||
#UINT64
|
||||
#EFIAPI
|
||||
#__aeabi_lasr (
|
||||
# IN UINT64 Value
|
||||
# IN UINT32 Shift
|
||||
# );
|
||||
#
|
||||
ASM_FUNC(__aeabi_lasr)
|
||||
subs r3,r2,#0x20
|
||||
bpl L_Test
|
||||
rsb r3,r2,#0x20
|
||||
lsr r0,r0,r2
|
||||
orr r0,r0,r1,LSL r3
|
||||
asr r1,r1,r2
|
||||
bx lr
|
||||
L_Test:
|
||||
asr r0,r1,r3
|
||||
asr r1,r1,#31
|
||||
bx lr
|
|
@ -68,6 +68,7 @@
|
|||
Arm/sourcery.S | GCC
|
||||
Arm/uldiv.S | GCC
|
||||
Arm/ldivmod.S | GCC
|
||||
Arm/lasr.S | GCC
|
||||
Arm/llsr.S | GCC
|
||||
Arm/llsl.S | GCC
|
||||
|
||||
|
|
Loading…
Reference in New Issue