15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_AVX512MASKTYPES_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_AVX512MASKTYPES_H__ 19 #include <xmmintrin.h> 20 #include <emmintrin.h> 23 #include <immintrin.h> 35 template <
typename T,
typename Enable=
void>
42 #define IPSDK_DATATYPE_TO_AVX512_MASKTYPE(DataType, Avx512TypeT) \ 43 template<> struct Avx512MaskType<DataType> { \ 44 typedef Avx512TypeT Type; \ 50 #if (defined IPSDK_WITH_AVX512) 51 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipInt8, __mmask64);
52 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipUInt8, __mmask64);
53 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipInt16, __mmask32);
54 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipUInt16, __mmask32);
55 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipInt32, __mmask16);
56 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipUInt32, __mmask16);
57 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipInt64, __mmask8);
58 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipUInt64, __mmask8);
59 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipReal32, __mmask16);
60 IPSDK_DATATYPE_TO_AVX512_MASKTYPE(
ipReal64, __mmask8);
70 #endif // __IPSDKUTIL_INSTRUCTIONSET_AVX512MASKTYPES_H__ int8_t ipInt8
Base types definition.
Definition: BaseTypes.h:48
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
int16_t ipInt16
Base types definition.
Definition: BaseTypes.h:50
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
Base types for multiplatform compatibility.
Definition: Avx512MaskTypes.h:36
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
uint16_t ipUInt16
Base types definition.
Definition: BaseTypes.h:51
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53