Created AssemblyPolicy (markdown)
diff --git a/AssemblyPolicy.md b/AssemblyPolicy.md
new file mode 100644
index 0000000..f3f3e3d
--- /dev/null
+++ b/AssemblyPolicy.md
@@ -0,0 +1,17 @@
+# Assembly Policy
+
+This document describes when and how to add assembly code to routines in the Go-maintained packages.
+
+In general, the rules are:
+
+* we prefer portable Go, not assembly. Code in assembly means (N packages * M architectures) to maintain, rather than just N packages.
+
+* assembly code needs benchmarks showing it's worth it
+
+* minimize use of assembly. We'd rather have a small amount of assembly for a 50% speedup rather than twice as much assembly for a 55% speedup.
+
+* make your assembly easy to review, and ideally auto-generated from a Go program so we can review the generator program. Comment it well.
+
+* test it well. The bar for new assembly code is high. It needs commensurate test coverage.
+
+*TODO*: add more. This document is a work in progress.
\ No newline at end of file