From 91e048ff29a08314cffa786de1b556f0a9a9ddff Mon Sep 17 00:00:00 2001 From: Michael McLoughlin Date: Thu, 3 Jan 2019 22:02:02 -0800 Subject: [PATCH] doc: add description to README Updates #13 --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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