public void Mov32(InstructionNode node) { if (!node.Operand1.IsConstantZero) { return; } if (OptimizationStage.AreStatusFlagsUsed(node.Next, true, true, true, true, true) == TriState.No) { node.SetInstruction(X86.Xor32, node.Result, node.Result, node.Result); ZeroToXorSubstitutionCount++; } }
public void Mov32(Context context) { if (!context.Operand1.IsConstantZero) { return; } if (OptimizationStage.AreStatusFlagsUsed(context.Node.Next, true, true, true, true, true) == TriState.No) { context.SetInstruction(X86.Xor32, context.Result, context.Result, context.Result); ZeroToXorSubstitutionCount++; } }