]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: don't use MOVOstore instruction on plan9/amd64
authorDavid du Colombier <0intro@gmail.com>
Thu, 24 Aug 2017 23:56:50 +0000 (01:56 +0200)
committerDavid du Colombier <0intro@gmail.com>
Fri, 25 Aug 2017 05:56:26 +0000 (05:56 +0000)
commit14cb41584dbf6b0ced5a6467034c1821210fd01c
tree3a2138493f1ed57146b45d598e3f1b6673ad79ae
parenta164a2f5357ed5635cbda1fd4e8dacb835248cd0
cmd/compile: don't use MOVOstore instruction on plan9/amd64

CL 54410 and CL 56250 recently added use of the MOVOstore
instruction to improve performance.

However, we can't use the MOVOstore instruction on Plan 9,
because floating point operations are not allowed in the
note handler.

This change adds a configuration flag useSSE to enable the
use of SSE instructions for non-floating point operations.
This flag is enabled by default and disabled on Plan 9.
When this flag is disabled, the MOVOstore instruction is
not used and the MOVQstoreconst instruction is used instead.

Fixes #21599

Change-Id: Ie609e5d9b82ec0092ae874bab4ce01caa5bc8fb8
Reviewed-on: https://go-review.googlesource.com/58850
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/rewriteAMD64.go