What does rm do for FSUB.Q?
rm selects the floating-point rounding mode; rm=111 uses dynamic frm. If the result is exactly representable, rounding does not change the example value, but the encoded field still matters.
Quad-precision floating-point subtraction, OP-FP fmt=Q(11).
FSUB.Q performs quad-precision floating-point subtraction on two FP source operands, rounds according to the rm field or dynamic frm, writes the result to FP register rd, and records fflags according to RISC-V floating-point rules.
Shows the Q-extension quad-precision OP-FP flow: decode fields, read FP operands, perform FSUB semantics, then write rd.
The word is split as an R-type OP-FP instruction; quad-precision OP-FP instructions use opcode 1010011.
This animation accepts only finite whitelisted examples whose inputs and result are exactly checkable; this example needs no rounding and sets no FP exception flags. NaN, infinity, overflow, underflow, and inexact paths are covered in static text.
This animation accepts only finite whitelisted examples whose inputs and result are exactly checkable; this example needs no rounding and sets no FP exception flags. NaN, infinity, overflow, underflow, and inexact paths are covered in static text.
This animation shows only 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.
FSUB.Q is a Q-extension quad-precision OP-FP arithmetic instruction. It decodes funct5=00001 with fmt=Q(11), reads f[rs1] and f[rs2], performs subtraction, rounds by rm/frm, and writes f[rd].
Understand this scenario with real code like «fsub.q f0, f1, f2, rne # f0 = f1-f2».
rm selects the floating-point rounding mode; rm=111 uses dynamic frm. If the result is exactly representable, rounding does not change the example value, but the encoded field still matters.
FSUB.Q writes FP register f[rd]. RISC-V floating-point exceptions are accrued in fflags, not reported through integer condition codes.