SMLALxy

16 ビットオペランドと 64 ビットのアキュムレータを使った符号付き積和命令です。

Show/hide構文

SMLAL<x><y>{cond} RdLo, RdHi, Rn, Rm

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

<x>

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

<y>

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

cond

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

RdLo、RdHi

デスティネーションレジスタを指定します。これらのレジスタは累算値も保持します。RdHiRdLo には、それぞれ異なるレジスタを指定する必要があります。

Rn、Rm

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

Show/hide使用法

SMLALxy 命令は、Rm の指定された上位半分または下位半分の符号付き整数を、Rn の指定された上位半分または下位半分の符号付き整数と乗算し、32 ビットの演算結果を RdHiRdLo が保持する 64 ビット値に加算します。

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

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

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

Show/hide条件フラグ

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

Note

SMLALxy 命令によって例外が発生することはありません。この命令でオーバーフローが発生すると、警告がないまま演算結果の一部が溢れた桁によって上書きされます。

Show/hideアーキテクチャ

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

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

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

Show/hide

    SMLALTB     r2, r3, r7, r1
    SMLALBTVS   r0, r1, r9, r2

Show/hide関連項目

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