Error code E0472

Inline assembly (asm!) is not supported on this target.

Example of erroneous code:

// compile-flags: --target sparc64-unknown-linux-gnu
#![no_std]

use core::arch::asm;

fn main() {
    unsafe {
        asm!(""); // error: inline assembly is not supported on this target
    }
}

The Rust compiler does not support inline assembly, with the asm! macro (previously llvm_asm!), for all targets. All Tier 1 targets do support this macro but support among Tier 2 and 3 targets is not guaranteed (even when they have std support). Note that this error is related to error[E0658]: inline assembly is not stable yet on this architecture, but distinct in that with E0472 support is not planned or in progress.

There is no way to easily fix this issue, however:

  • Consider if you really need inline assembly, is there some other way to achieve your goal (intrinsics, etc)?
  • Consider writing your assembly externally, linking with it and calling it from Rust.
  • Consider contributing to https://github.com/rust-lang/rust and help integrate support for your target!