aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ARMeilleure/Decoders/IOpCode32Alu.cs4
-rw-r--r--ARMeilleure/Decoders/IOpCode32HasSetFlags.cs7
-rw-r--r--ARMeilleure/Decoders/OpCode32AluUmull.cs2
-rw-r--r--ARMeilleure/Instructions/InstEmitAluHelper.cs2
4 files changed, 10 insertions, 5 deletions
diff --git a/ARMeilleure/Decoders/IOpCode32Alu.cs b/ARMeilleure/Decoders/IOpCode32Alu.cs
index 9876f107..69fee164 100644
--- a/ARMeilleure/Decoders/IOpCode32Alu.cs
+++ b/ARMeilleure/Decoders/IOpCode32Alu.cs
@@ -1,10 +1,8 @@
namespace ARMeilleure.Decoders
{
- interface IOpCode32Alu : IOpCode32
+ interface IOpCode32Alu : IOpCode32, IOpCode32HasSetFlags
{
int Rd { get; }
int Rn { get; }
-
- bool? SetFlags { get; }
}
} \ No newline at end of file
diff --git a/ARMeilleure/Decoders/IOpCode32HasSetFlags.cs b/ARMeilleure/Decoders/IOpCode32HasSetFlags.cs
new file mode 100644
index 00000000..71ca6d19
--- /dev/null
+++ b/ARMeilleure/Decoders/IOpCode32HasSetFlags.cs
@@ -0,0 +1,7 @@
+namespace ARMeilleure.Decoders
+{
+ interface IOpCode32HasSetFlags
+ {
+ bool? SetFlags { get; }
+ }
+} \ No newline at end of file
diff --git a/ARMeilleure/Decoders/OpCode32AluUmull.cs b/ARMeilleure/Decoders/OpCode32AluUmull.cs
index bbdaaeae..1b31239b 100644
--- a/ARMeilleure/Decoders/OpCode32AluUmull.cs
+++ b/ARMeilleure/Decoders/OpCode32AluUmull.cs
@@ -1,6 +1,6 @@
namespace ARMeilleure.Decoders
{
- class OpCode32AluUmull : OpCode32
+ class OpCode32AluUmull : OpCode32, IOpCode32HasSetFlags
{
public int RdLo { get; }
public int RdHi { get; }
diff --git a/ARMeilleure/Instructions/InstEmitAluHelper.cs b/ARMeilleure/Instructions/InstEmitAluHelper.cs
index fe555767..8bf53ed4 100644
--- a/ARMeilleure/Instructions/InstEmitAluHelper.cs
+++ b/ARMeilleure/Instructions/InstEmitAluHelper.cs
@@ -14,7 +14,7 @@ namespace ARMeilleure.Instructions
{
public static bool ShouldSetFlags(ArmEmitterContext context)
{
- IOpCode32Alu op = (IOpCode32Alu)context.CurrOp;
+ IOpCode32HasSetFlags op = (IOpCode32HasSetFlags)context.CurrOp;
if (op.SetFlags == null)
{