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