Is rd a floating-point register for FLEQ.Q?
No. rd is an integer register holding the Boolean result 0 or 1.
Quad-precision floating-point quiet less-or-equal comparison; writes x[rd]=1 when true, otherwise 0.
FLEQ.Q compares the quad-precision floating-point values in f[rs1] and f[rs2] and writes the Boolean result to integer register rd. It is a quiet comparison: quiet NaNs do not set NV, signaling NaNs set NV, and any NaN operand makes the result 0. It requires Zfa and Q; Q depends on D and extends FLEN to 128. Its OP-FP encoding has funct5=10100, fmt=11, and funct3=100 in bits [14:12] (bit 14 set) to select FLEQ, not an rm rounding mode.
Shows the Zfa + Q-extension quad-precision OP-FP flow: decode fields, read FP operands, perform FLEQ semantics, then write rd.
The word is split as an R-type OP-FP instruction; quad-precision OP-FP instructions use opcode 1010011.
The comparison result is written to integer register x[rd] and is only 0 or 1; compare instructions do not use rm.
The comparison result is written to integer register x[rd] and is only 0 or 1; compare instructions do not use rm.
Assumes required extensions and FS enabled, valid NaN-boxing, and initial fflags=0. Finite inputs use the exact whitelist; signed zeros, infinities, qNaN, and sNaN are supported. Other inputs stop execution. One source register must have one initial value; rd=x0 discards only the integer write while NV still accrues. Steps are teaching views.
This animation shows only Zfa + Q-extension ISA-visible OP-FP encoding, example numeric results, and fflags relationship; it does not model FPU pipelines, latency, every IEEE 754 corner case, or microarchitecture.
FLEQ.Q writes the floating-point comparison result to integer register x[rd]. It has quiet-comparison semantics, useful when quiet NaNs should not raise NV.
Understand this scenario with real code like «fleq.q x10, f0, f1 # f0=1.5, f1=2.25 -> x10=1; initial fflags=0, final fflags=0».
Understand this scenario with real code like «fleq.q x10, f0, f1 # f0=1.5, f1=2.25 -> x10=1; initial fflags=0, final fflags=0».
No. rd is an integer register holding the Boolean result 0 or 1.
Any NaN operand makes the result 0; only signaling NaNs set NV.