我正在尝试在我的代码中使用一些 AVX 内在函数,并且遇到了对数内在函数的砖墙。
使用适用于 Linux 的 Intel Intrinsics Guide v3.0.1,我看到内在函数_mm256_log_ps(__m256)
被列为“immintrin.h”的一部分,并且在我当前的架构中也受支持。
然而,试图编译这个简单的测试用例失败,“错误:'_mm256_log_ps'没有在这个范围内声明”
该示例是用g++-4.8 -march=native -mavx test.cpp
#include <immintrin.h>
int main()
{
__m256 i;
_mm256_log_ps(i);
}
我在这里错过了一些基本的东西吗?某些内在函数是否不受 g++ 支持且仅在 icc 中可用?
已解决:该指令不是真正的内在指令,而是作为 ICC 的英特尔 SVML 的一部分实现的。