See also #112 .
Can reproduce on x86 machine with
go build -linkshared ./...
For small moduli (<= 5 words) we can avoid the use of R15 register, a fix will be pushed in the code generator.
For larger moduli:
- define qInv0 and qElement as constants through a define macro (imm)
- put qElement on the stack at the start of the function
- .. ?
however, for large moduli, this impact performance. Tracking the issue here, one option would be to use build tags for dynamic linking and a slower path.
See also #112 .
Can reproduce on x86 machine with
For small moduli (<= 5 words) we can avoid the use of R15 register, a fix will be pushed in the code generator.
For larger moduli:
however, for large moduli, this impact performance. Tracking the issue here, one option would be to use build tags for dynamic linking and a slower path.