-
Notifications
You must be signed in to change notification settings - Fork 251
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support for ARM SVE and better performance for NEON
- Loading branch information
Showing
5 changed files
with
27,356 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
//go:build !noasm && !appengine && !gccgo && !nopshufb | ||
|
||
package reedsolomon | ||
|
||
//go:noescape | ||
func mulSve_10x1_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x1_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x2_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x2_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x3_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x3_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x4(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x4Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x5(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x5Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x6(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x6Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x7(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x7Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x8(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x8Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x9(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x9Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x10(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulSve_10x10Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x1_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x1_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x2_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x2_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x3_64(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x3_64Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x4(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x4Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x5(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x5Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x6(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x6Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x7(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x7Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x8(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x8Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x9(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x9Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x10(matrix []byte, in [][]byte, out [][]byte, start int, n int) | ||
|
||
//go:noescape | ||
func mulNeon_10x10Xor(matrix []byte, in [][]byte, out [][]byte, start int, n int) |
Oops, something went wrong.