1. 30 Aug, 2016 14 commits
  2. 29 Aug, 2016 20 commits
  3. 28 Aug, 2016 6 commits
    • Cherry Zhang's avatar
      cmd/compile: fix load int32 to FP register on big-endian MIPS64 · 2f679d74
      Cherry Zhang authored
      Fixes #16903.
      
      Change-Id: I1f6fcd57e14b2b62e208b7bb3adccd5fd7f8bdbc
      Reviewed-on: https://go-review.googlesource.com/27933
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarMinux Ma <minux@golang.org>
      2f679d74
    • Radu Berinde's avatar
      hash/crc32: fix nil Castagnoli table problem · 8c15a172
      Radu Berinde authored
      When SSE is available, we don't need the Table. However, it is
      returned as a handle by MakeTable. Fix this to always generate
      the table.
      
      Further cleanup is discussed in #16909.
      
      Change-Id: Ic05400d68c6b5d25073ebd962000451746137afc
      Reviewed-on: https://go-review.googlesource.com/27934Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      8c15a172
    • Keith Randall's avatar
      cmd/compile: fix noopt build · 0c6c3d1d
      Keith Randall authored
      Atomic add rules were depending on CSE to combine duplicate atomic ops.
      With -N, CSE doesn't run.
      
      Redo the rules for atomic add so there's only one atomic op.
      Introduce an add-to-first-part-of-tuple pseudo-ops to make the atomic add result correct.
      
      Change-Id: Ib132247051abe5f80fefad6c197db8df8ee06427
      Reviewed-on: https://go-review.googlesource.com/27991
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      0c6c3d1d
    • Keith Randall's avatar
      cmd/compile: intrinsify the rest of runtime/internal/atomic for amd64 · 84aac622
      Keith Randall authored
      Atomic swap, add/and/or, compare and swap.
      
      Also works on amd64p32.
      
      Change-Id: Idf2d8f3e1255f71deba759e6e75e293afe4ab2ba
      Reviewed-on: https://go-review.googlesource.com/27813Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      84aac622
    • Alex Brainman's avatar
      time: always use $GOROOT/lib/time/zoneinfo.zip with genzabbrs.go · e2e2d10b
      Alex Brainman authored
      genzabbrs.go uses whatever zoneinfo database available on the system.
      This makes genzabbrs.go output change from system to system. Adjust
      go:generate line to always use $GOROOT/lib/time/zoneinfo.zip, so it
      does not matter who runs the command.
      
      Also move go:generate line into zoneinfo.go, so it can be run
      on Unix (see #16368 for details).
      
      Fixes #15802.
      
      Change-Id: I8ae4818aaf40795364e180d7bb4326ad7c07c370
      Reviewed-on: https://go-review.googlesource.com/27832Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      e2e2d10b
    • Radu Berinde's avatar
      hash/crc32: improve the AMD64 implementation using SSE4.2 · 90c3cf4b
      Radu Berinde authored
      The algorithm is explained in the comments. The improvement in
      throughput is about 1.4x for buffers between 500b-4Kb and 2.5x-2.6x
      for larger buffers.
      
      Additionally, we no longer initialize the software tables if SSE4.2 is
      available.
      
      Adding a test for the SSE implementation (restricted to amd64 and
      amd64p32).
      
      Benchmarks on a Haswell i5-4670 @ 3.4 GHz:
      
      name                           old time/op    new time/op     delta
      CastagnoliCrc15B-4               21.9ns ± 1%     22.9ns ± 0%    +4.45%
      CastagnoliCrc15BMisaligned-4     22.6ns ± 0%     23.4ns ± 0%    +3.43%
      CastagnoliCrc40B-4               23.3ns ± 0%     23.9ns ± 0%    +2.58%
      CastagnoliCrc40BMisaligned-4     25.4ns ± 0%     26.1ns ± 0%    +2.86%
      CastagnoliCrc512-4               72.6ns ± 0%     52.8ns ± 0%   -27.33%
      CastagnoliCrc512Misaligned-4     76.3ns ± 1%     56.3ns ± 0%   -26.18%
      CastagnoliCrc1KB-4                128ns ± 1%       89ns ± 0%   -30.04%
      CastagnoliCrc1KBMisaligned-4      130ns ± 0%       88ns ± 0%   -32.65%
      CastagnoliCrc4KB-4                461ns ± 0%      187ns ± 0%   -59.40%
      CastagnoliCrc4KBMisaligned-4      463ns ± 0%      191ns ± 0%   -58.77%
      CastagnoliCrc32KB-4              3.58µs ± 0%     1.35µs ± 0%   -62.22%
      CastagnoliCrc32KBMisaligned-4    3.58µs ± 0%     1.36µs ± 0%   -61.84%
      
      name                           old speed      new speed       delta
      CastagnoliCrc15B-4              684MB/s ± 1%    655MB/s ± 0%    -4.32%
      CastagnoliCrc15BMisaligned-4    663MB/s ± 0%    641MB/s ± 0%    -3.32%
      CastagnoliCrc40B-4             1.72GB/s ± 0%   1.67GB/s ± 0%    -2.69%
      CastagnoliCrc40BMisaligned-4   1.58GB/s ± 0%   1.53GB/s ± 0%    -2.82%
      CastagnoliCrc512-4             7.05GB/s ± 0%   9.70GB/s ± 0%   +37.59%
      CastagnoliCrc512Misaligned-4   6.71GB/s ± 1%   9.09GB/s ± 0%   +35.43%
      CastagnoliCrc1KB-4             7.98GB/s ± 1%  11.46GB/s ± 0%   +43.55%
      CastagnoliCrc1KBMisaligned-4   7.86GB/s ± 0%  11.70GB/s ± 0%   +48.75%
      CastagnoliCrc4KB-4             8.87GB/s ± 0%  21.80GB/s ± 0%  +145.69%
      CastagnoliCrc4KBMisaligned-4   8.83GB/s ± 0%  21.39GB/s ± 0%  +142.25%
      CastagnoliCrc32KB-4            9.15GB/s ± 0%  24.22GB/s ± 0%  +164.62%
      CastagnoliCrc32KBMisaligned-4  9.16GB/s ± 0%  24.00GB/s ± 0%  +161.94%
      
      Fixes #16107.
      
      Change-Id: Ibe50ea76574674ce0571ef31c31015e0ed66b907
      Reviewed-on: https://go-review.googlesource.com/27931
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      90c3cf4b