15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX2_IMPL_LOADREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX2_IMPL_LOADREGIMPL_H__ 32 typename AvxType<T>::Type
36 typename boost::enable_if_c<
37 boost::is_integral<T>::value>::type
40 return _mm256_loadu_si256(
41 reinterpret_cast<const typename AvxType<T>::Type*
>(pT));
49 typename boost::enable_if_c<
50 boost::is_integral<T>::value>::type
51 >::act(
typename AvxType<T>::Type& reg,
const T* pT)
53 reg = _mm256_loadu_si256(
54 reinterpret_cast<const typename AvxType<T>::Type*
>(pT));
57 AvxType<ipReal32>::Type
58 LoadReg<eInstructionSet::eIS_Avx2, ipReal32>::act(
const ipReal32* pT)
60 return LoadReg<eInstructionSet::eIS_Avx, ipReal32>::act(pT);
64 LoadReg<eInstructionSet::eIS_Avx2, ipReal32>::act(AvxType<ipReal32>::Type& reg,
const ipReal32* pT)
66 LoadReg<eInstructionSet::eIS_Avx, ipReal32>::act(reg, pT);
69 AvxType<ipReal64>::Type
70 LoadReg<eInstructionSet::eIS_Avx2, ipReal64>::act(
const ipReal64* pT)
72 return LoadReg<eInstructionSet::eIS_Avx, ipReal64>::act(pT);
76 LoadReg<eInstructionSet::eIS_Avx2, ipReal64>::act(
77 AvxType<ipReal64>::Type& reg,
80 LoadReg<eInstructionSet::eIS_Avx, ipReal64>::act(reg, pT);
90 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX2_LOADREGIMPL_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Predefined types associated to instruction set management.
Definition of import/export macro for library.
float ipReal32
Base types definition.
Definition: BaseTypes.h:56