From fe76d97653d6611df19dacc4e326fc7d3d057237 Mon Sep 17 00:00:00 2001 From: pbrook Date: Fri, 19 Dec 2008 14:33:59 +0000 Subject: Implement flush-to-zero mode (denormal results are replaced with zero). Signed-off-by: Paul Brook git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6107 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-arm/helper.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'target-arm/helper.c') diff --git a/target-arm/helper.c b/target-arm/helper.c index 79163b8..81663c8 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -2334,12 +2334,13 @@ void HELPER(vfp_set_fpscr)(CPUState *env, uint32_t val) } set_float_rounding_mode(i, &env->vfp.fp_status); } + if (changed & (1 << 24)) + set_flush_to_zero((val & (1 << 24)) != 0, &env->vfp.fp_status); if (changed & (1 << 25)) set_default_nan_mode((val & (1 << 25)) != 0, &env->vfp.fp_status); i = vfp_exceptbits_to_host((val >> 8) & 0x1f); set_float_exception_flags(i, &env->vfp.fp_status); - /* XXX: FZ and DN are not implemented. */ } #define VFP_HELPER(name, p) HELPER(glue(glue(vfp_,name),p)) -- cgit v1.1