simdpp::move16_l, move8_l, move4_l, move2_l
From libsimdpp-docs
< shuffle
template<unsigned shift, unsigned N, class V1>
Ret<N, _DETAIL_> move16_l( const any_vec8<N,V1>& a ); |
||
template<unsigned shift, unsigned N, class V1>
Ret<N, _DETAIL_> move8_l( const any_vec16<N,V1>& a ); |
||
template<unsigned shift, unsigned N, class V1>
Ret<N, _DETAIL_> move4_l( const any_vec32<N,V1>& a ); |
||
template<unsigned shift, unsigned N, class V1>
Ret<N, _DETAIL_> move2_l( const any_vec64<N,V1>& a ); |
||
Moves elements within the vector to left (towards the 0-th element) shifting in zeros. Each 128-bit lane within vectors is processed separately.
The return vector type is governed by the expression promotion rules.
Parameters[edit]
a | - | source vector |
Return value[edit]
Equivalent operation[edit]
For the any_vec32
case:
shift: pos: 0 1 2 3 0 r = [ a0 a1 a2 a3 ] 1 r = [ a1 a2 a3 0 ] 2 r = [ a2 a3 0 0 ] 3 r = [ a3 0 0 0 ] 4 r = [ 0 0 0 0 ]
See also[edit]
This section is incomplete |