Table of Contents

Property YShuffleKernel_AcceleratedTypes

Namespace
Zyl.VectorTraits.Impl
Assembly
VectorTraits.dll

YShuffleKernel_AcceleratedTypes

Types with hardware acceleration when running YShuffleKernel (运行 Shuffle 时具有硬件加速的类型).

TypeCodeFlags YShuffleKernel_AcceleratedTypes { get; }

Property Value

TypeCodeFlags

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(Vector256<byte>, Vector256<byte>): If the index value is out of range, the element will be cleared (若索引值超出范围, 元素会被清零).

- YShuffleInsert(Vector256<byte>, Vector256<byte>, Vector256<byte>): If the index value is out of range, the elements of the background vector will be inserted (若索引值超出范围, 会插入背景向量的元素).

- YShuffleKernel(Vector256<byte>, Vector256<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 (相关的硬件指令).

Architecture8bit16bit32bit64bit
ArmSame vqtbl1q_u8(None)(None)(None)
WasmSame i8x16.swizzle(None)(None)(None)
X86 _mm256_permutevar32x8_epi8(Avx512Vbmi) , combine by _mm256_shuffle_epi8(Avx2) _mm256_permutevar16x16_epi16(Avx512BW) _mm256_permutevar8x32_epi32(Avx2) _mm256_permutexvar_epi64(Avx512F)
See Also