[ARM] 3899/1: Fix the normalization of the denormal double precision number.
authorTakashi Ohmasa <ohmasa.takashi@com.rmk.(none)>
Mon, 23 Oct 2006 07:30:35 +0000 (08:30 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 28 Oct 2006 09:15:31 +0000 (10:15 +0100)
The significand should be shifted until the value of bit [62] is 1
to normalize the denormal double number.

Signed-off-by: Takashi Ohmasa <ohmasa.takashi@jp.panasonic.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/vfp/vfpdouble.c

index 4fc05ee0a2ef3c5b04db9d81993b450892b33660..e44b9ed0f81f7e7cf885e74d222d94ad248e7f8e 100644 (file)
@@ -56,7 +56,7 @@ static void vfp_double_normalise_denormal(struct vfp_double *vd)
 {
        int bits = 31 - fls(vd->significand >> 32);
        if (bits == 31)
-               bits = 62 - fls(vd->significand);
+               bits = 63 - fls(vd->significand);
 
        vfp_double_dump("normalise_denormal: in", vd);