]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/abi-internal: mention SSE restriction on Plan 9
authorAustin Clements <austin@google.com>
Fri, 3 Dec 2021 18:40:10 +0000 (13:40 -0500)
committerAustin Clements <austin@google.com>
Fri, 3 Dec 2021 21:23:11 +0000 (21:23 +0000)
Change-Id: I2be08b88b5147cf37ac55b7472d63503739c9f05
Reviewed-on: https://go-review.googlesource.com/c/go/+/369156
Trust: Austin Clements <austin@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/cmd/compile/abi-internal.md

index 50d8ed9159460d510d448cacc23a6ea502c8f012..7fe446366568124dc9d9c4559d28b6198cdb4d1e 100644 (file)
@@ -410,7 +410,11 @@ Special-purpose registers are as follows:
 | R13 | Scratch | Scratch | Scratch |
 | R14 | Current goroutine | Same | Same |
 | R15 | GOT reference temporary if dynlink | Same | Same |
-| X15 | Zero value | Same | Scratch |
+| X15 | Zero value (*) | Same | Scratch |
+
+(*) Except on Plan 9, where X15 is a scratch register because SSE
+registers cannot be used in note handlers (so the compiler avoids
+using them except when absolutely necessary).
 
 *Rationale*: These register meanings are compatible with Go’s
 stack-based calling convention except for R14 and X15, which will have