When does rm matter for fcvt.q.lu?
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 unsigned 64-bit int to quad FP [RV64]. R-type, fmt=Q(11), rs2=source LU(11).
fcvt.q.lu converts an unsigned 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.lu converts an unsigned 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.lu f0, x10 # f0 = (quad)(ulong)x10 (RV64)».
Understand this scenario with real code like «fcvt.q.lu f0, x10 # f0 = (quad)(ulong)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.