Revision 2c0d18dd target-ppc/op_helper.c
b/target-ppc/op_helper.c | ||
---|---|---|
971 | 971 |
|
972 | 972 |
void helper_float_check_status (void) |
973 | 973 |
{ |
974 |
#ifdef CONFIG_SOFTFLOAT |
|
975 | 974 |
if (env->exception_index == POWERPC_EXCP_PROGRAM && |
976 | 975 |
(env->error_code & POWERPC_EXCP_FP)) { |
977 | 976 |
/* Differred floating-point exception after target FPR update */ |
... | ... | |
989 | 988 |
float_inexact_excp(); |
990 | 989 |
} |
991 | 990 |
} |
992 |
#else |
|
993 |
if (env->exception_index == POWERPC_EXCP_PROGRAM && |
|
994 |
(env->error_code & POWERPC_EXCP_FP)) { |
|
995 |
/* Differred floating-point exception after target FPR update */ |
|
996 |
if (msr_fe0 != 0 || msr_fe1 != 0) |
|
997 |
helper_raise_exception_err(env->exception_index, env->error_code); |
|
998 |
} |
|
999 |
#endif |
|
1000 | 991 |
} |
1001 | 992 |
|
1002 |
#ifdef CONFIG_SOFTFLOAT |
|
1003 | 993 |
void helper_reset_fpstatus (void) |
1004 | 994 |
{ |
1005 | 995 |
set_float_exception_flags(0, &env->fp_status); |
1006 | 996 |
} |
1007 |
#endif |
|
1008 | 997 |
|
1009 | 998 |
/* fadd - fadd. */ |
1010 | 999 |
uint64_t helper_fadd (uint64_t arg1, uint64_t arg2) |
Also available in: Unified diff