Property Shuffle_AcceleratedTypes
- Namespace
- Zyl.VectorTraits
- Assembly
- VectorTraits.dll
Shuffle_AcceleratedTypes
Types with hardware acceleration when running Shuffle
(运行 Shuffle
时具有硬件加速的类型).
public static TypeCodeFlags Shuffle_AcceleratedTypes { get; }
Property Value
Remarks
Meaning of suffixes (后缀的含义).
- (none): Normal (常规).
- Args: Arguments calculation for only shuffle (仅换位的参数计算). Provide arguments for YShuffleKernel_Core (为 YShuffleKernel_Core 提供参数).
- Core. Core calculation for only shuffle (仅换位的核心计算). Its arguments are derived from YShuffleKernel_Args (其参数来源于 YShuffleKernel_Args).
Similar methods (相似的方法).
- Shuffle(Vector128<byte>, Vector128<byte>): If the index value is out of range, the element will be cleared (若索引值超出范围, 元素会被清零).
- YShuffleInsert(Vector128<byte>, Vector128<byte>, Vector128<byte>): If the index value is out of range, the elements of the background vector will be inserted (若索引值超出范围, 会插入背景向量的元素).
- YShuffleKernel(Vector128<byte>, Vector128<byte>): If the index value is out of range, the result is undefined (若索引值超出范围, 结果是未定义的). It has the best performance, and is used when you are sure that the index value is not out of range (它的性能最好, 用于确信索引值不会超出范围时).
Related hardware instructions (相关的硬件指令).
Architecture | 8bit | 16bit | 32bit | 64bit |
---|---|---|---|---|
Arm | vqtbl1q_u8 | (None) | (None) | (None) |
Wasm | i8x16.swizzle | (None) | (None) | (None) |
X86 | Combine by _mm_shuffle_epi8(Ssse3) /_mm_permutexvar_epi8(Avx512Vbmi) | Combine by _mm_permutexvar_epi16(Avx512BW) | Same combine by _mm256_permutevar8x32_epi32(Avx2) | Same combine by _mm256_permutexvar_epi64(Avx512F) |
- See Also