[−][src]Macro safe_arch::shuffle_ai_i16_l64half_m256i
This is supported with target feature
avx2
only.Shuffle the low i16
lanes in $a
using an immediate control value.
The lower 128 bits and upper 128 bits have this performed separately.
let a = m256i::from([0_i16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); let b: [i16; 16] = shuffle_ai_i16_l64half_m256i!(a, [3, 2, 1, 0]).into(); assert_eq!(b, [3, 2, 1, 0, 4, 5, 6, 7, 11, 10, 9, 8, 12, 13, 14, 15]);
- Intrinsic:
_mm256_shufflelo_epi16
- Assembly:
vpshuflw ymm, ymm, imm8