Why does FSQRT.H have no rs2 operand?
FSQRT is a unary FP operation. The machine encoding still has an rs2 field, but it is fixed to 00000; the page animation shows it as an encoded field rather than a syntax input.
Half-precision floating-point square root: rd = sqrt(rs1).
FSQRT.H computes the half-precision floating-point square root, rounds according to rm or the dynamic rounding mode, and writes rd. A negative nonzero finite operand or -infinity produces canonical NaN and sets NV; sqrt(-0) remains -0.
Shows the Zfh-extension half-precision OP-FP flow: decode fields, read FP operands, perform FSQRT semantics, then write rd.
The word is split as an R-type OP-FP instruction; half-precision OP-FP instructions use opcode 1010011.
The default example sqrt(9.0)=3.0 is exactly representable, so example fflags remains 0.
The default example sqrt(9.0)=3.0 is exactly representable, so example fflags remains 0.
This animation shows only Zfh-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.
FSQRT.H is Zfh half-precision floating-point square root. It uses OP-FP encoding with funct5=01011, fmt=H(10), and rs2 fixed to 00000; it reads only the rs1 half-precision value, rounds according to rm or dynamic frm, and writes rd.
Understand this scenario with real code like «fsqrt.h f10, f11, rne ; f10 = sqrt(f11)».
Understand this scenario with real code like «fsqrt.h f10, f11, rne ; f10 = sqrt(f11)».
FSQRT is a unary FP operation. The machine encoding still has an rs2 field, but it is fixed to 00000; the page animation shows it as an encoded field rather than a syntax input.
Negative nonzero finite numbers and -infinity raise the invalid-operation flag and produce a NaN result; -0 is a special zero value and sqrt(-0) remains -0.