[−][src]Macro safe_arch::shuffle_abi_f128z_all_m256
This is supported with target feature
avx
only.Shuffle 128 bits of floating point data at a time from $a
and $b
using
an immediate control value.
You can pass A_Low
, A_High
, B_Low
, B_High
, or Zeroed
.
let a = m256::from_array([1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0]); let b = m256::from_array([9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0]); // let c = shuffle_abi_f128z_all_m256!(a, b, [B_Low, Zeroed]).to_array(); assert_eq!(c, [9.0, 10.0, 11.0, 12.0, 0.0, 0.0, 0.0, 0.0]); // let c = shuffle_abi_f128z_all_m256!(a, b, [Zeroed, A_High]).to_array(); assert_eq!(c, [0.0, 0.0, 0.0, 0.0, 5.0, 6.0, 7.0, 8.0]);
- Intrinsic:
_mm256_permute2f128_ps
- Assembly:
vperm2f128 ymm, ymm, ymm, imm8