]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: use CBZ/CBNZ instrunctions on ARM64
authorCherry Zhang <cherryyz@google.com>
Wed, 28 Sep 2016 15:20:58 +0000 (11:20 -0400)
committerCherry Zhang <cherryyz@google.com>
Wed, 5 Oct 2016 18:22:56 +0000 (18:22 +0000)
commitb662e524e4d393f7c99fe281f8c95f7b2f7015a8
treefc998ef6f18838d9ea6e643d486b3074b03e29d1
parent4c9a372946347304094cbf5306cce6336d11e64b
cmd/compile: use CBZ/CBNZ instrunctions on ARM64

These are conditional branches that takes a register instead of
flags as control value.

Reduce binary size by 0.7%, text size by 2.4% (cmd/go as an
exmaple).

Change-Id: I0020cfde745f9eab680b8b949ad28c87fe183afd
Reviewed-on: https://go-review.googlesource.com/30030
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/arm64/prog.go
src/cmd/compile/internal/arm64/ssa.go
src/cmd/compile/internal/ssa/gen/ARM64.rules
src/cmd/compile/internal/ssa/gen/ARM64Ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/internal/obj/arm64/obj7.go