mirror of https://github.com/acidanthera/audk.git
ArmPkg/CompilerIntrinsicsLib: switch to ASM_FUNC() asm macro
Annotate functions with ASM_FUNC() so that they are emitted into separate sections. Note that in some cases, various entry points refer to different parts of the same routine, so in those cases, the files have been left untouched. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
parent
7589d9dbcf
commit
903e31242d
|
@ -26,16 +26,10 @@
|
|||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
.text
|
||||
.align 2
|
||||
|
||||
|
||||
GCC_ASM_EXPORT(memcpy)
|
||||
|
||||
#include <AsmMacroIoLibV8.h>
|
||||
|
||||
// Taken from Newlib BSD implementation.
|
||||
ASM_PFX(memcpy):
|
||||
ASM_FUNC(memcpy)
|
||||
// Copy dst to x6, so we can preserve return value.
|
||||
mov x6, x0
|
||||
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__ashldi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__ashldi3):
|
||||
ASM_FUNC(__ashldi3)
|
||||
cmp r2, #31
|
||||
bls L2
|
||||
cmp r2, #63
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__ashrdi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__ashrdi3):
|
||||
ASM_FUNC(__ashrdi3)
|
||||
cmp r2, #31
|
||||
bls L2
|
||||
cmp r2, #63
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__clzsi2)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__clzsi2):
|
||||
ASM_FUNC(__clzsi2)
|
||||
@ frame_needed = 1, uses_anonymous_args = 0
|
||||
stmfd sp!, {r7, lr}
|
||||
add r7, sp, #0
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__ctzsi2)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__ctzsi2):
|
||||
ASM_FUNC(__ctzsi2)
|
||||
uxth r3, r0
|
||||
cmp r3, #0
|
||||
moveq ip, #16
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__divdi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__divdi3):
|
||||
ASM_FUNC(__divdi3)
|
||||
@ args = 0, pretend = 0, frame = 0
|
||||
@ frame_needed = 1, uses_anonymous_args = 0
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__divsi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__divsi3):
|
||||
ASM_FUNC(__divsi3)
|
||||
eor r3, r0, r0, asr #31
|
||||
eor r2, r1, r1, asr #31
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
|
|
|
@ -12,10 +12,7 @@
|
|||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__aeabi_ldivmod)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
//
|
||||
// A pair of (unsigned) long longs is returned in {{r0, r1}, {r2, r3}},
|
||||
|
@ -29,7 +26,7 @@
|
|||
// )//
|
||||
//
|
||||
|
||||
ASM_PFX(__aeabi_ldivmod):
|
||||
ASM_FUNC(__aeabi_ldivmod)
|
||||
push {r4,lr}
|
||||
asrs r4,r1,#1
|
||||
eor r4,r4,r3,LSR #1
|
||||
|
|
|
@ -12,10 +12,7 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__aeabi_llsl)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
#
|
||||
#VOID
|
||||
|
@ -26,7 +23,7 @@ GCC_ASM_EXPORT(__aeabi_llsl)
|
|||
# IN UINT32 Size
|
||||
# );
|
||||
#
|
||||
ASM_PFX(__aeabi_llsl):
|
||||
ASM_FUNC(__aeabi_llsl)
|
||||
subs r3,r2,#0x20
|
||||
bpl 1f
|
||||
rsb r3,r2,#0x20
|
||||
|
|
|
@ -12,12 +12,8 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__aeabi_llsr)
|
||||
|
||||
#
|
||||
#VOID
|
||||
#EFIAPI
|
||||
#__aeabi_llsr (
|
||||
|
@ -26,7 +22,7 @@ GCC_ASM_EXPORT(__aeabi_llsr)
|
|||
# IN UINT32 Size
|
||||
# );
|
||||
#
|
||||
ASM_PFX(__aeabi_llsr):
|
||||
ASM_FUNC(__aeabi_llsr)
|
||||
subs r3,r2,#0x20
|
||||
bpl 1f
|
||||
rsb r3,r2,#0x20
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__lshrdi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__lshrdi3):
|
||||
ASM_FUNC(__lshrdi3)
|
||||
cmp r2, #31
|
||||
bls L2
|
||||
cmp r2, #63
|
||||
|
|
|
@ -12,9 +12,7 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT (memmove)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
# VOID
|
||||
# EFIAPI
|
||||
|
@ -23,7 +21,7 @@
|
|||
# IN CONST VOID *Source,
|
||||
# IN UINT32 Size
|
||||
# );
|
||||
ASM_PFX(memmove):
|
||||
ASM_FUNC(memmove)
|
||||
CMP r2, #0
|
||||
BXEQ lr
|
||||
CMP r0, r1
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__moddi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__moddi3):
|
||||
ASM_FUNC(__moddi3)
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
mov r4, r1, asr #31
|
||||
add r7, sp, #8
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__modsi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__modsi3):
|
||||
ASM_FUNC(__modsi3)
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
add r7, sp, #8
|
||||
mov r5, r0
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__muldi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__muldi3):
|
||||
ASM_FUNC(__muldi3)
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
add r7, sp, #12
|
||||
stmfd sp!, {r8, r10, r11}
|
||||
|
|
|
@ -13,13 +13,11 @@
|
|||
#**/
|
||||
#
|
||||
|
||||
.text
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
.syntax unified
|
||||
.p2align 2
|
||||
|
||||
GCC_ASM_EXPORT(__switch16)
|
||||
|
||||
ASM_PFX(__switch16):
|
||||
ASM_FUNC(__switch16)
|
||||
ldrh ip, [lr, #-1]
|
||||
cmp r0, ip
|
||||
add r0, lr, r0, lsl #1
|
||||
|
|
|
@ -13,13 +13,11 @@
|
|||
#**/
|
||||
#
|
||||
|
||||
.text
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
.syntax unified
|
||||
.p2align 2
|
||||
|
||||
GCC_ASM_EXPORT(__switch32)
|
||||
|
||||
ASM_PFX(__switch32):
|
||||
ASM_FUNC(__switch32)
|
||||
ldr ip, [lr, #-1]
|
||||
cmp r0, ip
|
||||
add r0, lr, r0, lsl #2
|
||||
|
|
|
@ -13,13 +13,11 @@
|
|||
#**/
|
||||
#
|
||||
|
||||
.text
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
.syntax unified
|
||||
.p2align 2
|
||||
|
||||
GCC_ASM_EXPORT(__switch8)
|
||||
|
||||
ASM_PFX(__switch8):
|
||||
ASM_FUNC(__switch8)
|
||||
ldrb ip, [lr, #-1]
|
||||
cmp r0, ip
|
||||
ldrsbcc r0, [lr, r0]
|
||||
|
|
|
@ -13,14 +13,11 @@
|
|||
#**/
|
||||
#
|
||||
|
||||
.text
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
.syntax unified
|
||||
.p2align 2
|
||||
|
||||
GCC_ASM_EXPORT(__switchu8)
|
||||
|
||||
|
||||
ASM_PFX(__switchu8):
|
||||
ASM_FUNC(__switchu8)
|
||||
ldrb ip,[lr,#-1]
|
||||
cmp r0,ip
|
||||
ldrbcc r0,[lr,r0]
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__ucmpdi2)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__ucmpdi2):
|
||||
ASM_FUNC(__ucmpdi2)
|
||||
stmfd sp!, {r4, r5, r8, lr}
|
||||
cmp r1, r3
|
||||
mov r8, r0
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__udivdi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__udivdi3):
|
||||
ASM_FUNC(__udivdi3)
|
||||
stmfd sp!, {r7, lr}
|
||||
add r7, sp, #0
|
||||
sub sp, sp, #8
|
||||
|
|
|
@ -12,12 +12,11 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.syntax unified
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__udivmoddi4)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__udivmoddi4):
|
||||
.syntax unified
|
||||
|
||||
ASM_FUNC(__udivmoddi4)
|
||||
stmfd sp!, {r4, r5, r6, r7, lr}
|
||||
add r7, sp, #12
|
||||
stmfd sp!, {r10, r11}
|
||||
|
|
|
@ -12,12 +12,11 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.syntax unified
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__udivsi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__udivsi3):
|
||||
.syntax unified
|
||||
|
||||
ASM_FUNC(__udivsi3)
|
||||
cmp r1, #0
|
||||
cmpne r0, #0
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__umoddi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__umoddi3):
|
||||
ASM_FUNC(__umoddi3)
|
||||
stmfd sp!, {r7, lr}
|
||||
add r7, sp, #0
|
||||
sub sp, sp, #16
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
.text
|
||||
.align 2
|
||||
GCC_ASM_EXPORT(__umodsi3)
|
||||
#include <AsmMacroIoLib.h>
|
||||
|
||||
ASM_PFX(__umodsi3):
|
||||
ASM_FUNC(__umodsi3)
|
||||
stmfd sp!, {r4, r5, r7, lr}
|
||||
add r7, sp, #8
|
||||
mov r5, r0
|
||||
|
|
Loading…
Reference in New Issue