]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: faster code, mainly for rotate
authorRuss Cox <rsc@golang.org>
Thu, 24 May 2012 21:20:07 +0000 (17:20 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 24 May 2012 21:20:07 +0000 (17:20 -0400)
commitc6ce44822c5dba80ed8a2c3e5ebbd86e1a185dd1
treec7ea0b9b081e8998949512edec739c9477e1d479
parent11c1b1f96b9d2c99eef26cae2398961129985d75
cmd/gc: faster code, mainly for rotate

* Eliminate bounds check on known small shifts.
* Rewrite x<<s | x>>(32-s) as a rotate (constant s).
* More aggressive (but still minimal) range analysis.

R=ken, dave, iant
CC=golang-dev
https://golang.org/cl/6209077
21 files changed:
src/cmd/5g/cgen.c
src/cmd/5g/cgen64.c
src/cmd/5g/gg.h
src/cmd/5g/ggen.c
src/cmd/5g/gsubr.c
src/cmd/6g/cgen.c
src/cmd/6g/gg.h
src/cmd/6g/ggen.c
src/cmd/6g/gsubr.c
src/cmd/8g/cgen.c
src/cmd/8g/cgen64.c
src/cmd/8g/gg.h
src/cmd/8g/ggen.c
src/cmd/8g/gsubr.c
src/cmd/gc/go.h
src/cmd/gc/range.c
src/cmd/gc/sinit.c
src/cmd/gc/subr.c
src/cmd/gc/walk.c
test/bounds.go [new file with mode: 0644]
test/rotate.go [new file with mode: 0644]