SSE内在函数参考

NGa*_*ney 52 c c++ gcc sse simd

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

谢谢.

Pau*_*l R 43

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

UPDATE

现在有一个在线版本的内在指南,所以你不再需要安装任何东西,它总是最新的.


Jos*_*nco 13

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

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

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


ale*_*cco 9

关于内在函数的SSEPlus表在大多数情况下非常容易使用.


caf*_*caf 6

GCC内在函数是英特尔编译器内在函数的实现.它们在英特尔®64和IA-32架构开发人员手册:Vol.2C - 附录C.