我正在使用Eigen C ++库为64位ARM Cortex-A53处理器编写某种算法。
它在Eigen更改日志(http://eigen.tuxfamily.org/index.php?title=3.3)中说 版本3.3中有ARM NEON改进,包括“正确调整目标矢量寄存器数”。现在,有人知道这究竟意味着什么吗?有可能告诉Eigen充分利用A53的32个向量寄存器吗?根据我的快速测试,它不会自动发生。
谢谢,劳里
答案 0 :(得分:3)
感谢您的报告......从技术上讲,您发现了一个错误!
Eigen应将其对NEON 128位寄存器的使用调整为arm64模式下的使用,它使用32个寄存器。我以为我已经做到了,但看起来我错了: - / https://bitbucket.org/eigen/eigen/src/tip/Eigen/src/Core/arch/NEON/PacketMath.h?fileviewer=file-view-default#PacketMath.h-34
应该解决这个问题......