summaryrefslogtreecommitdiff
path: root/vendor/github.com/zeebo/blake3/internal/alg/hash/hash.go
blob: ac43abb69583c15522e8fac9233a8f7c9697f461 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package hash

import (
	"github.com/zeebo/blake3/internal/alg/hash/hash_avx2"
	"github.com/zeebo/blake3/internal/alg/hash/hash_pure"
	"github.com/zeebo/blake3/internal/consts"
)

func HashF(input *[8192]byte, length, counter uint64, flags uint32, key *[8]uint32, out *[64]uint32, chain *[8]uint32) {
	if consts.HasAVX2 && length > 2*consts.ChunkLen {
		hash_avx2.HashF(input, length, counter, flags, key, out, chain)
	} else {
		hash_pure.HashF(input, length, counter, flags, key, out, chain)
	}
}

func HashP(left, right *[64]uint32, flags uint32, key *[8]uint32, out *[64]uint32, n int) {
	if consts.HasAVX2 && n >= 2 {
		hash_avx2.HashP(left, right, flags, key, out, n)
	} else {
		hash_pure.HashP(left, right, flags, key, out, n)
	}
}