* fixed parameter passing for int64

This commit is contained in:
florian 2003-05-30 23:56:41 +00:00
parent 31db518df3
commit d992e13e08

View File

@ -355,30 +355,30 @@ var
asm
lis r0,0x4330
stw r0,temp
xoris r4,r4,0x8000
stw r4,4+temp
xoris r3,r3,0x8000
stw r3,4+temp
{$ifndef macos}
lis r4,longint_to_real_helper@ha
lfd f1,longint_to_real_helper@l(r4)
lis r3,longint_to_real_helper@ha
lfd f1,longint_to_real_helper@l(r3)
{$else}
lwz r4,longint_to_real_helper[TC](r2)
lfd f1,0(r4)
lwz r3,longint_to_real_helper[TC](r2)
lfd f1,0(r3)
{$endif}
lfd f0,temp
stw r3,4+temp
stw r4,4+temp
fsub f0,f0,f1
{$ifndef macos}
lis r3,cardinal_to_real_helper@ha
lfd f1,cardinal_to_real_helper@l(r3)
lis r3,int_to_real_factor@ha
lis r4,cardinal_to_real_helper@ha
lfd f1,cardinal_to_real_helper@l(r4)
lis r4,int_to_real_factor@ha
lfd f3,temp
lfd f2,int_to_real_factor@l(r3)
lfd f2,int_to_real_factor@l(r4)
{$else}
lwz r3,cardinal_to_real_helper[TC](r2)
lwz r4,int_to_real_factor[TC](r2)
lwz r4,cardinal_to_real_helper[TC](r2)
lwz r3,int_to_real_factor[TC](r2)
lfd f3,temp
lfd f1,0(r3)
lfd f2,0(r4)
lfd f1,0(r4)
lfd f2,0(r3)
{$endif}
fsub f3,f3,f1
fmadd f1,f0,f2,f3
@ -398,33 +398,36 @@ var
asm
lis r0,0x4330
stw r0,temp
stw r4,4+temp
stw r3,4+temp
lfd f0,temp
{$ifndef macos}
lis r4,cardinal_to_real_helper@ha
lfd f1,cardinal_to_real_helper@l(r4)
lis r3,cardinal_to_real_helper@ha
lfd f1,cardinal_to_real_helper@l(r3)
{$else}
lwz r4,longint_to_real_helper[TC](r2)
lfd f1,0(r4)
lwz r3,longint_to_real_helper[TC](r2)
lfd f1,0(r3)
{$endif}
stw r3,4+temp
stw r4,4+temp
fsub f0,f0,f1
lfd f3,temp
{$ifndef macos}
lis r3,int_to_real_factor@ha
lfd f2,int_to_real_factor@l(r3)
lis r4,int_to_real_factor@ha
lfd f2,int_to_real_factor@l(r4)
{$else}
lwz r3,int_to_real_factor[TC](r2)
lfd f2,0(r3)
lwz r4,int_to_real_factor[TC](r2)
lfd f2,0(r4)
{$endif}
fsub f3,f3,f1
fmadd f1,f0,f2,f3
end ['R0','R3','F0','F1','F2','F3'];
end ['R0','R3','R4','F0','F1','F2','F3'];
{
$Log$
Revision 1.23 2003-05-24 13:39:32 jonas
Revision 1.24 2003-05-30 23:56:41 florian
* fixed parameter passing for int64
Revision 1.23 2003/05/24 13:39:32 jonas
* fsqrt is an optional instruction in the ppc architecture and isn't
implemented by any current ppc afaik, so use the generic sqrt routine
instead (adapted so it works with compilerproc)