dn <>

Vector Floating-point Programming

6.9VFP 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:

VFPASSERT SCALAR on page 6-41

VFPASSERT VECTOR on page 6-42.

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:

sn is a single-precision scalar register n

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

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

sn <L:S> is a single-precision vector of length L, stride S, starting at register n

dn is a double-precision scalar register n

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

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

dn <L:S> is a double-precision vector of length L, stride S, starting at register n.

You can use this vector notation with names defined using the DN and SN directives (see DN and SN on page 7-11).

You must not use this vector notation in the DN and SN directives themselves.

6-40

Copyright © 2000, 2001 ARM Limited. All rights reserved.

ARM DUI 0068B

Page 278
Image 278
ARM VERSION 1.2 manual VFP directives and vector notation, Vfpassert Scalar on Vfpassert Vector on