How is FMV.H.X different from FCVT?
FMV copies the bit pattern; FCVT performs numeric conversion, can round, and can set exception flags.
Bit-copy low integer-register bits into a half-precision floating-point register.
Provided by Zfh or Zfhmin (each depends on F), FMV.H.X bit-copies the low 16 bits of x[rs1] into f[rd] and NaN-boxes the half-precision result in the floating-point register. This is a bit move, not a numeric conversion.
Shows the Zfh/Zfhmin-extension FMV.H.X bit-pattern move: decode OP-FP fields, read the source bit pattern, then write the destination without numeric conversion.
The word is split as an R-type OP-FP instruction; FMV bit moves use opcode 1010011.
FMV.H.X takes only the low 16 integer-source bits and NaN-boxes the half-precision result in the FP register.
This animation shows only Zfh/Zfhmin-extension FMV ISA-visible encoding and bit-pattern movement; it does not model FPU pipelines, numeric FP interpretation, exception handling, or microarchitecture.
FMV.H.X's core idea is bit-pattern movement. Use FCVT for numeric conversion and rounding; use FMV forms when preserving NaN payloads or inspecting raw encodings.
Understand this scenario with real code like «fmv.h.x f0, x10 # f0 receives a NaN-boxed copy of x10[15:0]».
Understand this scenario with real code like «fmv.h.x f0, x10 # f0 receives a NaN-boxed copy of x10[15:0]».
FMV copies the bit pattern; FCVT performs numeric conversion, can round, and can set exception flags.
No. It is neither arithmetic nor numeric conversion.