From: Richard Henderson <richard.hender...@linaro.org> As defined in Power 3.0 section 4.4.4 "Underflow Exception", a tiny result is detected before rounding.
Fixes: https://bugs.launchpad.net/qemu/+bug/1841491 Reported-by: Paul Clarke <p...@us.ibm.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20190827020013.27154-1-richard.hender...@linaro.org> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- target/ppc/translate_init.inc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c index 4a21ed7289..023138c2f9 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -10461,6 +10461,10 @@ static void ppc_cpu_reset(CPUState *s) s->exception_index = POWERPC_EXCP_NONE; env->error_code = 0; + /* tininess for underflow is detected before rounding */ + set_float_detect_tininess(float_tininess_before_rounding, + &env->fp_status); + for (i = 0; i < ARRAY_SIZE(env->spr_cb); i++) { ppc_spr_t *spr = &env->spr_cb[i]; -- 2.21.0