1 Index: mpfr-2.3.1/mpfr-longlong.h
2 ===================================================================
3 --- mpfr-2.3.1.orig/mpfr-longlong.h 2009-12-18 19:22:54.372096301 -0800
4 +++ mpfr-2.3.1/mpfr-longlong.h 2009-12-18 19:24:21.832074034 -0800
5 @@ -1011,7 +1011,15 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
6 #endif /* __m88000__ */
8 #if defined (__mips) && W_TYPE_SIZE == 32
9 -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
10 +#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
11 +#define umul_ppmm(w1, w0, u, v) \
14 + _r = (UDItype) u * v; \
16 + (w0) = (USItype) _r; \
18 +#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
19 #define umul_ppmm(w1, w0, u, v) \
20 __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
22 @@ -1024,7 +1032,16 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
25 #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
26 -#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
27 +#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
28 +typedef unsigned int UTItype __attribute__ ((mode (TI)));
29 +#define umul_ppmm(w1, w0, u, v) \
32 + _r = (UTItype) u * v; \
34 + (w0) = (UDItype) _r; \
36 +#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
37 #define umul_ppmm(w1, w0, u, v) \
38 __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))