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

发布于 2024-12-01 04:34:04 字数 67 浏览 5 评论 0原文

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

Is there an official reference listing the operation of the SSE intrinsic functions for GCC, i.e. the functions in the <*mmintrin.h> header files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

衣神在巴黎 2024-12-08 04:34:04

除了英特尔第 2 卷 PDF 手册外,还有一个 在线内在函数指南

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

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

另请参阅 标签 wiki 了解 标签用于指向指南和一些教程以及此官方文档的链接。

As well as Intel's vol.2 PDF manual, there is also an online intrinsics guide.

The Intel® Intrinsics Guide contains reference information for Intel intrinsics, which provide access to Intel instructions such as Intel® Streaming SIMD Extensions (Intel® SSE), Intel® Advanced Vector Extensions (Intel® AVX), and Intel® Advanced Vector Extensions 2 (Intel® AVX2).

It has a full-text search, so an intrinsic can be found by its name, or by CPU instruction, CPU feature, etc. It also has a control on which ISA extension to show. This allows, for example, not searching KNC that you wouldn't likely be able to use, or MMX that is far less useful these days.

See also the tag wiki for the tag for links to guides and a couple tutorials, as well as this official documentation.

爱情眠于流年 2024-12-08 04:34:04

我发现从 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 都是通用的。

I found these headers were needed for invoking the different versions of SSE from GCC:

For SSE2

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

For SSE2

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

For SSE4:

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

In modern versions of the compilers, all the headers seem to be common to Visual Studio and GCC.

心是晴朗的。 2024-12-08 04:34:04

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

SSEPlus table on intrinsics is very easy to use for most cases.

小情绪 2024-12-08 04:34:04

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

The GCC intrinsics are implementations of the Intel compiler intrinsics. They are documented in Intel® 64 and IA-32 Architectures Developer's Manual: Vol. 2C - Appendix C.

埋葬我深情 2024-12-08 04:34:04

这些最初来自英特尔。英特尔 C++ 编译器在其手册中描述了这些内容。 AMD 可能有自己的手册,其中包含 3DNow!

您必须将它们的可用性与您的 GCC 版本附带的 *mmintrin.h 进行比较。

These originally come from Intel. Intel C++ compiler describes those in its manual. AMD probably has its own manual containing those for 3DNow!.

You will have to compare the availability of those with the *mmintrin.h shipped with your version of GCC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文