google / highway

Performance-portable, length-agnostic SIMD with runtime dispatch
Apache License 2.0
3.97k stars 308 forks source link

Added BitShuffle op #2135

Closed johnplatts closed 2 months ago

johnplatts commented 2 months ago

The BitShuffle op was added as AVX3_DL/PPC8/PPC9/PPC10/Z14 have instructions that can extract the bits at specified indices from each lane of an U64 or I64 vector.

The BitShuffle op can be used to speed up the Pack operation in hwy/contrib/bit_pack/bit_pack-inl.h on AVX3_DL/PPC/Z14.