These targets (CPU / Platform / OS combinations) can run rustc
itself.
You can download a libstd
or libcore
for this target using rustup target add XXXX-YYY-ZZZ
, then compiler with cargo --target=XXXX-YYY-ZZZ
.
Rust knows about your target, and so you can compile for this target by
specifying cargo +nightly run -Z build-std --target XXXX-YYY-ZZZ
.
LLVM can emit machine code for your CPU, but you must specify a JSON target
specification with cargo +nightly run -Z build-std --target xxx.json
.
These are all the targets that exist.
If the Host column is not ticked then running rustc
on them isn't supported so you have to cross-compile.
The Tier column refers to Rusts levels of support (see https://doc.rust-lang.org/nightly/rustc/platform-support.html)
Target | Notes | Tier | Host | libstd | Rustup | CPU | CPU Features |
---|---|---|---|---|---|---|---|
aarch64-apple-darwin |
ARM64 iOS | 2 | apple-a12 |
||||
aarch64-fuchsia |
Fuchsia | 2 | generic |
||||
aarch64-linux-android |
ARM64 Android | 2 | generic |
||||
aarch64-pc-windows-msvc |
ARM64 Windows MSVC | 2 | generic |
||||
aarch64-unknown-cloudabi |
CloudABI | 3 | generic |
||||
aarch64-unknown-freebsd |
ARM64 FreeBSD | 3 | ✓ | ✓ | ✓ | generic |
|
aarch64-unknown-hermit |
Hermit Uni-kernel application | 3 | generic |
||||
aarch64-unknown-linux-gnu |
ARM64 Linux (kernel 4.2, glibc 2.17) | 2 | ✓ | ✓ | ✓ | generic |
|
aarch64-unknown-linux-musl |
ARM64 Linux with MUSL | 2 | generic |
||||
aarch64-unknown-netbsd |
3 | generic |
|||||
aarch64-unknown-none-softfloat |
Bare ARM64, softfloat | 2 | generic |
||||
aarch64-unknown-none |
Bare ARM64, hardfloat | 2 | generic |
||||
aarch64-unknown-openbsd |
ARM64 OpenBSD | 3 | ✓ | ✓ | ✓ | generic |
|
aarch64-unknown-redox |
3 | generic |
|||||
aarch64-uwp-windows-msvc |
3 | generic |
|||||
aarch64-wrs-vxworks |
Wind River Systems' VXWorks RTOS | 3 | generic |
||||
arm-linux-androideabi |
ARMv7 Android | 2 | generic |
+strict-align,+v5te |
|||
arm-unknown-linux-gnueabi |
ARMv6 Linux (kernel 3.2, glibc 2.17) | 2 | ✓ | ✓ | ✓ | generic |
+strict-align,+v6,+vfp2,-d32 |
arm-unknown-linux-gnueabihf |
ARMv6 Linux, hardfloat (kernel 3.2, glibc 2.17) | 2 | ✓ | ✓ | ✓ | generic |
+strict-align,+v6,+vfp2,-d32 |
arm-unknown-linux-musleabi |
ARMv6 Linux with MUSL | 2 | generic |
+strict-align,+v6 |
|||
arm-unknown-linux-musleabihf |
ARMv6 Linux with MUSL, hardfloat | 2 | generic |
+strict-align,+v6,+vfp2,-d32 |
|||
armebv7r-none-eabi |
Bare ARMv7-R, Big Endian | 2 | generic |
||||
armebv7r-none-eabihf |
Bare ARMv7-R, Big Endian, hardfloat | 2 | generic |
+vfp3,-d32,-fp16 |
|||
armv4t-unknown-linux-gnueabi |
3 | generic |
+soft-float,+strict-align |
||||
armv5te-unknown-linux-gnueabi |
ARMv5TE Linux (kernel 4.4, glibc 2.23) | 2 | generic |
+soft-float,+strict-align |
|||
armv5te-unknown-linux-musleabi |
ARMv5TE Linux with MUSL | 2 | generic |
+soft-float,+strict-align |
|||
armv6-unknown-freebsd |
ARMv6 FreeBSD | 3 | ✓ | ✓ | ✓ | generic |
+v6,+vfp2,-d32 |
armv6-unknown-netbsd-eabihf |
ARMv6 NetBSD, hardfloat | 3 | generic |
+v6,+vfp2,-d32 |
|||
armv7-linux-androideabi |
ARMv7a Android | 2 | generic |
+v7,+thumb-mode,+thumb2,+vfp3,-d32,-neon |
|||
armv7-unknown-cloudabi-eabihf |
3 | cortex-a8 |
+v7,+vfp3,+neon |
||||
armv7-unknown-freebsd |
ARMv7 FreeBSD | 3 | ✓ | ✓ | ✓ | generic |
+v7,+vfp3,-d32,+thumb2,-neon |
armv7-unknown-linux-gnueabi |
ARMv7 Linux (kernel 4.15, glibc 2.27) | 2 | generic |
+v7,+thumb2,+soft-float,-neon |
|||
armv7-unknown-linux-gnueabihf |
ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17) | 2 | ✓ | ✓ | ✓ | generic |
+v7,+vfp3,-d32,+thumb2,-neon |
armv7-unknown-linux-musleabi |
ARMv7 Linux, MUSL | 2 | generic |
+v7,+thumb2,+soft-float,-neon |
|||
armv7-unknown-linux-musleabihf |
ARMv7 Linux with MUSL | 2 | generic |
+v7,+vfp3,-d32,+thumb2,-neon |
|||
armv7-unknown-netbsd-eabihf |
ARMv7 NetBSD, hardfloat | 3 | generic |
+v7,+vfp3,-d32,+thumb2,-neon |
|||
armv7-wrs-vxworks-eabihf |
Wind River Systems' VXWorks RTOS | 3 | generic |
+v7,+vfp3,-d32,+thumb2,-neon |
|||
armv7a-none-eabi |
Bare ARMv7-A | 2 | generic |
+v7,+thumb2,+soft-float,-neon,+strict-align |
|||
armv7a-none-eabihf |
Bare ARMv7-A, hardfloat | 3 | generic |
+v7,+vfp3,-d32,+thumb2,-neon,+strict-align |
|||
thumbv7a-pc-windows-msvc |
Windows on 32-bit ARM | 3 | generic |
+vfp3,+neon |
|||
thumbv7neon-linux-androideabi |
Thumb2 ARMv7a Android with NEON | 2 | generic |
+v7,+thumb-mode,+thumb2,+vfp3,+neon |
|||
thumbv7neon-unknown-linux-gnueabihf |
Thumb2 ARMv7a with NEON (kernel 4.4, glibc 2.23) | 2 | generic |
+v7,+thumb-mode,+thumb2,+vfp3,+neon |
|||
thumbv7neon-unknown-linux-musleabihf |
Thumb2 ARMv7a with NEON (musl-c) | 3 | generic |
+v7,+thumb-mode,+thumb2,+vfp3,+neon |
|||
armv7r-none-eabi |
Bare ARMv7-R | 2 | generic |
||||
armv7r-none-eabihf |
Bare ARMv7-R, hardfloat | 2 | generic |
+vfp3,-d32,-fp16 |
|||
asmjs-unknown-emscripten |
asm.js via Emscripten | 2 | generic |
||||
avr-unknown-unknown |
Bare Atmel AVR microcontrollers | 3 | generic |
||||
hexagon-unknown-linux-musl |
Bare Qualcomm Hexagon DSP | 3 | hexagonv60 |
-small-data,+hvx-length128b |
|||
i586-pc-windows-msvc |
32-bit x86 Windows w/o SSE | 2 | pentium |
||||
i586-unknown-linux-gnu |
32-bit x86 Linux w/o SSE (kernel 4.4, glibc 2.23) | 2 | pentium |
||||
i586-unknown-linux-musl |
32-bit x86 Linux w/o SSE, MUSL | 2 | pentium |
||||
i686-apple-darwin |
32-bit x86 OSX (10.7+, Lion+) | 3 | ✓ | ✓ | ✓ | yonah |
|
i686-linux-android |
32-bit x86 Android | 2 | pentiumpro |
+mmx,+sse,+sse2,+sse3,+ssse3 |
|||
i686-pc-windows-gnu |
32-bit x86 MinGW (Windows 7+) | 1 | ✓ | ✓ | ✓ | pentium4 |
|
i686-pc-windows-msvc |
32-bit x86 MSVC (Windows 7+) | 1 | ✓ | ✓ | ✓ | pentium4 |
|
i686-unknown-cloudabi |
32-bit x86 CloudABI | 3 | pentium4 |
||||
i686-unknown-freebsd |
32-bit x86 FreeBSD | 2 | ✓ | ✓ | ✓ | pentium4 |
|
i686-unknown-haiku |
32-bit x86 Haiku | 3 | ✓ | ✓ | ✓ | pentium4 |
|
i686-unknown-linux-gnu |
32-bit x86 Linux (kernel 2.6.32+, glibc 2.11+) | 1 | ✓ | ✓ | ✓ | pentium4 |
|
i686-unknown-linux-musl |
32-bit x86 Linux with MUSL | 2 | pentium4 |
||||
i686-unknown-netbsd |
32-bit x86 NetBSD | 3 | pentium4 |
||||
i686-unknown-openbsd |
32-bit x86 OpenBSD | 3 | ✓ | ✓ | ✓ | pentium4 |
|
i686-unknown-uefi |
32-bit x86 UEFI (PC bootloader) | 3 | pentium4 |
-mmx,-sse,+soft-float |
|||
i686-uwp-windows-gnu |
32-bit x86 Universal Windows Platform | 3 | pentium4 |
||||
i686-uwp-windows-msvc |
32-bit x86 Universal Windows Platform | 3 | pentium4 |
||||
i686-wrs-vxworks |
Wind River Systems' VXWorks RTOS | 3 | pentium4 |
||||
mips-unknown-linux-gnu |
MIPS32 R2 Linux (kernel 4.4, glibc 2.23) | 2 | ✓ | ✓ | ✓ | mips32r2 |
+mips32r2,+fpxx,+nooddspreg |
mips-unknown-linux-musl |
MIPS32 R2 Linux with MUSL | 2 | mips32r2 |
+mips32r2,+soft-float |
|||
mips-unknown-linux-uclibc |
MIPS32 R2 Linux with uClibc | 3 | mips32r2 |
+mips32r2,+soft-float |
|||
mips64-unknown-linux-gnuabi64 |
MIPS64 Linux, n64 ABI (kernel 4.4, glibc 2.23) | 2 | ✓ | ✓ | ✓ | mips64r2 |
+mips64r2 |
mips64-unknown-linux-muslabi64 |
MIPS64 Linux, n64 ABI, MUSL | 2 | mips64r2 |
+mips64r2 |
|||
mips64el-unknown-linux-gnuabi64 |
MIPS64 (LE) Linux, n64 ABI (kernel 4.4, glibc 2.23) | 2 | ✓ | ✓ | ✓ | mips64r2 |
+mips64r2 |
mips64el-unknown-linux-muslabi64 |
MIPS64 (LE) Linux, n64 ABI, MUSL | 2 | mips64r2 |
+mips64r2 |
|||
mipsel-sony-psp |
Sony PlayStation Portable | 3 | mips2 |
+single-float |
|||
mipsel-unknown-linux-gnu |
MIPS (LE) Linux (kernel 4.4, glibc 2.23) | 2 | ✓ | ✓ | ✓ | mips32r2 |
+mips32r2,+fpxx,+nooddspreg |
mipsel-unknown-linux-musl |
MIPS (LE) Linux with MUSL | 2 | mips32r2 |
+mips32r2,+soft-float |
|||
mipsel-unknown-linux-uclibc |
MIPS (LE) Linux with uClibc | 3 | mips32r2 |
+mips32r2,+soft-float |
|||
mipsisa32r6-unknown-linux-gnu |
MIPS32 R6 ISA Linux | 3 | mips32r6 |
+mips32r6 |
|||
mipsisa32r6el-unknown-linux-gnu |
MIPS32 R6 ISA (LE) Linux | 3 | mips32r6 |
+mips32r6 |
|||
mipsisa64r6-unknown-linux-gnuabi64 |
MIPS64 R6 ISA Linux | 3 | mips64r6 |
+mips64r6 |
|||
mipsisa64r6el-unknown-linux-gnuabi64 |
MIPS64 R6 ISA (LE) Linux | 3 | mips64r6 |
+mips64r6 |
|||
msp430-none-elf |
Texas Instruments MSP430 | 3 | generic |
||||
nvptx64-nvidia-cuda |
emit=asm generates PTX code that runs on NVIDIA GPUs | 2 | sm_30 |
||||
powerpc-unknown-linux-gnu |
32-bit PowerPC Linux (kernel 2.6.32, glibc 2.11) | 2 | ✓ | ✓ | ✓ | generic |
|
powerpc-unknown-linux-gnuspe |
Freescale/IBM e500 Signal Processing Engine | 3 | generic |
||||
powerpc-unknown-linux-musl |
32-bit PowerPC Linux with muslc | 3 | generic |
||||
powerpc-unknown-netbsd |
32-bit PowerPC NetBSD | 3 | generic |
||||
powerpc-wrs-vxworks-spe |
Freescale/IBM e500 Signal Processing Engine | 3 | generic |
+secure-plt,+msync |
|||
powerpc-wrs-vxworks |
Wind River Systems' VXWorks | 3 | generic |
+secure-plt |
|||
powerpc64-unknown-freebsd |
PPC64 FreeBSD (ELFv1 and ELFv2) | 3 | ✓ | ✓ | ✓ | ppc64 |
|
powerpc64-unknown-linux-gnu |
PPC64 Linux (kernel 2.6.32, glibc 2.11) | 2 | ✓ | ✓ | ✓ | ppc64 |
|
powerpc64-unknown-linux-musl |
PPC64 Linux with muslc | 3 | ppc64 |
||||
powerpc64-wrs-vxworks |
Wind River Systems' VXWorks | 3 | ppc64 |
||||
powerpc64le-unknown-linux-gnu |
PPC64LE Linux (kernel 3.10, glibc 2.17) | 2 | ✓ | ✓ | ✓ | ppc64le |
|
powerpc64le-unknown-linux-musl |
PPC64LE Linux with muslc | 3 | ppc64le |
||||
riscv32i-unknown-none-elf |
Bare RISC-V (RV32I ISA) | 2 | generic-rv32 |
||||
riscv32imac-unknown-none-elf |
Bare RISC-V (RV32IMAC ISA) | 2 | generic-rv32 |
+m,+a,+c |
|||
riscv32imc-unknown-none-elf |
Bare RISC-V (RV32IMC ISA) | 2 | generic-rv32 |
+m,+c |
|||
riscv64gc-unknown-linux-gnu |
RISC-V Linux (kernel 4.20, glibc 2.29) | 2 | ✓ | ✓ | ✓ | generic-rv64 |
+m,+a,+f,+d,+c |
riscv64gc-unknown-none-elf |
Bare RISC-V (RV64IMAFDC ISA) | 2 | generic-rv64 |
+m,+a,+f,+d,+c |
|||
riscv64imac-unknown-none-elf |
Bare RISC-V (RV64IMAC ISA) | 2 | generic-rv64 |
+m,+a,+c |
|||
s390x-unknown-linux-gnu |
S390x Linux (kernel 2.6.32, glibc 2.11) | 2 | ✓ | ✓ | ✓ | z10 |
|
sparc-unknown-linux-gnu |
32-bit SPARC Linux | 3 | v9 |
||||
sparc64-unknown-linux-gnu |
64-bit SPARC Linux (kernel 4.4, glibc 2.23) | 2 | v9 |
||||
sparc64-unknown-netbsd |
64-bit SPARC NetBSD | 3 | ✓ | ✓ | ✓ | v9 |
|
sparc64-unknown-openbsd |
64-bit SPARC OpenBSD | 3 | v9 |
||||
sparcv9-sun-solaris |
64-bit SPARC Solaris 10/11, illumos | 2 | v9 |
||||
thumbv6m-none-eabi |
Bare Cortex-M0, M0+, M1 | 2 | generic |
+soft-float,+strict-align |
|||
thumbv7em-none-eabi |
Bare Cortex-M4, M7 | 2 | generic |
||||
thumbv7em-none-eabihf |
Bare Cortex-M4F, M7F, FPU, hardfloat | 2 | generic |
+vfp4,-d32,-fp64 |
|||
thumbv7m-none-eabi |
Bare Cortex-M3 | 2 | generic |
||||
thumbv8m.base-none-eabi |
ARMv8-M Baseline | 2 | generic |
+strict-align |
|||
thumbv8m.main-none-eabi |
ARMv8-M Mainline | 2 | generic |
||||
thumbv8m.main-none-eabihf |
ARMv8-M Baseline, hardfloat | 2 | generic |
+fp-armv8,-fp64,-d32 |
|||
wasm32-unknown-emscripten |
WebAssembly via Emscripten | 2 | generic |
||||
wasm32-unknown-unknown |
WebAssembly | 2 | generic |
||||
wasm32-wasiWebAssembly |
with WASI | 2 | generic |
||||
x86_64-apple-ios |
64-bit x86 iOS | 2 | ✓ | ✓ | ✓ | core2 |
|
x86_64-fortanix-unknown-sgx |
Fortanix ABI for 64-bit Intel SGX | 2 | x86_64 |
+rdrnd,+rdseed,+lvi-cfi,+lvi-load-hardening |
|||
x86_64-fuchsia |
64-bit Fuchsia | 2 | x86_64 |
||||
x86_64-linux-android |
64-bit x86 Android | 2 | x86_64 |
+mmx,+sse,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt |
|||
x86_64-linux-kernel |
64-bit x86 Linux Kernel Drivers | 3 | x86_64 |
-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float |
|||
x86_64-pc-solaris |
64-bit x86 Solaris | 3 | x86_64 |
||||
x86_64-pc-windows-gnu |
64-bit MinGW (Windows 7+) | 1 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-pc-windows-msvc |
64-bit MSVC (Windows 7+) | 1 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-rumprun-netbsd |
64-bit NetBSD Rump Kernel | 2 | x86_64 |
||||
x86_64-sun-solaris |
64-bit Solaris 10/11, illumos | 2 | x86_64 |
||||
x86_64-unknown-cloudabi |
CloudABI | 3 | x86_64 |
||||
x86_64-unknown-dragonfly |
64-bit DragonFlyBSD | 3 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-freebsd |
64-bit FreeBSD | 2 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-haiku |
64-bit Haiku | 3 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-hermit-kernel |
Hermit Uni-kernel kernel | 3 | x86_64 |
-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float |
|||
x86_64-unknown-hermit |
Hermit Uni-kernel application | 3 | x86_64 |
+rdrnd,+rdseed |
|||
x86_64-unknown-illumos |
64-bit x86 illumos | 2 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-l4re-uclibc |
3 | x86_64 |
|||||
x86_64-unknown-linux-gnu |
64-bit Linux (kernel 2.6.32+, glibc 2.11+) | 1 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-linux-gnux32 |
64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27) | 2 | x86_64 |
||||
x86_64-unknown-linux-musl |
64-bit Linux with MUSL | 2 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-netbsd |
NetBSD/amd64 | 2 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-openbsd |
64-bit OpenBSD | 3 | ✓ | ✓ | ✓ | x86_64 |
|
x86_64-unknown-redox |
Redox OS | 2 | x86_64 |
||||
x86_64-unknown-uefi |
64-bit UEFI (PC bootloader) | 3 | x86_64 |
||||
x86_64-uwp-windows-gnu |
64-bit Universal Windows Platform | 3 | x86_64 |
||||
x86_64-uwp-windows-msvc |
64-bit Universal Windows Platform | 3 | x86_64 |
||||
x86_64-wrs-vxworks |
Wind River Systems' VXWorks | 3 | x86_64 |
Here is a complete list of all the LLVM architectures and Processors
supported, along with which built-in Rust targets use that CPU. Note that in
most cases, newer CPUs in a given architecture are backwards compatible (e.g.
an i686
Pentium Pro will run i586
Pentium code just fine).
Unfortunately the processors are listed in alphabetical order rather than date order. PRs welcome to fix this!
It is unclear why some targets differ (e.g. sparcv9-sun-solaris
vs
sparc-unknown-linux
) when they target the same CPU (a SPARC V9). Also, the
thumbXX-unknown-none-eabi
targets are really confusing, as Thumb is just an
instruction encoding for Arm supported by a range of CPUs.
You can specify a particular processor when you perform your build by adding
--target-cpu XXXX
. Note that this won't affect the pre-compiled libstd
or
libcore
if that's what your target uses, so you might need to treat it as a
built-in target and compile libstd
/libcore
from
source.
Architecture | Processor | Support |
---|---|---|
aarch64 |
a64fx |
Out-of-tree |
apple-a10 |
Out-of-tree | |
apple-a11 |
Out-of-tree | |
apple-a12 |
aarch64-apple-darwin |
|
apple-a13 |
Out-of-tree | |
apple-a7 |
Out-of-tree | |
apple-a8 |
Out-of-tree | |
apple-a9 |
Out-of-tree | |
apple-latest |
Out-of-tree | |
apple-s4 |
Out-of-tree | |
apple-s5 |
Out-of-tree | |
carmel |
Out-of-tree | |
cortex-a34 |
Out-of-tree | |
cortex-a35 |
Out-of-tree | |
cortex-a53 |
Out-of-tree | |
cortex-a55 |
Out-of-tree | |
cortex-a57 |
Out-of-tree | |
cortex-a65 |
Out-of-tree | |
cortex-a65ae |
Out-of-tree | |
cortex-a72 |
Out-of-tree | |
cortex-a73 |
Out-of-tree | |
cortex-a75 |
Out-of-tree | |
cortex-a76 |
Out-of-tree | |
cortex-a76ae |
Out-of-tree | |
cortex-a77 |
Out-of-tree | |
cortex-a78 |
Out-of-tree | |
cortex-x1 |
Out-of-tree | |
cyclone |
Out-of-tree | |
exynos-m3 |
Out-of-tree | |
exynos-m4 |
Out-of-tree | |
exynos-m5 |
Out-of-tree | |
falkor |
Out-of-tree | |
generic |
aarch64-unknown-freebsd aarch64-unknown-linux-gnu aarch64-unknown-openbsd aarch64-fuchsia aarch64-pc-windows-msvc aarch64-unknown-cloudabi aarch64-unknown-hermit aarch64-unknown-linux-gnu aarch64-unknown-linux-musl aarch64-unknown-netbsd aarch64-unknown-none aarch64-unknown-none-softfloat aarch64-unknown-redox aarch64-uwp-windows-msvc aarch64-wrs-vxworks |
|
kryo |
Out-of-tree | |
neoverse-e1 |
Out-of-tree | |
neoverse-n1 |
Out-of-tree | |
saphira |
Out-of-tree | |
thunderx |
Out-of-tree | |
thunderx2t99 |
Out-of-tree | |
thunderx3t110 |
Out-of-tree | |
thunderxt81 |
Out-of-tree | |
thunderxt83 |
Out-of-tree | |
thunderxt88 |
Out-of-tree | |
tsv110 |
Out-of-tree | |
arm |
arm1020e |
Out-of-tree |
arm1020t |
Out-of-tree | |
arm1022e |
Out-of-tree | |
arm10e |
Out-of-tree | |
arm10tdmi |
Out-of-tree | |
arm1136j-s |
Out-of-tree | |
arm1136jf-s |
Out-of-tree | |
arm1156t2-s |
Out-of-tree | |
arm1156t2f-s |
Out-of-tree | |
arm1176j-s |
Out-of-tree | |
arm1176jz-s |
Out-of-tree | |
arm1176jzf-s |
Out-of-tree | |
arm710t |
Out-of-tree | |
arm720t |
Out-of-tree | |
arm7tdmi |
Out-of-tree | |
arm7tdmi-s |
Out-of-tree | |
arm8 |
Out-of-tree | |
arm810 |
Out-of-tree | |
arm9 |
Out-of-tree | |
arm920 |
Out-of-tree | |
arm920t |
Out-of-tree | |
arm922t |
Out-of-tree | |
arm926ej-s |
Out-of-tree | |
arm940t |
Out-of-tree | |
arm946e-s |
Out-of-tree | |
arm966e-s |
Out-of-tree | |
arm968e-s |
Out-of-tree | |
arm9e |
Out-of-tree | |
arm9tdmi |
Out-of-tree | |
cortex-a12 |
Out-of-tree | |
cortex-a15 |
Out-of-tree | |
cortex-a17 |
Out-of-tree | |
cortex-a32 |
Out-of-tree | |
cortex-a35 |
Out-of-tree | |
cortex-a5 |
Out-of-tree | |
cortex-a53 |
Out-of-tree | |
cortex-a55 |
Out-of-tree | |
cortex-a57 |
Out-of-tree | |
cortex-a7 |
Out-of-tree | |
cortex-a72 |
Out-of-tree | |
cortex-a73 |
Out-of-tree | |
cortex-a75 |
Out-of-tree | |
cortex-a76 |
Out-of-tree | |
cortex-a76ae |
Out-of-tree | |
cortex-a77 |
Out-of-tree | |
cortex-a78 |
Out-of-tree | |
cortex-a8 |
armv7-unknown-cloudabi-eabihf |
|
cortex-a9 |
Out-of-tree | |
cortex-m0 |
Out-of-tree | |
cortex-m0plus |
Out-of-tree | |
cortex-m1 |
Out-of-tree | |
cortex-m23 |
Out-of-tree | |
cortex-m3 |
Out-of-tree | |
cortex-m33 |
Out-of-tree | |
cortex-m35p |
Out-of-tree | |
cortex-m4 |
Out-of-tree | |
cortex-m55 |
Out-of-tree | |
cortex-m7 |
Out-of-tree | |
cortex-r4 |
Out-of-tree | |
cortex-r4f |
Out-of-tree | |
cortex-r5 |
Out-of-tree | |
cortex-r52 |
Out-of-tree | |
cortex-r7 |
Out-of-tree | |
cortex-r8 |
Out-of-tree | |
cortex-x1 |
Out-of-tree | |
cyclone |
Out-of-tree | |
ep9312 |
Out-of-tree | |
exynos-m3 |
Out-of-tree | |
exynos-m4 |
Out-of-tree | |
exynos-m5 |
Out-of-tree | |
generic |
armv7-unknown-linux-musleabihf (+v7,+vfp3,-d32,+thumb2,-neon ) armv7-unknown-linux-musleabi (+v7,+thumb2,+soft-float,-neon ) armv7-unknown-netbsd-eabihf (+v7,+vfp3,-d32,+thumb2,-neon ) armv7-wrs-vxworks-eabihf (+v7,+vfp3,-d32,+thumb2,-neon ) armv7-unknown-linux-gnueabi (+v7,+thumb2,+soft-float,-neon ) armv7-unknown-linux-gnueabihf (+v7,+vfp3,-d32,+thumb2,-neon ) armv7-unknown-freebsd (+v7,+vfp3,-d32,+thumb2,-neon ) armv7r-none-eabihf (+vfp3,-d32,-fp16 ) armv7-unknown-cloudabi-eabihf (+v7,+vfp3,+neon ) armv7a-none-eabihf (+v7,+vfp3,-d32,+thumb2,-neon,+strict-align ) armv7a-none-eabi (+v7,+thumb2,+soft-float,-neon,+strict-align ) armv5te-unknown-linux-musleabi (+soft-float,+strict-align ) armv7-linux-androideabi (+v7,+thumb-mode,+thumb2,+vfp3,-d32,-neon ) armv6-unknown-netbsd-eabihf (+v6,+vfp2,-d32 ) armv4t-unknown-linux-gnueabi (+soft-float,+strict-align ) arm-unknown-linux-gnueabihf (+strict-align,+v6,+vfp2,-d32 ) armv5te-unknown-linux-gnueabi (+soft-float,+strict-align ) arm-unknown-linux-musleabihf (+strict-align,+v6,+vfp2,-d32 ) arm-unknown-linux-gnueabi (+strict-align,+v6 ) armv6-unknown-freebsd (+v6,+vfp2,-d32 ) arm-unknown-linux-musleabi (+strict-align,+v6 ) arm-linux-androideabi (+strict-align,+v5te ) armebv7r-none-eabihf (+vfp3,-d32,-fp16 ) |
|
iwmmxt |
Out-of-tree | |
krait |
Out-of-tree | |
kryo |
Out-of-tree | |
mpcore |
Out-of-tree | |
mpcorenovfp |
Out-of-tree | |
neoverse-n1 |
Out-of-tree | |
sc000 |
Out-of-tree | |
sc300 |
Out-of-tree | |
strongarm |
Out-of-tree | |
strongarm110 |
Out-of-tree | |
strongarm1100 |
Out-of-tree | |
strongarm1110 |
Out-of-tree | |
swift |
Out-of-tree | |
xscale |
Out-of-tree | |
avr |
generic |
avr-unknown-unknown |
at43usb320 |
Out-of-tree | |
at43usb355 |
Out-of-tree | |
at76c711 |
Out-of-tree | |
at86rf401 |
Out-of-tree | |
at90c8534 |
Out-of-tree | |
at90can128 |
Out-of-tree | |
at90can32 |
Out-of-tree | |
at90can64 |
Out-of-tree | |
at90pwm1 |
Out-of-tree | |
at90pwm161 |
Out-of-tree | |
at90pwm2 |
Out-of-tree | |
at90pwm216 |
Out-of-tree | |
at90pwm2b |
Out-of-tree | |
at90pwm3 |
Out-of-tree | |
at90pwm316 |
Out-of-tree | |
at90pwm3b |
Out-of-tree | |
at90pwm81 |
Out-of-tree | |
at90s1200 |
Out-of-tree | |
at90s2313 |
Out-of-tree | |
at90s2323 |
Out-of-tree | |
at90s2333 |
Out-of-tree | |
at90s2343 |
Out-of-tree | |
at90s4414 |
Out-of-tree | |
at90s4433 |
Out-of-tree | |
at90s4434 |
Out-of-tree | |
at90s8515 |
Out-of-tree | |
at90s8535 |
Out-of-tree | |
at90scr100 |
Out-of-tree | |
at90usb1286 |
Out-of-tree | |
at90usb1287 |
Out-of-tree | |
at90usb162 |
Out-of-tree | |
at90usb646 |
Out-of-tree | |
at90usb647 |
Out-of-tree | |
at90usb82 |
Out-of-tree | |
at94k |
Out-of-tree | |
ata5272 |
Out-of-tree | |
ata5505 |
Out-of-tree | |
ata5790 |
Out-of-tree | |
ata5795 |
Out-of-tree | |
ata6285 |
Out-of-tree | |
ata6286 |
Out-of-tree | |
ata6289 |
Out-of-tree | |
atmega103 |
Out-of-tree | |
atmega128 |
Out-of-tree | |
atmega1280 |
Out-of-tree | |
atmega1281 |
Out-of-tree | |
atmega1284 |
Out-of-tree | |
atmega1284p |
Out-of-tree | |
atmega1284rfr2 |
Out-of-tree | |
atmega128a |
Out-of-tree | |
atmega128rfa1 |
Out-of-tree | |
atmega128rfr2 |
Out-of-tree | |
atmega16 |
Out-of-tree | |
atmega161 |
Out-of-tree | |
atmega162 |
Out-of-tree | |
atmega163 |
Out-of-tree | |
atmega164a |
Out-of-tree | |
atmega164p |
Out-of-tree | |
atmega164pa |
Out-of-tree | |
atmega165 |
Out-of-tree | |
atmega165a |
Out-of-tree | |
atmega165p |
Out-of-tree | |
atmega165pa |
Out-of-tree | |
atmega168 |
Out-of-tree | |
atmega168a |
Out-of-tree | |
atmega168p |
Out-of-tree | |
atmega168pa |
Out-of-tree | |
atmega169 |
Out-of-tree | |
atmega169a |
Out-of-tree | |
atmega169p |
Out-of-tree | |
atmega169pa |
Out-of-tree | |
atmega16a |
Out-of-tree | |
atmega16hva |
Out-of-tree | |
atmega16hva2 |
Out-of-tree | |
atmega16hvb |
Out-of-tree | |
atmega16hvbrevb |
Out-of-tree | |
atmega16m1 |
Out-of-tree | |
atmega16u2 |
Out-of-tree | |
atmega16u4 |
Out-of-tree | |
atmega2560 |
Out-of-tree | |
atmega2561 |
Out-of-tree | |
atmega2564rfr2 |
Out-of-tree | |
atmega256rfr2 |
Out-of-tree | |
atmega32 |
Out-of-tree | |
atmega323 |
Out-of-tree | |
atmega324a |
Out-of-tree | |
atmega324p |
Out-of-tree | |
atmega324pa |
Out-of-tree | |
atmega325 |
Out-of-tree | |
atmega3250 |
Out-of-tree | |
atmega3250a |
Out-of-tree | |
atmega3250p |
Out-of-tree | |
atmega3250pa |
Out-of-tree | |
atmega325a |
Out-of-tree | |
atmega325p |
Out-of-tree | |
atmega325pa |
Out-of-tree | |
atmega328 |
Out-of-tree | |
atmega328p |
Out-of-tree | |
atmega329 |
Out-of-tree | |
atmega3290 |
Out-of-tree | |
atmega3290a |
Out-of-tree | |
atmega3290p |
Out-of-tree | |
atmega3290pa |
Out-of-tree | |
atmega329a |
Out-of-tree | |
atmega329p |
Out-of-tree | |
atmega329pa |
Out-of-tree | |
atmega32a |
Out-of-tree | |
atmega32c1 |
Out-of-tree | |
atmega32hvb |
Out-of-tree | |
atmega32hvbrevb |
Out-of-tree | |
atmega32m1 |
Out-of-tree | |
atmega32u2 |
Out-of-tree | |
atmega32u4 |
Out-of-tree | |
atmega32u6 |
Out-of-tree | |
atmega406 |
Out-of-tree | |
atmega48 |
Out-of-tree | |
atmega48a |
Out-of-tree | |
atmega48p |
Out-of-tree | |
atmega48pa |
Out-of-tree | |
atmega64 |
Out-of-tree | |
atmega640 |
Out-of-tree | |
atmega644 |
Out-of-tree | |
atmega644a |
Out-of-tree | |
atmega644p |
Out-of-tree | |
atmega644pa |
Out-of-tree | |
atmega644rfr2 |
Out-of-tree | |
atmega645 |
Out-of-tree | |
atmega6450 |
Out-of-tree | |
atmega6450a |
Out-of-tree | |
atmega6450p |
Out-of-tree | |
atmega645a |
Out-of-tree | |
atmega645p |
Out-of-tree | |
atmega649 |
Out-of-tree | |
atmega6490 |
Out-of-tree | |
atmega6490a |
Out-of-tree | |
atmega6490p |
Out-of-tree | |
atmega649a |
Out-of-tree | |
atmega649p |
Out-of-tree | |
atmega64a |
Out-of-tree | |
atmega64c1 |
Out-of-tree | |
atmega64hve |
Out-of-tree | |
atmega64m1 |
Out-of-tree | |
atmega64rfr2 |
Out-of-tree | |
atmega8 |
Out-of-tree | |
atmega8515 |
Out-of-tree | |
atmega8535 |
Out-of-tree | |
atmega88 |
Out-of-tree | |
atmega88a |
Out-of-tree | |
atmega88p |
Out-of-tree | |
atmega88pa |
Out-of-tree | |
atmega8a |
Out-of-tree | |
atmega8hva |
Out-of-tree | |
atmega8u2 |
Out-of-tree | |
attiny10 |
Out-of-tree | |
attiny102 |
Out-of-tree | |
attiny104 |
Out-of-tree | |
attiny11 |
Out-of-tree | |
attiny12 |
Out-of-tree | |
attiny13 |
Out-of-tree | |
attiny13a |
Out-of-tree | |
attiny15 |
Out-of-tree | |
attiny1634 |
Out-of-tree | |
attiny167 |
Out-of-tree | |
attiny20 |
Out-of-tree | |
attiny22 |
Out-of-tree | |
attiny2313 |
Out-of-tree | |
attiny2313a |
Out-of-tree | |
attiny24 |
Out-of-tree | |
attiny24a |
Out-of-tree | |
attiny25 |
Out-of-tree | |
attiny26 |
Out-of-tree | |
attiny261 |
Out-of-tree | |
attiny261a |
Out-of-tree | |
attiny28 |
Out-of-tree | |
attiny4 |
Out-of-tree | |
attiny40 |
Out-of-tree | |
attiny4313 |
Out-of-tree | |
attiny43u |
Out-of-tree | |
attiny44 |
Out-of-tree | |
attiny44a |
Out-of-tree | |
attiny45 |
Out-of-tree | |
attiny461 |
Out-of-tree | |
attiny461a |
Out-of-tree | |
attiny48 |
Out-of-tree | |
attiny5 |
Out-of-tree | |
attiny828 |
Out-of-tree | |
attiny84 |
Out-of-tree | |
attiny84a |
Out-of-tree | |
attiny85 |
Out-of-tree | |
attiny861 |
Out-of-tree | |
attiny861a |
Out-of-tree | |
attiny87 |
Out-of-tree | |
attiny88 |
Out-of-tree | |
attiny9 |
Out-of-tree | |
atxmega128a1 |
Out-of-tree | |
atxmega128a1u |
Out-of-tree | |
atxmega128a3 |
Out-of-tree | |
atxmega128a3u |
Out-of-tree | |
atxmega128a4u |
Out-of-tree | |
atxmega128b1 |
Out-of-tree | |
atxmega128b3 |
Out-of-tree | |
atxmega128c3 |
Out-of-tree | |
atxmega128d3 |
Out-of-tree | |
atxmega128d4 |
Out-of-tree | |
atxmega16a4 |
Out-of-tree | |
atxmega16a4u |
Out-of-tree | |
atxmega16c4 |
Out-of-tree | |
atxmega16d4 |
Out-of-tree | |
atxmega16e5 |
Out-of-tree | |
atxmega192a3 |
Out-of-tree | |
atxmega192a3u |
Out-of-tree | |
atxmega192c3 |
Out-of-tree | |
atxmega192d3 |
Out-of-tree | |
atxmega256a3 |
Out-of-tree | |
atxmega256a3b |
Out-of-tree | |
atxmega256a3bu |
Out-of-tree | |
atxmega256a3u |
Out-of-tree | |
atxmega256c3 |
Out-of-tree | |
atxmega256d3 |
Out-of-tree | |
atxmega32a4 |
Out-of-tree | |
atxmega32a4u |
Out-of-tree | |
atxmega32c4 |
Out-of-tree | |
atxmega32d4 |
Out-of-tree | |
atxmega32e5 |
Out-of-tree | |
atxmega32x1 |
Out-of-tree | |
atxmega384c3 |
Out-of-tree | |
atxmega384d3 |
Out-of-tree | |
atxmega64a1 |
Out-of-tree | |
atxmega64a1u |
Out-of-tree | |
atxmega64a3 |
Out-of-tree | |
atxmega64a3u |
Out-of-tree | |
atxmega64a4u |
Out-of-tree | |
atxmega64b1 |
Out-of-tree | |
atxmega64b3 |
Out-of-tree | |
atxmega64c3 |
Out-of-tree | |
atxmega64d3 |
Out-of-tree | |
atxmega64d4 |
Out-of-tree | |
atxmega8e5 |
Out-of-tree | |
avr1 |
Out-of-tree | |
avr2 |
Out-of-tree | |
avr25 |
Out-of-tree | |
avr3 |
Out-of-tree | |
avr31 |
Out-of-tree | |
avr35 |
Out-of-tree | |
avr4 |
Out-of-tree | |
avr5 |
Out-of-tree | |
avr51 |
Out-of-tree | |
avr6 |
Out-of-tree | |
avrtiny |
Out-of-tree | |
avrxmega1 |
Out-of-tree | |
avrxmega2 |
Out-of-tree | |
avrxmega3 |
Out-of-tree | |
avrxmega4 |
Out-of-tree | |
avrxmega5 |
Out-of-tree | |
avrxmega6 |
Out-of-tree | |
avrxmega7 |
Out-of-tree | |
m3000 |
Out-of-tree | |
hexagon |
generic |
Out-of-tree |
hexagonv5 |
Out-of-tree | |
hexagonv55 |
Out-of-tree | |
hexagonv60 |
hexagon-unknown-linux-musl (-small-data,+hvx-length128b ) |
|
hexagonv62 |
Out-of-tree | |
hexagonv65 |
Out-of-tree | |
hexagonv66 |
Out-of-tree | |
hexagonv67 |
Out-of-tree | |
hexagonv67t |
Out-of-tree | |
mips /mips64 |
generic |
Out-of-tree |
mips1 |
Out-of-tree | |
mips2 |
mipsel-sony-psp (+single-float ) |
|
mips3 |
Out-of-tree | |
mips32 |
Out-of-tree | |
mips32r2 |
mips-unknown-linux-gnu (+mips32r2,+fpxx,+nooddspreg ) mips-unknown-linux-musl (+mips32r2,+soft-float ) mips-unknown-linux-uclibc (+mips32r2,+soft-float ) mipsel-unknown-linux-gnu (+mips32r2,+fpxx,+nooddspreg ) mipsel-unknown-linux-musl (+mips32r2,+soft-float ) mipsel-unknown-linux-uclibc (+mips32r2,+soft-float ) |
|
mips32r3 |
Out-of-tree | |
mips32r5 |
Out-of-tree | |
mips32r6 |
mipsisa32r6-unknown-linux-gnu (+mips32r6 ) mipsisa32r6el-unknown-linux-gnu (+mips32r6 ) |
|
mips4 |
Out-of-tree | |
mips5 |
Out-of-tree | |
mips64 |
Out-of-tree | |
mips64r2 |
mips64-unknown-linux-gnuabi64 (+mips64r2 ) mips64-unknown-linux-muslabi64 (+mips64r2 ) mips64el-unknown-linux-gnuabi64 (+mips64r2 ) mips64el-unknown-linux-muslabi64 (+mips64r2 ) |
|
mips64r3 |
Out-of-tree | |
mips64r5 |
Out-of-tree | |
mips64r6 |
mipsisa64r6-unknown-linux-gnuabi64 (+mips64r6 ) mipsisa64r6el-unknown-linux-gnuabi64 (+mips64r6 ) |
|
octeon |
Out-of-tree | |
p5600 |
Out-of-tree | |
msp430 |
generic |
msp430-none-elf |
msp430 |
Out-of-tree | |
msp430x |
Out-of-tree | |
nvptx64 |
sm_20 |
Out-of-tree |
sm_21 |
Out-of-tree | |
sm_30 |
nvptx64-nvidia-cuda |
|
sm_32 |
Out-of-tree | |
sm_35 |
Out-of-tree | |
sm_37 |
Out-of-tree | |
sm_50 |
Out-of-tree | |
sm_52 |
Out-of-tree | |
sm_53 |
Out-of-tree | |
sm_60 |
Out-of-tree | |
sm_61 |
Out-of-tree | |
sm_62 |
Out-of-tree | |
sm_70 |
Out-of-tree | |
sm_72 |
Out-of-tree | |
sm_75 |
Out-of-tree | |
sm_80 |
Out-of-tree | |
powerpc /powerpc64 |
440 |
Out-of-tree |
450 |
Out-of-tree | |
601 |
Out-of-tree | |
602 |
Out-of-tree | |
603 |
Out-of-tree | |
603e |
Out-of-tree | |
603ev |
Out-of-tree | |
604 |
Out-of-tree | |
604e |
Out-of-tree | |
620 |
Out-of-tree | |
7400 |
Out-of-tree | |
7450 |
Out-of-tree | |
750 |
Out-of-tree | |
970 |
Out-of-tree | |
a2 |
Out-of-tree | |
a2q |
Out-of-tree | |
e500 |
Out-of-tree | |
e500mc |
Out-of-tree | |
e5500 |
Out-of-tree | |
future |
Out-of-tree | |
g3 |
Out-of-tree | |
g4 |
Out-of-tree | |
g4 |
Out-of-tree | |
g5 |
Out-of-tree | |
generic |
powerpc64le-unknown-linux-gnu powerpc-unknown-linux-gnuspe powerpc-unknown-netbsd powerpc-unknown-linux-gnu powerpc-unknown-linux-musl powerpc-wrs-vxworks (+secure-plt ) powerpc-wrs-vxworks-spe (+secure-plt,+msync ) |
|
ppc |
Out-of-tree | |
ppc32 |
Out-of-tree | |
ppc64 |
powerpc64-wrs-vxworks powerpc64-unknown-linux-musl powerpc64-unknown-freebsd powerpc64-unknown-linux-gnu |
|
ppc64le |
powerpc64le-unknown-linux-musl powerpc64le-unknown-linux-gnu |
|
pwr10 |
Out-of-tree | |
pwr3 |
Out-of-tree | |
pwr4 |
Out-of-tree | |
pwr5 |
Out-of-tree | |
pwr5x |
Out-of-tree | |
pwr6 |
Out-of-tree | |
pwr6x |
Out-of-tree | |
pwr7 |
Out-of-tree | |
pwr8 |
Out-of-tree | |
pwr9 |
Out-of-tree | |
riscv32 / riscv64 |
generic-rv32 |
riscv32i-unknown-none-elf riscv32imac-unknown-none-elf riscv32imc-unknown-none-elf |
generic-rv64 |
riscv64gc-unknown-linux-gnu riscv64gc-unknown-none-elf riscv64imac-unknown-none-elf |
|
rocket-rv32 |
Out-of-tree | |
rocket-rv64 |
Out-of-tree | |
sifive-e31 |
Out-of-tree | |
sifive-u54 |
Out-of-tree | |
s390x |
arch10 |
Out-of-tree |
arch11 |
Out-of-tree | |
arch12 |
Out-of-tree | |
arch13 |
Out-of-tree | |
arch8 |
Out-of-tree | |
arch9 |
Out-of-tree | |
generic |
Out-of-tree | |
z10 |
s390x-unknown-linux-gnu |
|
z13 |
Out-of-tree | |
z14 |
Out-of-tree | |
z15 |
Out-of-tree | |
z196 |
Out-of-tree | |
zEC12 |
Out-of-tree | |
sparc /sparc64 |
at697e |
Out-of-tree |
at697f |
Out-of-tree | |
f934 |
Out-of-tree | |
generic |
Out-of-tree | |
gr712rc |
Out-of-tree | |
gr740 |
Out-of-tree | |
hypersparc |
Out-of-tree | |
leon2 |
Out-of-tree | |
leon3 |
Out-of-tree | |
leon4 |
Out-of-tree | |
ma2080 |
Out-of-tree | |
ma2085 |
Out-of-tree | |
ma2100 |
Out-of-tree | |
ma2150 |
Out-of-tree | |
ma2155 |
Out-of-tree | |
ma2450 |
Out-of-tree | |
ma2455 |
Out-of-tree | |
ma2480 |
Out-of-tree | |
ma2485 |
Out-of-tree | |
ma2x5x |
Out-of-tree | |
ma2x8x |
Out-of-tree | |
myriad2 |
Out-of-tree | |
myriad2.1 |
Out-of-tree | |
myriad2.2 |
Out-of-tree | |
myriad2.3 |
Out-of-tree | |
niagara |
Out-of-tree | |
niagara2 |
Out-of-tree | |
niagara3 |
Out-of-tree | |
niagara4 |
Out-of-tree | |
sparclet |
Out-of-tree | |
sparclite |
Out-of-tree | |
sparclite86x |
Out-of-tree | |
supersparc |
Out-of-tree | |
tsc701 |
Out-of-tree | |
ultrasparc |
Out-of-tree | |
ultrasparc3 |
Out-of-tree | |
ut699 |
Out-of-tree | |
v7 |
Out-of-tree | |
v8 |
Out-of-tree | |
v9 |
sparc-unknown-linux-gnu sparc64-unknown-linux-gnu sparc64-unknown-netbsd sparc64-unknown-openbsd sparcv9-sun-solaris |
|
x86 |
amdfam10 |
Out-of-tree |
athlon |
Out-of-tree | |
athlon-4 |
Out-of-tree | |
athlon-fx |
Out-of-tree | |
athlon-mp |
Out-of-tree | |
athlon-tbird |
Out-of-tree | |
athlon-xp |
Out-of-tree | |
athlon64 |
Out-of-tree | |
athlon64-sse3 |
Out-of-tree | |
atom |
Out-of-tree | |
barcelona |
Out-of-tree | |
bdver1 |
Out-of-tree | |
bdver2 |
Out-of-tree | |
bdver3 |
Out-of-tree | |
bdver4 |
Out-of-tree | |
bonnell |
Out-of-tree | |
broadwell |
Out-of-tree | |
btver1 |
Out-of-tree | |
btver2 |
Out-of-tree | |
c3 |
Out-of-tree | |
c3-2 |
Out-of-tree | |
cannonlake |
Out-of-tree | |
cascadelake |
Out-of-tree | |
cooperlake |
Out-of-tree | |
core-avx-i |
Out-of-tree | |
core-avx2 |
Out-of-tree | |
core2 |
Out-of-tree | |
corei7 |
Out-of-tree | |
corei7-avx |
Out-of-tree | |
generic |
Out-of-tree | |
geode |
Out-of-tree | |
goldmont |
Out-of-tree | |
goldmont-plus |
Out-of-tree | |
haswell |
Out-of-tree | |
i386 |
Out-of-tree | |
i486 |
Out-of-tree | |
i586 |
Out-of-tree | |
i686 |
Out-of-tree | |
icelake-client |
Out-of-tree | |
icelake-server |
Out-of-tree | |
ivybridge |
Out-of-tree | |
k6 |
Out-of-tree | |
k6-2 |
Out-of-tree | |
k6-3 |
Out-of-tree | |
k8 |
Out-of-tree | |
k8-sse3 |
Out-of-tree | |
knl |
Out-of-tree | |
knm |
Out-of-tree | |
lakemont |
Out-of-tree | |
nehalem |
Out-of-tree | |
nocona |
Out-of-tree | |
opteron |
Out-of-tree | |
opteron-sse3 |
Out-of-tree | |
penryn |
Out-of-tree | |
pentium |
i586-pc-windows-msvc i586-unknown-linux-gnu i586-unknown-linux-musl |
|
pentium-m |
Out-of-tree | |
pentium-mmx |
Out-of-tree | |
pentium2 |
Out-of-tree | |
pentium3 |
Out-of-tree | |
pentium3m |
Out-of-tree | |
pentium4 |
i686-pc-windows-gnu i686-pc-windows-msvc i686-unknown-cloudabi i686-unknown-freebsd i686-unknown-haiku i686-unknown-linux-gnu i686-unknown-linux-musl i686-unknown-netbsd i686-unknown-openbsd i686-unknown-uefi (-mmx,-sse,+soft-float ) i686-uwp-windows-gnu i686-uwp-windows-msvc i686-wrs-vxworks |
|
pentium4m |
Out-of-tree | |
pentiumpro |
i686-linux-android (+mmx,+sse,+sse2,+sse3,+ssse3 ) |
|
prescott |
Out-of-tree | |
sandybridge |
Out-of-tree | |
silvermont |
Out-of-tree | |
skx |
Out-of-tree | |
skylake |
Out-of-tree | |
skylake-avx512 |
Out-of-tree | |
slm |
Out-of-tree | |
tigerlake |
Out-of-tree | |
tremont |
Out-of-tree | |
westmere |
Out-of-tree | |
winchip-c6 |
Out-of-tree | |
winchip2 |
Out-of-tree | |
x86-64 |
Out-of-tree | |
yonah |
i686-apple-darwin |
|
znver1 |
Out-of-tree | |
znver2 |
Out-of-tree | |
x86_64 |
amdfam10 |
Out-of-tree |
athlon |
Out-of-tree | |
athlon-4 |
Out-of-tree | |
athlon-fx |
Out-of-tree | |
athlon-mp |
Out-of-tree | |
athlon-tbird |
Out-of-tree | |
athlon-xp |
Out-of-tree | |
athlon64 |
Out-of-tree | |
athlon64-sse3 |
Out-of-tree | |
atom |
Out-of-tree | |
barcelona |
Out-of-tree | |
bdver1 |
Out-of-tree | |
bdver2 |
Out-of-tree | |
bdver3 |
Out-of-tree | |
bdver4 |
Out-of-tree | |
bonnell |
Out-of-tree | |
broadwell |
Out-of-tree | |
btver1 |
Out-of-tree | |
btver2 |
Out-of-tree | |
c3 |
Out-of-tree | |
c3-2 |
Out-of-tree | |
cannonlake |
Out-of-tree | |
cascadelake |
Out-of-tree | |
cooperlake |
Out-of-tree | |
core-avx-i |
Out-of-tree | |
core-avx2 |
Out-of-tree | |
core2 |
x86_64-apple-darwin |
|
corei7 |
Out-of-tree | |
corei7-avx |
Out-of-tree | |
generic |
Out-of-tree | |
geode |
Out-of-tree | |
goldmont |
Out-of-tree | |
goldmont-plus |
Out-of-tree | |
haswell |
Out-of-tree | |
i386 |
Out-of-tree | |
i486 |
Out-of-tree | |
i586 |
Out-of-tree | |
i686 |
Out-of-tree | |
icelake-client |
Out-of-tree | |
icelake-server |
Out-of-tree | |
ivybridge |
Out-of-tree | |
k6 |
Out-of-tree | |
k6-2 |
Out-of-tree | |
k6-3 |
Out-of-tree | |
k8 |
Out-of-tree | |
k8-sse3 |
Out-of-tree | |
knl |
Out-of-tree | |
knm |
Out-of-tree | |
lakemont |
Out-of-tree | |
nehalem |
Out-of-tree | |
nocona |
Out-of-tree | |
opteron |
Out-of-tree | |
opteron-sse3 |
Out-of-tree | |
penryn |
Out-of-tree | |
pentium |
Out-of-tree | |
pentium-m |
Out-of-tree | |
pentium-mmx |
Out-of-tree | |
pentium2 |
Out-of-tree | |
pentium3 |
Out-of-tree | |
pentium3m |
Out-of-tree | |
pentium4 |
Out-of-tree | |
pentium4m |
Out-of-tree | |
pentiumpro |
Out-of-tree | |
prescott |
Out-of-tree | |
sandybridge |
Out-of-tree | |
silvermont |
Out-of-tree | |
skx |
Out-of-tree | |
skylake |
Out-of-tree | |
skylake-avx512 |
Out-of-tree | |
slm |
Out-of-tree | |
tigerlake |
Out-of-tree | |
tremont |
Out-of-tree | |
westmere |
Out-of-tree | |
winchip-c6 |
Out-of-tree | |
winchip2 |
Out-of-tree | |
x86-64 |
x86_64-fortanix-unknown-sgx (+rdrnd,+rdseed,+lvi-cfi,+lvi-load-hardening ) x86_64-fuchsia x86_64-linux-android (+mmx,+sse,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt ) x86_64-linux-kernel (-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float ) x86_64-pc-solaris x86_64-pc-windows-gnu x86_64-pc-windows-msvc x86_64-rumprun-netbsd x86_64-sun-solaris x86_64-unknown-cloudabi x86_64-unknown-dragonfly x86_64-unknown-freebsd x86_64-unknown-haiku x86_64-unknown-hermit (+rdrnd,+rdseed ) x86_64-unknown-hermit-kernel (-mmx,-sse,-sse2,-sse3,-ssse3,-sse4.1,-sse4.2,-3dnow,-3dnowa,-avx,-avx2,+soft-float ) x86_64-unknown-illumos x86_64-unknown-l4re-uclibc x86_64-unknown-linux-gnu x86_64-unknown-linux-gnux32 x86_64-unknown-linux-musl x86_64-unknown-netbsd x86_64-unknown-openbsd x86_64-unknown-redox x86_64-unknown-uefi x86_64-uwp-windows-gnu x86_64-uwp-windows-msvc x86_64-wrs-vxworks |
|
yonah |
Out-of-tree | |
znver1 |
Out-of-tree | |
znver2 |
Out-of-tree |
Here's an list of CPU architectures that don't currently enjoy LLVM support (at least in the LLVM fork that Rust uses). If you have a machine with one of these, you are out of luck.
Vendor | CPU | Comments |
---|---|---|
ARM | ARM2/ARM250/ARM3 | Armv2 instruction set. Only has 26-bit pointers. e.g. Acorn Archimedes |
ARM | ARM6/ARM7 | Armv3 instruction set. Supports 26-bit and 32-bit pointers. e.g. Acorn RiscPC, A7500 |
DEC | Alpha 21064 (EV4) | e.g. Digital DECpc AXP 150 |
DEC | Alpha 21164 (EV5) | e.g. Digital AlphaStation 500/266 workstation |
DEC | Alpha 21264 (EV6) | e.g. Digital AlphaStation DS25 workstation |
DEC | Alpha 21364 (EV7) | e.g. Digital AlphaServer ES47 |
Intel | 8080 | e.g. MITS Altair 8800 |
Intel | 8086/8088 | Rust doesn't have segmented memory support. e.g. IBM PC and XT and clones |
Intel | 80286 | Compatible with 8086. Rust doesn't have segmented memory support. e.g. IBM PC AT and clones |
MOS | 6502 | e.g. Commodore PET/VIC-20/C64, Apple I/II, Nintendo Entertainment System |
Motorola | 6800 | e.g. MITS Altair 680 |
Motorola | 6809 | Replaced the 6800. Has two stack pointers. e.g. Tandy TRS-80 |
Motorola | 68000 | e.g. Commodore Amiga 500, Atari ST, Apple Macintosh, SEGA Genesis |
Motorola | 68010 | e.g. Sun2, HP 9000 Series 300 |
Motorola | 68020 | e.g. Commodore Amiga 1200, Atari ST, Apple Macintosh LC, Sun3 |
Motorola | 68030 | e.g. Commodore Amiga 3000, Atari TT, Apple Macintosh II, NeXT Cube, Sun-3x |
Motorola | 68040 | e.g. Commodore Amiga 4000, Apple Macintosh Quadra series |
Zilog | Z80 | Enhanced 8080 ISA. e.g. Sinclair ZX80/81/Spectrum, Amstrad CPC/PCW, MSX |
Intel | Itanium | IA-64 ISA. e.g. HP Integrity rx4610 |
Intel | Itanium 2 | IA-64 ISA. e.g. HP Integrity rx1600 |
Intel | Itanium 9300 | IA-64 ISA. e.g. HP Integrity rx2800 |
Intel | Itanium 9500 | IA-64 ISA |
Intel | Itanium 9700 | Last ever IA-64 ISA chip |
HP | PA-7x00 | PA-RISC 1.1 ISA. e.g. HP 9000 Series 700 Workstations |
HP | PA-8x00 | PA-RISC 2.0 ISA. e.g. HP 9000 Superdome mainframe |
Here's a list of OS / CPU combinations that Rust doesn't currently support. If you have a machine that runs one of these, you are out of luck.
This list is incomplete. Please help complete it!
Vendor | OS | Microarchitecture |
---|---|---|
Acorn | RISC OS 2/3.1 | Armv2 |
Acorn | RISC OS 3.5+ | Armv3/v4 |
ROOL | RISC OS 4/5 | Armv3 .. Armv8 |
Apple | System 1 .. System 7 | 68k |
Apple | Mac OS 8/9 | PowerPC |
Apple | Mac OS X 10.0..10.4 | PowerPC/PowerPC64 |
Apple | Mac OS X 10.5+ | x86 x86_64 |
Be | BeOS | PowerPC x86 |
Commodore | Amiga OS | 68k PowerPC |
Digital | Tru64 UNIX | Alpha |
Digital | VMS | VAX Alpha IA64 x86-64 |
FreeBSD | FreeBSD | Lots of CPU architecture not listed above |
IBM | AIX | POWER, ROMP, PowerPC, x86, S/370, S/390 |
IBM | OS/2 | x86 |
Linux | Linux | Lots of CPU architecture not listed above |
Microsoft | DOS | x86 |
Microsoft | Windows 2000 | x86 |
Microsoft | Windows 3.x | x86 |
Microsoft | Windows 9x | x86 |
Microsoft | Windows NT 3.x/4 | Alpha MIPS PowerPC x86 |
Microsoft | Windows XP | x86/x86_64 |
Microsoft | Xenix | x86 |
NetBSD | NetBSD | AArch64 Alpha Arm HP-PA Itanium 68k MIPS RISC-V SH3 SPARC VAX |
Next | NextStep | 68k x86 PA-RISC SPARC |
OpenBSD | OpenBSD | Lots of CPU architecture not listed above |
Silicon Graphics | IRIX | MIPS |
Sun | Solaris | SPARC V8 x86 |
Sun | SunOS | 68k x86 SPARC |
Let's assume we're allowed to upgrade the OS on this machine to the latest support (as opposed to what it shipped with).
The Intel Pentium (i586) was supported up to Debian Jessie (Kernel 3.16). The
i586-unknown-linux-musl
target should support Linux kernel 2.6.39 or higher,
so, I think you could compile a full stdlib Rust program for a Pentium 60
(from early 1993) running Debian Jessie using a standard built-in target.
If you are happy to supply a custom JSON format target (and use the nightly compiler), you can target a 386 running MS-DOS.
For this, we scan https://doc.rust-lang.org/nightly/rustc/platform-support.html and look for a tick in the "Host" column.
The i686-unknown-linux-gnu target works back to Kernel 2.6.32 and glibc 2.11, so you could find yourself a Pentium Pro (from late 1995) and run Debian Squeeze on it (which comes with Kernel 2.6.32). But you'll need a lot of RAM (or a lot of swap and a whole lot more patience).
The powerpc-unknown-linux-gnu
targets an unspecified PowerPC, so could
potentially work all the back to the 1993 PowerPC 601 in the IBM RS/6000? Can
anyone beat that?