projects
/
platform
/
kernel
/
linux-starfive.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Merge tag 'sched-urgent-2020-05-31' of git://git.kernel.org/pub/scm/linux/kernel...
[platform/kernel/linux-starfive.git]
/
arch
/
sh
/
lib
/
div64.S
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* unsigned long __xdiv64_32(unsigned long long n, unsigned long d);
4
*/
5
6
#include <linux/linkage.h>
7
8
.text
9
ENTRY(__xdiv64_32)
10
#ifdef CONFIG_CPU_LITTLE_ENDIAN
11
mov r4, r0
12
mov r5, r1
13
#else
14
mov r4, r1
15
mov r5, r0
16
#endif
17
cmp/hs r6, r1
18
bf.s 1f
19
mov #0, r2
20
21
mov r1, r2
22
mov #0, r3
23
div0u
24
.rept 32
25
rotcl r2
26
div1 r6, r3
27
.endr
28
rotcl r2
29
mul.l r6, r2
30
sts macl, r3
31
sub r3, r1
32
1:
33
div0u
34
.rept 32
35
rotcl r0
36
div1 r6, r1
37
.endr
38
#ifdef CONFIG_CPU_LITTLE_ENDIAN
39
mov r2, r1
40
rts
41
rotcl r0
42
#else
43
rotcl r0
44
mov r0, r1
45
rts
46
mov r2, r0
47
#endif