SMMUL、SMMLA、SMMLS

符号付き上位ワード乗算命令、符号付き上位ワード乗算命令の累算、符号付き上位ワード乗算命令の減算です。これらの命令は 32 ビットオペランド間での演算結果から上位 32 ビットのみを使用します。

Show/hide構文

SMMUL{R}{cond} {Rd}, Rn, Rm
SMMLA{R}{cond} Rd, Rn, Rm, Ra
SMMLS{R}{cond} Rd, Rn, Rm, Ra

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

R

任意に指定できるパラメータです。R が指定されている場合は演算結果の丸めが行われ、指定されていない場合は切り捨てられます。

cond

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

Rd

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

Rn、Rm

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

Ra

加算する値または引かれる値を保持するレジスタを指定します。

Show/hide演算

SMMULRnRm の値を乗算し、64 ビットの結果の上位 32 ビットを Rd にストアします。

SMMLA は、RnRm の値を乗算し、その積の上位 32 ビットに Ra の値を加算して、その結果を Rd にストアします。

SMMLS は、RnRm の値を乗算して得られた積を、32 ビット左シフトした Ra の値から減算し、結果の上位 32 ビットを Rd にストアします。

オプションの R パラメータが指定されている場合は、上位 32 ビットを取り出す前に 0x80000000 が加算されます。この処理によって結果の丸めが行われます。

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

    SMMULGE     r6, r4, r3
    SMMULR      r2, r2, r2

Show/hide関連項目

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