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