Skip to content

Conversation

cr1901
Copy link
Contributor

@cr1901 cr1901 commented Jan 22, 2022

The llvm_asm macro was removed recently, and the MSP430 backend relies on inline assembly to build useful embedded apps. I conveniently "found" time to implement basic support for the new inline asm macro syntax with the help of @Amanieu :D.

In addition to tests in the compiler, I have tested this locally against deployed MSP430 code and have not found any noticeable differences in firmware operation or objdump disassemblies between the old llvm_asm and the new asm syntax.

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jan 22, 2022
@rust-highfive
Copy link
Contributor

r? @lcnr

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 22, 2022
@rust-log-analyzer

This comment has been minimized.

@cr1901
Copy link
Contributor Author

cr1901 commented Jan 23, 2022

Oops... I need to update gcc and cranelift backends. I'll do that either tonight in a few hours or tomorrow morning.

@cr1901 cr1901 force-pushed the msp430-asm-squashed branch from 74e01e1 to 19809ed Compare January 23, 2022 04:45
@Amanieu
Copy link
Member

Amanieu commented Jan 23, 2022

@bors r+

@bors
Copy link
Collaborator

bors commented Jan 23, 2022

📌 Commit 19809ed has been approved by Amanieu

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 23, 2022
bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 23, 2022
…askrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#91526 (rustc_lint: Some early linting refactorings)
 - rust-lang#92555 (Implement RFC 3151: Scoped threads.)
 - rust-lang#93213 (Fix `let_chains` and `if_let_guard` feature flags)
 - rust-lang#93219 (Add preliminary support for inline assembly for msp430.)
 - rust-lang#93226 (Normalize field access types during borrowck)
 - rust-lang#93227 (Liberate late bound regions when collecting GAT substs in wfcheck)
 - rust-lang#93229 (Remove DiagnosticBuilder.quiet)
 - rust-lang#93234 (rustc_mir_itertools: Avoid needless `collect` with itertools)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 552b564 into rust-lang:master Jan 24, 2022
@rustbot rustbot added this to the 1.60.0 milestone Jan 24, 2022
bors bot added a commit to rust-embedded/svd2rust that referenced this pull request Jan 29, 2022
577: Bring documentation on MSP430 up to date. r=burrbull a=cr1901

Crate versions must be `0.3.0` or higher now; minor version `0.2.0` and below is unsupported due to (among other things) bumping to bare-metal `1.0.0` and [using](rust-lang/rust#93219) Rust inline assembly to implement useful operations.

Co-authored-by: William D. Jones <[email protected]>
bors bot added a commit to rust-embedded/svd2rust that referenced this pull request Jan 30, 2022
577: Bring documentation on MSP430 up to date. r=burrbull a=cr1901

Crate versions must be `0.3.0` or higher now; minor version `0.2.0` and below is unsupported due to (among other things) bumping to bare-metal `1.0.0` and [using](rust-lang/rust#93219) Rust inline assembly to implement useful operations.

Co-authored-by: William D. Jones <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants