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