1 #ifndef INCLUDED_LIBVOLK_COMMON_H 2 #define INCLUDED_LIBVOLK_COMMON_H 8 # define __VOLK_ATTR_ALIGNED(x) __declspec(align(x)) 9 # define __VOLK_ATTR_UNUSED 10 # define __VOLK_ATTR_INLINE __forceinline 11 # define __VOLK_ATTR_DEPRECATED __declspec(deprecated) 12 # define __VOLK_ATTR_EXPORT __declspec(dllexport) 13 # define __VOLK_ATTR_IMPORT __declspec(dllimport) 14 # define __VOLK_PREFETCH(addr) 15 # define __VOLK_ASM __asm 16 # define __VOLK_VOLATILE 17 #elif defined(__clang__) 21 # define __VOLK_ATTR_ALIGNED(x) __attribute__((aligned(x))) 22 # define __VOLK_ATTR_UNUSED __attribute__((unused)) 23 # define __VOLK_ATTR_INLINE __attribute__((always_inline)) 24 # define __VOLK_ATTR_DEPRECATED __attribute__((deprecated)) 25 # define __VOLK_ASM __asm__ 26 # define __VOLK_VOLATILE __volatile__ 27 # define __VOLK_ATTR_EXPORT __attribute__((visibility("default"))) 28 # define __VOLK_ATTR_IMPORT __attribute__((visibility("default"))) 29 # define __VOLK_PREFETCH(addr) __builtin_prefetch(addr) 30 #elif defined(__GNUC__) 31 # define __VOLK_ATTR_ALIGNED(x) __attribute__((aligned(x))) 32 # define __VOLK_ATTR_UNUSED __attribute__((unused)) 33 # define __VOLK_ATTR_INLINE __attribute__((always_inline)) 34 # define __VOLK_ATTR_DEPRECATED __attribute__((deprecated)) 35 # define __VOLK_ASM __asm__ 36 # define __VOLK_VOLATILE __volatile__ 38 # define __VOLK_ATTR_EXPORT __attribute__((visibility("default"))) 39 # define __VOLK_ATTR_IMPORT __attribute__((visibility("default"))) 41 # define __VOLK_ATTR_EXPORT 42 # define __VOLK_ATTR_IMPORT 44 # define __VOLK_PREFETCH(addr) __builtin_prefetch(addr) 46 # warning "Unknown compiler. Using default VOLK macros, which may or not work." 47 # define __VOLK_ATTR_ALIGNED(x) 48 # define __VOLK_ATTR_UNUSED 49 # define __VOLK_ATTR_INLINE 50 # define __VOLK_ATTR_DEPRECATED 51 # define __VOLK_ATTR_EXPORT 52 # define __VOLK_ATTR_IMPORT 53 # define __VOLK_PREFETCH(addr) 54 # define __VOLK_ASM __asm__ 55 # define __VOLK_VOLATILE __volatile__ 62 # pragma warning(disable: 4244) //'conversion' conversion from 'type1' to 'type2', possible loss of data 63 # pragma warning(disable: 4305) //'identifier' : truncation from 'type1' to 'type2' 70 #if defined(__cplusplus) && (defined(__GNUC__) || defined(__clang__)) 71 # define __VOLK_DECL_BEGIN extern "C" { 72 # define __VOLK_DECL_END } 74 # define __VOLK_DECL_BEGIN 75 # define __VOLK_DECL_END 83 # define VOLK_API __VOLK_ATTR_EXPORT 85 # define VOLK_API __VOLK_ATTR_IMPORT 97 #include <x86intrin.h> 132 #define bit128_p(x) ((union bit128 *)(x)) 133 #define bit256_p(x) ((union bit256 *)(x)) uint8_t i8[16]
Definition: volk_common.h:102
uint16_t i16[8]
Definition: volk_common.h:103
__m256d double_vec
Definition: volk_common.h:128
__m256i int_vec
Definition: volk_common.h:127
__m128i int_vec
Definition: volk_common.h:113
__m128d double_vec
Definition: volk_common.h:114
Definition: volk_common.h:118
__m128 float_vec
Definition: volk_common.h:109
__m256 float_vec
Definition: volk_common.h:126
double d[2]
Definition: volk_common.h:106
float f[4]
Definition: volk_common.h:105
Definition: volk_common.h:101
uint32_t i[4]
Definition: volk_common.h:104