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§

_mm256_bitshuffle_epi64_maskavx512bitalg and 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_maskavx512bitalg and 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_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_mask_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm256_maskz_popcnt_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_maskz_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm256_popcnt_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm256_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_bitshuffle_epi64_maskavx512bitalg
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_maskavx512bitalg
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_epi8avx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_mask_popcnt_epi16avx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_maskz_popcnt_epi8avx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_maskz_popcnt_epi16avx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm512_popcnt_epi8avx512bitalg
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm512_popcnt_epi16avx512bitalg
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_bitshuffle_epi64_maskavx512bitalg and 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_maskavx512bitalg and 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_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_mask_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_maskz_popcnt_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_maskz_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
_mm_popcnt_epi8avx512bitalg and avx512vl
For each packed 8-bit integer maps the value to the number of logical 1 bits.
_mm_popcnt_epi16avx512bitalg and avx512vl
For each packed 16-bit integer maps the value to the number of logical 1 bits.
bitshuffle_128 🔒
bitshuffle_256 🔒
bitshuffle_512 🔒