This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add v8.1a architecture
ClosedPublic

Authored by vsukharev on Mar 20 2015, 2:30 PM.

Diff Detail

Event Timeline

vsukharev updated this revision to Diff 22378.Mar 20 2015, 2:30 PM
vsukharev retitled this revision from to [AArch64, ARM] Add v8.1a architecture and generic cpu.
vsukharev updated this object.
vsukharev edited the test plan for this revision. (Show Details)
vsukharev added a subscriber: Unknown Object (MLST).
vsukharev updated this object.Mar 20 2015, 3:05 PM
vsukharev updated this revision to Diff 22468.Mar 23 2015, 7:55 AM

Rebased to Tot: [AArch64, ARM] Add v8.1a architecture and generic cpu

vsukharev updated this revision to Diff 22470.Mar 23 2015, 8:06 AM

CPUString.find("generic") is replaced for more understandable construction

jmolloy requested changes to this revision.Mar 31 2015, 8:24 AM
jmolloy added a reviewer: jmolloy.
jmolloy added a subscriber: jmolloy.

Hi Vlad,

We don't tend to add "generic" CPUs like this. What's wrong with using "-mcpu=cortex-a57+v8.1a" ?

Cheers,

James

This revision now requires changes to proceed.Mar 31 2015, 8:24 AM

It has been added already in backend - http://reviews.llvm.org/D8505 , where we got no other decent possibility.
Why not to use the same in frontend?
Also, see comments below

lib/Basic/Targets.cpp
4197

for a57+v8.1a it would be weird to try to pass the test, commented below.
a57 would normally normally yield macro

__ARM_ARCH_8A__ 1

see https://github.com/llvm-mirror/clang/blob/1d941335617c6199e8340084c8a6c37c1b8014ec/lib/Basic/Targets.cpp#L4244

But I suspect we'd need to have

__ARM_ARCH_8_1A__ 1

, as tested in very last test here.
Unfortunately, without ACLE issued we could not yet realize, whether we'd need both of them.

test/Preprocessor/arm-target-features.c
322

for a57+v8.1a it would be weird to pass this test

vsukharev updated this revision to Diff 23041.Apr 1 2015, 6:06 AM
vsukharev retitled this revision from [AArch64, ARM] Add v8.1a architecture and generic cpu to [AArch64] Add v8.1a architecture.
vsukharev updated this object.
vsukharev edited edge metadata.
vsukharev set the repository for this revision to rL LLVM.
This revision was automatically updated to reflect the committed changes.