Skip to content

Tracking Issue for asm_experimental_arch #93335

Open

Description

@Amanieu

The feature gate for the issue is #![feature(asm_experimental_arch)].

Summary

This feature tracks asm! and global_asm! support for the following architectures:

Status

Each architecture needs to be reviewed before stabilization:

  • It must have clobber_abi.
  • It must be possible to clobber every register that is normally clobbered by a function call.
  • Generally review that the exposed register classes make sense.

See #93335 (comment) for a detailed todo list.

Activity

  1. added
    A-inline-assemblyArea: Inline assembly (`asm!(…)`)
    B-unstableBlocker: Implemented in the nightly compiler and unstable.
    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFC
    F-asm`#![feature(asm)]` (not `llvm_asm`)
    on Jan 26, 2022
  2. solomatov commented on Aug 11, 2024

    @solomatov

    Is there any chance that wasm32 assembly support will be stabilized any time soon? Are there any tasks where contributions might speed this up?

  3. matveitolochko commented on Sep 27, 2024

    @matveitolochko

    Is there any news about AVR ? If not, where and how can I contribute to this?

  4. tgross35 commented on Sep 27, 2024

    @tgross35
    Member

    The top post mentions the following:

    Each architecture needs to be reviewed before stabilization:
    * It must have clobber_abi.
    * It must be possible to clobber every register that is normally clobbered by a function call.
    * Generally review that the exposed register classes make sense.

    Anyone can post a stabilization (or status) report answering the above, probably with examples/tests, and that would be a good place for any platform to start. It would also be good to make sure there aren't any open LLVM issues, and mention it there.

    The bar for enabling AVR should be pretty low since it is tier 3. I am not a decision maker here but I think any of the tier 3 targets could probably be stabilized with just the report and some real-world usage backing it up.

    I'm not sure what exactly would be needed for the tier 2 and above targets, e.g. WASM as requested by @solomatov. Having a better picture of LLVM support is more important. @alexcrichton maybe you have an idea about the WASM picture here, or know who would?

  5. tgross35 commented on Sep 27, 2024

    @tgross35
    Member

    Cc @ecnelises with the above in case you are interested in moving ppc assembly forward, based on linked issues it seems like there may be some ecosystem use cases.

  6. alexcrichton commented on Sep 28, 2024

    @alexcrichton
    Member

    Ah I don't know very much about inline assembly for the wasm target. I believe it works enough to do "some things" but that's the extent of my knowledge, and I wouldn't be prepared to assist with or myself propose stabilization. I also don't know who might know more about the wasm side of things other than "generally LLVM folks doing wasm things may know more", which I realize is unfortunately not very specific or actionable...

  7. added a commit that references this issue on Oct 1, 2024
  8. added a commit that references this issue on Oct 1, 2024
  9. tgross35 commented on Oct 5, 2024

    @tgross35
    Member

    @AtomicGamer9523 #131258 is an example of stabilizing assembly for a target that is behind this feature. You could probably put up a similar PR for AVR.

  10. taiki-e commented on Oct 5, 2024

    @taiki-e
    Member

    In my understanding, here is the status on each architecture other than s390x (which already has stabilization PR):
    (Disclaimer: I'm not an expert of any of these. In particular, I know almost nothing about asm for WASM, GPUs, and BPF.)


    FYI:

  11. 33 remaining items

  12. added a commit that references this issue on Aug 22, 2026
  13. added a commit that references this issue on Aug 22, 2026
  14. added a commit that references this issue on Aug 23, 2026
  15. added a commit that references this issue on Aug 29, 2026
  16. added a commit that references this issue on Aug 29, 2026
  17. added 2 commits that reference this issue on Sep 22, 2026
  18. added a commit that references this issue on Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-inline-assemblyArea: Inline assembly (`asm!(…)`)B-unstableBlocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCF-asm`#![feature(asm)]` (not `llvm_asm`)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions