On Sun, Jul 25, 2021 at 07:44:11PM +1200, Michael Schmitz wrote:
Am 25.07.2021 um 00:05 schrieb Andreas Schwab:
On Jul 24 2021, Michael Schmitz wrote:
According to my understanding, you can't get a F-line exception on
68040.
The F-line exception vector is used for all FPU illegal and
unimplemented insns.
Thanks - now from my reading of the fpsp040 code (which has mislead me in
the past), it would seem that operations like sin() and exp() ought to raise
that exception then. I don't see that in ARAnyM.
Yes, according to the 68040 user's manual, unimplemented and illegal F-line
instructions trigger the standard F-line exception vector (11) but have
separate stack frame formats so the fpsp040 code gets some extra data.
The CPU does a bunch of the prep work so that part doesn't need to be
emulated in software.
The ARAnyM docs appear to claim a strange combination that wouldn't
exist in hardware by implementing a full 68882 instead of the limited
subset found on a real 68040. Strangely, that might have been easier to
implement. However, it would also completely bypass any use of fpsp040.
Brad Boyer
flar@xxxxxxxxxxxxx