SSE内在函数参考

时间:2011-08-23 06:07:31

标签: c++ c gcc sse simd

有没有人知道列出gcc的SSE内在函数操作的引用,即< * mmintrin.h>中的函数。头文件?

感谢。

5 个答案:

答案 0 :(得分:43)

除了已经提到的所有在线PDF文档之外,还有一个非常有用的实用程序,它总结了所有指令和内在函数,并按技术对它们进行分组。它运行在Linux,Windows和Mac OS X上。它隐藏在英特尔的AVX技术页面上,但它对SSE编程同样有用。转到http://software.intel.com/en-us/articles/intel-intrinsics-guide,然后为您选择的平台选择英特尔内在指南

更新

现在有一个online version of the intrinsics guide,因此您不再需要安装任何内容,而且它始终是最新的。

答案 1 :(得分:13)

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

  • 对于SSE2:
extern "C"
{
#include <emmintrin.h>
#include <mmintrin.h>
}
  • 对于SSE3:
extern "C" 
{
#include <pmmintrin.h>
#include <immintrin.h>   // (Meta-header)
}
  • 对于SSE4:
extern "C" 
{
#include <smmintrin.h>
}

在编译器的现代版本中,所有标题似乎都是Visual Studio和GCC的常用标题。

答案 2 :(得分:9)

关于内在函数的

SSEPlus table在大多数情况下都非常容易使用。

答案 3 :(得分:6)

GCC内在函数是英特尔编译器内在函数的实现。它们记录在Intel® 64 and IA-32 Architectures Developer's Manual: Vol. 2C - 附录C中。

答案 4 :(得分:3)

这些最初来自英特尔。英特尔C ++编译器在其manual中描述了这些内容。 AMD可能有自己的手册,包含3Dnow的手册!您必须比较您的GCC版本附带*mmintrin.h的可用性。