15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX_ADDREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX_ADDREG_H__ 38 static IPSDK_FORCEINLINE
48 static IPSDK_FORCEINLINE
56 COPY_IMM_TO_XMM(in1, in11, in12);
57 COPY_IMM_TO_XMM(in2, in21, in22);
58 __m128i out1 = _mm_add_epi32(in11, in21);
59 __m128i out2 = _mm_add_epi32(in12, in22);
60 COPY_XMM_TO_IMM(out1, out2, out);
69 static IPSDK_FORCEINLINE
73 return _mm256_add_ps(in1, in2);
76 static IPSDK_FORCEINLINE
82 out = _mm256_add_ps(in1, in2);
91 static IPSDK_FORCEINLINE
95 return _mm256_add_pd(in1, in2);
98 static IPSDK_FORCEINLINE
104 out = _mm256_add_pd(in1, in2);
115 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_AVX_ADDREG_H__ Defines the IPSDK_FORCEINLINE.
Functions to convert from 128 (resp. 256) bits registers to 256 (resp. 128) bits registers.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
Predefined types for Avx instruction set management.
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions.
Definition: InstructionSetTypes.h:44
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