On 5/3/23 10:14, Stafford Horne wrote:
+ set_default_nan_mode(1, &cpu->env.fp_status);
+ set_float_detect_tininess(float_tininess_before_rounding,
+ &cpu->env.fp_status);
You don't mention the nan change in the commit message.
Right, and I am not sure I need it. Let me remove it and run tests again. I
was just adding it as a few other architectures did who set
float_tininess_before_rounding.
What that does is *not* propagate NaN payloads from (some) input to the output. This is
certainly true of RISC-V, which specifies this in their architecture manual. OpenRISC
does not specify any NaN behaviour at all.
It's not a bad choice, really, and it almost certainly simplifies the design of the FPU,
as you can do NaN propagation and silencing in one step.
r~