diff options
Diffstat (limited to 'dev-libs/gmp/files/gmp-gcc4.4-mips.patch')
-rw-r--r-- | dev-libs/gmp/files/gmp-gcc4.4-mips.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/dev-libs/gmp/files/gmp-gcc4.4-mips.patch b/dev-libs/gmp/files/gmp-gcc4.4-mips.patch deleted file mode 100644 index a3d4215..0000000 --- a/dev-libs/gmp/files/gmp-gcc4.4-mips.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/gmp-impl.h b/gmp-impl.h -index bf0dc65..330422f 100644 ---- a/gmp-impl.h -+++ b/gmp-impl.h -@@ -2812,6 +2812,10 @@ typedef int SItype __attribute__ ((mode (SI))); - 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/longlong.h b/longlong.h -index 3e2aa15..e8db21d 100644 ---- a/longlong.h -+++ b/longlong.h -@@ -1012,27 +1012,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 */ |