5

What is the difference between NEON SIMD and NEON SIMD version 2 as in Cortex A15?

auselen
  • 27,577
  • 7
  • 73
  • 114
user1511956
  • 784
  • 3
  • 9
  • 22

2 Answers2

6

It adds SIMD FMA instruction (VFMA.F32) and also mandates NEON half precision extension. NEONv2 is supported in ARM Cortex-A7, ARM Cortex-A15, and Qualcomm Krait (not sure about ARM Cortex-A5).

Marat Dukhan
  • 11,993
  • 4
  • 27
  • 41
  • Krait has versions too but I don't even think recent ones support this. – auselen Mar 06 '13 at 11:57
  • 3
    I have [an app in Google Play store](https://play.google.com/store/apps/details?id=info.yeppp.cpuid) which detects supported instruction extensions. I tested it on Dragonboard (early dual-core Krait), and Nexus 4 (a more recent quad-core Krait), both support NEONv2. If you have a device with Krait CPU you may check it yourself. – Marat Dukhan Mar 06 '13 at 12:05
  • I use that app now and then actually :) and you are right about later kraits having v2. – auselen Mar 06 '13 at 13:48
  • How do you read those features? I thought you need to be in supervisor mode to read configuration registers. Are you parsing `/proc/cpuinfo`? – auselen Mar 13 '13 at 09:51
  • I use several methods, including parsing of /proc/cpuinfo. I suggest that you look into the source code if you want the details. – Marat Dukhan Mar 13 '13 at 10:10
  • There was some recent changes for krait & cpuinfo. https://patchwork.kernel.org/patch/2222161/ So some Kraits has the idiv but didn't show up in cpuinfo previously. – auselen May 16 '13 at 13:49
  • Yeppp! library will detect DIV instructions regardless of whether they are manifested by Linux kernel – Marat Dukhan May 16 '13 at 21:49
4

It is not that much of a difference, from ARM ARM:

(in reverse order of definitions)

Advanced SIMDv2 is an OPTIONAL extension to the ARMv7-A and ARMv7-R profiles. Advanced SIMDv2 adds both the Half-precision Extension and the fused multiply-add instructions to the features of Advanced SIMDv1.

...

Advanced SIMDv1 can be extended by the OPTIONAL Half-precision Extension, that provides conversion functions in both directions between half-precision floating-point and single-precision floating-point.

...

The Advanced SIMD architecture extension, its associated implementations, and supporting software, are commonly referred to as NEON™ technology.

auselen
  • 27,577
  • 7
  • 73
  • 114