1 /** @file
2 
3   Copyright (c) 2008 - 2010, 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 "Llvm_int_lib.h"
16 #include <Library/BaseLib.h>
17 
18 
19 UINT32 __udivsi3(UINT32 n, UINT32 d);
20 UINT32 __umodsi3(UINT32 a, UINT32 b);
21 
22 
23 UINT64
__aeabi_uidivmod(unsigned numerator,unsigned denominator)24 __aeabi_uidivmod(unsigned numerator, unsigned denominator)
25 {
26   UINT64  Return;
27 
28   Return = __udivsi3 (numerator, denominator);
29   Return |= LShiftU64 (__umodsi3 (numerator, denominator), 32);
30 
31   return Return;
32 }
33 
34 unsigned
__aeabi_uidiv(unsigned n,unsigned d)35 __aeabi_uidiv (unsigned n, unsigned d)
36 {
37   return __udivsi3 (n, d);
38 }
39 
40 
41 
42 
43 
44