summaryrefslogtreecommitdiff
path: root/arch/arm/vfp/vfpdouble.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-08-03 13:09:43 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-03 13:09:43 -0700
commit194d0710e1a7fe92dcf860ddd31fded8c3103b7a (patch)
treeda03b56fa4dee221c53af5770492d391f0d09459 /arch/arm/vfp/vfpdouble.c
parenta68d2ebc1581a3aec57bd032651e013fa609f530 (diff)
parent9bbd03758945858c9303f3258b418b94c4ffd735 (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Diffstat (limited to 'arch/arm/vfp/vfpdouble.c')
-rw-r--r--arch/arm/vfp/vfpdouble.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c
index b801cd66b6ea..9b367a65cb4d 100644
--- a/arch/arm/vfp/vfpdouble.c
+++ b/arch/arm/vfp/vfpdouble.c
@@ -770,6 +770,9 @@ vfp_double_add(struct vfp_double *vdd, struct vfp_double *vdn,
if ((s64)m_sig < 0) {
vdd->sign = vfp_sign_negate(vdd->sign);
m_sig = -m_sig;
+ } else if (m_sig == 0) {
+ vdd->sign = (fpscr & FPSCR_RMODE_MASK) ==
+ FPSCR_ROUND_MINUSINF ? 0x8000 : 0;
}
} else {
m_sig += vdn->significand;