【发布时间】:2018-09-11 04:01:29
【问题描述】:
在我的一个应用程序中,我需要有效地解交织长数据流中的位。理想情况下,我想在可用时使用 BMI2 pext_u32() 和/或 pext_u64() x86_64 内在指令。我在互联网上搜索x86intrin.h (GCC) 上的文档,但找不到太多关于该主题的信息;所以,我请求 StackOverflow 上的专家帮助我。
- 在哪里可以找到有关如何使用
x86intrin.h中的函数的文档? -
gcc 的
pext_*()实现是否已经有代码可以依赖,还是我需要自己编写备用代码(用于条件编译)? - 如果目标不支持内在函数,是否可以编写自动回退到替代实现的二进制文件?如果是这样,如何做到这一点?
- 在启用优化和
-mbmi2进行编译时,是否有一种已知的编程模式可以被GCC识别并自动转换为pext_*()?
【问题讨论】:
-
我在stackoverflow.com/questions/1389712/… 上发布了一些最基本的 hello world 示例
标签: c gcc x86-64 intrinsics bmi