有没有人知道列出gcc的SSE内在函数操作的引用,即< * mmintrin.h>中的函数。头文件?
感谢。
答案 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需要这些头文件:
extern "C"
{
#include <emmintrin.h>
#include <mmintrin.h>
}
extern "C"
{
#include <pmmintrin.h>
#include <immintrin.h> // (Meta-header)
}
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
的可用性。