C++ __m256未知类型(clang 5.1/i5 CPU)?
我刚开始尝试内在论。我在Mac上使用Clang 5.1成功地编译了一个程序。此Mac上的CPU是Intel core i5 M540 当我试图用C++ __m256未知类型(clang 5.1/i5 CPU)?,c++,x86,clang++,intrinsics,avx,C++,X86,Clang++,Intrinsics,Avx,我刚开始尝试内在论。我在Mac上使用Clang 5.1成功地编译了一个程序。此Mac上的CPU是Intel core i5 M540 当我试图用\uuuum256编译相同的代码时,我得到以下消息: simple.cpp:4:2: error: unknown type name '__m256' __m256 A; 代码如下所示: #include <immintrin.h> int main() { __m256 A; return 0; } 是不是因为
\uuuum256
编译相同的代码时,我得到以下消息:
simple.cpp:4:2: error: unknown type name '__m256'
__m256 A;
代码如下所示:
#include <immintrin.h>
int main()
{
__m256 A;
return 0;
}
是不是因为我的CPU太旧,无法支持AVX指令集?我使用的所有选项(在命令行上)都正确吗?我签入了
immintrin.h
include文件,它确实调用了另一个include文件,该文件似乎定义了AVX intrinsic。如果问题太天真或术语被误用,我表示歉意,正如我所说,我对这个话题还不熟悉。CPU位于Westmile微体系结构中(对评论中的错误表示歉意),它在引入AVX时出现在Sandy Bridge之前,因此不支持AVX。术语“core i5”涵盖了从Nehalem到Haswell(当前)的广泛体系结构,因此使用core i5 CPU并不意味着您将支持所有指令集,比如最新的指令集。您的意思是?如果这是正确的,那么CPU不支持AVX,因为它是非常旧的Nehalem。AVX仅在Sandy Bridge之后提供,非常感谢。当我使用sysctl-nmachdep.cpu.brand_字符串时,它是M 540,所以是的,我猜它是540M。如果你写评论作为回答,我会接受。
c++ -o simple simple.cpp -march=native -O3