]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - lib/mpi/longlong.h
Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
[linux.git] / lib / mpi / longlong.h
index 3bb6260d8f4276e089e2cc9c1d132a214be3d9a5..2dceaca27489c0666abf928b4f829bfbd38fc9fa 100644 (file)
@@ -639,30 +639,12 @@ do { \
        **************  MIPS  *****************
        ***************************************/
 #if defined(__mips__) && W_TYPE_SIZE == 32
-#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
 #define umul_ppmm(w1, w0, u, v)                        \
 do {                                           \
        UDItype __ll = (UDItype)(u) * (v);      \
        w1 = __ll >> 32;                        \
        w0 = __ll;                              \
 } while (0)
-#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-#define umul_ppmm(w1, w0, u, v) \
-       __asm__ ("multu %2,%3" \
-       : "=l" ((USItype)(w0)), \
-            "=h" ((USItype)(w1)) \
-       : "d" ((USItype)(u)), \
-            "d" ((USItype)(v)))
-#else
-#define umul_ppmm(w1, w0, u, v) \
-       __asm__ ("multu %2,%3\n" \
-          "mflo %0\n" \
-          "mfhi %1" \
-       : "=d" ((USItype)(w0)), \
-            "=d" ((USItype)(w1)) \
-       : "d" ((USItype)(u)), \
-            "d" ((USItype)(v)))
-#endif
 #define UMUL_TIME 10
 #define UDIV_TIME 100
 #endif /* __mips__ */
@@ -687,7 +669,7 @@ do {                                                                        \
                 : "d" ((UDItype)(u)),                                  \
                   "d" ((UDItype)(v)));                                 \
 } while (0)
-#elif (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
+#else
 #define umul_ppmm(w1, w0, u, v) \
 do {                                                                   \
        typedef unsigned int __ll_UTItype __attribute__((mode(TI)));    \
@@ -695,22 +677,6 @@ do {                                                                       \
        w1 = __ll >> 64;                                                \
        w0 = __ll;                                                      \
 } while (0)
-#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-#define umul_ppmm(w1, w0, u, v) \
-       __asm__ ("dmultu %2,%3" \
-       : "=l" ((UDItype)(w0)), \
-            "=h" ((UDItype)(w1)) \
-       : "d" ((UDItype)(u)), \
-            "d" ((UDItype)(v)))
-#else
-#define umul_ppmm(w1, w0, u, v) \
-       __asm__ ("dmultu %2,%3\n" \
-          "mflo %0\n" \
-          "mfhi %1" \
-       : "=d" ((UDItype)(w0)), \
-            "=d" ((UDItype)(w1)) \
-       : "d" ((UDItype)(u)), \
-            "d" ((UDItype)(v)))
 #endif
 #define UMUL_TIME 20
 #define UDIV_TIME 140