simdpp::unzip16_hi, unzip8_hi, unzip4_hi, unzip2_hi

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

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

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

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

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

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

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

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

                            const any_vec64<N,V2>& b );

De-interleaves odd elements from 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 = [ a1 a3 b1 b3 ]

For the uint32x8 case:

r = [ a1 a3 b1 b3 a5 a7 b5 b7 ]

See also[edit]