Is rs2 a source register in fcvt.d.h?
No. rd and rs1 are FP registers; an optional rounding operand controls rm, whereas encoded rs2 selects source H format.
Convert half-precision FP to double-precision FP; finite widening is exact and unaffected by legal rounding modes.
fcvt.d.h reads a half-precision source value from FP register rs1, converts it to a double-precision FP result, and writes FP register rd. In the OP-FP encoding, fmt=D (01) denotes the destination format and rs2=H (10) denotes the source format; finite widening is exact; rm remains encoded, software should select RNE (000), and legal/reserved encoding rules still apply.
Shows the Zfhmin + D-extension FCVT flow: decode OP-FP fields, fmt/rs2 conversion selection, the rm rounding field, read the floating-point source, then write the floating-point destination.
Leave rm empty for the assembly default dyn (111); this DYN example fixes frm=RNE. Use lowercase rne/rtz/rdn/rup/rmm/dyn only.
Assume required extensions and FP state are enabled, applicable source NaN-boxing is valid, and initial fflags=0. Results preview the current input; Writeback represents commit.
The word is split as an R-type OP-FP instruction; FCVT uses opcode 1010011.
H-to-D is a floating-point widening conversion; the current finite example is exact, does not need rm rounding, and leaves example fflags at 0.
H-to-D is a floating-point widening conversion; the current finite example is exact, does not need rm rounding, and leaves example fflags at 0.
This animation shows only Zfhmin + D-extension FCVT ISA-visible encoding, source/destination register direction, rounding field, and example fflags; it does not model FPU pipelines, exception handling, NaN payloads, or microarchitecture.
fcvt.d.h is an FP-to-FP format conversion: rd and rs1 are FP registers, fmt encodes destination D, and rs2 encodes source H. The finite widening is exact and unaffected by legal rounding modes.
Understand this scenario with real code like «fcvt.d.h f0, f1, rne # f0 = (double-precision)(f1 as half-precision)».
Understand this scenario with real code like «fcvt.d.h f0, f1, rne # f0 = (double-precision)(f1 as half-precision)».
No. rd and rs1 are FP registers; an optional rounding operand controls rm, whereas encoded rs2 selects source H format.
Legal rounding modes do not affect the finite numeric result, but rm remains encoded. Software should select RNE (000); reserved-rounding encoding rules still apply.
In this form, both rd and rs1 are FP registers; W/WU/L/LU forms convert between integer and FP registers.