aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Decoders/Decoder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ARMeilleure/Decoders/Decoder.cs')
-rw-r--r--ARMeilleure/Decoders/Decoder.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/ARMeilleure/Decoders/Decoder.cs b/ARMeilleure/Decoders/Decoder.cs
index e4839bf7..af3b0629 100644
--- a/ARMeilleure/Decoders/Decoder.cs
+++ b/ARMeilleure/Decoders/Decoder.cs
@@ -263,6 +263,11 @@ namespace ARMeilleure.Decoders
// so we must consider such operations as a branch in potential aswell.
if (opCode is IOpCode32Alu opAlu && opAlu.Rd == RegisterAlias.Aarch32Pc)
{
+ if (opCode is OpCodeT32)
+ {
+ return opCode.Instruction.Name != InstName.Tst && opCode.Instruction.Name != InstName.Teq &&
+ opCode.Instruction.Name != InstName.Cmp && opCode.Instruction.Name != InstName.Cmn;
+ }
return true;
}