5.16.1. VABS、VNEG 和 VSQRT

浮点绝对值、求反和平方根。

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

语法

Vop{cond}.F32 Sd, Sm
Vop{cond}.F64 Dd, Dm

其中:

op

ABSNEGSQRT 之一。

cond

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

Sd, Sm

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

Dd, Dm

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

用法

VABS 指令获取 SmDm 的内容,清除符号位并将结果存放到 SdDd 中。 这样就得到绝对值。

VNEG 指令获取 SmDm 的内容,更改符号位,并将结果存放到 SdDd 中。 这样就得到与原有值符号相反的值。

VSQRT 指令获取 SmDm 的内容的平方根,并将结果存放到 SdDd 中。

对于 VABSVNEG 指令,如果操作数为非数字,则符号位的确定视根据上述各个情况而定,但不会产生异常。

浮点异常

VABSVNEG 指令不会产生任何异常。

VSQRT 指令会产生无效运算或不精确异常。

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