mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 19:25:58 +02:00
* support multiple register paralocs in tcgobj.a_loadfpu_ref_cgpara()
git-svn-id: trunk@30223 -
This commit is contained in:
parent
cea2741339
commit
6d02aedf70
@ -1644,13 +1644,22 @@ implementation
|
||||
var
|
||||
href : treference;
|
||||
hsize: tcgsize;
|
||||
paraloc: PCGParaLocation;
|
||||
begin
|
||||
case cgpara.location^.loc of
|
||||
LOC_FPUREGISTER,LOC_CFPUREGISTER:
|
||||
begin
|
||||
cgpara.check_simple_location;
|
||||
paramanager.alloccgpara(list,cgpara);
|
||||
a_loadfpu_ref_reg(list,size,size,ref,cgpara.location^.register);
|
||||
paraloc:=cgpara.location;
|
||||
href:=ref;
|
||||
while assigned(paraloc) do
|
||||
begin
|
||||
if not(paraloc^.loc in [LOC_FPUREGISTER,LOC_CFPUREGISTER]) then
|
||||
internalerror(2015031501);
|
||||
a_loadfpu_ref_reg(list,paraloc^.size,paraloc^.size,href,paraloc^.register);
|
||||
inc(href.offset,tcgsize2size[paraloc^.size]);
|
||||
paraloc:=paraloc^.next;
|
||||
end;
|
||||
end;
|
||||
LOC_REFERENCE,LOC_CREFERENCE:
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user