View Single Post
Old 16 January 2021, 13:07   #11
This cat is no more
jotd's Avatar
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,462
There are definitely FPU calls in the loop.

Beside the trigonometric calls, there are 2 only unsupported calls types:

FINTRZ (rounding)
FMOVECR (move rom constants)

I've checked the rounding code and it looks complicated to handle all the cases.
If the values are small, provided that FPCR is properly configured I was thinking about

    move.l  d0,-(a7)
    fmove  fpcr,-(a7)
    fmove  #$10,fpcr
    fmove.l fp0,d0
    fmove.l d0,fp1
    fmove (a7)+,fpcr
    move.l  (a7)+,d0
not bad compiler. There were never a 040 version (there were, but the one on the CD is unusable). 040 uses 020 version which uses integer arithmetic as Toni guessed.

And yes, the on-chip FPU calls are not that performant, which explains that they decided not to waste silicon and go software instead. Depending on the application, interpolation tables may be enough.

btw thanks Toni for the winuae beta. Is there a new beta downloadable? only got b15 which is one week old.

Last edited by jotd; 16 January 2021 at 14:37.
jotd is offline  
Page generated in 0.05207 seconds with 11 queries