View Single Post
Old 09 January 2022, 13:31   #1332
bebbo
bye
 
Join Date: Jun 2016
Location: Some / Where
Posts: 680
Quote:
Originally Posted by BSzili View Post
Did something change recently regarding the code generation for -m68060? I rebuilt Duke3D to test the recently added control presets, and it now has some graphics glitches, sometimes CON parsing won't work, and the maps won't load. I tried to compare the asm output with -m68040 and it looks like the compiler now emits FPU instructions for certain multiplications. For example what compiles to
muls.l #936,d0
becomes
Code:
    fmove.l d1,fp0
    fmul.l #936,fp0
    fmod.s #0x4f800000,fp0
    fmove.l fp0,d2
This could be a problem, because I change the FPU rounding for the custom 64-bit integer math replacement routines, which probably messes with the ones generated by the compiler. Is it possible to disable this optimization?

Edit: This is a small function that now has FPU instructions with -m68060, but with -m68040 it doesn't:
http://franke.ms/cex/z/T7rj6q

I rolled that change back a while ago and now I added another feature:


Quote:
implement direct MathIeeeSingTransBase/MathIeeeDoubTransBase calls

this is triggered for 68040/68060 if -ffast-math gets used.
bebbo is offline  
 
Page generated in 0.06166 seconds with 11 queries