diff options
Diffstat (limited to 'include/opcode/aarch64.h')
-rw-r--r-- | include/opcode/aarch64.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 493b797..183d281 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -87,6 +87,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_SSBS (1ULL << 47) /* SSBS mechanism enabled. */ #define AARCH64_FEATURE_MEMTAG (1ULL << 48) /* Memory Tagging Extension. */ #define AARCH64_FEATURE_TME (1ULL << 49) /* Transactional Memory Extension. */ +#define AARCH64_FEATURE_MOPS (1ULL << 50) /* Standardization of memory operations. */ #define AARCH64_FEATURE_I8MM (1ULL << 52) /* Matrix Multiply instructions. */ #define AARCH64_FEATURE_F32MM (1ULL << 53) #define AARCH64_FEATURE_F64MM (1ULL << 54) @@ -143,7 +144,8 @@ typedef uint32_t aarch64_insn; AARCH64_FEATURE_V8_7 \ | AARCH64_FEATURE_LS64) #define AARCH64_ARCH_V8_8 AARCH64_FEATURE (AARCH64_ARCH_V8_7, \ - AARCH64_FEATURE_V8_8) + AARCH64_FEATURE_V8_8 \ + | AARCH64_FEATURE_MOPS) #define AARCH64_ARCH_V8_R (AARCH64_FEATURE (AARCH64_ARCH_V8_4, \ AARCH64_FEATURE_V8_R) \ & ~(AARCH64_FEATURE_V8_A | AARCH64_FEATURE_LOR)) @@ -461,6 +463,9 @@ enum aarch64_opnd AARCH64_OPND_SME_PnT_Wm_imm, /* SME <Pn>.<T>[<Wm>, #<imm>]. */ AARCH64_OPND_TME_UIMM16, /* TME unsigned 16-bit immediate. */ AARCH64_OPND_SM3_IMM2, /* SM3 encodes lane in bits [13, 14]. */ + AARCH64_OPND_MOPS_ADDR_Rd, /* [Rd]!, in bits [0, 4]. */ + AARCH64_OPND_MOPS_ADDR_Rs, /* [Rs]!, in bits [16, 20]. */ + AARCH64_OPND_MOPS_WB_Rn /* Rn!, in bits [5, 9]. */ }; /* Qualifier constrains an operand. It either specifies a variant of an |