]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: improve load/store merging on s390x
authorMichael Munday <munday@ca.ibm.com>
Wed, 28 Sep 2016 00:30:01 +0000 (20:30 -0400)
committerMichael Munday <munday@ca.ibm.com>
Fri, 30 Sep 2016 14:41:43 +0000 (14:41 +0000)
commit962dc4b44d5260e72dad8d636cb09bcf7f4aa6bb
tree2b4d94b36205fcfb2c267a61817ebfc396db3907
parent41fa42b4475fda8b0c4205827ce0e2388608cb72
cmd/compile: improve load/store merging on s390x

This commit makes the process of load/store merging more incremental
for both big and little endian operations. It also adds support for
32-bit shifts (needed to merge 16- and 32-bit loads/stores).

In addition, the merging of little endian stores is now supported.
Little endian stores are now up to 30 times faster.

Change-Id: Iefdd81eda4a65b335f23c3ff222146540083ad9c
Reviewed-on: https://go-review.googlesource.com/29956
Run-TryBot: Michael Munday <munday@ca.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/s390x/ssa.go
src/cmd/compile/internal/ssa/gen/S390X.rules
src/cmd/compile/internal/ssa/gen/S390XOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteS390X.go