当我尝试使用 AVX 功能时,Clang 会生成错误

Clang generates errors when I try to use AVX features

本文关键字:Clang 错误 功能 AVX      更新时间:2023-10-16

我使用的是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

另请参阅Clang编译器的用户手册。

请注意,Clang 编译器是开源的。您可以下载其源代码并进行改进。

相关文章: