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