target-ppc: use accessors to access fp_status exception_flags
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6006 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
d9957a8b0f
commit
be94c952e4
|
@ -1000,12 +1000,15 @@ void helper_float_check_status (void)
|
||||||
/* Differred floating-point exception after target FPR update */
|
/* Differred floating-point exception after target FPR update */
|
||||||
if (msr_fe0 != 0 || msr_fe1 != 0)
|
if (msr_fe0 != 0 || msr_fe1 != 0)
|
||||||
helper_raise_exception_err(env->exception_index, env->error_code);
|
helper_raise_exception_err(env->exception_index, env->error_code);
|
||||||
} else if (env->fp_status.float_exception_flags & float_flag_overflow) {
|
} else {
|
||||||
float_overflow_excp();
|
int status = get_float_exception_flags(&env->fp_status);
|
||||||
} else if (env->fp_status.float_exception_flags & float_flag_underflow) {
|
if (status & float_flag_overflow) {
|
||||||
float_underflow_excp();
|
float_overflow_excp();
|
||||||
} else if (env->fp_status.float_exception_flags & float_flag_inexact) {
|
} else if (status & float_flag_underflow) {
|
||||||
float_inexact_excp();
|
float_underflow_excp();
|
||||||
|
} else if (status & float_flag_inexact) {
|
||||||
|
float_inexact_excp();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (env->exception_index == POWERPC_EXCP_PROGRAM &&
|
if (env->exception_index == POWERPC_EXCP_PROGRAM &&
|
||||||
|
@ -1020,7 +1023,7 @@ void helper_float_check_status (void)
|
||||||
#ifdef CONFIG_SOFTFLOAT
|
#ifdef CONFIG_SOFTFLOAT
|
||||||
void helper_reset_fpstatus (void)
|
void helper_reset_fpstatus (void)
|
||||||
{
|
{
|
||||||
env->fp_status.float_exception_flags = 0;
|
set_float_exception_flags(0, &env->fp_status);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue