| /* | |
| * arch/i386/libgcc/__divdi3.c | |
| */ | |
| #include <stdint.h> | |
| #include <stddef.h> | |
| extern uint64_t __udivmoddi4(uint64_t num, uint64_t den, uint64_t * rem); | |
| int64_t __divdi3(int64_t num, int64_t den) | |
| { | |
| int minus = 0; | |
| int64_t v; | |
| if (num < 0) { | |
| num = -num; | |
| minus = 1; | |
| } | |
| if (den < 0) { | |
| den = -den; | |
| minus ^= 1; | |
| } | |
| v = __udivmoddi4(num, den, NULL); | |
| if (minus) | |
| v = -v; | |
| return v; | |
| } |