The trap handler does properly update the fraction,
but not the exponent...
Thanks to Paolo Bonzini <[email protected]> for the bug report
and the testcase.
Signed-off-by: Ivan Kokshaysky <[email protected]>
---
arch/alpha/math-emu/math.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/alpha/math-emu/math.c b/arch/alpha/math-emu/math.c
index ae79dd9..58c2669 100644
--- a/arch/alpha/math-emu/math.c
+++ b/arch/alpha/math-emu/math.c
@@ -225,7 +225,7 @@ alpha_fp_emul (unsigned long pc)
FP_UNPACK_SP(SB, &vb);
DR_c = DB_c;
DR_s = DB_s;
- DR_e = DB_e;
+ DR_e = DB_e + (1024 - 128);
DR_f = SB_f << (52 - 23);
goto pack_d;
}