[PATCH] aarch64: Add support for FEAT_SVE2p2 and FEAT_SME2p2
Jan Beulich
jbeulich@suse.com
Sun Jul 6 09:52:47 GMT 2025
On 04.07.2025 20:56, Alice Carlotti wrote:
> I'll push this next week if there are no issues raised. (For reference, I
> wrote the tests by hand to verify the implementation.)
>
>
> diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
> index 13649e8f3d508f61145f3d855af377a2d95e2168..29a81d17112b15a09301a9cb518265e08a316c27 100644
> --- a/gas/config/tc-aarch64.c
> +++ b/gas/config/tc-aarch64.c
> @@ -10797,6 +10797,8 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
> {"sme-b16b16", AARCH64_FEATURE (SME_B16B16),
> AARCH64_FEATURES (2, SVE_B16B16, SME2)},
> {"pops", AARCH64_FEATURE (PoPS), AARCH64_NO_FEATURES},
> + {"sve2p2", AARCH64_FEATURE (SVE2p2), AARCH64_FEATURE (SVE2)},
> + {"sme2p2", AARCH64_FEATURE (SME2p2), AARCH64_FEATURE (SME2)},
> {NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
> };
>
> @@ -10817,13 +10819,15 @@ static const struct aarch64_virtual_dependency_table aarch64_dependencies[] = {
> {AARCH64_FEATURE (SSVE_FP8DOT2), AARCH64_FEATURE (FP8DOT2_SVE)},
> {AARCH64_FEATURE (SME_F16F16), AARCH64_FEATURE (SME_F16F16_F8F16)},
> {AARCH64_FEATURE (SME_F8F16), AARCH64_FEATURE (SME_F16F16_F8F16)},
> - {AARCH64_FEATURE (SVE2p1), AARCH64_FEATURES (3, SVE2p1_SME, SVE2p1_SME2,
> - SVE2p1_SME2p1)},
Hmm, I may not be understanding the purpose of this table correctly, even
if the comment ahead of it looks to be pretty clear. While the above was
there before, ...
> + {AARCH64_FEATURE (SVE), AARCH64_FEATURE (SVE_SME2p2)},
... this strikes me as particularly odd: Why would enabling SVE imply
anything SME-ish? (Which isn't to say this is the only - pre-existing or
new - entry I don't understand.)
> {AARCH64_FEATURE (SME), AARCH64_FEATURE (SVE2p1_SME)},
> - {AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2p1_SME2)},
> {AARCH64_FEATURE (SVE2), AARCH64_FEATURE (SVE2_SME2)},
> - {AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2_SME2)},
> + {AARCH64_FEATURE (SME2), AARCH64_FEATURES (2, SVE2_SME2, SVE2p1_SME2)},
This looks to be merely consolidation of two entries into one, i.e.
unrelated to the purpose of the patch. Sadly the patch's description is
empty altogether; such extra, unrelated changes imo want mentioning
there (alongside anything pertaining to the main changes being made),
if nothing else to make clear they're deliberate and not done by mistake.
Jan
More information about the Binutils
mailing list