C++ gcc的“内置流行音乐计数”是如何工作的?

C++ gcc的“内置流行音乐计数”是如何工作的?,c++,gcc,C++,Gcc,我想知道内置popcount的内部工作原理 据我所知,它对不同的cpu工作方式不同。与许多其他内置程序类似,如果目标cpu上有可用的cpu指令,它将转换为特定的cpu指令,从而大大加快应用程序的速度 例如,在x86_64上,它转换为popcntl ASM指令 其他信息可在GCC页面上找到: 还值得注意的是,只有在运行gcc时使用march标志(目标是支持此指令的体系结构)或专门启用此指令的参数-mpopcnt,才能看到实际的加速。如果没有这两者,gcc将通过位操作恢复为通用位计数

我想知道内置popcount的内部工作原理


据我所知,它对不同的cpu工作方式不同。

与许多其他内置程序类似,如果目标cpu上有可用的cpu指令,它将转换为特定的cpu指令,从而大大加快应用程序的速度

例如,在x86_64上,它转换为popcntl ASM指令

其他信息可在GCC页面上找到:

还值得注意的是,只有在运行gcc时使用march标志(目标是支持此指令的体系结构)或专门启用此指令的参数-mpopcnt,才能看到实际的加速。如果没有这两者,gcc将通过位操作恢复为通用位计数