On 2/18/20 9:10 AM, BALATON Zoltan wrote:
> void helper_reset_fpstatus(CPUPPCState *env)
> {
> - set_float_exception_flags(0, &env->fp_status);
> + set_float_exception_flags(env->default_fp_excpt_flags, &env->fp_status);
> }
What I don't like is the forced setting of inexact. I don't mind leaving it
set if it is already set, which corresponds to the normal accumulation of
exceptions.
In addition, if the inexact exception is unmasked, I would expect a signal to
be delivered only when an inexact exception happens. Whereas this patch would
deliver a signal for every fp operation.
It should be just as easy to do
flags = get_float_exception_flags(status);
flags &= env->save_fp_exception_flags;
set_float_exception_flags(flags, status);
> + DEFINE_PROP_BOOL("hardfloat", PowerPCCPU, hardfloat, true),
I would also prefer a different name here -- perhaps x-no-fp-fi.
r~