On 5/28/21 10:41 AM, Michael Morrell wrote:
I'm probably missing something, but why do we need both "float_flag_inorm_denormal" and
"float_flag_iflush_denormal"?
Couldn't the code that sets these flags set just a single flag for all denormal
inputs and the code that checks these flags check that single flag
combined with the "flush_inputs_to_zero" flag to accomplish what the two separate
"input denormal" flags do?
The thing that you're missing is that many guests leave the accumulated
softfloat exceptions in the float_status structure until the guest FPSCR
register is read. Unless the guest needs to raise an exception immediately,
there's no reason to do otherwise.
With this setup, you have no temporal connection between "any denormal" and
"flush-to-zero is set", thus two flags.
r~