-
-
Notifications
You must be signed in to change notification settings - Fork 14
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
aarch64: Support FEAT_LSE128 and FEAT_LRCPC3 #68
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
taiki-e
added
the
O-arm
Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state
label
Jan 30, 2023
taiki-e
force-pushed
the
aarch64-lse128
branch
2 times, most recently
from
February 4, 2023 14:23
1a1baba
to
9fd4110
Compare
taiki-e
changed the title
aarch64: Support FEAT_LSE128
aarch64: Support FEAT_LSE128 and FEAT_LRCPC3
Feb 6, 2023
taiki-e
force-pushed
the
aarch64-lse128
branch
7 times, most recently
from
February 9, 2023 15:50
e83b63a
to
22878a7
Compare
I could build rust-lang/rust#107224 locally and compile the test suite with However, ArmIE does not support Armv8.9/Armv9.4, so I could not run tests with ArmIE (got SIGILL). |
taiki-e
force-pushed
the
main
branch
2 times, most recently
from
July 29, 2023 08:13
a4d8248
to
6d90a3d
Compare
taiki-e
force-pushed
the
aarch64-lse128
branch
3 times, most recently
from
August 8, 2023 02:36
0740795
to
940e407
Compare
taiki-e
added
O-aarch64
Target: Armv8-A, Armv8-R, or later processors in AArch64 mode
and removed
O-arm
Target: 32-bit Arm processors (armv6, armv7, thumb...), including 64-bit Arm in AArch32 state
labels
Sep 2, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
armv9.4-a added the following instructions as FEAT_LSE128:
armv8.9-a/armv9.4-a added the following instructions as FEAT_LRCPC3:
This PR optimizes aarch64 128-bit acquire-load/release-store when FEAT_LSE2 and FEAT_LRCPC3 are enabled and optimizes aarch64 128-bit fetch_and/fetch_or/swap/{release,seqcst}-store when FEAT_LSE128 is enabled.
See also the relevant LLVM patches: D141406 (FEAT_LSE128), D141429 (FEAT_LRCPC3)), D143506
This PR is still marked as a draft because:
LLVM added support for FEAT_LSE128/FEAT_LRCPC3 on LLVM 16 (llvm/llvm-project@7fea6f2, llvm/llvm-project@a6aaa96), so we need to wait for Upgrade to LLVM 16 rust-lang/rust#107224.cc #10