.. | .. |
---|
397 | 397 | #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ |
---|
398 | 398 | __asm__ ("addl %5,%1\n" \ |
---|
399 | 399 | "adcl %3,%0" \ |
---|
400 | | - : "=r" ((USItype)(sh)), \ |
---|
401 | | - "=&r" ((USItype)(sl)) \ |
---|
| 400 | + : "=r" (sh), \ |
---|
| 401 | + "=&r" (sl) \ |
---|
402 | 402 | : "%0" ((USItype)(ah)), \ |
---|
403 | 403 | "g" ((USItype)(bh)), \ |
---|
404 | 404 | "%1" ((USItype)(al)), \ |
---|
.. | .. |
---|
406 | 406 | #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ |
---|
407 | 407 | __asm__ ("subl %5,%1\n" \ |
---|
408 | 408 | "sbbl %3,%0" \ |
---|
409 | | - : "=r" ((USItype)(sh)), \ |
---|
410 | | - "=&r" ((USItype)(sl)) \ |
---|
| 409 | + : "=r" (sh), \ |
---|
| 410 | + "=&r" (sl) \ |
---|
411 | 411 | : "0" ((USItype)(ah)), \ |
---|
412 | 412 | "g" ((USItype)(bh)), \ |
---|
413 | 413 | "1" ((USItype)(al)), \ |
---|
414 | 414 | "g" ((USItype)(bl))) |
---|
415 | 415 | #define umul_ppmm(w1, w0, u, v) \ |
---|
416 | 416 | __asm__ ("mull %3" \ |
---|
417 | | - : "=a" ((USItype)(w0)), \ |
---|
418 | | - "=d" ((USItype)(w1)) \ |
---|
| 417 | + : "=a" (w0), \ |
---|
| 418 | + "=d" (w1) \ |
---|
419 | 419 | : "%0" ((USItype)(u)), \ |
---|
420 | 420 | "rm" ((USItype)(v))) |
---|
421 | 421 | #define udiv_qrnnd(q, r, n1, n0, d) \ |
---|
422 | 422 | __asm__ ("divl %4" \ |
---|
423 | | - : "=a" ((USItype)(q)), \ |
---|
424 | | - "=d" ((USItype)(r)) \ |
---|
| 423 | + : "=a" (q), \ |
---|
| 424 | + "=d" (r) \ |
---|
425 | 425 | : "0" ((USItype)(n0)), \ |
---|
426 | 426 | "1" ((USItype)(n1)), \ |
---|
427 | 427 | "rm" ((USItype)(d))) |
---|
.. | .. |
---|
639 | 639 | ************** MIPS ***************** |
---|
640 | 640 | ***************************************/ |
---|
641 | 641 | #if defined(__mips__) && W_TYPE_SIZE == 32 |
---|
642 | | -#if (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) |
---|
643 | 642 | #define umul_ppmm(w1, w0, u, v) \ |
---|
644 | 643 | do { \ |
---|
645 | 644 | UDItype __ll = (UDItype)(u) * (v); \ |
---|
646 | 645 | w1 = __ll >> 32; \ |
---|
647 | 646 | w0 = __ll; \ |
---|
648 | 647 | } 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 |
---|
666 | 648 | #define UMUL_TIME 10 |
---|
667 | 649 | #define UDIV_TIME 100 |
---|
668 | 650 | #endif /* __mips__ */ |
---|
.. | .. |
---|
687 | 669 | : "d" ((UDItype)(u)), \ |
---|
688 | 670 | "d" ((UDItype)(v))); \ |
---|
689 | 671 | } while (0) |
---|
690 | | -#elif (__GNUC__ >= 5) || (__GNUC__ >= 4 && __GNUC_MINOR__ >= 4) |
---|
| 672 | +#else |
---|
691 | 673 | #define umul_ppmm(w1, w0, u, v) \ |
---|
692 | 674 | do { \ |
---|
693 | 675 | typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ |
---|
.. | .. |
---|
695 | 677 | w1 = __ll >> 64; \ |
---|
696 | 678 | w0 = __ll; \ |
---|
697 | 679 | } 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))) |
---|
714 | 680 | #endif |
---|
715 | 681 | #define UMUL_TIME 20 |
---|
716 | 682 | #define UDIV_TIME 140 |
---|