hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/lib/mpi/longlong.h
....@@ -397,8 +397,8 @@
397397 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
398398 __asm__ ("addl %5,%1\n" \
399399 "adcl %3,%0" \
400
- : "=r" ((USItype)(sh)), \
401
- "=&r" ((USItype)(sl)) \
400
+ : "=r" (sh), \
401
+ "=&r" (sl) \
402402 : "%0" ((USItype)(ah)), \
403403 "g" ((USItype)(bh)), \
404404 "%1" ((USItype)(al)), \
....@@ -406,22 +406,22 @@
406406 #define sub_ddmmss(sh, sl, ah, al, bh, bl) \
407407 __asm__ ("subl %5,%1\n" \
408408 "sbbl %3,%0" \
409
- : "=r" ((USItype)(sh)), \
410
- "=&r" ((USItype)(sl)) \
409
+ : "=r" (sh), \
410
+ "=&r" (sl) \
411411 : "0" ((USItype)(ah)), \
412412 "g" ((USItype)(bh)), \
413413 "1" ((USItype)(al)), \
414414 "g" ((USItype)(bl)))
415415 #define umul_ppmm(w1, w0, u, v) \
416416 __asm__ ("mull %3" \
417
- : "=a" ((USItype)(w0)), \
418
- "=d" ((USItype)(w1)) \
417
+ : "=a" (w0), \
418
+ "=d" (w1) \
419419 : "%0" ((USItype)(u)), \
420420 "rm" ((USItype)(v)))
421421 #define udiv_qrnnd(q, r, n1, n0, d) \
422422 __asm__ ("divl %4" \
423
- : "=a" ((USItype)(q)), \
424
- "=d" ((USItype)(r)) \
423
+ : "=a" (q), \
424
+ "=d" (r) \
425425 : "0" ((USItype)(n0)), \
426426 "1" ((USItype)(n1)), \
427427 "rm" ((USItype)(d)))
....@@ -639,30 +639,12 @@
639639 ************** MIPS *****************
640640 ***************************************/
641641 #if defined(__mips__) && W_TYPE_SIZE == 32
642
-#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
643642 #define umul_ppmm(w1, w0, u, v) \
644643 do { \
645644 UDItype __ll = (UDItype)(u) * (v); \
646645 w1 = __ll >> 32; \
647646 w0 = __ll; \
648647 } while (0)
649
-#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
650
-#define umul_ppmm(w1, w0, u, v) \
651
- __asm__ ("multu %2,%3" \
652
- : "=l" ((USItype)(w0)), \
653
- "=h" ((USItype)(w1)) \
654
- : "d" ((USItype)(u)), \
655
- "d" ((USItype)(v)))
656
-#else
657
-#define umul_ppmm(w1, w0, u, v) \
658
- __asm__ ("multu %2,%3\n" \
659
- "mflo %0\n" \
660
- "mfhi %1" \
661
- : "=d" ((USItype)(w0)), \
662
- "=d" ((USItype)(w1)) \
663
- : "d" ((USItype)(u)), \
664
- "d" ((USItype)(v)))
665
-#endif
666648 #define UMUL_TIME 10
667649 #define UDIV_TIME 100
668650 #endif /* __mips__ */
....@@ -687,7 +669,7 @@
687669 : "d" ((UDItype)(u)), \
688670 "d" ((UDItype)(v))); \
689671 } while (0)
690
-#elif (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4)
672
+#else
691673 #define umul_ppmm(w1, w0, u, v) \
692674 do { \
693675 typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \
....@@ -695,22 +677,6 @@
695677 w1 = __ll >> 64; \
696678 w0 = __ll; \
697679 } while (0)
698
-#elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
699
-#define umul_ppmm(w1, w0, u, v) \
700
- __asm__ ("dmultu %2,%3" \
701
- : "=l" ((UDItype)(w0)), \
702
- "=h" ((UDItype)(w1)) \
703
- : "d" ((UDItype)(u)), \
704
- "d" ((UDItype)(v)))
705
-#else
706
-#define umul_ppmm(w1, w0, u, v) \
707
- __asm__ ("dmultu %2,%3\n" \
708
- "mflo %0\n" \
709
- "mfhi %1" \
710
- : "=d" ((UDItype)(w0)), \
711
- "=d" ((UDItype)(w1)) \
712
- : "d" ((UDItype)(u)), \
713
- "d" ((UDItype)(v)))
714680 #endif
715681 #define UMUL_TIME 20
716682 #define UDIV_TIME 140