15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGIMPL_H__ 31 typename Sse2Type<T>::Type
35 typename boost::enable_if_c<
36 boost::is_integral<T>::value
40 return _mm_loadu_si128(
41 reinterpret_cast<const typename Sse2Type<T>::Type*
>(pT));
49 typename boost::enable_if_c<
50 boost::is_integral<T>::value
52 >::act(
typename Sse2Type<T>::Type& reg,
const T* pT)
54 reg = _mm_loadu_si128(
55 reinterpret_cast<const typename Sse2Type<T>::Type*
>(pT));
58 Sse2Type<ipReal32>::Type
59 LoadReg<eInstructionSet::eIS_Sse2, ipReal32>::act(
const ipReal32* pT)
61 return _mm_loadu_ps(pT);
65 LoadReg<eInstructionSet::eIS_Sse2, ipReal32>::act(
66 Sse2Type<ipReal32>::Type& reg,
69 reg = _mm_loadu_ps(pT);
72 Sse2Type<ipReal64>::Type
73 LoadReg<eInstructionSet::eIS_Sse2, ipReal64>::act(
const ipReal64* pT)
75 return _mm_loadu_pd(pT);
79 LoadReg<eInstructionSet::eIS_Sse2, ipReal64>::act(
80 Sse2Type<ipReal64>::Type& reg,
83 reg = _mm_loadu_pd(pT);
93 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGIMPL_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Definition of import/export macro for library.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
float ipReal32
Base types definition.
Definition: BaseTypes.h:56