15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_GATHERREGIMPL_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_GATHERREGIMPL_H__ 33 GatherReg<eInstructionSet::eIS_Avx, ipReal32>::act(
35 AvxType<ipReal32>::Type& out)
37 out = _mm256_set_ps(*(baseAddress + indexes[7]),
38 *(baseAddress + indexes[6]),
39 *(baseAddress + indexes[5]),
40 *(baseAddress + indexes[4]),
41 *(baseAddress + indexes[3]),
42 *(baseAddress + indexes[2]),
43 *(baseAddress + indexes[1]),
44 *(baseAddress + indexes[0]));
50 GatherReg<eInstructionSet::eIS_Avx, ipReal32>::act(
51 const ipReal32* baseAddress,
const AvxType<ipUInt32>::Type& regIdx,
52 AvxType<ipReal32>::Type& out)
55 UnloadReg<eInstructionSet::eIS_Avx, ipUInt32>::act(regIdx, indexes);
56 out = _mm256_set_ps(*(baseAddress + indexes[7]),
57 *(baseAddress + indexes[6]),
58 *(baseAddress + indexes[5]),
59 *(baseAddress + indexes[4]),
60 *(baseAddress + indexes[3]),
61 *(baseAddress + indexes[2]),
62 *(baseAddress + indexes[1]),
63 *(baseAddress + indexes[0]));
73 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX_GATHERREGIMPL_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition of import/export macro for library.
unload function; unloads a pack into a memory buffer
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53