Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 952 Bytes

charter.md

File metadata and controls

15 lines (11 loc) · 952 Bytes

Charter

The main goal of the asm project group is to design and implement an asm! macro using a syntax that we feel we can maintain, easily write, and stabilize.

The project group has the following additional goals:

  • to provide a transition path for existing users of the unstable asm! macro.
  • to ensure that the chosen asm! syntax is portable to different compiler backends such as LLVM, GCC, etc.
  • to provide a fallback implementation on compiler backends that do not support inline assembly natively (e.g. Cranelift).
  • to initially support most major architectures (x86, ARM, RISC-V) with the intention of extending to other architectures in the future.

With a lower priority, the project group also intends to tackle the following secondary, future goals:

  • support for module-level assembly (global_asm!).
  • support for naked functions (#[naked]).