Targets

x86_64AArch64
Operating systemLinuxLinux
Baselinex86-64-v3ARMv8.0-A
Implied by baselineAVX2 and FMA3 guaranteed to the code generator
ABISystem V AMD64AAPCS64
HardwareIntel Haswell (2013) or later, AMD Zen or laterany ARMv8.0-A

Both targets are first class. They are not a primary backend and a port: each has its own full backend and its own peephole optimizer, and 1,378 of 1,389 test programs run on both.

Output

  • ELF executables, static archives, and shared objects
  • Position-independent executables by default
  • DWARF v5 debug information with a registered language code, exercised by gdb-driven tests
  • Assembly emitted in Intel or AT&T syntax, assembled and linked with GNU binutils

Build axes

Two properties are fixed at build time rather than discovered at runtime:

String encoding — UTF-8 or UTF-32, chosen per binary. Compiled objects are encoding-specific, and UTF-8 symbols carry a distinguishing suffix so that importing with the wrong encoding fails at link time rather than linking the wrong code.

Deployment classhosted or fixed-arena, selected with --memory-class when you link. Code generation is byte-identical across both; regions are scheduled by the compiler within whichever class you pick. See allocator as a link decision.

Combined with the tasking flavour, the standard library ships as a small matrix of archives per architecture, resolved automatically from the target you name.

Cross-compilation

Either architecture can be built from a host of the other, on one machine, using cross binutils and user-mode emulation for running the results. This is how the test corpus covers both architectures from a single gate host.

What you need installed

binutilsthe compiler emits assembly and hands it to as and ld
libc6-devcompiled programs link against the C library and its startup objects

That is the whole list. The compiler binary is statically linked and has no library dependencies of its own — those two are for the programs it produces. See installing Mica.

A VS Code extension provides editor support.