🔬This is a nightly-only experimental API. (stdsimd #48556)
Available on x86 or x86-64 only.
Expand description

Vectorized Population Count Instructions for Double- and Quadwords (VPOPCNTDQ)

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_mask_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm256_mask_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm256_maskz_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm256_maskz_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm256_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm256_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm512_mask_popcnt_epi32Experimentalavx512vpopcntdq
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm512_mask_popcnt_epi64Experimentalavx512vpopcntdq
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm512_maskz_popcnt_epi32Experimentalavx512vpopcntdq
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm512_maskz_popcnt_epi64Experimentalavx512vpopcntdq
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm512_popcnt_epi32Experimentalavx512vpopcntdq
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm512_popcnt_epi64Experimentalavx512vpopcntdq
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm_mask_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm_mask_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm_maskz_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm_maskz_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • _mm_popcnt_epi32Experimentalavx512vpopcntdq,avx512vl
    For each packed 32-bit integer maps the value to the number of logical 1 bits.
  • _mm_popcnt_epi64Experimentalavx512vpopcntdq,avx512vl
    For each packed 64-bit integer maps the value to the number of logical 1 bits.
  • popcnt_v2i64 🔒 Experimental
  • popcnt_v4i32 🔒 Experimental
  • popcnt_v4i64 🔒 Experimental
  • popcnt_v8i32 🔒 Experimental
  • popcnt_v8i64 🔒 Experimental
  • popcnt_v16i32 🔒 Experimental