|
@@ -20,7 +20,7 @@
|
|
|
*/
|
|
|
|
|
|
#define do_div64_32(res, high, low, base) ({ \
|
|
|
- unsigned long __quot, __mod; \
|
|
|
+ unsigned long __quot32, __mod32; \
|
|
|
unsigned long __cf, __tmp, __tmp2, __i; \
|
|
|
\
|
|
|
__asm__(".set push\n\t" \
|
|
@@ -48,12 +48,13 @@
|
|
|
"bnez %4, 0b\n\t" \
|
|
|
" srl %5, %1, 0x1f\n\t" \
|
|
|
".set pop" \
|
|
|
- : "=&r" (__mod), "=&r" (__tmp), "=&r" (__quot), "=&r" (__cf), \
|
|
|
+ : "=&r" (__mod32), "=&r" (__tmp), \
|
|
|
+ "=&r" (__quot32), "=&r" (__cf), \
|
|
|
"=&r" (__i), "=&r" (__tmp2) \
|
|
|
: "Jr" (base), "0" (high), "1" (low)); \
|
|
|
\
|
|
|
- (res) = __quot; \
|
|
|
- __mod; })
|
|
|
+ (res) = __quot32; \
|
|
|
+ __mod32; })
|
|
|
|
|
|
#define do_div(n, base) ({ \
|
|
|
unsigned long long __quot; \
|