15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MAXPACK_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MAXPACK_H__ 34 typename boost::enable_if_c<boost::is_integral<T>::value
35 && sizeof(T) == 1>::type>
37 static IPSDK_FORCEINLINE
43 cast<eInstructionSet::eIS_Avx512>(in, inUpper);
52 typename boost::enable_if_c<boost::is_integral<T>::value
53 && sizeof(T) == 2>::type>
55 static IPSDK_FORCEINLINE
61 cast<eInstructionSet::eIS_Avx512>(in, inUpper);
70 typename boost::enable_if_c<boost::is_integral<T>::value
71 && sizeof(T) == 4>::type>
73 static IPSDK_FORCEINLINE
79 in._val[0], in._val[1]);
94 typename boost::enable_if_c<boost::is_integral<T>::value
95 && sizeof(T) == 8>::type>
97 static IPSDK_FORCEINLINE
103 res = MaxR::act(res, in._val[2]);
104 res = MaxR::act(res, in._val[3]);
105 res = MaxR::act(res, in._val[4]);
106 res = MaxR::act(res, in._val[5]);
107 res = MaxR::act(res, in._val[6]);
108 res = MaxR::act(res, in._val[7]);
119 static IPSDK_FORCEINLINE
125 const RegF res0 = MaxR::act(in._val[0], in._val[1]);
126 const RegF res1 = MaxR::act(res0, in._val[2]);
127 const RegF res = MaxR::act(res1, in._val[3]);
137 static IPSDK_FORCEINLINE
143 res = MaxR::act(res, in._val[2]);
144 res = MaxR::act(res, in._val[3]);
145 res = MaxR::act(res, in._val[4]);
146 res = MaxR::act(res, in._val[5]);
147 res = MaxR::act(res, in._val[6]);
148 res = MaxR::act(res, in._val[7]);
162 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX512_MAXREGIMPL_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
MaxReg template specialization for instruction set AVX512 and type ipReal64.
Definition: MaxRegDecl.h:153
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
template structure UpperType<typename T>; its typedef Type gives the type just upper to T...
Definition: UpperType.h:42
structure MaxPack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> ...
Definition: MaxPack.h:40
MaxReg template specialization for instruction set AVX512 and type ipReal32.
Definition: MaxRegDecl.h:136
Definition: MaxRegDecl.h:29
Definition of import/export macro for library.
Definition: BasePack.h:37
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
structure used to retrieve AVX512 type associated to a base type
Definition: Avx512Types.h:36
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29