我正在构建莫尔顿索引空间索引,我有8个未签名的16位数字,将变成γ-128号。效率是至关重要的,所以简单的解决方案(遍历所有内容)或构建单独的8个128位数字太贵了。
我正在使用GCC,目标机器是64位的,但是没有BMI2支持。
如何加快计算速度?
最佳答案
如果您的机器是x86并且支持SSE2,那么使用movmsk
指令可以得到一个聪明的答案。GoogleSSE2 bit matrix transpose
获取完整代码。
关于c - 如何有效地交织来自8个__int16数字的位?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44559384/