mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-20 13:56:01 +02:00
reverted parts of r27117 because it caused regressions
git-svn-id: trunk@27118 -
This commit is contained in:
parent
c7d1cef334
commit
bca09a8f69
@ -837,12 +837,16 @@ unit cgcpu;
|
|||||||
procedure tcg68k.a_load_reg_ref(list : TAsmList;fromsize,tosize : tcgsize;register : tregister;const ref : treference);
|
procedure tcg68k.a_load_reg_ref(list : TAsmList;fromsize,tosize : tcgsize;register : tregister;const ref : treference);
|
||||||
var
|
var
|
||||||
href : treference;
|
href : treference;
|
||||||
|
size : tcgsize;
|
||||||
begin
|
begin
|
||||||
href := ref;
|
href := ref;
|
||||||
fixref(list,href);
|
fixref(list,href);
|
||||||
|
if tcgsize2size[fromsize]<tcgsize2size[tosize] then
|
||||||
|
size:=fromsize
|
||||||
|
else
|
||||||
|
size:=tosize;
|
||||||
{ move to destination reference }
|
{ move to destination reference }
|
||||||
sign_extend(list, fromsize, tosize, register);
|
list.concat(taicpu.op_reg_ref(A_MOVE,TCGSize2OpSize[size],register,href));
|
||||||
list.concat(taicpu.op_reg_ref(A_MOVE,TCGSize2OpSize[tosize],register,href));
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -939,10 +943,15 @@ unit cgcpu;
|
|||||||
procedure tcg68k.a_load_ref_reg(list : TAsmList;fromsize,tosize : tcgsize;const ref : treference;register : tregister);
|
procedure tcg68k.a_load_ref_reg(list : TAsmList;fromsize,tosize : tcgsize;const ref : treference;register : tregister);
|
||||||
var
|
var
|
||||||
href : treference;
|
href : treference;
|
||||||
|
size : tcgsize;
|
||||||
begin
|
begin
|
||||||
href:=ref;
|
href:=ref;
|
||||||
fixref(list,href);
|
fixref(list,href);
|
||||||
list.concat(taicpu.op_ref_reg(A_MOVE,TCGSize2OpSize[fromsize],href,register));
|
if tcgsize2size[fromsize]<tcgsize2size[tosize] then
|
||||||
|
size:=fromsize
|
||||||
|
else
|
||||||
|
size:=tosize;
|
||||||
|
list.concat(taicpu.op_ref_reg(A_MOVE,TCGSize2OpSize[size],href,register));
|
||||||
{ extend the value in the register }
|
{ extend the value in the register }
|
||||||
sign_extend(list, fromsize, tosize, register);
|
sign_extend(list, fromsize, tosize, register);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user