Function shuffle_abi_i128z_all_m256i
pub fn shuffle_abi_i128z_all_m256i<const MASK: i32>(a: m256i, b: m256i) -> m256i
Available on crate feature
dep_safe_arch
only.Expand description
Shuffle 128 bits of integer data from $a
and $b
using an immediate
control value.
You can pass A_Low
, A_High
, B_Low
, B_High
, or Zeroed
.
let a = m256i::from([1, 2, 3, 4, 5, 6, 7, 8]);
let b = m256i::from([9, 10, 11, 12, 13, 14, 15, 16]);
//
let c: [i32; 8] = shuffle_abi_i128z_all_m256i::<0b_1000_0010>(a, b).into();
assert_eq!(c, [9, 10, 11, 12, 0, 0, 0, 0]);
//
let c: [i32; 8] = shuffle_abi_i128z_all_m256i::<0b_0001_1000>(a, b).into();
assert_eq!(c, [0, 0, 0, 0, 5, 6, 7, 8]);
- Intrinsic:
_mm256_permute2x128_si256
- Assembly:
vperm2i128 ymm, ymm, ymm, imm8