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/sourcery.S | GCC
|
||||||
Arm/uldiv.S | GCC
|
Arm/uldiv.S | GCC
|
||||||
Arm/ldivmod.S | GCC
|
Arm/ldivmod.S | GCC
|
||||||
|
Arm/lasr.S | GCC
|
||||||
Arm/llsr.S | GCC
|
Arm/llsr.S | GCC
|
||||||
Arm/llsl.S | GCC
|
Arm/llsl.S | GCC
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue