Fix for Mantis #29527.

i386/popt386.pas, PeepHoleOptPass1:
  * disable the call to RegLoadedWithNewValue() as that method isn't implemented for any of the x86 optimizers (but add a ToDo so that it isn't forgotten)

git-svn-id: trunk@33273 -
This commit is contained in:
svenbarth 2016-03-18 14:24:55 +00:00
parent e160956abf
commit e4fa7928f9

View File

@ -1422,8 +1422,10 @@ begin
{ reg2 must not be used after the sequence considered, so
it must be either deallocated or loaded with a new value }
(GetNextInstruction(hp2,hp3) and
(FindRegDealloc(getsupreg(taicpu(hp2).oper[0]^.reg),tai(hp3)) or
RegLoadedWithNewValue(getsupreg(taicpu(hp2).oper[0]^.reg), false, hp3))) then
(FindRegDealloc(getsupreg(taicpu(hp2).oper[0]^.reg),tai(hp3))
{ TODO: implement RegLoadedWithNewValue for i386, x86_64 and maybe also i8086 }
{or
RegLoadedWithNewValue(getsupreg(taicpu(hp2).oper[0]^.reg), false, hp3)})) then
{ change movsX/movzX reg/ref, reg2 }
{ add/sub/or/... reg3/$const, reg2 }
{ mov reg2 reg/ref }