mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-09 05:45:57 +02:00
* don't remove MOV reg1,reg1 it is needed for the RA
This commit is contained in:
parent
d99a5f58f3
commit
d5140a5792
@ -570,8 +570,6 @@ implementation
|
|||||||
a_op_const_reg_reg(list,OP_AND,tosize,$ffff,reg1,reg2);
|
a_op_const_reg_reg(list,OP_AND,tosize,$ffff,reg1,reg2);
|
||||||
OS_32,
|
OS_32,
|
||||||
OS_S32 :
|
OS_S32 :
|
||||||
begin
|
|
||||||
if reg1<>reg2 then
|
|
||||||
begin
|
begin
|
||||||
instr:=taicpu.op_reg_reg(A_MOV,reg1,reg2);
|
instr:=taicpu.op_reg_reg(A_MOV,reg1,reg2);
|
||||||
list.Concat(instr);
|
list.Concat(instr);
|
||||||
@ -579,7 +577,6 @@ implementation
|
|||||||
it can try to eliminate it. }
|
it can try to eliminate it. }
|
||||||
add_move_instruction(instr);
|
add_move_instruction(instr);
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
OS_S8 :
|
OS_S8 :
|
||||||
begin
|
begin
|
||||||
list.concat(taicpu.op_reg_const_reg(A_SLL,reg1,24,reg2));
|
list.concat(taicpu.op_reg_const_reg(A_SLL,reg1,24,reg2));
|
||||||
@ -597,8 +594,6 @@ implementation
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
{ same size, only a register mov required }
|
{ same size, only a register mov required }
|
||||||
if reg1<>reg2 then
|
|
||||||
begin
|
|
||||||
instr:=taicpu.op_reg_reg(A_MOV,reg1,reg2);
|
instr:=taicpu.op_reg_reg(A_MOV,reg1,reg2);
|
||||||
list.Concat(instr);
|
list.Concat(instr);
|
||||||
{ Notify the register allocator that we have written a move instruction so
|
{ Notify the register allocator that we have written a move instruction so
|
||||||
@ -606,7 +601,6 @@ implementation
|
|||||||
add_move_instruction(instr);
|
add_move_instruction(instr);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure TCgSparc.a_loadaddr_ref_reg(list : TAasmOutput;const ref : TReference;r : tregister);
|
procedure TCgSparc.a_loadaddr_ref_reg(list : TAasmOutput;const ref : TReference;r : tregister);
|
||||||
@ -1233,7 +1227,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.87 2004-09-21 17:25:13 peter
|
Revision 1.88 2004-09-21 20:33:00 peter
|
||||||
|
* don't remove MOV reg1,reg1 it is needed for the RA
|
||||||
|
|
||||||
|
Revision 1.87 2004/09/21 17:25:13 peter
|
||||||
* paraloc branch merged
|
* paraloc branch merged
|
||||||
|
|
||||||
Revision 1.86.4.5 2004/09/20 20:43:15 peter
|
Revision 1.86.4.5 2004/09/20 20:43:15 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user