QN、DN、SN

QN ディレクティブは、指定された 128 ビット拡張レジスタの名前を定義します。

DN ディレクティブは、指定された 64 ビット拡張レジスタの名前を定義します。

SN ディレクティブは、指定された単精度浮動小数点レジスタの名前を定義します。

Show/hide構文

name directive expr{.type}{[x]}

各項目には以下の意味があります。

directive

QNDN、または SN を指定します。

name

拡張レジスタに割り当てる名前を指定します。name には、定義済みの名前と同じ名前を指定できません。

expr

以下を指定します。

  • 以下の範囲の数値を求める式。

    • A32/T32 Advanced SIMD コードで QN を使用する場合は 0 ~ 15。

    • それ以外の場合は 0 ~ 31

  • 定義済みレジスタ名、または以前のディレクティブで定義済みのレジスタ名。

type

Advanced SIMD または浮動小数点データ型。

[x]

Advanced SIMD コードでのみ使用されます。[x] は、レジスタへのスカラインデクスを指定します。

type および [x]拡張表記です。

Show/hide使用法

QNDN、または SN を使用して適切な名前を拡張レジスタに割り当てることにより、各レジスタの使用目的を明確にすることができます。

Note

同一レジスタに複数の名前を付けて矛盾を生じさせるような使用方法は避けて下さい。

DN ディレクティブまたは SN ディレクティブではベクタ長を指定できません。

Show/hide

energy  DN  6   ; VFP 倍精度レジスタ 6 のシンボルとして "energy" を
                ; 浮動小数点倍精度レジスタ 6
mass    SN  16  ; VFP 単精度レジスタ 16 のシンボルとして "mass" を
                ; 浮動小数点単精度レジスタ 16

Show/hide拡張表記の例

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/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814