Is FCVT.L.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-signed 64-bit integer conversion, rounded by rm/frm and written to integer rd.
Syntax: fcvt.l.d rd, rs1[, rm]; integer rd, FP rs1; omitted rm defaults to dyn using frm.
32-bit OP-FP: funct7=1100001, rs2=00010, 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. Round to int64 using rm. Negative overflow/-infinity gives -2^63; positive overflow/+infinity/NaN gives 2^63−1 and sets NV. NX requires a changed result with NV clear.
With FLEN>64, invalid source NaN-boxing becomes canonical NaN. rd=x0 discards the result but retains flag effects. 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.L.D is RV64-only. It rounds f[rs1] according to rm to signed 64-bit x[rd]. An unrepresentable rounded result sets NV: negative out-of-range or -infinity gives -2^63; positive out-of-range, +infinity, or NaN gives 2^63-1. NX is set only when the result differs and NV is clear.
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.
fcvt.l.d is an RV64-only FCVT.L.D form: it reads a double precision FP register, rounds according to rm/frm to a signed 64-bit integer, and writes integer rd.
fcvt.l.d x10, f0, rtz # RV64; f0=1.5 -> x10=1, NX (initial fflags=0). 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 FP-to-integer conversion: rd is an integer register and rs1 is an FP register.
The rs2 field selects the L signed 64-bit integer format; it is not a second source operand in assembly syntax.