首页 > 解决方案 > 对于对齐的 memcpy 和 memset REP MOVSD 和 REP STOSD 与临时和非临时 ymm / zmm 寄存器

问题描述

我在这里这里看到了一些非常有用的帖子,讨论了复制/设置内存的差异方法的优点。

所有帖子都详细介绍了 REP MOVSD 在各种环境中的优缺点,尽管我发现在过于笼统的环境中讨论该主题而无法得到任何明确的答案。

所以对于 x86_64 skylake 我很好奇以下场景:

假设所有场景src 和 dst 都是页面对齐的

基于memcpymemset的glibc实现

似乎 SIMD 注册了memcpy两种REP STOSDmemset 案例。

我很好奇这些场景是否有任何硬性建议(并更好地理解为什么它们是建议)。

谢谢你。

编辑:我发表这篇文章的原因之一是其他帖子似乎没有讨论AVX512

标签: assemblyx86-64memcpymemset

解决方案


推荐阅读