IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LoadRegImpl.h
Go to the documentation of this file.
1 // LoadReg.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_LOADREGIMPL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_LOADREGIMPL_H__
17 
23 
24 namespace ipsdk {
25 namespace simd {
26 namespace detail {
27 
30 
31 AvxType<ipReal32>::Type
32 LoadReg<eInstructionSet::eIS_Avx, ipReal32>::act(const ipReal32* pT)
33 {
34  return _mm256_loadu_ps(pT);
35 }
36 
37 void
38 LoadReg<eInstructionSet::eIS_Avx, ipReal32>::act(AvxType<ipReal32>::Type& reg, const ipReal32* pT)
39 {
40  reg = _mm256_loadu_ps(pT);
41 }
42 
43 AvxType<ipReal64>::Type
44 LoadReg<eInstructionSet::eIS_Avx, ipReal64>::act(const ipReal64* pT)
45 {
46  return _mm256_loadu_pd(pT);
47 }
48 
49 void
50 LoadReg<eInstructionSet::eIS_Avx, ipReal64>::act(AvxType<ipReal64>::Type& reg, const ipReal64* pT)
51 {
52  reg = _mm256_loadu_pd(pT);
53 }
54 
57 
58 } // end of namespace detail
59 } // end of namespace simd
60 } // end of namespace ipsdk
61 
62 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_IMPL_LOADREG_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...
Predefined types associated to instruction set management.
Definition of import/export macro for library.
float ipReal32
Base types definition.
Definition: BaseTypes.h:56