]> Cypherpunks repositories - gostls13.git/commitdiff
doc/go1.18: mention register ABI on ARM64 and PPC64
authorCherry Mui <cherryyz@google.com>
Fri, 12 Nov 2021 18:10:30 +0000 (13:10 -0500)
committerCherry Mui <cherryyz@google.com>
Fri, 19 Nov 2021 21:41:33 +0000 (21:41 +0000)
For #47694.

Change-Id: Ide378f4a34587027c3d84fed2126c5b9bd8f7287
Reviewed-on: https://go-review.googlesource.com/c/go/+/363694
Trust: Cherry Mui <cherryyz@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
doc/go1.18.html

index cc5c5427469f69202c91369c2909e77fcc08f1fe..61bb8dbbcba315a43300fbd78fa887c8bcc77036 100644 (file)
@@ -71,12 +71,6 @@ proposal</a>.
   The <code>GOAMD64</code> environment variable defaults to <code>v1</code>.
 </p>
 
-<h3 id="ppc64">PPC64</h3>
-
-<p><!-- CL 353969 -->
-  TODO: <a href="https://golang.org/cl/353969">https://golang.org/cl/353969</a>: internal/buildcfg: enable register ABI for PPC64
-</p>
-
 <h3 id="riscv">RISC-V</h3>
 
 <p><!-- golang.org/issue/47100, CL 334872 -->
@@ -170,6 +164,25 @@ proposal</a>.
 
 <h2 id="compiler">Compiler</h2>
 
+<p><!-- https://golang.org/issue/40724 -->
+  Go 1.17 <a href=go1.17#compiler>implemented</a> a new way of passing
+  function arguments and results using registers instead of the stack
+  on 64-bit x86 architecture on selected operating systems.
+  Go 1.18 expands the supported platforms to include 64-bit ARM (<code>GOARCH=arm64</code>),
+  big- and little-endian 64-bit PowerPC (<code>GOARCH=ppc64</code>, <code>ppc64le</code>),
+  as well as 64-bit x86 architecture (<code>GOARCH=amd64</code>)
+  on all operating systems.
+  On 64-bit ARM and 64-bit PowerPC systems, benchmarking shows
+  performance improvements of 10% or more.
+</p>
+
+<p>
+  As <a href=go1.17#compiler>mentioned</a> in the Go 1.17 release notes,
+  this change does not affect the functionality of any safe Go code and
+  is designed to have no impact on most assembly code. See the
+  <a href=go1.17#compiler>Go 1.17 release notes</a> for more details.
+</p>
+
 <p><!-- CL 298611 -->
   TODO: <a href="https://golang.org/cl/298611">https://golang.org/cl/298611</a>: cmd/compile: add -asan option
 </p>