mratsim / constantine

Constantine: modular, high-performance, zero-dependency cryptography stack for verifiable computation, proof systems and blockchain protocols.
Other
413 stars 44 forks source link

research: update LLVM x86 compiler and JIT #452

Closed mratsim closed 3 months ago

mratsim commented 3 months ago

This updates the research on adding an x86 backend to our LLVM bindings following #402.

Furthermore this tests whether it's possible to create pure assembly .S files without Nim so that:

Unfortunately there is a showstopper:

And a couple of annoying part:

How to fix the showstopper?

For all other arch, we should have better luck as ADCX/ADOX should be the only instructions requiring inline assembly or they support inline assembly in their ASM printer (GPU Virtual ISAs like Nvidia PTX).

mratsim commented 3 months ago

PR failing because the branch is missing #449