当FPCR.AH≠'1'时,采用舍入前微小性判定的技术依据是什么?
关于Arm浮点舍入下溢判定逻辑的疑问
背景逻辑
当FPCR.AH != '1'时,FPRoundBase [1]采用「舍入前微小性」逻辑,代码实现如下:
// 当下溢条件满足时触发:舍入前指数过小,且结果不精确,或者下溢异常被捕获。当FPCR.AH != '1'时,该逻辑在舍入前生效。 boolean trapped_UF = fpcr.UFE == '1' && (!InStreamingMode() || IsFullA64Enabled()); if !altfp && biased_exp == 0 && (error != 0.0 || trapped_UF) then if fpexc then FPProcessException(FPExc_Underflow, fpcr);
IEEE 754-2008相关建议
IEEE 754-2008修订版的附录U提出以下建议:
只有舍入后微小性以及作为精度损失的不精确性才应触发下溢信号。
疑问
请问当FPCR.AH != '1'时,采用「舍入前微小性」而非「舍入后微小性」判定的技术依据是什么?
参考文献
[1] Arm架构参考手册A-profile架构(J.a版),shared/functions/float/fpround/FPRoundBase,第J1-12437页
内容的提问来源于stack exchange,提问作者pmor
相关产品推荐
相关产品推荐

