Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ __m256未知类型(clang 5.1/i5 CPU)?_C++_X86_Clang++_Intrinsics_Avx - Fatal编程技术网

C++ __m256未知类型(clang 5.1/i5 CPU)?

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; } 是不是因为

我刚开始尝试内在论。我在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;
}

是不是因为我的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