… | |
… | |
10 | 08:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, |
10 | 08:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, |
11 | which is something I can do on any compiler portably |
11 | which is something I can do on any compiler portably |
12 | |
12 | |
13 | TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) |
13 | TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) |
14 | #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) |
14 | #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) |
|
|
15 | |
|
|
16 | TODO: ecb_minpot, either using bit tricks or ecb_ldXX |
|
|
17 | |
|
|
18 | TODO: __builtin_popcountll exists... |
|
|
19 | |
|
|
20 | TODO: unaligned access |
15 | |
21 | |
16 | TODO: __builtin_powi |
22 | TODO: __builtin_powi |
17 | |
23 | |
18 | TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ |
24 | TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ |
19 | |
25 | |
… | |
… | |
63 | |
69 | |
64 | #include <byteswap.h> |
70 | #include <byteswap.h> |
65 | |
71 | |
66 | #endif |
72 | #endif |
67 | |
73 | |
|
|
74 | 0x00010006 |
|
|
75 | - new ECB_MEMORXY_FENCE_RELAXED memory fence. |
|
|
76 | - use acquire/eelease memory barriers on sun workshop pro, not read/write. |
|
|
77 | - rely on c++ compiler barriers to do the right thing in gcc/clang. |
68 | - change release memory fence to memory barrier on ia32/ia64. |
78 | - change release memory fence to memory barrier on ia32/ia64. |
69 | - apply ctz/ld patch for msc by Zsbán Ambrus. |
79 | - apply ctz/ld patch for msc by Zsbán Ambrus. |
70 | - ECB_PTRSIZE erroneously was 8 on most 32bit systems ( |
80 | - ECB_PTRSIZE erroneously was 8 on most 32bit systems ( |
71 | found by Zsbán Ambrus). |
81 | found by Zsbán Ambrus). |
72 | - improved compiletime detection of endianness, also, allow |
82 | - improved compiletime detection of endianness, also, allow |