最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

arm - Is gcc -mfpu=neon-vfpv4 implementing VFPv4-D16 or VFPv4-D32? - Stack Overflow

programmeradmin1浏览0评论

gcc says: The Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.

However VFPv4 comes in D32, D16 (and 4U) types.

So which does gcc implement? I can't see this documented anywhere for arm.

gcc says: The Advanced SIMD (Neon) v2 and the VFPv4 floating-point instructions.

However VFPv4 comes in D32, D16 (and 4U) types.

So which does gcc implement? I can't see this documented anywhere for arm.

Share Improve this question edited Mar 29 at 16:28 Mike Kinghan 61.9k15 gold badges168 silver badges201 bronze badges asked Mar 29 at 16:15 David SummersDavid Summers 111 bronze badge 1
  • The gcc options are listed here. gcc.gnu./onlinedocs/gcc/ARM-Options.html You want the option -mfpu=neon-vfpv4, if you have a neon Cortex-A system. – artless-noise-bye-due2AI Commented Mar 31 at 22:40
Add a comment  | 

1 Answer 1

Reset to default 1

The Advanced SIMD extensions (aka Neon) specify 32 doubleword registers. So if floating-point is also implemented, then it must be the D32 version.

According to ARM documentation:

If VFPv4 is implemented, it consists of either thirty-two or sixteen doubleword registers. Where necessary, these two implementation options are distinguished using the terms:

  • VFPv4-D32, for an implementation with thirty-two doubleword registers

  • VFPv4-D16, for an implementation with sixteen doubleword registers.

If Advanced SIMD is implemented, it consists of thirty-two doubleword registers.

If Advanced SIMD and Floating-point are both implemented, Floating-point must be implemented as VFPv3-D32 or VFPv4-D32.

发布评论

评论列表(0)

  1. 暂无评论