]> Cypherpunks repositories - gostls13.git/commit
cmd/compile, runtime, etc: get rid of constant FP registers
authorCherry Zhang <cherryyz@google.com>
Tue, 30 Aug 2016 18:46:25 +0000 (14:46 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 30 Aug 2016 23:16:17 +0000 (23:16 +0000)
commitf9dafc742d7c0e892b6e4ff17cb9ec7165887e44
treedb0e07eccf2addc770143a7e3c7e389cb5a52d2a
parentb2e0e9688a512970ea8d270238c8ff3bbf85cbe1
cmd/compile, runtime, etc: get rid of constant FP registers

On ARM64, MIPS64, and PPC64, some floating point registers were
reserved for constants 0, 1, 2, 0.5, etc. This CL removes them.

On ARM64, they are never used. On MIPS64 and PPC64, the only use
case is a multiplication-by-2 in the old backend of the compiler,
which is replaced with an addition.

Change-Id: I737cbf43283756e3408964fc88c567a938c57036
Reviewed-on: https://go-review.googlesource.com/28095
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
20 files changed:
src/cmd/compile/internal/arm64/gsubr.go
src/cmd/compile/internal/mips64/gsubr.go
src/cmd/compile/internal/mips64/reg.go
src/cmd/compile/internal/ppc64/gsubr.go
src/cmd/compile/internal/ppc64/reg.go
src/cmd/compile/internal/ssa/gen/ARM64Ops.go
src/cmd/compile/internal/ssa/gen/MIPS64Ops.go
src/cmd/compile/internal/ssa/gen/PPC64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/internal/obj/arm64/a.out.go
src/cmd/internal/obj/mips/a.out.go
src/cmd/internal/obj/ppc64/a.out.go
src/runtime/asm_arm64.s
src/runtime/asm_mips64x.s
src/runtime/asm_ppc64x.s
src/runtime/cgo/asm_arm64.s
src/runtime/cgo/asm_mips64x.s
src/runtime/cgo/gcc_mips64x.S
src/runtime/cgo_mips64x.go [deleted file]
src/runtime/sys_linux_mips64x.s