|
8 | 8 | extern "C" { |
9 | 9 | #endif |
10 | 10 |
|
| 11 | +#if __has_builtin(__builtin_clzc) |
| 12 | +#define __ez80_clzc __builtin_clzc |
| 13 | +#else |
11 | 14 | unsigned char __ez80_clzc(unsigned char) __NOEXCEPT_CONST; |
| 15 | +#endif |
| 16 | + |
| 17 | +#if __has_builtin(__builtin_clzi48) |
| 18 | +#define __ez80_clzi48 __builtin_clzi48 |
| 19 | +#else |
12 | 20 | unsigned char __ez80_clzi48(unsigned __int48) __NOEXCEPT_CONST; |
| 21 | +#endif |
13 | 22 |
|
| 23 | +#if __has_builtin(__builtin_ctzc) |
| 24 | +#define __ez80_ctzc __builtin_ctzc |
| 25 | +#else |
14 | 26 | unsigned char __ez80_ctzc(unsigned char) __NOEXCEPT_CONST; |
| 27 | +#endif |
| 28 | + |
| 29 | +#if __has_builtin(__builtin_ctzi48) |
| 30 | +#define __ez80_ctzi48 __builtin_ctzi48 |
| 31 | +#else |
15 | 32 | unsigned char __ez80_ctzi48(unsigned __int48) __NOEXCEPT_CONST; |
| 33 | +#endif |
16 | 34 |
|
| 35 | +#if __has_builtin(__builtin_ffsc) |
| 36 | +#define __ez80_ffsc __builtin_ffsc |
| 37 | +#else |
17 | 38 | unsigned char __ez80_ffsc(unsigned char) __NOEXCEPT_CONST; |
| 39 | +#endif |
| 40 | + |
| 41 | +#if __has_builtin(__builtin_ffss) |
| 42 | +#define __ez80_ffss __builtin_ffss |
| 43 | +#else |
18 | 44 | unsigned char __ez80_ffss(unsigned short) __NOEXCEPT_CONST; |
| 45 | +#endif |
| 46 | + |
| 47 | +#if __has_builtin(__builtin_ffsi48) |
| 48 | +#define __ez80_ffsi48 __builtin_ffsi48 |
| 49 | +#else |
19 | 50 | unsigned char __ez80_ffsi48(unsigned __int48) __NOEXCEPT_CONST; |
| 51 | +#endif |
20 | 52 |
|
| 53 | +#if __has_builtin(__builtin_clrsbc) |
| 54 | +#define __ez80_clrsbc __builtin_clrsbc |
| 55 | +#else |
21 | 56 | unsigned char __ez80_clrsbc(unsigned char) __NOEXCEPT_CONST; |
| 57 | +#endif |
| 58 | + |
| 59 | +#if __has_builtin(__builtin_clrsbs) |
| 60 | +#define __ez80_clrsbs __builtin_clrsbs |
| 61 | +#else |
22 | 62 | unsigned char __ez80_clrsbs(unsigned short) __NOEXCEPT_CONST; |
| 63 | +#endif |
| 64 | + |
| 65 | +#if __has_builtin(__builtin_clrsbi48) |
| 66 | +#define __ez80_clrsbi48 __builtin_clrsbi48 |
| 67 | +#else |
23 | 68 | unsigned char __ez80_clrsbi48(unsigned __int48) __NOEXCEPT_CONST; |
| 69 | +#endif |
24 | 70 |
|
| 71 | +#if __has_builtin(__builtin_parityc) |
| 72 | +#define __ez80_parityc __builtin_parityc |
| 73 | +#else |
25 | 74 | bool __ez80_parityc(unsigned char) __NOEXCEPT_CONST; |
| 75 | +#endif |
| 76 | + |
| 77 | +#if __has_builtin(__builtin_paritys) |
| 78 | +#define __ez80_paritys __builtin_paritys |
| 79 | +#else |
26 | 80 | bool __ez80_paritys(unsigned short) __NOEXCEPT_CONST; |
| 81 | +#endif |
| 82 | + |
| 83 | +#if __has_builtin(__builtin_parityi48) |
| 84 | +#define __ez80_parityi48 __builtin_parityi48 |
| 85 | +#else |
27 | 86 | bool __ez80_parityi48(unsigned __int48) __NOEXCEPT_CONST; |
| 87 | +#endif |
28 | 88 |
|
| 89 | +#if __has_builtin(__builtin_popcountc) |
| 90 | +#define __ez80_popcountc __builtin_popcountc |
| 91 | +#else |
29 | 92 | unsigned char __ez80_popcountc(unsigned char) __NOEXCEPT_CONST; |
| 93 | +#endif |
| 94 | + |
| 95 | +#if __has_builtin(__builtin_popcounts) |
| 96 | +#define __ez80_popcounts __builtin_popcounts |
| 97 | +#else |
30 | 98 | unsigned char __ez80_popcounts(unsigned short) __NOEXCEPT_CONST; |
| 99 | +#endif |
| 100 | + |
| 101 | +#if __has_builtin(__builtin_popcounti48) |
| 102 | +#define __ez80_popcounti48 __builtin_popcounti48 |
| 103 | +#else |
31 | 104 | unsigned char __ez80_popcounti48(unsigned __int48) __NOEXCEPT_CONST; |
| 105 | +#endif |
32 | 106 |
|
| 107 | +#if __has_builtin(__builtin_bswap24) |
| 108 | +#define __ez80_bswap24 __builtin_bswap24 |
| 109 | +#else |
33 | 110 | unsigned int __ez80_bswap24(unsigned int) __NOEXCEPT_CONST; |
| 111 | +#endif |
| 112 | + |
| 113 | +#if __has_builtin(__builtin_bswap48) |
| 114 | +#define __ez80_bswap48 __builtin_bswap48 |
| 115 | +#else |
34 | 116 | unsigned __int48 __ez80_bswap48(unsigned __int48) __NOEXCEPT_CONST; |
| 117 | +#endif |
35 | 118 |
|
| 119 | +#if __has_builtin(__builtin_bitreverse24) |
| 120 | +#define __ez80_bitreverse24 __builtin_bitreverse24 |
| 121 | +#else |
36 | 122 | unsigned int __ez80_bitreverse24(unsigned int) __NOEXCEPT_CONST; |
| 123 | +#endif |
| 124 | + |
| 125 | +#if __has_builtin(__builtin_bitreverse48) |
| 126 | +#define __ez80_bitreverse48 __builtin_bitreverse48 |
| 127 | +#else |
37 | 128 | unsigned __int48 __ez80_bitreverse48(unsigned __int48) __NOEXCEPT_CONST; |
| 129 | +#endif |
38 | 130 |
|
| 131 | +#if __has_builtin(__builtin_rotateleft24) |
| 132 | +#define __ez80_rotateleft24 __builtin_rotateleft24 |
| 133 | +#else |
39 | 134 | unsigned int __ez80_rotateleft24(unsigned int, unsigned char) __NOEXCEPT_CONST; |
| 135 | +#endif |
| 136 | + |
| 137 | +#if __has_builtin(__builtin_rotateleft48) |
| 138 | +#define __ez80_rotateleft48 __builtin_rotateleft48 |
| 139 | +#else |
40 | 140 | unsigned __int48 __ez80_rotateleft48(unsigned __int48, unsigned char) __NOEXCEPT_CONST; |
| 141 | +#endif |
41 | 142 |
|
| 143 | +#if __has_builtin(__builtin_rotateright24) |
| 144 | +#define __ez80_rotateright24 __builtin_rotateright24 |
| 145 | +#else |
42 | 146 | unsigned int __ez80_rotateright24(unsigned int, unsigned char) __NOEXCEPT_CONST; |
| 147 | +#endif |
| 148 | + |
| 149 | +#if __has_builtin(__builtin_rotateright48) |
| 150 | +#define __ez80_rotateright48 __builtin_rotateright48 |
| 151 | +#else |
43 | 152 | unsigned __int48 __ez80_rotateright48(unsigned __int48, unsigned char) __NOEXCEPT_CONST; |
| 153 | +#endif |
44 | 154 |
|
45 | 155 | #ifdef __cplusplus |
46 | 156 | } |
|
0 commit comments