Is FCVT.D.LU available on RV32?
No. The official F/D conversion rules define the L/LU 64-bit integer forms as RV64-only.
RV64 unsigned 64-bit integer-to-double precision conversion, rounded by rm/frm and written to FP rd.
Syntax: fcvt.d.lu rd, rs1[, rm]; FP rd, integer rs1; omitted rm defaults to dyn using frm.
32-bit OP-FP: funct7=1101001, rs2=00011, funct3=rm, opcode=1010011. rs2 is a fixed selector, not a second source operand.
RV64-only D 2.2 (requires F); enable required extensions and FP state. Convert a 64-bit integer numerically to D using rm; inexact conversion sets NX. This is not a bit copy.
x0 sources are zero; f0 accepts writes. D results set upper bits to ones if FLEN>64. Static rm=101/110 and dynamic frm=101–111 have reserved behavior; the animation fixes DYN frm=RNE. Initial fflags=0 is an animation assumption; instructions do not clear accrued flags.
FCVT.D.LU is an RV64-only integer-to-floating-point conversion. It converts the unsigned 64-bit integer in x[rs1] according to rm to double precision and writes f[rd]; NX is set when the target FP format cannot represent the value exactly.
Shows the D-extension FCVT flow: decode OP-FP fields, fmt/rs2 conversion selection, the rm rounding field, read the integer 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.
The current 64-bit integer example is exactly representable as D format, so example fflags remains 0.
The current 64-bit integer example is exactly representable as D format, so example fflags remains 0.
This animation shows only 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.lu is an RV64-only FCVT.D.LU form: it reads an unsigned 64-bit integer from integer rs1, converts according to rm/frm to double precision, and writes FP rd.
fcvt.d.lu f0, x10, rne # RV64; x10=9007199254740993 -> f0=9007199254740992, NX. Enable the listed extensions and FP state and initialize the stated source; the result follows the classification or rounding rules on this page.
No. The official F/D conversion rules define the L/LU 64-bit integer forms as RV64-only.
This is an integer-to-FP conversion: rd is an FP register and rs1 is an integer register.
The rs2 field selects the LU unsigned 64-bit integer format; it is not a second source operand in assembly syntax.