Skip to content

Transpile llvm_asm to asm #363

@chrysn

Description

@chrysn

With the stabilization of the new asm language, the old llvm_asm is getting deprecated in Rust, creating the threat of eventual removal.

To build stable Rust code, we should aim to not just copy over the (LLVM / GCC style) assembly from C code, but try to change it to the newer (and stable) assembly language.

(#306 is different from this; that is just about emitting the old assembly with the new llvm_asm names).

I'm aware this is not a trivial request; it may be necessary to look for use cases that sponsor work on this.


Possible alternatives:

  • It may be possible to create extra assembly files for the blocks and then pull them in from the generated Rust code. It may also not.
  • Persuade Rust maintainers to keep llvm permanently deprecated -- discussion in Tracking Issue for LLVM-style inline assembly (llvm_asm) rust-lang/rust#70173 is not clear yet: deprecation happened and removal is announced, without any actual timeline for removal (or even a certainty that it will be removed)
  • Deprecate support for ASM in transpiled C.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions