[PATCH] aarch64: Add support for FEAT_SVE2p2 and FEAT_SME2p2
Alice Carlotti
alice.carlotti@arm.com
Mon Jul 7 10:49:40 GMT 2025
On Sun, Jul 06, 2025 at 11:52:47AM +0200, Jan Beulich wrote:
> 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
Thanks - I'll split the reordering/combining into a separate patch.
Alice
More information about the Binutils
mailing list