From f494a3d9e8ec60fafdc600f5c4507d97b3053ec8 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 29 Jun 2021 15:41:13 +0200 Subject: [PATCH] PPCAnalyst: Remove CanSwapAdjacentOps's OPCD check Other than the CR instructions, which we now analyze properly, all the covered instructions are not integer operations and also have either FL_ENDBLOCK or FL_EVIL set, so there are two other checks in CanSwapAdjacentOps that will reject them. --- Source/Core/Core/PowerPC/PPCAnalyst.cpp | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Source/Core/Core/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/PowerPC/PPCAnalyst.cpp index 6c850ea297..e2a4fc519c 100644 --- a/Source/Core/Core/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/PowerPC/PPCAnalyst.cpp @@ -229,17 +229,6 @@ bool PPCAnalyzer::CanSwapAdjacentOps(const CodeOp& a, const CodeOp& b) const if ((a_flags & (FL_SET_CA | FL_READ_CA)) && (b_flags & (FL_SET_CA | FL_READ_CA))) return false; - switch (b.inst.OPCD) - { - case 16: - case 18: - // branches. Do not swap. - case 17: // sc - case 46: // lmw - case 19: // table19 - lots of tricky stuff - return false; - } - // For now, only integer ops are acceptable. if (b_info->type != OpType::Integer) return false;