diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2026-06-08 12:01:54 -0700 |
|---|---|---|
| committer | Michael Tokarev <mjt@tls.msk.ru> | 2026-06-11 23:28:19 +0300 |
| commit | 60a842b7b096f88d07a25b2aa5ff9aaafa118aeb (patch) | |
| tree | 8eca3ac26a35854e3c31954bdbe261072079bfb8 | |
| parent | 20610cb4e279ba4d3ebab5a9b92d282cc6a81c8b (diff) | |
| download | qemu-60a842b7b096f88d07a25b2aa5ff9aaafa118aeb.tar.gz qemu-60a842b7b096f88d07a25b2aa5ff9aaafa118aeb.zip | |
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>
(cherry picked from commit a6a1f92d5a2368882e9b6851b6ab8b9a56d71a8c)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
| -rw-r--r-- | fpu/softfloat-parts.c.inc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc index 5e0438fc0b..6bbea3d138 100644 --- a/fpu/softfloat-parts.c.inc +++ b/fpu/softfloat-parts.c.inc @@ -375,6 +375,7 @@ static void partsN(uncanon_normal)(FloatPartsN *p, float_status *s, /* Need to recompute round-to-even/round-to-odd. */ switch (s->float_rounding_mode) { 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 |
