9 vfp directives and vector notation, Vfp directives and vector notation -40 – ARM VERSION 1.2 User Manual

Page 278

Advertising
background image

Vector Floating-point Programming

6-40

Copyright © 2000, 2001 ARM Limited. All 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 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

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 page 7-11).

You must not use this vector notation in the

DN

and

SN

directives themselves.

Advertising