-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
adjust documented inline-asm register constraints #90736
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
(as discussed at the 2021-11-09 T-lang meeting) cc @Amanieu and @joshtriplett |
It's my understanding that Amaneau would prefer that the If we want to allow the high registers to be used with thumb1 inline assembly, a separate register class could be made for that, but note that LLVM doesn't even actually support that use case at this time. There is not any register class you can provide to LLVM to make give you the high registers (r8 and above) with thumb1 code. |
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
I'm actually starting to have second thoughts on the value of having a separate In any case, this PR accurately describes what currently happens. @bors r+ rollup |
📌 Commit a306d35 has been approved by |
…askrgr Rollup of 3 pull requests Successful merges: - rust-lang#89930 (Only use `clone3` when needed for pidfd) - rust-lang#90736 (adjust documented inline-asm register constraints) - rust-lang#90783 (Update Miri) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Also restricts r8-r14 from being used on Thumb1 targets as per rust-lang#90736.
…plett Remove the reg_thumb register class for asm! on ARM Also restricts r8-r14 from being used on Thumb1 targets as per rust-lang#90736. cc `@Lokathor` r? `@joshtriplett`
…plett Remove the reg_thumb register class for asm! on ARM Also restricts r8-r14 from being used on Thumb1 targets as per rust-lang#90736. cc ``@Lokathor`` r? ``@joshtriplett``
Also restricts r8-r14 from being used on Thumb1 targets as per rust-lang#90736.
…plett Remove the reg_thumb register class for asm! on ARM Also restricts r8-r14 from being used on Thumb1 targets as per rust-lang#90736. cc ``@Lokathor`` r? ``@joshtriplett``
This change more clearly specifies how
reg
andreg_thumb
work with ARM, Thumb2, and Thumb1 code.Based upon the llvm documentation for register constraint codes.
To be clear, this just updates the docs to match what already happens with rustc/llvm.
No change in the compiler is required to make it match this new documentation.