From 91e048ff29a08314cffa786de1b556f0a9a9ddff Mon Sep 17 00:00:00 2001
From: Michael McLoughlin
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