diff options
author | Takashi Ohmasa <ohmasa.takashi@com.rmk.(none)> | 2006-10-23 03:30:35 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-10-28 05:15:31 -0400 |
commit | e816d71a50a714b532e3965364f3f53c23a53d42 (patch) | |
tree | 3f65a1733e6c21e03b4c29d3f74501c9fd60719b /arch | |
parent | 75e31aaaf43b53517fd2b36cedc08bd4e4af14d5 (diff) |
[ARM] 3899/1: Fix the normalization of the denormal double precision number.
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/vfp/vfpdouble.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index 4fc05ee0a2ef..e44b9ed0f81f 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c | |||
@@ -56,7 +56,7 @@ static void vfp_double_normalise_denormal(struct vfp_double *vd) | |||
56 | { | 56 | { |
57 | int bits = 31 - fls(vd->significand >> 32); | 57 | int bits = 31 - fls(vd->significand >> 32); |
58 | if (bits == 31) | 58 | if (bits == 31) |
59 | bits = 62 - fls(vd->significand); | 59 | bits = 63 - fls(vd->significand); |
60 | 60 | ||
61 | vfp_double_dump("normalise_denormal: in", vd); | 61 | vfp_double_dump("normalise_denormal: in", vd); |
62 | 62 | ||