+ AArch64: FoldShiftProcess fixed

git-svn-id: trunk@42963 -
This commit is contained in:
florian 2019-09-08 20:53:43 +00:00
parent c3c3e99c64
commit ce9e1a3419

View File

@ -401,10 +401,9 @@ Implementation
((taicpu(hp1).opcode<>A_SUB) or ((taicpu(hp1).opcode<>A_SUB) or
MatchOperand(taicpu(p).oper[0]^, taicpu(hp1).oper[taicpu(hp1).ops-1]^)) then MatchOperand(taicpu(p).oper[0]^, taicpu(hp1).oper[taicpu(hp1).ops-1]^)) then
begin begin
if taicpu(hp1).opcode in [A_TST, A_CMP, A_CMN, A_MOV] then { for the two operand instructions, start also at the second operand as they are not always commutative
I2:=0 (depends on the flags tested laster on) and thus the operands cannot swapped }
else I2:=1;
I2:=1;
for I:=I2 to taicpu(hp1).ops-1 do for I:=I2 to taicpu(hp1).ops-1 do
if MatchOperand(taicpu(p).oper[0]^, taicpu(hp1).oper[I]^.reg) then if MatchOperand(taicpu(p).oper[0]^, taicpu(hp1).oper[I]^.reg) then
begin begin