mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-17 12:29:14 +02:00
* load_reg_reg fixed
This commit is contained in:
parent
655e947521
commit
468eca38bd
@ -684,11 +684,12 @@ unit cgcpu;
|
||||
so : tshifterop;
|
||||
begin
|
||||
shifterop_reset(so);
|
||||
if (reg1<>reg2) or
|
||||
(tcgsize2size[tosize] < tcgsize2size[fromsize]) or
|
||||
((tcgsize2size[tosize] = tcgsize2size[fromsize]) and
|
||||
if (tcgsize2size[tosize] < tcgsize2size[fromsize]) or
|
||||
(
|
||||
(tcgsize2size[tosize] = tcgsize2size[fromsize]) and
|
||||
(tosize <> fromsize) and
|
||||
not(fromsize in [OS_32,OS_S32])) then
|
||||
not(fromsize in [OS_32,OS_S32])
|
||||
) then
|
||||
begin
|
||||
case tosize of
|
||||
OS_8:
|
||||
@ -729,6 +730,18 @@ unit cgcpu;
|
||||
end;
|
||||
else internalerror(2002090901);
|
||||
end;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if reg1<>reg2 then
|
||||
begin
|
||||
{ same size, only a register mov required }
|
||||
instr:=taicpu.op_reg_reg(A_MOV,reg2,reg1);
|
||||
list.Concat(instr);
|
||||
{ Notify the register allocator that we have written a move instruction so
|
||||
it can try to eliminate it. }
|
||||
add_move_instruction(instr);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1295,7 +1308,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.64 2005-01-04 15:36:32 florian
|
||||
Revision 1.65 2005-01-04 20:15:05 florian
|
||||
* load_reg_reg fixed
|
||||
|
||||
Revision 1.64 2005/01/04 15:36:32 florian
|
||||
* implemented nostackframe calling convention directive
|
||||
|
||||
Revision 1.63 2004/11/06 15:18:57 florian
|
||||
|
Loading…
Reference in New Issue
Block a user