diff --git a/README.md b/README.md index a3c59df..22e60c0 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,18 @@ GoDoc

-High-level Golang x86 assembly generator. Inspired by [PeachPy](https://github.com/Maratyszcza/PeachPy). +

High-level Golang x86 Assembly Generator

-_Warning: `avo` is experimental. APIs are subject to change._ +`avo` aims to make high-performance Go assembly easier to write, review and maintain. It's a Go package that presents a familiar assembly-like interface, together with features to simplify development without sacrificing performance: + +* `avo` programs _are_ Go programs: use **control structures** for assembly generation +* **Register allocation**: write your kernels with **virtual registers** and `avo` assigns physical registers for you +* Automatic **parameter load/stores**: ensure memory offsets are always correct even for complex data structures +* Generation of **stub files** to interface with your Go package + +Inspired by the [PeachPy](https://github.com/Maratyszcza/PeachPy) and [asmjit](https://github.com/asmjit/asmjit) projects. + +_Note: `avo` is still in an experimental phase. APIs subject to change._ ## Install