* RiscV32: corrected tcpuparamanager.getcgtempparaloc, resolves #37709

* cleanup

git-svn-id: trunk@46803 -
This commit is contained in:
florian 2020-09-08 20:30:59 +00:00
parent d34168742e
commit c8f592d260

View File

@ -93,7 +93,7 @@ unit cpupara;
if nr=0 then
internalerror(200309271);
loc:=LOC_REGISTER;
register:=newreg(R_INTREGISTER,RS_X10+nr,R_SUBWHOLE);
register:=newreg(R_INTREGISTER,RS_X10+nr-1,R_SUBWHOLE);
end
else
begin
@ -419,16 +419,6 @@ unit cpupara;
paraloc^.size:=paracgsize;
paraloc^.def:=locdef;
end;
{ aix requires that record data stored in parameter
registers is left-aligned }
if (target_info.system in systems_aix) and
(paradef.typ = recorddef) and
(paralen < sizeof(aint)) then
begin
paraloc^.shiftval := (sizeof(aint)-paralen)*(-8);
paraloc^.size := OS_INT;
paraloc^.def := u32inttype;
end;
paraloc^.register:=newreg(R_INTREGISTER,nextintreg,R_SUBNONE);
inc(nextintreg);
dec(paralen,tcgsize2size[paraloc^.size]);