潮声隔雨深 · 2019年12月29日

新手关于 Neon 和 VFP 几点疑问

最近正在学习利用 cortex-A9 的neon intrinsics 优化已有的程序,看了一些技术白皮书有几个疑问:

1.我原先的程序用的是双精度浮点数(double precision,64bit length),用Neon的话只能处理16位的浮点数吗?(因为文档里只介绍了半精度浮点数,所以不是很了解)

2.我用VFP处理浮点数是否比Neon的SIMD技术更优呢?

1 个回答 得票排序 · 时间排序
一知半解 · 2019年12月29日
  1. NEON只能处理32位浮点数, 16/64位浮点是由VFP处理的
  2. VFP支持的浮点类型更多,但是不能并行,而NEON能最多并行处理四条浮点数据通道,这样还是大大增加了运算能力

neon intrinsic是利用NEON硬件的有效方式,建议你可以先了解NEON的基本指令集,然后再利用intrinsic实现

可以参考以下文档:

ARM Compiler toolchain Assembler Reference

ARM Compiler toolchain Compiler Reference

你的回答