4 ms·
Discussion of uses of POPCOUNT instruction. https://vaibhavsagar.com/blog/2019/09/08/popcount/ https://vaibhavsagar.com/blog/2019/09/08/popcount/
by yourapostasy 6y ago
Discussion of uses of POPCOUNT instruction.
https://vaibhavsagar.com/blog/2019/09/08/popcount/ https://vaibhavsagar.com/blog/2019/09/08/popcount/
- ncmncm 6y agoI sent him this: It does, however, omit several imporant uses for the operation. Perhaps the most important of these is the integer log-base-2 operation. The popcount instruction follows a bitwise operation to transform the input from the form 0..01x..x into 0..011..1. Often these operations are merged into another instruction, "count leading zeroes". We also find "count leading ones", "count trailing ones", "count trailing zeroes", all relying on the same hardware implementation. Most often the result of one of these operations is used as a shift count, or to provision storage for a corresponding number of larger objects. The importance of the instruction in accelerating algorithms arises from its very slow loopwise implementation, so a software emulation is often worse than useless.