aboutsummaryrefslogtreecommitdiff
path: root/src/ARM_InstrInfo.h
diff options
context:
space:
mode:
authorRSDuck <rsduck@users.noreply.github.com>2019-08-25 12:28:48 +0200
committerRSDuck <rsduck@users.noreply.github.com>2020-04-26 13:05:00 +0200
commit5ea91b8a039e0735ac5cb102e2375c26c4f7a150 (patch)
tree197761d920867febb0b6f7a5c1947fe6fc8e13b6 /src/ARM_InstrInfo.h
parent03ab7f1645f5a5c8427bc53a12f417845a17c980 (diff)
optimise away unneeded flag sets
- especially useful for thumb code and larger max block sizes - can still be improved upon
Diffstat (limited to 'src/ARM_InstrInfo.h')
-rw-r--r--src/ARM_InstrInfo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ARM_InstrInfo.h b/src/ARM_InstrInfo.h
index 4fe9b10..5336837 100644
--- a/src/ARM_InstrInfo.h
+++ b/src/ARM_InstrInfo.h
@@ -215,11 +215,24 @@ enum
tk_Count
};
+enum
+{
+ flag_N = 1 << 3,
+ flag_Z = 1 << 2,
+ flag_C = 1 << 1,
+ flag_V = 1 << 0,
+};
+
struct Info
{
u16 DstRegs, SrcRegs;
u16 Kind;
+ u8 ReadFlags;
+ // lower 4 bits - set always
+ // upper 4 bits - might set flag
+ u8 WriteFlags;
+
bool EndBlock;
bool Branches()
{