* similiar fix to r48167 for OptPass1SXTH

git-svn-id: trunk@48168 -
This commit is contained in:
florian 2021-01-17 19:01:14 +00:00
parent 14ddc59edb
commit d4ad618a70

View File

@ -913,7 +913,7 @@ Implementation
result:=true;
end
else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
RemoveSuperfluousMove(p, hp1, 'SxtbMov2Data') then
RemoveSuperfluousMove(p, hp1, 'UxtbMov2Data') then
Result:=true;
end;
@ -983,7 +983,7 @@ Implementation
and reg3,reg2,#65535
dealloc reg2
to
sxth reg3,reg1
uxth reg3,reg1
}
else if MatchInstruction(p, A_SXTH, [C_None], [PF_None]) and
(taicpu(p).ops=2) and
@ -997,8 +997,8 @@ Implementation
{ reg1 might not be modified inbetween }
not(RegModifiedBetween(taicpu(p).oper[1]^.reg,p,hp1)) then
begin
DebugMsg('Peephole SxthAndImm2Sxth done', p);
taicpu(hp1).opcode:=A_SXTH;
DebugMsg('Peephole SxthAndImm2Uxth done', p);
taicpu(hp1).opcode:=A_UXTH;
taicpu(hp1).ops:=2;
taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
GetNextInstruction(p, hp1);
@ -1008,7 +1008,7 @@ Implementation
result:=true;
end
else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
RemoveSuperfluousMove(p, hp1, 'SxthMov2Data') then
RemoveSuperfluousMove(p, hp1, 'UxthMov2Data') then
Result:=true;
end;