[PATCH] D109517: [Clang][ARM][AArch64] Add support for Armv9-A, Armv9.1-A and Armv9.2-A
Sjoerd Meijer via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 9 09:39:37 PDT 2021
SjoerdMeijer added reviewers: t.p.northover, ab.
SjoerdMeijer added a comment.
Some first comments after just looking at the plumbing for these new options. Didn't check yet the architecture extensions for the different version.
================
Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:82
// +sve implies +f32mm if the base architecture is v8.6A or v8.7A
// it isn't the case in general that sve implies both f64mm and f32mm
----------------
This comment needs to be updated for v9a?
================
Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:413
- auto V8_6Pos = llvm::find(Features, "+v8.6a");
- if (V8_6Pos != std::end(Features))
- V8_6Pos = Features.insert(std::next(V8_6Pos), {"+i8mm", "+bf16"});
+ const char *Archs[] = {"+v8.6a", "+v8.7a", "+v9.1a", "+v9.2a"};
+ auto Pos = std::find_first_of(Features.begin(), Features.end(),
----------------
How about `+v9a`?
================
Comment at: clang/test/Preprocessor/aarch64-target-features.c:180
// The following tests may need to be revised in the future since
// SVE2 is currently still part of Future Architecture Technologies
----------------
Comment out of date?
================
Comment at: llvm/lib/Target/AArch64/AArch64.td:468
FeatureSSBS, FeatureSB, FeaturePredRes, FeatureCacheDeepPersist,
- FeatureBranchTargetId]>;
+ FeatureBranchTargetId, FeatureRME]>;
----------------
Is this an unrelated change? Can this be done separately?
================
Comment at: llvm/unittests/Support/TargetParserTest.cpp:495
ARMBuildAttrs::CPUArch::v8_A));
+ EXPECT_TRUE(
+ testARMArch("armv9-a", "generic", "v9a",
----------------
I haven't looked, but in these target parser tests, do we also not need to check the architecture descriptions?
Copied this for example from the target parser def file:
(ARM::AEK_SEC | ARM::AEK_MP | ARM::AEK_VIRT | ARM::AEK_HWDIVARM |
ARM::AEK_HWDIVTHUMB | ARM::AEK_DSP | ARM::AEK_CRC | ARM::AEK_RAS |
ARM::AEK_DOTPROD)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D109517/new/
https://reviews.llvm.org/D109517
More information about the cfe-commits
mailing list