5.16.3. VMUL、VMLA、VMLS、VNMUL、VNMLA 和 VNMLS

浮点乘法和乘加,包含可选求反。

这些指令可以是标量、向量或混合型(请参阅VFP 向量和标量运算)。

语法

V{N}MUL{cond}.F32 {Sd,} Sn, Sm
V{N}MUL{cond}.F64 {Dd,} Dn, Dm
V{N}MLA{cond}.F32 Sd, Sn, Sm
V{N}MLA{cond}.F64 Dd, Dn, Dm
V{N}MLS{cond}.F32 Sd, Sn, Sm
V{N}MLS{cond}.F64 Dd, Dn, Dm

其中:

N

对最终结果执行求反。

cond

是一个可选的条件代码(请参阅条件代码)。

Sd, Sn, Sm

是用于存放结果和操作数的单精度寄存器。

Dd, Dn, Dm

是用于存放结果和操作数的双精度寄存器。

用法

MUL 运算将操作数寄存器中的值相乘,并将结果存放到目标寄存器中。

MLA 运算将操作数寄存器中的值相乘,将所得的值加到目标寄存器中,并将最终结果放入目标寄存器中。

MLS 运算将操作数寄存器中的值相乘,用目标寄存器中的值中减去相乘结果,并将最终结果存放到目标寄存器中。

在上述每一运算中,如果使用了 N 选项,则对最终结果执行求反运算。

浮点异常

这些指令会产生无效运算、溢出、下溢、不精确或非标准输入异常。

Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0204IC
Non-Confidential