simdpp::store_packed4

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

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

                               const any_vec<N,V>& c, const any_vec<N,V>& d );

Interleaves the values in a, b, c and d in groups of four 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, d - vectors to store
ptr - pointer to location to store data to

Return value[edit]

(none)

Equivalent operation[edit]

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

Here M is the number of elements in the vector.

See also[edit]