最快的Cortex M0 + Thumb 32x32 = 64倍增功能?

问题描述 投票:4回答:1

有没有人(或者可以很容易地编写)Thumb模式下ARM Cortex M0 +处理器的最佳内联汇编函数来乘以两个32位数并返回一个64位数?

由于M0 +不具有长乘法,因此可以实现的唯一方法是通过基元乘法,编译器调用__aeabi_lmul,其在34条指令中执行64x64 = 64乘法。我希望存在一个明显更快的算法,因为输入只有32位。

algorithm assembly arm multiplication cortex-m
1个回答
0
投票

所以你在谈论无符号或有符号乘法?如果签名然后你做64x64 = 64无论如何不是32x32 = 64。如果未签名,则获取gcc库函数的源代码并修改它,因为您知道操作数的上半部分为零。

或者看看Hackers Delight(hackersdelight.org),看看是否存在比gcc库更快实现的算法。

© www.soinside.com 2019 - 2024. All rights reserved.