15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_SSE2_MAXPACK_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_SSE2_MAXPACK_H__ 38 typename boost::enable_if_c<boost::is_integral<T>::value
39 && sizeof(T) == 1>::type>
41 static IPSDK_FORCEINLINE
53 typename boost::enable_if_c<boost::is_integral<T>::value
54 && sizeof(T) == 2>::type>
56 static IPSDK_FORCEINLINE
62 in._val[0], in._val[1]);
71 typename boost::enable_if_c<boost::is_integral<T>::value
72 && sizeof(T) == 4>::type>
74 static IPSDK_FORCEINLINE
81 MaxR::act(in._val[0], in._val[1]);
84 MaxR::act(in._val[2], in._val[3]);
87 MaxR::act(res0, res1);
97 typename boost::enable_if_c<boost::is_integral<T>::value
98 && sizeof(T) == 8>::type>
100 static IPSDK_FORCEINLINE
107 MaxR::act(in._val[0], in._val[1]);
109 res = MaxR::act(res, in._val[2]);
110 res = MaxR::act(res, in._val[3]);
111 res = MaxR::act(res, in._val[4]);
112 res = MaxR::act(res, in._val[5]);
113 res = MaxR::act(res, in._val[6]);
114 res = MaxR::act(res, in._val[7]);
125 static IPSDK_FORCEINLINE
143 static IPSDK_FORCEINLINE
150 res = MaxR::act(res, in._val[2]);
151 res = MaxR::act(res, in._val[3]);
152 res = MaxR::act(res, in._val[4]);
153 res = MaxR::act(res, in._val[5]);
154 res = MaxR::act(res, in._val[6]);
155 res = MaxR::act(res, in._val[7]);
168 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_SSE2_MAXREG_H__ Definition: BasePack.h:37
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>
template structure, specialized to implement the computation of the maximum of the elements loaded in...
template structure which is specialized to implement the maximum computation on 2 scalars or 2 regist...
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Base types for multiplatform compatibility.
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
structure MaxPack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> ...
Definition: MaxPack.h:40
Definition: MaxRegDecl.h:29
Definition of import/export macro for library.
unload function; unloads a pack into a memory buffer
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure used to retrieve SSE2 type associated to a base type
Definition: Sse2Types.h:32
MaxReg template specialization for instruction set SSE2 and for type ipReal32.
Definition: MaxRegDecl.h:99
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29