| ... | ... | @@ -44,13 +44,19 @@ typedef char bool; |
| 44 | 44 | #define zig_threadlocal zig_threadlocal_unavailable |
| 45 | 45 | #endif |
| 46 | 46 | |
| 47 | #if defined(__clang__) |
| 48 | #define zig_clang |
| 49 | #elif defined(__GNUC__) |
| 50 | #define zig_gnuc |
| 51 | #endif |
| 52 | |
| 47 | 53 | #if _MSC_VER |
| 48 | 54 | #define zig_const_arr |
| 49 | 55 | #else |
| 50 | 56 | #define zig_const_arr static const |
| 51 | 57 | #endif |
| 52 | 58 | |
| 53 | | #if zig_has_attribute(naked) || defined(__GNUC__) |
| 59 | #if zig_has_attribute(naked) || defined(zig_gnuc) |
| 54 | 60 | #define zig_naked __attribute__((naked)) |
| 55 | 61 | #elif defined(_MSC_VER) |
| 56 | 62 | #define zig_naked __declspec(naked) |
| ... | ... | @@ -90,7 +96,7 @@ typedef char bool; |
| 90 | 96 | #define zig_align_fn zig_align_fn_unavailable |
| 91 | 97 | #endif |
| 92 | 98 | |
| 93 | | #if zig_has_builtin(unreachable) || defined(__GNUC__) |
| 99 | #if zig_has_builtin(unreachable) || defined(zig_gnuc) |
| 94 | 100 | #define zig_unreachable() __builtin_unreachable() |
| 95 | 101 | #else |
| 96 | 102 | #define zig_unreachable() |
| ... | ... | @@ -113,7 +119,7 @@ typedef char bool; |
| 113 | 119 | |
| 114 | 120 | #if zig_has_builtin(debugtrap) |
| 115 | 121 | #define zig_breakpoint() __builtin_debugtrap() |
| 116 | | #elif zig_has_builtin(trap) || defined(__GNUC__) |
| 122 | #elif zig_has_builtin(trap) || defined(zig_gnuc) |
| 117 | 123 | #define zig_breakpoint() __builtin_trap() |
| 118 | 124 | #elif defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__) |
| 119 | 125 | #define zig_breakpoint() __debugbreak() |
| ... | ... | @@ -123,7 +129,7 @@ typedef char bool; |
| 123 | 129 | #define zig_breakpoint() raise(SIGTRAP) |
| 124 | 130 | #endif |
| 125 | 131 | |
| 126 | | #if zig_has_builtin(return_address) || defined(__GNUC__) |
| 132 | #if zig_has_builtin(return_address) || defined(zig_gnuc) |
| 127 | 133 | #define zig_return_address() __builtin_extract_return_addr(__builtin_return_address(0)) |
| 128 | 134 | #elif defined(_MSC_VER) |
| 129 | 135 | #define zig_return_address() _ReturnAddress() |
| ... | ... | @@ -131,13 +137,13 @@ typedef char bool; |
| 131 | 137 | #define zig_return_address() 0 |
| 132 | 138 | #endif |
| 133 | 139 | |
| 134 | | #if zig_has_builtin(frame_address) || defined(__GNUC__) |
| 140 | #if zig_has_builtin(frame_address) || defined(zig_gnuc) |
| 135 | 141 | #define zig_frame_address() __builtin_frame_address(0) |
| 136 | 142 | #else |
| 137 | 143 | #define zig_frame_address() 0 |
| 138 | 144 | #endif |
| 139 | 145 | |
| 140 | | #if zig_has_builtin(prefetch) || defined(__GNUC__) |
| 146 | #if zig_has_builtin(prefetch) || defined(zig_gnuc) |
| 141 | 147 | #define zig_prefetch(addr, rw, locality) __builtin_prefetch(addr, rw, locality) |
| 142 | 148 | #else |
| 143 | 149 | #define zig_prefetch(addr, rw, locality) |
| ... | ... | @@ -242,7 +248,7 @@ typedef char bool; |
| 242 | 248 | |
| 243 | 249 | #if __STDC_VERSION__ >= 201112L |
| 244 | 250 | #define zig_noreturn _Noreturn void |
| 245 | | #elif zig_has_attribute(noreturn) || defined(__GNUC__) |
| 251 | #elif zig_has_attribute(noreturn) || defined(zig_gnuc) |
| 246 | 252 | #define zig_noreturn __attribute__((noreturn)) void |
| 247 | 253 | #elif _MSC_VER |
| 248 | 254 | #define zig_noreturn __declspec(noreturn) void |
| ... | ... | @@ -412,7 +418,7 @@ zig_int_helpers(32) |
| 412 | 418 | zig_int_helpers(64) |
| 413 | 419 | |
| 414 | 420 | static inline bool zig_addo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_u8 bits) { |
| 415 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 421 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 416 | 422 | zig_u32 full_res; |
| 417 | 423 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 418 | 424 | *res = zig_wrap_u32(full_res, bits); |
| ... | ... | @@ -431,7 +437,7 @@ static inline void zig_vaddo_u32(zig_u8 *ov, zig_u32 *res, int n, |
| 431 | 437 | |
| 432 | 438 | zig_extern zig_i32 __addosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 433 | 439 | static inline bool zig_addo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 434 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 440 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 435 | 441 | zig_i32 full_res; |
| 436 | 442 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 437 | 443 | #else |
| ... | ... | @@ -450,7 +456,7 @@ static inline void zig_vaddo_i32(zig_u8 *ov, zig_i32 *res, int n, |
| 450 | 456 | } |
| 451 | 457 | |
| 452 | 458 | static inline bool zig_addo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_u8 bits) { |
| 453 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 459 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 454 | 460 | zig_u64 full_res; |
| 455 | 461 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 456 | 462 | *res = zig_wrap_u64(full_res, bits); |
| ... | ... | @@ -469,7 +475,7 @@ static inline void zig_vaddo_u64(zig_u8 *ov, zig_u64 *res, int n, |
| 469 | 475 | |
| 470 | 476 | zig_extern zig_i64 __addodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 471 | 477 | static inline bool zig_addo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 472 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 478 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 473 | 479 | zig_i64 full_res; |
| 474 | 480 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 475 | 481 | #else |
| ... | ... | @@ -488,7 +494,7 @@ static inline void zig_vaddo_i64(zig_u8 *ov, zig_i64 *res, int n, |
| 488 | 494 | } |
| 489 | 495 | |
| 490 | 496 | static inline bool zig_addo_u8(zig_u8 *res, zig_u8 lhs, zig_u8 rhs, zig_u8 bits) { |
| 491 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 497 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 492 | 498 | zig_u8 full_res; |
| 493 | 499 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 494 | 500 | *res = zig_wrap_u8(full_res, bits); |
| ... | ... | @@ -508,7 +514,7 @@ static inline void zig_vaddo_u8(zig_u8 *ov, zig_u8 *res, int n, |
| 508 | 514 | } |
| 509 | 515 | |
| 510 | 516 | static inline bool zig_addo_i8(zig_i8 *res, zig_i8 lhs, zig_i8 rhs, zig_u8 bits) { |
| 511 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 517 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 512 | 518 | zig_i8 full_res; |
| 513 | 519 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 514 | 520 | *res = zig_wrap_i8(full_res, bits); |
| ... | ... | @@ -528,7 +534,7 @@ static inline void zig_vaddo_i8(zig_u8 *ov, zig_i8 *res, int n, |
| 528 | 534 | } |
| 529 | 535 | |
| 530 | 536 | static inline bool zig_addo_u16(zig_u16 *res, zig_u16 lhs, zig_u16 rhs, zig_u8 bits) { |
| 531 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 537 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 532 | 538 | zig_u16 full_res; |
| 533 | 539 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 534 | 540 | *res = zig_wrap_u16(full_res, bits); |
| ... | ... | @@ -548,7 +554,7 @@ static inline void zig_vaddo_u16(zig_u8 *ov, zig_u16 *res, int n, |
| 548 | 554 | } |
| 549 | 555 | |
| 550 | 556 | static inline bool zig_addo_i16(zig_i16 *res, zig_i16 lhs, zig_i16 rhs, zig_u8 bits) { |
| 551 | | #if zig_has_builtin(add_overflow) || defined(__GNUC__) |
| 557 | #if zig_has_builtin(add_overflow) || defined(zig_gnuc) |
| 552 | 558 | zig_i16 full_res; |
| 553 | 559 | bool overflow = __builtin_add_overflow(lhs, rhs, &full_res); |
| 554 | 560 | *res = zig_wrap_i16(full_res, bits); |
| ... | ... | @@ -568,7 +574,7 @@ static inline void zig_vaddo_i16(zig_u8 *ov, zig_i16 *res, int n, |
| 568 | 574 | } |
| 569 | 575 | |
| 570 | 576 | static inline bool zig_subo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_u8 bits) { |
| 571 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 577 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 572 | 578 | zig_u32 full_res; |
| 573 | 579 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 574 | 580 | *res = zig_wrap_u32(full_res, bits); |
| ... | ... | @@ -587,7 +593,7 @@ static inline void zig_vsubo_u32(zig_u8 *ov, zig_u32 *res, int n, |
| 587 | 593 | |
| 588 | 594 | zig_extern zig_i32 __subosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 589 | 595 | static inline bool zig_subo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 590 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 596 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 591 | 597 | zig_i32 full_res; |
| 592 | 598 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 593 | 599 | #else |
| ... | ... | @@ -606,7 +612,7 @@ static inline void zig_vsubo_i32(zig_u8 *ov, zig_i32 *res, int n, |
| 606 | 612 | } |
| 607 | 613 | |
| 608 | 614 | static inline bool zig_subo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_u8 bits) { |
| 609 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 615 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 610 | 616 | zig_u64 full_res; |
| 611 | 617 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 612 | 618 | *res = zig_wrap_u64(full_res, bits); |
| ... | ... | @@ -625,7 +631,7 @@ static inline void zig_vsubo_u64(zig_u8 *ov, zig_u64 *res, int n, |
| 625 | 631 | |
| 626 | 632 | zig_extern zig_i64 __subodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 627 | 633 | static inline bool zig_subo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 628 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 634 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 629 | 635 | zig_i64 full_res; |
| 630 | 636 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 631 | 637 | #else |
| ... | ... | @@ -644,7 +650,7 @@ static inline void zig_vsubo_i64(zig_u8 *ov, zig_i64 *res, int n, |
| 644 | 650 | } |
| 645 | 651 | |
| 646 | 652 | static inline bool zig_subo_u8(zig_u8 *res, zig_u8 lhs, zig_u8 rhs, zig_u8 bits) { |
| 647 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 653 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 648 | 654 | zig_u8 full_res; |
| 649 | 655 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 650 | 656 | *res = zig_wrap_u8(full_res, bits); |
| ... | ... | @@ -664,7 +670,7 @@ static inline void zig_vsubo_u8(zig_u8 *ov, zig_u8 *res, int n, |
| 664 | 670 | } |
| 665 | 671 | |
| 666 | 672 | static inline bool zig_subo_i8(zig_i8 *res, zig_i8 lhs, zig_i8 rhs, zig_u8 bits) { |
| 667 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 673 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 668 | 674 | zig_i8 full_res; |
| 669 | 675 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 670 | 676 | *res = zig_wrap_i8(full_res, bits); |
| ... | ... | @@ -685,7 +691,7 @@ static inline void zig_vsubo_i8(zig_u8 *ov, zig_i8 *res, int n, |
| 685 | 691 | |
| 686 | 692 | |
| 687 | 693 | static inline bool zig_subo_u16(zig_u16 *res, zig_u16 lhs, zig_u16 rhs, zig_u8 bits) { |
| 688 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 694 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 689 | 695 | zig_u16 full_res; |
| 690 | 696 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 691 | 697 | *res = zig_wrap_u16(full_res, bits); |
| ... | ... | @@ -706,7 +712,7 @@ static inline void zig_vsubo_u16(zig_u8 *ov, zig_u16 *res, int n, |
| 706 | 712 | |
| 707 | 713 | |
| 708 | 714 | static inline bool zig_subo_i16(zig_i16 *res, zig_i16 lhs, zig_i16 rhs, zig_u8 bits) { |
| 709 | | #if zig_has_builtin(sub_overflow) || defined(__GNUC__) |
| 715 | #if zig_has_builtin(sub_overflow) || defined(zig_gnuc) |
| 710 | 716 | zig_i16 full_res; |
| 711 | 717 | bool overflow = __builtin_sub_overflow(lhs, rhs, &full_res); |
| 712 | 718 | *res = zig_wrap_i16(full_res, bits); |
| ... | ... | @@ -726,7 +732,7 @@ static inline void zig_vsubo_i16(zig_u8 *ov, zig_i16 *res, int n, |
| 726 | 732 | } |
| 727 | 733 | |
| 728 | 734 | static inline bool zig_mulo_u32(zig_u32 *res, zig_u32 lhs, zig_u32 rhs, zig_u8 bits) { |
| 729 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 735 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 730 | 736 | zig_u32 full_res; |
| 731 | 737 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 732 | 738 | *res = zig_wrap_u32(full_res, bits); |
| ... | ... | @@ -745,7 +751,7 @@ static inline void zig_vmulo_u32(zig_u8 *ov, zig_u32 *res, int n, |
| 745 | 751 | |
| 746 | 752 | zig_extern zig_i32 __mulosi4(zig_i32 lhs, zig_i32 rhs, zig_c_int *overflow); |
| 747 | 753 | static inline bool zig_mulo_i32(zig_i32 *res, zig_i32 lhs, zig_i32 rhs, zig_u8 bits) { |
| 748 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 754 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 749 | 755 | zig_i32 full_res; |
| 750 | 756 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 751 | 757 | #else |
| ... | ... | @@ -764,7 +770,7 @@ static inline void zig_vmulo_i32(zig_u8 *ov, zig_i32 *res, int n, |
| 764 | 770 | } |
| 765 | 771 | |
| 766 | 772 | static inline bool zig_mulo_u64(zig_u64 *res, zig_u64 lhs, zig_u64 rhs, zig_u8 bits) { |
| 767 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 773 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 768 | 774 | zig_u64 full_res; |
| 769 | 775 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 770 | 776 | *res = zig_wrap_u64(full_res, bits); |
| ... | ... | @@ -783,7 +789,7 @@ static inline void zig_vmulo_u64(zig_u8 *ov, zig_u64 *res, int n, |
| 783 | 789 | |
| 784 | 790 | zig_extern zig_i64 __mulodi4(zig_i64 lhs, zig_i64 rhs, zig_c_int *overflow); |
| 785 | 791 | static inline bool zig_mulo_i64(zig_i64 *res, zig_i64 lhs, zig_i64 rhs, zig_u8 bits) { |
| 786 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 792 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 787 | 793 | zig_i64 full_res; |
| 788 | 794 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 789 | 795 | #else |
| ... | ... | @@ -802,7 +808,7 @@ static inline void zig_vmulo_i64(zig_u8 *ov, zig_i64 *res, int n, |
| 802 | 808 | } |
| 803 | 809 | |
| 804 | 810 | static inline bool zig_mulo_u8(zig_u8 *res, zig_u8 lhs, zig_u8 rhs, zig_u8 bits) { |
| 805 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 811 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 806 | 812 | zig_u8 full_res; |
| 807 | 813 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 808 | 814 | *res = zig_wrap_u8(full_res, bits); |
| ... | ... | @@ -822,7 +828,7 @@ static inline void zig_vmulo_u8(zig_u8 *ov, zig_u8 *res, int n, |
| 822 | 828 | } |
| 823 | 829 | |
| 824 | 830 | static inline bool zig_mulo_i8(zig_i8 *res, zig_i8 lhs, zig_i8 rhs, zig_u8 bits) { |
| 825 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 831 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 826 | 832 | zig_i8 full_res; |
| 827 | 833 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 828 | 834 | *res = zig_wrap_i8(full_res, bits); |
| ... | ... | @@ -842,7 +848,7 @@ static inline void zig_vmulo_i8(zig_u8 *ov, zig_i8 *res, int n, |
| 842 | 848 | } |
| 843 | 849 | |
| 844 | 850 | static inline bool zig_mulo_u16(zig_u16 *res, zig_u16 lhs, zig_u16 rhs, zig_u8 bits) { |
| 845 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 851 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 846 | 852 | zig_u16 full_res; |
| 847 | 853 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 848 | 854 | *res = zig_wrap_u16(full_res, bits); |
| ... | ... | @@ -862,7 +868,7 @@ static inline void zig_vmulo_u16(zig_u8 *ov, zig_u16 *res, int n, |
| 862 | 868 | } |
| 863 | 869 | |
| 864 | 870 | static inline bool zig_mulo_i16(zig_i16 *res, zig_i16 lhs, zig_i16 rhs, zig_u8 bits) { |
| 865 | | #if zig_has_builtin(mul_overflow) || defined(__GNUC__) |
| 871 | #if zig_has_builtin(mul_overflow) || defined(zig_gnuc) |
| 866 | 872 | zig_i16 full_res; |
| 867 | 873 | bool overflow = __builtin_mul_overflow(lhs, rhs, &full_res); |
| 868 | 874 | *res = zig_wrap_i16(full_res, bits); |
| ... | ... | @@ -977,7 +983,7 @@ static inline zig_i8 zig_byte_swap_i8(zig_i8 val, zig_u8 bits) { |
| 977 | 983 | |
| 978 | 984 | static inline zig_u16 zig_byte_swap_u16(zig_u16 val, zig_u8 bits) { |
| 979 | 985 | zig_u16 full_res; |
| 980 | | #if zig_has_builtin(bswap16) || defined(__GNUC__) |
| 986 | #if zig_has_builtin(bswap16) || defined(zig_gnuc) |
| 981 | 987 | full_res = __builtin_bswap16(val); |
| 982 | 988 | #else |
| 983 | 989 | full_res = (zig_u16)zig_byte_swap_u8((zig_u8)(val >> 0), 8) << 8 | |
| ... | ... | @@ -992,7 +998,7 @@ static inline zig_i16 zig_byte_swap_i16(zig_i16 val, zig_u8 bits) { |
| 992 | 998 | |
| 993 | 999 | static inline zig_u32 zig_byte_swap_u32(zig_u32 val, zig_u8 bits) { |
| 994 | 1000 | zig_u32 full_res; |
| 995 | | #if zig_has_builtin(bswap32) || defined(__GNUC__) |
| 1001 | #if zig_has_builtin(bswap32) || defined(zig_gnuc) |
| 996 | 1002 | full_res = __builtin_bswap32(val); |
| 997 | 1003 | #else |
| 998 | 1004 | full_res = (zig_u32)zig_byte_swap_u16((zig_u16)(val >> 0), 16) << 16 | |
| ... | ... | @@ -1007,7 +1013,7 @@ static inline zig_i32 zig_byte_swap_i32(zig_i32 val, zig_u8 bits) { |
| 1007 | 1013 | |
| 1008 | 1014 | static inline zig_u64 zig_byte_swap_u64(zig_u64 val, zig_u8 bits) { |
| 1009 | 1015 | zig_u64 full_res; |
| 1010 | | #if zig_has_builtin(bswap64) || defined(__GNUC__) |
| 1016 | #if zig_has_builtin(bswap64) || defined(zig_gnuc) |
| 1011 | 1017 | full_res = __builtin_bswap64(val); |
| 1012 | 1018 | #else |
| 1013 | 1019 | full_res = (zig_u64)zig_byte_swap_u32((zig_u32)(val >> 0), 32) << 32 | |
| ... | ... | @@ -1087,7 +1093,7 @@ static inline zig_i64 zig_bit_reverse_i64(zig_i64 val, zig_u8 bits) { |
| 1087 | 1093 | static inline zig_u8 zig_popcount_i##w(zig_i##w val, zig_u8 bits) { \ |
| 1088 | 1094 | return zig_popcount_u##w((zig_u##w)val, bits); \ |
| 1089 | 1095 | } |
| 1090 | | #if zig_has_builtin(popcount) || defined(__GNUC__) |
| 1096 | #if zig_has_builtin(popcount) || defined(zig_gnuc) |
| 1091 | 1097 | #define zig_builtin_popcount(w) \ |
| 1092 | 1098 | static inline zig_u8 zig_popcount_u##w(zig_u##w val, zig_u8 bits) { \ |
| 1093 | 1099 | (void)bits; \ |
| ... | ... | @@ -1116,7 +1122,7 @@ zig_builtin_popcount(64) |
| 1116 | 1122 | static inline zig_u8 zig_ctz_i##w(zig_i##w val, zig_u8 bits) { \ |
| 1117 | 1123 | return zig_ctz_u##w((zig_u##w)val, bits); \ |
| 1118 | 1124 | } |
| 1119 | | #if zig_has_builtin(ctz) || defined(__GNUC__) |
| 1125 | #if zig_has_builtin(ctz) || defined(zig_gnuc) |
| 1120 | 1126 | #define zig_builtin_ctz(w) \ |
| 1121 | 1127 | static inline zig_u8 zig_ctz_u##w(zig_u##w val, zig_u8 bits) { \ |
| 1122 | 1128 | if (val == 0) return bits; \ |
| ... | ... | @@ -1141,7 +1147,7 @@ zig_builtin_ctz(64) |
| 1141 | 1147 | static inline zig_u8 zig_clz_i##w(zig_i##w val, zig_u8 bits) { \ |
| 1142 | 1148 | return zig_clz_u##w((zig_u##w)val, bits); \ |
| 1143 | 1149 | } |
| 1144 | | #if zig_has_builtin(clz) || defined(__GNUC__) |
| 1150 | #if zig_has_builtin(clz) || defined(zig_gnuc) |
| 1145 | 1151 | #define zig_builtin_clz(w) \ |
| 1146 | 1152 | static inline zig_u8 zig_clz_u##w(zig_u##w val, zig_u8 bits) { \ |
| 1147 | 1153 | if (val == 0) return bits; \ |
| ... | ... | @@ -1764,7 +1770,7 @@ static inline zig_i128 zig_bit_reverse_i128(zig_i128 val, zig_u8 bits) { |
| 1764 | 1770 | #define __builtin_infl() zig_msvc_flt_infl |
| 1765 | 1771 | #endif |
| 1766 | 1772 | |
| 1767 | | #if (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) || defined(__GNUC__) |
| 1773 | #if (zig_has_builtin(nan) && zig_has_builtin(nans) && zig_has_builtin(inf)) |
| 1768 | 1774 | #define zig_has_float_builtins 1 |
| 1769 | 1775 | #define zig_as_special_f16(sign, name, arg, repr) sign zig_as_f16(__builtin_##name, )(arg) |
| 1770 | 1776 | #define zig_as_special_f32(sign, name, arg, repr) sign zig_as_f32(__builtin_##name, )(arg) |
| ... | ... | @@ -1796,7 +1802,7 @@ typedef double zig_f16; |
| 1796 | 1802 | #define zig_bitSizeOf_c_longdouble 16 |
| 1797 | 1803 | typedef long double zig_f16; |
| 1798 | 1804 | #define zig_as_f16(fp, repr) fp##l |
| 1799 | | #elif FLT16_MANT_DIG == 11 && (zig_has_builtin(inff16) || defined(__GNUC__)) |
| 1805 | #elif FLT16_MANT_DIG == 11 && (zig_has_builtin(inff16) || defined(zig_gnuc)) |
| 1800 | 1806 | typedef _Float16 zig_f16; |
| 1801 | 1807 | #define zig_as_f16(fp, repr) fp##f16 |
| 1802 | 1808 | #elif defined(__SIZEOF_FP16__) |