diff options
author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2008-01-17 15:21:13 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-01-17 15:38:59 -0800 |
commit | 6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e (patch) | |
tree | cf54841ec279d46c7535f096ded597808f690589 /arch/alpha | |
parent | f63dcda197bd71c6565c2121bf70e3d371539f90 (diff) | |
download | op-kernel-dev-6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e.zip op-kernel-dev-6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e.tar.gz |
alpha: fix conversion from denormal float to double
The trap handler does properly update the fraction,
but not the exponent...
Thanks to Paolo Bonzini for the bug report and the testcase.
Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Paolo Bonzini <bonzini@gnu.org>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | 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; } |