* some missing make_simple_ref calls added, resolves #8948

git-svn-id: trunk@8904 -
This commit is contained in:
florian 2007-10-21 20:19:04 +00:00
parent 9343a2ea50
commit 1cb5d2a603
2 changed files with 13 additions and 3 deletions

View File

@ -229,7 +229,11 @@ implementation
u32bit,
scurrency,
s64bit:
current_asmdata.CurrAsmList.concat(taicpu.op_ref(A_FILD,S_IQ,left.location.reference));
begin
href:=left.location.reference;
tcgx86(cg).make_simple_ref(current_asmdata.CurrAsmList,href);
current_asmdata.CurrAsmList.concat(taicpu.op_ref(A_FILD,S_IQ,href));
end;
u64bit:
begin
{ unsigned 64 bit ints are harder to handle:
@ -268,7 +272,9 @@ implementation
cg.a_load_ref_ref(current_asmdata.CurrAsmList,left.location.size,OS_32,left.location.reference,href);
left.location.reference:=href;
end;
current_asmdata.CurrAsmList.concat(taicpu.op_ref(A_FILD,S_IL,left.location.reference));
href:=left.location.reference;
tcgx86(cg).make_simple_ref(current_asmdata.CurrAsmList,href);
current_asmdata.CurrAsmList.concat(taicpu.op_ref(A_FILD,S_IL,href));
end;
end;
location_freetemp(current_asmdata.CurrAsmList,left.location);

View File

@ -154,7 +154,11 @@ implementation
case left.location.loc of
LOC_CREFERENCE,
LOC_REFERENCE :
current_asmdata.CurrAsmList.concat(Taicpu.op_ref_reg(op,tcgsize2opsize[left.location.size],left.location.reference,location.register));
begin
href:=left.location.reference;
tcgx86(cg).make_simple_ref(current_asmdata.CurrAsmList,href);
current_asmdata.CurrAsmList.concat(Taicpu.op_ref_reg(op,tcgsize2opsize[left.location.size],href,location.register));
end;
LOC_CREGISTER,
LOC_REGISTER :
current_asmdata.CurrAsmList.concat(Taicpu.op_reg_reg(op,tcgsize2opsize[left.location.size],left.location.register,location.register));