arm - NEON 内在函数中的“最大”与“最大数量”
问题描述
NEON内在函数描述中的“最大值”和“最大数量”有什么区别?例如(来自https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics)
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 寄存器。
只是对 NaN 的不同处理吗?
解决方案
只是对 NaN 的不同处理吗?
是的。
Armv8 参考手册中的 FMAXNM 说。
根据 IEEE 754-2008 标准处理 NaN。如果一个向量元素是数字,另一个是安静的 NaN,则放在向量中的结果是数值,否则结果与 FMAX 相同。
推荐阅读
- c - Valgrind 报告无效的读取(和写入)但程序继续执行
- microservices - 微服务学习或培训
- python - 无法在 pycharm 调试器中初始化应用引擎 SDK
- .net - 在 IIS 上对 oauth 的身份验证失败
- python - Keras LSTM 自动编码器:简单的顺序输入到顺序输出
- node.js - done 不是 passport.js 中的函数
- javascript - 如何将日期返回为 dd-FullMonth-yyyy
- sed - 如何使用新行进行 BSD sed 替换
- docker - 设置多个可以在没有 docker-compose 的情况下相互交互的服务
- mysql - 如何从mysql中选择json数组?