aboutsummaryrefslogtreecommitdiffstats
path: root/arch/alpha/math-emu
diff options
context:
space:
mode:
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>2008-01-17 18:21:13 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-01-17 18:38:59 -0500
commit6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e (patch)
treecf54841ec279d46c7535f096ded597808f690589 /arch/alpha/math-emu
parentf63dcda197bd71c6565c2121bf70e3d371539f90 (diff)
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/math-emu')
-rw-r--r--arch/alpha/math-emu/math.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/math-emu/math.c b/arch/alpha/math-emu/math.c
index ae79dd970b02..58c2669a1dd4 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)
225 FP_UNPACK_SP(SB, &vb); 225 FP_UNPACK_SP(SB, &vb);
226 DR_c = DB_c; 226 DR_c = DB_c;
227 DR_s = DB_s; 227 DR_s = DB_s;
228 DR_e = DB_e; 228 DR_e = DB_e + (1024 - 128);
229 DR_f = SB_f << (52 - 23); 229 DR_f = SB_f << (52 - 23);
230 goto pack_d; 230 goto pack_d;
231 } 231 }