summaryrefslogtreecommitdiff
path: root/arch/mips/include/asm/div64.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/include/asm/div64.h')
-rw-r--r--arch/mips/include/asm/div64.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/mips/include/asm/div64.h b/arch/mips/include/asm/div64.h
index a882a7bdf63e..ceece76fc971 100644
--- a/arch/mips/include/asm/div64.h
+++ b/arch/mips/include/asm/div64.h
@@ -58,7 +58,6 @@
#define __div64_32(n, base) ({ \
unsigned long __upper, __low, __high, __radix; \
- unsigned long long __modquot; \
unsigned long long __quot; \
unsigned long long __div; \
unsigned long __mod; \
@@ -73,11 +72,8 @@
__upper = __high; \
__high = 0; \
} else { \
- __asm__("divu $0, %z1, %z2" \
- : "=x" (__modquot) \
- : "Jr" (__high), "Jr" (__radix)); \
- __upper = __modquot >> 32; \
- __high = __modquot; \
+ __upper = __high % __radix; \
+ __high /= __radix; \
} \
\
__mod = do_div64_32(__low, __upper, __low, __radix); \