• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//===-- aeabi_uldivmod.S - EABI uldivmod implementation -------------------===//
2//
3//	             The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// struct { uint64_t quot, uint64_t rem}
11//	__aeabi_uldivmod(uint64_t numerator, uint64_t denominator) {
12//   uint64_t rem, quot;
13//   quot = __udivmoddi4(numerator, denominator, &rem);
14//   return {quot, rem};
15// }
16
17	.syntax unified
18	.text
19	.align	2
20	.global	__aeabi_uldivmod
21	.thumb
22	.thumb_func
23	.type	__aeabi_uldivmod, %function
24__aeabi_uldivmod:
25	push	{lr}
26	sub	sp, sp, #16
27	add	r12, sp, #8
28	str	r12, [sp]
29	bl	__udivmoddi4
30	ldr	r2, [sp, #8]
31	ldr	r3, [sp, #12]
32	add	sp, sp, #16
33	pop	{pc}
34	.size __aeabi_uldivmod, .-__aeabi_uldivmod
35