[][src]Macro safe_arch::blend_imm_m128

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

Blends the lanes according to the immediate mask.

Bits 0 to 3 control where output lane 0 to 3 come from. Use 0 for the $a value and 1 for the $b value.

let a = m128::from_array([0.0, 1.0, 2.0, 3.0]);
let b = m128::from_array([4.0, 5.0, 6.0, 7.0]);
let c = blend_imm_m128!(a, b, 0b0110).to_array();
assert_eq!(c, [0.0, 5.0, 6.0, 3.0]);