Is FCVT.LU.D available on RV32?
No. The official F/D conversion rules define the L/LU 64-bit integer forms as RV64-only.
RV64 double precision-to-unsigned 64-bit integer conversion, rounded by rm/frm and written to integer rd.
FCVT.LU.D is an RV64-only floating-point-to-integer conversion. It rounds the double precision value in f[rs1] according to rm to an unsigned 64-bit integer and writes x[rd]; NX is set only when the rounded result differs from the source and NV is not set. On invalid conversion, negative out-of-range input or -infinity yields 0, while positive out-of-range input, +infinity, or NaN yields 2^64-1, and NV is set.
Shows the D-extension FCVT flow: decode OP-FP fields, fmt/rs2 conversion selection, the rm rounding field, read the floating-point source, then write the integer 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 example rounds to a 64-bit integer according to rm and shows NX because the source has a fractional part.
The current example rounds to a 64-bit integer according to rm and shows NX because the source has a fractional part.
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.
RV64 double precision-to-unsigned 64-bit integer conversion, rounded by rm/frm and written to integer rd.
Understand this scenario with real code like «fcvt.lu.d x10, f0, rtz # f0 = 42.75 -> x10 = 42; NX (RV64)».
No. The official F/D conversion rules define the L/LU 64-bit integer forms as RV64-only.
This is an FP-to-integer conversion: rd is an integer register and rs1 is an FP register.
The rs2 field selects the LU unsigned 64-bit integer format; it is not a second source operand in assembly syntax.