Hi, 

I use same compiler settings -m68060 

a call of a function and return value with double float is on all
m68k-amigaos compiler (that use only other 68k config files but same main
source) as this.

  jsr testfunc
    move.l d1,-(sp)
    move.l d0,-(sp)
    fdmove.d (sp)+,fp1
    fsmove.x fp1,fp0
    lea (16,sp),sp
    fjgt L6 

You see the func always return the values in Integer Register d0 and d1 put
it to stack and then move it from stack to FPU regsiter.

the m68k-elf compiler have the return value in the FPU Register

    jsr tesfunc
    fsmove.x %fp0,%fp0
    lea (16,%sp),%sp
    fjgt .L9 



m68k-elf use the FPU Register and produce shorter and faster code

What Option i need set that GCC do this in FPU register ?


Bye

Reply via email to