15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX512_ADDREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX512_ADDREG_H__ 20 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/AddReg.h> 34 typename boost::enable_if_c<boost::is_integral<T>::value
35 && sizeof(T)==1>::type>
37 static IPSDK_FORCEINLINE
41 return _mm512_add_epi8(in1, in2);
44 static IPSDK_FORCEINLINE
50 out = _mm512_add_epi8(in1, in2);
58 typename boost::enable_if_c<boost::is_integral<T>::value
59 && sizeof(T)==2>::type>
61 static IPSDK_FORCEINLINE
65 return _mm512_add_epi16(in1, in2);
68 static IPSDK_FORCEINLINE
74 out = _mm512_add_epi16(in1, in2);
82 typename boost::enable_if_c<boost::is_integral<T>::value
83 && sizeof(T)==4>::type>
85 static IPSDK_FORCEINLINE
89 return _mm512_add_epi32(in1, in2);
92 static IPSDK_FORCEINLINE
98 out = _mm512_add_epi32(in1, in2);
104 template <
typename T>
106 typename boost::enable_if_c<boost::is_integral<T>::value
107 && sizeof(T)==8>::type>
109 static IPSDK_FORCEINLINE
114 return _mm512_add_epi64(in1, in2);
117 static IPSDK_FORCEINLINE
123 out = _mm512_add_epi64(in1, in2);
133 static IPSDK_FORCEINLINE
138 return _mm512_add_ps(in1, in2);
141 static IPSDK_FORCEINLINE
147 out = _mm512_add_ps(in1, in2);
156 static IPSDK_FORCEINLINE
160 return _mm512_add_pd(in1, in2);
163 static IPSDK_FORCEINLINE
169 out = _mm512_add_pd(in1, in2);
180 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX512_ADDREG_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types for Avx512 instruction set management.
Definition of import/export macro for library.
template structure which is specialized to implement the arithmetic addition on 2 scalars or 2 regist...
Definition: AddReg.h:37
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
structure used to retrieve AVX512 type associated to a base type
Definition: Avx512Types.h:36