aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/vfp/vfpsingle.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-08-27 07:42:14 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-08-27 07:42:14 -0400
commitb53a2b41f156a9c9b62c14502037cbc15bc08b54 (patch)
tree7813d3dfbbb9fe97a8a093c837d7ee5a6746c4ae /arch/arm/vfp/vfpsingle.c
parentc29ecac18cb740ae845db14963ac586c53962453 (diff)
[ARM] 3758/1: Preserve signalling NaNs in conversion
Patch from Daniel Jacobowitz The fcvtds and fcvtsd instructions were generating a qnan bit pattern for both quiet and signalling NaNs. Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/vfp/vfpsingle.c')
-rw-r--r--arch/arm/vfp/vfpsingle.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/vfp/vfpsingle.c b/arch/arm/vfp/vfpsingle.c
index 5bbd5d1c8a5f..78d7cac5f36b 100644
--- a/arch/arm/vfp/vfpsingle.c
+++ b/arch/arm/vfp/vfpsingle.c
@@ -506,7 +506,7 @@ static u32 vfp_single_fcvtd(int dd, int unused, s32 m, u32 fpscr)
506 */ 506 */
507 if (tm & (VFP_INFINITY|VFP_NAN)) { 507 if (tm & (VFP_INFINITY|VFP_NAN)) {
508 vdd.exponent = 2047; 508 vdd.exponent = 2047;
509 if (tm & VFP_NAN) 509 if (tm == VFP_QNAN)
510 vdd.significand |= VFP_DOUBLE_SIGNIFICAND_QNAN; 510 vdd.significand |= VFP_DOUBLE_SIGNIFICAND_QNAN;
511 goto pack_nan; 511 goto pack_nan;
512 } else if (tm & VFP_ZERO) 512 } else if (tm & VFP_ZERO)