fixing noasm tag build (#42)
Dylan Dreyer authored 5 years ago
Harshavardhana committed 5 years ago
75 | 75 |
)
|
76 | 76 |
|
77 | 77 |
var blockfunc blockfuncType
|
78 | |
|
79 | |
func block(dig *digest, p []byte) {
|
80 | |
if blockfunc == blockfuncSha {
|
81 | |
blockShaGo(dig, p)
|
82 | |
} else if blockfunc == blockfuncAvx2 {
|
83 | |
blockAvx2Go(dig, p)
|
84 | |
} else if blockfunc == blockfuncAvx {
|
85 | |
blockAvxGo(dig, p)
|
86 | |
} else if blockfunc == blockfuncSsse {
|
87 | |
blockSsseGo(dig, p)
|
88 | |
} else if blockfunc == blockfuncArm {
|
89 | |
blockArmGo(dig, p)
|
90 | |
} else if blockfunc == blockfuncGeneric {
|
91 | |
blockGeneric(dig, p)
|
92 | |
}
|
93 | |
}
|
94 | 78 |
|
95 | 79 |
func init() {
|
96 | 80 |
is386bit := runtime.GOARCH == "386"
|
0 | |
//+build !noasm !appengine
|
|
0 |
//+build !noasm,!appengine
|
1 | 1 |
|
2 | 2 |
// SHA256 implementation for AVX2
|
3 | 3 |
|
|
0 |
//+build !noasm,!appengine
|
|
1 |
|
0 | 2 |
TEXT ·sha256X16Avx512(SB), 7, $0
|
1 | 3 |
MOVQ digests+0(FP), DI
|
2 | 4 |
MOVQ scratch+8(FP), R12
|
0 | |
//+build !noasm !appengine
|
|
0 |
//+build !noasm,!appengine
|
1 | 1 |
|
2 | 2 |
// SHA256 implementation for AVX
|
3 | 3 |
|
0 | |
//+build !noasm !appengine
|
|
0 |
//+build !noasm,!appengine
|
1 | 1 |
|
2 | 2 |
// SHA intrinsic version of SHA256
|
3 | 3 |
|
0 | |
//+build !noasm !appengine
|
|
0 |
//+build !noasm,!appengine
|
1 | 1 |
|
2 | 2 |
// SHA256 implementation for SSSE3
|
3 | 3 |
|
16 | 16 |
*/
|
17 | 17 |
|
18 | 18 |
package sha256
|
|
19 |
|
|
20 |
func block(dig *digest, p []byte) {
|
|
21 |
blockGeneric(dig, p)
|
|
22 |
}
|
19 | 23 |
|
20 | 24 |
func blockGeneric(dig *digest, p []byte) {
|
21 | 25 |
var w [64]uint32
|
21 | 21 |
func blockSsseGo(dig *digest, p []byte) {}
|
22 | 22 |
func blockShaGo(dig *digest, p []byte) {}
|
23 | 23 |
func blockArmGo(dig *digest, p []byte) {}
|
|
24 |
|
|
25 |
func block(dig *digest, p []byte) {
|
|
26 |
if blockfunc == blockfuncSha {
|
|
27 |
blockShaGo(dig, p)
|
|
28 |
} else if blockfunc == blockfuncAvx2 {
|
|
29 |
blockAvx2Go(dig, p)
|
|
30 |
} else if blockfunc == blockfuncAvx {
|
|
31 |
blockAvxGo(dig, p)
|
|
32 |
} else if blockfunc == blockfuncSsse {
|
|
33 |
blockSsseGo(dig, p)
|
|
34 |
} else if blockfunc == blockfuncArm {
|
|
35 |
blockArmGo(dig, p)
|
|
36 |
} else if blockfunc == blockfuncGeneric {
|
|
37 |
blockGeneric(dig, p)
|
|
38 |
}
|
|
39 |
}
|