From be94c952e4a695bf112a7745c9851ea4d7ddd756 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Sat, 13 Dec 2008 12:13:33 +0000 Subject: [PATCH] target-ppc: use accessors to access fp_status exception_flags Signed-off-by: Aurelien Jarno git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6006 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-ppc/op_helper.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index d76ec0a4ef..20496497f1 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -1000,12 +1000,15 @@ void helper_float_check_status (void) /* Differred floating-point exception after target FPR update */ if (msr_fe0 != 0 || msr_fe1 != 0) helper_raise_exception_err(env->exception_index, env->error_code); - } else if (env->fp_status.float_exception_flags & float_flag_overflow) { - float_overflow_excp(); - } else if (env->fp_status.float_exception_flags & float_flag_underflow) { - float_underflow_excp(); - } else if (env->fp_status.float_exception_flags & float_flag_inexact) { - float_inexact_excp(); + } else { + int status = get_float_exception_flags(&env->fp_status); + if (status & float_flag_overflow) { + float_overflow_excp(); + } else if (status & float_flag_underflow) { + float_underflow_excp(); + } else if (status & float_flag_inexact) { + float_inexact_excp(); + } } #else if (env->exception_index == POWERPC_EXCP_PROGRAM && @@ -1020,7 +1023,7 @@ void helper_float_check_status (void) #ifdef CONFIG_SOFTFLOAT void helper_reset_fpstatus (void) { - env->fp_status.float_exception_flags = 0; + set_float_exception_flags(0, &env->fp_status); } #endif