+#define OPD_F_OD_MASK 0x000000e0 /* Operand-dependent data. */
+#define OPD_F_OD_LSB 5
+#define OPD_F_NO_ZR 0x00000100 /* ZR index not allowed. */
+#define OPD_F_SHIFT_BY_4 0x00000200 /* Need to left shift the field
+ value by 4 to get the value
+ of an immediate operand. */
+
+
+/* Register flags. */
+
+#undef F_DEPRECATED
+#define F_DEPRECATED (1 << 0) /* Deprecated system register. */
+
+#undef F_ARCHEXT
+#define F_ARCHEXT (1 << 1) /* Architecture dependent system register. */
+
+#undef F_HASXT
+#define F_HASXT (1 << 2) /* System instruction register <Xt>
+ operand. */
+
+#undef F_REG_READ
+#define F_REG_READ (1 << 3) /* Register can only be used to read values
+ out of. */
+
+#undef F_REG_WRITE
+#define F_REG_WRITE (1 << 4) /* Register can only be written to but not
+ read from. */
+
+/* HINT operand flags. */
+#define HINT_OPD_F_NOPRINT (1 << 0) /* Should not be printed. */
+
+/* Encode 7-bit HINT #imm in the lower 8 bits. Use higher bits for flags. */
+#define HINT_ENCODE(flag, val) ((flag << 8) | val)
+#define HINT_FLAG(val) (val >> 8)
+#define HINT_VAL(val) (val & 0xff)