17 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISGREATEREQUALIMPL_H__ 18 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISGREATEREQUALIMPL_H__ 20 #include <IPSDKUtil/InstructionSet/Comparison/detail/SSE2/IsGreaterEqualRegDecl.h> 35 typename RegMaskType<eInstructionSet::eIS_Sse2, T>::Type
37 typename boost::enable_if_c<
38 boost::is_integral<T>::value
41 const typename Sse2Type<T>::Type& in1,
42 const typename Sse2Type<T>::Type& in2)
44 return BitwiseNotReg<eInstructionSet::eIS_Sse2, T>::act(
45 IsLessReg<eInstructionSet::eIS_Sse2, T>::act(in1, in2));
52 typename boost::enable_if_c<
53 boost::is_integral<T>::value
56 const typename Sse2Type<T>::Type& in1,
57 const typename Sse2Type<T>::Type& in2,
58 typename RegMaskType<eInstructionSet::eIS_Sse2, T>::Type& out)
60 IsLessReg<eInstructionSet::eIS_Sse2, T>::act(in1, in2, out);
61 BitwiseNotReg<eInstructionSet::eIS_Sse2, T>::act(out, out);
66 RegMaskType<eInstructionSet::eIS_Sse2, ipReal32>::Type
67 IsGreaterEqualReg<eInstructionSet::eIS_Sse2, ipReal32>::act(
68 const Sse2Type<ipReal32>::Type& in1,
69 const Sse2Type<ipReal32>::Type& in2)
71 return _mm_cmpge_ps(in1, in2);
76 IsGreaterEqualReg<eInstructionSet::eIS_Sse2, ipReal32>::act(
77 const Sse2Type<ipReal32>::Type& in1,
78 const Sse2Type<ipReal32>::Type& in2,
79 RegMaskType<eInstructionSet::eIS_Sse2, ipReal32>::Type& out)
81 out = _mm_cmpge_ps(in1, in2);
86 RegMaskType<eInstructionSet::eIS_Sse2, ipReal64>::Type
87 IsGreaterEqualReg<eInstructionSet::eIS_Sse2, ipReal64>::act(
88 const Sse2Type<ipReal64>::Type& in1,
89 const Sse2Type<ipReal64>::Type& in2)
91 return _mm_cmpge_pd(in1, in2);
96 IsGreaterEqualReg<eInstructionSet::eIS_Sse2, ipReal64>::act(
97 const Sse2Type<ipReal64>::Type& in1,
98 const Sse2Type<ipReal64>::Type& in2,
99 RegMaskType<eInstructionSet::eIS_Sse2, ipReal64>::Type& out)
101 out = _mm_cmpge_pd(in1, in2);
113 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISGREATEREQUALIMPL_H__ declaration of specialized BitwiseAndReg structure for SSE2 instruction set
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36