fcvt.s.d 的 rm 什么时候重要?
当目标格式不能精确表示源值时,rm 或动态 frm 决定舍入方向。
将双精度转为单精度:f[rd] = (float)(double)f[rs1]。
fcvt.s.d 将双精度浮点源操作数转换为较窄的单精度浮点结果。目标格式不能精确表示时,结果按 rm 舍入。
fcvt.s.d 将双精度浮点源操作数转换为较窄的单精度浮点结果。目标格式不能精确表示时,结果按 rm 舍入。
结合 «fcvt.s.d f0, f1, rne # f0 = (float)(double)f1» 等实际代码理解该场景。
当目标格式不能精确表示源值时,rm 或动态 frm 决定舍入方向。
区别在源/目标格式、整数有符号性、RV64 限制以及是否可能舍入或触发无效转换。