如果出现溢出,ARM Neon浮点到整数转换指令vcvt.s32.f32
和vcvt.u32.f32
的行为如何?你能依靠我在特定处理器上观察到的行为,即结果是否饱和?任何官方文档的链接都受到高度赞赏。
答案 0 :(得分:3)
ARM Architecture Reference Manual是此类问题的所有答案的来源。在A8.8.305节中,它说:
浮点到整数运算使用Round to Zero舍入模式。
在词汇表中,它澄清了:
Round to Zero(RZ)模式 意味着结果四舍五入到最接近的可表示数字,其数量不大于未结果的结果。
(这与IEEE 754中“Round to Zero”的含义相同。)
血腥细节包含在FPToFixed
和FPUnpack
的伪代码中。
因此,简而言之:是的,结果保证会饱和。