]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/mullu.asm
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / mullu.asm
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
9
10 EXPORT __ARM_ll_mullu
11 EXPORT __aeabi_lmul
12
13 AREA Math, CODE, READONLY
14
15 ;
16 ;INT64
17 ;EFIAPI
18 ;__aeabi_lmul (
19 ; IN INT64 Multiplicand
20 ; IN INT32 Multiplier
21 ; );
22 ;
23 __ARM_ll_mullu
24 mov r3, #0
25 // Make upper part of INT64 Multiplier 0 and use __aeabi_lmul
26
27 ;
28 ;INT64
29 ;EFIAPI
30 ;__aeabi_lmul (
31 ; IN INT64 Multiplicand
32 ; IN INT64 Multiplier
33 ; );
34 ;
35 __aeabi_lmul
36 stmdb sp!, {lr}
37 mov lr, r0
38 umull r0, ip, r2, lr
39 mla r1, r2, r1, ip
40 mla r1, r3, lr, r1
41 ldmia sp!, {pc}
42
43 END