reverted parts of r27117 because it caused regressions

git-svn-id: trunk@27118 -
This commit is contained in:
Károly Balogh 2014-03-12 19:22:04 +00:00
parent c7d1cef334
commit bca09a8f69

View File

@ -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;