FMSUB.S 和 FMUL 后接加减有什么不同?
融合指令只进行一次最终舍入;分开的两条指令会先舍入乘积,再舍入加减结果。
单精度浮点融合乘减:rd = (rs1 * rs2) - rs3,只舍入一次。
FMSUB.S 使用 R4 型四寄存器格式执行单精度浮点融合乘减。乘法和加/减法作为一个融合操作完成,中间精确结果只在最终按 rm 舍入一次后写入 rd。
FMSUB.S 的重点是 fused:乘积和加/减项不先写回中间结果,而是在最终一步按 rm 舍入一次。
结合 «fmsub.s f0, f1, f2, f3 # f0 = f1*f2-f3» 等实际代码理解该场景。
结合 «fmsub.s f0, f1, f2, f3 # f0 = f1*f2-f3» 等实际代码理解该场景。
融合指令只进行一次最终舍入;分开的两条指令会先舍入乘积,再舍入加减结果。
它需要 rd、rs1、rs2 和 rs3 四个寄存器字段来表示乘法两个源和加/减项。