[][src]Macro safe_arch::combined_byte_shr_imm_m256i

macro_rules! combined_byte_shr_imm_m256i {
    ($a:expr, $b:expr, $imm:expr) => { ... };
}

Works like combined_byte_shr_imm_m128i, but twice as wide.

The low half of the bytes and high half of the bytes are both processed separately.

let a = m256i::from([5_i8; 32]);
let b = m256i::from([12_i8; 32]);
// `a` bytes come in to the _high_ indexes because these are LE bytes.
// Also note that the three 5 values at the low half and high half.
let c: [i8; 32] = combined_byte_shr_imm_m256i!(a, b, 3).into();
assert_eq!(
  c,
  [
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 5, 5, 5,
    12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 5, 5, 5_i8
  ]
);