// Code generated by command: go run gen.go -out ../galois_gen_nopshufb_amd64.s -stubs ../galois_gen_nopshufb_amd64.go -pkg=reedsolomon. DO NOT EDIT.

//go:build !appengine && !noasm && !nogen && nopshufb && gc

package reedsolomon

func _dummy_()

//go:noescape
func sSE2XorSlice(in []byte, out []byte)

//go:noescape
func sSE2XorSlice_64(in []byte, out []byte)

//go:noescape
func avx2XorSlice_64(in []byte, out []byte)

// mulGFNI_1x1_64 takes 1 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x1_64Xor takes 1 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_1x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x2_64 takes 1 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x2_64Xor takes 1 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_1x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x3_64 takes 1 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x3_64Xor takes 1 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_1x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x4_64 takes 1 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x4_64Xor takes 1 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_1x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x5_64 takes 1 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x5_64Xor takes 1 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_1x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x6_64 takes 1 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x6_64Xor takes 1 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_1x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x7_64 takes 1 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x7_64Xor takes 1 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_1x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x8_64 takes 1 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x8_64Xor takes 1 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_1x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x9_64 takes 1 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x9_64Xor takes 1 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_1x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x10_64 takes 1 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_1x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_1x10_64Xor takes 1 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_1x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x1_64 takes 2 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x1_64Xor takes 2 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_2x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x2_64 takes 2 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x2_64Xor takes 2 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_2x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x3_64 takes 2 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x3_64Xor takes 2 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_2x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x4_64 takes 2 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x4_64Xor takes 2 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_2x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x5_64 takes 2 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x5_64Xor takes 2 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_2x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x6_64 takes 2 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x6_64Xor takes 2 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_2x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x7_64 takes 2 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x7_64Xor takes 2 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_2x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x8_64 takes 2 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x8_64Xor takes 2 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_2x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x9_64 takes 2 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x9_64Xor takes 2 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_2x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x10_64 takes 2 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_2x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_2x10_64Xor takes 2 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_2x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x1_64 takes 3 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x1_64Xor takes 3 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_3x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x2_64 takes 3 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x2_64Xor takes 3 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_3x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x3_64 takes 3 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x3_64Xor takes 3 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_3x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x4_64 takes 3 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x4_64Xor takes 3 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_3x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x5_64 takes 3 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x5_64Xor takes 3 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_3x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x6_64 takes 3 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x6_64Xor takes 3 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_3x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x7_64 takes 3 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x7_64Xor takes 3 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_3x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x8_64 takes 3 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x8_64Xor takes 3 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_3x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x9_64 takes 3 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x9_64Xor takes 3 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_3x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x10_64 takes 3 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_3x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_3x10_64Xor takes 3 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_3x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x1_64 takes 4 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x1_64Xor takes 4 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_4x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x2_64 takes 4 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x2_64Xor takes 4 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_4x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x3_64 takes 4 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x3_64Xor takes 4 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_4x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x4_64 takes 4 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x4_64Xor takes 4 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_4x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x5_64 takes 4 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x5_64Xor takes 4 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_4x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x6_64 takes 4 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x6_64Xor takes 4 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_4x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x7_64 takes 4 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x7_64Xor takes 4 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_4x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x8_64 takes 4 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x8_64Xor takes 4 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_4x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x9_64 takes 4 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x9_64Xor takes 4 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_4x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x10_64 takes 4 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_4x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_4x10_64Xor takes 4 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_4x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x1_64 takes 5 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x1_64Xor takes 5 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_5x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x2_64 takes 5 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x2_64Xor takes 5 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_5x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x3_64 takes 5 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x3_64Xor takes 5 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_5x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x4_64 takes 5 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x4_64Xor takes 5 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_5x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x5_64 takes 5 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x5_64Xor takes 5 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_5x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x6_64 takes 5 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x6_64Xor takes 5 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_5x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x7_64 takes 5 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x7_64Xor takes 5 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_5x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x8_64 takes 5 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x8_64Xor takes 5 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_5x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x9_64 takes 5 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x9_64Xor takes 5 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_5x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x10_64 takes 5 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_5x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_5x10_64Xor takes 5 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_5x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x1_64 takes 6 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x1_64Xor takes 6 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_6x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x2_64 takes 6 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x2_64Xor takes 6 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_6x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x3_64 takes 6 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x3_64Xor takes 6 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_6x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x4_64 takes 6 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x4_64Xor takes 6 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_6x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x5_64 takes 6 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x5_64Xor takes 6 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_6x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x6_64 takes 6 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x6_64Xor takes 6 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_6x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x7_64 takes 6 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x7_64Xor takes 6 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_6x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x8_64 takes 6 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x8_64Xor takes 6 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_6x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x9_64 takes 6 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x9_64Xor takes 6 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_6x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x10_64 takes 6 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_6x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_6x10_64Xor takes 6 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_6x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x1_64 takes 7 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x1_64Xor takes 7 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_7x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x2_64 takes 7 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x2_64Xor takes 7 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_7x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x3_64 takes 7 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x3_64Xor takes 7 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_7x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x4_64 takes 7 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x4_64Xor takes 7 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_7x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x5_64 takes 7 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x5_64Xor takes 7 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_7x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x6_64 takes 7 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x6_64Xor takes 7 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_7x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x7_64 takes 7 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x7_64Xor takes 7 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_7x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x8_64 takes 7 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x8_64Xor takes 7 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_7x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x9_64 takes 7 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x9_64Xor takes 7 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_7x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x10_64 takes 7 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_7x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_7x10_64Xor takes 7 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_7x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x1_64 takes 8 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x1_64Xor takes 8 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_8x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x2_64 takes 8 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x2_64Xor takes 8 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_8x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x3_64 takes 8 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x3_64Xor takes 8 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_8x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x4_64 takes 8 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x4_64Xor takes 8 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_8x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x5_64 takes 8 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x5_64Xor takes 8 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_8x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x6_64 takes 8 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x6_64Xor takes 8 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_8x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x7_64 takes 8 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x7_64Xor takes 8 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_8x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x8_64 takes 8 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x8_64Xor takes 8 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_8x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x9_64 takes 8 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x9_64Xor takes 8 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_8x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x10_64 takes 8 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_8x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_8x10_64Xor takes 8 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_8x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x1_64 takes 9 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x1_64Xor takes 9 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_9x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x2_64 takes 9 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x2_64Xor takes 9 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_9x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x3_64 takes 9 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x3_64Xor takes 9 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_9x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x4_64 takes 9 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x4_64Xor takes 9 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_9x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x5_64 takes 9 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x5_64Xor takes 9 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_9x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x6_64 takes 9 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x6_64Xor takes 9 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_9x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x7_64 takes 9 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x7_64Xor takes 9 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_9x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x8_64 takes 9 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x8_64Xor takes 9 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_9x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x9_64 takes 9 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x9_64Xor takes 9 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_9x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x10_64 takes 9 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_9x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_9x10_64Xor takes 9 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_9x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x1_64 takes 10 inputs and produces 1 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x1_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x1_64Xor takes 10 inputs and produces 1 outputs.
//
//go:noescape
func mulGFNI_10x1_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x2_64 takes 10 inputs and produces 2 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x2_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x2_64Xor takes 10 inputs and produces 2 outputs.
//
//go:noescape
func mulGFNI_10x2_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x3_64 takes 10 inputs and produces 3 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x3_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x3_64Xor takes 10 inputs and produces 3 outputs.
//
//go:noescape
func mulGFNI_10x3_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x4_64 takes 10 inputs and produces 4 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x4_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x4_64Xor takes 10 inputs and produces 4 outputs.
//
//go:noescape
func mulGFNI_10x4_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x5_64 takes 10 inputs and produces 5 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x5_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x5_64Xor takes 10 inputs and produces 5 outputs.
//
//go:noescape
func mulGFNI_10x5_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x6_64 takes 10 inputs and produces 6 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x6_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x6_64Xor takes 10 inputs and produces 6 outputs.
//
//go:noescape
func mulGFNI_10x6_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x7_64 takes 10 inputs and produces 7 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x7_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x7_64Xor takes 10 inputs and produces 7 outputs.
//
//go:noescape
func mulGFNI_10x7_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x8_64 takes 10 inputs and produces 8 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x8_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x8_64Xor takes 10 inputs and produces 8 outputs.
//
//go:noescape
func mulGFNI_10x8_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x9_64 takes 10 inputs and produces 9 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x9_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x9_64Xor takes 10 inputs and produces 9 outputs.
//
//go:noescape
func mulGFNI_10x9_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x10_64 takes 10 inputs and produces 10 outputs.
// The output is initialized to 0.
//
//go:noescape
func mulGFNI_10x10_64(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

// mulGFNI_10x10_64Xor takes 10 inputs and produces 10 outputs.
//
//go:noescape
func mulGFNI_10x10_64Xor(matrix []uint64, in [][]byte, out [][]byte, start int, n int)

//go:noescape
func ifftDIT48_gfni_0(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_0(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_1(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_1(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_2(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_2(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_3(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_3(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_4(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_4(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_5(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_5(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_6(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_6(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func ifftDIT48_gfni_7(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)

//go:noescape
func fftDIT48_gfni_7(work [][]byte, dist int, t01 uint64, t23 uint64, t02 uint64)
