当我尝试使用 AVX 功能时,Clang 会生成错误
Clang generates errors when I try to use AVX features
我使用的是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 编译器是开源的。您可以下载其源代码并进行改进。
相关文章:
- 获取 clang++:错误:在编译文件系统库的代码时
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 如何修复 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- "Make"失败并出现 Clang 错误 - 如何从 Clang 获得错误?
- Android NDK.Build命令失败.未定义的引用.clang++:错误:链接器命令失败,退出代码为1
- Clang 错误 – 编译器错误或缺少一些细节?
- 为什么我在以下代码中收到 clang 错误?
- clang:错误:链接器命令失败,C++代码中的退出代码为 1(使用 -v 查看调用)
- NDK Clang 错误:未定义对"localeconv"的引用
- Clang 3.8 错误:参数 '-fuse-ld=gold-2.25' 中的链接器名称无效
- 限定名称和使用声明操作的 clang 错误消息
- 编译模板时的clang错误
- ld:1 个重复符号用于架构x86_64 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- C /R:clang:错误:Linker命令失败,出口代码1(使用-v查看调用)
- clang错误,没有可行的转换
- gcc 未给出的 Clang 错误"attempted to construct a reference element in a tuple with an rvalue"
- Clang:错误:非静态数据成员的使用无效
- 启用 openmp 时出错 - "ld: library not found for -lgomp" 和 Clang 错误
- 为什么在使用初始化语法时不调用转换运算符,为什么 clang 错误消息看起来是错误的
- 当使用 stdlibc++ 4.7 启用 C++11 时,clang 错误,而 gcc 编译正常