@samitouri / QOSamiQemu / commits / a6a1f92d5a

fpu: Handle all rounding modes in partsN_uncanon_normal

Missed float_round_nearest_even_max when recomputing round. CC: qemu-stable@nongnu.org Fixes: 72330260cdb ("softfloat: Add float_round_nearest_even_max") Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Message-id: 20260608190155.637067-2-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Richard Henderson committed Jun 8, 2026 at 12:01 UTC a6a1f92d5a2368882e9b6851b6ab8b9a56d71a8c
1 file changed +1
fpu/softfloat-parts.c.inc
+1
@@ -437,6 +437,7 @@ static void partsN(uncanon_normal)(FloatPartsN *p, float_status *s,
437 /* Need to recompute round-to-even/round-to-odd. */
438 switch (get_float_rounding_mode(s)) {
439 case float_round_nearest_even:
440 + case float_round_nearest_even_max:
441 if (N > 64 && frac_lsb == 0) {
442 inc = ((p->frac_hi & 1) ||
443 (p->frac_lo & round_mask) != frac_lsbm1