Is rd a floating-point register for FLT.S?
No. rd is an integer register holding the Boolean result 0 or 1.
Single-precision floating-point less-than comparison; writes x[rd]=1 when true, otherwise 0.
FLT.S compares the single-precision floating-point values in f[rs1] and f[rs2] and writes the Boolean result to integer register rd. It is a signaling comparison: any NaN, including a quiet NaN, sets NV and makes the result 0. The result is not a floating-point value and is not rounded by rm.
FLT.S writes the floating-point comparison result to integer register x[rd]. It has signaling-comparison semantics, so even a quiet NaN raises NV.
Understand this scenario with real code like «flt.s x10, f0, f1 # x10 = 1 if f0<f1 (signal NaN->NV,0)».
Understand this scenario with real code like «flt.s x10, f0, f1 # x10 = 1 if f0<f1 (signal NaN->NV,0)».
No. rd is an integer register holding the Boolean result 0 or 1.
Any NaN operand makes the result 0 and sets NV.