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
44