15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX2_MAXREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX2_MAXREG_H__ 34 typename boost::enable_if_c<sizeof(T) == 1>::type>
36 static IPSDK_FORCEINLINE
43 for(
int i=1; i<32; ++i) {
44 tmax = (unloaded[i] > tmax ? unloaded[i] : tmax);
54 typename boost::enable_if_c<sizeof(T) == 2>::type>
56 static IPSDK_FORCEINLINE
63 for(
int i=1; i<16; ++i) {
64 tmax = (unloaded[i] > tmax ? unloaded[i] : tmax);
74 typename boost::enable_if_c<sizeof(T) == 4>::type>
76 static IPSDK_FORCEINLINE
83 for(
int i=1; i<8; ++i) {
84 tmax = (unloaded[i] > tmax ? unloaded[i] : tmax);
94 typename boost::enable_if_c<sizeof(T) == 8>::type>
96 static IPSDK_FORCEINLINE
102 T tmax = unloaded[0];
103 for(
int i=1; i<4; ++i) {
104 tmax = (unloaded[i] > tmax ? unloaded[i] : tmax);
118 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX2_MAXREGIMPL_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>
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Definition of import/export macro for library.
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
Definition: UnloadReg.h:30