I have a __m256i value which is a mask. I basically want 0xFF to be 1, 0xFFFF to be 2 and so on. There's no set mask once a 0 is reached so I was thinking lzcnt would solve my problem. The below seems to work but I was wondering if there's a better way
auto cnt =
((64-__builtin_ia32_lzcnt_u64(mask[0]))>>3) +
((64-__builtin_ia32_lzcnt_u64(mask[1]))>>3) +
((64-__builtin_ia32_lzcnt_u64(mask[2]))>>3) +
((64-__builtin_ia32_lzcnt_u64(mask[3]))>>3) ;