• Lynn Boger's avatar
    cmd/compile: add rules to use index regs for ppc64x · 85c9c859
    Lynn Boger authored
    The following adds support for load and store instructions
    with index registers, and adds rules to take advantage of
    those instructions.
    
    Examples of improvements:
    
    crypto/rc4:
    name     old time/op   new time/op   delta
    RC4_128    445ns ± 0%    404ns ± 0%   -9.21%  (p=0.029 n=4+4)
    RC4_1K    3.46µs ± 0%   3.13µs ± 0%   -9.29%  (p=0.029 n=4+4)
    RC4_8K    27.0µs ± 0%   24.7µs ± 0%   -8.83%  (p=0.029 n=4+4)
    
    crypto/des:
    name         old time/op    new time/op    delta
    Encrypt         276ns ± 0%     264ns ± 0%  -4.35%  (p=0.029 n=4+4)
    Decrypt         278ns ± 0%     263ns ± 0%  -5.40%  (p=0.029 n=4+4)
    TDESEncrypt     683ns ± 0%     645ns ± 0%  -5.56%  (p=0.029 n=4+4)
    TDESDecrypt     684ns ± 0%     641ns ± 0%  -6.29%  (p=0.029 n=4+4)
    
    crypto/sha1:
    name          old time/op    new time/op    delta
    Hash8Bytes       661ns ± 0%     635ns ± 0%  -3.93%  (p=1.000 n=1+1)
    Hash320Bytes    2.70µs ± 0%    2.56µs ± 0%  -5.26%  (p=1.000 n=1+1)
    Hash1K          7.14µs ± 0%    6.78µs ± 0%  -5.03%  (p=1.000 n=1+1)
    Hash8K          52.1µs ± 0%    49.4µs ± 0%  -5.14%  (p=1.000 n=1+1)
    
    Change-Id: I03810e90fcc20029975a323f06bfa086c973c2b0
    Reviewed-on: https://go-review.googlesource.com/c/135975
    Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarMichael Munday <mike.munday@ibm.com>
    85c9c859
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...