SMLALD、SMLSLD

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

Show/hide構文

op{X}{cond} RdLo, RdHi, Rn, Rm

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

op

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

SMLALD

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

SMLSLD

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

X

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

cond

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

RdLoRdHi

64 ビットの結果を保持するデスティネーションレジスタを指定します。これらのレジスタには、64 ビットの累算オペランドも保持されます。RdHiRdLo には、それぞれ異なるレジスタを指定する必要があります。

Rn、Rm

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

Show/hide演算

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

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

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

    SMLALD      r10, r11, r5, r1
    SMLSLD      r3, r0, r5, r1

Show/hide関連項目

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