• Wei Xiao's avatar
    cmd/compile: memory clearing optimization for arm64 · c02fc160
    Wei Xiao authored
    Use "STP (ZR, ZR), O(R)" instead of "MOVD ZR, O(R)" to implement memory clearing.
    Also improve assembler supports to STP/LDP.
    Results (A57@2GHzx8):
    
    benchmark                   old ns/op     new ns/op     delta
    BenchmarkClearFat8-8        1.00          1.00          +0.00%
    BenchmarkClearFat12-8       1.01          1.01          +0.00%
    BenchmarkClearFat16-8       1.01          1.01          +0.00%
    BenchmarkClearFat24-8       1.52          1.52          +0.00%
    BenchmarkClearFat32-8       3.00          2.02          -32.67%
    BenchmarkClearFat40-8       3.50          2.52          -28.00%
    BenchmarkClearFat48-8       3.50          3.03          -13.43%
    BenchmarkClearFat56-8       4.00          3.50          -12.50%
    BenchmarkClearFat64-8       4.25          4.00          -5.88%
    BenchmarkClearFat128-8      8.01          8.01          +0.00%
    BenchmarkClearFat256-8      16.1          16.0          -0.62%
    BenchmarkClearFat512-8      32.1          32.0          -0.31%
    BenchmarkClearFat1024-8     64.1          64.1          +0.00%
    
    Change-Id: Ie5f5eac271ff685884775005825f206167a5c146
    Reviewed-on: https://go-review.googlesource.com/55610
    Run-TryBot: Cherry Zhang <cherryyz@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
    c02fc160
Name
Last commit
Last update
..
386.rules Loading commit data...
386Ops.go Loading commit data...
AMD64.rules Loading commit data...
AMD64Ops.go Loading commit data...
ARM.rules Loading commit data...
ARM64.rules Loading commit data...
ARM64Ops.go Loading commit data...
ARMOps.go Loading commit data...
MIPS.rules Loading commit data...
MIPS64.rules Loading commit data...
MIPS64Ops.go Loading commit data...
MIPSOps.go Loading commit data...
PPC64.rules Loading commit data...
PPC64Ops.go Loading commit data...
README Loading commit data...
S390X.rules Loading commit data...
S390XOps.go Loading commit data...
dec.rules Loading commit data...
dec64.rules Loading commit data...
dec64Ops.go Loading commit data...
decOps.go Loading commit data...
generic.rules Loading commit data...
genericOps.go Loading commit data...
main.go Loading commit data...
rulegen.go Loading commit data...