From 106b0e9424db7afd8b8ba7b9d54f539d3baa99a7 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Wed, 3 Aug 2005 19:53:25 +0100 Subject: [PATCH] --- yaml --- r: 5601 b: refs/heads/master c: 7b1fbf292bb4c855ddae8add8c459e94684f7543 h: refs/heads/master i: 5599: 558fe11aa34d7a64d62710bf9913a029030fee98 v: v3 --- [refs] | 2 +- trunk/arch/arm/vfp/vfpdouble.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 2071f73a88d6..51d374e8cb3f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 858297509590ef4aa5690e30c2f5505077b4f369 +refs/heads/master: 7b1fbf292bb4c855ddae8add8c459e94684f7543 diff --git a/trunk/arch/arm/vfp/vfpdouble.c b/trunk/arch/arm/vfp/vfpdouble.c index b801cd66b6ea..9b367a65cb4d 100644 --- a/trunk/arch/arm/vfp/vfpdouble.c +++ b/trunk/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;