Bernd Roesch wrote:
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.

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

You cannot change the way doubles are returned for you target! Doing this would render all existing object files useless since the return
value is suddenly at a different place. Furthermore you would loose
the ability to mix soft-float and hard-float compiled code.

Gunther

Reply via email to