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

标签 c++ x86 clang++ intrinsics avx

我刚开始尝试内在函数。我设法在使用 Clang 5.1 的 Mac 上使用 __m128 成功编译了一个程序。此 Mac 上的 CPU 是英特尔酷睿 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 内在函数的包含文件。如果问题很幼稚或术语被滥用,我深表歉意,正如我所说,我是这个话题的新手。

最佳答案

Intel 540M CPU 位于 Westmere 微体系结构中(对于评论中的错误感到抱歉),它在引入 AVX 时出现在 Sandy Bridge 之前,因此它不支持 AVX。 “核心 i5”一词涵盖了从 Nehalem 到 Haswell(当前)的各种架构,因此使用核心 i5 CPU 并不意味着您将支持所有指令集,如最新指令集。

关于c++ - __m256 未知类型(clang 5.1/i5 CPU)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24557975/

相关文章:

c++ - 使用指向非静态成员函数的函数指针时,可以省略 "this"关键字吗

c - SSE 优化代码的性能与普通版本类似

assembly - x87 可以对 UNsigned QUADword 整数执行精确除法吗?

c++ - typeinfo 和dynamic_cast 外部未解析

c++ - clang++ 直接将字符串序列化到二进制文件就可以了吗?

c++ - 类似于 glib 的对象模型?

c++ - 计算点之间的角度

c++ - QtCreator C++ : 2D matrix gives different results in different member function of the same class

c - 从用户空间向设备写入数据

c++ - 如何在 OSX 上为 clang 编译 #include <experimental/any>