DN and SN

The DN directive defines a name for a specified 64-bit extension register.

The SN directive defines a name for a specified single-precision VFP register.

Show/hideSyntax

name directive expr{.type}

where:

directive

is DN or SN.

name

is the name to be assigned to the extension register. name cannot be the same as any of the predefined names.

expr

Can be:

  • an expression that evaluates to a number in the range:

    • 0-15 if you are using DN in VFPv2

    • 0-31 otherwise.

  • a predefined register name, or a register name that has already been defined in a previous directive.

type

is any VFP datatype.

type is Extended notation.

Show/hideUsage

Use DN or SN to allocate convenient names to extension registers, to help you to remember what you use each one for.

Note

Avoid conflicting uses of the same register under different names.

You cannot specify a vector length in a DN or SN directive.

Show/hideExamples

energy  DN  6   ; defines energy as a symbol for
                ; VFP double-precision register 6
mass    SN  16  ; defines mass as a symbol for
                ; VFP single-precision register 16

Show/hideExtended notation examples

varA    DN      d1.U16
varB    DN      d2.U16
varC    DN      d3.U16
        VADD    varA,varB,varC       ; VADD.U16 d1,d2,d3
index   DN      d4.U16[0]
result  QN      q5.I32
        VMULL   result,varA,index    ; VMULL.U16 q5,d1,d3[2]

Show/hideSee also

Copyright © 2011 ARM. All rights reserved.ARM DUI 0588A
Non-ConfidentialID061811