15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_UNARYPACKOPRETMASK_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_UNARYPACKOPRETMASK_H__ 33 typename boost::enable_if_c<sizeof(T) == 1>::type>
41 out._val[0] = OpClass::act(in._val[0]);
51 OpClass::act(in._val[0], out._val[0]);
55 template <
typename T,
class OpClass>
57 typename boost::enable_if_c<sizeof(T) == 2>::type>
65 OpClass::act(in._val[0], out._val[0]);
66 OpClass::act(in._val[1], out._val[1]);
70 template <
typename T,
class OpClass>
72 typename boost::enable_if_c<sizeof(T) == 4>::type>
80 out._val[0] = OpClass::act(in._val[0]);
81 out._val[1] = OpClass::act(in._val[1]);
82 out._val[2] = OpClass::act(in._val[2]);
83 out._val[3] = OpClass::act(in._val[3]);
93 OpClass::act(in._val[0], out._val[0]);
94 OpClass::act(in._val[1], out._val[1]);
95 OpClass::act(in._val[2], out._val[2]);
96 OpClass::act(in._val[3], out._val[3]);
100 template <
typename T,
class OpClass>
102 typename boost::enable_if_c<sizeof(T) == 8>::type>
110 out._val[0] = OpClass::act(in._val[0]);
111 out._val[1] = OpClass::act(in._val[1]);
112 out._val[2] = OpClass::act(in._val[2]);
113 out._val[3] = OpClass::act(in._val[3]);
114 out._val[4] = OpClass::act(in._val[4]);
115 out._val[5] = OpClass::act(in._val[5]);
116 out._val[6] = OpClass::act(in._val[6]);
117 out._val[7] = OpClass::act(in._val[7]);
127 OpClass::act(in._val[0], out._val[0]);
128 OpClass::act(in._val[1], out._val[1]);
129 OpClass::act(in._val[2], out._val[2]);
130 OpClass::act(in._val[3], out._val[3]);
131 OpClass::act(in._val[4], out._val[4]);
132 OpClass::act(in._val[5], out._val[5]);
133 OpClass::act(in._val[6], out._val[6]);
134 OpClass::act(in._val[7], out._val[7]);
145 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_UNARYPACKOPRETMASK_H__ Definition: BasePack.h:37
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: UnaryPackOpRetMask.h:31
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types associated to instruction set management.
Definition of import/export macro for library.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
Definition: BaseMaskPack.h:30