ARM中的VMINNM指令

时间:2018-06-22 10:32:52

标签: arm armv8

我想知道vminnm的工作方式。由于伪代码不清楚,因此我无法理解该指令的确切功能。

vminnm.f32  d3, d5, d13

其中

d5  = 0xffd5432100000000
d13 = 0x7ff0056000000000

结果:

d3  = 0x7fc0000000000000

我们如何得到这个结果?

1 个答案:

答案 0 :(得分:1)

这是《 ARM参考手册》中对该指令的定义。 (NaN不是数字,表示该值不是有效的浮点数。)

  

VMINNM

     

此指令确定浮点最小值。   它处理符合IEEE754-2008规范的NaN。它返回数字操作数,当一个   操作数是数字,另一个是安静的NaN,但是结果与浮点VMIN相同。   该指令不是有条件的。

vminnm.f32  d3, d5, d13

在您的示例中,将比较 d5 d13 中的值,并将比较结果存储在 d3 中。考虑到要处理向量,每个向量中都有两个元素,每个元素都是32位浮点。

0xffd5432100000000 是有效的64位双精度数,但不是两个32位浮点,即 0xffd54321 不是数字并且 0x00000000 为0,因此当您比较这些值时,需要知道要比较的值的宽度。 (您可以检查浮点数here的值。)