[][src]Macro lokacore::shuffle128d

macro_rules! shuffle128d {
    ($a:expr, $b:expr, [$i0a:literal,$i1b:literal]) => { ... };
}

Shuffles around some f64 lanes into a new m128d

This is a macro and not a function because the shuffle pattern must be a compile time constant. The macro takes some requested indexes and then makes the correct shuffle pattern constant for you.

  • $a and $b are any m128d expressions.
  • $i0a and $i1b must both be 0 or 1. Technically any u32 literal will work, but only the lowest bit is used so stick to 0 or 1.
  • The 0th lane of output comes from $a, and the 1st lane comes from $b, as the names $i0a and $i1b hint.
shuffle128!(a, b, [0, 1])

Would give an output of: a[0], b[1]