NEON本体描述中的 "最大 "和 "最大数量 "有什么区别?如:(从 https:/developer.arm.comarchitecturesinstruction-setssimd-isasneonintrinsics。)
float32x4_t vmaxq_f32 (float32x4_t a, float32x4_t b)
浮点最大值(向量)。该指令比较两个源SIMD&FP寄存器中的相应向量元素,将两个浮点值中的较大值分别放入向量中,并将向量写入目标SIMD&FP寄存器。
和
float32x4_t vmaxnmq_f32 (float32x4_t a, float32x4_t b)
浮点最大数(向量)。该指令比较两个源SIMD&FP寄存器中的相应向量元素,将两个浮点值中较大的一个写入向量,并将向量写入目的SIMD&FP寄存器。
难道只是对NaNs的处理方式不同?
只是对NaNs的处理方式不同吗?
是的。
Armv8参考手册中的FMAXNM说。
NaNs是根据IEEE 754-2008标准处理的。如果一个向量元素是数值,另一个是安静的NaN,那么放在向量中的结果就是数值,否则结果与FMAX相同。