15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_SORTREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_SORTREGIMPL_H__ 40 typename Sse2Type<T>::Type& inOut1,
41 typename Sse2Type<T>::Type& inOut2)
43 typedef typename RegType<eInstructionSet::eIS_Sse2, T>::Type RegT;
44 RegT savedInOut1 = inOut1;
45 RegT savedInOut2 = inOut2;
48 IsLessReg<eInstructionSet::eIS_Sse2, T>::act(inOut1, inOut2, lessReg);
49 BitwiseSelectReg<eInstructionSet::eIS_Sse2, T>::act(
50 lessReg, savedInOut1, savedInOut2, inOut1);
51 BitwiseSelectReg<eInstructionSet::eIS_Sse2, T>::act(
52 lessReg, savedInOut2, savedInOut1, inOut2);
58 SortReg<eInstructionSet::eIS_Sse2, ipReal32>::act(
59 Sse2Type<ipReal32>::Type& inOut1,
60 Sse2Type<ipReal32>::Type& inOut2)
62 Sse2Type<ipReal32>::Type savedInOut1 = inOut1;
70 SortReg<eInstructionSet::eIS_Sse2, ipReal64>::act(
71 Sse2Type<ipReal64>::Type& inOut1,
72 Sse2Type<ipReal64>::Type& inOut2)
74 Sse2Type<ipReal64>::Type savedInOut1 = inOut1;
75 MinReg<eInstructionSet::eIS_Sse2, ipReal64>::act(inOut1, inOut2, inOut1);
76 MaxReg<eInstructionSet::eIS_Sse2, ipReal64>::act(savedInOut1, inOut2, inOut2);
86 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_SORTREGIMPL_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
template structure which is specialized to implement the minimum computation on 2 scalars or 2 regist...
static IPSDK_FORCEINLINE Sse2Type< ipReal32 >::Type act(const Sse2Type< ipReal32 >::Type &in1, const Sse2Type< ipReal32 >::Type &in2)
MinReg template specialization for instruction set SSE2 and for type ipReal32.
Definition: MinRegImpl.h:108
template structure which is specialized to implement the maximum computation on 2 scalars or 2 regist...
static IPSDK_FORCEINLINE Sse2Type< ipReal32 >::Type act(const Sse2Type< ipReal32 >::Type &in1, const Sse2Type< ipReal32 >::Type &in2)
MaxReg template specialization for instruction set SSE2 and for type ipReal32.
Definition: MaxRegImpl.h:108
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36