最快的Cortex M0 + Thumb 32x32 = 64倍增功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最快的Cortex M0 + Thumb 32x32 = 64倍增功能?相关的知识,希望对你有一定的参考价值。
有没有人(或者可以很容易地编写)Thumb模式下ARM Cortex M0 +处理器的最佳内联汇编函数来乘以两个32位数并返回一个64位数?
由于M0 +不具有长乘法,因此可以实现的唯一方法是通过基元乘法,编译器调用__aeabi_lmul
,其在34条指令中执行64x64 = 64乘法。我希望存在一个明显更快的算法,因为输入只有32位。
答案
所以你在谈论无符号或有符号乘法?如果签名然后你做64x64 = 64无论如何不是32x32 = 64。如果未签名,则获取gcc库函数的源代码并修改它,因为您知道操作数的上半部分为零。
或者看看Hackers Delight(hackersdelight.org),看看是否存在比gcc库更快实现的算法。
以上是关于最快的Cortex M0 + Thumb 32x32 = 64倍增功能?的主要内容,如果未能解决你的问题,请参考以下文章