When does rm matter for fcvt.q.l?
It does not matter for the numeric result. The source integer is exactly representable in the destination floating-point format, so rm does not cause rounding.
Convert signed 64-bit int to quad FP [RV64]. R-type, fmt=Q(11), rs2=source L(10).
fcvt.q.l converts a signed 64-bit integer source to a quad-precision floating-point result. This conversion is exact, so the encoded rounding mode does not change the numeric result.
fcvt.q.l converts a signed 64-bit integer source to a quad-precision floating-point result. This conversion is exact, so the encoded rounding mode does not change the numeric result.
Understand this scenario with real code like «fcvt.q.l f0, x10 # f0 = (quad)(long)x10 (RV64)».
Understand this scenario with real code like «fcvt.q.l f0, x10 # f0 = (quad)(long)x10 (RV64)».
It does not matter for the numeric result. The source integer is exactly representable in the destination floating-point format, so rm does not cause rounding.
It differs by source/destination format, integer signedness, RV64 restrictions, and whether rounding or invalid conversion can occur.