SMULWy、SMLAWy

符号付きワイド乗算と符号付きワイド積和を実行します(32 ビット× 16 ビットを実行し、演算結果の上位 32 ビットを返します)。

Show/hide構文

SMULW<y>{cond} {Rd}, Rn, Rm
SMLAW<y>{cond} Rd, Rn, Rm, Ra

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

<y>

B または T を指定します。Rm の下位ビット(ビット [15:0])を使用する場合は B を、Rm の上位ビット(ビット [31:16])を使用する場合は T を指定します。

cond

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

Rd

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

Rn、Rm

乗算する値を保持するレジスタを指定します。

Ra

加算する値を保持するレジスタを指定します。

Show/hide使用法

SMULWy 命令は、Rm の指定された上位半分または下位半分の符号付き整数と、Rn の符号付き整数を乗算し、48 ビットの演算結果の上位 32 ビットを Rd に返します。

SMLAWy 命令は、Rm の選択された上位半分または下位半分の符号付き整数と Rn の符号付き整数を乗算し、32 ビットの演算結果を Ra 32 ビット値に加算し、その結果を Rd に返します。

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

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

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

Show/hide条件フラグ

これらの命令による N、Z、C、または V フラグへの影響はありません。

累算中にオーバーフローが発生した場合、SMLAWy によって Q フラグが設定されます。

Show/hideアーキテクチャ

これらの ARM 命令は、ARMv6 以降、および ARMv5T の E バリアントで使用できます。

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

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

Show/hide関連項目

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