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 |1 Answer
Reset to default 1The 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.
-mfpu=neon-vfpv4
, if you have a neon Cortex-A system. – artless-noise-bye-due2AI Commented Mar 31 at 22:40