mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 04:39:34 +02:00
* correctly set the size of the operation when carrying out Mov Op Mov optimizations
git-svn-id: trunk@33930 -
This commit is contained in:
parent
b274599a47
commit
6609e8def2
@ -936,7 +936,7 @@ unit aoptx86;
|
|||||||
std_op2str[taicpu(p).opcode]+gas_opsize2str[taicpu(p).opsize]+' '+
|
std_op2str[taicpu(p).opcode]+gas_opsize2str[taicpu(p).opsize]+' '+
|
||||||
std_op2str[taicpu(hp1).opcode]+gas_opsize2str[taicpu(hp1).opsize]+' '+
|
std_op2str[taicpu(hp1).opcode]+gas_opsize2str[taicpu(hp1).opsize]+' '+
|
||||||
std_op2str[taicpu(hp2).opcode]+gas_opsize2str[taicpu(hp2).opsize],p);
|
std_op2str[taicpu(hp2).opcode]+gas_opsize2str[taicpu(hp2).opsize],p);
|
||||||
taicpu(hp1).changeopsize(taicpu(p).opsize);
|
taicpu(hp1).changeopsize(taicpu(hp2).opsize);
|
||||||
{
|
{
|
||||||
->
|
->
|
||||||
movswl %si,%eax movswl %si,%eax p
|
movswl %si,%eax movswl %si,%eax p
|
||||||
@ -948,7 +948,7 @@ unit aoptx86;
|
|||||||
begin
|
begin
|
||||||
taicpu(hp1).loadoper(0, taicpu(hp2).oper[1]^);
|
taicpu(hp1).loadoper(0, taicpu(hp2).oper[1]^);
|
||||||
if taicpu(hp1).oper[0]^.typ=top_reg then
|
if taicpu(hp1).oper[0]^.typ=top_reg then
|
||||||
setsubreg(taicpu(hp1).oper[0]^.reg,getsubreg(taicpu(p).oper[1]^.reg));
|
setsubreg(taicpu(hp1).oper[0]^.reg,getsubreg(taicpu(hp2).oper[0]^.reg));
|
||||||
end;
|
end;
|
||||||
2:
|
2:
|
||||||
begin
|
begin
|
||||||
@ -957,7 +957,7 @@ unit aoptx86;
|
|||||||
(taicpu(hp1).opcode<>A_SHL) and
|
(taicpu(hp1).opcode<>A_SHL) and
|
||||||
(taicpu(hp1).opcode<>A_SHR) and
|
(taicpu(hp1).opcode<>A_SHR) and
|
||||||
(taicpu(hp1).opcode<>A_SAR) then
|
(taicpu(hp1).opcode<>A_SAR) then
|
||||||
setsubreg(taicpu(hp1).oper[0]^.reg,getsubreg(taicpu(p).oper[1]^.reg));
|
setsubreg(taicpu(hp1).oper[0]^.reg,getsubreg(taicpu(hp2).oper[0]^.reg));
|
||||||
end;
|
end;
|
||||||
else
|
else
|
||||||
internalerror(2008042701);
|
internalerror(2008042701);
|
||||||
|
Loading…
Reference in New Issue
Block a user