simdpp::zip16_lo, zip8_lo, zip4_lo, zip2_lo

From libsimdpp-docs
template<unsigned N, class V1, class V2>

Ret<N, _DETAIL_> zip16_lo( const any_vec8<N,V1>& a,

                           const any_vec8<N,V2>& b );
template<unsigned N, class V1, class V2>

Ret<N, _DETAIL_> zip8_lo( const any_vec16<N,V1>& a,

                          const any_vec16<N,V2>& b );
template<unsigned N, class V1, class V2>

Ret<N, _DETAIL_> zip4_lo( const any_vec32<N,V1>& a,

                          const any_vec32<N,V2>& b );
template<unsigned N, class V1, class V2>

Ret<N, _DETAIL_> zip2_lo( const any_vec64<N,V1>& a,

                          const any_vec64<N,V2>& b );

Interleaves elements from the lower halves of two source vectors. Each 128-bit lane within vectors is processed separately.

The return vector type is governed by the expression promotion rules.

Parameters[edit]

a, b - source vectors

Return value[edit]

A vector expression.

Equivalent operation[edit]

For the uint32x4 case:

r = [ a0 b0 a1 b1 ]

For the uint32x8 case:

r = [ a0 b0 a1 b1 a4 b4 a5 b5 ]

See also[edit]