From: aurel32 Date: Sat, 13 Dec 2008 12:13:33 +0000 (+0000) Subject: target-ppc: use accessors to access fp_status exception_flags X-Git-Tag: release_0_10_0~680 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be94c952e4a695bf112a7745c9851ea4d7ddd756;p=thirdparty%2Fqemu.git 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 --- diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index d76ec0a4ef3..20496497f1e 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