]> Cypherpunks repositories - gostls13.git/commit
math/big: uses SIMD for some math big functions on s390x
authorBill O'Farrell <billo@ca.ibm.com>
Wed, 26 Oct 2016 22:35:12 +0000 (18:35 -0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 26 Oct 2016 23:52:10 +0000 (23:52 +0000)
commit1e6b12a201e5fa7009510bb036367dfb0f5a6320
tree83689652a092448ad0d0b9b9da6036230e1a2bbd
parent829aa6732a47db75dbb649837fa888030659ccf9
math/big: uses SIMD for some math big functions on s390x

The following benchmarks are improved by the amounts shown
(Others unaffected beyond the level of noise.)
Also adds a test to confirm non-SIMD implementation still correct,
even when run on SIMD-capable machine

Benchmark                   old            new
BenchmarkAddVV/100-18    66148.08 MB/s 117546.19 MB/s 1.8x
BenchmarkAddVV/1000-18   70168.27 MB/s 133478.96 MB/s 1.9x
BenchmarkAddVV/10000-18  67489.80 MB/s 100010.79 MB/s 1.5x
BenchmarkAddVV/100000-18 54329.99 MB/s  69232.45 MB/s 1.3x
BenchmarkAddVW/100-18     9929.10 MB/s  14841.31 MB/s 1.5x
BenchmarkAddVW/1000-18   10583.31 MB/s  18674.44 MB/s 1.76x
BenchmarkAddVW/10000-18  10521.15 MB/s  17484.10 MB/s 1.66x
BenchmarkAddVW/100000-18 10616.56 MB/s  18084.27 MB/s 1.7x

Change-Id: Ic9234c41a43f6c5e9d0e9377de8b4deeefc428a7
Reviewed-on: https://go-review.googlesource.com/32211
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/math/big/arith_decl_s390x.go [new file with mode: 0644]
src/math/big/arith_s390x.s
src/math/big/arith_s390x_test.go [new file with mode: 0644]