* data order for doubles in int registers on wince fixed

git-svn-id: trunk@1171 -
This commit is contained in:
florian 2005-09-24 09:28:55 +00:00
parent 0b3094fdde
commit 5a2b5a50a4

View File

@ -275,7 +275,7 @@ unit cpupara;
end;
paralen:=tcgsize2size[paracgsize];
hp.paraloc[side].intsize:=paralen;
hp.paraloc[side].intsize:=paralen;
{$ifdef EXTDEBUG}
if paralen=0 then
internalerror(200410311);
@ -376,6 +376,15 @@ unit cpupara;
end;
dec(paralen,tcgsize2size[paraloc^.size]);
end;
{ hack to swap doubles in int registers }
if is_double(hp.vartype.def) and (paracgsize=OS_64) and
(hp.paraloc[side].location^.loc=LOC_REGISTER) then
begin
paraloc:=hp.paraloc[side].location;
hp.paraloc[side].location:=hp.paraloc[side].location^.next;
hp.paraloc[side].location^.next:=paraloc;
paraloc^.next:=nil;
end;
end;
curintreg:=nextintreg;
curfloatreg:=nextfloatreg;