[][src]Function safe_arch::unpack_high_i8_m256i

#[must_use]pub fn unpack_high_i8_m256i(a: m256i, b: m256i) -> m256i
This is supported with target feature avx2 only.

Unpack and interleave high i8 lanes of a and b.

  • Operates on the high half of each 128 bit portion.
let a = m256i::from([
  3_i8, 11, 2, 13, 4, 15, 6, 17, 8, 19, 20, 21, 22, 23, 24, 127, 7, 11, 2,
  13, 4, 15, 6, 17, 8, 19, 20, 21, 22, 23, 24, 127,
]);
let b = m256i::from([
  -1_i8, -1, 0, 2, 2, 3, 0, 5, 6, 6, -7, 8, 8, 0, 0, 10, 10, -11, 11, 12, 12,
  13, 13, 12, 11, -10, 9, 8, 7, 6, 5, -4,
]);
let c: [i8; 32] = unpack_high_i8_m256i(a, b).into();
assert_eq!(
  c,
  [
    8, 6, 19, 6, 20, -7, 21, 8, 22, 8, 23, 0, 24, 0, 127, 10, 8, 11, 19, -10,
    20, 9, 21, 8, 22, 7, 23, 6, 24, 5, 127, -4
  ]
);