Skip to content
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

Document aarch64 target_feature options #1102

Merged
merged 1 commit into from
Mar 15, 2022

Conversation

adamgemmell
Copy link
Contributor

@adamgemmell adamgemmell commented Nov 5, 2021

Draft documentation update rust-lang/rust#90620

Of note is the fact that I haven't documented the "v8.Xa" target features in order to discourage their use. It's much better to use the more granular target features available.

@ehuss ehuss added the S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository label Nov 5, 2021
@adamgemmell adamgemmell force-pushed the dev/aarch64-target-feature branch from 1c52e72 to 3d594b9 Compare February 8, 2022 16:30
@adamgemmell adamgemmell marked this pull request as ready for review February 9, 2022 09:53
@adamgemmell
Copy link
Contributor Author

@ehuss This and #1061 are no longer blocked on stabilisation - we're currently merging PRs for this (see rust-lang/rust#86941 (comment))

src/attributes/codegen.md Outdated Show resolved Hide resolved
src/attributes/codegen.md Outdated Show resolved Hide resolved
@ehuss
Copy link
Contributor

ehuss commented Mar 15, 2022

Thanks for putting this together!

I can't find how to verify the implied feature mappings. How can I validate those? I see the feature mapping on the rust side, but those don't seem to completely encompass the mappings here. The x86 side has the implicit mappings defined (here), but I can't find the same thing for the aarch64 side.

@ehuss ehuss removed the S-waiting-on-stabilization Waiting for a stabilization PR to be merged in the main Rust repository label Mar 15, 2022
@adamgemmell
Copy link
Contributor Author

@ehuss I've been using https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64.td combined with the "to_llvm_features" mapping you linked. The array of features at the end of each def provides the implied mapping.

I can see X86.td also exists with this information, not really sure why it's duplicated there. The two sources don't seem to conflict at least.

Copy link
Contributor

@ehuss ehuss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I'm going to approve even though I am not particularly an expert here. It seems to match what has been stabilized. Followup PRs to fix anything amiss are welcome.

@ehuss ehuss merged commit 8e462e9 into rust-lang:master Mar 15, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 16, 2022
Update books

## reference

8 commits in 9d289c05fce7254b99c6a0d354d84abb7fd7a032..0a2fe6651fbccc6416c5110fdf5b93fb3cb29247
2022-02-23 08:58:20 -0800 to 2022-03-15 09:32:25 -0700
- Documentation PR for cfg_panic (rust-lang/reference#1157)
- Document aarch64 `target_feature` options (rust-lang/reference#1102)
- Try to clarify destructor not being run scenario. (rust-lang/reference#1107)
- Add undocumented Punctuation token Tilde `~` (rust-lang/reference#1149)
- update UB list for safe target_feature (rust-lang/reference#1050)
- Update const_eval.md for feature stabilization (rust-lang/reference#1166)
- Remove `.intel_syntax`/`.att_syntax` support entirely.
- Fix `.intel_syntax` directive

## book

3 commits in 3f255ed40b8c82a0434088568fbed270dc31bf00..036e88a4f135365de85358febe5324976a56030a
2022-02-27 21:26:12 -0500 to 2022-03-04 21:53:33 -0500
- Fix some links and small wordings
- Snapshot of chapter 19 for nostarch
- Clarify fully-qualified syntax explanation

## rust-by-example

2 commits in 2a928483a20bb306a7399c0468234db90d89afb5..d504324f1e7dc7edb918ac39baae69f1f1513b8e
2022-02-28 11:36:59 -0300 to 2022-03-07 09:26:32 -0300
- Fixed extra indentation at line 43 in Phantom Testcase example. (rust-lang/rust-by-example#1515)
- Typo fixed in description of inline ASM cpuid function (rust-lang/rust-by-example#1514)

## rustc-dev-guide

3 commits in 32f2a5b..0e4b961
2022-03-01 10:45:24 -0600 to 2022-03-14 08:40:37 -0700
- update winget install instructions to ensure proper packages are installed (-e for --exact, and full package names to ensure arbitrary packages from
the msstore source aren't installed)
- Add missing rustdoc tests explanations
- Fix incorrectly escaped backtick
@adamgemmell adamgemmell deleted the dev/aarch64-target-feature branch March 16, 2022 10:15
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