]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: replace ANDL with MOV?ZX
authorMartin Möhrmann <martisch@uos.de>
Sat, 22 Oct 2016 13:43:23 +0000 (15:43 +0200)
committerMartin Möhrmann <martisch@uos.de>
Mon, 24 Oct 2016 14:12:19 +0000 (14:12 +0000)
commit7ff0c8267f25a628dc4c8b5fa356b26cbb72530d
tree78edce5943e4a188199c7301df68ef17ba2ca4b2
parent9ac60181e2e54b6404e67852d6e1e65a8cbd3616
cmd/compile: replace ANDL with MOV?ZX

According to "Intel 64 and IA-32 Architectures Optimization Reference
Manual" Section: "3.5.1.13 Zero-Latency MOV Instructions"
MOV?ZX instructions have zero latency on newer processors.

during make.bash:
(ANDLconst [0xFF] x) -> (MOVBQZX x)
applies 422 times
(ANDLconst [0xFFFF] x) -> (MOVWQZX x)
applies 114 times

Updates #15105

Change-Id: I10933af599de3c26449c52f4b5cd859331028f39
Reviewed-on: https://go-review.googlesource.com/31639
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/rewriteAMD64.go