summaryrefslogtreecommitdiffstats
path: root/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2015-02-10 14:16:26 +0100
committerLioncash <mathew1800@gmail.com>2015-02-10 14:16:26 +0100
commita86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17 (patch)
treec252966c0e57267d1207791736b207caf52625df /src/core/arm/skyeye_common/vfp/vfpdouble.cpp
parentMerge pull request #543 from Alegend45/master (diff)
downloadyuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar.gz
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar.bz2
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar.lz
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar.xz
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.tar.zst
yuzu-a86d5e2752ffc4a89e4f92a9cb6f00aa3f267e17.zip
Diffstat (limited to 'src/core/arm/skyeye_common/vfp/vfpdouble.cpp')
-rw-r--r--src/core/arm/skyeye_common/vfp/vfpdouble.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
index 2c15db12b..9a7088088 100644
--- a/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfpdouble.cpp
@@ -908,6 +908,9 @@ vfp_double_multiply_accumulate(ARMul_State* state, int dd, int dn, int dm, u32 f
vdp.sign = vfp_sign_negate(vdp.sign);
vfp_double_unpack(&vdn, vfp_get_double(state, dd));
+ if (vdn.exponent == 0 && vdn.significand != 0)
+ vfp_double_normalise_denormal(&vdn);
+
if (negate & NEG_SUBTRACT)
vdn.sign = vfp_sign_negate(vdn.sign);