GNU lightning

GNU lightning is a free-software library for generating assembly language code at run-time.

Version 2.1.3, released in September 2019, supports backends for SPARC (32-bit), x86 (32- and 64-bit), MIPS, ARM (32- and 64-bit), ia64, HPPA, PowerPC (32-bit), Alpha, S390 and RISC-V (64-bit).

In comparison to libraries such as LLVM or libJIT, GNU lightning provides only a low-level interface for assembling from a standardized RISC assembly language—loosely based on the SPARC and MIPS architectures[7]—into the target architecture's machine language.

[citation needed] Starting from 2.x, it generates code via intermediate graph, rather than one by one from each of its standardized instructions.

GNU lightning's instruction set is based loosely on existing RISC architectures.