Advanced SIMD is a 64-bit and 128-bit hybrid Single Instruction Multiple Data (SIMD) technology targeted at advanced media and signal processing applications and embedded processors.
Advanced SIMD is implemented as part of an Arm-based processor, but has its own execution pipelines and a register bank that is distinct from the general-purpose register bank.
Advanced SIMD instructions are available in both A32 and A64. The A64 Advanced SIMD instructions are based on those in A32. The main differences are the following:
- Different instruction mnemonics and syntax.
- Thirty-two 128-bit vector registers, increased from sixteen in A32.
- A different register packing scheme:
- In A64, smaller registers occupy the low order bits of larger registers. For example, S31 maps to bits[31:0] of D31.
- In A32, smaller registers are packed into larger registers. For example, S31 maps to bits[63:32] of D15.
- A64 Advanced SIMD instructions support both single-precision and double-precision floating-point data types and arithmetic.
- A32 Advanced SIMD instructions support only single-precision floating-point data types.