]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.S
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / mullu.S
CommitLineData
3402aac7 1#------------------------------------------------------------------------------\r
f0a7a8ce 2#\r
3# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
4#\r
4059386c 5# SPDX-License-Identifier: BSD-2-Clause-Patent\r
f0a7a8ce 6#\r
7#------------------------------------------------------------------------------\r
8.text\r
9\r
10GCC_ASM_EXPORT(__ARM_ll_mullu)\r
11GCC_ASM_EXPORT(__aeabi_lmul)\r
12#\r
13#INT64\r
14#EFIAPI\r
15#__aeabi_lmul (\r
16# IN INT64 Multiplicand\r
17# IN INT32 Multiplier\r
18# );\r
19#\r
20ASM_PFX(__ARM_ll_mullu):\r
21 mov r3, #0\r
22# Make upper part of INT64 Multiplier 0 and use __aeabi_lmul\r
23\r
24#\r
25#INT64\r
26#EFIAPI\r
27#__aeabi_lmul (\r
28# IN INT64 Multiplicand\r
29# IN INT64 Multiplier\r
30# );\r
31#\r
32ASM_PFX(__aeabi_lmul):\r
33 stmdb sp!, {lr}\r
34 mov lr, r0\r
35 umull r0, ip, r2, lr\r
36 mla r1, r2, r1, ip\r
37 mla r1, r3, lr, r1\r
38 ldmia sp!, {pc}\r