根据http://www.agner.org/optimize/instruction_tables.pdf的说法,POPCNT指令(返回32位或64位寄存器中设置的位数)在现代Intel和AMD处理器上每个时钟周期的吞吐量为1条指令。这比任何需要多条指令(How to count the number of set bits in a 32-bit integer?)的软件实现都要快得多。

POPCNT如何在硬件中如此高效地实现?

最佳答案

组合popcnt有一项专利,正向/反向位扫描:

US8214414 B2 - Combined set bit count and detector logic

关于assembly - POPCNT如何在硬件中实现?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28802692/

10-11 18:34