FMVP.D.X 是 FCVT 吗?
不是。它只复制位模式,不按数值解释并转换。
在 RV32 上把两个整数寄存器拼成一个双精度浮点寄存器位模式。
FMVP.D.X 是 Zfa 为 RV32+D 提供的位移动指令,把 x[rs1] 作为低 32 位、x[rs2] 作为高 32 位组合后写入 f[rd]。这是位复制,不执行整数到浮点数值转换,也不设置浮点异常标志。
FMVP.D.X 用来补齐 RV32 上双精度 64 位编码和 32 位整数寄存器之间的位搬移路径。页面重点是位顺序和“不是数值转换”。
结合 «fmvp.d.x f10, x11, x12 ; f10 = {x12, x11} (RV32 double)» 等实际代码理解该场景。
结合 «fmvp.d.x f10, x11, x12 ; f10 = {x12, x11} (RV32 double)» 等实际代码理解该场景。
不是。它只复制位模式,不按数值解释并转换。
因为 RV32 整数寄存器只有 32 位,需要成对搬移 64 位双精度编码。