NEON technology is a media and signal processing architecture that adds instructions targeted primarily at audio, video, 3-D graphics, image, and speech processing. NEON instructions are available in both ARM and Thumb states.
NEON technology includes both Advanced Single Instruction Multiple Data (SIMD) instructions and the VFPv3 instructions.
The NEON coprocessor provides a register bank that is distinct from the ARM integer core register bank. Both the Advanced SIMD instructions and the VFP instruction use this register bank.
The Advanced SIMD instructions perform packed SIMD operations. These operations process registers containing vectors of elements of the same type packed together, enabling the same operation to be performed on multiple items in parallel. Instructions operate on vectors held in 64-bit or 128-bit registers.
The elements can be:
32-bit single-precision floating-point numbers
8-bit, 16-bit, 32-bit, or 64-bit signed or unsigned integers
8-bit, 16-bit, 32-bit, or 64-bit bitfields
8-bit or 16-bit polynomials with 1-bit coefficients.
See the ARM Architecture Reference Manual, Advanced SIMD Extension and VFPv3 supplement for details of the NEON technology.