2016-08-17 15 views

答えて

2

あり何をしたいん単一の命令はありませんが、neatestソリューションは、おそらくあなたが行うことができますので、一時レジスタに関連する16ビットのオペランドを抽出すなわち、sxthmlaの組み合わせになりますプレーン32×32が乗算され、下位32ビットが累算されます。

+0

これは1つの解決策ですが、操作全体を実行するのに必要な命令数が増えます。 'MLA'命令を使用する代わりに他の方法がありますか? –

+0

パックドハーフワードオペランドから32x16乗算を実装し、_lower_32ビットを累積する命令がないため、no。乗算結果の最下位部分を返す唯一の演算は 'mul'と' mla'であり、32x32演算です。しかし、他の理由で16ビットデータを展開する必要があるアルゴリズムで_else_がある場合は、それを乗算にも利用できるように並べ替えてみる価値があります。 – Notlikethat

関連する問題