FMVH.X.D 是 FCVT 吗?
不是。它只复制位模式,不按数值解释并转换。
在 RV32 上把双精度浮点寄存器的高 32 位复制到整数寄存器。
FMVH.X.D 是 Zfa 为 RV32+D 提供的位移动指令,将 f[rs1] 的 bit 63:32 复制到 x[rd]。它与 FMV.X.W 配合可把一个双精度编码拆到两个整数寄存器中;这是位复制,不是数值转换。
FMVH.X.D 用来补齐 RV32 上双精度 64 位编码和 32 位整数寄存器之间的位搬移路径。页面重点是位顺序和“不是数值转换”。
结合 «fmvh.x.d x10, f11 ; x10 = f11[63:32] (RV32 only)» 等实际代码理解该场景。
结合 «fmvh.x.d x10, f11 ; x10 = f11[63:32] (RV32 only)» 等实际代码理解该场景。
不是。它只复制位模式,不按数值解释并转换。
因为 RV32 整数寄存器只有 32 位,需要成对搬移 64 位双精度编码。