Skip to content

[cherry-pick] Add back aarch64 v8a support #138

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

oToToT
Copy link

@oToToT oToToT commented Apr 28, 2022

Since 8689f5e, the generic CPU for aarch64 is set to the intersection of v8a and v8r.
Therefore, some register like el2_ttbr0 is not supported in default setting.

This patch brings them back on default setting to avoid some backward compatibility problems.

Fixes the Rust part of llvm#53956.

(cherry-picked from 4a31af8)

Since D110065, the 'R' profile support is added to LLVM. It turns the
`generic` cpu into the intersection of v8-a and v8-r. However, this
makes some backward compatibility problems. The original patch makes
the clang driver implicitly pass -march=armv8-a when only the triple
is specified. Since it only applies to clang, other tools like
llvm-objdump still faces the backward compatibility problem.

This patch applies the same idea to MC related tools by enabling '+v8a'
feature when nothing is specified (both CPU and FS are empty) for
MCSubtargetInfo creation.

This patch should fix PR53956.

Reviewed by: labrinea

Differential Revision: https://reviews.llvm.org/D124319
@nikic
Copy link

nikic commented Apr 28, 2022

This should probably get an upstream 14.0.x backport?

@oToToT
Copy link
Author

oToToT commented Apr 29, 2022

Yes, this seems reasonable to me to request a backport in LLVM.

Backport request: llvm#55182

@oToToT oToToT changed the title [cherry-pick] Add back aarch64 v8a-a support [cherry-pick] Add back aarch64 v8a support May 23, 2022
@oToToT
Copy link
Author

oToToT commented Jun 14, 2022

It's now backported to LLVM 14.0.5, should I close this PR?

@nikic
Copy link

nikic commented Jun 14, 2022

Yeah, we should merge this from the upstream branch now. Or probably rebase, as this is the final expected LLVM 14.x release.

@nikic nikic closed this Jun 14, 2022
vext01 added a commit to vext01/llvm-project that referenced this pull request Apr 25, 2024
Serialise outlining function attribute.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants