c6d9a213f2
* rework assembler register/mem and constraint declarations * Introduce constraint UnmutatedPointerToWriteMem * Create invidual memory cell operands * [Assembly] fully support indirect memory addressing * fix calling convention for exported procs * Prepare for switch to intel syntax to avoid clang constant propagation asm symbol name interfering OR pointer+offset addressing * use modifiers to prevent bad string mixin fo assembler to linker of propagated consts * Assembly: switch to intel syntax * with working memory operand - now works with LTO on both GCC and clang and constant folding * use memory operand in more places * remove some inline now that we have lto * cleanup compiler config and benches * tracer shouldn't force dependencies when unused * fix cc on linux * nimble fixes * update README [skip CI] * update MacOS CI with Homebrew Clang * oops nimble bindings disappeared * more nimble fixes * fix sha256 exported symbol * improve constraints on modular addition * Add extra constraint to force reloading of pointer in reg inputs * Fix LLVM gold linker running out of registers * workaround MinGW64 GCC 12.2 bad codegen in t_pairing_cyclotomic_subgroup with LTO |
||
---|---|---|
.. | ||
README.md | ||
constantine_bls12_381.nim | ||
constantine_pasta.nim | ||
gen_bindings.nim | ||
gen_header.nim |
README.md
Bindings generator
This folder holds the bindings generators for Constantine.
To create a new build, download install the Nim programming language, navigate to Constantine's root folder and call nimble bindings
.
Headers will be placed in "include" folder and static and dynamic libraries in "lib"