SMUAD{X}、SMUSD{X}

任意でオペランドの半分を交換できる、デュアル 16 ビット符号付き積和命令と積差命令です。

Show/hide構文

op{X}{cond} {Rd}, Rn, Rm

各パラメータには以下の意味があります。

op

次のいずれかを指定します。

SMUAD

デュアル乗算後に積を加算します。

SMUSD

デュアル乗算後に積を減算します。

X

任意に指定できるパラメータです。X が指定されている場合は、乗算が行われる前に、第 2 オペランドの上位ハーフワードと下位ハーフワードが入れ替わります。

cond

任意の条件コードを指定します。

Rd

デスティネーションレジスタを指定します。

Rn、Rm

オペランドを保持するレジスタを指定します。

Show/hide使用法

SMUADRn の下位ハーフワードと Rm の下位ハーフワードを乗算し、Rn の上位ハーフワードと Rm の上位ハーフワードを乗算します。次に、得られた 2 つの積を加算し、その合計を Rd にストアします。

SMUSDRn の下位ハーフワードと Rm の下位ハーフワードを乗算し、Rn の上位ハーフワードと Rm の上位ハーフワードを乗算します。次に、最初の積から 2 番目の積を減算し、その差を Rd にストアします。

Show/hideレジスタの制約条件

レジスタには PC は使用できません。

SP は ARM 命令で使用できますが、これらは ARMv6T2 以降では非推奨です。Thumb 命令では SP は使用できません。

Show/hide条件フラグ

加算がオーバーフローした場合、SMUAD 命令によって Q フラグが設定されます。

Show/hideアーキテクチャ

これらの ARM 命令は、ARMv6 以降で使用できます。

これらの 32 ビット Thumb 命令は、ARMv6T2 以降で使用できます。ARMv7-M アーキテクチャでは、これらは ARMv7E-M 実装でだけ使用できます。

これらの命令の 16 ビット Thumb バージョンはありません。

Show/hide

    SMUAD       r2, r3, r2
    SMUSDXNE    r0, r1, r2

Show/hide関連項目

参照:
Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489EJ
Non-ConfidentialID081711