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.
Shows the Zfa + D (RV32 only)-extension FMVP.D.X bit-pattern move: decode OP-FP fields, read the source bit pattern, then write the destination without numeric conversion.
Assumes RV32, D and Zfa with enabled FP state. An x0 word must be zero; equal integer sources require equal words. Wider FLEN destinations get upper ones.
The word is split as an R-type OP-FP instruction; FMV bit moves use opcode 1010011.
FMVP.D.X is defined only for RV32+D+Zfa: x[rs1] supplies bits 31:0 and x[rs2] supplies bits 63:32, assembled unchanged into f[rd] as a double-precision bit pattern.
This animation shows only Zfa + D (RV32 only)-extension FMV ISA-visible encoding and bit-pattern movement; it does not model FPU pipelines, numeric FP interpretation, exception handling, or microarchitecture.
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.
Assume RV32 Zfa+D, enabled FP state, x11=0x89ABCDEF and x12=0x01234567: the example writes f10[63:0]=0x0123456789ABCDEF with unchanged fflags. For FLEN=128 the upper 64 bits are all ones; no numeric FP interpretation is performed.
Assume RV32 Zfa+D, enabled FP state, x11=0x89ABCDEF and x12=0x01234567: the example writes f10[63:0]=0x0123456789ABCDEF with unchanged fflags. For FLEN=128 the upper 64 bits are all ones; no numeric FP interpretation is performed.
No. It only copies the bit pattern and does not interpret and convert the numeric value.
It is defined only for RV32 Zfa+D, combining two independently selected 32-bit integer sources into a 64-bit double-precision bit pattern; it is not an RV64 instruction.