我目前正在尝试使用 Shark 优化一些与 DSP 相关的代码,发现我在浮点到整数的转换中浪费了很多时间:
SInt16 nextInt = nextFloat * 32768.0f + 0.5f;
由于 iPhone 似乎有一个 ARM11 FP 协处理器,我想知道是否可以用 FTOSI 指令替换我的代码。ARM 网站上提供了一些文档,但我没有内联手动优化程序集的经验。以前有人这样做过吗?
我想我可以内联代码
__asm__ volatile
但是如何检查指令是否可用?
我怎样才能传递我的价值?
EDIT1:正如路易斯已经指出的那样,我忘了提到我正在编译时关闭了“Compile for Thumb”。
EDIT2:因为我想将浮点数转换为有符号的 Int16 而不是无符号的 Int,所以我将 ARM 指令从 FTOUI 更改为 FTOSI。这是原帖中的一个错误。