]> Cypherpunks repositories - gostls13.git/commit
cmd/compile/internal/s390x: add s390x support
authorMichael Munday <munday@ca.ibm.com>
Tue, 12 Apr 2016 00:23:19 +0000 (20:23 -0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 12 Apr 2016 14:38:17 +0000 (14:38 +0000)
commita223ccae386449169774597b15a00f2d70addce7
tree6eaee817a45eed1d09004117cfe14b781c52b9fd
parent944a0859b9a16a1951512b82870a31f371d1c417
cmd/compile/internal/s390x: add s390x support

s390x does not require duffzero/duffcopy since it has
storage-to-storage instructions that can copy/clear up to 256
bytes at a time.

peep contains several new passes to optimize instruction
sequences that match s390x instructions such as the
compare-and-branch and load/store multiple instructions.

copyprop and subprop have been extended to work with moves that
require sign/zero extension. This work could be ported to other
architectures that do not used sized math however it does add
complexity and will probably be rendered unnecessary by ssa in
the near future.

Change-Id: I1b64b281b452ed82a85655a0df69cb224d2a6941
Reviewed-on: https://go-review.googlesource.com/20873
Run-TryBot: Michael Munday <munday@ca.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bill O'Farrell <billotosyr@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/s390x/cgen.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/galign.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/ggen.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/gsubr.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/peep.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/prog.go [new file with mode: 0644]
src/cmd/compile/internal/s390x/reg.go [new file with mode: 0644]
src/cmd/compile/main.go
src/cmd/dist/buildtool.go