diff options
Diffstat (limited to 'dev-libs/mpfr/files')
-rw-r--r-- | dev-libs/mpfr/files/2.3.2/patch01 | 55 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.0/patch01 | 55 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch01 | 123 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch02 | 45 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch03 | 25 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch04 | 45 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch05 | 47 | ||||
-rw-r--r-- | dev-libs/mpfr/files/2.4.1/patch06 | 55 |
8 files changed, 0 insertions, 450 deletions
diff --git a/dev-libs/mpfr/files/2.3.2/patch01 b/dev-libs/mpfr/files/2.3.2/patch01 deleted file mode 100644 index f14df45..0000000 --- a/dev-libs/mpfr/files/2.3.2/patch01 +++ /dev/null @@ -1,55 +0,0 @@ ---- a/mpfr-gmp.h 2008-11-28 03:03:22.000000000 +0800 -+++ b/mpfr-gmp.h 2008-11-28 03:04:29.000000000 +0800 -@@ -179,6 +179,10 @@ - typedef unsigned int USItype __attribute__ ((mode (SI))); - typedef int DItype __attribute__ ((mode (DI))); - typedef unsigned int UDItype __attribute__ ((mode (DI))); -+#if BITS_PER_MP_LIMB == 64 -+typedef int TItype __attribute__ ((mode (TI))); -+typedef unsigned int UTItype __attribute__ ((mode (TI))); -+#endif - #else - typedef unsigned char UQItype; - typedef long SItype; -diff --git a/mpfr-longlong.h b/mpfr-longlong.h -index 111b36c..57eba49 100644 ---- a/mpfr-longlong.h -+++ b/mpfr-longlong.h -@@ -1011,27 +1011,23 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype)); - #endif /* __m88000__ */ - - #if defined (__mips) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \ -+ (w1) = (USItype) (__x >> 32); \ -+ (w0) = (USItype) (__x); \ -+ } while (0) - #define UMUL_TIME 10 - #define UDIV_TIME 100 - #endif /* __mips */ - - #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UTItype __x = (UTItype) (UDItype) (u) * (UDItype) (v); \ -+ (w1) = (UDItype) (__x >> 64); \ -+ (w0) = (UDItype) (__x); \ -+ } while (0) - #define UMUL_TIME 20 - #define UDIV_TIME 140 - #endif /* __mips */ diff --git a/dev-libs/mpfr/files/2.4.0/patch01 b/dev-libs/mpfr/files/2.4.0/patch01 deleted file mode 100644 index f14df45..0000000 --- a/dev-libs/mpfr/files/2.4.0/patch01 +++ /dev/null @@ -1,55 +0,0 @@ ---- a/mpfr-gmp.h 2008-11-28 03:03:22.000000000 +0800 -+++ b/mpfr-gmp.h 2008-11-28 03:04:29.000000000 +0800 -@@ -179,6 +179,10 @@ - typedef unsigned int USItype __attribute__ ((mode (SI))); - typedef int DItype __attribute__ ((mode (DI))); - typedef unsigned int UDItype __attribute__ ((mode (DI))); -+#if BITS_PER_MP_LIMB == 64 -+typedef int TItype __attribute__ ((mode (TI))); -+typedef unsigned int UTItype __attribute__ ((mode (TI))); -+#endif - #else - typedef unsigned char UQItype; - typedef long SItype; -diff --git a/mpfr-longlong.h b/mpfr-longlong.h -index 111b36c..57eba49 100644 ---- a/mpfr-longlong.h -+++ b/mpfr-longlong.h -@@ -1011,27 +1011,23 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype)); - #endif /* __m88000__ */ - - #if defined (__mips) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \ -+ (w1) = (USItype) (__x >> 32); \ -+ (w0) = (USItype) (__x); \ -+ } while (0) - #define UMUL_TIME 10 - #define UDIV_TIME 100 - #endif /* __mips */ - - #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UTItype __x = (UTItype) (UDItype) (u) * (UDItype) (v); \ -+ (w1) = (UDItype) (__x >> 64); \ -+ (w0) = (UDItype) (__x); \ -+ } while (0) - #define UMUL_TIME 20 - #define UDIV_TIME 140 - #endif /* __mips */ diff --git a/dev-libs/mpfr/files/2.4.1/patch01 b/dev-libs/mpfr/files/2.4.1/patch01 deleted file mode 100644 index ae92788..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch01 +++ /dev/null @@ -1,123 +0,0 @@ -diff -Naurd mpfr-2.4.1-a/PATCHES mpfr-2.4.1-b/PATCHES ---- mpfr-2.4.1-a/PATCHES 2009-02-20 09:43:17.000000000 +0000 -+++ mpfr-2.4.1-b/PATCHES 2009-02-27 16:56:29.000000000 +0000 -@@ -0,0 +1 @@ -+remainder-neg -diff -Naurd mpfr-2.4.1-a/VERSION mpfr-2.4.1-b/VERSION ---- mpfr-2.4.1-a/VERSION 2009-02-25 16:16:08.000000000 +0000 -+++ mpfr-2.4.1-b/VERSION 2009-02-27 16:55:37.000000000 +0000 -@@ -1 +1 @@ --2.4.1 -+2.4.1-p1 -diff -Naurd mpfr-2.4.1-a/mpfr.h mpfr-2.4.1-b/mpfr.h ---- mpfr-2.4.1-a/mpfr.h 2009-02-25 16:16:08.000000000 +0000 -+++ mpfr-2.4.1-b/mpfr.h 2009-02-27 16:55:38.000000000 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "2.4.1" -+#define MPFR_VERSION_STRING "2.4.1-p1" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-2.4.1-a/rem1.c mpfr-2.4.1-b/rem1.c ---- mpfr-2.4.1-a/rem1.c 2009-02-20 09:43:17.000000000 +0000 -+++ mpfr-2.4.1-b/rem1.c 2009-02-27 16:55:15.000000000 +0000 -@@ -170,7 +170,12 @@ - } - - if (mpz_cmp_ui (r, 0) == 0) -- inex = mpfr_set_ui (rem, 0, GMP_RNDN); -+ { -+ inex = mpfr_set_ui (rem, 0, GMP_RNDN); -+ /* take into account sign of x */ -+ if (signx < 0) -+ mpfr_neg (rem, rem, GMP_RNDN); -+ } - else - { - if (rnd_q == GMP_RNDN) -@@ -190,6 +195,9 @@ - *quo += 1; - } - } -+ /* take into account sign of x */ -+ if (signx < 0) -+ mpz_neg (r, r); - inex = mpfr_set_z (rem, r, rnd); - /* if ex > ey, rem should be multiplied by 2^ey, else by 2^ex */ - MPFR_EXP (rem) += (ex > ey) ? ey : ex; -@@ -198,13 +206,6 @@ - if (quo) - *quo *= sign; - -- /* take into account sign of x */ -- if (signx < 0) -- { -- mpfr_neg (rem, rem, GMP_RNDN); -- inex = -inex; -- } -- - mpz_clear (mx); - mpz_clear (my); - mpz_clear (r); -diff -Naurd mpfr-2.4.1-a/tests/tremquo.c mpfr-2.4.1-b/tests/tremquo.c ---- mpfr-2.4.1-a/tests/tremquo.c 2009-02-20 09:43:15.000000000 +0000 -+++ mpfr-2.4.1-b/tests/tremquo.c 2009-02-27 16:55:15.000000000 +0000 -@@ -25,6 +25,36 @@ - - #include "mpfr-test.h" - -+static void -+bug20090227 (void) -+{ -+ mpfr_t x, y, r1, r2; -+ int inex1, inex2; -+ -+ mpfr_init2 (x, 118); -+ mpfr_init2 (y, 181); -+ mpfr_init2 (r1, 140); -+ mpfr_init2 (r2, 140); -+ mpfr_set_si (x, -1, GMP_RNDN); -+ mpfr_set_str_binary (y, "1.100100100001111110110101010001000100001011010001100001000110100110001001100011001100010100010111000000011011100000111001101000100101001000000100100111000001000100010100110011111010"); -+ inex1 = mpfr_remainder (r1, x, y, GMP_RNDU); -+ /* since the quotient is -1, r1 is the rounding of x+y */ -+ inex2 = mpfr_add (r2, x, y, GMP_RNDU); -+ if (mpfr_cmp (r1, r2)) -+ { -+ printf ("Error in mpfr_remainder (bug20090227)\n"); -+ printf ("Expected "); -+ mpfr_dump (r2); -+ printf ("Got "); -+ mpfr_dump (r1); -+ exit (1); -+ } -+ mpfr_clear (x); -+ mpfr_clear (y); -+ mpfr_clear (r1); -+ mpfr_clear (r2); -+} -+ - int - main (int argc, char *argv[]) - { -@@ -50,6 +80,8 @@ - - tests_start_mpfr (); - -+ bug20090227 (); -+ - mpfr_init (x); - mpfr_init (y); - mpfr_init (r); -diff -Naurd mpfr-2.4.1-a/version.c mpfr-2.4.1-b/version.c ---- mpfr-2.4.1-a/version.c 2009-02-25 16:16:08.000000000 +0000 -+++ mpfr-2.4.1-b/version.c 2009-02-27 16:55:38.000000000 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.1"; -+ return "2.4.1-p1"; - } diff --git a/dev-libs/mpfr/files/2.4.1/patch02 b/dev-libs/mpfr/files/2.4.1/patch02 deleted file mode 100644 index c6b6aac..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch02 +++ /dev/null @@ -1,45 +0,0 @@ -diff -Naurd mpfr-2.4.1-a/PATCHES mpfr-2.4.1-b/PATCHES ---- mpfr-2.4.1-a/PATCHES 2009-03-04 13:15:05.000000000 +0000 -+++ mpfr-2.4.1-b/PATCHES 2009-03-04 13:17:04.000000000 +0000 -@@ -0,0 +1 @@ -+assert -diff -Naurd mpfr-2.4.1-a/VERSION mpfr-2.4.1-b/VERSION ---- mpfr-2.4.1-a/VERSION 2009-02-27 16:55:37.000000000 +0000 -+++ mpfr-2.4.1-b/VERSION 2009-03-04 13:16:46.000000000 +0000 -@@ -1 +1 @@ --2.4.1-p1 -+2.4.1-p2 -diff -Naurd mpfr-2.4.1-a/mpfr-gmp.c mpfr-2.4.1-b/mpfr-gmp.c ---- mpfr-2.4.1-a/mpfr-gmp.c 2009-02-20 09:43:17.000000000 +0000 -+++ mpfr-2.4.1-b/mpfr-gmp.c 2009-03-04 13:16:39.000000000 +0000 -@@ -301,7 +301,7 @@ - if (linenum != -1) - fprintf (stderr, "%d: ", linenum); - } -- fprintf (stderr, " assertion failed: %s\n", expr); -+ fprintf (stderr, "MPFR assertion failed: %s\n", expr); - abort(); - } - -diff -Naurd mpfr-2.4.1-a/mpfr.h mpfr-2.4.1-b/mpfr.h ---- mpfr-2.4.1-a/mpfr.h 2009-02-27 16:55:38.000000000 +0000 -+++ mpfr-2.4.1-b/mpfr.h 2009-03-04 13:16:46.000000000 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "2.4.1-p1" -+#define MPFR_VERSION_STRING "2.4.1-p2" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-2.4.1-a/version.c mpfr-2.4.1-b/version.c ---- mpfr-2.4.1-a/version.c 2009-02-27 16:55:38.000000000 +0000 -+++ mpfr-2.4.1-b/version.c 2009-03-04 13:16:46.000000000 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.1-p1"; -+ return "2.4.1-p2"; - } diff --git a/dev-libs/mpfr/files/2.4.1/patch03 b/dev-libs/mpfr/files/2.4.1/patch03 deleted file mode 100644 index e85136a..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch03 +++ /dev/null @@ -1,25 +0,0 @@ -diff -Naurd mpfr-2.4.1-a/tests/tfprintf.c mpfr-2.4.1-b/tests/tfprintf.c ---- mpfr-2.4.1-a/tests/tfprintf.c 2009-02-20 09:43:15.000000000 +0000 -+++ mpfr-2.4.1-b/tests/tfprintf.c 2009-03-10 01:12:45.000000000 +0000 -@@ -195,7 +195,7 @@ - check_vfprintf (fout, "a. %Pu, b. %c, c. %Zi%Zn", prec, ch, mpz, &mpz); - check_length_with_cmp (6, mpz, 17, mpz_cmp_ui (mpz, 17), Zi); - check_vfprintf (fout, "%% a. %#.0RNg, b. %Qx%Rn, c. %p", mpfr, mpq, &mpfr, -- &i); -+ (void *) &i); - check_length_with_cmp (7, mpfr, 16, mpfr_cmp_ui (mpfr, 16), Rg); - - #ifndef NPRINTF_T -diff -Naurd mpfr-2.4.1-a/tests/tprintf.c mpfr-2.4.1-b/tests/tprintf.c ---- mpfr-2.4.1-a/tests/tprintf.c 2009-02-20 09:43:15.000000000 +0000 -+++ mpfr-2.4.1-b/tests/tprintf.c 2009-03-10 01:12:45.000000000 +0000 -@@ -191,7 +191,8 @@ - check_length (5, sz, 34, zu); - check_vprintf ("a. %Pu, b. %c, c. %RUG, d. %Zi%Zn", prec, ch, mpfr, mpz, &mpz); - check_length_with_cmp (6, mpz, 24, mpz_cmp_ui (mpz, 24), Zi); -- check_vprintf ("%% a. %#.0RNg, b. %Qx%Rn c. %p", mpfr, mpq, &mpfr, &i); -+ check_vprintf ("%% a. %#.0RNg, b. %Qx%Rn c. %p", -+ mpfr, mpq, &mpfr, (void *) &i); - check_length_with_cmp (7, mpfr, 16, mpfr_cmp_ui (mpfr, 16), Rg); - - #ifndef NPRINTF_T diff --git a/dev-libs/mpfr/files/2.4.1/patch04 b/dev-libs/mpfr/files/2.4.1/patch04 deleted file mode 100644 index 08e21f2..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch04 +++ /dev/null @@ -1,45 +0,0 @@ -diff -Naurd mpfr-2.4.1-a/PATCHES mpfr-2.4.1-b/PATCHES ---- mpfr-2.4.1-a/PATCHES 2009-03-10 01:44:39.000000000 +0000 -+++ mpfr-2.4.1-b/PATCHES 2009-03-10 01:44:40.000000000 +0000 -@@ -0,0 +1 @@ -+vasprintf-mp_limb_t -diff -Naurd mpfr-2.4.1-a/VERSION mpfr-2.4.1-b/VERSION ---- mpfr-2.4.1-a/VERSION 2009-03-04 13:16:46.000000000 +0000 -+++ mpfr-2.4.1-b/VERSION 2009-03-10 01:44:40.000000000 +0000 -@@ -1 +1 @@ --2.4.1-p2 -+2.4.1-p4 -diff -Naurd mpfr-2.4.1-a/mpfr.h mpfr-2.4.1-b/mpfr.h ---- mpfr-2.4.1-a/mpfr.h 2009-03-04 13:16:46.000000000 +0000 -+++ mpfr-2.4.1-b/mpfr.h 2009-03-10 01:44:40.000000000 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "2.4.1-p2" -+#define MPFR_VERSION_STRING "2.4.1-p4" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-2.4.1-a/vasprintf.c mpfr-2.4.1-b/vasprintf.c ---- mpfr-2.4.1-a/vasprintf.c 2009-02-20 09:43:17.000000000 +0000 -+++ mpfr-2.4.1-b/vasprintf.c 2009-03-10 01:44:40.000000000 +0000 -@@ -398,7 +398,7 @@ - (void) va_arg ((ap), mpq_srcptr); \ - break; \ - case MP_LIMB_ARG: \ -- (void) va_arg ((ap), mp_ptr); \ -+ (void) va_arg ((ap), mp_limb_t); \ - break; \ - case MP_LIMB_ARRAY_ARG: \ - (void) va_arg ((ap), mp_ptr); \ -diff -Naurd mpfr-2.4.1-a/version.c mpfr-2.4.1-b/version.c ---- mpfr-2.4.1-a/version.c 2009-03-04 13:16:46.000000000 +0000 -+++ mpfr-2.4.1-b/version.c 2009-03-10 01:44:40.000000000 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.1-p2"; -+ return "2.4.1-p4"; - } diff --git a/dev-libs/mpfr/files/2.4.1/patch05 b/dev-libs/mpfr/files/2.4.1/patch05 deleted file mode 100644 index 710c698..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch05 +++ /dev/null @@ -1,47 +0,0 @@ -diff -Naurd mpfr-2.4.1-a/PATCHES mpfr-2.4.1-b/PATCHES ---- mpfr-2.4.1-a/PATCHES 2009-03-13 02:50:47.000000000 +0000 -+++ mpfr-2.4.1-b/PATCHES 2009-03-13 02:50:48.000000000 +0000 -@@ -0,0 +1 @@ -+zeta_ui-shift -diff -Naurd mpfr-2.4.1-a/VERSION mpfr-2.4.1-b/VERSION ---- mpfr-2.4.1-a/VERSION 2009-03-10 01:44:40.000000000 +0000 -+++ mpfr-2.4.1-b/VERSION 2009-03-13 02:50:48.000000000 +0000 -@@ -1 +1 @@ --2.4.1-p4 -+2.4.1-p5 -diff -Naurd mpfr-2.4.1-a/mpfr.h mpfr-2.4.1-b/mpfr.h ---- mpfr-2.4.1-a/mpfr.h 2009-03-10 01:44:40.000000000 +0000 -+++ mpfr-2.4.1-b/mpfr.h 2009-03-13 02:50:48.000000000 +0000 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 2 - #define MPFR_VERSION_MINOR 4 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "2.4.1-p4" -+#define MPFR_VERSION_STRING "2.4.1-p5" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -Naurd mpfr-2.4.1-a/version.c mpfr-2.4.1-b/version.c ---- mpfr-2.4.1-a/version.c 2009-03-10 01:44:40.000000000 +0000 -+++ mpfr-2.4.1-b/version.c 2009-03-13 02:50:48.000000000 +0000 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "2.4.1-p4"; -+ return "2.4.1-p5"; - } -diff -Naurd mpfr-2.4.1-a/zeta_ui.c mpfr-2.4.1-b/zeta_ui.c ---- mpfr-2.4.1-a/zeta_ui.c 2009-02-20 09:43:17.000000000 +0000 -+++ mpfr-2.4.1-b/zeta_ui.c 2009-03-13 02:50:48.000000000 +0000 -@@ -177,7 +177,9 @@ - mpz_mul_ui (t, t, 2 * k - 1); - } - mpz_div_2exp (t, t, 1); -- if (n < 1UL << (BITS_PER_MP_LIMB / 2)) -+ /* Warning: the test below assumes that an unsigned long -+ has no padding bits. */ -+ if (n < 1UL << ((sizeof(unsigned long) * CHAR_BIT) / 2)) - /* (n - k + 1) * (n + k - 1) < n^2 */ - mpz_divexact_ui (t, t, (n - k + 1) * (n + k - 1)); - else diff --git a/dev-libs/mpfr/files/2.4.1/patch06 b/dev-libs/mpfr/files/2.4.1/patch06 deleted file mode 100644 index f14df45..0000000 --- a/dev-libs/mpfr/files/2.4.1/patch06 +++ /dev/null @@ -1,55 +0,0 @@ ---- a/mpfr-gmp.h 2008-11-28 03:03:22.000000000 +0800 -+++ b/mpfr-gmp.h 2008-11-28 03:04:29.000000000 +0800 -@@ -179,6 +179,10 @@ - typedef unsigned int USItype __attribute__ ((mode (SI))); - typedef int DItype __attribute__ ((mode (DI))); - typedef unsigned int UDItype __attribute__ ((mode (DI))); -+#if BITS_PER_MP_LIMB == 64 -+typedef int TItype __attribute__ ((mode (TI))); -+typedef unsigned int UTItype __attribute__ ((mode (TI))); -+#endif - #else - typedef unsigned char UQItype; - typedef long SItype; -diff --git a/mpfr-longlong.h b/mpfr-longlong.h -index 111b36c..57eba49 100644 ---- a/mpfr-longlong.h -+++ b/mpfr-longlong.h -@@ -1011,27 +1011,23 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ((UWtype *, UWtype, UWtype, UWtype)); - #endif /* __m88000__ */ - - #if defined (__mips) && W_TYPE_SIZE == 32 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("multu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \ -+ (w1) = (USItype) (__x >> 32); \ -+ (w0) = (USItype) (__x); \ -+ } while (0) - #define UMUL_TIME 10 - #define UDIV_TIME 100 - #endif /* __mips */ - - #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 --#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 - #define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v)) --#else --#define umul_ppmm(w1, w0, u, v) \ -- __asm__ ("dmultu %2,%3\n\tmflo %0\n\tmfhi %1" \ -- : "=d" (w0), "=d" (w1) : "d" (u), "d" (v)) --#endif -+ do { \ -+ UTItype __x = (UTItype) (UDItype) (u) * (UDItype) (v); \ -+ (w1) = (UDItype) (__x >> 64); \ -+ (w0) = (UDItype) (__x); \ -+ } while (0) - #define UMUL_TIME 20 - #define UDIV_TIME 140 - #endif /* __mips */ |