aboutsummaryrefslogtreecommitdiff
path: root/ar-lib
diff options
context:
space:
mode:
authorsrinath <srinath.parvathaneni@arm.com>2024-07-08 17:44:33 +0100
committerSrinath Parvathaneni <srinath.parvathaneni@arm.com>2024-07-08 17:48:23 +0100
commitde7a30ceaa4df45d05e12338744f1ad20f1e4032 (patch)
treeada1bfe600a444decbd27f1feea75a3e66da4fa4 /ar-lib
parentd6ec64f93d13c4a4df5e9844a6ff93851ea643e8 (diff)
downloadgdb-de7a30ceaa4df45d05e12338744f1ad20f1e4032.zip
gdb-de7a30ceaa4df45d05e12338744f1ad20f1e4032.tar.gz
gdb-de7a30ceaa4df45d05e12338744f1ad20f1e4032.tar.bz2
aarch64: Add support for sve2p1 pmov instruction.
This patch adds support for followign SVE2p1 instruction, spec is available here [1]. 1. PMOV (to vector) 2. PMOV (to predicate) Both pmov (to vector) and pmov (to predicate) have destination scalable vector register and source scalable vector register respectively as an operand with no suffix and optional index. To handle this case we have added 8 new operands in this patch. AARCH64_OPND_SVE_Zn0_INDEX, /* Zn[index], bits [9:5]. */ AARCH64_OPND_SVE_Zn1_17_INDEX, /* Zn[index], bits [9:5,17]. */ AARCH64_OPND_SVE_Zn2_18_INDEX, /* Zn[index], bits [9:5,18:17]. */ AARCH64_OPND_SVE_Zn3_22_INDEX, /* Zn[index], bits [9:5,18:17,22]. */ AARCH64_OPND_SVE_Zd0_INDEX, /* Zn[index], bits [4:0]. */ AARCH64_OPND_SVE_Zd1_17_INDEX, /* Zn[index], bits [4:0,17]. */ AARCH64_OPND_SVE_Zd2_18_INDEX, /* Zn[index], bits [4:0,18:17]. */ AARCH64_OPND_SVE_Zd3_22_INDEX, /* Zn[index], bits [4:0,18:17,22]. */ Since the index of the <Zd> operand is optional, the index part is dropped in disassembly in both the cases of "no index" or "zero index". As per spec: PMOV <Zd>{[<imm>]}, <Pn>.D PMOV <Pn>.D, <Zd>{[<imm>]} Example1: Assembly: pmov z5[0], p6.d Disassembly: pmov z5, p6.d Assembly: pmov z5, p6.d Disassembly: pmov z5, p6.d Example2: Assembly: pmov p4.b, z5[0] Disassembly: pmov p4.b, z5 Assembly: pmov p4.b, z5 Disassembly: pmov p4.b, z5 [1]: https://developer.arm.com/documentation/ddi0602/2024-03/SVE-Instructions?lang=en
Diffstat (limited to 'ar-lib')
0 files changed, 0 insertions, 0 deletions