15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_SSE2_ADDREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_SSE2_ADDREG_H__ 20 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/AddReg.h> 35 typename boost::enable_if_c<boost::is_integral<T>::value
36 && sizeof(T) == 1>::type>
44 return _mm_add_epi8(in1, in2);
54 out = _mm_add_epi8(in1, in2);
62 typename boost::enable_if_c<boost::is_integral<T>::value
63 && sizeof(T) == 2>::type>
71 return _mm_add_epi16(in1, in2);
81 out = _mm_add_epi16(in1, in2);
89 typename boost::enable_if_c<boost::is_integral<T>::value
90 && sizeof(T) == 4>::type>
98 return _mm_add_epi32(in1, in2);
108 out = _mm_add_epi32(in1, in2);
114 template <
typename T>
116 typename boost::enable_if_c<boost::is_integral<T>::value
117 && sizeof(T) == 8>::type>
125 return _mm_add_epi64(in1, in2);
135 out = _mm_add_epi64(in1, in2);
150 return _mm_add_ps(in1, in2);
160 out = _mm_add_ps(in1, in2);
175 return _mm_add_pd(in1, in2);
185 out =_mm_add_pd(in1, in2);
196 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_SSE2_ADDREG_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types for Sse2 instruction set management.
Predefined types associated to 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
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure used to retrieve SSE2 type associated to a base type
Definition: Sse2Types.h:32
float ipReal32
Base types definition.
Definition: BaseTypes.h:56