提交 be94c952 编写于 作者: A aurel32

target-ppc: use accessors to access fp_status exception_flags

Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6006 c046a42c-6fe2-441c-8c8c-71466251a162
上级 d9957a8b
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册