|
@@ -4166,7 +4166,7 @@ unit aoptx86;
|
|
|
if MatchOperand(taicpu(p).oper[0]^,taicpu(p).oper[1]^) and
|
|
|
MatchOpType(taicpu(p),top_reg,top_reg) and
|
|
|
GetNextInstructionUsingReg(p,hp1,taicpu(p).oper[0]^.reg) and
|
|
|
- MatchInstruction(taicpu(hp1),taicpu(p).opcode,[taicpu(p).opsize]) and
|
|
|
+ MatchInstruction(hp1,taicpu(p).opcode,[taicpu(p).opsize]) and
|
|
|
MatchOperand(taicpu(p).oper[0]^,taicpu(hp1).oper[0]^) and
|
|
|
MatchOperand(taicpu(hp1).oper[0]^,taicpu(hp1).oper[1]^) then
|
|
|
begin
|
|
@@ -4223,7 +4223,7 @@ unit aoptx86;
|
|
|
if MatchOperand(taicpu(p).oper[0]^,taicpu(p).oper[1]^,taicpu(p).oper[2]^) and
|
|
|
MatchOpType(taicpu(p),top_reg,top_reg,top_reg) and
|
|
|
GetNextInstructionUsingReg(p,hp1,taicpu(p).oper[0]^.reg) and
|
|
|
- MatchInstruction(taicpu(hp1),taicpu(p).opcode,[taicpu(p).opsize]) and
|
|
|
+ MatchInstruction(hp1,taicpu(p).opcode,[taicpu(p).opsize]) and
|
|
|
MatchOperand(taicpu(p).oper[0]^,taicpu(hp1).oper[0]^) and
|
|
|
MatchOperand(taicpu(hp1).oper[0]^,taicpu(hp1).oper[1]^,taicpu(hp1).oper[2]^) then
|
|
|
begin
|
|
@@ -6037,7 +6037,7 @@ unit aoptx86;
|
|
|
function TX86AsmOptimizer.SkipSimpleInstructions(var hp1 : tai) : Boolean;
|
|
|
begin
|
|
|
{ we can skip all instructions not messing with the stack pointer }
|
|
|
- while assigned(hp1) and {MatchInstruction(taicpu(hp1),[A_LEA,A_MOV,A_MOVQ,A_MOVSQ,A_MOVSX,A_MOVSXD,A_MOVZX,
|
|
|
+ while assigned(hp1) and {MatchInstruction(hp1,[A_LEA,A_MOV,A_MOVQ,A_MOVSQ,A_MOVSX,A_MOVSXD,A_MOVZX,
|
|
|
A_AND,A_OR,A_XOR,A_ADD,A_SHR,A_SHL,A_IMUL,A_SETcc,A_SAR,A_SUB,A_TEST,A_CMOVcc,
|
|
|
A_MOVSS,A_MOVSD,A_MOVAPS,A_MOVUPD,A_MOVAPD,A_MOVUPS,
|
|
|
A_VMOVSS,A_VMOVSD,A_VMOVAPS,A_VMOVUPD,A_VMOVAPD,A_VMOVUPS],[]) and}
|