GNU lightning

 [image of the Head of a GNU]

GNU lightning is a library that generates assembly language code at run-time; it is very fast, making it ideal for Just-In-Time compilers, and it abstracts over the target CPU, as it exposes to the clients a standardized RISC instruction set inspired by the MIPS and SPARC chips.


GNU lightning 1.0 has been released and is usable in complex code generation tasks. The available backends cover the x86, SPARC and PowerPC architectures; the floating point interface is still experimental though, and developed for the x86 only.

Contact Paolo Bonzini or subscribe to the mailing list for more information and bug reports, or especially offer to write more backends.

There is also interest in adding more high-level features to lightning, such as a BURG-style tool, a tool to simplify the porting and make it less tedious (for example interfacing with Red Hat's CGEN tool) or a standardized library to synthesize instruction sequences such as multiplications as shifts and adds, or divisions as multiplication by the inverse.

GNU lightning Resources

Releases are available from Documentation is available on-line.