tzhash/tz
Evgenii c68e38b943 Inline asm function in loop for AVX2 implementation
Right now AVX2 implementation looses to C binding in speed.
This is probably, because of 2 things:
1. Go does not inline `mulBitRightx2` in loop iteration.
2. `minmax` is loaded every time from memory.

In this PR:
1. Unroll `mulBitRightx2` manually and use `mulByteRightx2` instead.
2. Generate `minmax` in place without `LOAD/LEA` instructions.
2019-07-19 16:11:06 +03:00
..
avx2_unroll_amd64.s Inline asm function in loop for AVX2 implementation 2019-07-19 16:11:06 +03:00
hash.go Fix type assertions 2019-06-24 10:07:16 +03:00
hash_avx2.go Inline asm function in loop for AVX2 implementation 2019-07-19 16:11:06 +03:00
hash_avx2_inline.go Inline asm function in loop for AVX2 implementation 2019-07-19 16:11:06 +03:00
hash_test.go Inline asm function in loop for AVX2 implementation 2019-07-19 16:11:06 +03:00
sl2.go add SubtractR/L operation on hashes 2019-01-29 16:11:50 +03:00
sl2_test.go Rewrite tests (#3) 2019-05-29 14:10:17 +03:00
tzbits_amd64.s Fix error in AVX2 implementation 2019-06-21 23:10:08 +03:00