15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISEANDNOTREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISEANDNOTREG_H__ 32 typename boost::enable_if_c<boost::is_integral<T>::value>::type>
34 static IPSDK_FORCEINLINE
43 static IPSDK_FORCEINLINE
51 COPY_IMM_TO_XMM(in1, in11, in12);
52 COPY_IMM_TO_XMM(in2, in21, in22);
53 __m128i out1 = _mm_andnot_si128(in21, in11);
54 __m128i out2 = _mm_andnot_si128(in22, in12);
55 COPY_XMM_TO_IMM(out1, out2, out);
62 static IPSDK_FORCEINLINE
67 return _mm256_andnot_ps(in2, in1);
70 static IPSDK_FORCEINLINE
76 out = _mm256_andnot_ps(in2, in1);
83 static IPSDK_FORCEINLINE
88 return _mm256_andnot_pd(in2, in1);
91 static IPSDK_FORCEINLINE
97 out = _mm256_andnot_pd(in2, in1);
108 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX_BITWISEANDNOTREG_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
Definition: BitwiseAndNotReg.h:30
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
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.
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
float ipReal32
Base types definition.
Definition: BaseTypes.h:56