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