Table of Contents

Property YShuffleInsert_AcceleratedTypes

Namespace
Zyl.VectorTraits.Impl
Assembly
VectorTraits.dll

YShuffleInsert_AcceleratedTypes

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

TypeCodeFlags YShuffleInsert_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(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 (相关的硬件指令).

Architecture8bit16bit32bit64bit
Arm vqvtbx1q_u8 (None)(None)(None)
WasmCombine by i8x16.swizzle(None)(None)(None)
X86Combine 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