simdpp::store_packed3

From libsimdpp-docs
< mem
template<unsigned N, class V>

void store_packed3( void* ptr, const any_vec<N,V>& a, const any_vec<N,V>& b,

                    const any_vec<N,V>& c );

Interleaves the values in a, b and c in groups of three elements and stores the resulting values in successive locations starting at p.

V must me a non-mask vector type. ptr must be aligned to vector size.

Parameters[edit]

a, b, c - vectors to store
ptr - pointer to location to store data to

Return value[edit]

(none)

Equivalent operation[edit]

[ *(p),   *(p+3), *(p+6), ... , *(p+M*3-3) ] = a
[ *(p+1), *(p+4), *(p+7), ... , *(p+M*3-2) ] = b
[ *(p+2), *(p+5), *(p+8), ... , *(p+M*3-1) ] = c

Here M is the number of elements in the vector.

See also[edit]