15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_LOADREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_LOADREGIMPL_H__ 32 typename Avx512Type<T>::Type
36 typename boost::enable_if_c<
37 boost::is_integral<T>::value>::type
40 return _mm512_loadu_si512(
41 reinterpret_cast<const typename Avx512Type<T>::Type*
>(pT));
49 typename boost::enable_if_c<
50 boost::is_integral<T>::value>::type
51 >::act(
typename Avx512Type<T>::Type& reg,
const T* pT)
53 reg = _mm512_loadu_si512(pT);
56 Avx512Type<ipReal32>::Type
57 LoadReg<eInstructionSet::eIS_Avx512, ipReal32>::act(
const ipReal32* pT)
59 return _mm512_loadu_ps(pT);
63 LoadReg<eInstructionSet::eIS_Avx512, ipReal32>::act(Avx512Type<ipReal32>::Type& reg,
const ipReal32* pT)
65 reg = _mm512_loadu_ps(pT);
69 LoadReg<eInstructionSet::eIS_Avx512, ipReal64>::act(Avx512Type<ipReal64>::Type& reg,
const ipReal64* pT)
71 reg = _mm512_loadu_pd(pT);
74 Avx512Type<ipReal64>::Type
75 LoadReg<eInstructionSet::eIS_Avx512, ipReal64>::act(
const ipReal64* pT)
77 return _mm512_loadu_pd(pT);
87 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_LOADREGIMPL_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
Predefined types associated to instruction set management.
Definition of import/export macro for library.
float ipReal32
Base types definition.
Definition: BaseTypes.h:56