Does FSQRT.H raise integer exceptions?
No. RISC-V floating-point exceptions are accrued in fflags; software reads floating-point status state to observe them.
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.
FSQRT.H is a Zfh-related half-precision floating-point square root instruction. It produces a floating-register result, uses rm when rounding is required, and records floating-point exception flags such as NV, DZ, OF, UF, and NX in fflags.
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)».
No. RISC-V floating-point exceptions are accrued in fflags; software reads floating-point status state to observe them.
rm selects the rounding mode; the dynamic rounding mode comes from frm. For exact results it does not change the value, but the field is still part of the instruction encoding.