Can FLI.D load any floating-point constant?
No. It can select only the 32 table entries defined by Zfa.
Load one double-precision floating-point constant from the 32-entry Zfa constant table.
FLI.D uses the OP-FP R-type field layout: rs1 encodes an index into the 32-entry Zfa floating-point constant table, funct5=11110, fmt=D, rs2=1, and funct3=000; it writes the selected double-precision constant to f[rd]. It is not an arbitrary immediate encoding; entry 1 is the double-precision minimum positive normal number, entry 30 is +inf, and entry 31 is canonical NaN. Loading the constant sets no floating-point exception flags.
Shows the Zfa FLI OP-FP fixed fields, rs1 constant-table index, and FP-register writeback; it has neither an arbitrary FP immediate nor rounding.
FLI uses the OP-FP field layout; it does not place an arbitrary FP literal in a normal I-type immediate field.
This animation shows only Zfa FLI ISA-visible field selection, official constant-table selection, and register result; it does not model assembler implementation, FPU pipelines, exception handling, or microarchitectural timing.
FLI.D selects one double-precision constant from the official 32-entry table through the instruction rs1 field and writes it to rd; it cannot express an arbitrary binary floating literal.
Understand this scenario with real code like «fli.d f0, 1.0 # f0 = 1.0 (uses rs1=16)».
No. It can select only the 32 table entries defined by Zfa.
The assembler maps an accepted constant name or value to a 0-31 table index in the rs1 field.