[][src]Macro safe_arch::blend_imm_i16_m128i

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

Blends the i16 lanes according to the immediate mask.

Each bit 0 though 7 controls lane 0 through 7. Use 0 for the $a value and 1 for the $b value.

let a = m128i::from([0_i16, 1, 2, 3, 4, 5, 6, 7]);
let b = m128i::from([0_i16, -1, -2, -3, -4, -5, -6, -7]);
//
let c: [i16; 8] = blend_imm_i16_m128i!(a, b, 0b1111_0110).into();
assert_eq!(c, [0_i16, -1, -2, 3, -4, -5, -6, -7]);