Arm Neon Intrinsics 与手动组装

2024-01-09

https://web.archive.org/web/20170227190422/http://hilbert-space.de/?p=22 https://web.archive.org/web/20170227190422/http://hilbert-space.de/?p=22

在这个相当过时的网站上,它表明手写汇编将比内在函数提供更大的改进。我想知道即使是 2012 年,这是否也是当前的事实。

那么使用 gnu 交叉编译器对内在函数的编译优化是否有所改进?


我的经验是,内在因素并不值得这么麻烦。编译器很容易在内部函数之间注入额外的寄存器卸载/加载步骤。让它停止这样做的努力比仅仅用原始 NEON 编写东西要复杂得多。我在最近的编译器(包括 clang 3.1)中看到过这种东西。

在这个层面上,我发现你真的需要准确地控制正在发生的事情。如果你做事的顺序稍有错误,你就可以拥有各种各样的摊位。在本质上执行此操作感觉就像戴着焊工手套进行手术。如果代码对性能至关重要,以至于我根本需要内在函数,那么内在函数就不够好。也许其他人在这里有不同的经历。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Arm Neon Intrinsics 与手动组装 的相关文章

随机推荐