我一直在用C ++实现Vector Math库,在某些点使用Assembly来提高计算性能。
更大的收获之一是由于http://www.codeproject.com/Articles/69941/Best-Square-Root-Method-Algorithm-Function-Precisi
中所述实施Square Root的汇编代码然而,当然这样的实现仅适用于x86,因为它已经在过去关于这个相同代码的问题中指出:How to get this sqrt inline assembly working for iOS
现在,我的问题是:有任何解决方法,或者有没有办法实现类似于以下内联汇编代码的东西,但这也适用于iOS,考虑到fsqrt只是x86?
double inline __declspec (naked) __fastcall sqrt14(double n)
{
_asm fld qword ptr [esp+4]
_asm fsqrt
_asm ret 8
}
提前感谢您的时间。
编辑:我正在使用Visual Studio 2013进行编码和编译。
答案 0 :(得分:0)
您必须使用适当的ARM指令集编写该代码的自己的汇编版本。有关详细信息,请查看ARM Reference Manual。
但请记住,转换快速x86解决方案并不能保证是ARM上最快/最精确的版本。从本质上讲,如果您真的关心性能,则需要为您的ARM平台运行与CodeProject page类似的比较。