| .. | .. |
|---|
| 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 |
|---|