[][src]Macro safe_arch::permute_f128_in_m256d

macro_rules! permute_f128_in_m256d {
    ($a:expr, $b:expr, $low:tt, $high:tt) => { ... };
    (@_convert_tt_to_select 0) => { ... };
    (@_convert_tt_to_select 1) => { ... };
    (@_convert_tt_to_select 2) => { ... };
    (@_convert_tt_to_select 3) => { ... };
    (@_convert_tt_to_select Clear) => { ... };
    (@_convert_tt_to_select $unknown:tt) => { ... };
}
This is supported with target feature avx only.

Permutes the lanes around.

let a = m256d::from_array([1.0, 2.0, 3.0, 4.0]);
let b = m256d::from_array([5.0, 6.0, 7.0, 8.0]);
//
let c = permute_f128_in_m256d!(a, b, 2, Clear).to_array();
assert_eq!(c, [5.0, 6.0, 0.0, 0.0]);
//
let c = permute_f128_in_m256d!(a, b, 0, 1).to_array();
assert_eq!(c, [1.0, 2.0, 3.0, 4.0]);
//
let c = permute_f128_in_m256d!(a, b, Clear, 3).to_array();
assert_eq!(c, [0.0, 0.0, 7.0, 8.0]);