This is an archive of the discontinued LLVM Phabricator instance.

[ARM][AArch64] Adding Neoverse V1 CPU support
ClosedPublic

Authored by pratlucas on Nov 4 2020, 7:31 AM.

Details

Summary

Add support for the Neoverse V1 CPU to the ARM and AArch64 backends.

This is based on patches from Mark Murray and Victor Campos.

Diff Detail

Event Timeline

pratlucas created this revision.Nov 4 2020, 7:31 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptNov 4 2020, 7:31 AM
pratlucas requested review of this revision.Nov 4 2020, 7:31 AM
dmgreen added inline comments.
llvm/lib/Target/AArch64/AArch64Subtarget.cpp
199

Please put with the other cpus above.

llvm/lib/Target/AArch64/AArch64Subtarget.h
75

Alphabetical I think (but at least next to the NeoverseN1)

llvm/lib/Target/ARM/ARM.td
604

The convention would be for ProcV1

llvm/lib/Target/ARM/ARMSubtarget.cpp
325

With N1

llvm/lib/Target/ARM/ARMSubtarget.h
81

Alphabetical, I think.

pratlucas updated this revision to Diff 303091.Nov 5 2020, 5:29 AM

Addressing comments.

pratlucas marked 4 inline comments as done.Nov 5 2020, 5:30 AM
pratlucas marked an inline comment as done.
dmgreen added inline comments.Nov 5 2020, 8:43 AM
llvm/include/llvm/Support/AArch64TargetParser.def
154–155

Target parser isn't my favourite part of llvm, but does this need FP16? BF16? Any others?

llvm/include/llvm/Support/ARMTargetParser.def
303

Make sure this line isn't too long.

pratlucas updated this revision to Diff 303486.Nov 6 2020, 9:42 AM

Updating default extensions in target parser to match tablegen features.

pratlucas marked 2 inline comments as done.Nov 6 2020, 9:43 AM
dmgreen accepted this revision.Nov 6 2020, 10:03 AM

Thanks. LGTM

llvm/unittests/Support/TargetParserTest.cpp
10–11

Are these needed?

This revision is now accepted and ready to land.Nov 6 2020, 10:03 AM
pratlucas updated this revision to Diff 303803.Nov 9 2020, 2:57 AM

Removing extra includes.

pratlucas marked an inline comment as done.Nov 9 2020, 2:58 AM
This revision was landed with ongoing or failed builds.Nov 9 2020, 5:15 AM
This revision was automatically updated to reflect the committed changes.