Is FMVP.D.X an FCVT conversion?
No. It only copies the bit pattern and does not interpret and convert the numeric value.
On RV32, combine two integer registers into one double-precision floating-point bit pattern.
FMVP.D.X is a Zfa bit-move instruction for RV32+D that writes x[rs1] as the low 32 bits and x[rs2] as the high 32 bits of f[rd]. It is a bit copy, not an integer-to-floating numeric conversion, and it sets no floating-point exception flags.
FMVP.D.X 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 «fmvp.d.x f10, x11, x12 ; f10 = {x12, x11} (RV32 double)».
Understand this scenario with real code like «fmvp.d.x f10, x11, x12 ; f10 = {x12, x11} (RV32 double)».
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.