我在 Windows 10 上使用 Clang 版本 5(最近安装)。当我编译以下内容时
#define __AVX__
#define __AVX2__
#include <immintrin.h>
int main(void) {
__m256i a, b, result;
result = _mm256_add_epi64(a, b);
return 0;
}
我收到以下错误:
error: always_inline function '_mm256_add_epi64' requires target
feature 'avx2', but would be inlined into function 'main' that is
compiled without support for 'avx2'
result = _mm256_add_epi64(a, b);
^
MSVC 可以很好地编译它。为了让 Clang 编译它,我需要使用什么编译器选项?还是有其他事情发生?
最佳答案
如果你是本地编译(主机和目标是同一台机器,不是交叉编译),那么考虑将 -march=native
传递给 clang
另见 user manual of the Clang compiler .
注意 Clang 编译器是 open source .您可以下载其源代码并对其进行改进。
关于c++ - 当我尝试使用 AVX 功能时 Clang 生成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47207637/