SMLAD、SMLSD

デュアル 16 ビット符号付き乗算を実行し、積の加算または減算と、32 ビットの積算を行う命令です。

Show/hide構文

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

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

op

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

SMLAD

デュアル乗算を行い、積の和を累算します。

SMLSD

デュアル乗算を行い、積の差を累算します。

cond

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

X

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

Rd

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

Rn、Rm

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

Ra

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

Show/hide演算

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

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

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

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

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

Show/hide条件フラグ

これらの命令によるフラグへの影響はありません。

Show/hideアーキテクチャ

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

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

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

Show/hide

    SMLSD       r1, r2, r0, r7
    SMLSDX      r11, r10, r2, r3
    SMLADLT     r1, r2, r4, r1

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211