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