xref: /DragonStub/lib/arm/mullu.S (revision 803b49c40bb0b720b90d9c31d372911f1b946aa7)
1#------------------------------------------------------------------------------
2#
3# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4#
5# This program and the accompanying materials
6# are licensed and made available under the terms and conditions of the BSD License
7# which accompanies this distribution.  The full text of the license may be found at
8# http://opensource.org/licenses/bsd-license.php
9#
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12#
13#------------------------------------------------------------------------------
14
15#include "edk2asm.h"
16
17.text
18GCC_ASM_EXPORT(__aeabi_lmul)
19#
20#INT64
21#EFIAPI
22#__aeabi_lmul (
23#  IN INT64   Multiplicand
24#  IN INT64   Multiplier
25#  );
26#
27ASM_PFX(__aeabi_lmul):
28  stmdb   sp!, {lr}
29  mov     lr, r0
30  umull   r0, ip, r2, lr
31  mla     r1, r2, r1, ip
32  mla     r1, r3, lr, r1
33  ldmia   sp!, {pc}
34
35#if defined(__ELF__) && defined(__linux__)
36	.section .note.GNU-stack,"",%progbits
37#endif
38