]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: use ISEL, cleanup use of zero & extensions
authorDavid Chase <drchase@google.com>
Fri, 16 Sep 2016 22:02:47 +0000 (15:02 -0700)
committerDavid Chase <drchase@google.com>
Thu, 22 Sep 2016 17:36:39 +0000 (17:36 +0000)
commitcddddbc6231177c87b72f95209ab51abb74bcbc5
tree0c232cc31b58405878f29d9ec8aac96d712a08ae
parentdcbbd319e9cdd44d50314818ec05672b60e8f8e7
cmd/compile: use ISEL, cleanup use of zero & extensions

Abandoned earlier efforts to expose zero register,
but left it in numbering to decrease squirrelyness of
register allocator.

ISELrelOp used in code generation of bool := x relOp y.
Some patterns added to better elide zero case and
some sign extension.

Updates: #17109

Change-Id: Ida7839f0023ca8f0ffddc0545f0ac269e65b05d9
Reviewed-on: https://go-review.googlesource.com/29380
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
12 files changed:
src/cmd/compile/internal/gc/go.go
src/cmd/compile/internal/gc/plive.go
src/cmd/compile/internal/ppc64/prog.go
src/cmd/compile/internal/ppc64/ssa.go
src/cmd/compile/internal/ssa/config.go
src/cmd/compile/internal/ssa/gen/PPC64.rules
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/regalloc.go
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/internal/obj/ppc64/a.out.go