15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MINREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MINREG_H__ 34 typename boost::enable_if_c<sizeof(T) == 1>::type>
36 static IPSDK_FORCEINLINE
43 for(
int i=1; i<64; ++i) {
44 tmin = (unloaded[i] < tmin ? unloaded[i] : tmin);
54 typename boost::enable_if_c<sizeof(T) == 2>::type>
56 static IPSDK_FORCEINLINE
63 for(
int i=1; i<32; ++i) {
64 tmin = (unloaded[i] < tmin ? unloaded[i] : tmin);
75 static IPSDK_FORCEINLINE
79 return _mm512_reduce_min_epi32(in);
88 static IPSDK_FORCEINLINE
92 return _mm512_reduce_min_epu32(in);
101 static IPSDK_FORCEINLINE
105 return _mm512_reduce_min_epi64(in);
114 static IPSDK_FORCEINLINE
118 return _mm512_reduce_min_epu64(in);
127 static IPSDK_FORCEINLINE
131 return _mm512_reduce_min_ps(in);
140 static IPSDK_FORCEINLINE
144 return _mm512_reduce_min_pd(in);
156 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MINREG_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
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
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
Definition: UnloadReg.h:30
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53
structure used to retrieve AVX512 type associated to a base type
Definition: Avx512Types.h:36