Add a generic EmulateMovRdRm() method and modify/add entries to the g_thumb_opcodes
table.  Also add some more defines and convenience functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125300 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/Utility/InstructionUtils.h b/source/Plugins/Process/Utility/InstructionUtils.h
index 8ed2a71..a7e32b3 100644
--- a/source/Plugins/Process/Utility/InstructionUtils.h
+++ b/source/Plugins/Process/Utility/InstructionUtils.h
@@ -21,6 +21,12 @@
     return (value >> lsbit) & ((1u << (msbit - lsbit + 1)) - 1);
 }
 
+static inline uint32_t
+Bits32 (const uint32_t value, const uint32_t bit)
+{
+    return Bits32(value, bit, bit);
+}
+
 static inline void
 SetBits32(uint32_t &bits, unsigned msbit, unsigned lsbit, unsigned val)
 {
@@ -30,6 +36,12 @@
     bits |= (val & mask) << lsbit;
 }
 
+static inline void
+SetBits32(uint32_t &bits, unsigned bit, unsigned val)
+{
+    SetBits32(bits, bit, val);
+}
+
 // Create a mask that starts at bit zero and includes "bit"
 static inline uint64_t
 MaskUpToBit (const uint64_t bit)