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

__m256 unknown type (clang 5.1/i5 CPU)?

本文关键字:i5 CPU clang m256 未知 类型      更新时间:2023-10-16

我刚开始尝试使用intrinsic。我成功地在Mac上使用Clang 5.1使用__m128编译了一个程序。这台Mac电脑的CPU是Intel酷睿i5 M540。

当我试图用__m256编译相同的代码时,我得到以下消息:
simple.cpp:4:2: error: unknown type name '__m256'
    __m256 A;

代码如下:

#include <immintrin.h>
int main()
{
    __m256 A;
    return 0;
}

下面是用来编译它的命令:

c++ -o simple simple.cpp -march=native -O3

只是我的CPU太旧了,不支持AVX指令集吗?我使用的所有选项(在命令行上)都正确吗?我检查了immintrin.h包含文件,它确实调用了另一个包含文件,似乎定义了AVX内部函数。如果这个问题很幼稚,或者这个术语被误用了,我道歉,正如我所说的,我是这个话题的新手。

英特尔540M CPU是在Westmere微架构(抱歉评论中的错误),出现在AVX引入Sandy Bridge之前,所以它不支持AVX。"core i5"一词涵盖了从Nehalem到Haswell(当前)的广泛架构,因此使用core i5 CPU并不意味着你将像最新的那样支持所有指令集。