Re: [hatari-devel] FPU update

[ Thread Index | Date Index | More Archives ]

Am 29.01.2017 um 21:45 schrieb Douglas Little <doug694@xxxxxxxxxxxxxx>:

Could you describe what errors in attached image mean? I can see that
tested instructions are FCMP and FBOGL but where does those values come
from and why it failed?

fp result fault @ pc:   $010122f8
opcode sequence:        $f20008b8:$f239a800:$01044cce:$f2940006:
operands:               $3fe421e5adf421e6,$bfd242d1e0d242d2,
expected:               $4006e204dd56e205:fpsr=$08000000
calculated:             $4006e204dd56e206:fpsr=$08000000
fail! (any key to continue)

The operands are used to make the condition:

 fcmp  operand0,operand1
 fbcc  ...

The expected/calculated value has no particular meaning, except that it will be wrong if the wrong fbcc path was taken.

In the sample shown above the fcmp/fbcc and FPSR is ok, but there is a precision/round issue with the arbitrary operation used to make the result. i.e. a problem with some incidental operation. (this is from Hatari 2.00 - lots of failures of this type)

Douglas, thank you very much for your efforts! With the help of your test utility we could already fix most functions, including correct status bits! There is only one single error left in the "simple" functions (logarithmic, trigonometric, etc are a different story)
Is there any chance that your test could be expanded to extended precision input and output? Some things, like extended format underflow, can only be tested that way. I also expect some surprises in double precision, for example in FSCALE, FGETMAN, FGETEXP and FMOVE. It would also be interesting to test behavior of FMOVE Register to Memory with destination size B, W and L.
I think packed decimal input and output needs to be tested separately. But that is also on my list.

Best wishes,

Mail converted by MHonArc 2.6.19+