]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fold more of CMPQ and ANDQ
authorAlexandru Moșoi <brtzsnr@gmail.com>
Thu, 24 Mar 2016 07:48:41 +0000 (08:48 +0100)
committerAlexandru Moșoi <alexandru@mosoi.ro>
Thu, 24 Mar 2016 19:38:21 +0000 (19:38 +0000)
commitd8ee180ab2722e92c568e322fbc8690688f992e3
tree0b757dd22622ab078546c5baef702e9828e74a46
parentdf2b2eb63db3f771c41be4d97ac6fb6b0c5f8c48
cmd/compile: fold more of CMPQ and ANDQ

g used to produce CMPQ/SBBQ/ANDQ, but f didn't even though
s&15 is at most s&63.

func f(x uint64, s uint) uint64 {
        return x >> (s & 63)
}
func g(x uint64, s uint) uint64 {
        return x >> (s & 15)
}

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