repo.or.cz
/
linux-2.6
/
lfs.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
[PARISC] import necessary bits of libgcc.a
[linux-2.6/lfs.git]
/
arch
/
parisc
/
lib
/
libgcc
/
__udivmodsi4.c
blob
2a2fc28b2026014476a6f4eed37f2619fbdbc655
1
#include
"libgcc.h"
2
3
u32
__udivmodsi4
(
u32 num
,
u32 den
,
u32
*
rem_p
)
4
{
5
u32 quot
=
0
,
qbit
=
1
;
6
7
if
(
den
==
0
) {
8
BUG
();
9
}
10
11
/* Left-justify denominator and count shift */
12
while
((
s32
)
den
>=
0
) {
13
den
<<=
1
;
14
qbit
<<=
1
;
15
}
16
17
while
(
qbit
) {
18
if
(
den
<=
num
) {
19
num
-=
den
;
20
quot
+=
qbit
;
21
}
22
den
>>=
1
;
23
qbit
>>=
1
;
24
}
25
26
if
(
rem_p
)
27
*
rem_p
=
num
;
28
29
return
quot
;
30
}
31
EXPORT_SYMBOL
(
__udivmodsi4
);