repo.or.cz
/
syslinux.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Be excrutiatingly correct with inline assembly syntax
[syslinux.git]
/
dos
/
__divdi3.c
blob
3641396f3e6ceac6a6d1ac9676936043eeeff344
1
/*
2
* arch/i386/libgcc/__divdi3.c
3
*/
4
5
#include <stdint.h>
6
#include <stddef.h>
7
8
extern
uint64_t
__udivmoddi4
(
uint64_t
num
,
uint64_t
den
,
uint64_t
*
rem
);
9
10
int64_t
__divdi3
(
int64_t
num
,
int64_t
den
)
11
{
12
int
minus
=
0
;
13
int64_t
v
;
14
15
if
(
num
<
0
) {
16
num
= -
num
;
17
minus
=
1
;
18
}
19
if
(
den
<
0
) {
20
den
= -
den
;
21
minus
^=
1
;
22
}
23
24
v
=
__udivmoddi4
(
num
,
den
,
NULL
);
25
if
(
minus
)
26
v
= -
v
;
27
28
return
v
;
29
}