9.15 Advanced SIMD scalars

Some Advanced SIMD instructions act on scalars in combination with vectors. Advanced SIMD scalars can be 8-bit, 16-bit, 32-bit, or 64-bit.

In A32/T32 Advanced SIMD instructions, the instruction syntax refers to a single element in a vector register using an index, x, into the vector, so that Dm[x] is the xth element in vector Dm. In A64 Advanced SIMD instructions, you append the index to the element size specifier, so that Vm.D[x] is the xth doubleword element in vector Vm.

In A64 Advanced SIMD scalar instructions, you refer to registers using a name that indicates the number of significant bits. The names are Bn, Hn, Sn, or Dn, where n is the register number (0-31). The unused high bits are ignored on a read and set to zero on a write.

Other than A32/T32 Advanced SIMD multiply instructions, instructions that access scalars can access any element in the register bank.

A32/T32 Advanced SIMD multiply instructions only allow 16-bit or 32-bit scalars, and can only access the first 32 scalars in the register bank. That is, in multiply instructions:

  • 16-bit scalars are restricted to registers D0-D7, with x in the range 0-3.
  • 32-bit scalars are restricted to registers D0-D15, with x either 0 or 1.
Non-ConfidentialPDF file icon PDF versionARM 100069_0608_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.