1 //===-- aeabi_uldivmod.S - EABI uldivmod implementation -------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "../assembly.h"
12 // struct { uint64_t quot, uint64_t rem}
13 // __aeabi_uldivmod(uint64_t numerator, uint64_t denominator) {
14 // uint64_t rem, quot;
15 // quot = __udivmoddi4(numerator, denominator, &rem);
16 // return {quot, rem};
19 #if defined(__MINGW32__)
20 #define __aeabi_uldivmod __rt_udiv64
25 DEFINE_COMPILERRT_FUNCTION(__aeabi_uldivmod)
30 #if defined(__MINGW32__)
38 bl SYMBOL_NAME(__udivmoddi4)
43 END_COMPILERRT_FUNCTION(__aeabi_uldivmod)
45 NO_EXEC_STACK_DIRECTIVE