Is FMVH.X.D an FCVT conversion?
No. It only copies the bit pattern and does not interpret and convert the numeric value.
On RV32, copy the high 32 bits of a double floating-point register to an integer register.
FMVH.X.D is a Zfa bit-move instruction for RV32+D that copies bits 63:32 of f[rs1] into x[rd]. Together with FMV.X.W it can split a double-precision encoding into two integer registers; this is a bit copy, not a numeric conversion.
FMVH.X.D fills the RV32 path for moving a 64-bit double encoding through 32-bit integer registers. The key points are bit order and that it is not numeric conversion.
Understand this scenario with real code like «fmvh.x.d x10, f11 ; x10 = f11[63:32] (RV32 only)».
Understand this scenario with real code like «fmvh.x.d x10, f11 ; x10 = f11[63:32] (RV32 only)».
No. It only copies the bit pattern and does not interpret and convert the numeric value.
Because RV32 integer registers are only 32 bits wide, so a 64-bit double encoding must be moved in a pair.