我刚刚开始尝试使用 NEON 优化一些 android 代码。但是,我遇到了一些问题。主要问题是我真的不知道如何进行快速的 16 位浮点转换。
我看到它可以使用 vcvt.s32.f32 将多个 32 位整数转换为在 1 个 SIMD 指令中浮动。但是,如何将一组 4 个 S16 转换为 4 个 S32?我认为它与 VUZP 指令有关,但我无法弄清楚如何......
同样,我看到可以使用 VCVT.s16.f32 一次将 1 个 16 位转换为浮点数,但是虽然这很有帮助,但不能使用 SIMD 来做到这一点似乎非常浪费。
多年来,我在许多不同的平台上编写了汇编程序,但由于某种原因,我发现 ARM 文档完全无法理解。
因此,我们将不胜感激任何帮助。
还有什么方法可以获取 NEON 单元的吞吐量和延迟数据?
提前致谢!