33 int memalign(
void **a_memptr,
size_t a_alignment,
size_t a_size);
44 #if CHDEF_SYSTEM_POPCNT_METHOD == 1 46 __asm__ (
"popcnt %1, %0" :
"=r" (ret) :
"r" (i));
50 i = i - ((i >> 1) & 0x55555555);
51 i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
52 return (((i + (i >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
58 #define BOOST_PP_STRINGIZE_(expr) #expr 59 #define BOOST_PP_STRINGIZE(expr) BOOST_PP_STRINGIZE_(expr) 62 #define BOOST_PRAGMA(args) _Pragma(BOOST_PP_STRINGIZE(args)) 63 #if defined(__INTEL_COMPILER) 64 #define BOOST_BUILTIN_ASSUME(expr) \ 67 #define BOOST_BUILTIN_ASSUME_ALIGNED(ptr, align) \ 68 __assume_aligned(ptr, align) \ 70 #elif defined(__clang__) 71 #define BOOST_BUILTIN_ASSUME(expr) \ 72 __builtin_assume(expr) \ 74 #define BOOST_BUILTIN_ASSUME_ALIGNED(ptr, align) \ 76 ptr = reinterpret_cast<decltype(ptr)>( \ 77 __builtin_assume_aligned(ptr, align) \ 82 #define BOOST_BUILTIN_ASSUME(expr) \ 83 do { if (!(expr)) __builtin_unreachable(); } while (0) \ 85 #define BOOST_BUILTIN_ASSUME_ALIGNED(ptr, align) \ 87 ptr = reinterpret_cast<decltype(ptr)>( \ 88 __builtin_assume_aligned(ptr, align) \ 93 #if defined(__INTEL_COMPILER) 94 #define BOOST_DEMAND_VECTORIZATION \ 97 #elif defined(__clang__) 98 #define BOOST_DEMAND_VECTORIZATION \ 99 BOOST_PRAGMA(clang loop vectorize(enable) interleave(enable)) \ 102 #define BOOST_DEMAND_VECTORIZATION \ 103 BOOST_PRAGMA(GCC ivdep) \ int popcnt(unsigned i)
Definition: CH_System.H:42
int fileExists(const char *const a_filename)
Check if a file exists.
Definition: CH_System.H:27
int memalign(void **a_memptr, size_t a_alignment, size_t a_size)
Allocate aligned memory.