Module avx512bitalg

Source
Available on x86 or x86-64 only.
Expand description

Bit-oriented Algorithms (BITALG)

The intrinsics here correspond to those in the immintrin.h C header.

The reference is Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2: Instruction Set Reference, A-Z.

Functions§

bitshuffle_128 🔒
bitshuffle_256 🔒
bitshuffle_512 🔒
_mm256_bitshuffle_epi64_maskExperimentalavx512bitalg,avx512vl
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm256_mask_bitshuffle_epi64_maskExperimentalavx512bitalg,avx512vl
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm256_mask_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_mask_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm256_maskz_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_maskz_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm256_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_bitshuffle_epi64_maskExperimentalavx512bitalg
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm512_mask_bitshuffle_epi64_maskExperimentalavx512bitalg
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm512_mask_popcnt_epi8Experimentalavx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_mask_popcnt_epi16Experimentalavx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_maskz_popcnt_epi8Experimentalavx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_maskz_popcnt_epi16Experimentalavx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_popcnt_epi8Experimentalavx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_popcnt_epi16Experimentalavx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_bitshuffle_epi64_maskExperimentalavx512bitalg,avx512vl
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm_mask_bitshuffle_epi64_maskExperimentalavx512bitalg,avx512vl
Considers the input b as packed 64-bit integers and c as packed 8-bit integers. Then groups 8 8-bit values from cas indices into the bits of the corresponding 64-bit integer. It then selects these bits and packs them into the output.
_mm_mask_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_mask_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_maskz_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_maskz_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_popcnt_epi8Experimentalavx512bitalg,avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_popcnt_epi16Experimentalavx512bitalg,avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.