[−][src]Function safe_arch::unpack_low_i16_m256i
#[must_use]pub fn unpack_low_i16_m256i(a: m256i, b: m256i) -> m256i
This is supported with target feature
avx2
only.Unpack and interleave low i16
lanes of a
and b
.
- Operates on the low half of each 128 bit portion.
let a = m256i::from([5_i16, 6, 2, 5, 4, 3, 1, 0, -12, 13, 56, 21, 8, 7, 6, 5]); let b = m256i::from([ 12000_i16, 13000, -2, -8, 0, 1, 2, 3, -8, -7, 6, 5, 0, 0, 0, 978, ]); let c: [i16; 16] = unpack_low_i16_m256i(a, b).into(); assert_eq!( c, [5, 12000, 6, 13000, 2, -2, 5, -8, -12, -8, 13, -7, 56, 6, 21, 5] );
- Intrinsic:
_mm256_unpacklo_epi16
- Assembly:
vpunpcklwd ymm, ymm, ymm