我在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

新手上路,请多包涵

是否有官方参考列出了 GCC 的 SSE 内在函数的操作,即 <*mmintrin.h> 头文件中的函数?

原文由 NGaffney 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 722
2 个回答

除了 Intel 的 vol.2 PDF 手册外,还有一个 在线内在函数指南

英特尔® 内在函数指南包含英特尔内在函数的参考信息,这些信息提供对英特尔指令的访问,例如英特尔® 流 SIMD 扩展(英特尔® SSE)、英特尔® 高级矢量扩展(英特尔® AVX)和英特尔® 高级矢量扩展 2(英特尔® AVX2)。

它具有全文搜索功能,因此可以通过其名称或 CPU 指令、CPU 功能等找到内在函数。它还可以控制显示哪个 ISA 扩展。例如,这允许不搜索您可能无法使用的 KNC,或者现在不太有用的 MMX。

另请参阅 sse 标记的 标记 wiki 以获取指南和一些教程的链接,以及此官方文档。

原文由 Paul R 发布,翻译遵循 CC BY-SA 4.0 许可协议

我发现从 GCC 调用不同版本的 SSE 需要这些头文件:

对于 SSE2

 extern "C"
{
    #include <emmintrin.h>
    #include <mmintrin.h>
}

对于 SSE2

 extern "C"
{
    #include <pmmintrin.h>
    #include <immintrin.h>   // (Meta-header)
}

对于 SSE4:

 extern "C"
{
    #include <smmintrin.h>
}

在现代版本的编译器中,所有头文件似乎对 Visual Studio 和 GCC 都是通用的。

原文由 Jose Luis Blanco 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题