Browse Source

aarch64: rcpc3: Add +rcpc3 architectural feature support flag

Indicating the presence of the Armv8.2-a feature adding further
support for the Release Consistency Model, the `+rcpc3' architectural
extension flag is added to the list of possible `-march' options in
Binutils, together with the necessary macro for encoding rcpc3
instructions.
binutils-2_42-branch
Victor Do Nascimento 3 years ago
parent
commit
9e263f69a7
  1. 1
      gas/config/tc-aarch64.c
  2. 3
      gas/doc/c-aarch64.texi
  3. 2
      include/opcode/aarch64.h
  4. 4
      opcodes/aarch64-tbl.h

1
gas/config/tc-aarch64.c

@ -10363,6 +10363,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"b16b16", AARCH64_FEATURE (B16B16), AARCH64_FEATURE (SVE2)},
{"sme2p1", AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SME2)},
{"sve2p1", AARCH64_FEATURE (SVE2p1), AARCH64_FEATURE (SVE2)},
{"rcpc3", AARCH64_FEATURE (RCPC3), AARCH64_FEATURE (RCPC2)},
{NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
};

3
gas/doc/c-aarch64.texi

@ -280,6 +280,9 @@ automatically cause those extensions to be disabled.
@tab Enable the SME2.1 Extension.
@item @code{sve2p1} @tab N/A @tab No
@tab Enable the SVE2.1 Extension.
@item @code{rcpc3} @tab Armv9.4-A @tab No
@tab Enable the rcpc3 additional Support for Release Consistency Model
Extension. This implies @code{rcpc2}.
@end multitable
@node AArch64 Syntax

2
include/opcode/aarch64.h

@ -226,6 +226,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SME2p1,
/* SVE2.1 instructions. */
AARCH64_FEATURE_SVE2p1,
/* RCPC3 instructions. */
AARCH64_FEATURE_RCPC3,
AARCH64_NUM_FEATURES
};

4
opcodes/aarch64-tbl.h

@ -2647,6 +2647,9 @@ static const aarch64_feature_set aarch64_feature_sme2p1 =
AARCH64_FEATURE (SME2p1);
static const aarch64_feature_set aarch64_feature_sve2p1 =
AARCH64_FEATURE (SVE2p1);
static const aarch64_feature_set aarch64_feature_rcpc3 =
AARCH64_FEATURE (RCPC3);
#define CORE &aarch64_feature_v8
#define FP &aarch64_feature_fp
@ -2712,6 +2715,7 @@ static const aarch64_feature_set aarch64_feature_sve2p1 =
#define B16B16 &aarch64_feature_b16b16
#define SME2p1 &aarch64_feature_sme2p1
#define SVE2p1 &aarch64_feature_sve2p1
#define RCPC3 &aarch64_feature_rcpc3
#define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS, 0, 0, NULL }

Loading…
Cancel
Save