simdpp::splat16, splat8, splat4, splat2

From libsimdpp-docs
template<unsigned s, unsigned N, class V1>
Ret<N, _DETAIL_> splat16( const any_vec8<N,V1>& a );
template<unsigned s, unsigned N, class V1>
Ret<N, _DETAIL_> splat8( const any_vec16<N,V1>& a );
template<unsigned s, unsigned N, class V1>
Ret<N, _DETAIL_> splat4( const any_vec32<N,V1>& a );
template<unsigned s, unsigned N, class V1>
Ret<N, _DETAIL_> splat2( const any_vec64<N,V1>& a );

Broadcasts the s-th element within the vector across all lates. 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
s - the index of the element to broadcast

Return value[edit]

A vector expression.

Equivalent operation[edit]

For the any_vec32 case on 128-bit vector:

r = [ a[s], a[s], a[s], a[s] ]

See also[edit]