When does rm matter for fcvt.w.h?
When conversion requires rounding, rm or dynamic frm selects the rounding direction; out-of-range or NaN inputs follow the official invalid-conversion rule.
Convert half-precision float to signed 32-bit integer
fcvt.w.h converts a half-precision source operand to a signed 32-bit integer result. Floating-point-to-integer conversion rounds according to rm and writes integer register rd.
fcvt.w.h converts a half-precision source operand to a signed 32-bit integer result. Floating-point-to-integer conversion rounds according to rm and writes integer register rd.
Understand this scenario with real code like «fcvt.w.h x10, f11, rtz ; x10 = (int32_t)f11».
When conversion requires rounding, rm or dynamic frm selects the rounding direction; out-of-range or NaN inputs follow the official invalid-conversion rule.
It differs by source/destination format, integer signedness, RV64 restrictions, and whether rounding or invalid conversion can occur.