| |||

Home > Vector Floating-point Programming > VFP directives and vector notation |

This section applies only to `armasm`

.
The inline assemblers in the C and C++ compilers do not accept these
directives or vector notation.

You can make assertions about VFP vector lengths and strides in your code, and have them checked by the assembler. See:

If you use `VFPASSERT`

directives, you must specify
vector details in all VFP data processing instructions. The vector
notation is described below. If you do not use `VFPASSERT`

directives
you must not use this vector notation.

In VFP data processing instructions, specify vectors of VFP registers using angle brackets:

`s`

is a single-precision scalar register`n`

`n`

`s`

is a single-precision vector whose length and stride are given by the current vector length and stride, starting at register??<>`n`

`n`

`s`

is a single-precision vector of length L, stride 1, starting at register??<`n`

>`L`

`n`

`s`

is a single-precision vector of length??<`n`

:`L`

>`S`

, stride`L`

, starting at register`S`

`n`

`d`

is a double-precision scalar register`n`

`n`

`d`

is a double-precision vector whose length and stride are given by the current vector length and stride, starting at register??<>`n`

`n`

`d`

is a double-precision vector of length L, stride 1, starting at register??<`n`

>`L`

`n`

`d`

is a double-precision vector of length??<`n`

:`L`

>`S`

, stride`L`

, starting at register`S`

.`n`

You can use this vector notation with names defined using
the `DN`

and `SN`

directives (see *DN and SN*).

You must not use this vector notation in the `DN`

and `SN`

directives
themselves.