Hi I was searching thriugh the library and i do not see usages of lzcnt and blsr. I see a lot of uses of popcnt. Is this understanding correct ?
[rohaagga_croaring croaring]$ grep -R lzcnt
grep: .ade_path: No such file or directory
grep: include/.ade_path: No such file or directory
grep: include/roaring/.ade_path: No such file or directory
grep: include/roaring/bitset/.ade_path: No such file or directory
grep: include/roaring/containers/.ade_path: No such file or directory
grep: include/roaring/misc/.ade_path: No such file or directory
include/roaring/portability.h:#include <lzcntintrin.h> // for __lzcnt64
include/roaring/portability.h:// On 32-bit x86, we lack 64-bit popcnt, lzcnt, blsr instructions.
include/roaring/portability.h:#define CROARING_TARGET_AVX2 CROARING_TARGET_REGION("avx2,bmi,pclmul,lzcnt,popcnt")
include/roaring/portability.h:#define CROARING_TARGET_AVX512 CROARING_TARGET_REGION("avx2,bmi,bmi2,pclmul,lzcnt,popcnt,avx512f,avx512dq,avx512bw,avx512vbmi2,avx512bitalg,avx512vpopcntdq")
grep: src/.ade_path: No such file or directory
grep: src/containers/.ade_path: No such file or directory
rohaagga_croaring croaring]$ grep -R blsr
grep: .ade_path: No such file or directory
grep: include/.ade_path: No such file or directory
grep: include/roaring/.ade_path: No such file or directory
grep: include/roaring/bitset/.ade_path: No such file or directory
grep: include/roaring/containers/.ade_path: No such file or directory
grep: include/roaring/misc/.ade_path: No such file or directory
include/roaring/portability.h:#include <bmiintrin.h> // for _blsr_u64
include/roaring/portability.h:// unfortunately, we may not get _blsr_u64, but, thankfully, clang
include/roaring/portability.h:#ifndef _blsr_u64
include/roaring/portability.h:#define _blsr_u64(n) ((n - 1) & n)
include/roaring/portability.h:#endif // _blsr_u64
include/roaring/portability.h:// On 32-bit x86, we lack 64-bit popcnt, lzcnt, blsr instructions.
grep: src/.ade_path: No such file or directory
grep: src/containers/.ade_path: No such file or directory