tzhash/tz
Evgenii Stratonikov 921f8b0579 Optimize AVX implementation
1. Do the same mask trick as with AVX2.
2. Get rid of load, generate constant on the fly.

```
name                    old time/op    new time/op    delta
Sum/AVXInline_digest-8    2.26ms ± 4%    2.17ms ± 5%  -4.05%  (p=0.000 n=19+17)

name                    old speed      new speed      delta
Sum/AVXInline_digest-8  44.3MB/s ± 4%  46.2MB/s ± 5%  +4.25%  (p=0.000 n=19+17)
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-17 17:18:36 +03:00
..
avx.go Fix linter issues 2021-12-29 13:23:05 +03:00
avx2.go Alias gf127.GF127 2019-10-15 13:22:36 +03:00
avx2_amd64.s Replace two shifts with a single AND 2022-01-17 17:18:36 +03:00
avx2_inline.go Alias gf127.GF127 2019-10-15 13:22:36 +03:00
avx_amd64.s Optimize AVX implementation 2022-01-17 17:18:36 +03:00
avx_inline.go Add AVX implementation with inlined multiplication 2019-10-16 15:11:53 +03:00
hash.go Use golang.org/x/sys instead of self-implemented detector 2020-01-16 11:30:46 +03:00
hash_test.go Update benchmark result in README.md 2019-10-16 15:11:57 +03:00
pure.go Alias gf127.GF127 2019-10-15 13:22:36 +03:00
sl2.go Fix linter issues 2021-12-29 13:23:05 +03:00
sl2_test.go Remove non-AVX parts from avx package 2019-10-15 13:22:36 +03:00