mirror of
https://github.com/golang/go
synced 2024-11-18 08:54:45 -07:00
runtime: don't use duffcopy on Plan 9
In CL 14836, the implementation of duffcopy on amd64 was changed to replace the use of the MOVQ instructions by MOVUPS. However, it broke the build on plan9/amd64, since Plan 9 doesn't allow floating point in note handler. This change disables the use of duffcopy on Plan 9. Fixes #12829. Change-Id: Ifd5b17b17977a1b631b16c3dfe2dc7ab4ad00507 Reviewed-on: https://go-review.googlesource.com/15421 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
e4add8d569
commit
50ad337238
@ -80,7 +80,7 @@ func blockcopy(n, ns *gc.Node, osrc, odst, w int64) {
|
||||
gins(x86.ACLD, nil, nil)
|
||||
} else {
|
||||
// normal direction
|
||||
if q > 128 || (gc.Nacl && q >= 4) {
|
||||
if q > 128 || (gc.Nacl && q >= 4) || (obj.Getgoos() == "plan9" && q >= 4) {
|
||||
gconreg(movptr, q, x86.REG_CX)
|
||||
gins(x86.AREP, nil, nil) // repeat
|
||||
gins(x86.AMOVSQ, nil, nil) // MOVQ *(SI)+,*(DI)+
|
||||
|
Loading…
Reference in New Issue
Block a user