Mach is a fast RISC-V instruction encoder and decoder written in portable C. This page runs the decoder entirely in your browser through WebAssembly, so uploaded binaries never leave your device. The following ISA bases and extensions are implemented:
| feature | version | status |
|---|---|---|
| RV32I | 2.1 | complete |
| RV64I | 2.1 | complete |
| A | 2.1 | complete |
| Zalrsc | 1.0 | complete |
| Zaamo | 1.0 | complete |
| B | 1.0 | complete |
| C | 2.0 | complete |
| D | 2.2 | complete |
| F | 2.2 | complete |
| H | 1.0 | complete |
| K | 1.0.1 | complete |
| M | 2.0 | complete |
| N | 1.1 | legacy1 |
| Q | 2.2 | complete |
| S | 1.13 | complete |
| V | 1.0 | complete |
| Ssctr | 1.0 | complete |
| Sstc | 1.0 | complete |
| XTheadBa | 1.0 | complete |
| XTheadCondMov | 1.0 | complete |
| Zabha | 1.0 | complete |
| Zacas | 1.0 | complete |
| Zalasr | 1.0 | complete |
| Zawrs | 1.0 | complete |
| Zcb | 1.0 | complete |
| Zclsd | 1.0 | complete |
| Zcmop | 1.0 | complete |
| Zcmp | 1.0 | complete |
| Zcmt | 1.0 | complete |
| Zfa | 1.0 | complete |
| Zfbfmin | 1.0 | complete |
| Zfh | 1.0 | complete |
| Zfhmin | 1.0 | complete |
| Zicbom | 1.0 | complete |
| Zicbop | 1.0 | complete |
| Zicboz | 1.0 | complete |
| Zicfilp | 1.0 | complete |
| Zicfiss | 1.0 | complete |
| Zicntr | 2.0 | complete |
| Zicond | 1.0 | complete |
| Zicsr | 2.0 | complete |
| Zifencei | 2.0 | complete |
| Zihintntl | 1.0 | complete |
| Zihintpause | 2.0 | complete |
| Zihpm | 2.0 | complete |
| Zilsd | 1.0 | complete |
| Zimop | 1.0 | complete |
| Zvbb | 1.0 | complete |
| Zvbc | 1.0 | complete |
| Zvfbfmin | 1.0 | complete |
| Zvfbfwma | 1.0 | complete |
| Zvkn | 1.0 | complete |
1 N 1.1 is the legacy user-level interrupt extension, retained for compatibility.
| instructions | decode time | throughput | decoded |
|---|---|---|---|
| - | - | - | - |
loading examples... waiting for Mach... -
drop a RISC-V binary here
ELF32, ELF64, or a raw little-endian instruction stream