c - glibc 和 SSE 功能

标签 c performance sse

我正在尝试查找有关 glibc 的信息以及它在多大程度上使用 SSE 功能。

如果它经过优化,我可以开箱即用吗?

假设我正在使用一个较大的 Linux 发行版,我假设它的 glibc 被编译为尽可能通用并且尽可能可移植,因此没有优化?

我对函数 memcpy 和 memcmp 以及如何尽快获取这些函数特别感兴趣。

最佳答案

glibc 2.8 根本不对 memcpy 或 memcmp 使用 SSE(在 x86 或 x86_64 中)——它使用一些手写的程序集,避免了该系列所有 CPU 不支持的任何内容。在 glibc 2.10 中,一种新的重定位类型,STT_GNU_IFUNC将得到支持,这将使基于 CPU 支持的更好优化成为可能。

关于c - glibc 和 SSE 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832133/

相关文章:

c - 在 C 中编写一个具有用户定义名称的输出文件

核心文件大小限制对进程具有不确定性影响

javascript - 如何管理 HTML 元素属性,最佳实践

c++ - 编译时 "strlen()"有效吗?

ruby - 哪个 Ruby Web 服务器?

c# - RyuJIT 没有充分利用 SIMD 内在函数

c - 输入一个值,而不是将该信息保存在数组中,而是更改另一个 var

c++ - 如何在控制台应用程序中显示网站的源代码?

c# - 在 C# 中使用 SSE 是可能的吗?

assembly - 是否有 x87 FILD 和 SSE CVTSI2SD 指令的无符号等效指令?