mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
fpu: Handle all rounding modes in partsN_uncanon_normal
Missed float_round_nearest_even_max when recomputing round.
CC: qemu-stable@nongnu.org
Fixes: 72330260cd ("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>
This commit is contained in:
committed by
Peter Maydell
parent
43fad6b3b2
commit
a6a1f92d5a
@@ -437,6 +437,7 @@ static void partsN(uncanon_normal)(FloatPartsN *p, float_status *s,
|
||||
/* Need to recompute round-to-even/round-to-odd. */
|
||||
switch (get_float_rounding_mode(s)) {
|
||||
case float_round_nearest_even:
|
||||
case float_round_nearest_even_max:
|
||||
if (N > 64 && frac_lsb == 0) {
|
||||
inc = ((p->frac_hi & 1) ||
|
||||
(p->frac_lo & round_mask) != frac_lsbm1
|
||||
|
||||
Reference in New Issue
Block a user