]> Cypherpunks repositories - gostls13.git/commit
hash/crc32: fix optimized s390x implementation
authorMichael Munday <munday@ca.ibm.com>
Sun, 21 Aug 2016 01:09:53 +0000 (21:09 -0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Sun, 21 Aug 2016 02:04:43 +0000 (02:04 +0000)
commit4b17b152a3a3d238669c93b31de34e87c2855f6e
tree3358299f0b9787c24a84b5d61aaf6a9d3ca2ec1e
parent94d9cc7741a13206e139efeab84fcc589dc390e5
hash/crc32: fix optimized s390x implementation

The code wasn't checking to see if the data was still >= 64 bytes
long after aligning it.

Aligning the data is an optimization and we don't actually need
to do it. In fact for smaller sizes it slows things down due to
the overhead of calling the generic function. Therefore for now
I have simply removed the alignment stage. I have also added a
check into the assembly to deliberately trigger a segmentation
fault if the data is too short.

Fixes #16779.

Change-Id: Ic01636d775efc5ec97689f050991cee04ce8fe73
Reviewed-on: https://go-review.googlesource.com/27409
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/hash/crc32/crc32_s390x.go
src/hash/crc32/crc32_s390x.s