Skip to content

Commit

Permalink
Don't use local vars for function pointers
Browse files Browse the repository at this point in the history
  • Loading branch information
fwessels committed Jun 5, 2024
1 parent d68faf8 commit e65e786
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
8 changes: 6 additions & 2 deletions galois_gen_switch_amd64.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 9 additions & 4 deletions galois_gen_switch_arm64.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,20 @@ const (
minCodeGenSize = 64
)

var (
fSve = galMulSlicesSve
fSveXor = galMulSlicesSveXor
fNeon = galMulSlicesNeon
fNeonXor = galMulSlicesNeonXor
)

func (r *reedSolomon) hasCodeGen(byteCount int, inputs, outputs int) (_, _ *func(matrix []byte, in, out [][]byte, start, stop int) int, ok bool) {
if r.o.useSVE {
f, fXor := galMulSlicesSve, galMulSlicesSveXor
return &f, &fXor, codeGen && pshufb &&
return &fSve, &fSveXor, codeGen && pshufb &&
byteCount >= codeGenMinSize && inputs+outputs >= codeGenMinShards &&
inputs <= codeGenMaxInputs && outputs <= codeGenMaxOutputs
}
f, fXor := galMulSlicesNeon, galMulSlicesNeonXor
return &f, &fXor, codeGen && pshufb && r.o.useNEON &&
return &fNeon, &fNeonXor, codeGen && pshufb && r.o.useNEON &&
byteCount >= codeGenMinSize && inputs+outputs >= codeGenMinShards &&
inputs <= codeGenMaxInputs && outputs <= codeGenMaxOutputs
}
Expand Down

0 comments on commit e65e786

Please sign in to comment.