fcvt.d.wu 的 rm 什么时候重要?
对该指令的数值结果不重要。源整数可以被目标浮点格式精确表示,因此不会因 rm 发生舍入。
将无符号int32转双精度:f[rd] = (double)(uint32_t)rs1。永远精确。
fcvt.d.wu 将无符号 32 位整数转换为双精度浮点结果。该转换是精确转换,因此编码的舍入模式不会改变数值结果。
fcvt.d.wu 将无符号 32 位整数转换为双精度浮点结果。该转换是精确转换,因此编码的舍入模式不会改变数值结果。
结合 «fcvt.d.wu f0, x10 # f0 = (double)(unsigned)x10» 等实际代码理解该场景。
对该指令的数值结果不重要。源整数可以被目标浮点格式精确表示,因此不会因 rm 发生舍入。
区别在源/目标格式、整数有符号性、RV64 限制以及是否可能舍入或触发无效转换。