我想知道vminnm
的工作方式。由于伪代码不清楚,因此我无法理解该指令的确切功能。
vminnm.f32 d3, d5, d13
其中
d5 = 0xffd5432100000000
d13 = 0x7ff0056000000000
结果:
d3 = 0x7fc0000000000000
我们如何得到这个结果?
答案 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的值。)