summaryrefslogtreecommitdiff
path: root/klibc/klibc/libgcc/__udivmodsi4.c
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/klibc/libgcc/__udivmodsi4.c')
-rw-r--r--klibc/klibc/libgcc/__udivmodsi4.c32
1 files changed, 0 insertions, 32 deletions
diff --git a/klibc/klibc/libgcc/__udivmodsi4.c b/klibc/klibc/libgcc/__udivmodsi4.c
deleted file mode 100644
index 61f6bef0a4..0000000000
--- a/klibc/klibc/libgcc/__udivmodsi4.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <klibc/diverr.h>
-#include <stdint.h>
-
-uint32_t __udivmodsi4(uint32_t num, uint32_t den, uint32_t *rem_p)
-{
- uint32_t quot = 0, qbit = 1;
-
- if ( den == 0 ) {
- __divide_error();
- return 0; /* If trap returns... */
- }
-
- /* Left-justify denominator and count shift */
- while ( (int32_t)den >= 0 ) {
- den <<= 1;
- qbit <<= 1;
- }
-
- while ( qbit ) {
- if ( den <= num ) {
- num -= den;
- quot += qbit;
- }
- den >>= 1;
- qbit >>= 1;
- }
-
- if ( rem_p )
- *rem_p = num;
-
- return quot;
-}