aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authorYury Khrustalev <yury.khrustalev@arm.com>2024-02-21 12:52:23 +0000
committerNick Clifton <nickc@redhat.com>2024-03-18 16:54:06 +0000
commit4792a423d264cfb6dbb656ea97b1c84d1b4e55b6 (patch)
treeb9ed74a4a37b8e8881e533325a9fa8777949532c /include/opcode
parentee0fa6627079ebd16843d9d3fb4e24a5af545ded (diff)
downloadgdb-4792a423d264cfb6dbb656ea97b1c84d1b4e55b6.zip
gdb-4792a423d264cfb6dbb656ea97b1c84d1b4e55b6.tar.gz
gdb-4792a423d264cfb6dbb656ea97b1c84d1b4e55b6.tar.bz2
aarch64: Add support for (M)ADDPT and (M)SUBPT instructions
The following instructions are added in this patch: - ADDPT and SUBPT - Add/Subtract checked pointer - MADDPT and MSUBPT - Multiply Add/Subtract checked pointer These instructions are part of Checked Pointer Arithmetic extension. This patch adds assembler and disassembler support for these instructions with relevant checks. Tests are included as well. A new flag "+cpa" added to documentation. This flag enables CPA extension. Regression tested on the aarch64-none-linux-gnu target and no regressions have been found.
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/aarch64.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index f585265..1e134a6 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -228,6 +228,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SVE2p1,
/* RCPC3 instructions. */
AARCH64_FEATURE_RCPC3,
+ /* Checked Pointer Arithmetic instructions. */
+ AARCH64_FEATURE_CPA,
AARCH64_NUM_FEATURES
};
@@ -490,6 +492,7 @@ enum aarch64_opnd
AARCH64_OPND_PAIRREG_OR_XZR, /* Paired register operand, optionally xzr. */
AARCH64_OPND_Rm_EXT, /* Integer Rm extended. */
AARCH64_OPND_Rm_SFT, /* Integer Rm shifted. */
+ AARCH64_OPND_Rm_LSL, /* Integer Rm shifted (LSL-only). */
AARCH64_OPND_Fd, /* Floating-point Fd. */
AARCH64_OPND_Fn, /* Floating-point Fn. */