aboutsummaryrefslogtreecommitdiff
path: root/opcodes/aarch64-dis.c
diff options
context:
space:
mode:
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>2024-01-15 09:40:11 +0000
committerNick Clifton <nickc@redhat.com>2024-01-15 11:45:42 +0000
commitb33f1bcd152c756c6975f874dbcf58ed3fcc9bdf (patch)
tree0961c18129b0a7b98f736dc97029fc9b2f1d748d /opcodes/aarch64-dis.c
parentb34104edab8bb399ade7a6c0865af47ff765d576 (diff)
downloadgdb-b33f1bcd152c756c6975f874dbcf58ed3fcc9bdf.zip
gdb-b33f1bcd152c756c6975f874dbcf58ed3fcc9bdf.tar.gz
gdb-b33f1bcd152c756c6975f874dbcf58ed3fcc9bdf.tar.bz2
aarch64: Add SVE2.1 Contiguous load/store instructions.
Hi, This patch add support for SVE2.1 instructions ld1q, ld2q, ld3q and ld4q, st1q, st2q, st3q and st4q. Regression testing for aarch64-none-elf target and found no regressions. Ok for binutils-master? Regards, Srinath.
Diffstat (limited to 'opcodes/aarch64-dis.c')
-rw-r--r--opcodes/aarch64-dis.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index bffa760..f107eb7 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -2160,6 +2160,21 @@ aarch64_ext_sve_reglist (const aarch64_operand *self,
return true;
}
+/* Decode {Zn.<T> , Zm.<T>}. The fields array specifies which field
+ to use for Zn. The opcode-dependent value specifies the number
+ of registers in the list. */
+bool
+aarch64_ext_sve_reglist_zt (const aarch64_operand *self,
+ aarch64_opnd_info *info, aarch64_insn code,
+ const aarch64_inst *inst ATTRIBUTE_UNUSED,
+ aarch64_operand_error *errors ATTRIBUTE_UNUSED)
+{
+ info->reglist.first_regno = extract_field (self->fields[0], code, 0);
+ info->reglist.num_regs = get_operand_specific_data (self);
+ info->reglist.stride = 1;
+ return true;
+}
+
/* Decode a strided register list. The first field holds the top bit
(0 or 16) and the second field holds the lower bits. The stride is
16 divided by the list length. */