From 452a0f804287c0b87546970dc28969c62e91fccd Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Wed, 22 Jul 2015 05:16:51 +1200 Subject: [PATCH] Merge pull request #2717 from phire/fix-reordering PPCAnalyst: Don't swap instruction which might cause interrupts. --- Source/Core/Core/PowerPC/PPCAnalyst.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Core/Core/PowerPC/PPCAnalyst.cpp b/Source/Core/Core/PowerPC/PPCAnalyst.cpp index a0774be4cf..8ef804812a 100644 --- a/Source/Core/Core/PowerPC/PPCAnalyst.cpp +++ b/Source/Core/Core/PowerPC/PPCAnalyst.cpp @@ -250,6 +250,10 @@ static bool CanSwapAdjacentOps(const CodeOp &a, const CodeOp &b) if (b_info->type != OPTYPE_INTEGER) return false; + // And it's possible a might raise an interrupt too (fcmpo/fcmpu) + if (a_info->type != OPTYPE_INTEGER) + return false; + // Check that we have no register collisions. // That is, check that none of b's outputs matches any of a's inputs, // and that none of a's outputs matches any of b's inputs.