[PATCH 1/2] aarch64: Add FEAT_MOPS_GO instructions
Alice Carlotti
alice.carlotti@arm.com
Wed Dec 17 17:59:44 GMT 2025
On Tue, Dec 02, 2025 at 12:44:16PM +0000, Yury Khrustalev wrote:
One more comment - I think there should be a dependency from +mops-go ->
+memtag, and the instructions would then only need to depend directly upon
MOPS_GO (although I haven't yet confirmed this with the LLVM team). In that
case, as well as adjusting the feature dependencies, we could drop '_memtag'
from the names below and remove '+memtag' from the tests.
Also, could you combine these two patches please? I think it's better to add
the tests for new instruction as part of the patch that introduces those
instructions.
Alice
> diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
> index 2fc69c27791..e596a2c54ee 100644
> --- a/opcodes/aarch64-tbl.h
> +++ b/opcodes/aarch64-tbl.h
> @@ -2927,6 +2927,8 @@ static const aarch64_feature_set aarch64_feature_mops =
> AARCH64_FEATURE (MOPS);
> static const aarch64_feature_set aarch64_feature_mops_memtag =
> AARCH64_FEATURES (2, MOPS, MEMTAG);
> +static const aarch64_feature_set aarch64_feature_mops_go_memtag =
> + AARCH64_FEATURES (2, MOPS_GO, MEMTAG);
> static const aarch64_feature_set aarch64_feature_hbc =
> AARCH64_FEATURE (HBC);
> static const aarch64_feature_set aarch64_feature_cssc =
> @@ -3116,6 +3118,7 @@ static const aarch64_feature_set aarch64_feature_sme_mop4_i16i64 =
> #define WFXT &aarch64_feature_wfxt
> #define MOPS &aarch64_feature_mops
> #define MOPS_MEMTAG &aarch64_feature_mops_memtag
> +#define MOPS_GO_MEMTAG &aarch64_feature_mops_go_memtag
> #define HBC &aarch64_feature_hbc
> #define CSSC &aarch64_feature_cssc
> #define CHK &aarch64_feature_chk
> @@ -3371,6 +3374,9 @@ static const aarch64_feature_set aarch64_feature_sme_mop4_i16i64 =
> #define MOPS_MEMTAG_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
> { NAME, OPCODE, MASK, CLASS, 0, MOPS_MEMTAG, OPS, QUALS, FLAGS, \
> CONSTRAINTS, 0, VERIFIER }
> +#define MOPS_GO_MEMTAG_INSN(NAME, OPCODE, MASK, CLASS, OPS, QUALS, FLAGS, CONSTRAINTS, VERIFIER) \
> + { NAME, OPCODE, MASK, CLASS, 0, MOPS_GO_MEMTAG, OPS, QUALS, FLAGS, \
> + CONSTRAINTS, 0, VERIFIER }
> #define HBC_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
> { NAME, OPCODE, MASK, CLASS, 0, HBC, OPS, QUALS, FLAGS, 0, 0, NULL }
> #define CSSC_INSN(NAME,OPCODE,MASK,OPS,QUALS,FLAGS) \
More information about the Binutils
mailing list