Search code examples
armneonfpucortex-a

Why they still have separate floating point unit , if there is Neon for fast processing of floating points in ARM cortex processors.


Neon (advanced SIMD) is very fast for add,subtract,multiply and floating point operations like single precision and double precision. Why ARM company still have another separate unit for floating point calculation as you can see in picture. i am little bit confused about it.

enter image description here


Solution

  • This is mostly as an illustration, and also because Floating-Point and Neon are two separate instruction sets before ARMv8-A or in Aarch32. And Neon only supports a subset of floating-point support (No double precision).

    This was clearly the case for Cortex-A9, shown on the illustration.

    However this is not true anymore in ARMv8-A Aarch64 in which there is no such split. There is instead a SIMD versus Scalar split, and SIMD instructions can use 64-bit floating-point numbers.