Vector Floating-point Programming
6-40 Copyright © 2000, 2001 ARM Limited. A ll rights reserved. ARM DUI 0068B
6.9 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:
VFPASSERT SCALAR on page6-41
VFPASSERT VECTOR on page6-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-pre cision vector of length
L
, stride
S
, starting at register
n
dn
is a double-precision scalar register
n
dn<>
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 page7-11).
You must not use this vector notation in the
DN
and
SN
directives themselves.