summaryrefslogtreecommitdiff
path: root/opcodes/aarch64-opc.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2023-03-30 11:09:12 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2023-03-30 11:09:12 +0100
commitd8773a8a5f5614f508d9919cb7626ae0497b8141 (patch)
tree5ba56e29d3a94109568b7f1d01c7330863d007e2 /opcodes/aarch64-opc.h
parent503fae12992e5dbf48b4e30cea8d35f31d87effe (diff)
downloadbinutils-gdb-d8773a8a5f5614f508d9919cb7626ae0497b8141.tar.gz
aarch64: Add the SME2 MOVA instructions
SME2 defines new MOVA instructions for moving multiple registers to and from ZA. As with SME, the instructions are also available through MOV aliases. One notable feature of these instructions (and many other SME2 instructions) is that some register lists must start at a multiple of the list's size. The patch uses the general error "start register out of range" when this constraint isn't met, rather than an error specifically about multiples. This ensures that the error is consistent between these simple consecutive lists and later strided lists, for which the requirements aren't a simple multiple.
Diffstat (limited to 'opcodes/aarch64-opc.h')
-rw-r--r--opcodes/aarch64-opc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/opcodes/aarch64-opc.h b/opcodes/aarch64-opc.h
index e142ae6ee76..c604af5124c 100644
--- a/opcodes/aarch64-opc.h
+++ b/opcodes/aarch64-opc.h
@@ -55,6 +55,10 @@ enum aarch64_field_kind
FLD_SME_V,
FLD_SME_ZAda_2b,
FLD_SME_ZAda_3b,
+ FLD_SME_Zdn2,
+ FLD_SME_Zdn4,
+ FLD_SME_Zn2,
+ FLD_SME_Zn4,
FLD_SME_i1,
FLD_SME_size_22,
FLD_SME_tszh,
@@ -124,6 +128,8 @@ enum aarch64_field_kind
FLD_cond2,
FLD_defgh,
FLD_hw,
+ FLD_imm3_0,
+ FLD_imm3_5,
FLD_imm3_10,
FLD_imm4_0,
FLD_imm4_5,