// Code generated by command: go generate gen.go. DO NOT EDIT. //go:build !appengine && !noasm && gc && !nogen // +build !appengine,!noasm,gc,!nogen package reedsolomon import "fmt" const avx2CodeGen = true const maxAvx2Inputs = 10 const maxAvx2Outputs = 10 func galMulSlicesAvx2(matrix []byte, in, out [][]byte, start, stop int) int { n := stop - start n = (n >> 5) << 5 switch len(in) { case 1: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_1x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_1x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_1x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_1x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_1x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_1x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_1x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_1x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_1x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_1x10(matrix, in, out, start, n) return n } case 2: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_2x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_2x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_2x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_2x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_2x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_2x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_2x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_2x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_2x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_2x10(matrix, in, out, start, n) return n } case 3: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_3x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_3x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_3x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_3x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_3x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_3x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_3x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_3x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_3x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_3x10(matrix, in, out, start, n) return n } case 4: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_4x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_4x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_4x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_4x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_4x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_4x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_4x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_4x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_4x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_4x10(matrix, in, out, start, n) return n } case 5: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_5x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_5x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_5x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_5x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_5x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_5x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_5x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_5x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_5x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_5x10(matrix, in, out, start, n) return n } case 6: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_6x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_6x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_6x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_6x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_6x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_6x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_6x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_6x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_6x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_6x10(matrix, in, out, start, n) return n } case 7: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_7x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_7x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_7x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_7x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_7x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_7x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_7x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_7x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_7x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_7x10(matrix, in, out, start, n) return n } case 8: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_8x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_8x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_8x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_8x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_8x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_8x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_8x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_8x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_8x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_8x10(matrix, in, out, start, n) return n } case 9: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_9x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_9x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_9x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_9x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_9x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_9x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_9x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_9x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_9x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_9x10(matrix, in, out, start, n) return n } case 10: switch len(out) { case 1: n = (n >> 6) << 6 mulAvxTwo_10x1_64(matrix, in, out, start, n) return n case 2: n = (n >> 6) << 6 mulAvxTwo_10x2_64(matrix, in, out, start, n) return n case 3: n = (n >> 6) << 6 mulAvxTwo_10x3_64(matrix, in, out, start, n) return n case 4: mulAvxTwo_10x4(matrix, in, out, start, n) return n case 5: mulAvxTwo_10x5(matrix, in, out, start, n) return n case 6: mulAvxTwo_10x6(matrix, in, out, start, n) return n case 7: mulAvxTwo_10x7(matrix, in, out, start, n) return n case 8: mulAvxTwo_10x8(matrix, in, out, start, n) return n case 9: mulAvxTwo_10x9(matrix, in, out, start, n) return n case 10: mulAvxTwo_10x10(matrix, in, out, start, n) return n } } panic(fmt.Sprintf("unhandled size: %dx%d", len(in), len(out))) }