[][src]Macro safe_arch::shuffle_abi_f64_half_m256d

macro_rules! shuffle_abi_f64_half_m256d {
    ($a:expr, $b:expr, [al:$z:expr, bl:$o:expr, ah:$t:expr, bh:$e:expr]) => { ... };
}
This is supported with target feature avx only.

Shuffle the f64 lanes from $a and $b together using an immediate control value.

  • Each index given should be either 0 or 1 from the lower half of a and b, then the higher half of a and b.
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 = shuffle_abi_f64_half_m256d!(a, b, [al:1, bl:0, ah:1, bh:0]).to_array();
assert_eq!(c, [2.0, 5.0, 4.0, 7.0]);