]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: Combine smaller loads into a larger load
authorKeith Randall <khr@golang.org>
Fri, 4 Mar 2016 18:26:57 +0000 (10:26 -0800)
committerKeith Randall <khr@golang.org>
Sun, 6 Mar 2016 22:52:22 +0000 (22:52 +0000)
commit12e60452e9f7c21933aad1a864e1433736de807e
treec365a8605df588d606d415877bc3183330d85f9a
parent9f4a359fc2d914c275bccc187ae5216787a85146
cmd/compile: Combine smaller loads into a larger load

This only deals with the loads themselves.  The bounds checks
are a separate issue.  Also doesn't handle stores, those are
harder because we need to make sure intermediate memory states
aren't observed (which is hard to do with rewrite rules).

Use one byte shorter instructions for zero-extending loads.

Update #14267

Change-Id: I40af25ab5208488151ba7db32bf96081878fa7d9
Reviewed-on: https://go-review.googlesource.com/20218
Reviewed-by: Alexandru Moșoi <alexandru@mosoi.ro>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/compile/internal/ssa/gen/AMD64.rules
src/cmd/compile/internal/ssa/gen/AMD64Ops.go
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewritegeneric.go