Does it raise integer exceptions?
No. Floating-point exceptions are recorded in fflags and results follow the floating-point rules.
Compute double-precision square root: rd = sqrt(rs1).
FSQRT.D computes the square root of the double-precision value in f[rs1], writing the result to f[rd]. R-type, fmt=D(01). Negative input (except −0) produces canonical NaN with NV set. sqrt(−0) = −0 per IEEE 754. Rounding mode by rm.
FSQRT.D is a floating-point arithmetic instruction. It uses the rm field for rounding mode and sets fflags exception flags according to IEEE 754/RISC-V floating-point rules.
Understand this scenario with real code like «fsqrt.d f0, f1 # f0 = sqrt(f1) (RNE)».
Understand this scenario with real code like «fsqrt.d f0, f1 # f0 = sqrt(f1) (RNE)».
Understand this scenario with real code like «fsqrt.d f0, f1 # f0 = sqrt(f1) (RNE)».
No. Floating-point exceptions are recorded in fflags and results follow the floating-point rules.
Assemblers may provide a dynamic/default spelling, but the machine instruction contains a rounding-mode field.